1 2012-01-07 00:07:22 <GMP> never mind about task manager mem working set changing numbers, i forgot that i actually unmap/map to gradually increase arrays
2 2012-01-07 00:07:58 <GMP> so its just cache i guess
3 2012-01-07 00:10:32 <JFK911> windoze memory management sure is strange if you are used to unices
4 2012-01-07 00:17:42 <copumpkin> JFK911: how so?
5 2012-01-07 00:20:32 <BlueMatt> s/unices/unixes/
6 2012-01-07 00:20:35 <BlueMatt> ?
7 2012-01-07 00:22:20 <GMP> i think its possible that windows might do something stupid, like trash pages on UnmapViewOfFile()
8 2012-01-07 00:24:34 <GMP> or flush
9 2012-01-07 00:25:51 <gruez> how do i get bitcoin-qt working with visual studio?
10 2012-01-07 00:26:01 <gruez> i need my intelisense to code :(
11 2012-01-07 00:28:44 <BlueMatt> dont think that will work
12 2012-01-07 00:29:23 <JFK911> copumpkin: go free something that lives in the swap file
13 2012-01-07 00:29:25 <JFK911> for instance
14 2012-01-07 00:30:07 <copumpkin> what happens?
15 2012-01-07 00:30:45 <JFK911> it has to page it all back in
16 2012-01-07 00:31:12 <JFK911> since it was paged out, something else wanted the core of course, so room must be made ...
17 2012-01-07 00:31:39 <JFK911> seems other systems are WHATEVER ITS ALL FREE NOW
18 2012-01-07 00:32:52 <JFK911> then in windows i/o cache seems to be more important than memory for applications
19 2012-01-07 00:33:15 <copumpkin> lol
20 2012-01-07 00:33:47 <gruez> <@BlueMatt> dont think that will work
21 2012-01-07 00:33:47 <vsrinivas> well, 'memory for applications'.... see there's this concept called the page cache...
22 2012-01-07 00:33:59 <gruez> so is there a IDE that has auto completion that i can use?
23 2012-01-07 00:34:16 <JFK911> you can make emacs do it
24 2012-01-07 00:34:59 <BlueMatt> something not on windows -> probably, on windows -> nfc
25 2012-01-07 00:35:16 <JFK911> eclipse runs on the doze
26 2012-01-07 00:35:21 <wumpus> qt creator
27 2012-01-07 00:35:44 <wumpus> which is, conveniently, part of the qt sdk...
28 2012-01-07 00:35:45 <BlueMatt> can I ask why you would want to code on windows?
29 2012-01-07 00:36:14 <gruez> BlueMatt: because it's easy?
30 2012-01-07 00:36:32 <gruez> visual studio: create project -> type in code -> press f5 to debug
31 2012-01-07 00:36:38 <gruez> can't get easier than that
32 2012-01-07 00:36:41 <BlueMatt> ???
33 2012-01-07 00:36:51 <gruez> am i missing something?
34 2012-01-07 00:37:09 <BlueMatt> dont think its valid english to have windows and easy in the same sentence...
35 2012-01-07 00:37:30 <gruez> BlueMatt: so you're saying that deving on linux is easier?
36 2012-01-07 00:37:38 <BlueMatt> absolutely
37 2012-01-07 00:38:22 <MC1984> anyone know about ntfs junctions?
38 2012-01-07 00:38:43 <gruez> BlueMatt: in what way?
39 2012-01-07 00:39:26 <BlueMatt> its better supported?
40 2012-01-07 00:40:50 <gruez> that's it?
41 2012-01-07 00:41:00 <BlueMatt> underlying os structure makes more logical sense
42 2012-01-07 00:41:08 <BlueMatt> which makes it 100x easier to debug problems?
43 2012-01-07 00:41:22 <BlueMatt> and is more accessible
44 2012-01-07 00:41:27 <BlueMatt> by a shitton
45 2012-01-07 00:41:33 <gruez> ._.
46 2012-01-07 00:41:44 <gruez> drives make more sense to me than mounts
47 2012-01-07 00:42:01 <BlueMatt> but much less useful
48 2012-01-07 00:42:03 <gruez> or is it just years of windows use?
49 2012-01-07 00:42:19 <BlueMatt> can you mount a tmpfs as your bitcoin dir?
50 2012-01-07 00:42:29 <BlueMatt> can you mount a tmpfs at all?
51 2012-01-07 00:42:32 <gruez> lolwut
52 2012-01-07 00:42:37 <gruez> whats tmpfs?
53 2012-01-07 00:42:50 <BlueMatt> memory-backed storage
54 2012-01-07 00:43:00 <BlueMatt> ie really, really great for debugging
55 2012-01-07 00:43:03 <BlueMatt> makes things run quick
56 2012-01-07 00:43:49 <luke-jr> BlueMatt: yes, you can mount a "tmpfs" in Windows as your bitcoin dir
57 2012-01-07 00:43:54 <luke-jr> BlueMatt: but it's difficult as heck
58 2012-01-07 00:43:59 <BlueMatt> ok, and thats my point
59 2012-01-07 00:44:12 <luke-jr> probably only way from the CLI is to make a ramdisk then subst it
60 2012-01-07 00:44:20 <luke-jr> but you coudl do it in Windows 98 even
61 2012-01-07 00:44:43 <BlueMatt> its one command in linux, one fairly simple command
62 2012-01-07 00:44:57 <luke-jr> gruez: Windows is designed with the idea that most users just RUN programs, not debug them
63 2012-01-07 00:45:06 <luke-jr> gruez: Linux is designed with the idea that most users ARE programmers
64 2012-01-07 00:45:22 <BlueMatt> not good for end-users but soooo nice for developers
65 2012-01-07 00:45:29 <gruez> lol
66 2012-01-07 00:45:44 <luke-jr> and since most developers use Linux, doing development on Windows gets even harder
67 2012-01-07 00:45:57 <luke-jr> because nobody wants to do dev on Windows
68 2012-01-07 00:46:17 <luke-jr> gruez: Bitcoin-Qt for Windows is 100% developed on Linux
69 2012-01-07 00:46:27 <luke-jr> someone *might* boot Windows to test it, but that's it
70 2012-01-07 00:46:43 <BlueMatt> even the windows builds are made on linux
71 2012-01-07 00:46:47 <luke-jr> ^
72 2012-01-07 00:47:02 <luke-jr> and this isn't just Bitcoin either&
73 2012-01-07 00:47:13 <luke-jr> almost every project I've worked on lately that supports Windows, does the builds on Linux
74 2012-01-07 00:47:19 <gruez> wait, why do you need so much debugging facilities?
75 2012-01-07 00:47:33 <cjdelisle> also getting a linux app to run on windows is a whole lot easier than porting an app born in windowsland to run on anything else
76 2012-01-07 00:47:34 <gruez> visual studio: place breakpoints, check all the variables
77 2012-01-07 00:47:42 <gruez> what else could you ask for?
78 2012-01-07 00:47:48 <luke-jr> &
79 2012-01-07 00:48:12 <k9quaint> someone should 51% attack gruez's neural net and rewrite his blockchain
80 2012-01-07 00:48:16 <luke-jr> lol
81 2012-01-07 00:48:20 <gruez> lolwut
82 2012-01-07 00:48:26 <cjdelisle> lol done
83 2012-01-07 00:48:51 <gruez> also, getting things to compile = fffffuuuu
84 2012-01-07 00:48:57 <luke-jr> gruez: on Windows, yes
85 2012-01-07 00:48:59 <BlueMatt> (on windows)
86 2012-01-07 00:49:16 <gruez> luke-jr: what about linux?
87 2012-01-07 00:49:18 <luke-jr> actually, I imagine wumpus's suggestion of Qt Creator should 'just work'
88 2012-01-07 00:49:24 <gruez> i tried to compile pooler's scrypt miner
89 2012-01-07 00:49:25 <cjdelisle> developing on windows is like developing webapps on IE, as long as you're content with it *never* running on anything else, you're fine.
90 2012-01-07 00:49:34 <luke-jr> gruez: what does that have to do with Bitcoin?
91 2012-01-07 00:49:41 <gruez> and i gave up once i couldn't figure out how to install libcurl
92 2012-01-07 00:49:48 <luke-jr> gruez: &
93 2012-01-07 00:49:52 <k9quaint> developing on windows is like developing a mobile app on an iPhone
94 2012-01-07 00:49:55 <gruez> something to do with dependencies
95 2012-01-07 00:50:02 <cjdelisle> heh
96 2012-01-07 00:50:09 <luke-jr> gruez: I don't know how you manage to fail to install libcurl
97 2012-01-07 00:50:25 <luke-jr> for me, it's just "emerge curl" voila done
98 2012-01-07 00:50:26 <cjdelisle> apt-get install libcurl
99 2012-01-07 00:50:32 <BlueMatt> oh, yea deps are soooo damn easy on linux
100 2012-01-07 00:50:33 <luke-jr> cjdelisle: *buntu n00b
101 2012-01-07 00:50:35 <gruez> it was on fedora 13, which was apparently the recommended distrio for compling it
102 2012-01-07 00:50:42 <k9quaint> yum install libcurl
103 2012-01-07 00:50:46 <luke-jr> gruez: erm, Fedora is recommended by who?
104 2012-01-07 00:50:52 <luke-jr> and what k9quaint said
105 2012-01-07 00:50:54 <cjdelisle> luke-jr: debian noob actuelley
106 2012-01-07 00:51:02 <gruez> Basic WIN32 build instructions (on Fedora 13; requires mingw32):
107 2012-01-07 00:51:03 <k9quaint> luke-jr: he should use a larger font for what I said
108 2012-01-07 00:51:03 <luke-jr> cjdelisle: Debian switched to aptitude a while ago
109 2012-01-07 00:51:22 <cjdelisle> apt-get is still included
110 2012-01-07 00:51:31 <cjdelisle> but aptitude is nice for the search function
111 2012-01-07 00:51:37 <luke-jr> gruez: I see that nowhere.
112 2012-01-07 00:51:45 <luke-jr> cjdelisle: aptitude is nice for everything.
113 2012-01-07 00:51:49 <gruez> i got an ipod, so that's the only unix exposure i get
114 2012-01-07 00:51:50 <gruez> :/
115 2012-01-07 00:51:57 <gruez> https://github.com/pooler/cpuminer
116 2012-01-07 00:51:57 <luke-jr> gruez: ipod has nothing to do with unix
117 2012-01-07 00:51:59 <gruez> readme
118 2012-01-07 00:52:04 <gruez> luke-jr: the console does
119 2012-01-07 00:52:06 <gruez> lol
120 2012-01-07 00:52:11 <luke-jr> gruez: again, WTF does that have to do with Bitcoin?
121 2012-01-07 00:52:21 <gruez> developing on linux?
122 2012-01-07 00:52:39 <gruez> although i got bitcoin-qt to compile properly
123 2012-01-07 00:52:50 <gruez> with some minor adjustments to miniupnp
124 2012-01-07 00:53:10 <luke-jr> &
125 2012-01-07 00:54:44 <BlueMatt> cjdelisle: hes not
126 2012-01-07 00:54:48 <BlueMatt> just the first in a loooong time
127 2012-01-07 00:54:54 <cjdelisle> ahh
128 2012-01-07 00:54:58 <k9quaint> as long as it makes him type less, I am in favor
129 2012-01-07 00:55:06 <cjdelisle> lol
130 2012-01-07 00:55:07 <gruez> i was using that qt ide
131 2012-01-07 00:55:19 <BlueMatt> there was a pull request to make stuff work with msvc a couple months ago
132 2012-01-07 00:55:23 <BlueMatt> (like 6 or more)
133 2012-01-07 00:56:10 <gruez> what happened?
134 2012-01-07 00:56:40 <gruez> and i find makefile.vc to be misleading, considering i can't build with it at all
135 2012-01-07 00:56:51 <gruez> a vcproj file would be awesome
136 2012-01-07 01:01:05 <BlueMatt> patches welcome
137 2012-01-07 01:03:46 <luke-jr> gruez: so long as not a single developer uses Windows, you can expect the status quo. if you want to be that developer who cleans it up and maintains it, feel free.
138 2012-01-07 01:04:34 <gruez> on a related note, how easy is working with qt?
139 2012-01-07 01:04:44 <BlueMatt> pretty easy
140 2012-01-07 01:04:50 <gruez> as easy as windows forms?
141 2012-01-07 01:05:12 <gruez> drag & drop elements
142 2012-01-07 01:05:22 <gruez> double click to create handler functions?
143 2012-01-07 01:05:23 <BlueMatt> never used windows forms, but qtcreator is pretty quick
144 2012-01-07 01:05:52 <gruez> the current ui is simply horrible imo
145 2012-01-07 01:05:55 <GMP> IDA 6 have qt interface btw, along with old one
146 2012-01-07 01:06:00 <GMP> on win
147 2012-01-07 01:06:14 <luke-jr> gruez: you NEED Qt Creator if you want drag and drop :P
148 2012-01-07 01:07:26 <CIA-100> bitcoin: Con Kolivas * rbb574d6ce8d8 cgminer/NEWS: Update NEWS. http://tinyurl.com/6nju4v7
149 2012-01-07 01:07:27 <CIA-100> bitcoin: p2k * r50e418c4f945 ecoinpool/apps/ (3 files in 2 dirs): Bugfixes http://tinyurl.com/89trv4c
150 2012-01-07 01:07:28 <CIA-100> bitcoin: Con Kolivas * rd3b4a6f307c8 cgminer/configure.ac: Bump version to 2.1.2 http://tinyurl.com/7rydfbe
151 2012-01-07 01:07:30 <CIA-100> bitcoin: p2k * re47d4ec6b074 ecoinpool/ (2 files in 2 dirs): Smaller Bugfix http://tinyurl.com/6lvw99c
152 2012-01-07 01:07:34 <luke-jr> O.O
153 2012-01-07 01:07:57 <gruez> lolwut
154 2012-01-07 01:12:13 <gruez> https://bitcointalk.org/index.php?topic=56868.0
155 2012-01-07 01:12:20 <gruez> easy 5 btc people
156 2012-01-07 01:13:17 <luke-jr> &
157 2012-01-07 01:13:24 <luke-jr> why the *)%&#)% are you using 0.5.1rc2?
158 2012-01-07 01:13:43 <BlueMatt> https://github.com/bitcoin/bitcoin/pull/743
159 2012-01-07 01:13:59 <luke-jr> ^
160 2012-01-07 01:14:21 <GMP> first callback in bitcoind API :)
161 2012-01-07 01:16:21 <luke-jr> gruez: do I win?
162 2012-01-07 01:16:53 <gruez> lo
163 2012-01-07 01:16:54 <gruez> lol
164 2012-01-07 01:16:59 <gruez> that's not mine
165 2012-01-07 01:17:05 <gruez> it's someone else's
166 2012-01-07 01:41:52 <gruez> >>Latest version: 0.5.1 *OLD VERSIONS HARM THE NETWORK AND YOUR SECURITY*
167 2012-01-07 01:41:53 <gruez> uh
168 2012-01-07 01:42:01 <gruez> what if i hate the new interface?
169 2012-01-07 01:42:10 <gruez> i like to know how much connections i have
170 2012-01-07 01:42:19 <BlueMatt> 0.4.2
171 2012-01-07 01:42:19 <gruez> without hovering over for 3 seconds
172 2012-01-07 01:42:35 <gruez> where to get?
173 2012-01-07 01:42:45 <BlueMatt> ask luke-jr
174 2012-01-07 01:42:47 <BlueMatt> prob sf
175 2012-01-07 01:43:28 <luke-jr> gruez: if you hate Bitcoin-Qt, then you need to step up to maintain the old wxBitcoin
176 2012-01-07 01:43:44 <gruez> fffffuuuuuuuu
177 2012-01-07 01:43:47 <gruez> :(
178 2012-01-07 01:43:53 <luke-jr> gruez: BlueMatt is about to build 0.4.2 as the first 0.4.x without a GUI client
179 2012-01-07 01:43:57 <luke-jr> :p
180 2012-01-07 01:44:26 <gruez> what's the latest wx version i can get?
181 2012-01-07 01:44:38 <gruez> i'm on 4.0-beta
182 2012-01-07 01:44:42 <luke-jr> 0.4.1
183 2012-01-07 01:44:52 <luke-jr> with known bugs
184 2012-01-07 01:44:54 <BlueMatt> oh, oops I forgot about that
185 2012-01-07 01:45:02 <gruez> luke-jr: any serious ones?
186 2012-01-07 01:45:20 <BlueMatt> there is a very serious performance one
187 2012-01-07 01:45:34 <BlueMatt> doesnt effect security, but...
188 2012-01-07 01:46:09 <BlueMatt> and there are probably security ones I dont remember
189 2012-01-07 01:46:16 <gruez> BlueMatt: explain?
190 2012-01-07 01:46:28 <luke-jr> some deadlocks too
191 2012-01-07 01:46:38 <luke-jr> gruez: it's slow and might hang
192 2012-01-07 01:46:48 <gruez> that's all?
193 2012-01-07 01:46:55 <luke-jr> so far
194 2012-01-07 01:46:59 <gruez> honestly, who here actually likes bitcoin-qt?
195 2012-01-07 01:47:04 <luke-jr> everyone?
196 2012-01-07 01:47:09 <gruez> seriously?
197 2012-01-07 01:47:14 <luke-jr> &
198 2012-01-07 01:47:15 <vsrinivas> bitcoin-qt is maintained.
199 2012-01-07 01:47:22 <luke-jr> everyone hates wxBitcoin at least
200 2012-01-07 01:47:57 <BlueMatt> no one wanted to maintain the wx client
201 2012-01-07 01:48:04 <BlueMatt> there are several people willing to maintain the qt one
202 2012-01-07 01:48:18 <gruez> my gripes about bitcoin-qt:
203 2012-01-07 01:48:24 <gruez> the overview tab is retarded
204 2012-01-07 01:48:41 <gruez> and i don't want to hover over to see how many connections/blocks i have
205 2012-01-07 01:48:52 <gruez> fix those, and i will love qt
206 2012-01-07 01:48:56 <gmaxwell> bitcoin-qt is easy to build.
207 2012-01-07 01:48:58 <vsrinivas> gruez: there are many valid criticisms of the qt interface; just that there're people willing and able to work on it.
208 2012-01-07 01:48:59 <luke-jr> gruez: you fix them. :p
209 2012-01-07 01:49:12 <vsrinivas> patches and commentary are welcome and will even get some attention.
210 2012-01-07 01:49:13 <gruez> luke-jr: well
211 2012-01-07 01:49:14 <gmaxwell> gruez: you should give it a try... and even if you find you can't at least file issues.
212 2012-01-07 01:49:30 <gruez> gmaxwell: will do
213 2012-01-07 01:49:38 <gruez> is it recommended to dev on windows?
214 2012-01-07 01:49:44 <luke-jr> no
215 2012-01-07 01:49:45 <gruez> it's just for qt
216 2012-01-07 01:49:49 <luke-jr> nobody does it&
217 2012-01-07 01:49:54 <gmaxwell> The percentage things for blocks really does seem to be a bad idea, it creates a lot of irritated confusion.
218 2012-01-07 01:50:04 <gruez> gmaxwell: yep
219 2012-01-07 01:50:17 <gruez> middle of block chain download, shuts down node
220 2012-01-07 01:50:19 <gmaxwell> gruez: do whatever makes you happy you may have more trouble on windows, but we'd probably benefit from having more developers on windows.
221 2012-01-07 01:50:32 <gruez> when it starts back up, it goes back to 0%
222 2012-01-07 01:50:43 <gmaxwell> gruez: err. that.. doesn't sound righ.
223 2012-01-07 01:50:46 <BlueMatt> you can probably build on windows, its not ideal nor supported, but feel free
224 2012-01-07 01:50:46 <gmaxwell> er right.
225 2012-01-07 01:50:46 <gruez> new users are probably going to go "WTF IT DOESN'T SAVE???"
226 2012-01-07 01:51:05 <gmaxwell> does it really show zero at every start? 0_o
227 2012-01-07 01:51:05 <gruez> gmaxwell: due to how it calculates the percentage
228 2012-01-07 01:51:11 <gruez> gmaxwell: yes sir
229 2012-01-07 01:51:19 <gmaxwell> wow, I didn't know that... no wonder people freak out.
230 2012-01-07 01:51:21 <BlueMatt> it is progress since last open
231 2012-01-07 01:51:43 <gruez> BlueMatt: seriously?
232 2012-01-07 01:51:49 <gruez> let me check again
233 2012-01-07 01:51:51 <gmaxwell> In any case, an ETA would probably be better. (along with the absolute count, since we use that all over the bitcoin community)
234 2012-01-07 01:51:59 <BlueMatt> progress since where it was at last close, sorry
235 2012-01-07 01:52:06 <BlueMatt> or last open as in the last time it was opened
236 2012-01-07 01:52:31 <gruez> afaik, it resets to 0% whenever it closes
237 2012-01-07 01:52:36 <BlueMatt> yea
238 2012-01-07 01:52:38 <gruez> as in, shuts down completely
239 2012-01-07 01:52:49 <BlueMatt> as in its progress since the last time you opened it (the most recent one)
240 2012-01-07 01:52:53 <gruez> yeah
241 2012-01-07 01:53:13 <gruez> uh...
242 2012-01-07 01:53:15 <gruez> bitcoin-0.4.1-win32
243 2012-01-07 01:53:25 <gruez> bitcoin-0.4.1rc7-win32
244 2012-01-07 01:53:29 <gruez> what's the difference?
245 2012-01-07 01:53:39 <BlueMatt> one is a release candidate
246 2012-01-07 01:53:42 <BlueMatt> one is the final version
247 2012-01-07 01:53:47 <gruez> which one should i use?
248 2012-01-07 01:54:17 <BlueMatt> the final one?
249 2012-01-07 01:54:19 <gruez> ok
250 2012-01-07 01:58:31 <gruez> which branch should i use?
251 2012-01-07 01:58:38 <gruez> https://github.com/bitcoin/bitcoin
252 2012-01-07 02:03:26 <MC1984> qt is fine, just some questionable ui elements
253 2012-01-07 02:03:36 <MC1984> and it never remembers window size or position
254 2012-01-07 02:03:56 <MC1984> but they say never make a programmer into a ui designer
255 2012-01-07 02:03:57 <gruez> MC1984: +1 to that
256 2012-01-07 02:04:17 <MC1984> gmaxwell will you
257 2012-01-07 02:04:31 <gruez> sending/receiving symbol = retarded
258 2012-01-07 02:04:37 <MC1984> your magic download patch be in soon?
259 2012-01-07 02:04:54 <gruez> rows that are higher than the text it contains = retarded
260 2012-01-07 02:04:59 <BlueMatt> its already in master + 0.5.2
261 2012-01-07 02:05:01 <BlueMatt> MC1984:
262 2012-01-07 02:05:21 <gruez> a export function as a huge button = retarded
263 2012-01-07 02:05:55 <gruez> no menu option to perform basic tasks (rescan, backup) = ???
264 2012-01-07 02:06:15 <MC1984> eta on 052?
265 2012-01-07 02:06:18 <BlueMatt> rescan isnt a basic task
266 2012-01-07 02:06:25 <BlueMatt> in fact, there is no real reason to use rescan
267 2012-01-07 02:06:33 <gruez> BlueMatt: really?
268 2012-01-07 02:06:34 <BlueMatt> (except if your wallet is broken
269 2012-01-07 02:06:35 <BlueMatt> )
270 2012-01-07 02:06:40 <gruez> oh :/
271 2012-01-07 02:06:50 <BlueMatt> like really broken and you removed txes manually
272 2012-01-07 02:07:32 <gruez> so is there a reason why the block chain download is blazingly fast for the first few thousand blocks
273 2012-01-07 02:07:40 <gruez> and painfully slow for the last ones?
274 2012-01-07 02:07:45 <BlueMatt> there are no txes in those blocks
275 2012-01-07 02:07:58 <gruez> oh, i thought it was due to checkpoints
276 2012-01-07 02:08:11 <gruez> checkpoints = no need to check
277 2012-01-07 02:08:17 <BlueMatt> not true at all
278 2012-01-07 02:08:23 <BlueMatt> checkpoints == an extra check
279 2012-01-07 02:09:19 <luke-jr> MC1984: 0.5.2rc1 is ready for Linux + Windows
280 2012-01-07 02:09:25 <gruez> for current block chain downloading, why not request a dump of all known blocks
281 2012-01-07 02:09:25 <luke-jr> no update from gavin on Mac
282 2012-01-07 02:09:36 <gruez> and process them async?
283 2012-01-07 02:09:47 <gruez> instead of
284 2012-01-07 02:09:52 <luke-jr> BlueMatt: before the last checkpoint, clients skip ECDSA checks
285 2012-01-07 02:09:54 <gruez> request -> process -> request
286 2012-01-07 02:10:09 <luke-jr> gruez: wtf?
287 2012-01-07 02:10:13 <BlueMatt> luke-jr: oh, how did I not know that?
288 2012-01-07 02:10:14 <MC1984> nice
289 2012-01-07 02:10:23 <luke-jr> MC1984: Windows @ http://dl.dropbox.com/u/29653426/bitcoin-0.5.2rc1-win32.tar.bz2
290 2012-01-07 02:10:32 <BlueMatt> gruez: because blocks have to be downloaded in order
291 2012-01-07 02:10:38 <gmaxwell> BlueMatt: gavin did it a couple months ago.
292 2012-01-07 02:10:41 <MC1984> the 14 hour initiation phase is what tuns alot of people away imo
293 2012-01-07 02:10:42 <BlueMatt> well, checked in order
294 2012-01-07 02:10:51 <gruez> BlueMatt: just download ALL the blocks
295 2012-01-07 02:10:57 <gruez> then check them
296 2012-01-07 02:11:00 <luke-jr> MC1984: try 0.5.2rc1 and tell us how long for oyu
297 2012-01-07 02:11:09 <gmaxwell> MC1984: please ^
298 2012-01-07 02:11:13 <gruez> instead of stop->go->stop->go->stop->go
299 2012-01-07 02:11:23 <MC1984> ok lets do this shit
300 2012-01-07 02:11:32 <k9quaint> gruez: how would you know you downloaded all the blocks?
301 2012-01-07 02:11:50 <gruez> k9quaint: you dont
302 2012-01-07 02:11:53 <MC1984> will this take over my regular profile directory
303 2012-01-07 02:11:57 <gmaxwell> gruez: it can hit 1000 blocks a second when its not loaded down processing things. ::shrugs::
304 2012-01-07 02:12:07 <gruez> just ask how much blocks they have
305 2012-01-07 02:12:14 <k9quaint> since you don't know if you have all the blocks, you can't ever "download them all first" ;)
306 2012-01-07 02:12:23 <gruez> k9quaint: :/
307 2012-01-07 02:12:51 <luke-jr> MC1984: yes
308 2012-01-07 02:12:55 <luke-jr> MC1984: backup & delete blk*.dat
309 2012-01-07 02:13:38 <luke-jr> BlueMatt: FYI, #Eligius's channel troll doesn't trust your builds
310 2012-01-07 02:14:01 <BlueMatt> thats why we use gitian
311 2012-01-07 02:14:07 <BlueMatt> tell him to reproduce my builds
312 2012-01-07 02:14:10 <luke-jr> you expect a troll to understand that?
313 2012-01-07 02:14:20 <gruez> luke-jr: i heard you 51% attacked coil coin
314 2012-01-07 02:14:23 <BlueMatt> I would also ask that others reproduce my builds, not just me, before release...
315 2012-01-07 02:14:34 <luke-jr> gruez: depends on what you mean by 51% attack
316 2012-01-07 02:14:35 <k9quaint> bluematts builds are always twice the size of everyone elses, coincidence? Yep.
317 2012-01-07 02:14:43 <gmaxwell> I think there is actually a modest performance improvement available there. The askdata/get/validate are all serialized.
318 2012-01-07 02:14:58 <BlueMatt> k9quaint: thats why we use gitian, everyone's builds are identical, to the sha256 hash
319 2012-01-07 02:15:06 <gruez> luke-jr: denial-of-blocks-and-transactions attack
320 2012-01-07 02:15:09 <gruez> :p
321 2012-01-07 02:15:17 <k9quaint> BlueMatt: your builds are inexplicably fat
322 2012-01-07 02:15:25 <BlueMatt> ok
323 2012-01-07 02:15:37 <gmaxwell> Fat as in majorly cool? :)
324 2012-01-07 02:15:38 <luke-jr> gruez: I just mined it a lot with a 100 CLC txn fee, and didn't pay attention to others' blocks
325 2012-01-07 02:15:44 <BlueMatt> k9quaint: thats just the "steal your coins and send them to me" code
326 2012-01-07 02:15:46 <gruez> lol
327 2012-01-07 02:15:57 <k9quaint> gmaxwell: fat as in cheetos found within the folds fat ;)
328 2012-01-07 02:15:59 <luke-jr> k9quaint: BlueMatt's Win build has 2 copies of everything at least
329 2012-01-07 02:16:13 <luke-jr> the stuff that gets ZIP'd, and the installer
330 2012-01-07 02:16:22 <k9quaint> luke-jr: it has an extra 50% so he can leap out and attack altcoins ;)
331 2012-01-07 02:16:25 <BlueMatt> (that has been there since 0.3.23 when I stared doing bitcoin release builds...)
332 2012-01-07 02:16:27 <MC1984> i can just run the binary yes
333 2012-01-07 02:16:29 <MC1984> cba to install
334 2012-01-07 02:16:35 <luke-jr> MC1984: sure
335 2012-01-07 02:16:39 <gruez> so how does mailing lists work?
336 2012-01-07 02:16:44 <gruez> is it like a forum?
337 2012-01-07 02:16:52 <luke-jr> MC1984: btw, nobody's actually tested this yet. so you better have made that backup
338 2012-01-07 02:17:01 <luke-jr> gruez: forum with automatic email spam
339 2012-01-07 02:17:07 <gmaxwell> well, they've tested the code but not the windows builds.
340 2012-01-07 02:17:08 <MC1984> yeah all backed up
341 2012-01-07 02:17:23 <luke-jr> gmaxwell: it's ok, better to make him ultra-paranoid for something like this :P
342 2012-01-07 02:17:26 <gruez> luke-jr: any advantages to using it instead of bitcointalk.org?
343 2012-01-07 02:17:27 <MC1984> ok wallet loaded
344 2012-01-07 02:17:35 <luke-jr> gruez: no
345 2012-01-07 02:17:46 <luke-jr> gruez: except that nobody reads bitcointalk.org
346 2012-01-07 02:17:55 <luke-jr> MC1984: block chain download done already?
347 2012-01-07 02:17:59 <MC1984> about 100 bloks a second
348 2012-01-07 02:18:05 <luke-jr> &
349 2012-01-07 02:18:18 <luke-jr> gmaxwell: possible it makes no difference on Windows? :o
350 2012-01-07 02:18:20 <gmaxwell> MC1984: any idea what you were seeing before.
351 2012-01-07 02:18:28 <gmaxwell> luke-jr: yea, it's possible!
352 2012-01-07 02:18:28 <MC1984> about the same
353 2012-01-07 02:18:41 <luke-jr> oh well
354 2012-01-07 02:18:50 <luke-jr> Bitcoin becomes the killer feature of Linux&
355 2012-01-07 02:19:05 <MC1984> goddamit
356 2012-01-07 02:19:12 <k9quaint> not being windows is the killer feature of linux
357 2012-01-07 02:19:19 <gmaxwell> if its 100 blocks a second initially it shouldn't take 14 hours though.
358 2012-01-07 02:19:36 <gmaxwell> at 100 blocks/s initially I'd wagstimate about an hour and change.
359 2012-01-07 02:19:38 <luke-jr> gmaxwell: those are early blocks
360 2012-01-07 02:19:43 <gmaxwell> yes, I know.
361 2012-01-07 02:20:03 <luke-jr> BlueMatt hacked 0.5.2rc1 to connect to CLC instead of Bitcoin, too
362 2012-01-07 02:20:12 <gruez> <luke-jr> gruez: except that nobody reads bitcointalk.org
363 2012-01-07 02:20:14 <gruez> why not?
364 2012-01-07 02:20:16 <gmaxwell> but I get those at like 1000/second, it slows down to 10 eventually or so.
365 2012-01-07 02:20:18 <MC1984> right im gonna try this on my other machine which has an ssd
366 2012-01-07 02:20:36 <luke-jr> gruez: because it's not spammy enough
367 2012-01-07 02:20:37 <gmaxwell> MC1984: some ssds have really slow write.
368 2012-01-07 02:21:07 <k9quaint> he might be sawing his HD in half
369 2012-01-07 02:22:06 <k9quaint> swap + fragment + plus lots of little writes might add up to lots of latency
370 2012-01-07 02:22:21 <gmaxwell> need to fix the write volumen next I think.
371 2012-01-07 02:23:32 <gmaxwell> oh well, it's not just us:
372 2012-01-07 02:23:36 <gmaxwell> "Thanks to telemetry we now know that some users experience tragic startup speeds ranging from 30seconds to 34hours"
373 2012-01-07 02:23:40 <gmaxwell> https://blog.mozilla.com/tglek/2012/01/05/snappy-jan-5/
374 2012-01-07 02:24:10 <k9quaint> they need a superlative for a 34hour startup speed
375 2012-01-07 02:24:15 <luke-jr> gmaxwell: I so experience that on Linux
376 2012-01-07 02:24:24 <luke-jr> gmaxwell: when I start Firefox, my system basically freezes for half an hour
377 2012-01-07 02:24:25 <k9quaint> "tragic" doesn't quite get there
378 2012-01-07 02:24:49 <gmaxwell> weird. I run nightly and don't seem to have issues.
379 2012-01-07 02:25:11 <k9quaint> I use chrome, but when I do start firefox, it appears instantly and does my bidding without making any eye contact
380 2012-01-07 02:25:14 <gruez> <gmaxwell> "Thanks to telemetry we now know that some users experience tragic startup speeds ranging from 30seconds to 34hours"
381 2012-01-07 02:25:15 <BlueMatt> you run a nightly browser???
382 2012-01-07 02:25:25 <gruez> on a related note, why does bitcoin-qt take forever to shutdown?
383 2012-01-07 02:25:31 <gruez> it's gone from the taskbar
384 2012-01-07 02:25:35 <MC1984> i thought the main thing with blockchain is the random reads
385 2012-01-07 02:25:38 <gruez> but it's still alive as a process
386 2012-01-07 02:25:40 <MC1984> hence ssd should be really good
387 2012-01-07 02:25:45 <doublec> I run nightly too - how else do you get cool features and fixes fast
388 2012-01-07 02:25:54 <gruez> and it stays there for a good 30 seconds before dissapearing
389 2012-01-07 02:25:57 <gmaxwell> BlueMatt: yes. It's been pretty stable for me. Three crashes in the last 9 months or so.
390 2012-01-07 02:26:09 <lianj> MC1984: or do tmpfs
391 2012-01-07 02:26:10 <BlueMatt> ...
392 2012-01-07 02:26:10 <luke-jr> gmaxwell: you call that stable?
393 2012-01-07 02:26:15 <gmaxwell> BlueMatt: and when I whine at moz people about features and fixes they'll just tell me to run nightly anyways.
394 2012-01-07 02:26:22 <BlueMatt> gmaxwell: have you ever heard of something called security?
395 2012-01-07 02:26:30 <gmaxwell> luke-jr: on autocompiled nightly development builds?
396 2012-01-07 02:26:30 <luke-jr> BlueMatt: Firefox? secure? LOL
397 2012-01-07 02:26:38 <MC1984> ok tryin this again
398 2012-01-07 02:26:44 <gmaxwell> BlueMatt: a browser secure? it's not like this computer has bitcoin on it
399 2012-01-07 02:26:48 <gmaxwell> or even development stuff.
400 2012-01-07 02:26:53 <BlueMatt> still...
401 2012-01-07 02:26:54 <gmaxwell> my laptop is an xterminal with a browser.
402 2012-01-07 02:27:06 <BlueMatt> still...
403 2012-01-07 02:27:16 <doublec> one could argue non-nightlies are less secure
404 2012-01-07 02:27:29 <doublec> since nightly has the security fixes immediately
405 2012-01-07 02:27:34 <doublec> in some cases
406 2012-01-07 02:27:39 <MC1984> 140700 is that the checkpoint
407 2012-01-07 02:27:42 <luke-jr> doublec: nightly stable branch maybe
408 2012-01-07 02:27:43 <gmaxwell> doublec: well, nightlies could get some code slipped in by someone malicious.. though thats also the case for binaries in general.
409 2012-01-07 02:27:54 <gmaxwell> MC1984: hah yes, notice it slow down there?
410 2012-01-07 02:28:18 <MC1984> nope thats just what it says before it has any connections
411 2012-01-07 02:28:29 <gmaxwell> ah okay.
412 2012-01-07 02:28:50 <MC1984> ok
413 2012-01-07 02:29:02 <MC1984> 8 connections, slower than the hdd machine ://////////////////////
414 2012-01-07 02:29:19 <gruez> just wondering, for the devs
415 2012-01-07 02:29:23 <MC1984> what the dickens is going on here
416 2012-01-07 02:29:25 <gmaxwell> MC1984: whats the hdd machine up to now?
417 2012-01-07 02:29:28 <gruez> has the dynamic ip bug been fixed yet?
418 2012-01-07 02:29:39 <gmaxwell> gruez: ... what dynamic ip bug?
419 2012-01-07 02:29:46 <gruez> where if your ip changed, your connections will drop back to 8
420 2012-01-07 02:29:52 <gruez> because your irc nick doesn't update
421 2012-01-07 02:29:54 <MC1984> oh i stopped it
422 2012-01-07 02:30:28 <MC1984> 26 kiloblocks still rolling at 100 a second
423 2012-01-07 02:30:45 <gmaxwell> MC1984: bleh, it would still be useful to have an objective number if you're not in a hurry. if you put logtimestamps=1 in the bitcoin.conf you can pull the time out of the logs when you check later.
424 2012-01-07 02:31:18 <MC1984> can i do that while its running & halfway through download
425 2012-01-07 02:31:36 <gmaxwell> sadly, no. you'd have to start over.
426 2012-01-07 02:31:43 <k9quaint> at 100 blocks per second, it would take ~1600 seconds to get the whole chain
427 2012-01-07 02:31:44 <MC1984> ok
428 2012-01-07 02:31:57 <gmaxwell> k9quaint: yea, it won't maintain that speed.
429 2012-01-07 02:32:00 <gruez> k9quaint: or half an hour
430 2012-01-07 02:32:23 <gmaxwell> k9quaint: here is a whole chain download speed chart (over time, I should probaby do one over block numbers)
431 2012-01-07 02:32:23 <MC1984> ok where is the conf file
432 2012-01-07 02:32:26 <gmaxwell> http://people.xiph.org/~greg/bitcoin-sync-speed.png
433 2012-01-07 02:32:43 <gmaxwell> MC1984: same place the blockchain is. if you don't have one, just create it with notepad
434 2012-01-07 02:32:45 <k9quaint> gmaxwell: are there boobs in the picture?
435 2012-01-07 02:32:53 <gmaxwell> logtimestamps=1
436 2012-01-07 02:32:57 <gmaxwell> k9quaint: ... no.
437 2012-01-07 02:33:31 <gruez> <gmaxwell> gruez: ... what dynamic ip bug?
438 2012-01-07 02:33:32 <k9quaint> nice, your stupid graph ate my chrome browser :(
439 2012-01-07 02:33:35 <gruez> your ip changes, but the your nickname (and therefore the ip that people tries to connect to) doesn't update. so your connections goes down to 8
440 2012-01-07 02:33:50 <gmaxwell> k9quaint: your chrome can't handle a boring png?
441 2012-01-07 02:33:52 <BlueMatt> fix: disable irc completely
442 2012-01-07 02:34:05 <gruez> then how would i get more connections?
443 2012-01-07 02:34:13 <gmaxwell> gruez: I suspect that you're actually mistaken about the behaivor there. IRC isn't needed to have connections at all.
444 2012-01-07 02:34:17 <gmaxwell> gruez: are you using UPNP?
445 2012-01-07 02:34:23 <gruez> gmaxwell: yes
446 2012-01-07 02:34:29 <k9quaint> gmaxwell: if it was my chrome, I would have successfully executed a 51% attack on Google's stock
447 2012-01-07 02:34:32 <gmaxwell> Thats actually the problem then, not IRC.
448 2012-01-07 02:34:39 <gruez> if my ip changes
449 2012-01-07 02:34:45 <gruez> connections drop down to 8
450 2012-01-07 02:34:47 <gruez> i restart
451 2012-01-07 02:34:50 <MC1984> bitcoin.conf works on windows yes
452 2012-01-07 02:34:51 <gruez> it goes back to 60
453 2012-01-07 02:34:55 <gmaxwell> gruez: yes because of UPNP, not because of IRC.
454 2012-01-07 02:35:04 <gmaxwell> MC1984: yep.
455 2012-01-07 02:35:05 <MC1984> i know those conf files are a linux thing
456 2012-01-07 02:35:08 <gruez> gmaxwell: so i disable upnp?
457 2012-01-07 02:35:12 <gruez> and forward manually?
458 2012-01-07 02:35:32 <BlueMatt> gmaxwell: arg..."block index 334535ms" off of tmpfs...
459 2012-01-07 02:35:34 <gmaxwell> gruez: yes that would work around that problem.
460 2012-01-07 02:35:37 <BlueMatt> callgrind is soooo damn slow
461 2012-01-07 02:35:43 <MC1984> ok ill run it through on my hdd machine but not the ssd, to preserve lifespan
462 2012-01-07 02:35:49 <BlueMatt> gmaxwell: also, upnp doesnt work after a couple minutes
463 2012-01-07 02:35:50 <MC1984> hdd seems faster anyway
464 2012-01-07 02:36:12 <MC1984> where are the timestamps logged
465 2012-01-07 02:36:16 <gmaxwell> MC1984: you'll get entries like this,
466 2012-01-07 02:36:17 <gmaxwell> 01/03/12 19:09:21 Bitcoin version 0.5.99-beta
467 2012-01-07 02:36:21 <gmaxwell> in a file called debug log
468 2012-01-07 02:36:43 <MC1984> ok ill clear a fresh debug log too
469 2012-01-07 02:36:48 <gmaxwell> Great.
470 2012-01-07 02:37:00 <k9quaint> gmaxwell: I wonder if that graph changes at all if you paused the download of blocks
471 2012-01-07 02:37:28 <gmaxwell> k9quaint: it ... would get holes in it?
472 2012-01-07 02:38:53 <k9quaint> gmaxwell: yes, but if the problem is bad write perf, you would see blocks/sec go back up
473 2012-01-07 02:39:10 <gmaxwell> k9quaint: problem with write perf is sync writes not throughput.
474 2012-01-07 02:39:20 <gmaxwell> the actual io load is normally pretty low.
475 2012-01-07 02:39:48 <k9quaint> yes, subject to buffering/journaling
476 2012-01-07 02:40:07 <gmaxwell> (also random reads, but we can't really do that much about those short of keeping open txn in ram)
477 2012-01-07 02:41:14 <k9quaint> an interesting test would be to run on a ramfs volume
478 2012-01-07 02:41:50 <MC1984> why does this work in linux but not in windoes then
479 2012-01-07 02:42:18 <jrmithdobbs> k9quaint: blumatt just did 21:35 <@BlueMatt> gmaxwell: arg..."block index 334535ms" off of tmpfs...
480 2012-01-07 02:42:19 <k9quaint> because bill gates hates cryptocurrencies
481 2012-01-07 02:42:29 <BlueMatt> jrmithdobbs: no, thats under valgrind
482 2012-01-07 02:42:30 <jrmithdobbs> k9quaint: so no, not interesting at all
483 2012-01-07 02:42:33 <jrmithdobbs> oh
484 2012-01-07 02:42:36 <BlueMatt> so, way, way, way artifically slow
485 2012-01-07 02:45:36 <gruez> aww shit
486 2012-01-07 02:45:38 <k9quaint> gmaxwell: what were the system specs (OS, etc) for the tests that generated the data for that graph?
487 2012-01-07 02:45:43 <gruez> installed qt sdk
488 2012-01-07 02:45:52 <gruez> and now my file associations are messed up
489 2012-01-07 02:46:33 <gmaxwell> k9quaint: AMD Phenom(tm) II X6 1055T Processor, 4gb ram, 2.6.35.14-106.fc14.x86_64
490 2012-01-07 02:46:54 <k9quaint> SSD? or HD, SAS or SATA?
491 2012-01-07 02:47:40 <gmaxwell> sata 6g (same as sas now, I guess), intel ssd.
492 2012-01-07 02:48:31 <k9quaint> the intel 510 series?
493 2012-01-07 02:49:09 <gmaxwell> Yea.
494 2012-01-07 02:50:59 <k9quaint> here is an interesting graph: http://www.guru3d.com/article/intel-510-ssd-review/10
495 2012-01-07 02:51:14 <k9quaint> it looks like that series is bad at the "many small writes" use case
496 2012-01-07 02:54:28 <MC1984> 50 kiloblocks, slowing down slightly i think
497 2012-01-07 02:54:38 <MC1984> its hard to tell with this UI hint
498 2012-01-07 03:35:27 <BlueMatt_> jgarzik: my sata driver just freaked the fuck out... ofc I blame you
499 2012-01-07 04:16:40 <amiller> or feel free to redirect me to a mailing list or something if there is one...
500 2012-01-07 04:23:04 <amiller> hey roconnor
501 2012-01-07 04:23:37 <amiller> i want to know more about your Purecoin project, which seems to be a bitcoin library / miner written in haskell
502 2012-01-07 04:23:58 <amiller> do you have a mailing list or a bitcoin forum post or wiki or something like that i should read on first?
503 2012-01-07 04:24:41 <roconnor> amiller: sorry, I don't. I can answer questions though
504 2012-01-07 04:25:27 <amiller> kk
505 2012-01-07 04:25:33 <amiller> should i paste your darcs repository?
506 2012-01-07 04:25:44 <roconnor> you can
507 2012-01-07 04:25:45 <amiller> i'm trying to figure out some of your goals in the project
508 2012-01-07 04:25:51 <amiller> i have a bunch of ideas of what the advantages are of using haskell
509 2012-01-07 04:25:57 <roconnor> :)
510 2012-01-07 04:25:58 <amiller> you may just be trying to build a higher performance miner or something
511 2012-01-07 04:26:08 <roconnor> I have no interest in mining
512 2012-01-07 04:26:09 <amiller> i'm personally interested in looking at a formal semantics analysis of bitcoin
513 2012-01-07 04:26:17 <amiller> i would have started with Coq...
514 2012-01-07 04:26:18 <roconnor> that's more like what I'm interested in
515 2012-01-07 04:26:50 <amiller> you might like #concatenative
516 2012-01-07 04:27:38 <amiller> the bitcoin stack language is of course a pretty odd decision
517 2012-01-07 04:28:06 <amiller> one of the advantages of a 'concatenative' language like that is it should be easier to analyze formally
518 2012-01-07 04:28:18 <amiller> so like, there is a C 'interpreter' for the script in the satoshi client
519 2012-01-07 04:29:42 <roconnor> amiller: I'm not sure I understand the question; the standard client has an interpreter for the scripting language, and my code has one, there may be a few other implementations too.
520 2012-01-07 04:31:27 <amiller> ah sorry i got stuck misusing darcs
521 2012-01-07 04:31:51 <amiller> i hope it's alright just to put this pastebin here https://gist.github.com/1573898#L470
522 2012-01-07 04:32:22 <amiller> so first of all that's a really concise expression of the script interpreter
523 2012-01-07 04:32:43 <amiller> it's easier to follow than the C code
524 2012-01-07 04:33:16 <roconnor> amiller: I have an extended version that isn't posted yet. More operations implemented.
525 2012-01-07 04:33:35 <amiller> but what i'm thinking is that the main advantage to this approach is that you get a lot of information from the type system
526 2012-01-07 04:33:58 <amiller> i'll try to hurry up to a question since my ramble isn't going so well
527 2012-01-07 04:34:02 <amiller> what are you trying to get out of the type system here
528 2012-01-07 04:34:16 <roconnor> in doScript?
529 2012-01-07 04:34:30 <amiller> yeah
530 2012-01-07 04:34:58 <roconnor> The type describes the entirety of the state that is manipulated by the scripting language.
531 2012-01-07 04:35:29 <amiller> so this is a pure function, no side effects or additional context to understand
532 2012-01-07 04:35:39 <roconnor> amiller: as is every function in Haskell
533 2012-01-07 04:37:27 <amiller> um well i was also going to ask about the OP_RETURN i'm curious how you would do that
534 2012-01-07 04:37:28 <roconnor> The state monad here is useful because the scripting langauge is stateful.
535 2012-01-07 04:37:38 <amiller> well nevermind verify is there
536 2012-01-07 04:38:00 <roconnor> amiller: the Maybe monad is used because the scripting language can fail early and abort
537 2012-01-07 04:38:22 <roconnor> go OP_RETURN = fail "OP_RETURN called"
538 2012-01-07 04:38:43 <amiller> you also have go (Right OP_VERIFY) = do {t <- pop; guard (t == true)}
539 2012-01-07 04:38:57 <amiller> where 'guard' is imported from the Monad package
540 2012-01-07 04:39:09 <roconnor> In the end the string isn't used anywhere, so it isn't strictly needed, but I like annotating error message anywhere, even if the compiler just tosses it away.
541 2012-01-07 04:39:45 <roconnor> amiller: ya, guard will fail (ie produce Nothing) if the condition isn't True.
542 2012-01-07 04:40:32 <roconnor> amiller: acutally that code you quoted is a little broken; It is fixed on my computer
543 2012-01-07 04:41:10 <roconnor> I'll go ahead and upload a new version right now
544 2012-01-07 04:41:29 <amiller> ok
545 2012-01-07 04:41:32 <roconnor> done
546 2012-01-07 04:41:39 <roconnor> I've been working on the scripting engine
547 2012-01-07 04:41:48 <roconnor> It isn't quite complete yet, but it is getting there.
548 2012-01-07 04:43:05 <roconnor> amiller: BTW, there is nothing secret about this project. I just don't go around advertising incomplete and probably incompatible bitcoin libraries. No one like vapourware ;)
549 2012-01-07 04:43:30 <roconnor> amiller: I should add an MIT licence file to the project.
550 2012-01-07 04:43:59 <amiller> yeah fair enough :p
551 2012-01-07 04:44:08 <amiller> sorry for putting you on the spot by the way :p
552 2012-01-07 04:44:26 <roconnor> no problem. I like talking about my work
553 2012-01-07 04:44:27 <amiller> i just think it's an interesting effort, and if i'm curious maybe there's something to learn for others too
554 2012-01-07 04:44:57 <roconnor> I hope so. The scripting language as it is implemented has many many very bizzare corners.
555 2012-01-07 04:44:59 <amiller> could always go to another irc channel too if it gets boring or off topic here
556 2012-01-07 04:45:20 <roconnor> As I understand it is on topic for this channel
557 2012-01-07 04:45:28 <amiller> yeah so i have been looking at other 'academic' concatenative script languages to understand this better
558 2012-01-07 04:45:43 <amiller> i think the scripting language is a very peculiar part of bitcoin that's worth some more attention
559 2012-01-07 04:45:47 <roconnor> I must admit I'm not so familiar with concatenative langauges.
560 2012-01-07 04:45:55 <amiller> why a forthlike stack language, is it just because it's more efficient engineering?
561 2012-01-07 04:46:07 <amiller> and why all that genericity when there are only a few standard transaction types
562 2012-01-07 04:46:16 <roconnor> amiller: interestingly there are only 2 operations that do not statically alter the size of the stack.
563 2012-01-07 04:46:26 <amiller> what witchcraft would you want to perform with the crazy dup2 rearragnements and such
564 2012-01-07 04:47:16 <amiller> roconnor, i don't _quite_ follow, could you rephrase that
565 2012-01-07 04:47:34 <roconnor> OP_DUP always increases the stack size by 1
566 2012-01-07 04:47:49 <roconnor> OP_VERIFY always decreases the stack size by 1
567 2012-01-07 04:48:10 <roconnor> OP_HASH160 always keeps the stack size the same
568 2012-01-07 04:48:45 <roconnor> and so forth
569 2012-01-07 04:49:09 <roconnor> except for OP_IFDUP which is this crazy function that I have no idea what it would be used for
570 2012-01-07 04:49:31 <roconnor> and OP_CHECKMULTISIG (and I guess OP_CHECKMULTISIGVERIFY too)
571 2012-01-07 04:50:17 <roconnor> OP_CHECKMULTISIG reads n and m from the stack and pops that many more or less.
572 2012-01-07 04:50:41 <roconnor> which is a mistake in my opinion. n and m should have been parameters to the OPCODE.
573 2012-01-07 04:50:53 <roconnor> and OP_IFDUP should be thrown away.
574 2012-01-07 04:51:31 <roconnor> if that happened you could know the stack size at any point in time in the script for when run in any context.
575 2012-01-07 04:51:39 <roconnor> which seems like a neat property.
576 2012-01-07 04:51:58 <amiller> i've been trying to come up with a good way of expressing just what's desirable about this sort of static analysis
577 2012-01-07 04:52:02 <roconnor> well
578 2012-01-07 04:52:06 <roconnor> OP_IF as well
579 2012-01-07 04:52:10 <amiller> basically we are talking about doing formalized static analysis, not unit testing or something
580 2012-01-07 04:52:10 <roconnor> screws that up
581 2012-01-07 04:52:23 <roconnor> a little
582 2012-01-07 04:52:30 <amiller> where we'd be able to assert things about families of scripts or something
583 2012-01-07 04:52:57 <doublec> IFDUP does seem odd
584 2012-01-07 04:53:01 <amiller> but basically you could figure out exactly what the stack would look like ahead of time, without having to actually execute the script
585 2012-01-07 04:53:31 <amiller> so something that i've learned from reading about concatenative languages the past couple days
586 2012-01-07 04:53:39 <amiller> and it should also be familiar within haskell,
587 2012-01-07 04:53:56 <amiller> is that all of the stack things are 'combinators'
588 2012-01-07 04:54:12 <roconnor> amiller: is this a property that concatenative langauges often have?
589 2012-01-07 04:54:16 <amiller> which are just purely logical things that act on opaque values
590 2012-01-07 04:54:21 <roconnor> amiller: being able to staticly predict the stack size.
591 2012-01-07 04:54:38 <amiller> yeah it is
592 2012-01-07 04:54:43 <doublec> roconnor: it is for some
593 2012-01-07 04:54:48 <doublec> roconnor: eg. Factor requires it
594 2012-01-07 04:54:54 <doublec> roconnor: but Joy does not
595 2012-01-07 04:54:58 <roconnor> pity that bitcoin doesn't quite have it. It easily could have.
596 2012-01-07 04:55:22 <amiller> so an easy question is, are all of the stack operations in bitcoin necessary?
597 2012-01-07 04:55:27 <amiller> or could you create them from a smaller set
598 2012-01-07 04:55:36 <roconnor> amiller: clearly you could create them from a smaller set
599 2012-01-07 04:55:37 <amiller> and in general you only need two operations to derive all the others
600 2012-01-07 04:55:44 <amiller> 's and k combinators'
601 2012-01-07 04:55:50 <amiller> although there are other pairs
602 2012-01-07 04:55:56 <amiller> but basically that's the answer, you can do it with two.
603 2012-01-07 04:55:57 <roconnor> amiller: the scripting language isn't turing complete
604 2012-01-07 04:56:01 <roconnor> amiller: nor should it be
605 2012-01-07 04:56:30 <amiller> if anyone wants to be quickly talked out of turing complete languages, listen to this 28c3 talk The Science of Insecurity http://www.youtube.com/watch?v=3kEfedtQVOY
606 2012-01-07 04:56:55 <roconnor> amiller: oh is it good. I need to talk some people out of it
607 2012-01-07 04:57:14 <amiller> i'm not absolutely certain whether Joy Factor etc are turing complete languages...
608 2012-01-07 04:57:25 <amiller> but i think this should be an elementary question
609 2012-01-07 04:57:29 <amiller> i'm going to guess 'no, they are not'
610 2012-01-07 04:57:36 <amiller> doublec is that right?
611 2012-01-07 04:57:39 <gmaxwell> hopefully the 23c talk on that is better than the bitcoin ones&
612 2012-01-07 04:57:53 <roconnor> poor Len :(
613 2012-01-07 05:00:10 <doublec> Factor for sure is turning complete
614 2012-01-07 05:00:20 <doublec> I have a website written in it :)
615 2012-01-07 05:00:28 <doublec> s/turning/turing
616 2012-01-07 05:00:38 <amiller> is it the case that if you can construct a y combinator, then your language is turing complete?
617 2012-01-07 05:01:18 <doublec> I'm not an expert on the theory of whether minimal concatenative languages are turning complete or not
618 2012-01-07 05:01:22 <doublec> sorry
619 2012-01-07 05:01:26 <amiller> hm
620 2012-01-07 05:01:45 <roconnor> amiller: y combinator isn't sufficent I don't think
621 2012-01-07 05:02:36 <amiller> so the bitcoin script i think is even simpler, because it doesn't have quoting
622 2012-01-07 05:02:47 <roconnor> amiller: thank goodness
623 2012-01-07 05:03:15 <amiller> i think that makes it on a simpler level even than a minimalistic concatenative language like Joy
624 2012-01-07 05:03:39 <amiller> so if anything that should make it easier to formally model...
625 2012-01-07 05:03:49 <amiller> at the same time that may mean there isn't as much to gain anyway
626 2012-01-07 05:04:49 <amiller> this topic is also relevant to me as it pertains to opentransactions, although that angle may knock this off topic for bitcoin
627 2012-01-07 05:06:51 <amiller> basically if you create smart contracts that are a bit more complex than bitcoin script, for example allowing recursive op_eval, you'd still really benefit from using a concatenative language that resembles bitcoin, in order to do this analysis
628 2012-01-07 05:08:09 <roconnor> I don't think allowing contracts to be specified by arbitrary computable functions is a good idea.
629 2012-01-07 05:08:41 <roconnor> whether or not an airline fare for a given route is acceptable or not is already undecidable
630 2012-01-07 05:08:47 <roconnor> we don't need more of that.
631 2012-01-07 05:09:04 <amiller> well consider this scenario
632 2012-01-07 05:09:19 <amiller> the airline gives you the contract and it has a jumble of terms
633 2012-01-07 05:09:37 <amiller> but you have a client program that has a list of properties that it demands to check
634 2012-01-07 05:09:48 <amiller> for example that no matter what you're liable for a maximum amount
635 2012-01-07 05:10:12 <amiller> well frankly it's difficult for me to come up with really compelling things you'd want a complicated contract for
636 2012-01-07 05:10:23 <amiller> but the idea is you get to understand the contract from a bunch of assertions
637 2012-01-07 05:10:37 <gmaxwell> roconnor: certantly we what more expressive than a couple fixed rules. How expressive is expressive enough? turing complete clearly is... reasoning about the middleground is harder.
638 2012-01-07 05:11:05 <amiller> and you get to check using your own simple client checker (or anyone else could) that the details of the contract actually are Consistent with those assertions
639 2012-01-07 05:11:11 <roconnor> gmaxwell: poly-time computable would be a good first stab.
640 2012-01-07 05:11:54 <roconnor> amiller: or your checker runs forever
641 2012-01-07 05:11:55 <gmaxwell> (and I'm not trying to suggest that turing complete is good or needed, etc. only that its clearly 'enough' the size limits mostly make turing completeness itself useless)
642 2012-01-07 05:12:31 <amiller> roconnor, the awesome quality of the proof checker (in Coq and in Agda for example) is that it never runs for ever
643 2012-01-07 05:12:34 <amiller> the proof language is itself decidable
644 2012-01-07 05:12:46 <amiller> even if the proofs are reasoned about a model of a turing complete language
645 2012-01-07 05:12:50 <roconnor> amiller: and not turing complete
646 2012-01-07 05:13:04 <roconnor> yes
647 2012-01-07 05:13:26 <amiller> so EVEN if the contract language were turing complete, you could still validate proofs about it with a non-turing-complete proof checker
648 2012-01-07 05:13:33 <doublec> IFDUP can be used to avoid having an ELSE clause in if's I guess. psuedo code: x ifdup if consume-x endif, vs: x dup if consume-x else drop endif
649 2012-01-07 05:13:37 <roconnor> amiller: yes
650 2012-01-07 05:13:42 <amiller> you could even be convinced that the particular script in the turing-complete language in your contract DOES complete
651 2012-01-07 05:13:54 <roconnor> amiller: but you cannot generate such a proof.
652 2012-01-07 05:13:58 <roconnor> in all cases
653 2012-01-07 05:14:10 <roconnor> amiller: so who is going to provide the proof?
654 2012-01-07 05:14:11 <amiller> that's right, the proofs would need to be provided by whoever made the contract
655 2012-01-07 05:17:01 <roconnor> I still think it would be better if whether or not a contract was fullfilled was decidable.
656 2012-01-07 05:17:24 <roconnor> it might have provably have all the properties you want
657 2012-01-07 05:17:41 <roconnor> but still be undecidable what exactly the terms say
658 2012-01-07 05:17:55 <amiller> sure
659 2012-01-07 05:18:09 <amiller> okay so what cool things can be done with non turing cmplete languages?
660 2012-01-07 05:18:18 <amiller> you can still have loops for example, they just have to have like static bounds
661 2012-01-07 05:18:27 <amiller> 'primitive recursion' its called
662 2012-01-07 05:19:05 <amiller> this is already on the frontier horizon of me knowing wtf i'm talking about...
663 2012-01-07 05:19:09 <roconnor> amiller: for every total computable function there is some non-turing complete language that contains it.
664 2012-01-07 05:19:17 <amiller> i wonder if there's a chess game validator written in non-turing-complete language
665 2012-01-07 05:19:37 <roconnor> amiller: sure that would be easy to do
666 2012-01-07 05:19:59 <roconnor> amiller: you can basically write any practicle program in Coq except for an Coq interpreter.
667 2012-01-07 05:20:03 <roconnor> *practical
668 2012-01-07 05:20:44 <amiller> ah right
669 2012-01-07 05:20:58 <amiller> so typically when you extract a program from a Coq proof, you are sure that it terminates
670 2012-01-07 05:21:16 <roconnor> modulo some issues, yes
671 2012-01-07 05:25:48 <amiller> cheers, thanks for the chat and the code to look at :]
672 2012-01-07 05:25:53 <roconnor> any time
673 2012-01-07 05:32:03 <phantomcircuit> sipa, what's the status of your patch to change the internal addresses to ipv6?
674 2012-01-07 05:33:01 <gmaxwell> phantomcircuit: https://github.com/sipa/bitcoin/tree/addrman
675 2012-01-07 10:09:04 <edcba> ;;bc,mtgox
676 2012-01-07 10:09:05 <gribble> {"ticker":{"high":7.165,"low":6.1261,"avg":6.632159178,"vwap":6.631024289,"vol":115370,"last_all":6.84818,"last_local":6.84818,"last":6.84818,"buy":6.7849,"sell":6.846}}
677 2012-01-07 10:42:47 <JFK911> ;;bc,stats
678 2012-01-07 10:42:49 <gribble> Current Blocks: 161060 | Current Difficulty: 1159929.4972244 | Next Difficulty At Block: 161279 | Next Difficulty In: 219 blocks | Next Difficulty In About: 1 day, 8 hours, 58 minutes, and 18 seconds | Next Difficulty Estimate: 1236752.06864202 | Estimated Percent Change: 6.62303800376
679 2012-01-07 12:57:29 <sipa> gmaxwell: that's the address manager i'm working on
680 2012-01-07 12:57:52 <sipa> phantomcircuit: the one that changes internal addresses to IPv6 is netbase, pull #735
681 2012-01-07 12:58:31 <phantomcircuit> sipa, yeah i commented on it
682 2012-01-07 12:58:35 <phantomcircuit> looks good to be
683 2012-01-07 13:17:00 <phantomcircuit> sipa, more or less as soon as that is merged i will add support for tor hidden services
684 2012-01-07 13:17:50 <sipa> phantomcircuit: i have code +- ready for full IPv6 support, for when this and addrman are merged
685 2012-01-07 13:18:25 <phantomcircuit> neat
686 2012-01-07 13:18:47 <phantomcircuit> i just need the ipv6 CAddress support
687 2012-01-07 13:18:56 <sipa> but i guess you won't need to change much except for ConnectSocket()
688 2012-01-07 13:19:05 <sipa> and maybe some detection/setting of addrLocal
689 2012-01-07 13:19:11 <sipa> addrLocalhost
690 2012-01-07 13:19:28 <phantomcircuit> yeah
691 2012-01-07 13:19:45 <phantomcircuit> have to set addrLocalhost to the onion-mapped-ipv6 address
692 2012-01-07 13:20:00 <CIA-100> bitcoin: Pieter Wuille master * r67a42f9 / (21 files in 4 dirs): Network stack refactor ... https://github.com/bitcoin/bitcoin/commit/67a42f929b1434f647c63922fd02dc2b93b28060
693 2012-01-07 13:20:04 <CIA-100> bitcoin: Pieter Wuille master * r1684f98 / (21 files in 4 dirs): Merge pull request #735 from sipa/netbase ... https://github.com/bitcoin/bitcoin/commit/1684f98b27de9323d24ee4489af54dd84083956a
694 2012-01-07 13:20:16 <phantomcircuit> also change to listen on 127.0.0.1 (or maybe ::1) instead of not listening at all
695 2012-01-07 13:20:39 <phantomcircuit> actually as it stands you can setup tor but it wont be able to tell anybody about your hidden service address
696 2012-01-07 13:20:48 <phantomcircuit> so you'd have to manually disseminate that information
697 2012-01-07 13:20:57 <sipa> how do connections back work?
698 2012-01-07 13:21:00 <phantomcircuit> also i will probably have to screw with the socks4a stuff a bit
699 2012-01-07 13:21:13 <sipa> assume we're both running a tor node and a patched bitcoind
700 2012-01-07 13:21:18 <phantomcircuit> you setup tor to foreward connections
701 2012-01-07 13:21:27 <sipa> how will bitcoind get a connection from you, if i tell you my hidden service address?
702 2012-01-07 13:21:38 <sipa> ok
703 2012-01-07 13:21:42 <phantomcircuit> afaikt there isn't a way to do so automatically without having read permissions to the tor directory
704 2012-01-07 13:22:28 <phantomcircuit> the tor control protocol has no method of listing hidden service addresses and their port mappings
705 2012-01-07 13:22:32 <phantomcircuit> which is kind of annoying
706 2012-01-07 13:23:44 <sipa> you'll probably also want to modify Lookup to support .onion addresses specially
707 2012-01-07 13:23:59 <sipa> so they are "resolved" into their onioncat-mapped ipv6 address
708 2012-01-07 13:29:10 <sipa> phantomcircuit: note that current bitcoind will not even forward non-IPv4 addresses
709 2012-01-07 13:29:31 <sipa> so it'll probably take a while before direct tor connections are useful
710 2012-01-07 13:29:38 <phantomcircuit> sipa, yeah im aware
711 2012-01-07 13:29:58 <phantomcircuit> that just restricts the rate of initial adoption
712 2012-01-07 13:30:31 <phantomcircuit> it's a fairly compelling feature though
713 2012-01-07 13:30:37 <sipa> yes it is :)
714 2012-01-07 13:39:34 <jrmithdobbs> phantomcircuit: the socks4a code in socat works great ;p
715 2012-01-07 13:39:50 <jrmithdobbs> if you need a starting point, i haven't actually looked at it
716 2012-01-07 13:40:32 <phantomcircuit> jrmithdobbs, i wrote a socks5 proxy because i couldn't find a good one
717 2012-01-07 13:40:34 <phantomcircuit> i think im ok
718 2012-01-07 13:55:41 <jrmithdobbs> phantomcircuit: i just meant the clientside code, it's exactly how i('ve heard of people ;p) connect(ing) to hidden services running random tcp services (ssh)
719 2012-01-07 13:56:09 <phantomcircuit> yeah socks4/5 are both very simple
720 2012-01-07 13:57:24 <jrmithdobbs> sipa: basically, you add an option to pass namelookups to the socks proxy in bitcoind then bitcoind would need to pass/store hostnames and addresses instead of just addresses and if using tor or a socks proxy you pass all the resolution to it
721 2012-01-07 13:57:42 <jrmithdobbs> that's what needed for hidden service bitcoind
722 2012-01-07 13:57:48 <jrmithdobbs> pretty big change
723 2012-01-07 13:59:02 <jrmithdobbs> $ ssh uqceze5g3wzsttpy.onion
724 2012-01-07 13:59:05 <jrmithdobbs> X11 forwarding request failed on channel 0
725 2012-01-07 13:59:08 <jrmithdobbs> Last login: Sat Jan 7 08:53:06 2012
726 2012-01-07 13:59:10 <jrmithdobbs> <user redacted>@<hostname redacted>:~$
727 2012-01-07 13:59:24 <jrmithdobbs> (X forwarding fails when you try and forward the creds that box already has, haha)
728 2012-01-07 14:01:02 <sipa> jrmithdobbs: .onion addresses can be encapsulated in an ipv6 address
729 2012-01-07 14:01:21 <sipa> there even exists an informal standard for that, employed by onioncat
730 2012-01-07 14:02:06 <sipa> so when trying to connect to such an ipv6 address, bitcoind would need to translate it to its corresponding .onion address, and pass that to the tor proxy
731 2012-01-07 14:02:20 <jrmithdobbs> yes
732 2012-01-07 14:02:28 <sipa> no need to pass around hostnames inside bitcoin
733 2012-01-07 14:02:39 <jrmithdobbs> you still are
734 2012-01-07 14:02:58 <sipa> in a way, yes, but encapsulated in an ipv6 address
735 2012-01-07 14:03:16 <jrmithdobbs> ya, you have to do some kind of resolution though it's just how they work
736 2012-01-07 14:05:08 <jrmithdobbs> sipa: forgot about the onioncat stuff, that saves a lot of work for bitcoind since it means the big showstopper is ipv6 peer sharing
737 2012-01-07 14:07:27 <phantomcircuit> jrmithdobbs, no you pass the .onion directly through the socks4a
738 2012-01-07 14:07:49 <jrmithdobbs> phantomcircuit: it's still a special case
739 2012-01-07 14:08:24 <jrmithdobbs> your code doesn't "do" the resolution but it has to be aware of the fact that it needs to pass it to the socks server
740 2012-01-07 14:08:38 <phantomcircuit> yeah it requires a base32 encode added to the networking code as well as a couple lines of code in connect
741 2012-01-07 14:09:53 <phantomcircuit> it's actually a fairly straight forward thing to do once ipv6 support is added to the address class
742 2012-01-07 14:18:53 <slush> is here any experienced PHP programmer?
743 2012-01-07 14:19:14 <slush> I have one problem which I cannot solve by myself...
744 2012-01-07 14:20:08 <slush> I need to implement class which will act as a variable
745 2012-01-07 14:20:19 <tcatm> rm `which php5-cgi` should help :)
746 2012-01-07 14:20:21 <slush> I expected that there are some magic methods which will handle such scenario, but I'm not sure
747 2012-01-07 14:20:28 <slush> lol, yes
748 2012-01-07 14:23:52 <jrmithdobbs> you mean you want a singleton?
749 2012-01-07 14:24:07 <slush> jrmithdobbs: no
750 2012-01-07 14:24:17 <slush> something like $variable = new MyObject(parameters)
751 2012-01-07 14:24:27 <slush> and then echo $variable should call some magical method
752 2012-01-07 14:24:41 <jrmithdobbs> sounds like you want duck typing in php
753 2012-01-07 14:24:45 <jrmithdobbs> good luck with that ;p
754 2012-01-07 14:25:07 <tcatm> in python there is a @property decorator
755 2012-01-07 14:25:18 <tcatm> does that do what you are looking for?
756 2012-01-07 14:25:20 <slush> tcatm: that's slightly different
757 2012-01-07 14:25:50 <slush> usually that $variable is the result of some RPC call
758 2012-01-07 14:26:07 <slush> but when RPC call fails, I want to provide lazy object which will trigger the exception on the first access to the result
759 2012-01-07 14:26:38 <slush> oh, maybe __toString will work
760 2012-01-07 14:26:56 <slush> not sure how it will handle non-string operations, like 1+$variable
761 2012-01-07 14:27:08 <jrmithdobbs> you're trying to make php act like a sane oo environment
762 2012-01-07 14:27:12 <jrmithdobbs> there be dragons
763 2012-01-07 14:27:13 <jrmithdobbs> etc
764 2012-01-07 14:27:20 <slush> hehe
765 2012-01-07 14:27:39 <slush> looks like __invoke will be better solution. I will just press users to use $result() instead of $result
766 2012-01-07 14:28:26 <tcatm> can't you force them to call a method?
767 2012-01-07 14:29:20 <slush> tcatm: yes, I'm considering that the result will be method returning variable or raise an exception
768 2012-01-07 14:29:44 <slush> but it cannot be just a method, becuase I need to store some state inside. So in fact I'll return instance of object, which will act as a function :-)
769 2012-01-07 14:31:36 <tcatm> why don't you use a sane language?
770 2012-01-07 14:31:57 <slush> tcatm: because I'm writing php binding :-D
771 2012-01-07 14:32:02 <slush> for Stratum
772 2012-01-07 14:32:08 <slush> which is in python
773 2012-01-07 14:34:45 <jrmithdobbs> why would you provide bindings for such a broken language
774 2012-01-07 14:34:46 <jrmithdobbs> heh
775 2012-01-07 14:35:50 <slush> jrmithdobbs: because there are still a lot of developers who choose red pill
776 2012-01-07 14:35:51 <tcatm> preparations for the next big bitcoin loss when someone runs it with register_globals or something :)
777 2012-01-07 14:46:57 <slush> tcatm: ok, I found that $result->get() would be the best choice. Maybe it can be achieved with the php somehow, but I don't want to implement some obscure method
778 2012-01-07 16:06:58 <gribble> New news from bitcoinrss: Lohoris opened issue 749 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/issues/749>
779 2012-01-07 16:11:44 <roconnor> Meredith's 28c3 talk does so far sounds kinda like a direct argument against OP_EVAL: specifically the "Shotgun Parser" slide which calls checking for input validity scattered throughout the program and mixed with processing logic a ubiquitous deadly design pattern.
780 2012-01-07 16:12:35 <makomk> roconnor: I think that describes Bitcoin in general actually...
781 2012-01-07 16:16:08 <roconnor> makomk: that's true; that's how the standard client is implemented; but at least it doesn't have to be that way.
782 2012-01-07 16:18:01 <BlueMatt> oh, its not /that/ bad when you really get down to it
783 2012-01-07 16:18:29 <Ahimoth> its a mess
784 2012-01-07 16:18:44 <Ahimoth> and ui update code sprinkled all over the place
785 2012-01-07 16:19:55 <BlueMatt> its not clean, but the specific problem of having input validity checks all over the place isnt really entirely true
786 2012-01-07 16:20:09 <BlueMatt> input validity checks are fairly well confined to main.[h|cpp\n2563860
787 2012-01-07 16:20:28 <BlueMatt> not that that is good enough, but its not /that/ bad
788 2012-01-07 16:28:35 <roconnor> slide 61 is especially relevent: Do not mistake complexity for functionality.
789 2012-01-07 16:29:06 <BlueMatt> dont know where we do that
790 2012-01-07 16:29:16 <BlueMatt> that is one of the problems I would argue we actually have less of
791 2012-01-07 16:29:31 <roconnor> BlueMatt: I'm talking about the former OP_EVAL proposal.
792 2012-01-07 16:29:41 <BlueMatt> oh, well yea that is relevant
793 2012-01-07 16:31:11 <Joric> forever
794 2012-01-07 16:31:34 <BlueMatt> I would like to see them shutdown their sites until sopa is blocked completely
795 2012-01-07 16:32:41 <cjdelisle> isn't sopa dead?
796 2012-01-07 16:32:46 <BlueMatt> not at all
797 2012-01-07 16:32:48 <BlueMatt> far from it
798 2012-01-07 16:33:15 <cjdelisle> did they re-open hearings?
799 2012-01-07 16:33:48 <BlueMatt> not yet, but there are no indications that hearings wont continue and the judiciary subcommittee pass the bill
800 2012-01-07 16:34:01 <BlueMatt> (hearings were put on hold during the holiday break)
801 2012-01-07 16:34:05 <cjdelisle> +1 for vigilence
802 2012-01-07 16:34:24 <cjdelisle> but I myself don't think it's going anywhere at this point
803 2012-01-07 16:36:06 <cjdelisle> In fact, I suspect the more "they" push this bill, the more it will benefit ron paul because big tech companies will see him as a scortched earth tactic to neuter the federal government so this kind of thing can't happen again.
804 2012-01-07 16:36:31 <BlueMatt> heh, if you think ron paul has a shot you are kidding yourself
805 2012-01-07 16:36:39 <BlueMatt> none of the republican candidates have a shot
806 2012-01-07 16:36:43 <BlueMatt> let alone ron paul
807 2012-01-07 16:36:56 <cjdelisle> oh so who will the democrats be running?
808 2012-01-07 16:37:01 <BlueMatt> obama
809 2012-01-07 16:37:15 <cjdelisle> on what platform?
810 2012-01-07 16:37:39 <BlueMatt> platforms never matter in the us...
811 2012-01-07 16:37:50 <cjdelisle> his platform was "I'm not Bush", now that's irrelivent.
812 2012-01-07 16:39:49 <BlueMatt> name one republican candidate who is a good speaker
813 2012-01-07 16:44:34 <cjdelisle> none, they're all truthless used car salesmen but .. they're not obummer
814 2012-01-07 16:44:52 <BlueMatt> and yet obama is a good speaker
815 2012-01-07 16:45:10 <BlueMatt> and in the us, that is all that matters
816 2012-01-07 16:45:46 <cjdelisle> myabe
817 2012-01-07 16:46:12 <cjdelisle> kinda doubt it though
818 2012-01-07 16:46:42 <cjdelisle> good speaker gets him 1 term, at this point I imagine a lot of people will vote for anyone just to get him out
819 2012-01-07 16:47:11 <cjdelisle> not to mention the tech industry which he essentially tried to kill
820 2012-01-07 16:47:14 <BlueMatt> heh, and yet all the republican candidates not only are bad speakers, but generally have no political skills
821 2012-01-07 16:47:25 <BlueMatt> obama isnt the one who wrote sopa...
822 2012-01-07 16:48:04 <cjdelisle> look at his friends, cabinet, doners. It's his bill.
823 2012-01-07 16:48:18 <cjdelisle> he's got hollywood written all over him
824 2012-01-07 16:48:55 <BlueMatt> and yet hes still not the one who wrote it
825 2012-01-07 16:49:18 <cjdelisle> your point being?
826 2012-01-07 16:49:29 <BlueMatt> hes not gonna get shit for it
827 2012-01-07 16:49:51 <cjdelisle> not from the masses, but google certainly knows where this came from
828 2012-01-07 16:50:16 <BlueMatt> heh, well we'll wait and see what happens no way to know until the end of the year
829 2012-01-07 16:50:23 <cjdelisle> /nod
830 2012-01-07 16:51:08 <cjdelisle> the repub lineup is lols, only group of people imaginable who could make romney look like a decent guy.
831 2012-01-07 16:51:39 <cjdelisle> he looks like such a slippery weazle, it's pretty amazing
832 2012-01-07 16:53:34 <luke-jr> on the bright side, SOPA = death to SolidCoin :P
833 2012-01-07 16:54:17 <cjdelisle> IMO the problem with the tech industry is it has all this money and no idea how to turn that into political influence.
834 2012-01-07 16:54:20 <cjdelisle> Growing pains
835 2012-01-07 16:54:46 <[Tycho]> Isn't it dead already ?
836 2012-01-07 16:55:09 <cjdelisle> IMO yes but others think not.. still +1 for vigilence
837 2012-01-07 16:55:25 <BlueMatt> [Tycho]: not even close
838 2012-01-07 16:55:43 <[Tycho]> BlueMatt: why ?
839 2012-01-07 16:55:52 <BlueMatt> its probably gonna get through the judiciary subcommittee and pipa is gonna hit the house floor soon
840 2012-01-07 16:56:17 <luke-jr> [Tycho]: it's struggling
841 2012-01-07 16:56:35 <luke-jr> I filed a DMCA takedown with GitHub on SolidCoin's repo
842 2012-01-07 16:56:43 <BlueMatt> luke-jr: why?
843 2012-01-07 16:56:51 <[Tycho]> BlueMatt: I was talking about SolidCoin.
844 2012-01-07 16:56:52 <luke-jr> they're resisting. I think that means they lose their immunity