00:03:03 Although I appreciate your humor, that's a little bit less clear than you're making it. 00:03:20 The first amendment applies to the government, not to airports, which are privately-operated businesses. 00:03:26 So...close... to being able to use PayPal 00:03:38 Got an AmEx gift card 00:03:47 PayPal charged a verification thing to it 00:03:56 But the code won't show up in the description 00:03:57 :( 00:04:05 Then again, it's still "pending" 00:04:24 Ohwait, I'm totes wrong. 00:04:33 Gregor: Airports actually tend to be owned by the city it 00:04:34 Apparently airports are government-run in the US. 00:04:35 's in. 00:04:52 Wow, I am SO lagged. 00:05:12 No, I hit enter same time you did. :P 00:05:51 Gregor: Privately-owned airports ... with the TSA in them ... 00:06:20 elliott: I didn't say they were unregulated. 00:06:29 elliott: Or even anything less than extremely heavily regulated. 00:06:45 ;D 00:22:23 Allocation sizes of two to three pointers where the first of the two pointers and the second of the three pointers must be aligned to eight bytes: SO INCONVENIENT 00:22:39 Wait. 00:22:42 There are no such allocations. 00:22:51 Just allocations of two pointers where sometimes the first must be aligned and sometimes the second. 00:24:08 Perhaps all allocations should be page-aligned. That'd solve it! 00:24:09 :P 00:24:18 TOTALLY 00:25:12 pikhq: Actually the allocation is going to be done with the Zepto Basement Bin Copying Collector. 00:25:47 pikhq: Basically I don't bother with free lists or any of that shit. I just allocate linearly, then whenever I run out of heap, I do the regular copying-GC trick, keeping objects that reference each other close together sort of. 00:26:12 So, a fairly standard copying GC, then. 00:26:21 pikhq: Yeah, except that it's /Basement Bin/. 00:26:38 Which means what? 00:27:22 pikhq: Like all of Zepto, it is coded to meet Zepto's weird aesthetic preferences over anything else. 00:27:25 Including, e.g. performance. 00:27:29 That it's simultaneously not as fast as GGGGC, and not as featureful as GGGGC. 00:27:36 Remember, I'm using a /linked list/ to intern symbols. 00:27:41 Because hash tables spoil vibes. 00:27:46 Gregor: Yes, but it's also MINE. 00:27:52 Fair enough. 00:27:56 And EGGGC sounds terrible :P 00:28:13 Generations. What are they for? What is with all this making assumptions about the lifetime of objects. 00:28:17 That is making an ass out of u and objects. 00:28:26 Zepto makes no asses. It is not an ass factory. 00:28:35 It is a programmer happiness factory. 00:29:05 elliott: I presume "Zepto" means "yours"? 00:29:13 It is the name of a language. 00:29:14 Gregor: Egg GC sounds awesome. :P 00:29:19 It has no "Lisp" prefix because it is awesome. 00:29:30 I already have a half-baked implementation of it, but it's in Python. 00:29:35 So I'm making an even-more-half-baked version in C. 00:29:54 quarterbaked 00:29:55 Quarter-baked, if you will. 00:30:01 monqy: ^5 00:30:05 I'll bake you lot in a quarter if you don't shut up. 00:30:19 -!- zeptobot has joined. 00:30:25 zeptobot: Get broken by these mortals. 00:30:25 elliott: How do you bake people in a quarter? 00:30:28 : quote 00:30:28 -> (x . x) 00:30:29 pikhq: Painfully. 00:30:38 (x . x) is how zeptobot feels about people breaking it. So don't do that. 00:30:40 Seems there's no empty space in that coin. 00:30:43 : (quote 99) 00:30:44 -> (99) 00:30:52 : ('(x . x) 99) 00:30:52 -> (99) 00:31:05 : ('(x . (eval x)) 'quote) 00:31:05 ! AttributeError: 'Symbol' object has no attribute 'apply' 00:31:12 That is correct behaviour. I think. 00:31:19 how does zepto work 00:31:24 monqy: Badly. 00:31:45 http://sprunge.us/ZcaS 00:31:55 This is the specification, except for all the parts that are wrong. 00:32:10 http://sprunge.us/fTEH This shit is bullshit. 00:32:18 But there's no shit like bullshit. 00:32:27 My errors are the best. 00:35:41 it would be nice if I could tell what the specification meant 00:36:13 right now I'm trying to figure out how to get exotic errors 00:36:54 : (id) 00:36:55 -> () 00:36:58 oh no 00:37:40 : (id '(x . x)) 00:37:40 -> (x . x) 00:37:50 : (id '(x . x) '(x . x)) 00:37:51 -> "no jew brotha" 00:37:59 : (id . 9) 00:37:59 -> () 00:38:01 : (id 9) 00:38:01 -> 9 00:38:04 there we go 00:38:22 : (map 99 99 99 99 99 99 99) 00:38:22 : (eval . 9) 00:38:22 -> "no brah, no" 00:38:23 -> "like you a ho" 00:38:35 those are just argcount checks :) 00:38:57 : (def 99 99 99 99 99 99 99) 00:38:57 -> "u a fuka" 00:40:56 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 00:41:04 : (def) 00:41:05 -> "u a fuka" 00:41:09 i a fucka. 00:41:11 does it do anything useful 00:41:21 you can define things and map things 00:41:24 : (map quote '(a b c)) 00:41:25 -> (('a) ('b) ('c)) 00:41:29 : (map id '(a b c)) 00:41:30 -> (a b c) 00:41:36 mmmm 00:41:45 : (map quote '(9 9 9)) 00:41:46 -> (('9) ('9) ('9)) 00:41:54 gotta love how little sense that one makes 00:42:17 (def x (x x)) 00:42:19 er 00:42:21 : (def x (x x)) 00:42:22 ! AttributeError: 'Pair' object has no attribute 'bind' 00:42:34 what 00:42:35 : (def 'x (x x)) 00:42:36 -> "u a fuka" 00:42:39 :'( 00:42:41 : (def x '(x x)) 00:42:41 -> x 00:42:42 : x 00:42:42 -> (x x) 00:42:50 : (x 9) 00:42:50 ! AttributeError: 'Integer' object has no attribute 'bind' 00:42:54 : (x id 9) 00:42:54 ! AttributeError: 'Integer' object has no attribute 'bind' 00:42:56 : (x id) 00:42:57 ! AttributeError: 'Integer' object has no attribute 'bind' 00:42:58 (eval x) 00:42:59 : x 00:42:59 -> (9) 00:43:01 : (eval x) 00:43:02 ! AttributeError: 'Integer' object has no attribute 'apply' 00:43:04 what the fuck 00:43:05 happened to x 00:43:07 oh no x is 9 00:43:07 it... rebinds itself? 00:43:12 : (def foo '(foo foo)) 00:43:12 -> foo 00:43:12 : foo 00:43:13 -> (foo foo) 00:43:17 : (foo id 9) 00:43:18 ! AttributeError: 'Integer' object has no attribute 'apply' 00:43:20 : foo 00:43:20 -> (id 9) 00:43:22 ... 00:43:23 :D 00:43:27 that is pretty cool 00:43:33 oh duh 00:43:35 that makes a bit of sense sort of 00:43:38 yeah it does 00:43:57 : (def x '(x x)) 00:43:58 -> x 00:44:03 : (x x) 00:44:04 ! AttributeError: 'NilClass' object has no attribute 'unbind' 00:44:08 : x 00:44:09 -> () 00:44:10 realise that that is (x . (x)) 00:44:12 so it rebinds x 00:44:13 to the arguments 00:44:16 aha 00:44:16 and then executes (x) 00:44:19 where x is your arguments 00:44:22 so it runs ((id 9)) 00:44:24 which runs (9) 00:44:26 which predictably fails 00:44:31 but x has been rebound to (id 9) 00:45:10 how does it manage to rebind itself 00:46:38 : (def x 'x) 00:46:38 -> x 00:46:43 : (eval x) 00:46:44 -> x 00:46:51 monqy: because it takes its arguments as x? 00:46:53 which is its name? 00:47:02 if the parameter was named something else, it would do something ... still stupid, but not self-destructive 00:47:15 oh is that how it works 00:47:25 Yes. 00:47:29 If it can be said to "work" at all. 00:47:32 It Zepto-works. 00:48:04 http://old.nationalreview.com/document/document073001.shtml The court findings in Bradshaw v. Unity Marine. Wherein the court mocks both parties. 00:48:41 "Despite the waste of perfectly good crayon seen in both parties' briefing (and the inexplicable odor of wet dog emanating from such) the Court believes it has satisfactorily resolved this matter." 00:48:54 : (def x '(x x)) 00:48:55 -> x 00:49:19 : (map x '(x x x)) 00:49:20 ! AttributeError: 'Pair' object has no attribute 'bind' 00:49:27 : x 00:49:28 -> ('x) 00:52:05 -!- Wamanuz3 has joined. 00:54:07 pikhq: Best ever. 00:54:15 -!- Wamanuz2 has quit (Read error: Operation timed out). 00:57:08 Gregor: Oh sweet, to do a copying GC it looks like I have to modify running code. 00:57:16 'cuz it has pointers 'n shit. 00:57:24 I AM SO FAIL 00:59:15 mmmm pointers 00:59:57 wlib's option to create a GNU-style .a library: wlib -fag 01:00:11 X-D 01:00:42 Hi elliott. 01:00:48 I see that you're making excellent progress. 01:00:53 Carry on the excellent work. 01:00:55 On wh- oh yes, that thing. 01:01:08 Totally haven't been distracted, yup. 01:01:27 I trust that you've bought the server and anything. 01:01:33 I trust you so far that I'm not even going to ask anything about it. 01:01:48 How convenient. I will continue lazily evaluating the results of such actions. Sorry, what? 01:02:07 In fact, I'm not even going to speak. I trust that you will be able to answer all my questions anyway. 01:02:08 Let's be fair, ais didn't even respond when I told him about it. The kind of emotional distresss I'm in is a force to be reckoned with. 01:06:40 yeah we get it, you're a famous bisexual 01:09:59 you know why oklopol talks so much about famous bisexuals 01:10:04 it's because he's famous biphobic 01:10:08 but really 01:10:10 he's just in the closet 01:10:12 and is afraid 01:10:14 we'd judge him 01:10:15 if we knew 01:10:16 that he 01:10:17 oklopol 01:10:19 was a famous bisexual. 01:12:20 man, interning things is such a drag. 01:12:32 case T_INTEGER: return (*(obj (*)(obj))f)(a); 01:12:35 this is pretty much the best line 01:14:48 Gregor: BTW the autoupdate feature of tup was improved after I pointed out its deficiencies and OH MY GOD IT IS SO AWESOME 01:15:02 I keep thinking I've not saved my file because I didn't see the compile happen, but it actually just happened instantly. 01:16:44 Ken Ham and Eliezer Yudkowski agree on something! 01:17:51 IT'S A FUCKING Y 01:21:10 Sgeo: A Y 01:21:20 ooh 01:21:58 * Sgeo apologizes to Yudkowsky 01:23:11 Too late, your soul is already doomed. 01:23:48 Creating Friendly AI 2 will include the sentence "Of course, a Friendly AI must kill Seth Gold, but how to accomplish this is not clear; I, myself, prefer knives." 01:40:44 * Sgeo facepalms Armwards 01:41:20 I think we both need palms in our faces 01:42:53 What. 01:43:27 One of his statements about why my stupid idea is stupid is itself rather stupid. 01:44:17 Gregor: What the pfargtle is wlib? 01:44:34 pikhq: Open Watcom's librarian :P 01:44:53 Sgeo: Who the fuck is Armwands? 01:45:07 Sweet, I have a Zepto interpreter that can't actually do anything. 01:45:24 I should... write a parser? Make the allocator not a steaming heap of shit? 01:45:24 elliott, Armwards. As in, in Arm's direction 01:45:29 Goodness, Watcom is still developed. 01:45:34 Sgeo: Who's statement? 01:45:43 Arm's 01:45:51 Who? 01:45:58 pikhq: It might even compile Fythe X-D 01:45:59 * Sgeo hits elliott with a first base 01:46:09 Sgeo: One, I just don't feel that way about you. Two, what? 01:46:19 Gregor: Behold my genius allocator: http://sprunge.us/FOKK 01:46:24 An appropriate paste ID. 01:46:36 elliott, I thought you were doing a Who's On First thing at me 01:46:50 Sgeo: Who is Arm. 01:47:06 In #picolisp 01:47:13 What was your idea and what did he say. 01:47:57 About Smalltalk-like images. One of my justifications is what if I want to turn off the computer while I'm working on something. His response: Hibernate works well 01:48:10 Well, that was one of his responses. The other responses were more sensible. 01:48:17 Your justification is insanely stupid in itself. 01:48:27 elliott, didn't I say that already? 01:48:35 Nope. You said your idea was stupid. 01:51:12 Gregor is not admiring my genius allocator. 01:52:28 hmm 01:52:36 foo bar[] = {x}; 01:52:43 does this initialise to {x,0,0,...} or {x,x,x,...}? 01:52:44 I think the former 01:53:15 (at global scope) 01:56:58 -!- BeholdMyGlory has quit (Remote host closed the connection). 01:57:14 cyborg_ar, I assume you're joking? If not, how is that possible? 01:57:15 what did he say 01:57:30 About just dumping the heap to a file 01:57:37 what did he actually say 01:57:47 Sgeo: you could just dump the heap into a file 01:57:56 Of course that's possible. 01:58:05 I meant possible in pure Picolisp 01:58:07 >.> 02:01:09 elliott your allocator is confusing. (this is because of the casts.) 02:01:20 monqy: typedef struct pair *obj; 02:01:20 struct pair { obj car; obj cdr; }; 02:01:30 monqy: I just cast it because I don't want to increment two objs every time :) 02:01:33 that is, the size of 02:02:12 monqy: anyway what you mean, is: 02:02:18 monqy: "i'm not Zepto enough to understand your allocator" 02:02:21 the answer is: more zepto. 02:02:28 obj read() { 02:02:28 return readtable[getchar()](); 02:02:28 } 02:02:29 I'm not zepto enough to understand your allocator :( 02:02:30 best fucking reader ever 02:02:48 monqy: i am sorry, but i cannot help you with such personal deficiencies. 02:02:55 why not use zepto, all zepto code is easy to read. 02:03:12 my reader should probably take a port or something 02:03:14 so it isn't fucking stupid 02:05:31 Picolisplove 02:06:09 obj read_quote() { 02:06:09 return cons(s_quote, read()); 02:06:09 } 02:06:11 okay well that was easy. 02:06:15 Sgeo: zepto is so fucking better 02:06:31 How so? 02:06:45 because i am making zepto because picolisp isn't fucking chill enough 02:07:24 dynamic or lexical? 02:08:35 dynamic because it's easier to implement with my awesome teqniqes 02:10:01 i'm a fucking magician 02:10:04 -!- pikhq has quit (Quit: Lost terminal). 02:10:15 at the keyboard 02:10:17 a fucking magician 02:11:42 nooooo 02:11:43 its broken 02:11:48 why did you break it monqy 02:12:15 what did I break 02:12:35 oh 02:12:37 i see how it is 02:12:38 I SEE 02:12:39 HOW IT IS 02:12:40 IT'S 02:12:40 NOT 02:12:42 FUCKING 02:12:42 ALIGNED 02:12:51 hey Gregor how do you align pools again... without specifying an exact address 02:13:15 elliott: Allocate double. Free beginning and end. 02:13:26 literally a double? 02:13:33 No, double the size I need X_X 02:13:35 wait. that makes no sense. 02:13:36 i mean 02:13:37 what is aid 02:13:40 though what you said makes no sense either 02:13:44 why free the end too 02:14:11 Depends on what you need the alignment for; for my uses, that was unusable space. For yours it might not be, in which case don't. 02:14:21 I SEE 02:14:39 I'm going to restart X and just use posix_memalign or whatever instead :P 02:15:15 -!- elliott has quit (Remote host closed the connection). 02:15:16 -!- zeptobot has quit (Read error: Connection reset by peer). 02:16:16 -!- elliott has joined. 02:16:24 -NickServ- 1 failed login since last login. 02:16:24 -NickServ- Last failed attempt from: Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 on Apr 22 21:45:25 2011. 02:16:28 Thanks for testing that fake password, bro. 02:16:33 -!- poiuy_qwert has joined. 02:17:49 why is this broken 02:19:42 http://ff.connextra.com/resources/PaddyPower/PokerCompetitorCampaign20110420/728x90.gif ;; This is the most ridiculous ad ever. 02:20:05 my ad blocker is blocking it 02:20:27 that is the most ridiculous ad 02:20:51 you know why i don't use an ad blocker? 02:20:56 'cuz i wouldn't get to see ads like that. 02:22:56 wtf is up with my readtable... 02:23:20 too zepto 02:24:04 no 02:24:06 INSUFFICIENTLY zepto 02:24:32 oh 02:24:34 my allocator is broken 02:24:34 :D 02:24:39 because i didn't use memalign 02:24:39 right 02:24:40 i remember now 02:24:59 ugh. i don't want to use posix_memalign. 02:25:22 hey Gregor, if I just pass mmap a random bullshit address with the bits I want off, will it satisfy it? 02:25:37 elliott: I doubt it. 02:25:45 why does it even take an address parameter 02:25:47 apart from to crus hdreams 02:26:55 Gregor really likes crushing dreams. he is so not Zepto. 02:27:29 elliott: do you know if its possible to dualboot a mac where the windows is installed on an external drive? 02:27:41 augur: If the Gods like you, yes. 02:27:42 So no. 02:27:50 :( 02:28:49 "I swear before God this holy oath, that I shall give absolute 02:28:49 confidence to the Fuehrer of the German Reich and people." 02:28:49 [Heinrich Himmler] 02:28:53 I wonder why that's in fortune's DB 02:28:56 Maybe some nazi got commit rights 02:31:31 Gregor: o 02:31:34 Gregor: i just realised something cool 02:31:59 i iterate over WAY TOO MANY values like th... wait, why 02:33:00 huh okay 02:33:04 i think it is because... this is stupid? 02:33:19 wait what 02:33:20 the fuck 02:33:26 #define TAGOF(x) (((intptr_t) (x)) | 7) 02:33:29 behold ladies and mentlegen 02:33:30 my idiocy 02:33:44 That's one intense tag. 02:34:18 In that it's the entire pointer plus 0x111, that is :P 02:35:23 Gregor: Yes :P 02:35:33 So many tags, so few objects to tag them with. 02:35:50 Gregor: Erm 02:35:51 You fail so hard 02:35:53 One, 0b, not 0x 02:35:57 Two, not "plus" :P 02:36:31 One, why don't you go fuck a fruit basket. 02:36:32 -!- lament has quit (Ping timeout: 260 seconds). 02:36:34 And two, you're a slut. 02:36:40 True. 02:36:43 Both very good points. 02:36:52 Hey, when's Easter. Oh right, it's on Sunday. 02:36:57 Thank you for your help. 02:37:45 wait. wtf. 02:38:10 (gdb) print (poolptr+1) & 7 02:38:11 Argument to arithmetic operation not a number or boolean. 02:38:11 wow. 02:38:14 how do i make gdb not retarded. 02:38:45 which one isn't a number or boolean 02:38:50 poolptr is a pointer 02:39:07 can you make it a number 02:39:38 hmm i see a pattern here 02:39:39 oh right 02:39:42 because obj is eight 02:39:42 er 02:39:43 is it 02:39:43 wtf 02:39:44 this makes no sense 02:39:46 :DD 02:39:51 wait no it makes perfect sense 02:39:53 monqy: with a cast it seems 02:39:55 ok more zepto time 02:40:06 ok i 02:40:07 what 02:40:09 how is that even 02:40:14 casts, "the zepto way" 02:40:15 85 if (interned == NIL) ptr = interned = cons(NIL, NIL); 02:40:15 (gdb) 02:40:15 86 while (DEREF(ptr).cdr != NIL) { 02:40:15 (gdb) 02:40:15 Program received signal SIGSEGV, Segmentation fault. 02:40:22 what 02:40:25 what is that even 02:40:32 oh wow 02:40:34 Program terminated with signal SIGSEGV, Segmentation fault. 02:40:34 The program no longer exists. 02:40:35 gdb 02:40:36 you are so zen 02:40:39 "the program no longer exists" 02:40:52 zeptoed 02:43:14 gdb can go backwards nowadays 02:43:24 can it go backwards after the program segfaulted? 02:43:24 :D 02:43:29 will it make the program exist again 02:43:31 i guess not, since it no longer exists 02:43:33 ha 02:43:37 monqy, you are so deep. for a monkey. 02:48:25 -!- TeruFSX2 has joined. 02:49:22 -!- augur has quit (Ping timeout: 264 seconds). 02:49:48 zepto.c:159: warning: implicit declaration of function ‘strdup’ 02:49:50 what. 02:50:04 is strdup not c99. 02:50:21 wow. 02:50:22 it's not. 02:50:25 Gregor: can you believe that. 02:51:07 Apparently it's POSIX. 02:51:07 Odd. 02:51:36 ./whereami.c: *dir = strdup(full); 02:51:36 ./whereami.c: *fil = strdup(*fil); 02:51:37 ./whereami.c: char *argvzd = strdup(argvz); 02:51:37 ./whereami.c: if (!argvzd) { perror("strdup"); exit(1); } 02:51:37 ./whereami.c: path = strdup(path); 02:51:47 FYTHE IS NOT PORTABLE :::000OooOOooOOO 02:51:49 that's a smiley btw 02:51:56 is it smiling 02:51:59 no 02:52:01 it's shocking 02:52:04 Fythe is not portable in various ways, that's a pretty minor one :P 02:52:13 Although I'm surprised that -ansi -pedantic -Wall -Werror doesn't catch it ... 02:52:20 it _should_ 02:52:21 Nowait, no I'm not. 02:52:25 zepto.c:159: warning: implicit declaration of function ‘strdup’ 02:52:30 [ 0/1 ] gcc -g -std=c99 -Wall -Wextra zepto.c -o zepto 02:52:36 do you define _POSIX_WHATEVER? 02:52:53 No, but I think that GCC always defines _POSIX_C_SOURCE on POSIX platforms. 02:53:02 It's the other ones that need defining, like _BSD_SOURCE and _GNU_SOURCE 02:53:39 Uh, no. 02:53:54 Aha :P 02:53:56 I know this because I had to define _POSIX_C_SOURCE to get the right functions with IIRC musl. 02:54:01 whereami defines itself as _BSD_SOURCE X-D 02:54:03 Since it's pedantic about what gets in the global namespace. 02:54:06 Gregor: lawl 02:57:50 Gregor: Fun game to play: 02:57:53 #define _POSIX_C_SOURCE 02:57:57 In file included from /usr/include/stdlib.h:25, 02:57:57 from zepto.c:2: 02:57:57 /usr/include/features.h:218: error: operator '||' has no right operand 02:57:57 /usr/include/features.h:222: error: operator '&&' has no right operand 02:58:03 -!- augur has joined. 02:58:07 _POSIX_C_SOURCE needs a value 02:58:13 It can't just be defined. 02:59:05 I know. 02:59:05 -!- Mathnerd314 has quit (Disconnected by services). 02:59:07 It was a Game. 02:59:07 zepto.c:153: warning: passing argument 1 of ‘posix_memalign’ from incompatible pointer type 02:59:08 /usr/include/stdlib.h:508: note: expected ‘void **’ but argument is of type ‘struct pair ****’ 02:59:12 TOO MANY STARS 02:59:35 -!- TeruFSX2 has quit (Ping timeout: 276 seconds). 02:59:36 -!- Mathnerd314_ has joined. 03:00:18 gdb really needs a "step BUT NOT INTO LIBC" command. 03:00:21 -!- pikhq has joined. 03:00:25 THEE 03:01:09 -!- Mathnerd314_ has changed nick to Mathnerd314. 03:01:17 what if libc needs debugging 03:01:19 pikhq: whut 03:01:23 monqy: then don't use that command 03:03:53 elliott: THOU HATH 03:03:58 pikhq: THOU HATH WHAT 03:04:05 DU HAST 03:04:19 DU CRABS 03:10:30 Minecraft is soon to hit 2 million sales... 03:11:26 http://en.wikipedia.org/wiki/List_of_best-selling_PC_video_games It's actually earned a slot on this list. 03:11:51 can we move this to -minecraft because 03:11:57 i need to make a sarcastic notch comment 03:16:59 TIL Kinder Surprise are illegal in the USA. 03:17:45 me too 03:17:52 we all learned something today 03:17:57 that's the magic of christmas 03:19:12 Huh. I've had Kinder Surprise in the US. 03:19:34 Yay, illegal import. 03:19:52 pikhq: you're ruining america. 03:20:23 wow how the fuck do i allocate so much 03:20:24 that is some shull bit 03:20:54 while(1)malloc(1); 03:21:01 while (*s) { 03:21:01 DEREF(ptr).cdr = cons(mkint(*s), NIL); 03:21:01 ptr = DEREF(ptr).cdr; 03:21:01 } 03:21:03 note stupidity 03:21:08 /人◕ ‿‿ ◕人\ 03:21:11 Hi guys. 03:21:22 Actually, let's make that for(;;malloc(1);) 03:21:22 hello 03:21:32 pikhq: too many parts, bro 03:21:35 you mean for(;malloc(one);) 03:21:45 Yes, I do. 03:21:46 XD 03:22:03 Lymia: Hmm. How very CJK of you. 03:24:27 Crappy Junk Kastrator 03:24:36 Lymia: you're really bad at... kastrating junk. 03:25:14 elliott: "Chinese/Japanese/Korean", as you well know. 03:25:24 MAYBE IF YOU'RE UNCREATIVE. 03:26:02 pikhq: four twenty five am is sleep for losers? 03:26:16 i am sort of yawning but i know that caffeine prevents yawning. 03:29:55 にゃ 03:30:44 My junk remains unkastrated. 03:31:01 That sounds..... weird. 03:32:15 -!- Mathnerd314 has quit (Disconnected by services). 03:32:40 -!- Mathnerd314_ has joined. 03:34:00 -!- Mathnerd314_ has changed nick to Mathnerd314. 03:34:30 Lymia: What. 03:36:16 it would be far more normal if your junk were kastrated 03:36:45 yes 03:36:48 that is what most people are 03:42:21 "We Justices must confront what is indeed an awesome responsibility. It has been rendered the solemn duty of the Supreme Court of the United States ... to decide What Is Golf. I am sure that the Framers of the Constitution ... fully expected that sooner or later the paths of golf and government, the law and the links, would once again cross, and that the judges of this august Court would some day have to wrestle with that age-old jurisprudential 03:42:21 question, for which their years of study in the law have so well prepared them: Is someone riding around a golf course from shot to shot really a golfer? Either out of humility or out of self-respect (one or the other) the Court should decline to answer this incredibly difficult and incredibly silly question." 03:43:19 -!- augur has quit (Read error: Connection reset by peer). 03:44:25 oh wait 03:44:29 pikhq clearly read this article 03:44:31 that cheater 03:49:51 Lymia: 成程。 03:52:20 -!- augur has joined. 03:55:01 Lymiaさんは日本語で話せますか。 03:57:27 -!- elliott has quit (Ping timeout: 260 seconds). 04:05:18 -!- sebbu has quit (Read error: Connection reset by peer). 04:05:46 -!- sebbu has joined. 04:05:47 -!- sebbu has quit (Changing host). 04:05:47 -!- sebbu has joined. 04:23:00 -!- lament has joined. 04:30:16 ... 04:30:55 The US's airport security tries hard to get you to not get any explosives on the plane, right? 04:31:07 *But*, alcoholic beverages are served beyond that. 04:31:26 I wonder if Everclear is available at an airport shop. 04:32:21 (here is how you make Everclear into an explosive: apply heat.) 05:00:11 -!- copumpkin has joined. 05:00:11 -!- copumpkin has quit (Changing host). 05:00:11 -!- copumpkin has joined. 05:00:28 Yo. 05:02:57 -!- p_q has joined. 05:05:03 -!- poiuy_qwert has quit (Ping timeout: 240 seconds). 05:10:17 -!- Mathnerd314 has quit (Read error: Connection reset by peer). 05:31:12 Hmm... First Zombie Jesus Day as an atheist coming up. 05:31:20 what? 05:31:45 lament: Easter is Zombie Jesus Day. I became an atheist in January. 05:31:56 Also, Easter is this Sunday this year. 05:32:00 Any further questions? 05:32:42 -!- copumpkin has quit (Ping timeout: 260 seconds). 05:32:53 -!- copumpkin has joined. 05:32:53 -!- copumpkin has quit (Changing host). 05:32:53 -!- copumpkin has joined. 05:34:04 how do you become an atheist? 05:34:29 By ceasing to believe in the existence of deities, of course. 05:37:21 why did you? 05:38:20 Because I realised that there was absolutely, positively no good reason to believe in the existence of a deity *in general*, and many good reasons to not believe in most all of the specific claims of deity. 05:39:11 Namely, any omnipotent deity could not possibly be benevolent. 05:40:09 And yet, most deity claims are benevolent and omnipotent. 05:40:16 -!- poiuy_qwert has joined. 05:41:58 -!- p_q has quit (Ping timeout: 250 seconds). 05:43:29 Further inquiry? 05:47:22 Oh, yes, it also helps that essentially all deity claims have some evidence of being fabrications. 05:48:22 Particularly the claim that I previously held to be true, namely the god of the Abrahamic faiths, as interpreted in Christianity. 05:58:44 I think I gradually moved from theism to materialism 05:58:46 Very gradually 06:01:31 I just realized what had to be the most important part 06:01:40 Michael Shermer's "Why People Believe Weird Things" 06:01:54 A chapter debunked near-death experiences 06:02:23 I stopped believing in an afterlife long before I stopped believing in God or souls (it was in that order) 06:02:28 (I think) 06:05:14 -!- p_q has joined. 06:07:58 -!- poiuy_qwert has quit (Ping timeout: 250 seconds). 06:17:04 -!- p_q has quit (Ping timeout: 250 seconds). 06:17:21 -!- poiuy_qwert has joined. 06:25:56 -!- p_q has joined. 06:27:03 -!- poiuy_qwert has quit (Ping timeout: 240 seconds). 06:40:26 -!- oerjan has joined. 06:42:33 -!- Wamanuz4 has joined. 06:43:04 "Phil Sophie" -- what Google Translate thinks the German word "Philsophie" is in English 06:43:44 i'd imagine the fact it's spelled "Philosophie" might be relevant 06:44:07 * pikhq continues to be amazed at the number of people driving pickup trucks in the US 06:44:26 I have no fucking clue why you'd want to spend $100+ on a tank of gas. 06:45:21 -!- Wamanuz3 has quit (Ping timeout: 240 seconds). 06:49:04 And do so once or twice a week. 06:50:57 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 07:00:10 -!- poiuy_qwert has joined. 07:00:10 -!- poiuy_qwert has quit (Changing host). 07:00:10 -!- poiuy_qwert has joined. 07:00:50 -!- p_q has quit (Ping timeout: 250 seconds). 07:06:10 -!- p_q has joined. 07:07:46 -!- poiuy_qwert has quit (Ping timeout: 250 seconds). 07:09:02 -!- augur has changed nick to planetary. 07:10:54 -!- planetary has changed nick to augur. 07:13:05 Cyanide and Happiness is losing its touch, imo 07:16:00 -!- p_q has quit (Ping timeout: 250 seconds). 07:24:35 -!- poiuy_qwert has joined. 07:29:50 -!- p_q has joined. 07:31:03 -!- poiuy_qwert has quit (Ping timeout: 240 seconds). 07:34:18 -!- poiuy_qwert has joined. 07:37:14 -!- p_q has quit (Ping timeout: 250 seconds). 07:39:45 -!- p_q has joined. 07:41:08 -!- poiuy_qwert has quit (Ping timeout: 250 seconds). 07:45:29 Double-o.O 07:45:49 Marsupials actually form an eggshell and then reabsorb it. 07:47:13 way to be decisive, marsupials 07:49:46 -!- asiekierka has joined. 07:50:12 ontogeny recapitulates phylogeny 07:50:40 -!- p_q has quit (Ping timeout: 250 seconds). 07:51:17 oncology recaptures phytoplankton 07:54:39 -!- p_q has joined. 07:54:43 Huh. The horse (i.e. Equus ferus) has lived in North America from ~1.0-1.5 million years ago to 12,000 years ago, and from 1493 to present. 07:55:18 Yes, really. Columbus bringing horses over was a *reintroduction* to the continent. 07:55:30 * oerjan knew that 07:56:32 did you know that until just a few million years ago, south america was dominated by marsupials? 07:56:38 Yes, I did. 07:57:01 darn sloths 07:57:11 The formation of the Panama Isthmus led to placentals coming over and out-competing most of them. 07:57:32 Antarctica *also* used to have marsupials. 07:57:39 -!- poiuy_qwert has joined. 07:57:52 (South America, Antarctica, and Australia were once a single continent, you see.) 07:58:23 reunite gondwanaland! 07:59:20 -!- p_q has quit (Ping timeout: 250 seconds). 08:00:18 The Panama Isthmus also led to a single North American marsupial. 08:00:44 http://en.wikipedia.org/wiki/Virginia_Opossum 08:00:58 http://en.wikipedia.org/wiki/Great_American_Interchange 08:01:32 Well, yes, that is what I'm referring to. 08:01:35 :P 08:01:53 that link was mostly for others 08:01:58 who might be listening 08:02:36 -!- p_q has joined. 08:03:14 -!- poiuy_qwert has quit (Ping timeout: 250 seconds). 08:04:08 -!- Phantom_Hoover has joined. 08:05:25 -!- poiuy_qwert has joined. 08:06:39 -!- p_q has quit (Ping timeout: 240 seconds). 08:10:05 -!- p_q has joined. 08:10:10 -!- p_q has quit (Changing host). 08:10:10 -!- p_q has joined. 08:11:28 -!- poiuy_qwert has quit (Ping timeout: 250 seconds). 08:14:59 -!- poiuy_qwert has joined. 08:15:03 -!- poiuy_qwert has quit (Changing host). 08:15:03 -!- poiuy_qwert has joined. 08:17:32 -!- p_q has quit (Ping timeout: 250 seconds). 08:19:13 -!- pikhq has quit (Quit: Lost terminal). 08:28:53 oerjan, hi 08:28:57 glad påsk 08:28:59 g'day 08:29:05 god påske 08:29:25 oerjan, heh. Strange how languages varies 08:29:32 oerjan, do you use "glad jul" then? 08:29:36 (we use "god jul" 08:29:37 ) 08:29:46 (and "trevlig sommar") 08:29:59 nei, god jul or god sommer 08:30:04 ah 08:30:06 *og 08:30:08 -!- augur has quit (Remote host closed the connection). 08:31:14 "glade jul" is a popular christmas carol, though 08:31:29 -!- augur has joined. 08:31:33 heh 08:31:57 aka. silent night :D 08:32:12 (stille nacht, stille natt) 08:32:16 oerjan, that title... seems so wrong then 08:32:23 oerjan, "stilla natt" in Swedish 08:32:31 oh *stilla natt then 08:32:45 i was trying to remember the swedish title there 08:33:07 oerjan, merriness is not something I associate with that carol 08:33:23 yeah the norwegian lyrics are a bit different from the international standard ;) 08:33:23 so "glade jul" seems a bit strange to me 08:33:32 ah 08:33:33 i think danish uses it too 08:33:58 oerjan: http://news.ycombinator.com/item?id=2311955 08:34:24 surprise surprise -- he's actually... Oleg. 08:34:32 it's Oleg all the way down. 08:34:38 Oh god why is cheater not on ignore 08:34:59 or in particular, we norwegians based it on the danish one 08:35:13 oerjan, ah. Those crazy danes 08:39:25 oerjan, also I do fear that iwc is nearing its completion. Now that the fantasy theme is reaching it's goal 08:39:45 I mean, them never getting there has been pretty much an invariant. 08:40:52 Vorpal, it's still a way off the Calvin and Hobbes point. 08:41:16 Phantom_Hoover, oh, what is that point? 08:41:25 I thought it was ~3100? 08:41:55 i think i saw 21 september as the estimated C&H date 08:42:26 -!- lament has quit (Read error: Operation timed out). 08:42:39 Vorpal: there is still plenty of possibility for all their progress to be obliterated at the last moment 08:42:55 well yeah 08:42:56 that would be traditional, even 08:43:25 someone fixing a timeline somewhere could be devastating :) 08:44:13 after all we already saw them briefly meeting ardaxar during the universe destruction arch 08:44:22 *arc 08:44:56 otoh resetting it completely again would be sort of boring 08:49:26 hm 08:50:20 oerjan, and I suspect that three Serons running around would be too confusing 08:50:42 *Serron, you fool! 08:50:47 oh right 08:51:04 oerjan, hmm, have you even got any idea what is going on with the timestream. 08:51:14 Things move slowly enough that I don't connect them. 08:52:24 oerjan, hm DMM managing to kill himself would make a rather obvious ending to iwc. 08:52:47 well he already did that 08:52:53 it just got undone 08:52:57 oerjan, wait, didn't he manage to escape iirc? 08:53:32 Vorpal, he killed himself, killed-DMM was told to kill himself, he told to-be-killed-DMM to run, and the latter is now on the run from death. 08:53:45 hm 08:53:55 right 08:54:08 http://www.irregularwebcomic.net/1800.html 08:54:16 Phantom_Hoover, and who was it that is in the time machine then? 08:54:25 which DMM I mean 08:54:32 Vorpal, the one on the run. 08:54:54 oh 08:55:13 IT'S ALL SO SIMPLE I DON'T SEE WHY YOU ARE CONFUSED 08:55:30 i guess you're trying to apply _logic_ to it or something similarly meaningless 08:55:41 Phantom_Hoover, and was that the same DMM as the one that recently were talking to a death about issues with the time stream? 08:55:53 He's applying Vorplogic which is kind of like logic but doesn't work as well. 08:56:06 i don't think there has been more than one DMM since he "rescued" himself 08:56:12 ah okay 08:56:27 as Phantom_Hoover said, it is rather confusing 08:56:41 i think there are three, possibly four versions of the mythbusters though 08:56:50 I lost count 08:57:00 I was talking about the fact that the Mythbusters blew up the timestream ages ago and it still hasn't manifested itself. 08:57:20 (young, old on mars, grandfathers, and possibly the usual ones who inexplicably keep making the MB tv show) 08:57:39 oh wait the ones on mars went to the reichstag 08:58:06 Phantom_Hoover, could be because it happened in another meta time? This however I think requires time to be three dimensional, though I could be wrong about that. 08:58:21 the grandfathers are dead but they were up to some experiment on the IFPOD 08:58:39 oerjan, err, what was IFPOD now again? 08:58:51 infinite featureless plane of death 08:58:56 oh right 08:58:59 -!- MigoMipo has joined. 08:59:10 oerjan, when did they do that experiment, I don't remember that 08:59:37 they were collecting a lot of dynamite 08:59:54 ah 09:00:51 hm i think there are only three mythbuster variations 09:01:41 oh wait it's young mythbusters who went through mars... 09:01:55 * oerjan is more confused than he thought 09:03:28 oerjan, I thought it was the old ones, not the grandfathers who did some experiment on IFPOD? 09:03:43 oh the old mythbusters didn't go anywhere, they just started the cat on its time travel journey 09:04:12 which confusingly sent it to the young ones :D 09:04:35 oerjan, so who are these: http://www.irregularwebcomic.net/2804.html 09:04:41 fortunately iwc has per-theme navigation 09:05:37 hm indeed that looks like the ordinary old mythbusters. maybe the explosion revived them. 09:05:38 oerjan, yes I used it to find that one 09:06:01 oerjan, in fact I'm unable to find grandfathers on IFPOD anywhere 09:09:36 hm they got to the ifpod by ripping up spacetime... 09:10:26 oerjan, you mean with explosives? Yeah I thought that were the old ones 09:12:42 http://www.irregularwebcomic.net/2641.html 09:12:53 i think that was the last seen of the grandfathers 09:17:49 yeah 09:17:52 oerjan, no experiment there 09:18:23 no, i was thinking about the tnt + frog event 09:18:28 right 09:23:00 -!- tim000 has quit (Remote host closed the connection). 09:23:43 -!- tim000 has joined. 09:57:43 -!- tim000 has quit (Remote host closed the connection). 09:58:26 -!- tim000 has joined. 09:58:53 -!- tim000 has quit (Remote host closed the connection). 10:02:51 -!- KingOfKarlsruhe has joined. 10:48:57 gah, coqc is so slow 10:52:31 -!- oerjan has quit (Quit: leaving). 10:55:27 -!- monqy has quit (Quit: hello). 11:36:43 -!- TeruFSX2 has joined. 11:41:03 -!- FireFly has joined. 11:45:46 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.86.1 [Firefox 3.6.16/20110319135224]). 11:47:03 -!- TeruFSX2 has quit (Ping timeout: 252 seconds). 11:51:32 -!- TeruFSX2 has joined. 11:53:29 -!- MigoMipo has quit (Read error: Connection reset by peer). 11:54:43 Vorpal, what are you doing with Coq? 11:56:27 Phantom_Hoover, compiling Why 2.29 11:56:59 (it has finished now) 12:16:35 Is it safe to expect OpenGL 2.1 on your average modern graphics card? 12:17:03 IDIOT OF THE WEEK: "This question occured to me while watching an episode of Star Trek: Voyager. How did they ever find out that you can't breathe in space? How did they find out what happens?" 12:17:07 Average meaning in computers general, not just among higher end computers. 12:17:27 Phantom_Hoover, that has to be a troll, right? 12:17:34 I hope so. 12:17:57 (I'm trying to find the thread that started the Salvation War series as part of a complex contingency plan.) 12:18:07 (Any help is much appreciated.) 12:21:50 Ah, found it. 12:25:02 Lymia, define modern 12:25:12 3 or 4 years old at most. 12:25:22 Lymia, my desktop is older than that :P 12:25:36 I think it is 5 years old 12:25:47 OpenGL started existing in 2006. 12:25:51 OpenGL 2.1* 12:26:17 I think the GPU is from 2007, the rest of the system is from 2006 12:26:57 OpenGL renderer string: GeForce 7600 GS/AGP/SSE2 12:26:57 OpenGL version string: 2.1.2 NVIDIA 270.30 12:27:16 my laptop has: 12:27:18 OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset GEM 20091221 2009Q4 12:27:18 OpenGL version string: 2.1 Mesa 7.7.1 12:27:41 GL_EXT_framebuffer_object exists? 12:27:47 Lymia, in glxinfo? 12:27:58 The extension. 12:28:06 well where would I check for it? 12:28:10 in glxinfo or? 12:28:56 hm it seems to be listed there on both systems. The laptop is just ~2 years old. 12:29:13 I don't know. 12:29:20 mhm 12:29:42 Lymia, I suggest you fall back on plain VGA by BIOS calls if everything else fails ;) 12:29:51 D= 12:30:48 i have figured out the most amazing way to clean up my home. 12:31:31 Lymia, but, what if that fails too? Hm... Okay you have to generate output for a dot matrix printer, in such a way that it can be assembled into a flip book! 12:31:39 Okay,* 12:34:49 http://blog.computationalcomplexity.org/2011/04/what-did-banachs-wife-think-of-banach.html 12:34:57 Blog author: you need a new wife. 12:35:40 She has a Masters in CS and is one of those people who fail at understanding B-T. 12:36:05 [[Personally, I am highly skeptical of there being any real world models of the BT result.]] 12:36:07 WELL NAW 12:42:59 -!- asiekierka has quit (Remote host closed the connection). 12:46:10 -!- BeholdMyGlory has joined. 13:12:56 If elliott doesn't turn up soon I am just going to press ahead on Homestuck. 13:19:46 Phantom_Hoover, hm? Why not do that anyway? 13:22:13 Because then he'll have to catch up and it'll all be terribly messy. 13:27:42 -!- Tritonio has joined. 13:30:30 -!- ais523 has joined. 13:32:16 -!- asiekierka has joined. 13:42:21 -!- BeholdMyGlory has quit (Ping timeout: 240 seconds). 13:53:58 -!- Fuco has joined. 13:54:21 Does anyone have a link on some tutorial/documentation on how to work with befunge extensions in rcfunge? 13:54:35 how do I load them and use and so on 13:54:43 I'd like to try some fun with sockets :P 13:55:18 -!- iconmaster has joined. 13:55:54 fizzie and Deewiant are AFAIK the only people here right now who know about that stuff. 14:09:22 -!- MigoMipo has joined. 14:20:03 -!- quintopia has quit (Ping timeout: 260 seconds). 14:28:18 -!- quintopia has joined. 14:28:18 -!- quintopia has quit (Changing host). 14:28:18 -!- quintopia has joined. 14:50:04 anyone know a tool that given a set of address ranges + length that may be overlapping can generate one of those typical memory layout images that you find in manuals for CPUs. 14:50:18 I mean, I could do it manually, but an automated tool would be nicer 14:51:03 hack a bash script >_< 14:52:13 I wouldn't do it in bash. Math there is somewhat annoying. I'd probably do it in erlang or something 14:52:49 basically I want to visualize this (from a linker script): http://sprunge.us/BHXe 15:20:08 -!- MigoMipo has quit (Read error: Connection reset by peer). 15:27:58 -!- elliott has joined. 15:29:20 -!- oerjan has joined. 15:32:04 -!- copumpkin has joined. 15:32:11 -!- TeruFSX2 has quit (Ping timeout: 250 seconds). 15:52:51 -!- elliott has quit (Remote host closed the connection). 15:53:38 -!- elliott has joined. 15:57:02 elliott, hey, want to know some of the worst way to do dynamic linking I found ever seen? 15:57:07 Sure 15:57:08 elliott: You have 1 new message. '/msg lambdabot @messages' to read it. 15:57:11 Ugh 15:57:46 elliott, link twice statically to different base addresses. Diff the resulting files. Use this to build a relocation table 15:58:02 Sorry, you misspelled the most awesome. 15:58:07 elliott, this is using COFF, not PE btw 15:58:10 or ELF 15:58:26 oh and it is for an embedded 16 bit system 15:58:47 elliott, maybe. Can we agree on "most crazy"? 15:59:01 Possibly 16:00:27 I think I recall seeing that sort of strategy somewhere. 16:00:35 Which thing was this? 16:00:47 elliott, oh and another fun thing here, to build user space programs so they can find kernel functions (no system "real" calls, no MMU either, no rings...) a program parses the .map file for the kernel and generates a linker script for the kernel space 16:00:52 fizzie, this is for an RCX OS 16:01:12 err, for the user space 16:01:18 Hmm. Well, I haven't played with that, but maybe I've just been reading. 16:01:32 fizzie, or it could be semi-common for weird targets 16:06:06 oh and this diffing is done on .srec files 16:06:15 which is a rather weird format in itself I think 16:32:39 -!- lament has joined. 16:36:39 elliott, oh and the way the reallocation table is used is quite interesting too. When you download a program to the device, the PC program tells the device the size of the program it wants to download, and the device replies with an address it wants it relocated to. The PC then relocates it and sends the data. 16:39:22 "After practicing all year, North Korea shows the world how Earth Day is done." 16:39:42 oerjan, wut 16:39:48 http://i.imgur.com/PKNNj.jpg 16:39:49 the Games, presumably 16:39:52 or whatever they are called 16:39:53 (from reddit) 16:49:45 -!- Tritonio has quit (Quit: Leaving). 16:55:35 -!- lament has quit (Ping timeout: 248 seconds). 16:59:17 -!- poiuy_qwert has quit (Ping timeout: 250 seconds). 17:03:15 -!- poiuy_qwert has joined. 17:03:55 DOCTOR WHO IS ON OH GOD 17:04:02 MATT SMITH IS BEING 17:04:05 INSUFFERABLE 17:08:32 elliott, ever tried out Inferno? 17:08:39 Vorpal: No. 17:08:51 hm 17:09:17 the source download is just 52 MB heh 17:09:40 That's a lot of source :P 17:10:28 elliott, that is the whole system. With applications too. And the user space ports to various OS. For linux the source would be a lot larger 17:10:48 Well, Linux sucks. :p 17:10:52 okay, unpacked it is 137 MB 17:11:12 or 97 MB exactly (137 MB was number of disk blocks) 17:13:22 oh, no x86-64. This might get annoying to build 17:14:01 -!- copumpkin has quit (Ping timeout: 250 seconds). 17:14:26 -!- copumpkin has joined. 17:17:01 oh it uses -m32, good 17:18:53 -!- copumpkin has quit (Ping timeout: 252 seconds). 17:19:19 -!- copumpkin has joined. 17:19:53 ais523: Eric Stucky is scary 17:20:14 indeed 17:20:30 right attitude, but not much knowledge of the ruleset 17:20:39 ais523: No, I just mean the using my name all the time :-D 17:20:43 ah 17:23:38 -!- KingOfKarlsruhe has joined. 17:29:25 elliott, for mk, what is the equiv of -j to make? 17:29:39 MKJOBS or something. Look at the man page from Plan 9 from User Space. 17:29:48 Or maybe it doesn't have it. Don't recall. 17:29:59 elliott, eh? I meant for building in parallel 17:30:03 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 17:30:05 ...And? 17:30:13 MKOBJS sound weird for that 17:30:22 Good thing I didn't say MKOBJS. 17:30:39 well okay MKJOBS too 17:30:46 -j stands for jobs. 17:30:48 You realise that, right? 17:30:52 ah 17:31:16 elliott, well yes 17:31:22 elliott, but this would be an env var then? 17:31:28 I don't know check the man page. 17:31:33 and it seems it isn't there 17:31:38 Then it doesn't exist. 17:34:03 okay it built. What now... 17:34:10 Maybe try... booting it. 17:34:19 elliott, I built the hosted build 17:34:26 Then... run it. 17:34:35 elliott, well I'm trying to find the relevant binary 17:34:41 there are many, but none of them seems to be it 17:34:49 $ ls Linux/386/bin/ 17:34:49 0a 0l 1c 2a 2l 5c 5cv 8a 8l asm data2c emu iar inm ka kl ksize limbo mk mkppcimage ms2 qa ql srclist tc vc 17:34:49 0c 1a 1l 2c 5a 5coff 5l 8c acid c2l data2s ftl idea iyacc kc kprof kstrip md5sum mkext mk.save ndate qc sqz styxtest va vl 17:34:59 Well, you know those are the compilers and assemblers and linkers. 17:35:05 right 17:35:09 Pretty sure it'll be something else. 17:35:11 But maybe emu? Nah 17:35:13 . 17:35:13 ah 17:35:18 It will be elsewhere, I think. 17:35:19 Oh wait. 17:35:20 Hmm. 17:35:23 I was thinking limbo, but no. 17:35:25 emu gives me a ; prompt 17:35:39 elliott, limbo gives me a single like usage: ... line 17:35:46 usage: limbo [-CGSacgwe] [-I incdir] [-o outfile] [-{T|t|d} module] [-D debug] file ... 17:35:51 Yeah. 17:35:55 limbo is the Limbo compiler. 17:36:04 Vorpal: Isn't there a readme or something? 17:36:06 that directory looks like Plan 9-ish names 17:36:12 ais523: Limbo is a Plan 9 derivative. 17:36:14 Erm. 17:36:15 elliott, nope. There is INSTALL but it ended where I am now 17:36:15 Inferno is. 17:36:28 Limbo is the language designed for Inferno. 17:36:31 elliott, there is a README.gcode about licence 17:36:33 Vorpal: Read man pages at random. :p 17:36:44 elliott, best method ever 17:37:41 -!- Phantom_Hoover has joined. 17:37:46 Phantom_Hoover RETURNS 17:39:37 elliott, running this now: find . -type f -exec file {} + | grep 'ELF 32-bit LSB executable' | awk -F: '{print $1}' 17:39:58 nope, lets try scripts 17:40:37 I was gonna suggest something similar, but then I didn't bother. 17:40:40 -!- BeholdMyGlory has joined. 17:40:54 elliott: turiski is still trying to prove you're a rule 17:41:09 ais523: Well, I /do/ rule. 17:41:23 hmm, I think a simple counterargument is that nothing has made you into a rule since the last SLR ratification 17:41:56 Does ratifying the SLR ensure that nothing else is a rule, even if it is platonically so? 17:42:47 unless it has sufficient power that it could hide from the SLR somehow 17:43:07 "hide" :D 17:43:13 Well, I /am/ all-powerful. 17:45:09 ooh I think I got... maybe 17:46:13 elliott, emu seems to be the key 17:46:24 I figured out how to run the dis shell 17:46:28 Right. 17:46:43 I want something graphical though 17:47:56 well ldd says Linux/386/bin/emu links against X stuff, and is the only thing that does that 17:47:59 so... 17:48:48 YAY 17:48:51 emu dis/acme 17:49:00 (dis/acme.dis exists) 17:50:12 elliott, hey this thing has dis/lego/rcxsend.dis 17:50:13 hah 17:50:27 Well, I /am/ all-powerful. <-- major successful scam? :D 17:50:46 oerjan: Heck no, I'm just awesome. 17:50:52 ah ok then 17:50:55 The Scam was an abject failure. 17:51:09 might be a good film title... 17:55:45 elliott, heh, it calls acme an IDE 17:55:50 Well, it is. 17:55:58 well okayt 17:56:00 okay* 17:57:39 can't get charon to run 17:57:41 (web browser) 17:57:49 wmlib: no draw context 17:57:53 elliott, any smart idea? 17:57:59 Nope. 17:58:11 bbl food 18:01:07 -!- variable has quit (Read error: Operation timed out). 18:03:08 Hmm. 18:03:13 My readtable should contain closures. 18:03:20 Even though closures are lame. 18:03:24 Maybe I should just use GLOBALS instead. 18:03:29 -!- variable has joined. 18:04:03 OK maybe I should define ports first. 18:04:12 instead of closures, use openings 18:04:21 your mom uses closure openings. 18:04:36 bleh a port would be a pain 18:04:38 ok this sucks 18:04:40 i'll write something else 18:04:44 like the application code 18:04:45 more like 18:04:46 HAPPYlication 18:04:58 or maybe not. maybe that would suck. 18:05:37 -!- Sgeo has quit (Quit: Leaving). 18:06:37 -!- Sgeo has joined. 18:07:46 elliott, C sucks. What did you expect? 18:07:54 i should write it in zepto instead. oh wait. 18:09:22 hah charon works when run from acme 18:09:23 wtf 18:09:42 except not ver 18:09:44 very* 18:10:27 getsubfont: can't open /fonts/lucidasans/../lucm/cyrillic.9: Interrupted system call <--- niiice 18:10:34 (why did it try to open that) 18:11:45 oh god it assumes /usr/ 18:11:49 or wait 18:11:57 It has its own FS. 18:11:58 No? 18:12:18 right 18:12:44 elliott, what is the terminal called 18:12:46 on plan9 18:12:57 Erm. 18:12:58 There is none. 18:13:01 It's done by the window manager. 18:13:04 oh 18:13:06 So... rio. 18:13:11 They're just text windows. 18:13:19 no rio, what about 9win? 18:13:24 Maybe. 18:13:33 9term is what the Plan 9 from User Space port is called. 18:13:47 well 9win opens a white X11 window with the title "Inferno" 18:13:59 9win: cannot bind srv device: unknown device in # filename; 18:14:00 also that 18:14:17 ah and now acme opens inside 18:14:27 i wonder how super-linear-time my intern function is. 18:14:31 that is 18:14:33 how not linear it is. 18:15:46 elliott, when running charon from acme they interfere with each other. Both react to keyboard and mouse events 18:16:17 case T_INTEGER: return (*(obj (*)(obj))f)(a); 18:16:23 this is the best line of code i've ever written. 18:17:40 elliott, wait, what about 9term? 18:17:46 plan9 from userspace has that 18:17:54 that's just the emulation of rio text windows. 18:18:04 hm 18:18:25 elliott, what is plan9's web browser called? 18:18:31 it has no single one. 18:18:40 elliott, any included by default? 18:18:40 mothra. abaco. etc. 18:18:42 no. 18:18:45 well 18:18:45 ah 18:18:49 in /n/contrib 18:18:51 or what was it called. 18:19:04 elliott, in plan9 from userspace I meant here 18:19:12 guess not 18:19:54 -!- azaq23 has joined. 18:20:14 tswett 18:20:20 Yes? 18:20:30 Where's the "I don't respond to pings" thing! 18:20:41 I only sometimes respond to pings in this channel. 18:21:07 case T_INTEGER: return (*(obj (*)(obj))(DEREF(f).car))(a); 18:21:11 Now it's even better. 18:22:19 elliott, there is no binary download of the freestanding OS variant as far as I can tell 18:22:24 you have to cross compile it 18:28:43 BUGS 18:28:43 Plan 9 from User Space is no longer accessible using CVS; 18:28:43 you must use Mercurial. 18:28:52 elliott, strange that is listed as a bug in the man page 18:29:25 why would you use a version control system at all in order to access a program from user space? 18:29:33 nobody uses svn for system calls... 18:29:33 ais523, -_- 18:29:43 ais523, you COMPLETELY missed the point 18:29:58 ais523, it is to update the plan9 from userspace distribution 18:30:08 the man page about updating it 18:30:55 Vorpal: i think ais523 is just trolling. 18:31:02 elliott, hm could be 18:31:03 or else being deliberately dense, which is much the same thing 18:31:14 elliott, hey, it isn't 18:31:42 It really is. 18:31:46 nope 18:32:01 it is a form of humour 18:34:33 ungetc is so gros.s 18:36:16 ungetc is trivial to implement with a wrapper around getc, etc 18:36:50 of course 18:36:52 but it is gross :) 18:37:08 ungetc is so gross <-- yes 18:42:14 -!- enki-[quit] has quit (Quit: WeeChat 0.3.3). 18:44:39 -!- augur has quit (Remote host closed the connection). 18:45:55 -!- augur has joined. 18:46:47 hm what computational class are linker scripts? 18:47:43 ais523, ^ 18:48:05 Vorpal: I don't know enough about linker scripts to say 18:53:18 -!- Wamanuz4 has quit (Remote host closed the connection). 18:53:36 -!- oerjan has quit (Quit: leaving). 18:55:55 -!- Wamanuz has joined. 19:01:37 Bignum arithmetic is a pain. 19:01:50 elliott: depends on context 19:01:55 implementing it 19:01:56 it can be quite easy in some languages 19:01:58 ah, right 19:02:00 indeed 19:02:39 heck, even printing them. 19:02:41 you need divmod. 19:02:48 or just print in a power of two base :D 19:03:16 or use decimal bignums 19:03:41 also, re the topic, it's possible to /buy/ a sense of smell? 19:03:41 ais523: that's pesky arithmetic-wise, though 19:06:04 implementing it <-- why? Why not use gmp or such 19:06:18 that's not zepto. also, my experience with Fythe tells me that gmp is a fucking pain in the ass. 19:06:21 Gregor can back me up here :P 19:06:36 ah 19:06:49 elliott, so isn't there some good bignum library for C? 19:07:03 gmp. It's stupidly fast etc. etc. etc. It's just a massive pain in the ass to use. 19:07:10 It's designed for program authors, not language authors. 19:07:17 (Near as I can tell.) 19:07:18 hm 19:07:33 elliott, would it be less of a PITA for program authors? 19:07:56 Yes, because you don't have to worry about bignum promotion, operations with one operand fixnum and the other bignum, the five hundred kinds of division it provides... 19:08:10 Not joking: http://gmplib.org/manual-4.3.2/Integer-Division.html 19:08:28 elliott, and if you are implementing bignum, are you doing multiplication with fft? 19:08:35 Fuck no. 19:08:44 I think I'll just do successive addition. 19:08:44 elliott, so how then? 19:08:48 augh 19:08:52 Speed is for weenies. 19:08:53 elliott, that is so horribly inefficient 19:09:05 Yeah, but long division requires more brain power than allowed by the Zepto manifesto. 19:09:06 -!- pingveno has quit (Ping timeout: 258 seconds). 19:09:50 hah 19:10:26 elliott, so how are you doing division then 19:10:44 Successive... SUBTRACTION??????? 19:11:03 elliott, I don't think that works... 19:11:06 -!- pingveno has joined. 19:11:09 FUCK YOU, ANTI-ZEPTO 19:11:22 Vorpal: I'll just do it by testing successive integers. 19:11:28 Does one work? Does two work? ... 19:11:58 elliott, why are you doing bignum then? It will be too slow for numbers outside the fixnum range anyway 19:12:08 Limitations are not Zepto. 19:12:17 sorry? 19:12:34 elliott, what do you mean 19:12:50 Fixnums are limited. 19:12:52 Not Zpetototo 19:12:58 In fact I'm not even using fixnums, everything is a bignum. 19:13:19 Not Zpetototo <-- don't you mean Zeptototo 19:13:51 elliott, congrats, you just managed to make a C implementation slower than the python implementation! 19:14:21 elliott, anyway gmp would be easy if you only need bignum 19:14:43 No, it wouldn't. 19:14:48 Spoken like someone who's never used gmp. 19:15:04 elliott, from what I saw on the page you linked 19:15:24 elliott, you could make do with mpz_cdiv_qr 19:15:30 That is not why gmp sucks. 19:15:35 Have you ever actually used it. 19:15:50 elliott, only from bindings to other languages 19:15:55 Then you have no idea. 19:16:05 elliott, example? 19:16:21 Nope, read the cfythe source yourself. 19:16:32 Then you'll get about one percent of the pain because it's been through tons of local revisions because of stupidity. 19:16:33 elliott, got a link to that source? 19:16:54 https://codu.org/projects/fythe/hg/ 19:17:15 bignum.c and fastjit/fastjitdefs.c and fastjitdefs-x[eightsix]_[sixtyfour].S are the most relevant. 19:17:44 -!- augur has quit (Remote host closed the connection). 19:19:04 God bignum.c is impossible to follow. 19:19:27 indeed 19:19:40 elliott, that is quite an interesting way to do right is bignum 19:19:46 For what operation? 19:19:48 I *think* you switch place of them 19:19:57 elliott, in #define COMMUTATIVE(name, op_si, op_bn) \ 19:19:57 For commutative operations, yes. 19:20:06 BTW, compare IAdd/IMul/IDiv/IMod in 19:20:08 https://codu.org/projects/fythe/hg/index.cgi/file/c37f1b13493e/cfythe/fastjit/fastjitdefs-x86_64-raw.S 19:20:09 https://codu.org/projects/fythe/hg/index.cgi/file/c37f1b13493e/cfythe/fastjit/fastjitdefs-x86_64.S 19:20:15 The latter has the "jno" manually added to it. 19:20:16 elliott, what is a fytheSP 19:20:19 And stack uses fixed. 19:20:23 Vorpal: The Fythe stack register. 19:20:23 -!- zzo38 has joined. 19:20:27 ah 19:20:35 The stack uses had to be fixed because Fythe only reserves one word on the stack. 19:20:40 And gcc used something too far. 19:21:43 hm 19:22:07 Anyway, what I'm saying is: fuck no, I'm not using GMP. 19:22:52 Vorpal: Oh, and those bignum.c routines don't handle the case where a fixnum value is LONG_MIN or whatever the stupid name is. 19:22:56 elliott, what is GCC_PUSH/GCC_HEADER/GCC_POP? 19:22:57 Because negating that value yields itself. 19:23:03 And those are garbage-collector noise. 19:23:12 elliott, so where is that LONG_MIN case handled? 19:23:15 Vorpal: It isn't. 19:23:22 elliott, so a bug 19:23:34 Yes. Fuck you. I was too depressed after the pain of everything else to bother fixing it. 19:23:36 or is it a feature? 19:23:38 Patches welcome. 19:23:50 elliott, patches to bignum.c? hell no 19:24:04 And I haven't even handled bitwise operations yet. 19:24:07 Fuck. 19:24:12 I don't even want to think about it. 19:24:31 elliott, I don't know if I have to blame it on gmp or the author of that file. But at least that example of gmp usage is horrible 19:24:41 without more data point I can't make a more general statement 19:24:56 points* 19:25:01 The author of that file is ME. 19:25:23 elliott, my statement still stands 19:25:45 elliott, especially after you posted that C++ code thingy recently 19:25:56 Yeah, no, this is definitely gmp's fault. 19:27:07 -!- augur has joined. 19:27:20 Gregor: What is Makefile.gcc anyway 19:27:25 elliott, actually the code is verbose, but it looks like typical usage of a C library. It isn't nearly as horrible as C++ templates 19:27:40 Vorpal: It isn't the verbosity, it's the fucking edge-cases and upconverting. 19:28:04 edge cases such as? 19:28:16 RTFbignum.c 19:28:23 elliott, I have 19:28:27 and I don't see edge cases 19:28:38 (fixnum div bignum) and bullshit like osgdifdfjogh ugh shut up 19:28:49 I'm busy reading Homestuck which is ten times as entertaining as recalling the Cthulhian horror. 19:29:20 elliott, you mean that you have to handle bignum/bignum bignum/fixnum fixnum/bignum and fixnum/fixnum? 19:29:34 Yes. The last one is handled in fastjitdefs.c. 19:29:38 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.86.1 [Firefox 3.6.16/20110319135224]). 19:29:55 elliott, well that just adds verbosity. Repetitive yes. 19:30:01 Shut up. 19:35:59 1289 cvttsd2siq-8(%r13), %rdx 19:36:01 Best instruction ever. 19:38:20 elliott, err, what does it do? 19:38:28 Converts a float to an integer, it seems. 19:38:29 heck it isn't even an SSE instruction 19:38:37 Well, a double. 19:38:38 hrrm 19:38:47 elliott, but where would the double be stored? 19:38:51 The stack. 19:38:57 rthirteen in the stack. 19:38:58 (fytheSP) 19:39:00 elliott, x87 stack? 19:39:05 oh 19:39:11 [asterisk]is the stack 19:39:33 -!- KingOfKarlsruhe has joined. 19:40:48 CVTTSS2SI 19:40:48 26568—Rev. 3.10—September 2007 19:40:49 Convert Scalar Single-Precision Floating-Point 19:40:49 to Signed Doubleword or Quadword Integer, 19:40:49 Truncated 19:40:57 BUT OF COURSE 19:41:00 CVTTSS2SI reg64, F3 0F 2C /r 19:41:00 xmm/mem32 19:41:08 IT ALL MAKES SENSE 19:41:15 copy fail 19:41:17 that was 19:41:31 CVTTSS2SI reg64, xmm/mem32 19:41:38 elliott, so... wtf 19:41:45 What's weird about it 19:42:00 oh wait, it can do memory too 19:42:13 fuck CISC 19:45:14 elliott, other good instructions are MASKMOVDQU and PUNPCKHQDQ 19:45:18 X-D 19:45:23 -!- elliott has left ("Leaving"). 19:45:32 -!- elliott has joined. 19:45:35 elliott, both are SSE related 19:45:46 non-SSE one have saner names 19:46:17 MASKMOVDQU is Masked Move Double Quadword Unaligned 19:46:33 PUNPCKHQDQ is Unpack and Interleave High Quadwords 19:47:29 I like MOVMSKPS (Extract Packed Single-Precision Floating-Point - Sign Mask) too 19:47:37 not sure about that - 19:47:39 it is a newline 19:47:45 but it could be because it doesn't fit 19:48:50 elliott, hey, make sure to use PCMPGTW 19:49:09 (Packed Compare Greater Than Signed Words) 19:50:07 -!- asiekierka has quit (Ping timeout: 258 seconds). 19:55:56 -!- sftp has quit (Read error: Connection reset by peer). 19:57:49 -!- poiuy_qwert has quit (Ping timeout: 250 seconds). 19:58:00 elliott: http://i.imgur.com/dXShS.png Portability, bitch! 19:58:05 elliott, why does gmp use mpz as the prefix 19:58:18 What? 19:58:19 Because it is. 19:58:22 Multi-Precision Z. 19:58:23 There is also Q, R. 19:58:26 oh 19:58:26 And shit. 19:58:34 Gregor: Yah yah yah :P 19:58:43 Gregor, which compiler 19:58:48 Vorpal: OpenWatcom. 19:58:57 ah 19:59:00 Gregor: My definition of /portable/ code in the strict sense is code that will work wherever C is available :P 19:59:06 ah 19:59:10 Fythe is certainly portable enough, but it's not /portable code/. 19:59:20 elliott: Therefore, portable code cannot have a GC. 19:59:28 Gregor: Well, it can if it manages its own heap. 19:59:38 elliott: Fair enough :P 19:59:46 I might allow the Boehm GC because it runs on literally every machine ever :P 20:00:02 elliott, no it doesn't. Not on PDP-11 20:00:03 So, you're a hypocrite. 20:00:04 I bet 20:00:08 And don't care about 16-bit systems. 20:00:14 Gregor: No; if I was being pedantic, I wouldn't allow it. 20:00:28 But I wouldn't lynch someone for writing perfect C that used the Boehm GC, because /you can just implement GC_malloc as malloc/. 20:00:33 Sure, it'll leak memory, but that's irrelevant, platonically. 20:00:49 ... s/platonically/pedantically/ or something? 20:00:58 Platonically. 20:01:06 The definition of C does not involve running out of memory. 20:01:17 The Boehm GC is just an optimisation, space-wise. :p 20:01:29 ... wow :P 20:01:30 elliott, err.. since sizeof(void*) is finite, it does 20:01:35 Vorpal: No it doesn't. 20:01:40 elliott, oh? 20:02:00 OK, a program that would run forever if GC'd properly but run out of memory if it never freed would technically not be portable IF NOT FOR THE FACT THAT 20:02:01 elliott, malloc returns NULL when out of memory 20:02:09 All programs terminate or repeat on finite hardware. 20:02:20 Not even GC can save you from that. 20:02:37 -!- poiuy_qwert has joined. 20:04:45 For base in the range 2..36, digits and lower-case letters are used; for −2..−36, digits and upper-case letters are used; for 37..62, digits, upper-case letters, and lower-case letters (in that significance order) are used. <-- what 20:04:52 that is confusing 20:05:00 negative bases? 20:05:30 Vorpal: Presumably it's just letting you use the sign bit to request capitalization. 20:05:46 Gregor, well it is GMP 20:06:08 * Gregor fails to see the relevance of that fact. 20:06:09 - Function: char * mpz_get_str (char *str, int base, mpz_t op) 20:06:21 hm 20:06:25 Gregor, oh right 20:06:38 I somehow read it as a parsing function 20:12:11 elliott, how does bitwise negation work in bignum. I mean, would ~0100 be 1011 or 1111111011 20:12:36 it would be 20:12:41 ...................1111111011 20:12:50 where dots are infinite ones 20:12:58 except gmp actually uses sign-magnitude, but it fakes two's complement for bitwise ops 20:12:59 elliott, right. So is that what mpz_com does? 20:13:04 prezoomably 20:13:06 hm 20:13:29 elliott, so bitwise not in cfythe will do different things for bignum and fixnum? 20:13:39 Whatever gives you that idea? 20:13:52 "but it fakes two's complement for bitwise ops" 20:13:55 Gregor: srsly 20:13:59 Is what should NOT give you that idea :P 20:13:59 its all there in te mamaul 20:14:08 well i mean 20:14:11 if you negate 20:14:13 9099 20:14:15 where 9 is one 20:14:17 then you get 20:14:18 0900 20:14:20 which 20:14:23 i don't know is the same as 20:14:27 ...9999999990900 20:14:31 when interpreted as yeah 20:14:35 am i make sense 20:14:37 "where 9 is one" X-D 20:14:39 nope 20:14:40 Yes :P 20:14:50 when interpreted as yeah <-- as yeah? 20:14:53 as yeah. 20:15:02 what do you mean with that 20:15:06 yeah. 20:15:10 use brain matter to think it out 20:15:11 -_- 20:15:21 as bignum? as fixnum? 20:15:22 one of them 20:15:24 Gregor knows what i mean 20:15:27 fixnum. but. lgdfkg. 20:15:29 Ineed I do! 20:15:30 it's obvious if you're a genius like me. 20:15:34 Gregor: ineed. 20:15:42 Ineed to type an extra 'd'! 20:15:46 X-D 20:15:48 And a space. 20:15:56 I ndeed? 20:16:10 "I need to type an extra 'd'[XCLAMATION MURK]" 20:16:12 Gregor, In deed 20:16:13 doh 20:16:15 [asterisk]exclamation mark 20:24:05 elliott, wait, does your laptop has fn? 20:24:12 elliott, if so, what about the fn numpad? 20:24:37 doesn't exist 20:24:46 ah 20:36:02 hm gmp floats have no log function? 20:50:55 -!- monqy has joined. 20:52:06 -!- cads has joined. 20:52:20 -!- impomatic has joined. 20:52:24 Hi :-) 20:52:29 hey zzo38 20:52:52 cads: Yes? 20:53:06 o 20:53:07 cheater99 mentions that I should ask you if I'm interested in an algebraic approach to chess 20:53:30 cads: Do you mean algebraic notation, or, what? 20:53:37 cads: surely you know whether you're interested in an algebraic approach to chess, more than zzo38 does? 20:54:04 he's thinking about morphisms in the space of positions 20:54:06 ais523, XD 20:54:07 elliott: ^ the above sentence works both with the correct interpretation of cads' statement /and/ the most obvious deliberate misinterpretation 20:54:24 ais523: why do you twist my brain like that 20:54:29 i was just fine with its euclidean geometry 20:54:38 :) 20:54:44 heh, sorry, english is a second language 20:55:16 O, morphisms in space of positions. Yes I have worked with such things. 20:55:31 yeah, I just realized that move lines form morphisms between positions 20:55:44 elliott, any idea how much pain it would be to use mpfr with gmp 20:55:45 that's it 20:55:45 ? 20:55:51 the big issue with category theory is that pretty much everything forms a category 20:55:57 Vorpal: gcc does it 20:56:19 * cheater99 locks up cads and zzo38 for months in a dark attic somewhere, and feeds them raw meat 20:56:20 elliott, well yeah. But does it in the same place? Basically I'm interested in gmp + logarithms 20:56:24 ais523: but only people that don't know categories see that as a bad thing! 20:56:35 `addquote the big issue with category theory is that pretty much everything forms a category 20:56:37 that is, you get food if i see further pages of the paper being written. 20:56:38 379) the big issue with category theory is that pretty much everything forms a category 20:56:43 elliott: you think that's quoteworthy? 20:56:45 cads: Yes, it does. There are other ways to form morphisms between positions as well. 20:56:54 cads, if everything is a category, there's an upper limit to what you can actually *do* with them. 20:57:06 ais523: it's amusing 20:57:20 most category-theoretic results are over subsets of categories, probably for that reason 20:57:50 Phantom_Hoover: I mean, if you claim to know how to do things more complex than what's been done with categories, then super! 20:58:06 "cads" rings a bell. 20:58:14 CADs? 20:58:17 no. 20:58:46 -!- pikhq has joined. 20:58:47 hehe, at the worst, category theory is just another esoteric lang and deserves our respect as such :) 20:58:48 Grawr. 20:58:50 well, it's a real word 20:59:01 no, i mean in context of an irc nick, you pedantic somethings. 20:59:01 pikhq, why have you turned into a bear. 20:59:02 at best, it's just a really comfortable location for algebraic thinking to live in 20:59:06 Or have you been eaten by one. 20:59:19 Phantom_Hoover: is there any semantic difference 20:59:25 and the location metaphor has been taken pretty far with toposes 20:59:37 elliott, yes. 20:59:42 how 20:59:48 Because one would be bear-pikhq whilst the other would be a bear. 20:59:50 no, i mean in context of an irc nick, you pedantic somethings. <-- what about "nitpick"? 20:59:54 where you can't even complain anymore since if you like classical math you're working in the classical topos of sets anyways, and you're most welcome to 20:59:55 That had bits of pikhq in it. 21:00:13 Phantom_Hoover: is there any semantic difference 21:00:53 elliott: I just grepped all my IRC logs for cads' IP, he/she seems to be never-before-seen from my point of view 21:01:02 ais523, dynamic ips 21:01:09 it may have been another channel. i grepped "cads" and there's nothing. 21:01:11 I have done isomorphisms too, not only morphisms. However when I done it I have not called it any of these things. 21:01:36 elliott, yes, one would contain the tissue of pikhq inside the stomach, the other one would possibly contain it in the tissue of the bear (though this is uncertain, there is no experimental data on human-bear transformations) 21:02:07 zzo38: how did you approach it? 21:02:29 with a ten foot pole 21:03:26 cads: One such thing is "A game designed to be as different to chess as possible while still being the same as chess." However, move lines also works, as you have said. I may have making a few mistakes since I am not very good at category theory, though. 21:04:10 hehe, some kind of dual of chess? 21:04:11 zzo38, was "A game designed to be as different to chess as possible while still being the same as chess." that 1D chess thingy? 21:04:48 Vorpal: Yes. It is not quite like category theory, though. I do not understand category theory completely, so it is not category theory. 21:05:04 right (nor do I btw) 21:05:42 However, I would like to understand category theory better, but I don't. 21:06:09 -!- Tomsik has joined. 21:06:09 Is there any relation between category theory and the "theory of types"? 21:06:25 What is this. I don't even. 21:06:38 -!- Mathnerd314 has joined. 21:06:41 Tomsik: What is what? This channel? 21:06:47 -!- Mathnerd314 has left. 21:06:48 Yeah, my question! 21:06:54 Apparently you read minds, sir. 21:06:57 Tomsik, esoteric programming languages 21:07:09 Oh, seems fun. 21:07:15 (not esoterica, many make that amusing mistake) 21:07:21 Tomsik: I do not read minds. (See the wiki for information too) 21:07:22 like lolcat or befunge, I'd guess 21:07:25 -!- Saizan has joined. 21:07:30 cads, we all hate lolcat 21:07:36 but yes, like INTERCAL and befunge and so on 21:08:13 (lolcat is just a normal programming language with "funny" names for the keywords/functions pretty much, not very interesting) 21:08:42 any of you guys ever played the carnage heart game on psx? 21:09:05 not me, I haven't ever used an psx anyway. 21:09:05 cads: I have not. 21:09:10 also strange this new influx of people 21:09:20 a psx* 21:09:26 it had a 2d grid language where you'd place tiles to create decision flows that would operate a fighting robot 21:09:35 -!- siracusa has joined. 21:09:39 saizan has been here before. 21:09:43 i think? 21:09:58 elliott, well cads, Tomsik? 21:10:00 dunno, doesn't seem like that much of an influx 21:10:03 hmm 21:10:05 maybe it's an invasion 21:10:17 we should probably be very awful to make sure they go away. 21:10:24 i don't think so, anyhow it's just that this channel got mentioned elsewhere, i think 21:10:26 and part of the fun was was watching the decision focus flash through your network, and troubleshooting it based on the patterns you saw 21:10:31 There is way to map 2D chess variant game to 1D, or 3D to 2D to 1D, or whatever else. With a few similar ideas. 21:10:34 oh. who mentioned it? 21:11:26 hmm, wait, Saizan is from the haskell channel 21:11:32 I tentatively blame copumpkin 21:11:45 elliott, he is not here atm? 21:11:46 I just detected "category theory" 21:11:50 Vorpal: yes he is? 21:11:52 copumpkin: hello 21:11:54 oh wait 21:11:56 tab fail 21:12:03 elliott, Tomsik is also in #haskell 21:12:05 hmm, not in the haskell logs 21:12:09 very probably the sourse 21:12:09 YOU WON'T GET AWAY WITH THIS 21:12:12 source* 21:12:43 meh, the invasion is too much of a trickle to bother interrogating them. 21:12:46 hm, a bignum fingerprint to befunge might be nice 21:13:06 for those that use fixnum for the funge space 21:16:41 Is there a language that doesn't let you name arguments to a function, forcing you to go pointfree? 21:17:03 elliott, I think this is one for you 21:17:10 FP 21:17:32 FP? 21:17:43 Yes. 21:17:49 esolang? 21:17:51 Tomsik: TeX uses only numbers for macro arguments. 21:18:04 zzo38, that isn't point free though 21:18:07 that's not point-free 21:18:08 fp is not an esolang 21:18:12 that is just numbered arguments 21:18:20 Vorpal: O, OK. What is "point free"? 21:18:42 de brujin indixes are not bad, they let you refer to arguments by a name 21:18:59 Tomsik: What is "de brujin inidxes"? 21:19:01 zzo38: expressing everything as composition of functions/transforms/whatever 21:19:04 zzo38: tan = sin/cos 21:19:05 -!- Saizan has left. 21:19:11 the first falls 21:19:43 -!- monqy has quit (Quit: hello). 21:19:53 Unlambda? (Maybe not) 21:20:20 zzo38: tan = sin/cos <-- how is that relevant? 21:20:44 okay unlambda is pointfree 21:20:56 though it seems to be just SKI-calculus at first glance 21:21:01 Vorpal: it's a pointfree expression of tan(x) = sin(x)/cos(x) 21:21:03 Tomsik: OK. So I am correct. 21:21:15 cheater99, oh, right. yeah 21:21:43 Vorpal: almost everyone knows it, and it's usually one of the first formulas learnt that are pointfree 21:21:52 I don't get why people (especially haskell people) love point free so much 21:22:02 because it propagates polymorphism 21:22:12 I mean, sure, it is kind of nice. But they seem prepared to go to any length for it. 21:22:17 especially things that have wildly different meanings 21:22:27 for example, "id" has all sorts of different meanings 21:22:40 cheater99, id is the no-operation surely? 21:22:41 but you can make up functions that hold for any sort of id function 21:22:46 well kind of 21:22:47 sure 21:22:50 it's just an example 21:23:43 not sure why it has to be point free for it 21:23:55 It would seem, to me, like sin/cos is not having any value, you should use like result_div(sin,cos) where you mean result_div(x,y)(z) = (x(z)/y(z)) but it is not completely understood. How can you divide a function? 21:24:47 if they were polynomial you could presumably do polynomial divisions (not true for this case), but yeah that seems like a bad example 21:25:07 zzo38: it's just a shorthand. don't let it trouble your little mind, skipper :p 21:25:17 .. 21:25:21 I know also in Forth you can do without names. If SIN and COS exists and the system uses all real numbers for anything (not actually the case of course), you have: : TAN DUP SIN SWAP COS / ; 21:25:36 it has a stack though there 21:25:47 so they are implicitly named from their order on the stack 21:25:59 zzo38: mathematics uses a lot of shorthands that don't make sense if viewed in the light of usual syntax. 21:26:02 it is not function composition 21:26:44 Vorpal: OK. 21:27:29 zzo38, http://www.haskell.org/haskellwiki/Pointfree 21:27:32 It's just that for example if you want to compose a -> b -> c with c -> d into a -> b ->d then in pointfree you do (.).(.) 21:27:46 which obviously is quite esoteric 21:28:08 (.) :: (b -> c) -> (a -> b) -> a -> c 21:28:20 Vorpal: OK 21:28:29 I think it would have been MUCH cleaner if it had been (.) :: (a -> b) -> (b -> c) -> a -> c 21:28:34 why isn't it that way around hm 21:28:49 Tomsik, ^ 21:29:05 It's because of matematicians 21:29:15 who want (f . g)(x) to be f (g x) 21:29:34 there are some who use (;) :: (a -> b) -> (b -> c) -> a -> c 21:29:50 Tomsik, not in Prelude? 21:30:02 Nope, in Haskell ; has a different meaning 21:30:07 yeah 21:30:21 Tomsik, so is there any operator like (;) in haskell 21:30:26 it would be so much more sensible 21:30:38 you can do it yourself in two lines 21:30:39 like 21:30:44 hm 21:30:58 a .! b = \x -> b (a x) 21:31:00 I don't get why people (especially haskell people) love point free so much 21:31:04 because it makes code clearer 21:31:06 infixr 10 21:31:10 anyway that's a total strawman 21:31:16 Tomsik, hm 21:31:20 or infixl, whatever you like 21:31:26 right 21:31:30 elliott: not always ;) 21:31:44 (.!) = flip (.) <-- point-free 21:31:54 siracusa, HAH 21:31:55 an elegant point-free expression makes code clearer, rather 21:32:07 thing like (. map) . (.) filter (or something like this) is not really readable 21:32:12 Tomsik: Part of it is that point-free expressions are clearer in many contexts. 21:32:20 Tomsik, no... what does it do? 21:32:21 Tomsik: Part of it, though, is that it's just fun to do. 21:32:41 anyway that's a total strawman <-- in many cases I fear it is not 21:32:42 It definitely depends on the code for whether it's actually clearer. 21:32:42 (. map) . (.) filter 21:32:43 :: (([a] -> [b]) -> a1 -> Bool) -> (a -> b) -> [a1] -> [a1] 21:32:51 just guess :p 21:33:03 it looks like lisp ^^ 21:33:05 Tomsik, I find that type signature rather confusing as well I have to say 21:33:26 Vorpal: how many haskell users have you ever actually talked to 21:33:36 elliott, mostly those who visit this channel 21:33:40 i don't think you've ever been in #haskell 21:33:42 Vorpal: ok, so that's like... three 21:33:46 elliott, I am in that channel 21:33:53 well you've never said anything. 21:34:03 elliott, I think I have. Once. 21:34:47 Vorpal: well, I think I've messed something up, it's supposed to be something like \l p f -> map f (filter p l) 21:34:58 ah 21:53:59 Once, in a GameBoy ROM hack, which consisted of a change of a single byte from 0x3D (decrement A register) to 0xA7 (bitwise AND the A register with itself). Maybe it is useless to you, but actually it isn't useless. It is used to make infinite lives. The reason for this is to improve the scoring of the game. If you don't know how this helps, you are not very good at game design. 21:56:02 zzo38: Seems like that ought to be a cheat rather than a hack. 21:56:39 pikhq: It would seem so. But, when you understand how it improves the scoring, you might be able to see why this is. 21:57:09 Actually, the thing is, a cheat could make the same damned change. 21:57:17 Except it'd be easier to use than a ROM hack. 21:57:31 And, indeed, could be done on real hardware. 21:57:41 pikhq: Yes it could. However, I used a ROM hack. Use whichever way works for you. 21:59:41 Just wait a few minutes you will see the article in phlog 21:59:52 elliott: you blame me?! 21:59:54 yes 21:59:55 always 22:00:13 oh, fair enough 22:08:12 -!- impomatic has quit (Quit: ChatZilla 0.9.86.1 [Firefox 3.5.18/20110319140258]). 22:16:05 -!- Tomsik has quit (Quit: Fin.). 22:18:04 -!- quintopia has quit (Remote host closed the connection). 22:18:21 -!- quintopia has joined. 22:18:22 -!- quintopia has quit (Changing host). 22:18:22 -!- quintopia has joined. 22:18:45 gopher://zzo38computer.cjb.net:70/0phlog*c_game.game-design-i 22:19:01 Go to gopher://zzo38computer.cjb.net:70/1phlog*d_game.game-design-i for send comments 22:19:58 http://zzo38computer.cjb.net/phlog/phlog_http.php?m=1&q=_game.game-design-i for access over HTTP/HTML, although comments cannot be sent over HTTP. 22:24:13 -!- quintopia has quit (Ping timeout: 258 seconds). 22:31:41 You did not type the comment yet? 22:32:54 -!- quintopia has joined. 22:32:54 -!- quintopia has quit (Changing host). 22:32:54 -!- quintopia has joined. 22:37:59 -!- ais523 has quit (Remote host closed the connection). 22:57:28 Are you out of comments? About anything at all? 22:58:18 Gregor: Are JS users just stupid, or what? http://restrictmode.org/ 22:58:22 IDGI 23:00:35 I do not think is needed 23:01:04 elliott: Sounds like Crockford-style lunacy. 23:01:11 elliott: Unless restrict mode makes a JIT's job easier, there's probably no point. 23:01:22 [[You're encouraged to "use strict"; "use restrict";]] 23:01:27 pikhq: Yes, that might might be 23:01:27 Isn't "use strict" also Crockford lunacy? 23:01:28 -!- KingOfKarlsruhe has quit (Remote host closed the connection). 23:02:01 And I *doubt* it does, because a JIT could rather readily handle those cases efficiently regardless... 23:02:33 I mean, most of those restrictions are restricting you to the common case. 23:03:44 * pikhq is somewhat annoyed that there's hardly any chance of there being a better language than Javascript for use in HTML. 23:11:51 What about languages that compile to Javascript? 23:20:24 pikhq: You can compile other things into Javascript, or use Javascript preprocessors, but I think is better to avoid use of any script if it is not needed. It can slow down things, too, as well as sometimes it is disabled or using program that does not parse scripts. 23:27:02 Is there any kind of chess moves notation that uses one octet (or, usually one but sometimes two) for each move? I know the square position can be six bits. If you want to require counting all moves available and then select by number, there is enough in one byte. It is calculated: 23:27:58 32 pawn + 16 knight + 26 bishop + 28 rook + 27 queen + 8 king + 2 castling. However, what if you promoted, then there is more? Then it won't fit in one byte. Also, adding castling is wrong because if you can castle, then king can't move backward. So, omit castling. 23:28:46 Therefore, it is still not correct. 23:31:44 But, note, the Amazon (queen+knight) can already move like any other pieces in chess, 13 for bishop, 14 for rook, 8 for knight. 23:32:33 And it is impossible in a game of chess, for promotion to occur without ever having capture occur before that in the game. 23:33:12 (Otherwise, the pawns will get stuck and can never reach the promotion rank) 23:34:33 -!- Tritonio has joined. 23:57:23 -!- Tritonio has quit (Quit: Bye). 23:58:08 what if pawns jump over other pawns 23:58:30 say your pawn hasn't moved yet, it wants to move the two steps, can it jump over something to do that? 23:58:34 * cheater99 isn't sure 23:58:48 zzo38: what is the rule on that?