00:06:35 -!- Sgeo has joined. 00:06:41 -!- aergus has joined. 00:06:42 -!- conehead_ has quit (Ping timeout: 276 seconds). 00:06:55 -!- shikhin has joined. 00:10:41 -!- Frooxius has quit (Ping timeout: 245 seconds). 00:10:50 -!- conehead__ has joined. 00:21:38 -!- tromp_ has joined. 00:29:09 Sgeo: are you Sgeoing #haskell 00:30:07 what does that mean 00:30:11 fungot: do you Sgeo? 00:30:12 kmc: but flaming people for poor spelling grammar also bad. the only other language i can speak english, you make macro writers list all the classes? 00:30:20 `coins 00:30:22 byyocoin attscoin spachellcoin tectdiscoin cccxxicoin imperdecoin velycoin bitumcoin agacoin waibcoin antcoin auracoin regxcoin unpliamenteuroschcoin shakrusolcoin rhotocoin aniccoin mibbcoin devilcoin ificidicacicoin 00:30:38 `coins 00:30:41 houcoin affmancoin 5-logcoin lolcoin ozonecoin nonotcoin backcoin sendsoncoin eningcoin ethcoin bracoin bijcoin beasepcoin mdpncoin fromageddendstuckcoin avrllercoin kickcoin bayfelycoin broofcoin longiorsestantcoin 00:31:04 `run wc -l /usr/share/dict/words 00:31:05 wc: /usr/share/dict/words: No such file or directory 00:31:07 :/ 00:31:59 `ls /usr/share/dict 00:32:00 No output. 00:34:05 kmc: did you know you can apt-get install wamerican-insane to get a big words list 00:34:46 preschoolercoin shittycoin illegalcoin brassierecoin stupefyingcoin profanitycoin liquorcoin aggravationcoin ragcoin slaphappiercoin metamorphiccoin execrablecoin flabbergastcoin 00:35:13 chuckholecoin confidentialcoin kismetcoin matinéecoin numeracycoin ignorancecoin linoleumcoin 00:35:54 shachaf: yes 00:36:12 unpliamenteuroschcoin 00:41:40 diff /usr/share/dict/foo{-insane,} | sed -nre 's/^< (.*)/\1coin/p' 00:43:37 -!- aergus has quit (Quit: Leaving). 00:43:59 Does HackEgo have any dict files? 00:44:14 b_jonas: i have one of smullyan's books where he defines one of those languages. i should put it on the wiki 00:45:24 oerjan: that's a pretty cool pattern, but in order to get a tag system, we need it to arrive at the front of the queue in the right orientation. is that easy? 00:46:28 % diff /usr/share/dict/american-english{-insane,} | sed -nre 's/^< (.*)/\1coin/p' | shuf | head -n 20 | xargs -d'\n' 00:46:30 breathalyzescoin erythrenecoin illimitability'scoin intercirculationcoin Lepismatidaecoin Pleurotomaria'scoin Tachyglossidaecoin sheepfacednesscoin Kapwepwe'scoin micturatedcoin indeterminationscoin brachycephalism'scoin scarpettocoin furoscoin coadministrationscoin oxheadscoin flemitcoin sphenoturbinalcoin Bacocoin Celisse'scoin 00:47:15 The first Google result: To view the definition of sphenoturbinal[1], activate your Merriam-Webster Unabridged Dictionary FREE TRIAL now! 00:47:16 egrep '^[a-z]*[a-rt-z]$' 00:47:28 micturatedcoin nice 00:47:32 Gee, i surely will do that instead of reading it directly from the second Google result. 00:48:26 quintopia: what do you mean by right orientation? 00:48:34 and what does that regex do exactly? 00:48:35 Tachyglossidaecoin. 00:48:55 ion: oh, xargs -d'\n' is really handy! thanks 00:49:29 so handy that one might wonder why it's not the default 00:49:33 kmc: Also: xargs -a <(some command) -d'\n' foo when you don’t want to break foo’s stdin. 00:49:45 sulphurcoin aristocracycoin steamiestcoin exploitcoin bloatedcoin allegorycoin vicaragecoin dullestcoin 00:50:15 speaking of words and letters and shit, https://twitter.com/anagramatron 00:51:20 quintopia: i'd imagine the actual structure of the whole queue to consist of these patterns, except for a few "active" blocks. 00:51:49 and those blocks would be responsible for synchronizing at their ends, naturally. 00:52:20 unless they want to activate the data inside one of these patterns, in which case they'd delete the prefix and possibly more. 00:52:24 oerjan: i'll have to study it to see what it does. right now i have to watch the opening cermonies :P 00:52:54 kmc: It took me a while to get it. 00:54:50 Pro tip: don’t try to analyze the retweets in isolation. 01:04:27 available in a different format here http://anagramatron.tumblr.com/ 01:09:15 I should implement Braintrust in Racket 01:09:31 Since I can include the Racket compiler in the compiled program 01:09:50 -!- eliudLl24 has joined. 01:10:09 Should be able to avoid needing to actually have Racket, and effectively have Braintrust compile directly to machine code 01:10:28 Or... err, Racket bytecode + Racket interpreter? Not sure how it works 01:11:02 Hello 01:11:30 :'(i ave a problem :'( 01:11:36 have* 01:11:49 `relcome eliudLl24 01:11:50 ​eliudLl24: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 01:12:14 ._. 01:12:29 Haha! 01:12:32 XD 01:13:51 -!- eliudLl24 has left. 01:20:37 welp 01:21:08 contraceptioncoin dairycoin arrogantcoin jerkincoin 01:23:22 jerkcitycoin 01:23:37 I’ll buy 10000 01:25:53 -!- ggherdov has quit (Ping timeout: 265 seconds). 01:29:16 kmc: real words seem so passé for this 01:29:39 `coins 01:29:40 geolbecoin nppcoin ardbarcoin ihaxcoin poblidcoin 350coin piecescoin chorreloecoin redcoracoin moncoin flumpaislmcoin brecoin frefcoin tagelpmencoin comcoin nunnytcoin flivitcoin nsomcoin mjicoin 272coin 01:29:54 ihaxcoin, clearly 01:29:59 numbers now huh 01:31:48 I'm now treasurer of my uni's CS society help 01:33:58 Taneb: are you the Taneb in #rust? 01:34:16 kmc, yes 01:34:28 Are you the kmc in #rust 01:34:36 Is FreeFull the FreeFull in #rust 01:34:37 help 01:34:47 yes 01:34:51 we have a nice #esoteric contingent there 01:34:59 Taneb: I am 01:35:05 :D 01:35:06 lifthrasiir sometimes 01:35:27 I tried to push myself to learn it after I accidentally convinced some of my friends to learn it and they started asking me questions 01:35:27 a nice #esoteric contingent and a grouchy #esoteric contingent 01:35:29 (that's me) 01:36:50 haha 01:36:54 Taneb: awesome 01:37:08 Taneb: that's like how I convinced Sgeo to learn Kernel 01:37:23 :D 01:37:34 except I still don't know Kernel 01:37:43 Kinda like me with Rust 01:37:46 "so, not like it, really" 01:37:57 Taneb: I told my friend not to learn it until it hits 1.0 01:38:03 Rust, that is 01:38:09 One of these friends is writing a GNU Chess Twitter bot 01:38:11 In Rust 01:38:27 FreeFull: well it's not like the concepts behind ownership, lifetimes, etc. will change 01:38:36 it's not too early to learn those 01:38:40 kmc: True, but stuff is still changing 01:38:47 just don't expect the code you write to actually compile in a month :) 01:38:52 Error handling and such 01:38:58 yeah. it's too early to learn the std lib really 01:38:58 I'm confused about the different kinds of pointers but I really just need to sit down and learn them 01:39:16 Taneb: Only three kinds I think 01:39:32 It's 20 to 2 in the morning, I'm not gonna try and learn them now 01:39:33 Taneb: managed pointers are on their way out so all we have now is owning pointers, references (formerly "borrowed pointers"), and C-style raw pointers 01:39:48 C-style you should already understand 01:39:51 Which twiddle are managed pointers? 01:40:04 managed is (was) @T 01:40:08 Ah, okay 01:40:09 -!- ggherdov has joined. 01:40:10 kmc: They're not called borrowed pointers anymore? 01:40:15 FreeFull: nope! 01:40:33 Taneb: the syntax is deprecated in favor of a library type Gc, which isn't actually GC'd yet (just refcounted) just like the old @ boxes 01:41:08 imo, write code dependent on Gc being refcounted, so that the actual later type class thing whatever has to be GcActually 01:41:52 By and large I like the language :) 01:42:21 jesus i'm so rusty with C i don't remember how to declare a constant. it doesn't have const does it? do i still #DEFINE shit 01:43:02 C does have a const declaration, but that isn't the use for it 01:44:06 Still need to get the hang of it 01:44:13 Well, I need to get the hang of not-Haskell 01:44:15 the use for it isn't declaring constants? 01:44:19 (you should see my Python code) 01:44:37 C's const is just a qualifier on pointers 01:45:01 goddamn it 01:45:12 this thing has 'const std::string hw("Hello World\n");' how do i do that in C 01:45:29 can it just be const char* hw = "Hello World\n" because that would make sense 01:45:38 hmm is that really true though? GCC will compile "const int x = 3;" as C but is that standard? 01:46:40 Bike: yes, or const char hw[] = "Hello World\n"; 01:46:45 const is a qualifier for any type 01:46:52 which has slightly different semantics 01:47:05 i might as well learn the array pointer distinction some time 01:47:08 so what's the difference 01:47:18 arrays and pointers are totally different 01:47:24 but arrays decay into pointers in some circumstances 01:47:25 yes. 01:47:38 sizeof acts differently for arrays and pointers 01:47:54 I got this link here but it's down now? http://mauke.hopto.org/stuff/c/array-pointer.html 01:47:58 Also array is declared as a storage but a pointer doesn't do that 01:48:37 You can use const to declare a function that takes an array that has a minimum size 01:49:38 i was going to use a wrapper around this library but now i'm thinking i'm so bad with C i should write in C just to unfuck myself 01:50:03 Bike: so think of a static variable as just giving a name to some location in the binary. the «char hw[]» example gives a name to a location where "Hello World\n" is stored; the «char *hw» example gives a name to a location where a pointer (i.e. 4 or 8 bytes) to some location containing "Hello World\n" is stored 01:50:15 if it weren't const, you could reassing «char *hw» to point to another string but not «char hw[]» 01:50:20 ok hold on just a sec here 01:50:25 is it static? 01:50:34 sorry, by static i don't just mean declared with the 'static' keyword 01:50:38 yeah i know 01:50:46 i just... you're going to ahve to bear with me here 01:50:53 http://webcache.googleusercontent.com/search?q=cache%3Ahttp%3A%2F%2Fmauke.hopto.org%2Fstuff%2Fc%2Farray-pointer.html 01:50:58 I mean anything declared with 'static' in a function or anything declared at the top level of a file, whether declared with 'static' or not 01:51:09 static in this context means it's like, not erased by the compiler or anything 01:51:11 i.e. variables which live at a single fixed location in the loaded binary 01:51:15 probably something cleverer. 01:51:27 as opposed to normal function local variables, which live temporarily on the stack 01:51:36 ok. makes sense. 01:51:47 this is sort of an operational view rather than a semantic one 01:51:54 but you kinda have to learn C from both ends 01:52:01 because the semantics don't make a lot of sense without the operational constraints 01:52:42 anyway read shachaf's link 01:52:50 Goodnight, all 01:52:59 goodnight 01:53:11 they say the first milestone to learning C is realizing that pointers and arrays are the same, and the second milestone is realizing that they aren't the same at all 01:54:11 so is sizeof on a pointer the size of "the pointer itself", like a word or whateverr 01:54:15 yes 01:54:35 on a 64-bit machine, sizeof(foo*) == 8 regardless of what type foo is 01:54:58 so if i do char* hw = "Hello World" and sizeof it i'll get 1 or 4 or something (or uh, 8) but if i do char hw[] = "Hello World" i'll get 11? 01:55:01 (on a typical 64-bit machine, ignoring exotic non-flat memory models and such) 01:55:13 Bike: 12 because there's a null as well 01:55:17 oh yeah. 01:55:21 ok cool that makes sense. 01:55:58 and in the second case, &hw is then the same as hw in the first case? (not counting allocation stuff or whatever, hopefully you know what i mean) 01:56:22 Bike: &hw is the same as the result of hw decaying to a pointer, yeah 01:56:27 of course sizeof(&hw) != sizeof(hw) 01:56:30 Oh, that was static I was thinking of, not const 01:56:39 void someFunction(char someArray[static 100]) 01:56:40 right 01:56:56 gotta run, ttyl! 01:57:00 and then if i had the hw pointer version (call it hwp) then &hwp would be a pointer to hwp, which is totally different from &hw 01:57:04 later thanks 01:59:59 int64_t hw[] = {1,2,3,4}; will give you a sizeof of 32 02:05:40 -!- oerjan has quit (Quit: nite). 02:11:26 -!- Bike has quit (Ping timeout: 246 seconds). 02:11:51 -!- Bike has joined. 02:18:01 is ther esome constant to return from main instead of zero if i'm being incredibly anal 02:18:29 I don't know of any such thing 02:18:55 you know, something like RETURN_SUCCESS that's zero on everything except the fuckutron 9000 02:19:03 just wondering cos EXIT_SUCCESS and EXIT_FAILURE apparently exist 02:20:56 -!- augur has joined. 02:21:32 -!- augur_ has joined. 02:21:33 -!- augur has quit (Read error: Connection reset by peer). 02:29:31 -!- nooodl has quit (Quit: Ik ga weg). 02:52:33 Bike: the return codes from main are always the same as the arguments to exit(), I think 02:52:50 Yep. 03:04:51 cilantrocoin 03:04:57 -!- Frooxius has joined. 03:07:15 kmc: does the name aaron todd ring a bell? 03:07:47 maybe 03:07:49 the nick "toddaaro" does 03:07:52 yup 03:08:29 he's my new officemate! he said he knew (of?) you 03:09:17 cool 03:09:59 good news i have more C questions 03:10:05 hooray 03:10:10 And we know all of C. 03:10:22 good news everybody! 03:10:22 this API has a function for getting an array ("an array") of information, like a version string or suchlike 03:10:54 the function is like get_version(size_t, char*, size_t*) 03:11:23 and you basically have to call it twice - the first time the first two arguments are NULL or w/e and you just want the size_t pointer, which tells you the size the result will be 03:11:37 and then you call it with the third argument NULL and the first argument the third from last time 03:11:41 why not have two functions? 03:12:20 why two functions when you can have one 03:12:28 Is this Windows? 03:12:35 Sounds like Windows API design. 03:12:42 i've heard of windows apis doing that 03:12:51 it's not, but the billion NULLs everywhere did give me bad memories of windows 03:13:12 i mean, the goal is to avoid having to call malloc in the library, right, but like... bluh 03:13:38 I imagine the intent is that you can pass a buffer and the size of the buffer, and call a second time if you had to resize the buffer. 03:16:04 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 03:16:36 i guess that sort of makes sense... 03:17:10 also: this thing returns a char[] technically. can i just assume that it's null terminated? (it is with my implementation but, anal) 03:17:44 you mean, assume it because of the type? 03:18:00 the type and usual conventions. 03:18:16 i imagine it's possible to return a non-null-terminated char[], i'm just wondering if anyone does so. 03:18:22 without saying so, anyway 03:18:40 It's done, but it's also pretty explicitly said. 03:18:53 The default assumption is that a char* is NUL terminated. 03:18:55 "returning a char[]" is kind of strange anyway 03:18:56 ok. was kinda paranoid since i had the size of the string on hand and all. 03:19:20 shachaf: Unless the function returns a char[static 4] or something then it's just goofy. 03:19:23 :) 03:19:23 but if you're using char * strings in C they'll generally be \0-terminated, yes 03:19:54 the api spec has "char[]". i actually have it using a char* without complaint, and i guess it's the same as a function argument anyway 03:20:27 Yes, in a function declaration it's just a really stupid way of writing char*. 03:20:44 well in the decl it's a void*... you know what i'm probably not describing this well anyway http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/ 03:21:01 Oooooh, it's those idiots. 03:21:10 They couldn't design a good API to save their lives. 03:21:10 are khronos known idiots 03:21:14 -!- zzo38 has quit (Ping timeout: 260 seconds). 03:21:19 Yes, OpenGL is horrid. 03:21:44 it does this thing with "contexts" that i vaguely remember from opengl, in fact... 03:26:42 How you'd do clGetPlatformInfo in a sane way is more like: char *cl_platform_info(int id); 03:27:34 what, no cl_int?? 03:27:47 cl_int is evidence of brain damage. 03:28:04 every C api i have ever used defines its own whatever_int whatever_char whatever_whatever 03:28:23 Yes, that is a cargo cult practice. 03:28:36 actually, wait, i don't think memory pool system did. thanks, mps 03:28:44 why the hell do they do that, it's so confusing. 03:28:53 i'm pretty sure i've asked this before. 03:29:09 I have no idea why it's done, I just know that it has literally no value. 03:30:09 hmmmmm mps sorta does it 03:30:09 But then, zlib is claimed to be a good library. Which is saddening. 03:30:12 "A transparent type is an alias defined using typedef, and this is documented so that the client program can rely on that fact. For example, mps_addr_t is a transparent alias for void *. Transparent types express intentions in the interface: in the case of mps_addr_t it represents a pointer that is under the control of the MPS." 03:30:51 which seems kind of weird still, but at least there's no mps_int_t. 03:30:56 I disagree with that choice, but that is at least someone being reasonable. 03:31:18 Except that library does not strictly conform to C. :P 03:31:32 *_t is reserved namespace. 03:31:33 what, you can't typedef with void* or something? 03:31:35 oh. 03:31:46 well, whoops, that's all over the place. 03:32:12 Yep. That too is cargo culted from people seeing it in libc a lot. 03:32:12 * Bike glances through other api docs, finds plenty of size_t and va_list at least 03:32:23 Where it's used a lot *because it's reserved for libc*. 03:32:29 heh. 03:33:14 The point is, you can't make your own types ending in _t. Because that's reserved. 03:33:34 right, sure. 03:33:40 it seems like a weirdo hungarian thing, i guess. 03:34:14 More a "C has no namespacing whatsoever" thing. 03:34:15 when i first started programming i tried a lot of C but never quite understood it because of things like this that are never explained. being a programmer in that sort of environment seems demoralizing. 03:34:44 This is largely a matter of no good books on the subject existing. 03:35:02 admittedly Learn C in 24 Hours wasn't the best choice on my part 03:35:04 :p 03:35:10 Because many C programmers learned C from cargo culting in the 80s. 03:36:31 I started learning C by writing programs that crash a lot. I still haven't left that phase. 03:37:39 pikhq: so with your sane way - that means the cl library handles the malloc-ing? 03:38:07 No. It returns a pointer to a fixed, constant buffer in the library. 03:39:26 oh, i see. i don't think it's necessarily that fixed though. 03:39:37 anyway, i just noticed these Get functions are allowed to return OOM codes anyway. 03:39:47 *facepalm* 03:39:49 so that's cool 03:40:02 this is all so efficient! 03:40:20 -!- impomatic has quit (Ping timeout: 246 seconds). 03:40:55 Another way to handle it, if it can't be fixed or even fixed in size, is: char *cl_platform_info(char **, size_t *); 03:41:04 Wherein it'll call realloc for you if necessary. 03:41:34 that assumes a lot about how you'll be doing memory management 03:41:47 How so? 03:42:24 well, that your string will be allocated by malloc() 03:48:44 hm, in this case the cl_uint etc. thing might be justified, since cl defines a C-ish language for devices that aren't the host, so uint on the host may not be the device's uint, so they call the latter cl_uint 03:48:51 except there's no way the device is calling these functions. 03:54:17 "we can expect internal chip speeds to increase by a factor of approximately 13 overall up to 2012, when the clock rates reach about 10GHz" 03:54:37 :o 03:54:50 -!- Sorella has quit (Quit: It is tiem!). 03:55:16 C APIs have so many wacky ways to manage memory... in this sense Rust actually has *fewer* pointer types than C ;) 03:56:15 it's just that Rust's different pointer types are checked by the compiler, rather than being something you have to hold in your head and never ever screw up or you get pwned 03:57:21 Bike: ooh are you using MPS? 03:57:28 MPS seems pretty shiny 03:57:39 no, it's just what comes to mind when i think of "C API that i can remotely understand" 03:57:52 ok 03:57:53 would be nice to have to use it 04:03:00 hm this thing says a return value can be "a combination of" a bunch of opaque constants 04:03:19 ;_; 04:03:25 they probably mean a bitwise OR 04:03:33 probably 04:03:41 but who knows 04:04:14 "Currently supported values are one of or a combination of: CL_DEVICE_TYPE_CPU, CL_DEVICE_TYPE_GPU, CL_DEVICE_TYPE_ACCELERATOR, CL_DEVICE_TYPE_DEFAULT, a combination of the above types, or CL_DEVICE_TYPE_CUSTOM. " kinda redundant actually 04:07:52 cool gcc doesn't recognize CL_DEVICE_TYPE_CUSTOM, maybe i can "file a bug" 04:09:46 hey sweet these things have popcnt. finally good news. 04:10:08 even the GPU. what's a GPU do with popcnt? hell if i know but i'm excited to find out. 04:11:39 i wonder if pikhq would like the thirty lines beginning with "typedef cl_uint" 04:12:14 "WARNING! Unlike cl_ types in cl_platform.h, cl_bool is not guaranteed to be the same size as the bool in kernels." what's the point of anything life is meaningless 04:27:48 I ran all resplicate sequences of the form 6 3 10 1 62 n 1 for all odd numbers up to 500 and classified them according to what they did long-term. 04:28:19 turns out 6 3 10 1 6 2 459 1 is a period 9808 oscillator 04:28:26 (or rather, becomes one) 04:28:38 -!- conehead has quit (Quit: Computer has gone to sleep.). 04:31:26 -!- shikhin has quit (Ping timeout: 246 seconds). 04:39:17 Should I be concerned that a Racket dev is pointing to node.js as an example of why I shouldn't complain about something that Racket does? 04:39:28 yes 04:39:39 In the sense of 'it worked for node.js, it would work for us' 04:40:21 http://www.reddit.com/r/Racket/comments/1w88rq/social_solution_to_a_technical_problem/cf9vy4g?context=3 04:40:52 well ok 04:41:21 slightly ironic because of the multi-year fight over who gets to be "node" in Debian 04:42:36 and 6 3 10 1 6 2 383 1 converges to the 688-twos oscillator after 42,118 cycles. 04:42:52 METHUSELAH 04:45:05 kmc: port syntax-parse to Rust 04:45:14 no u 04:45:29 Hmm, I wonder if Racket's syntax-parse, when told that something is an expression, will expand it to check 04:46:11 Also, I want to write a more hygienic syntax-quasiquote 04:59:04 -!- tromp_ has quit (Remote host closed the connection). 04:59:39 -!- tromp_ has joined. 05:02:28 kmc: that thing you linked me. Haven't watched yet, but I assume it's intended to be if the language has already been implemented, and starting from scratch things could have been done differently, this wouldn't be needed? 05:04:11 -!- tromp_ has quit (Ping timeout: 260 seconds). 05:09:07 i don't know 05:14:34 -!- w00tles has joined. 05:17:18 kmc: should I be twitching in discomfort at a templating system that picks up on the lexical environment of the include-template? 05:18:01 ask your doctor if you should be twitching 05:22:44 If it's anything like the feeling I get when I pass locals() to a Django template... 05:22:52 D: 05:23:48 monotone: obviously the template code should be rewritten to use the 'inspect' module to read its caller's locals implicitly 05:23:51 :D :D :D 05:24:53 "Anything that makes us more like PHP has to be good, right?" 05:26:15 sinners, sinners, i'm surrounded by iniquity 05:26:44 It's not too late to renounce the material world and become a monk! 05:27:15 Actually, no, I think Perl ruined that one. 05:27:36 Bike: Yeah, you're screwed. 05:27:53 what else is new 05:30:28 The Winter Olympics? 05:31:21 they've been having those forever. 05:31:34 i need something fresh!! 05:35:30 I feel like you won't be satisfied with anything but the blood of the innocent. 05:35:46 well obviously 05:37:17 You'll have to ask kmc for that. 05:40:43 kmc what's the market price of innocent blood 05:49:32 -!- luserdroog has joined. 05:52:43 jeez it's so hard to get ever since silk road shut down 05:53:45 only since 1924, that's hardly "forever" 06:00:02 I should try Light Table 06:00:21 If I'm willing to like Smalltalk merely because of the IDE, trying a 'good' IDE for a language I once liked shouldn't be painful 06:00:29 And it's not like I have new reason to dislike Clojure 06:04:00 -!- w00tles has quit (Quit: quit). 06:24:04 i should have known "typedef intptr_t cl_context_properties" wasn't going to end well. it ended with clCreateContext({CL_CONTEXT_PLATFORM, (cl_context_properties)(platform[0]), 0}, ...) 06:24:48 btw cl_uint isn't a mere unsigned int, it's actually unsigned __int32 06:40:06 indiscretioncoin grittiercoin cockamamiecoin weepcoin manslaughtercoin gloamingcoin kebabcoin yawncoin snackcoin spaghetticoin 06:41:04 -!- Tritonio1 has joined. 06:44:15 -!- Tritonio has quit (Ping timeout: 272 seconds). 06:44:20 weepcoin sounds useful and fun 06:46:39 you mine weepcoins by weeping 06:46:50 shit i'm way ahead of the market 06:46:55 imo hugcoin 06:48:54 Matthew Green's rationale for launching Zerocoin as a new currency: "If people will put money into Dogecoin, they’ll put it into anything" 06:54:56 Which is a more entertaining read, The Reasoned Schemer, or Purely Functional Data Structures? 06:55:34 i recommend some karel čapek. 06:55:34 i think the former is more entertaining but i care more about the results in the latter 06:56:20 if your goal is entertainment there are also other books you could read that would satisfy it even better 07:33:58 -!- luserdroog has quit (Ping timeout: 245 seconds). 08:11:29 kalecoin 08:13:58 -!- mtve has quit (Ping timeout: 250 seconds). 08:16:49 `coins 08:16:50 rflcercoin percoin 90pcoin demcoin 3trecoin rtnencoin um-32coin sheavoignacoin cystoccoin undennecoin goto++coin vernankcoin wildcoin rssbcoin fortcoin chrcoin iotcoin gagnacoin tace1.0coin spartneratemlcoin 08:17:06 90pcoin, the cryptocurrency for the 90%. 08:19:49 elliott_________: this seems like something you'd like: http://dorrismccomics.com/post/6384447758 08:32:16 https://pbs.twimg.com/media/Bfut4WoCQAAdY3o.jpg 08:33:40 "If the Perl 5 interpreter source were lost, I'm pretty sure we as a species could not accurately recreate it." 08:34:11 Sgeo: heh. 08:40:37 http://www.afterdawn.com/news/article.cfm/2014/02/07/finnish_police_probe_wikipedia_donation_requests that'll teach them 09:28:48 -!- MindlessDrone has joined. 09:29:40 -!- MindlessDrone has quit (Changing host). 09:29:40 -!- MindlessDrone has joined. 09:40:56 -!- Phantom_Hoover has joined. 09:59:53 -!- oklopol has joined. 10:14:18 -!- mtve has joined. 10:15:10 -!- Bike has quit (Ping timeout: 252 seconds). 10:15:15 -!- conehead has joined. 10:19:26 Why am I installing EiffelStudio? 10:25:41 why are you asking us 10:31:55 -!- Bike has joined. 10:54:14 -!- conehead has quit (Quit: Computer has gone to sleep.). 11:11:06 http://imgur.com/gallery/nfRsdYe 11:29:00 -!- Sorella has joined. 12:15:25 -!- shikhin has joined. 12:30:38 -!- Sellyme has quit (Excess Flood). 12:32:04 -!- Sellyme has joined. 12:53:39 -!- Tritonio1 has quit (Ping timeout: 260 seconds). 12:56:31 -!- Tritonio has joined. 13:09:26 -!- yorick has joined. 13:14:39 -!- MoALTz has quit (Ping timeout: 260 seconds). 13:16:13 -!- itsy has joined. 13:20:26 -!- MoALTz has joined. 13:24:05 -!- oerjan has joined. 13:32:22 -!- MindlessDrone has quit (Quit: MindlessDrone). 13:34:43 -!- MoALTz has quit (Ping timeout: 260 seconds). 13:37:40 -!- MoALTz has joined. 13:38:44 Breaking Baryons http://youtu.be/eI91bT-p5Oc | Desperately Seeking Susy http://youtu.be/3vM5u3VT_WE 13:42:15 Got my Heart on a String 13:46:32 -!- MoALTz has quit (Ping timeout: 246 seconds). 13:57:04 -!- nooodl has joined. 13:59:54 -!- tromp_ has joined. 14:04:17 -!- tromp_ has quit (Remote host closed the connection). 14:04:52 -!- tromp_ has joined. 14:07:21 -!- oklopol has quit (Ping timeout: 245 seconds). 14:09:26 -!- tromp_ has quit (Ping timeout: 260 seconds). 14:12:14 A Core War tournament has just been announced http://youtu.be/41GIevxobH0 (more details tomorrow) 14:47:26 -!- MindlessDrone has joined. 15:02:03 `unicode ELLIPSIS 15:02:04 Unknown character. 15:02:20 `unicode HORIZONTAL ELLIPSIS 15:02:21 ​… 15:08:15 helloerjan 15:08:49 hello just confirming one of your conjectures 15:09:01 (and making your python work) 15:09:23 `unicode PILE OF SHIT 15:09:24 Unknown character. 15:09:27 Aww. 15:09:31 What was it called? 15:09:37 my local copy works perfectly! 15:09:40 `unicode PILE OF POO 15:09:41 Unknown character. 15:10:30 `unicode EGYPTIAN HIEROGLYPH E017 15:10:30 ​𓃥 15:10:36 (probably the wiki version isn't the same as my local version. i updated them together rather than copypasting) 15:11:00 oerjan: which conjecture did you confirm 15:11:03 hm is the remainder a conjecture at all 15:11:14 "The family 6 3 10 1 6 2 (2k) 1 for k at least 12 always becomes an oscillator of period k-1." 15:11:50 just tracing it by hand, and doing the python on a couple examples to check i didn't mess up 15:14:14 shikhin: HackEgo has a copy of python that cannot handle all of unicode. 15:14:16 yeah i don't understand your proof. the last line and 6th line look nothing the same... :P 15:14:29 oerjan: Fix it! 15:14:48 6th last line, quintopia 15:15:02 oh 15:15:27 ah yes 15:15:46 shikhin: too much work, especially while HackEgo is otherwise somewhat broken (but don't count on me doing it anyway) 15:16:06 Ah :-( 15:16:50 oh wait 15:17:20 oerjan: i ran 6 3 10 1 6 2 n 1 for all odds up to 500 and categorized the long-term behavior for each one. i can uncover no pattern. 15:18:06 ah. 15:19:07 fixed a miscounting in the description. 15:19:47 i somehow looked at the wrong vertical ellipsis when counting the first time 15:50:41 -!- ais523 has joined. 16:03:55 ais523: you might want the little resplicate building block i made 16:04:34 oerjan: it's OK, I already proved it TC 16:04:38 quintopia: ResPlicate's TC 16:04:45 yay! 16:05:42 (and a little aww, too) 16:07:09 quintopia: oerjan: http://nethack4.org/esolangs/resplicate/tag-to-resplicate.pl http://nethack4.org/esolangs/resplicate/tc-proof-notes.txt 16:07:42 tag system to resplicate compiler, notes I wrote when creating it (so you can get some insight into how I go about proving languages TC) 16:07:57 I'm almost inspired to make a tarpit version now (which would probably be more complex than the original) 16:08:06 resplicate has a whole bunch of capabilities that aren't particularly useful 16:08:57 btw, that compiler uses -1 for cells that never execute 16:09:06 I'm not sure if that technically complies with the language definition 16:09:21 it does not 16:18:02 you can just substitute any other number, though 16:18:08 let me go change it 16:19:22 OK, now it uses 523 16:21:00 oerjan: actually the TCness proof was pretty routine 16:21:12 there was only one difficult bit, remembering where the IP was after copying the alphabet 16:22:13 also that interp's got a lot more complex overnight 16:22:55 -!- zzo38 has joined. 16:36:06 hm reading your .txt, i think the part about being allowed to copy misaligned alphabets is important for being able to perform a command in a single pass of the queue, which is also alas why you won't be needing anything like the nice building block i made 16:36:32 oerjan: I feel like there may be some complex solution that doesn't require misaligned alphabets 16:36:52 but there's not much point, because resplicate isn't really a tarpit, it has a whole range of different things you can do 16:37:20 my vague thoughts (which i tried not to think _too_ much about since i knew you were working on it) was that you'd need a second pass through to clean up afterwards, which is why i thought such a "stabilizer" was needed when you went through the rest of the queue 16:38:16 and also i was thinking cyclic tag instead, which i now realize is more complicated. 16:38:41 (because you have state that needs to be passed on) 16:39:35 s/you have/cyclic tag has/ 16:40:22 cyclic tag is basically one of the simplest models for "the program and data are separate" models 16:40:40 if you have to mix them up, then you can use tag, which basically just needs a queue and a lookup table 16:40:53 lookup tables are awkward in many languages, but pretty easy in ResPlicate 16:41:26 right 16:44:06 so the only tricky issue in ResPlicate is trying to distribute copies of the lookup table where you need them, while not losing track of what you're doing in the process 16:56:30 http://www.theonion.com/articles/newly-tenured-professor-now-inspired-to-work-harde,35169/?utm_source=butt&utm_medium=butt&utm_campaign=butt 17:00:13 what's with all the key=butt in the query string? 17:01:19 -!- oerjan has quit (Quit: You should get to the bottom of this). 17:01:30 ais523: It had some more boring tracking information but i fixed it. 17:01:44 ah right 17:02:15 why didn't you delete it though... 17:02:46 -!- MoALTz has joined. 17:03:53 int-e: That would result in a lack of butts in some httpd log. 17:04:14 Hah. Try uploading a file that is not an image. http://i.srsfckn.biz/ 17:05:49 colorful. 17:06:24 it doesn't like .xpm 17:06:25 sniff. 17:07:24 or windows bitmaps. is it jpg and png only? 17:08:11 curl: (26) failed creating formpost data 17:08:37 What happen if the file has extra data on the end? 17:08:40 oh, gif, too. 17:09:18 Nevermind I figured out the problem 17:10:43 it doesn't mind extra data. 17:12:05 How do I convert it into CP437 encoding? 17:13:26 O, I figured out I have iconv in MinGW 17:15:01 http://i.srsfckn.biz/95.png 17:15:31 OK 17:20:16 -!- yorick has quit (Remote host closed the connection). 17:20:43 I tried uploading a ZIP archive by prepending a 1x1 PNG file and it works 17:21:59 http://i.srsfckn.biz/3B2.png 17:23:17 -rw-a-- 2.0 fat 6294 b- defN 14-Feb-08 09:12 pic.ans 17:24:26 Yes, that is what it is done 17:25:09 Such a file can be unzipped even though it is uploading as PNG 17:40:11 -!- Tritonio1 has joined. 17:43:21 -!- Tritonio has quit (Ping timeout: 265 seconds). 18:04:18 ais523: can you make nethack4 deliver pl files with a text/plain mime type please? 18:04:31 i'd rather examine code in browser 18:05:04 quintopia: hmm, is there any way to get your browser to override the MIME type? 18:05:16 I like the current situation because then I get syntax highlighting 18:06:32 i don't know of any way for dolphin 18:06:48 you use a filesystem browser as a web browser? 18:06:56 https://dl.dropboxusercontent.com/u/113389132/Misc/20140208-pi2.jpg <- it's a Raspberry Pi. (Well, part of it.) 18:06:58 or are there /three/ programs called dolphin? 18:07:02 the mobile browser not the file system browser 18:07:17 ok, right, there are at least three programs called dolphin 18:07:30 three programs...plus gamecube 18:07:47 the gamecube emulator's named after the gamecube's codename 18:07:53 so that isn't really surprising 18:08:16 (I remember seeing someone complaining that their computer thought that their gamecube emulator was a file manager and kept trying to open directories in it…) 18:09:28 how long until gamecube emulator for mobile 18:09:59 I'd say it'd be a while before mobile phone have enough power, a few years at least 18:10:55 and even on PCs, gamecube emulators don't have accurate timings for reading from CD yet 18:11:04 which completely changes the strategy for some games 18:12:45 -!- shikhout has joined. 18:13:31 ais523: what mime type does it actually deliver .py as? i'll search for plugins or something 18:13:36 *.pl 18:14:39 Content-Type: application/x-perl 18:14:56 sorry, had to go tell my browser to capture the HTTP headers, browsers tend not to do that by default 18:15:36 -!- shikhin has quit (Ping timeout: 245 seconds). 18:15:36 -!- shikhout has changed nick to shikhin. 18:18:25 oh gah, now I'm thinking about the 1D MMO again 18:18:33 that's one of #esoteric's sillier ideas 18:19:25 There's at least one 1D shooter, Lineality. 18:19:35 https://archive.org/details/Lineality 18:19:53 hmm, in a 1D shooter, it seems quite hard to miss 18:20:00 (It's not online at all, though.) 18:20:11 what sort of mechanics are used to make the shooting part interesting? you have to get the range accurate? 18:20:30 I don't remember. It's possible that no effort was spent to make it an interesting game. 18:21:36 You can select between "Width Mode", "Height Mode" and "Depth Mode", which I think control the direction of the line. 18:21:41 It can also optionally rotate. 18:22:58 Well, you get to choose the direction to shoot at, and enemies drop life. 18:23:09 I suppose there's some amount of strategy involved in deciding when to turn around. 18:26:55 an MMO on a tape would be cute 18:28:48 do you ever feel disappointed that your gpu isn't four dimensional because i do 18:32:18 Bike: modern GPUs are perfectly capable of doing four-dimensional calculations (then rendering them to 3D, then 2D for the screen) 18:32:28 although the GPU itself is three-dimensional 18:32:34 i can't have 4d work groups though 18:32:59 however, most GPU programming languages don't let you mess around with the 5x5 matrices you'd need 18:33:00 256×256×256 max. tyrannical 18:33:06 CUDA and OpenCL do 18:33:30 oh, that's pretty minor, given that if you're creating a "256x256x256" group it's basically just concatenating the bits of the three coordinates 18:33:37 you can just modulo them out of the block number by hand 18:33:52 some GPUs even have shift operations nowadays 18:34:25 but it's just not the same, man! 18:35:21 anyway i'm going to write my first gpgpu program up in here. gonna square an array. shit yeah. 18:35:42 Bike: oh boy, have fun 18:35:48 we use that as a GPU optimization test for our students sometimes 18:36:00 there are mindbogglingly high numbers of ways to screw that up performance-wise 18:36:12 I do think you should have support just arbitrary dimensional 18:36:15 i was thinking about what would make a good "hello world" but matrix*vector and summing a vector both seemed too complicated 18:36:19 like, if you write a naive matrix-squaring program, there are at least 8 optimizations you can do 18:36:50 zzo38: basically the way it works is that the GPU can handle a limited number of "blocks" at any given time, which are basically the large scheduling units of the GPU 18:36:54 the tutorial i'm going off of uses an actual hello world. like what, this is a fucking gpu 18:37:31 Does it raytrace "Hello world!"? 18:37:37 and you want blocks to have high data locality, i.e. you want to reduce the amount of memory that each individual block accesses as far as possible 18:37:39 Because that seems like something that'd be sensical to do on a GPU 18:37:46 the blocks have numbers that are just integers (typically 24-bit) 18:37:53 no, it just has each unit put a single letter into a string 18:37:57 but it often makes sense to interpret them as coordinates 18:38:00 Oh, boring 18:38:05 -!- MoALTz has quit (Ping timeout: 246 seconds). 18:38:16 Bike: actually, GPU-accelerated memcpy is a pretty good hello world 18:38:28 memcpy maybe, but this is a constant... 18:38:42 yeah, I wasn't suggesting for a hello world 18:38:55 but as a first project that isn't very difficult yet is the sort of task GPUs are actually good at 18:39:13 i figure elementwise squaring shouldn't be hard. 18:39:15 http://www.bbc.co.uk/news/uk-england-surrey-26098944 18:39:20 way to not sound sinister bbc 18:39:27 NetHack 4 uses GPU acceleration for copying rectangular areas around in video memory (and occasionally alpha-blending), that's about it 18:39:33 yet it still helps a lot because GPUs are very fast 18:39:37 Bike: oh, element-wise 18:39:39 it's only taking time because the only tutorial i found is in C++ and kind of fucked up 18:39:44 I thought you mean multiplying an array by itself 18:39:46 nethack 4 uses the gpu??? 18:39:48 what were you thinking? cross product? 18:39:58 elliott_________: only in tiles or faketerm mode 18:40:01 also yeah i'm excited to hear even term roguelikes are high-end now 18:40:11 aw I was hoping it was just for internal optimisation 18:40:18 wait. alpha blending? what? 18:40:30 Bike: in case it wants to draw "monster on stairs" or whatever 18:40:39 dag 18:41:00 conditionals are really hard to do on a GPU, turns out that alpha blending (multiplying by 1 or 0) is actually faster than using an if statement to do transparency any other way 18:41:27 lol. 18:41:31 or well, they're not /hard/, you can write them just fine 18:41:36 but GPUs are not fast at evaluating them 18:41:46 do they have any branch prediction? 18:41:53 i doubt it but 18:42:55 they actually /can't/ have branch prediction, the way they work, because absolutely everythig is SIMD 18:43:16 if statements tend to be very slow unless the entire warp takes the same branch, as a result 18:43:24 otherwise it has to process the branches separately 18:44:07 GPUs do something that's similar in nature to branch prediction, though 18:44:07 warp? 18:44:26 if a block tries to access data, it'll deschedule it while it's waiting for the data to arrive from RAM 18:44:45 a half-warp is the unit that actually runs on a GPU at once 18:45:14 like, it has one ALU for each thread in the half-warp, they all run in perfect lock-step (sufficiently so that if you know what the GPU's warp size is, you can get away with not adding in synchronization primitives) 18:45:52 current GPUs take one clock cycle to write the value back into block memory, so you effectively have an entire warp running concurrently 18:46:13 GPU programming languages tend to abstract away the existence of warps, you work at the thread or block level 18:47:27 blugh, it's going to suck figuring out how to write a kernel for the actual thing i'm writing. i'm porting it from matlab full of branches V_V 18:47:43 and not-independent for loop iterations 18:47:50 good time to have zero experience with concurrency 18:49:01 Can NetHack 4 run in text mode and not use GPU (such as if it is not available)? 18:49:36 ais523: There is Checkout on esolang wiki though, but no implementation (as far as I know) 18:50:37 he wrote it. 18:52:04 zzo38: it can run in text mode without the GPU 19:01:10 some day I'd like to write a game entirely on the GPU, that sounds like it could be fun 19:03:07 how do you do a multiline string in C again 19:03:42 "first line\n" (put a literal newline here) "second line\n" and so on 19:04:09 C ignores doublequote, whitespace, doublequote sequences in strings 19:04:35 it also ignores backslash-newline sequences anywhere but that's typically a bad idea to use because that doesn't let you indent the line afterwards 19:04:46 oh. well that's convenient 19:04:59 I did program a bit more of "Savant's Maze" roguelike game; now it is possible to pick up items and list them in your inventory. However, a curse affects all items of the same kind so if you have a cursed scroll of knight move and pick up an uncursed one, that one will become cursed too, or if you have an uncursed one and pick up a cursed one, both will become cursed. 19:05:48 doing a backslash-newline in the middle of a keyword is typically frowned on 19:06:24 lol 19:20:35 -!- trout has quit (Quit: I found 1 in /dev/zero). 19:21:34 I think the backslash-newline thing was invented for the same reason as trigraphs, so that you could write a very simple mechanical translator from C-code-I-found-on-Usenet (the Web didn't exist back then) to C-code-that-fits-my-machine's-text-encoding 19:21:47 in this case, to deal with line length issues rather than character set issues 19:22:03 back in the days of punched cards, there were literal limits on the longest lines it was possible to store in text files 19:22:07 although, hmm 19:22:15 I wonder if punched cards and Usenet coexisted, it seems unlikely 19:22:25 possibly punched-card machines were still in use as Usenet were starting, but not widespread 19:27:24 actually I think that given the design of C, the most likely explanation is that they did it like that just in case someone wanted to use it with a punched card machine at some point 19:31:22 -!- conehead has joined. 19:35:54 > "\ \" 19:35:56 "" 19:42:58 FreeFull: interesting use of backslashes 19:43:05 what happens if you put stuff other than whitespace in between them? 19:43:16 ais523: what about in comments? 19:43:27 backslash-newline in C, I mean 19:43:34 FireFly: you can backslash-newline inside comments, including // comments 19:43:39 Nice 19:43:43 this is a great way to troll people, I think gcc warns about it nowadays 19:43:49 Well, maybe "nice" is not the right word 19:43:51 you can also backslash-newline between the / and * or * and / 19:43:58 but it's quite hard to make that look like an accident 19:44:20 > "\ a \" 19:44:21 :1:6: 19:44:22 lexical error in string/character literal at character 'a' 19:45:08 I imagine you could camouflage it in line comments doing something like /// this is a comment \\\ 19:45:09 it'd be fun, although kind-of pointless, if strings allowed comments in them 19:45:25 in C you can do that using "hello "/* this is a comment */"world" 19:45:56 because comments are transformed to whitespace before string literals are concatenated 19:49:33 it's even better with trigraphs 19:49:36 // Will the next line be executed????????????????/ 19:49:36 a++; 19:51:18 more C questions. i have a const char[] source at toplevel. in a function when i try declaring "char[][] sources = {source}" gcc tells me the element type is incomplete. 19:52:39 you can't define an array of things whose size is unknown 19:52:53 and the size of char[] is unknown (unlike, say, char[10]) 19:53:09 you would probably use: char *sources[] 19:53:22 hm 19:53:25 which is an array of char* 19:54:09 yeah, that works (once i add a const), thanks 19:56:09 const char *foo[] is an array of const char*, right? can i make the array itself constant (not really necessary, but) 19:58:57 const char * const foo[] 19:59:23 elegant 19:59:26 it's uncommon though 19:59:28 -!- variable has joined. 19:59:45 yeah it's pointless here 19:59:51 people get more particular about const in C++ 19:59:54 at least in some styles of C++ 20:00:15 `which cdecl 20:00:16 No output. 20:00:18 boo 20:00:51 well you can use it on the web here: http://cdecl.org/ 20:00:54 C syntax is kinda weird 20:00:54 "declare foo as array of const pointer to const char" 20:01:09 like, int typedef foo; being legal, since typedefs are just regular declarations 20:01:24 FireFly: yeah 20:01:46 it has a certain degree of internal consistency ("declaration follows use!") but it's a /bad/ rule even if there is a rule 20:02:11 const int (* volatile bar)[64] // ;___; 20:02:11 i had this idea that i could use {...} as a constant literal nameless array because of the initializer syntax 20:02:14 That part is somewhat reasonable-ish I find 20:02:14 what a fool i was! 20:02:25 I tried to define a function that returns pointers to arrays 20:02:31 I'm not entirely sure if it's legal 20:02:32 I mean, at least it's not completely weird once you understand what's going on 20:02:42 ais523: why not? 20:02:44 but with declaration follows use, the resulting syntaxes are beautifully bizarre 20:02:50 Some new things are allowed in GNU C though 20:02:55 "char * const (*(* const bar)[5])(int )" lol 20:03:37 when you get types that complex the only reasonable approach is typedefs 20:03:50 ok let me see if i can untangle it without this site 20:03:50 let's see; function taking void, returning pointer to int[2], would be by declaration-follows-use int *(func(void))[2] 20:03:50 lots of typedefs 20:04:22 FireFly: What does int typedef foo; mean? 20:04:27 ............. 20:04:29 ok i give up. 20:04:32 same as typedef int foo; 20:04:36 Ok 20:04:40 `typedef` is just a storage specifiec IIRC 20:04:41 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: typedef`: not found 20:04:42 specifier* 20:04:54 Ah 20:04:58 So same as const and static? 20:05:15 yeah 20:05:26 ais523: I think you might need to write that as "int *(func(void))[static 2]" to have it not be literally the same as returning an int**. :) 20:05:31 cdecl translates "declare f as function (void) returning pointer to array 2 of int" to "int (*f(void ))[2]" 20:05:47 pikhq: doesn't it returns a variably modified type anyway? 20:06:18 Yes, but with [static 2] it's a constraint violation to return a buffer with fewer than 2 elements. 20:06:29 sweet, i got my segfault again 20:06:35 woooyeah livin the dream 20:06:39 [static 2] is a wonderfully obscure corner of C99 :) 20:06:42 along with [*] 20:06:49 I'm quite fond of it. :) 20:06:51 me too 20:06:54 I think I learned it from you here :) 20:06:56 I'm not even sure what that does 20:07:00 well, now I am I guess 20:07:02 int [fungot 2]; 20:07:02 kmc: i don't think you can make clumsy, kludgey workarounds. the interviewee thought it was 20:07:04 I do not like those features of C99 20:07:10 The really nice thing about [static 2] is, it even *has a point*. 20:07:20 honestly i think i'd be happy just if [] went on the type instead of the name 20:07:27 zzo38: int foo[static 1] is a non-nullable pointer. :) 20:07:28 and function pointer type syntax just... died in a hole somewhere 20:07:31 fungot does not approve of C99's obscure corners 20:07:31 FireFly: i could be 20:07:39 fungot: make your mind up 20:07:39 FireFly: though right now i'm putting the finishing touches on it.) 20:07:43 it's stronger than just a non-nullable pointer 20:07:55 pikhq: Such thing is worthless as far as I can tell. 20:07:57 [static 2] is a promise to the compiler, right? not anything the compiler will check for you (unless you get lucky with warnings) 20:08:01 -!- Phantom__Hoover has joined. 20:08:07 kmc: Right, yes. 20:08:14 I found a bunch of things I thought was weird when I looked through http://www.lysator.liu.se/c/ANSI-C-grammar-y.html once 20:08:30 [static 1] is *essentially* a non-nullable pointer though. As it guarantees it'll point to a valid buffer with at least one element. 20:08:31 hm i think i need to queue up a read even though it's synced to host memory 20:08:32 whatevs 20:08:38 #include \\int (*f(void ))[2] {\ return malloc (2 * sizeof (int));\}\\int main(void) {\ int (*x)[2] = f();\ free(x);\ return 0;\} 20:08:44 (that's a C program with \ rather than newline) 20:08:47 does actually compile and run 20:09:02 pikhq: it's non-nullable but it also has to point to memory which is mapped, and is of the appropriate type 20:09:15 * pikhq nods 20:09:23 btw: in this thing there's a setup to wait for something on the event queue to finish, but you can also specify that the i/o operation you're enqueuing should block 20:09:28 It can't be UB to dereference it. Slightly stronger, yeah. 20:09:39 There Is More Than One Way To Do It And They're All Kind Of Weird 20:10:27 Do you think the way BLISS does it is better? Nice features of BLISS are not found in C or any other modern programming languages I know of. 20:10:51 ais523: Yes. 20:11:03 is C a modern programming language? it's more like a coelacanth to me 20:11:14 What does "coelacanth" mean? 20:11:26 -!- MindlessDrone has quit (Quit: MindlessDrone). 20:11:31 The coelacanth is a fish famous for being "evolutionarily old". 20:11:31 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 20:11:41 it's a type of fish which has not evolved much in the past 400 million years 20:11:42 the species has been "basically the same" for "a very long time" 20:12:05 they're kinda ugly 20:12:17 your mom 20:12:28 welp 20:12:35 It's believed to be closely related with the first tetrapods. 20:12:44 refer to previous message 20:12:52 anyway the point is that C isn't a modern programming language, says kmc 20:13:00 but it's still kickin' 20:13:03 yep 20:13:08 or not, since it doesn't have legs, just fins 20:13:11 C will outlive the human race 20:13:28 what, did we put it on some space probe? 20:13:35 And my opinion is that C99 and C11 and so on are trying to improve C in the wrong way. 20:13:52 zzo is strongly opposed to jaws and adaptive immune systems 20:14:05 ~biology joke~ 20:14:54 oh, i suppose coelacanths have those. boring. 20:15:26 gonna go bunch a shark 20:15:49 btw the way bones develop is completely insane, i see why sharks don't wanna 20:15:55 they look like tampons with a billion eyes...................... 20:16:00 :-D http://ponzi.io/ 20:16:22 ion: yeah wtf 20:16:27 the sound of a thousand economists' heads exploding 20:16:58 are these numbers real... 20:17:36 "STILL WAITING TO MY 0.017728BTC FROM YESTERDAY. 3-4 TIMES WORKED FOR ME THEN GRABBED ALL MY MONEY." holy shit 20:17:39 this is beautiful 20:17:56 STOP INVEST IF YOU WANT TO LOOOSE YOUR MONEY! 20:18:25 Support for zero length arrays is a good way to improve C. 20:19:19 ok so that amount of BTC is about twelve bucks right now 20:19:27 makes it even better. 20:19:48 1BTC is such a large unit that it's hard to get a mental grasp on it 20:20:08 I'm not clicking the link, but is that site basically a ponzi scheme that's totally upfront about it? 20:20:14 yup. 20:20:16 Yes.\ 20:20:23 and it has two hundred something btc in it. 20:20:46 if .01 btc is about twelve bucks, 1 btc is 1200 bucks. more than that cos of the other digits. that's not hard to grasp. 20:20:48 wait, isn't that like a hundred thousand dollars? 20:21:05 beautiful, isn't it? 20:21:13 they've taken in about $160,000 yeah 20:21:16 and paid out most of it 20:21:28 because of how bitcoin works you can at least verify that everyone in the past has gotten paid back 20:21:34 oh, I thought that's the amount they kept for themselves 20:21:41 :O 20:22:00 i kind of doubt anyone who'd set this up feels btc are worth it :p 20:22:06 I wonder if I can shorten this to use fewer than 29 parts 20:22:37 Other thing to improve C would be to make "extern static" to be allowed, but I don't think any version of any C standard is allowing it. 20:23:11 they have a point that this might be a money laundering scheme 20:23:15 but not a sustainable one 20:23:25 a typical laundry would pay back less that 100% of what you put in........... 20:24:01 "butbuob: Show HN: Litecoin Ponzi Scheme written in Rust" 20:25:38 zzo38: I think GCC does but I don't know if it has the semantics you want 20:25:44 what do you think "extern static" should mean 20:26:54 1 BTC is like $700-800 now 20:26:57 not $1200,... 20:27:03 it hit $1200 like /once/ 20:27:13 GCC has static inline and extern inline 20:27:26 and the traditional GCC meaning of extern inline is the opposite of the C99 meaning :( 20:27:59 elliott_________: are you faulting my awesome math 20:29:03 someone who was a huge jerk would point out that if .017 BTC = $12 then 1.7 BTC = $1200, and i rounded the wrong way. luckily we don't have any of those here. 20:29:48 ugh i can't figure out why this is segfaulting 20:30:04 did you get a backtrace from a debugger 20:30:24 nahhhhhh just segmentation fault (core dumped) 20:30:37 i can see what call causes it but i'm not sure what i'm doing wrong, is all 20:31:05 well the debugger might help you determine that 20:31:22 like... gdb? 20:34:10 kmc: What does GCC do with it? 20:34:10 yeah 20:34:20 gdb --args ./myprog whatever args 20:34:26 then 'run' 20:34:37 when it crashes you'll be back at the gdb prompt and you can type 'bt' for a backtrace 20:34:44 you should also compile with -g and with no optimizations 20:35:01 scary 20:35:07 well i g uess i gotta learn gdb sometime 20:35:34 But what does "extern static" do in GCC if anything, and what are the GCC and C99 meanings of "extern inline"? 20:36:24 zzo38: http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html 20:36:42 Bike: yeah. gdb is super fancy but knowing how to do the 5 most basic things is very useful 20:37:19 Bike: valgrind is also very useful for debugging memory errors in C, particularly in the cases where you *don't* get a crash or the crash happens a while after the incorrect memory use 20:37:38 well, unsurprisingly, bt shows it's two levels deep in the opaque library 20:37:42 bluh bluh 20:38:16 guess i'll stare at the api some more 20:39:49 kmc: OK, and what for "extern static"? 20:40:13 maybe I misremember and it's not allowed 20:40:40 yeah foo.c:1:1: error: multiple storage classes in declaration specifiers 20:40:43 zzo38: what do you want extern static to do 20:40:47 so what would your "extern static" mean? 20:41:52 I want it to export it but mangle it so that it doesn't interfere with other files having a function of the same name, but otherwise treat it as static 20:42:11 (And if the definition is not given, try to use an external one) 20:45:37 so if there's no definition it links to the non-mangled name, but if it is defined it exports with a mangled name? 20:46:25 No, it uses the mangled name either way. 20:46:27 So I'm in the market for a new GPU. For gaming mostly. Any recommendations wrt. Nvidia vs. AMD at this point? It doesn't matter when booting to windows, and I expect I will have to use the closed source drivers in either case under Linux for full functionality, so, which one is least shitty on Linux currently? 20:46:42 I use AMD atm, and it works reasonably 20:46:58 But it provides less performance than under windows in for example minecraft 20:47:39 Vorpal: basically the situation is that Nvidia care about their Linux drivers, AMD don't; however, the official Nvidia Linux drivers are both closed-source and excessively corporate 20:47:45 they feel like a Windows program 20:47:47 zzo38: so the mangling scheme is documented and the user is expected to sometimes declare functions using their mangled name elsewhere? 20:47:48 Hm 20:47:55 that seems awkward 20:48:05 I suspect AMD will be better for console ports in the future. 20:48:20 there's also open source drivers for the nvidia drivers, which are missing quite a lot of functionality but otherwise work fine 20:48:22 ais523, AMD is working for better open source support though, right? 20:48:31 and nvidia have been known to help them out from time to time 20:48:46 Vorpal: AMD's getting more open wrt source, but the drivers themselves are awful 20:48:57 given that the two biggest consoles are x86 machines with AMD APUs (which also means ports from consoles in the future are likely going to be more common in general) 20:49:01 zzo38: I do like the idea of a declaration that means "either a static in this compilation unit, or extern if none exists" 20:49:06 ais523, well they are pretty stable at least, they weren't a few years ago 20:49:23 but maybe that's already what you get by declaring extern and defining static? is that allowed? 20:49:24 elliott_________, yep. 20:49:43 nope, it isn't 20:49:53 anyway that could be useful to have library functions which can be overridden on a per-compilation-unit basis 20:50:03 but I don't see the point of exporting the overrides under mangled names 20:50:05 (or at all) 20:50:15 i have an amd gpu and the proprietary drivers were kind of a pain to install, but now that i've done it i can play hl2 smoothly 20:50:36 -!- itsy has left. 20:50:39 elliott_________, why the excessive underscores btw? 20:50:44 "pain to install" includes "i can't use xorg 15" 20:50:45 kmc: No you have to declare them using "extern static" elsewhere too, and then give the definition in a file. However you would need to know which file it belongs to if you want to mangle the name, so I have elsewhere wrote about a directive to do so. 20:50:52 Vorpal: e had two and I complained 20:51:06 you've probably just inspired em to add more 20:51:15 this is the most that will fit 20:51:19 Ah 20:51:22 anyway, NVidia are probably the Apple of GPUs 20:51:31 ais523, how do you mean 20:51:50 i looked at nvidia gpus but i looked at their cuda site and holy shit is it annoying 20:51:50 s/how/what/ 20:51:57 (good basis for purchases) 20:52:03 the stuff mostly works an is high-quality, but doesn't have many user-servicable parts and you're relying on the company to keep doing updates 20:52:13 So, it is a way to make something like namespaces except that there is no interference with other namespaces having the same name. 20:52:15 ais523, right, and AMD is what? 20:52:24 Not the same? 20:52:40 Vorpal: some weird generic brand name manufacturer you've never heard of but their stuff seems to work 20:52:52 there are loads of them in any electronics store 20:52:57 Heh 20:53:56 To set the record straight, while typedef indeed is ("for syntactic convenience only", C11 6.7.1p5) a storage-class specifier, and so is "static", "const" is not; it's a type qualifier instead. 20:54:51 that's because you can put consts in the middle of an expression and they change meaning depending on where they are 20:55:05 err, of a type 20:55:25 Arguably it's also because they serve different functions. 20:55:45 i just realized something. records are circular 20:56:46 Vorpal: Speaking of photography, I tried to do http://en.wikipedia.org/wiki/File:RevLensMac.png today, but as I'm missing an adapter ring (the one I ordered was broken) I had to do it with a less then optimal pair of lenses, and the end results... leave something to be desired: https://dl.dropboxusercontent.com/u/113389132/Misc/20140208-pi2.jpg 20:58:16 fizzie, interesting, but who was speaking of photography? ;P 20:58:34 Vorpal: I'm sure we were, at some point during the preceding year or so. 20:58:39 Oh right 20:58:46 Also what is the thing on the left? 20:59:11 I think it's the surface of one of the ICs. 20:59:51 Ah 20:59:58 https://dl.dropboxusercontent.com/u/113389132/Misc/20140208-pi3.jpg is how close I can get with the regular lenses, and I think that closeup is from the four R15 resistors and that Samsung chip there. 21:00:07 fizzie, what is the benefit of doing this reverse lens thing? I never heard of it before 21:00:31 Vorpal: Lots of magnification without having to get a proper "macro" lens that can focus real close. 21:01:06 fizzie, Also I would suggesting using a smaller shutter perhaps? 21:01:12 The focus is *very* narrow 21:01:41 Vorpal: Stopping down the aperture kept increasing the amount of vignetting, sadly. 21:02:18 fizzie, you mean the black circle thing or normal vignetting? 21:02:25 The black circle. 21:02:27 Oh 21:02:33 That is a bummer 21:03:01 I believe it should work better with a large-aperture lens as the reversed one, but I couldn't use the one I have because of that missing adapter ring. 21:03:09 Ah 21:03:42 Also the whole contraption was something like at least half a metre long, and my tiny mini-tripod just couldn't hold it up. And it could focus only something like 1-3 cm away from the end of the reversed lens. So it wasn't exactly a practical thing. 21:03:46 Fun, though. 21:04:05 Ah 21:04:17 fizzie, yeah a larger tripod might be a good idea 21:05:51 I do have a regular tripod, but I couldn't maneuver it close enough to the TV stand I had the RPi on, because of the legs. (And when I tried to "tilt" it by making one leg longer, it started to fall over.) 21:06:00 this e-mount macro lens is $300 :/ 21:06:17 Perhaps I'll experiment more when I get a non-broken ring, it should be in the mail. 21:06:42 i should probably get an adapter and some cheaper macro lens though, but I'm such a lazy noob that I probably wouldn't use it right 21:07:05 but mushrooms have such nice details to capture 21:07:15 fizzie, can't you extend/retract the legs on your tripod? Or did that not help either? 21:07:22 btw, this reddit thread is really confusing me: http://www.reddit.com/r/roguelikes/comments/1xa9rj/i_have_been_writing_a_pseudoroguelike_mmorpg_with/ 21:07:28 I don't have any gamepad for use with my computer; if I did then I might design some two-player Famicom game using it, and in fact I have a idea of such a thing too: It is something like a Pokemon battle game, but there is some differences for example there is only eight element types (all balanced), and you can attack only one at a time but can switch your primary/secondary as you attack. 21:07:48 why did anyone think it was a good idea to write an MMO where you fight monsters by editing Clojure code using regexes? 21:07:58 it seems to have found an audience, anyway 21:08:08 The eight element types are: North, South, Alien, Magic, Air, Insect, Slime, Abnormal. 21:08:21 kmc: An "extension tube" (that basically just moves the lens and therefore lowers the minimum focus distance) is often a pretty cheap option, I believe. (It doesn't get to as large magnifications as a macro lens, and you need to get closer, but at least it's just an empty tube and therefore often reasonably priced.) 21:08:45 okay 21:09:24 And same type attack bonus not only gives bonus to damage but gives a bonus to priority as well. 21:09:35 kmc: Or so I've read, anyway. My father's got some M42 mount lenses and an extension tube set from the 1960s-1970s, I've been thinking of getting a $7 M42-to-EF adapter and borrowing those. 21:10:11 zzo38: there's some of that in the latest Pokémon game, in X/Y there's a Flying Pokémon that gets a priority boost on Flying moves 21:10:14 it's a really powerful ability 21:10:49 ais523: Is it overriding speed or adding to the speed, and how much? 21:11:03 "At level 0, you will only be able to match and substitute up to 10 characters, and you won't yet have access to []+*|)( and other regular expression "sigils." You can see that even with the most basic monster, it will take conscious effort to figure out useful spells to cast." 21:11:07 zzo38: it adds 1 priority 21:11:21 which is the difference between Tackle and Quick Attack, or Quick Attack and Extremespeed 21:11:52 My way is adding 2 speed rather than 1 priority, and applies to all types/attacks. 21:12:34 ais523: Wait, really? Jeeze, that is quite powerful. 21:12:37 2 speed as in speed points on the status screen (that's hardly anything)? or as in 2 stages (i.e. Agility)? 21:12:51 pikhq: yeah, very powerful, I can see why it's limited to one Pokémon 21:12:56 As in two points on the status screen 21:13:07 But, this is before stages are applied. 21:14:00 Where the speed is 0 to 245, and up to ten can be added due to bonuses so it is 255 at maximum. 21:14:11 Cripes. Hidden ability Talonflame is crazy then. 21:14:26 pikhq: What does that one do? 21:14:47 Exactly what we've been talking about. Flying moves get a priority boost. 21:14:47 why did anyone think it was a good idea to write an MMO where you fight monsters by editing Clojure code using regexes? <-- that sounds amusing for 5 minutes 21:14:57 pikhq: OK 21:18:23 Vorpal: apparently they want to commercially release this, and quite a few people are saying "that sounds interesting" despite it not being on a programming-based subreddit 21:18:31 with a monthly fee for playing 21:18:51 ais523, eeh, I'm not sure that would work out. As a free game jam thingy? Sure 21:19:01 Vorpal: neither am I 21:19:09 in a sense I /want/ to see it work out because it's so unusual 21:19:20 but I don't expect it to 21:19:47 ais523, Well yes, but I wouldn't want to play it myself. It sounds way too much like work to me these days. I have been coding much less in my spare time recently, doing other stuff instead 21:20:16 Such a thing you described with using regex to fight, seem like not so good as it is written but perhaps made as a single-player puzzle game, may be interesting. 21:20:34 brb 21:20:35 (Where, any level is fixed based on the puzzle and not based on your level) 21:26:44 Vorpal: Oh, almost forgot to mention, I also did a moon comparison thing: https://dl.dropboxusercontent.com/u/113389132/Misc/20140206-mooncomp.jpg 21:29:13 segfaults are so fucking frustrating 21:29:22 Bike: and yet they're pretty much the best case outcome 21:29:23 back 21:29:42 fizzie, new/old as in? 21:29:43 compared to scribbling all over ram? 21:30:03 yeah, a segfault is a memory handling mistake which happened to be caught by the hardware / OS 21:30:04 -!- yorick has joined. 21:30:15 (though it could be the consequence of another mistake which was not) 21:30:35 kmc, unless of course it segfaults in a different location every time. In which case you might have a threading issue or some sort of heap corruption or... 21:30:54 Vorpal: Old and new camera. Old picture was from 2009, and it's entirely coincidental that the moon phase is such a close match, I hadn't even looked at the old picture before taking the new one. 21:31:20 fizzie, why the colour difference? Camera or atmospheric conditions? 21:32:05 god damn it what did i do wrong 21:33:06 Vorpal: Possibly both. The old one was not terribly good when it came to white balance. (Especially the AWB, so I may have had it set to some suboptimal preset.) 21:33:38 I guess it should be recorded in the Exif data. 21:34:43 "White Balance: Daylight". Well, it's... reflected daylight? 21:35:08 fizzie, my old camera (which is my current camera that is) has a button to set the white balance from a neutral color you put in front of it 21:35:49 http://www.reddit.com/r/Bitcoin/comments/1x9gue/my_protest_at_mtgox_offices_5_to_7th_february/ 21:35:52 "I was told that up until a few weeks [at time of the interview] ago, there was hardly any development environment to test changes. Most changes were done straight on the production environment. Typing this made me throw up in my mouth." 21:37:34 Vorpal: Both "old" and "new" can do custom white balance, and I used to use it quite a lot with the old one, though (somewhat disappointingly) the workflow to do so is less practical in the new one. (Old one has a menu option to take a custom-WB shot; for new one you need to take a picture, and *then* go to a menu and select that picture as source for custom WB.) 21:37:44 Wonder what a "Light Source: Fine Weather" Exif entry means. 21:38:00 I don't think there are any weather sensors in the camera. 21:38:56 Seems to be a redundant way to say "White Balance: Daylight". 21:39:09 if MtGox collapses and there's panic selling maybe I should buy some Bitcoins finally 21:39:21 they're only 20% of the bitcoin-to-real-money market now: http://bitcoincharts.com/charts/volumepie/ 21:40:32 :O 21:40:38 fizzie, ouch. Mine just has a button that greys out everything except the center of the display, and then when you release it, it takes a photo and uses the area in the middle as the reference 21:40:43 works really well 21:40:48 lol they call real money "fiat" 21:41:03 fiat is a reasonable name for fiat money 21:41:16 bitcoin is even more fiat than fiat, though 21:41:16 it's a technical term... 21:41:20 elliott_________: you've grown a long tail since I last saw you 21:41:33 kmc: depends who's doing the fiat-ing, I suppose 21:41:34 kmc: depends on the definition, I think 21:41:42 yeah but by at least one of the common definitions 21:41:50 Vorpal: That's approximately how it worked in the old one, though you navigated a menu to get there. (Also you could select one out of two slots to save the custom balance as.) 21:42:03 if you make that definition broad enough, you could shove gold into the fiat designation too 21:42:06 :D 21:42:09 yes 21:42:10 (which I love to do, honestly) 21:43:15 kmc: if you decide to buy and want to do it OTC with someone, let me know and I can probably help you find a counterparty (might end up being cheaper with less hassle than an exchange) 21:43:15 copumpkin, also cars. *hides* 21:43:18 aside from industrial uses, it depends on whether you think the human aesthetic / cultural appreciation of gold is more "real" than the value of dollars 21:43:24 copumpkin: haha okay 21:43:53 I don't even charge fees! >_> 21:44:12 well you can't charge much fee as an OTC matchmaker who doesn't assume counterparty risk ;P 21:44:19 lol 21:44:33 hey, I can set you up with the most trustworthy people in the community! what's not to love! 21:44:36 true 21:44:39 >_< 21:44:39 all i see is fire and void 21:44:44 but I'm kidding, of course :P 21:45:16 I've also been known to escrow for people to do that sort of stuff 21:45:19 do OTC BTC-USD transactions typically happen through escrow? 21:45:21 yeah 21:45:26 depends 21:45:38 if you like getting scammed, go for an unauthenticated stranger 21:45:44 (lots of people do that) 21:46:11 the more savvy tend to just go with reputable people and the less reputable of the pair sends first 21:46:16 heh 21:46:17 and even more savvy will go with escrow 21:46:56 there should be some sort of cryptographically sound way to exchange arbitrary cryptocoins with each other even if they're on different chains 21:48:14 USD isn't a cryptocurrency 21:48:29 I know 21:48:40 credit cards are, though 21:48:45 not a very good cryptocurrency, though 21:49:22 i googled for an opencl irc channel and it's all bitcoin mining 21:49:40 ;_; 21:50:03 ais523: oh? 21:50:10 how would it work 21:50:44 I have no idea, but I guess I have a "this should be cryptographically possible" sense that's comparable to my "this should be TC" sense 21:50:47 i.e. not 100% reliable 21:50:59 have y'all played flappy bird? 21:51:15 NO WHAT IS THAT AND WHY IS EVERYONE TALKING ABOUT IT 21:51:40 ridiculously hard game 21:51:40 kmc: http://www.theatlantic.com/technology/archive/2014/02/the-squalid-grace-of-flappy-bird/283526/ 21:51:43 hth 21:51:45 http://www.youtube.com/watch?v=gD-nzHy2DdU 21:51:50 not hard in an interesting way 21:52:24 the trick is to read this article or watch a video or whatever and think "ok then, fuck this" and go back to something practical like making your program segfault a hundred times 21:53:24 or read an IRC message 21:53:36 you're a prodigy 21:56:54 http://www.metalair.org/decentralised-cryptocurrency-exchange/ is trying to do it but they won't share their design work so far 21:58:46 kmc: re your original bitcoin link, the hilarious thing is the way that people keep on trying to confirm/deny the story via reference to hitherto unmentioned third party X, and third party X turns up to confirm that their involvement in it is genuine 21:58:55 it's like the entire community are reading that reddit thread 21:58:59 heh true 21:58:59 which is actually pretty believable 22:00:00 the real useful post is gmaxwell's contribution 22:00:02 not that protest thing 22:00:06 well, that might be useful too 22:00:09 ais523, which link was that? 22:00:16 I was mostly amused by the horror story of interviewing there 22:00:24 http://www.reddit.com/r/Bitcoin/comments/1x93tf/some_irc_chatter_about_what_is_going_on_at_mtgox/cf99yac 22:00:35 err, not the one copumpkin linked 22:00:51 it's about 1 and a half screenfuls ago on my screen, kmc linked it 22:00:53 this one, http://www.reddit.com/r/Bitcoin/comments/1x9gue/my_protest_at_mtgox_offices_5_to_7th_february/ 22:00:57 but read mine too 22:01:10 Ah 22:06:40 ais523: so one simple approach is that the two parties take turns exchanging small quantities of money until the whole transfer is consummated 22:08:12 this will be pretty slow with existing cryptocurrencies 22:10:35 I know someone developed a bitcoin mixer that doesn't require any of the participants to trust any of the others 22:10:41 but that might require protocol adpatations 22:10:43 *adaptations 22:13:13 zerocoin was originally designed as that, yeah, and it does require protocol changes 22:13:26 ah right 22:13:39 now it's going to be a separate currency because in the words of the designer, "If people will put money into Dogecoin, they’ll put it into anything" 22:13:52 so it's a new cryptocurrency with true anonymity 22:13:54 the designer is probably correct there 22:14:17 I also know about a Bitcoin mixer that ran for a while using RSA blind signing 22:14:46 so you still trust the central party not to take your money, but they can't reveal which coins were exchanged for which, even under torture / subpoena 22:15:12 oh, btw, for everyone who was wondering why imgur didn't work on my computer no matter which browser I was using, and continued to not work even when I accessed the internet from a hotel in France 22:15:26 I eventually discovered it was due to an entry I'd added in the hosts file that had gone out of date 22:15:32 and here's another design http://blog.ezyang.com/2012/07/secure-multiparty-bitcoin-anonymization/ 22:15:35 that's somewhere to check next time 22:16:12 must have been back when the DNS was being buggy 22:16:38 Are you able to make some more Attribute Zone levels if I have made up the program? 22:26:32 that ponzi.io is doing pretty well 22:26:44 back in the day we had bitcoinduit which worked the same way 22:29:08 * copumpkin sends in 10000 coins 23:18:45 after much wailing and mashing of teeth i have written a gpgpu program 23:19:01 hooray 23:19:30 the last time I did that was in 2007, back when you still had to pretend that your data represented red, green, blue values in a texture 23:19:46 pretty sure this means i'm basically a bitcoin trillionaire already 23:19:53 itym dogecoin 23:20:30 isn't it called "digging" or something with dogecoin 23:26:35 yeah 23:38:11 -!- oerjan has joined. 23:39:33 I wonder how WebCL is going.. 23:40:20 what, so you can mine from firefox? 23:40:59 hopefully the cryptocoin craze will lead to actual useful developments in GPGPU technology 23:41:12 um, no 23:41:21 So I can play with the GPU from JS 23:41:46 ...for purposes other than mining *coins 23:41:52 like what 23:42:08 raytracing or something 23:42:15 games that run entirely on the GPU? 23:42:23 you could have massively parallel control of thousands of characters 23:42:30 it'd be good for collision processing too 23:42:30 general purpose game processing unit 23:42:39 the hard part would be screen transitions 23:59:18 -!- tromp_ has joined.