00:05:06 Who wants to test my magical dice roller? 00:11:25 Deewiant: ? 00:11:39 Asztal: GregorR oklopol 00:11:50 pikhq. Sgeo. your mom. 00:12:24 ehird ehird ehird ehird ehird ehird ehird ehird ehird 00:12:36 yay 00:12:44 GregorR: WILL YOU TEST MY IMMUNE-TO-CHEATING IRC-BASED DICE SYSTEM <3 00:12:53 I doubt it. 00:13:01 why not 00:13:05 it's just copy&pasting ;_; 00:13:10 Because you lamepinged me :P 00:13:22 GregorR: Because nobody is onlinnnnnnnnnnnnne 00:13:23 :D 00:13:30 I'll test it, ehird, as long as it doesn't require too much thought. 00:13:50 Jiminy_Cricket: If you're on a UNIX-like system with Python, then the rest is just copy&paste from the output of a script 00:14:00 Ah, I'm on Windows 00:14:15 * GregorR stares at his beautiful running Python interpreter. 00:14:33 Jiminy_Cricket: Oh. I could make it use the equiv. to /dev/random, but, tomorrow. 00:14:36 GregorR: ^____^ 00:14:42 OKAY SO HERE'S WHAT YOU HAVE TO DO 00:15:02 I'll give you an initial line, which will be 'roll ' 00:15:09 Run 'python roll.py ' and paste my line in. 00:15:17 You'll get another line back. Paste it to the channel. 00:15:24 FInally, I'll paste the result line. 00:15:33 Paste that into the script, if it prints OK, no cheating has happened! 00:15:34 Hooray! 00:15:50 For being my side, add an additional argument of 'alice', and do the same paste/copy dance. 00:15:56 This could be automated in a client. 00:16:03 GregorR: AND HERE IS THE SCRIPT 00:16:19 GregorR: http://pastebin.ca/raw/1228858 00:16:25 So. Here goes: 00:16:30 roll 100 e1d33f5e2ac718ae227cf58ace285a9dfc7c49f0 00:17:24 rolled 3 00:17:39 Hrm, wait, I think I borkled it a bit. 00:17:53 GregorR: Did you run it with the second argument being 100? 00:18:00 Therein lies the problem :P 00:18:01 rolled 00:18:02 :P 00:18:05 ... 00:18:06 Copy/paste error 00:18:08 you rolled the empty string? 00:18:09 Wow :D 00:18:13 rolled 28 00:18:22 final roll 51 (YQjgBLnVeM3sGFNfrdTOEQV622w3S7K6tnEIEeNVLQVPw7HHBrQM3jISxYhY42oLIeU=) 00:18:55 If that prints 'OK', then the final rolled number is 51. 00:18:56 Does it? 00:19:06 OK 00:19:09 Yay. 00:19:20 GregorR: Now let's do that fast, to simulate a real-world situation. 00:19:24 roll 100 cf620c82c9c9941ffee2e101b6383a2916515c5e 00:19:40 rolled 00:19:42 6 00:19:47 I suck at copy/pasting aparently. 00:19:48 final roll 18 (ATjJBwI1F4Mp9KM2Kq3qLpoTwCG4sM7huK20GBLQeNWKEXUXEGLj6EQ9Ko31htPtoQ8=) 00:19:50 *apparently 00:20:01 OK 00:20:04 Hooray. 00:20:14 Here's, basically, how it works: 00:20:23 It gets 50 bytes of random data from /dev/random. 00:20:30 It seeds a prng with them. 00:20:38 It generates a random number from 0 to (sides/2). 00:20:46 It then gives you the hash of the seed. 00:20:57 Then, the other side does the same but prints out the number in plaintext. 00:21:16 Then, when 'alice' gets the number, it adds them together, and prints out the result, along with the base64-encoded text of the 50 random bytes. 00:21:27 When 'bob' puts in that, 00:21:37 it verifies that the base64 version hashes the same as the original hash 00:21:49 then it seeds the prng with the bytes 00:21:56 and generates a random number, etc 00:22:03 and checks that it's equal to (final_result - bobs_number) 00:22:09 (because, with the same seed, it should be the same, of course) 00:22:20 this assures that the original number was not tampered with after seeing yours 00:22:35 and since both halves are involved in the creation of the final number, 00:22:41 one single party can't cheat to get a number to their advantage 00:22:46 (unless they can predict another system's /dev/random... :P) 00:22:49 TADA 00:23:06 GregorR: Neato / not neato 00:23:23 Poor Alice and Bob 00:23:39 Jiminy_Cricket: :o 00:23:55 Having to do so much work just to prevent cheating 00:23:57 Anyway, I'd say the above ain't bad for a 48 lines script 00:24:30 Yeah 00:24:45 Jiminy_Cricket: Like you wouldn't cheat if, online, you were tasked with rolling the die and there was a certain number that would make you win :-P 00:24:54 Although a game with something like that would be hideously imbalanced. 00:25:06 Anyway, this'd be improved with a client plugin that does it. 00:25:24 So you could do /roll myotherperson 100 and the two clients would go through the motions. 00:25:35 I don't generally play games in the first place that involve dice rolling 00:25:48 Jiminy_Cricket: But what about your secret government intercepting mission plot?! 00:25:51 HOW WILL YOU DO THAT 00:25:57 Ooh snap. 00:26:05 The answer to that is always 42. 00:26:16 That is some lame die 00:27:40 Yeah 00:30:12 ehird: Do it once more. 00:30:22 GregorR: You be alice this time? 00:30:31 No, the exploit is on the bob side X-P 00:30:39 (If I understand how this works) 00:30:43 roll 100 33248a78e79acc6449bc3a33f8cfe091fca71de1 00:31:01 I would love for this roll to be below 50, so I'm gonna go ahead and say 00:31:02 rolled 1 00:31:12 final roll 22 (bKog8Sj6d+Drz08+aVajVZaRPgFCWL4HtggJZPAFSn1hkdUL2bPB6IMnOj67H4bRhUQ=) 00:31:14 Well, yeah, that works. 00:31:18 But you can't actually precisely do anything. 00:31:28 No, but usually it's the range you care about. 00:31:29 also 00:31:32 GregorR: it's easy to fix 00:31:36 instead of two /2 numbers added 00:31:42 have two full numbers, added together, modulo. 00:31:55 There ya goes. 00:31:59 HOWEVER 00:32:09 That means the final answer has to have another field 00:32:17 Wait no 00:32:20 it means it's unworkable, I think 00:32:39 GregorR: How do you get a from ((a + b) % x) if you know b and x?? 00:32:56 is it even possible :| 00:33:01 or am i having a brainfart 00:33:02 at 0:33 00:34:30 I know multiplication is not generally reversible, but addition should be. 00:34:51 (y-b)%x where y was your result? 00:35:24 that seems to work 00:37:51 GregorR: oh, right 00:37:53 i'll do it tomorrow 00:38:13 bye 00:52:08 -!- sebbu has quit ("@+"). 01:11:33 -!- CakeProphet has joined. 01:12:09 :D 01:44:06 -!- CakeProphet has quit (Read error: 110 (Connection timed out)). 01:45:15 -!- CakeProphet has joined. 03:07:07 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | after I... squash the countless bugs.. 03:13:10 hey GregorR 03:13:14 what hat did you wear today 03:13:40 I couldn't find the one voted for so I wore my porkpie. 03:18:19 http://codu.org/hats/BritDrivingCap-med.jpg 03:18:21 that one is pretty cool 03:24:50 Then you should fly in on Saturday :P 03:32:54 interesting... the newest noscript gives me "Clickjacking" warnings on choosemyhat.com if I click outside the table... o_O 03:33:07 seemingly randomly, too 03:35:22 -!- immibis has joined. 03:35:42 ersion nickser 03:35:45 er 03:35:57 stupid client 03:36:50 fungot hi 03:36:51 immibis: is there a way to 03:36:54 fungot yes 03:36:54 immibis: when i flunk out of life, the universe and everything 03:37:08 fungot you're not part of life the universe and everythingh 03:37:08 immibis: and there's the configuration edition thingie, at least 03:37:23 fungot yeah that config edition is really stupid 03:37:24 immibis: now, we have a /pub for images and such 03:37:33 ... 03:42:33 -!- CakeProphet has quit (Connection timed out). 04:23:32 -!- ab5tract has joined. 04:24:18 fungot bring da mthfckn ruckus 04:24:18 ab5tract: ( how did the day turn out, points of contention here: 04:24:32 fungot: word up 04:24:33 ab5tract: oy vei. don't have that 04:24:48 seems you got plenty to me friend. 04:41:31 AnMaster: dig the spec 04:45:38 honored to take part, if you end up going with hasp 05:03:19 i like the reflecting compare, but i also like the 'C|-' syntax. would it be totally unreasonable to ask for both? 05:38:17 -!- Elizabot has joined. 05:46:00 -!- Elizabot has quit (Read error: 104 (Connection reset by peer)). 05:52:10 -!- Elizabot has joined. 05:52:20 -!- psygnisfive has quit ("Leaving..."). 06:12:09 ^echo elizabot: Hi. 06:12:09 elizabot: Hi. elizabot: Hi. 06:12:11 fungot: Please go on. 06:12:12 Elizabot: or, more properly, in python 06:12:12 fungot: What does that suggest to you ? 06:12:13 Elizabot: or set-car! to a non-char type analysis ( so you always get a car later) 06:12:13 fungot: Can you think of a specific example ? 06:12:14 Elizabot: part of your colon? 06:12:14 fungot: Why are you concerned over my colon ? 06:12:14 Elizabot: i'm still on the todo list, but it was 06:12:15 fungot: Is it because you are still on the todo list that you came to me ? 06:12:23 lol 06:13:26 -!- immibis has quit (Client Quit). 06:16:58 -!- psygnisfive has joined. 06:20:19 ehird: You get a%x from (a+b)%x if you know b and x; doesn't matter, of course, if you limit yourself to numbers in [0, x-1]. And if you noticed, I did use numbers [0, 19] for d20 precisely for that reason. 06:33:43 -!- Elizabot has quit (Read error: 110 (Connection timed out)). 06:46:14 fungot: insane in the membrane 06:46:32 fungot: (insane in the BRaIN! 06:47:26 Hmm. 06:47:47 Your first comment crasheded it. I _really_ need to debug that bug. 06:47:51 -!- fungot has quit (Read error: 131 (Connection reset by peer)). 06:48:15 -!- fungot has joined. 06:49:51 which one is that? 06:50:01 fizzie: is it allergic to cypress hill? 06:50:10 fungot: insane in the membrane 06:50:10 ab5tract: great that you found a new spot? 06:50:39 i feel that way too. #esoteric is my ideal place to be fungot, thank you for noticing 06:50:40 ab5tract: i always start with a 06:51:17 That one, yes. Since it's in the babble-generation code, it probably doesn't depend on the input; it just happens pretty rarely. 06:51:27 fizzie: how would you imagine the ideal funge ide 06:51:49 do you think it would be possible to write a funge ide in funge 06:51:51 ? 06:52:13 assuming AnMaster comes through with the erlang threads 06:52:16 -!- olsner has joined. 06:52:17 Not without some GUI toolkit binding fingerprint, no. Although there's WIND, but that's windows-only and so very primitive. 06:52:45 are there any gooey kits for erlang? 06:53:07 Don't know about Erlang; I'm sure there are, most languages seem to have bindings. 06:53:15 but theoretically it would be possible 06:53:23 that would be pretty dope 06:53:38 Okay, maybe a text-based funge IDE, with TERM... but I think a GUI thing would have more opportunities for displaying things. 06:53:43 i have a pretty good idea of how i would want to use it 06:53:58 s/use/implement/ 06:54:06 yeah 06:54:38 it needs to be able to render the broader map 06:55:37 and then various levels of zoom and with a heirarchical fingerprint/method list 06:55:56 that way we could really start talking advantage of this 32-bit address space 06:56:09 which we might as well bump up to 64 for fun :) 06:56:40 and the 3-d mode for trefunge... 06:56:50 Doesn't cfunge already do that? At least it does 64-bit cells, it only stands to reason the cell addresses are 64-bit too. 06:57:06 they have to be equal to fit spec 06:57:19 you're right i forgot 06:58:05 Well, the spec says "A Funge-98 interpreter, *ideally*, has an addressing range equal to that of its cell size." [emphasis mine] so maybe it's not a must. 06:58:14 ahh 06:58:23 you're right 06:58:24 Still, given how AnMaster is, I'd be surprised if it didn't. 06:58:33 hehe 07:34:08 -!- kar8nga has joined. 07:36:14 -!- kar8nga has quit (Client Quit). 07:39:08 -!- ab5tract has quit. 07:40:29 GregorR: My roommates think that you look like a princess in your Egyptian Kofia. 07:40:33 Thought you should know. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:44 -!- oerjan has joined. 08:06:01 lol roommates 08:14:22 so oerjan 08:14:32 hm? 08:14:51 how do you force interpretation of a language to be parallel? 08:15:31 did i or did i not mention that concurrency was one of my weak points yesterday? 08:15:49 ...i wasn't here yesterday 08:17:10 although it surely depends on what you mean by 'force', since any parallel computation can be simulated on a sequential computer, just slower 08:17:27 yeah 08:17:30 well how about this 08:18:08 can you force interpretation of a program with n instructions to take exp(n) times longer than a reasonable language? 08:19:42 i'm not sure parallel execution is enough to speed n instructions up by exp(n). 08:19:53 looks more like an NP oracle thing 08:20:10 or PSPACE 08:20:24 it is with exp(n) threads 08:21:31 er... so the program is making a choice in each instruction, and the threads are used to do all options for all choices simultaneously 08:22:29 hm that may be a bit more than NP, but probably not more than PSPACE 08:22:31 you can optimize that though 08:23:00 the same way you convert a nondeterministic fsm to deterministic fsm 08:23:23 however in any case it is still an unsolved mathematical problem whether any of those are actually intrinsically slower 08:25:19 oh and maybe if the parallel threads can communicate you can get something harder 08:25:33 you want an EXPTIME problem. 08:28:08 well i don't know 08:30:23 maybe a syntax that takes exponential time to parse 08:32:40 well general grammars (more than context-free) are TC to parse 08:32:59 and context-sensitive are PSPACE-complete 08:38:56 bsmntbombdood: forcing parallellism is one of the things I'm dealing with in my University 4th-year projects 08:42:19 why would you want to force parallellism? 08:50:13 DRAFT! DRAFT! DRAFT! DRAFT! DRAFT! DRAFT! DRAFT! DRAFT! DRAFT! DRAFT! DRAFT! 08:50:15 hmm... I like the way that some people seem to disregard such warnings anyway 08:51:28 draft can be dangerous to your health you know. there was this norwegian woman who ended up with a painful disease that ruined her face... 09:07:08 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | he says there's nine bytes of padding. 09:09:37 that's a bit close for comfort 09:17:13 so 09:17:16 i have an esolang idea 09:17:18 wanna hear? 09:17:21 yes 09:17:28 well it's the 3-sat thing 09:17:42 but, i think i've found a way to do numbers now 09:17:53 and by that i mean, assign rationals to the vars 09:18:01 and perform division and multiplication between them 09:18:10 but let's start with syntax 09:18:16 am i interrupting something? 09:18:29 aaanyway, the syntax, currently, consists of just a list of variables 09:18:36 there are four ways to denote a variable 09:18:51 argh my silent meditation, you're ruining it! 09:18:59 the ways are a..z, A..Z, .a.b.c....z, .A.B.C....Z 09:19:18 a..z and A..Z are simply variables that aren't in any way special 09:19:36 .a and friends are variables, that are always true with a 0.5 probability 09:19:47 a is the negation of A, and .a is the negation of .A 09:19:55 now 09:20:11 the actual program consists of triples, written simply by concatenating three variables 09:20:17 like, a line of code could be 09:20:26 Abc ABc AbC ABC 09:20:57 that means (A or not B or not C) and (A or B or not C) and ... 09:21:09 on every line, 3-sat is run on the set of clauses 09:21:28 now this is simple sofar, we've just set A to 1 09:21:34 yes 09:21:39 good 09:21:43 but, this is the interesting part 09:22:13 let's assume we haven't set A to anything, and start with no vars set 09:22:26 we can set A to 0.5 by doing something like this 09:23:09 A.aB A.ab a.AB a.Ab 09:23:28 if you cannot see why, which i'm assuming you don't, i can show how to deduce that 09:24:13 we start with A = .A, because we want to set A to 0.5, that is, we want to "make A true with a 0.5 probability" 09:24:43 (.A's value has nothing to do with A's value initially, i'm just starting naming from A with both kinds of vars) 09:25:18 (A = .A) = (a ^ .a) v (A ^ .A) 09:26:20 well, i actually used a truth table, thought i could deduce this easily :P 09:26:21 hmmhmm 09:26:52 (a ^ .a) v (A ^ .A) = (a ^ .a ^ b) v (A ^ .A ^ B) v (a ^ .a ^ b) v (A ^ .A ^ b) 09:27:05 this is clearly true, we've added a variable that, given either value, makes this true 09:27:45 now, we should turn the minterm representation into a maxterm one 09:28:17 so we take all the cases that make the statement false 09:28:50 that is, (A ^ .a ^ b) v (A ^ .a ^ B) v (a ^ .A ^ b) v (a ^ .A ^ b) 09:29:08 and we kinda flip it, to get 09:29:26 (A v .a v b) ^ (A v .a v B) ^ (a v .A v b) ^ (a v .A v b) 09:30:04 and then it's a simply syntactic manipulation to get A.aB A.ab a.AB a.Ab 09:30:11 err 09:30:37 i actually had an error there, let's see where i made it... 09:30:42 i should've prepared this :P 09:30:52 ah don't worry 09:31:00 did you get it? 09:31:00 try preparing and then pastebinning 09:31:05 and no, I haven't done yet 09:31:11 but I haven't really being paying attention 09:31:15 I'm still in go-through-email phase 09:31:19 hehe 09:31:21 and I was planning to logread it later 09:31:32 ah i see 09:31:41 well perhaps i'll do it properly in a pastebin 09:32:04 hmm 09:32:14 seems i need to go now. be back as soon as possible 09:32:22 because this is not even the interesting part yet 09:32:24 -> 09:35:18 assuming AnMaster comes through with the erlang threads 09:35:19 Still, given how AnMaster is, I'd be surprised if it didn't. 09:35:21 hm? 09:36:16 Doesn't cfunge already do that? At least it does 64-bit cells, it only stands to reason the cell addresses are 64-bit too. <-- well yeah 09:36:21 and efunge have bignum cells 09:36:53 ais523, hi btw 09:37:03 hi AnMaster 09:37:12 ais523, have you seen the ATR spec? 09:37:19 oh wait yeah you posted the DRAFT bit 09:37:24 yes, well allowing for the typo yes 09:37:35 ais523, what typo? 09:37:39 "ATR spec" 09:37:43 ah right 09:38:03 ais523, I just had breakfast, and I'm not a person that is good with mornings 09:38:10 heh, same 09:38:15 well, I'm alright with mornings 09:38:20 but only if I've had a good night's sleep 09:38:20 ais523, anyway, any comments on the spec? 09:38:23 which I haven't 09:38:30 ais523, also mutex needs to be renamed 09:38:36 "hasp" was a good suggestion 09:38:41 maybe you got something better? 09:38:49 lock is too common as well 09:38:50 I don't normally deal with that sort of threading stuff 09:39:01 the threading stuff I deal with is much crazier 09:39:05 the point is "mutex" and "lock" are too common words 09:39:07 for this 09:39:17 so I need a better, more original name 09:39:17 do it like INTERCAL, have commands which dynamically delete themselves from the playfield when encountered 09:39:24 atomically with whatever it is they were meant to be doing in the first place 09:39:29 hehe 09:39:50 ais523, making stuff atomic here isn't very easy I'm afraid :/ 09:40:17 ais523, either it is async message passing (or blocking waiting for reply) 09:40:33 or it is the set of actions restricted by ets tables 09:40:42 ah, ok 09:40:52 the G P and C will need some complex locking 09:40:58 well yeah for C to work 09:41:16 Note that an implementation _may_ make g, p and other such instructions 09:41:16 synchronous as well, but it is not guaranteed. Block access should never be 09:41:16 synchronous. 09:41:24 at least to begin with that will be true 09:41:29 for my implementation 09:41:41 g, p and such will be sync as well that is 09:42:32 ais523, anyway do you have any knowledge of pthreads? Would this be painful to implement there? 09:42:46 I don't have much knowledge of pthreads, and no idea 09:42:50 hm 09:43:48 it should be reasonably ok in erlang, only need G,P and C to handle a global lock there, since there is no atomic thing I can use as C on ets tables 09:56:06 be back soon, rebooting (I've just upgraded the kernel) 10:29:42 http://www.vjn.fi/pb/p545622444.txt 10:29:47 ais523: back yet? 10:29:53 yes 10:29:59 you can find out by /pinging me 10:30:10 if I'm not here you won't get a reply 10:30:47 check that out, probably doesn't make that much sense, in which case you can ask further questions 10:30:50 ais523, I got a reply sometimes when you said just a few minutes after that your connection had failed 10:30:52 so hm 10:30:53 assuming you'll read that at some point 10:31:12 yes, you have to wait for the bouncer to notice I'm not here first 10:31:16 which i hope you do, because i think it's a pretty interesting idea 10:32:50 oklopol, a question about that 10:32:53 (B = .A) ^ (c v C) 10:33:03 yes? 10:33:09 oklopol, are C and c variables? 10:33:11 yes 10:33:16 oklopol, and v? 10:33:18 c is the negation of C, as i explain there 10:33:19 oh 10:33:23 "v" is "or" 10:33:31 oklopol, ".[A-Z] (and .[a-z]) denote variables (and their negations)" 10:33:35 "^" is "and" 10:33:37 then it is inconsistent 10:33:54 actually 10:33:59 i should've escaped . i guess 10:34:08 oklopol, hm? 10:34:16 so you need .c and .C? 10:34:20 .[A-Z] as in, "\.[A-Z]" 10:34:21 well that could work 10:34:31 .[A-Z] aren't normal variables 10:34:33 [A-Z] are 10:34:36 oklopol: .[A-Z] is perfectly good wildmat syntax 10:34:51 .[A-Z] (and .[a-z]) denote variables (and their negations) that are true with a 0.5 possibility 10:34:56 hmm 10:35:04 well yeah, the issue was it seemed to suggest that v was also a variable 10:35:09 it seems i've removed the line that explains actual variables :P 10:35:14 oklopol, yep 10:35:27 AnMaster: well that's not the actual language's syntax, just logic to show how to deduce the program 10:35:56 oklopol, still better explain variables too 10:36:19 btw, is it turing complete or not? 10:37:47 my guess is it'll be turing-complete once oklopol figures out how to do flow control 10:37:57 ah 10:39:00 yes 10:39:11 but sofar, i've only solved the issue of infinite storage 10:39:44 oklopol: is it retrievable, though 10:39:49 I see how to store rationals into variables 10:39:52 yes 10:39:53 but how do you get them back out again? 10:39:56 oh 10:40:03 well i'm not *entirely* sure 10:40:17 but you can "or" variables to get them to grow in probability 10:40:33 so i'm pretty sure you can somehow encode integers that can be inc'd and dec'd 10:40:52 also 10:40:54 yes 10:41:06 as it's 3-sat, i'm pretty sure it's a two-way operation 10:41:07 but being able to tinker with a probability is no good if you can't find out what it is 10:41:10 so you can do something like 10:41:14 ah 10:41:22 well i could make things depend on whether something is 1 10:41:25 so 10:41:28 1 can represent 0 10:41:31 are there any gooey kits for erlang? 10:41:31 Don't know about Erlang; I'm sure there are, most languages seem to have bindings. 10:41:33 well there is gs 10:41:37 which uses tk 10:41:39 and 1/(2^n) can represent n 10:41:50 now, i can inc and dec as much as i want, and branch on 0 10:41:56 which is what register machines do 10:42:01 I also seen some custom GUI toolkit rendered to opengl 10:42:05 used by wings3d 10:42:11 And "erlgtk" in sf.net. 10:42:12 a 3d modeller coded in erlang 10:42:17 fizzie, hm, erlqt? 10:42:34 anyway gs is there by default 10:42:42 so, A = B + 1: A = B ^ .A; A = B - 1: B = A ^ .A 10:43:20 and is used for the erlang debugger and some other bits 10:43:32 ais523: got it? 10:43:56 ah, ok 10:44:16 depending on probability 1 seems a bit non-physical, really 10:44:19 but I suppose it makes sense 10:44:30 atm, I'm just annoyed with this VHDL project I'm doing 10:44:39 I wrote it recursively originally but it crashed the compiler 10:44:46 (I even got the compiler to segfault at one point) 10:44:48 fizzie, anyway I guess one could provide bindings for esdl to efunge... Would be pretty mad probably 10:44:50 so I rewrote it iterativel 10:44:53 *iteratively 10:45:00 might as well have "evaluate erlang term" or such 10:45:02 which is a pain for parallelised mergesort 10:45:37 anyway, now I'm trying it on a different compiler 10:45:41 and it's reporting an internal error 10:45:45 even for the iterative version 10:45:49 ais523, not very helpful 10:46:00 and the line number it gives is in its own source code, only it's closed-source... 10:46:11 ais523, what about using an open source one? 10:46:41 I am, for simulation 10:46:42 ais523: non-physical? i'm using an np-complete operation as the basic unit of computation, you think i care? :P 10:46:49 oklopol: OK 10:46:59 ais523, and report that internal error as a bug to the developers 10:47:00 AnMaster: but you need proprietary synthesisers to synthesise for proprietary FPGAs 10:47:06 like the ones we have to use in the assignment 10:47:07 it's probably already tc if i just add a while loop. 10:47:35 assuming i have a scope for the loops 10:47:41 hmm... not only is there an internal error, but the webpage that's meant to describe what the error is is 404 10:47:51 ais523, ok that sucks 10:47:52 now I have to guess what the problem is 10:48:19 probably it's what VHDL was warning me about, for loops with exponentiation in the calculation of their bounds 10:48:49 ais523, and how do you avoid that? 10:48:49 (VHDL is very weird, most langs wouldn't care about something like that, but you have to understand that synthesis-VHDL has + - and *, but / is only possible by a constant power of 2, for instance) 10:49:09 AnMaster: my guess is to pass the entity both the number of bits and 2 to its power as generics 10:49:18 then loop too many times and use ifs to do nothing when the loop counter is too high 10:49:20 huh 10:49:23 that sounded strange 10:49:29 VHDL is strange 10:50:03 it's the only lang I know of where arrays are normally numbered backwards 10:50:12 i.e. the first element is some large number, the last element is 0 10:50:26 ais523, why on earth? 10:50:41 because an integer is normally represented as an array of bits 10:50:45 and that's the way bits are normally numbered 10:50:54 it gets very confusing trying to do it the other way round 10:51:02 oh? 10:51:39 does anyone have ideas for a name for a language based on doing 3-sat with probabilities? 10:51:42 say you have 128, as a std_logic_vector 10:51:46 oerjan: this may be your field 10:51:54 then you want to extract the least significant bit 10:52:04 slicing it with (0) makes a lot more sense than slicing it with (7) 10:52:09 ais523, yep, that depends on endianness 10:52:21 well, you define the endianness yourself in VHDL 10:52:26 ais523, what about if you want the most significant bit then? 10:52:30 i don't like acronyms, i prefer puns of some kind 10:52:39 but bits within a byte are nearly always big-endian in practice 10:52:51 and you could write that as myvector'left 10:52:57 well, myvector(myvector'left) 10:53:09 ais523, does x86 have a bitendianness? 10:53:11 huh 10:53:22 AnMaster: what is this x86 you're talking about? 10:53:28 ais523: is VHDL a Lesser Language than Verilog? 10:53:35 oklopol: they started out different 10:53:43 and by that i mean more low-level 10:53:44 but after a while all the features from each were added to the other 10:53:48 haha 10:53:52 ais523, don't be silly, I was just wondering if bits are little- or big-endian on x86 10:53:54 i just know verilog 10:53:56 so nowadays they're the same lang with different syntax 10:54:17 AnMaster: the x86 doesn't have bit-extract operations IIRC 10:54:21 well that's nice, syntax is what i learn the fastest 10:54:34 most of the processors I know of that do number bits big-endian though 10:54:38 ais523, indeed it doesn't, but internally it need to have some endianess for them 10:54:43 why? 10:54:44 ah right 10:54:49 the bits are on parallel wires, normally 10:54:52 no ideas for the name? guess i need to switch my brain to text mode 10:55:03 ais523, what about serial interfaces then? 10:55:06 they're usually in math mode when designing the language 10:55:11 AnMaster: they can be defined either way round 10:55:22 I'm not sure offhand which RS-232 is 10:55:26 ais523, ok, what about sata? 10:55:27 which is embarrasing because I ought to be 10:55:59 oklopol, "they"? 10:56:17 AnMaster: i use plural and singular interchangeably when talking about brains 10:56:58 well yeah the English way is pretty strange there... in Swedish you would use something like brainhalf when referring to the left or right part 10:57:59 AnMaster: apparently SATA doesn't use either, it uses a lookup table to translate bytes into something more balanced 10:58:17 computers are fine with a glut of 1s or 0s 10:58:22 the fun thing about loops is, this language is like prolog in that nothing you state is forgotten, ever, unless things go out of scope 10:58:28 but fast cables don't like sending the same bit lots of times in a row 10:58:37 so the program is just an incredibly big set of clauses :P 10:58:42 ais523, heh 10:58:47 let's try writing an infinite loop and invent flow control 10:59:00 so basically it uses a lookup table to map the 256 possible bytes onto sets of 10 bits with balanced 0s and 1s 10:59:05 thus no endianess involved 10:59:48 ais523, what about using more than 1/0 when sending, having say 1,1.5,2,2.5 or so 11:00:09 that doesn't help in practice for digital signals 11:00:16 I mean generically it ought to be good data compression 11:00:22 the data rate stays the same, because the noise susceptability gets worse 11:00:28 so say you use 4 logic levels 11:00:37 you have to halve the speed to keep the signal/noise performance the same 11:00:42 ais523, did anyone ever use that on old modems to provide higher speed? 11:01:08 I seriously doubt it, doubling the clock rate is normally a lot cheaper in circuitry than doubling the number of logic levels 11:01:14 ais523, hm 11:01:16 ok 11:01:18 on the other hand, that sort of technique is used on radio signals all the time 11:01:23 oh? 11:01:24 as they don't have constant voltages anyway 11:01:28 you mean for vlan and such? 11:01:30 err 11:01:31 wlan* 11:01:46 well, that sort of thing 11:01:52 hm 11:01:53 also on wires which are sending waves rather than pulses 11:02:03 but that's less common, normally only used for fibre optics and such 11:02:07 ah 11:02:15 because light is inherently a wave 11:02:28 ais523, as well as a particle :P 11:02:50 yes 11:03:01 but the wave-like nature matters more if you're sending with lots of photons at once 11:03:09 which most communication systems do 11:03:32 anyway having 4 logic levels would allow you to encode bit-pairs. like 00 01 10 11 11:04:00 which ought to double the speed in theory 11:05:14 you don't even need to describe an uneven number of bits, since bytes are 8 bits and you never send anything less than bytes anyway 11:08:42 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 11:11:39 oerjan: this may be your field 11:11:43 no immediate ideas 11:12:06 http://www.vjn.fi/pb/p633146536.txt <<< using the vars as numbers 11:12:31 ok, NoProb pops up 11:12:48 is there a justification for No? 11:13:00 only to make the pun work 11:13:09 and the initials 11:13:13 :D 11:13:16 wow i missed that 11:13:52 you see, i need to be able to explain all the parts of the name to myself 11:13:58 out of the realm of the pun 11:14:13 must be completely sensible both as a pun and as just a name 11:14:14 but 11:14:45 that's a good name 11:14:52 :) 11:15:03 thankses! 11:15:12 hmhmm 11:15:38 looping is a bit hard to do, because i don't want to do it like prolog does, and i don't want mutable variables 11:16:11 so i want an explicit looping construct with scoping so i can create new variables 11:16:45 well 11:17:01 i guess i'll just start from the top, and convert something prolog-like into 11:17:04 explicit looping 11:17:43 oh, basically i want a construct that simulates tail-recursion 11:18:58 it's a while loop that's basically a procedure, the "scope" is simply the list of arguments, and after the loop, we recurse with some variables we created in the body as the new arguments 11:19:09 i'll try making an example 11:19:28 ah, the lecturer here has solved my VHDL compiler problem 11:19:32 by giving me a third compiler 11:19:43 (and it seems to handle the code fine) 11:27:44 also, VHDL is the only lang I think I've ever written a for loop which only ever iterates once 11:28:42 always exactly once? or once or zero 11:28:50 always exactly once 11:29:07 and this seemed like a good idea at the time? 11:29:15 it still seems like a good idea now 11:29:17 it saved a lot of typing 11:29:33 basically I used it to define a variable at compile-time 11:29:36 oerjan: i'm pretty sure he's written brainfuck, and i'm pretty sure he's done ifs 11:29:38 except 11:29:40 a constant with a calculated value 11:29:41 they're while-loops 11:29:45 so ignore me. 11:30:02 by having it at both ends of the control range 11:30:09 and using the iteration count as a constant 11:30:24 for-generate loops are always unrolled at compile time in VHDL 11:30:29 and I'm taking advantage of that here 11:31:53 is this just a way to simulate functional-style let expressions? 11:32:03 yes 11:32:34 given that the expression in question is (2**inputcountbits)*((depth*(depth-1)/2)-1)+(2**depth)*height, I think it was justified 11:32:48 also I use that value 12 times within the 'loop' 11:33:01 i'm just surprised there is no simpler way 11:33:20 generally speaking people don't do expressions that complicated at compile-time 11:33:30 heh, I even have a compile-time bit-reversal function 11:33:34 but that's written as a procedure 11:33:46 I can do that because it's never involved in the control variable of a for-generate loop 11:33:58 ah so it's something Man was not meant to do 11:34:14 clearly some good Mad Science, then 11:34:23 well, more to the point, it's because most of VHDL is deliberately limited to simple stuff 11:34:30 because most VHDL synthesisers are stupid 11:34:46 for instance there are some cases where and isn't commutative 11:34:59 simply because if you write the arguments the other way round, the synthesiser won't recognise the idiom 11:35:12 so one way round works, the other is a compile failure 11:36:58 ais523, so non-idiomatic VHDL is a bad idea? 11:37:02 yes 11:37:07 huh 11:37:10 you have to memorise the idioms more or less 11:37:29 hmm... it's sufficiently annoying, actually, that I'm thinking about writing a compiler from non-idiomatic VHDL to idiomatic VHDL 11:37:49 which let you express all the things which are very difficult to express in idiomatic VHDL 11:38:13 heheh... 11:38:48 for instance, it took me about an hour to figure out how to express a latch that can be sampled at the leading edge of any of a set of clocks 11:38:57 it involves a latch for each clock, and lots of XORs 11:39:19 so each clock toggles one latch whenever it wants to toggle the output, and the latch's outputs are xored together 11:40:08 nonidiomatically you just need to write leading_edge(clock1) or leading_edge(clock2), which is so much simpler... 11:42:40 ouch 11:43:18 anyway, going to get lunch now, I'll be back in a bit 11:50:58 ais is 523 feet tall 11:57:02 okay, i think the language's semantics are complete now, and i think it's TC, but it's so weird i'm not sure i have the courage to spec it. 11:57:12 bye ais523 11:57:18 (and hi ais523) 11:59:43 22:20:19 ehird: You get a%x from (a+b)%x if you know b and x; doesn't matter, of course, if you limit yourself to numbers in [0, x-1]. And if you noticed, I did use numbers [0, 19] for d20 precisely for that reason. 11:59:56 Yeah, but, there are two rolls of sides that added mod sides 12:01:13 Yes, that's what I did. 12:02:07 " I want to roll a d20, my hash is -- okay, my [1, *20*] random number is " 12:03:13 fizzie: the point is, at the end, you have to use the crazy hash data to seed the prng, generate a number (which will be equal to a's!!), then check that it's alice's part 12:03:15 if ((alices_num + num) % sides) == final: 12:03:17 seems to work fine 12:03:44 fizzie: version 2.0: http://pastebin.ca/raw/1229263 12:03:59 Usage: 'python roll.py [sides|100]' 12:04:10 If you add 'alice' to the end of the arguments, you are the diceroller persony thing. 12:04:23 When it outputs a line, paste it to IRC, when you get a line from IRC, paste it in. 12:04:26 Looking. 12:04:44 Nobody apart from me has tested being alice, so feel free to do that if you want. 12:07:41 I'm not sure I see the need of the PRNG there, instead of just taking the seed modulo sides. It's random, already. 12:08:04 Oops there's a bug on b's side. 12:08:08 change sides/2 to sides 12:08:25 fizzie: because it didn't have an even distribution when i tried that 12:08:34 it had a strong bias to small numbers. 12:08:51 but yeah if you want to test it changes sides/2 to sides and run it as 'python roll.py 100 alice' :-P 12:09:20 That's strange, /dev/random bits should be uniformly distributed. 12:09:39 fizzie: They are, but play up when modulo'd. 12:10:13 I think it'd work if the sides were divisible by the number of the bits or some silly thing like that 12:10:22 It should be a pretty small bias when you have a big number (is that 50 bytes?) and are computing modulo a small number of sides. 12:10:39 fizzie: oh, yeah, 50 bytes. And, well, the sides is arbitary. 12:10:42 I guess involving the PRNG can help, though. 12:10:51 I've been testing with 100 sides, but 10 sides and 1000 sides are perfectly reasonable. 12:11:58 " I think it'd work if the sides were divisible by the number of the bits or some silly thing like that" <-- you need the MAX_INT_FOR_YOUR_SIZE % MAX_SIDES == 0 12:12:03 I think 12:12:14 Right.. 12:12:18 *Right. 12:12:22 So I've brought the PRNG in. 12:12:24 It's a bias, yes, I just wonder how easy it should be to notice. 12:12:45 alright. should we test? Let's do 1000 sides, for the novelty. I'll be bob. 12:12:50 fizzie, depends on the values of MAX_INT_FOR_YOUR_SIZE and MAX_SIDES 12:13:58 doo doo 12:14:34 -!- jix has joined. 12:15:47 I mean... if you take a uniformly distributed unsigned 32-bit number, so [0, 4294967295], and do modulo 1000, you still get a probability of .00099999983585 for [0, 295] and .00100000006868 for [296, 999]. That's something that's not very noticeable. 12:15:51 Let's see. 12:16:09 Yeah, but, 10 sided dice. 12:16:11 Are far more common :-P 12:16:33 Yes, and the bias is even smaller there. 12:17:44 .09999999990686774 vs. .10000000013969 for ranges [0, 5] and [6, 9]. 12:18:05 fizzie: Well, shush you. :-P 12:18:13 Are there any actual _advantages_? 12:18:34 Less complex, and you don't have to trust your PRNG to do anything sensible. Not much else. 12:19:20 hi ais523 12:19:30 fizzie: Well, fine, I'll make it do that 12:19:41 Because you're a communist. :| 12:20:02 back 12:20:06 If you want to do it without bias, you'll need to take a number in range [0, K] where K % sides == 0; you can do that by discarding unfun values. 12:20:10 Oh, right, roll 1000 c21ca587f12bd71d1ac8b2e99c5cc3d7a9541efe 12:20:21 wait, wait 12:20:23 i'm patching it 12:20:23 :P 12:20:26 Oh. :/ 12:20:47 also, my email is broken atm 12:20:55 the University's server admins strike again... 12:21:10 fizzie: http://pastebin.ca/raw/1229270 12:21:23 and the Door has gone through a whole load of revisions since Wednesday, it seems 12:21:29 atm it lets me in and out, but not anybody else... 12:21:41 yay 12:21:55 oerjan: why the yay? 12:21:56 Anyway... you can do "limit = max_int / sides * sides" (if you have a truncating division) and then reading random numbers as long as you get something that's = sides. 12:21:59 the admins are regularly on strike? 12:22:14 oerjan: no, just incompetent AFAICT 12:22:17 fizzie: Is the bias ever really that bad? 12:22:25 or maybe competent just Exchange is good enough at breaking to beat them regularl 12:22:28 *regularly 12:22:41 fizzie: I mean, the PRNG is effectively 0-bias. 12:22:47 And... that's a good thing in a dice roller. 12:22:49 I'd say. 12:23:19 also, I have a new mouse now, not that that's particularly relevant 12:23:20 ehird: That just depends on how Python implements the .randint(0, sides) part. 12:23:25 bought it about 10 mins ago because the last one broke 12:23:38 fizzie: Mersenne Twister, I believe. 12:23:43 ais523: congrats 12:23:59 even better, this is Linux, so I can just ignore the install CD 12:24:08 That's the PRNG, but it doesn't say anything how Python reduces it to that range, since that's what causes the bias in the straight-forward modulo thing. 12:24:16 ais523, :) 12:24:24 ais523, as for that door, weird... 12:24:27 * ais523 wonders if move-mouse-wheel-sideways does anything, or is even detected by Linux 12:24:43 probably not, as Emacs seems not to notice it 12:24:44 ais523, ah that I can help with I think 12:24:45 Simply using the computing the next PRNG state and using that modulo N won't help with the bias except that it will bias something else than the small numbers consecurively. 12:24:51 AnMaster: I'm not sure what I'd do with it anyway 12:24:52 ais523, it needs a bit of work in xorg.conf 12:25:02 ais523, not mouse driver, but evdev 12:25:04 or it won't work 12:25:09 ah, ok 12:25:13 what is it meant to do, btw? 12:25:19 fizzie: Okay, true. 12:25:22 even on Windows? 12:25:23 http://www.vjn.fi/pb/p543544164.txt <<< a short program written in a noprob wimpmode 12:25:25 ais523, scroll sideways 12:25:26 fizzie: Well, http://pastebin.ca/raw/1229270, and let's try. :-P 12:25:29 I believe 12:25:35 hokay 12:25:36 here goes 12:25:40 ugh, that isn't a particularly common operatoin 12:25:43 ehird: I'm already trying, but it's horribly slow. There's not much entropy going in that box. 12:25:43 ais523, quite good in, say, gimp or similar 12:25:44 test 1 of version 2 of the amazing 12:25:47 amaaaaaaazing 12:25:51 it all depends on what you do 12:25:56 DISTRIBUTED CHEAT-PROOF DICE ROLLER 12:25:57 if it happens on a web page, I hold middle mouse button and use autoscroll (I have firefox set to autoscroll) 12:26:11 ah, and I don't do much graphics, that probably explains it 12:26:30 * oklopol tries again when the traffic dies down a bit 12:26:40 oklopol: I'm looking at that link now 12:26:52 hmm... now I want to invent a mouse which has a trackball under each finger 12:26:58 each of which can be clicked downwards as well as moved 12:27:01 ais523, anyway evdev is a generic thing that can handle most types of HID devices basically 12:27:09 fizzie: For me it's instant. I think OS X /dev/random uses Yarrow... 12:27:16 i'm not that good at speccing, i either give examples or just formally define how to run the language. 12:27:20 err that would be silly "HID devices" since HID means Human Interface Device iirc 12:27:21 so i usually take the example road 12:27:23 but yeah, it's instantaneous for me 12:27:39 wtf does "Probloture" mean? 12:27:41 which isn't really a spec, but perhaps gives you an idea how problotures work 12:27:42 :D 12:27:44 AnMaster: I got the money to buy a HID device from the ATM machine, but I had to enter my PIN number and I got RAS syndrome. 12:27:45 it's a procedure 12:27:51 but you can only do tail-recursive calls 12:27:55 ehird, hehe 12:28:07 ehird, what is RAS? Remote Access Service? 12:28:10 kinda like a lambda that cannot be passed to other lambdas, but it's implicitly passed itself. 12:28:14 AnMaster: Redundant Acronym Syndrome syndrome 12:28:16 look it up 12:28:19 hehe 12:28:50 ehird, and ATM would be Async Transfer Mode to me 12:29:09 AnMaster: Automated Teller Machine. 12:29:10 ais523: procedure + block = probloture 12:29:12 ah, ok 12:29:14 ehird, ah, ok 12:29:24 i couldn't find a sillier way to mix those together 12:29:30 really, though, redundant RAS syndrome is just a syndrome caused by redundant use of acronyms 12:29:30 ehird: Don't know about OS X; at least on Linux reading from /dev/random will block until the kernel thinks it's seen enough entropy to actually return random numbers; and there's not many entropy sources on that box. I assume it uses interrupt timing as one source, but since there's no keyboard/mouse it won't get those very much either. 12:29:39 ais523, also clicking middle button can be a bit hard with a tilting scrollwheel, at least it took a while to learn it for me 12:29:44 Well, there it goes: roll 1000 e62a7161266e41a150dd47f895c3fd3bcccd332d 12:29:52 ais523, since if the wheel is tilted the click doesn't register 12:29:59 fizzie: rolled 664 12:30:02 may be different for you 12:30:07 ehird: on Linux read from /dev/urandom instead if you want it to invent slightly less random numbers rather than waiting for entropy 12:30:14 ais523: no, I want true randomness 12:30:31 ehird, even /dev/random isn't truly random 12:30:36 if i'm paranoid enough to make it distribute over 2 users to eliminate cheating i'm paranoid enough to make sure it's truly random 12:30:37 AnMaster: no 12:30:39 but it's closer than urandom 12:30:50 ais523: This is dice-rolling, after all! You can't be too careful. 12:30:52 oklopol: you realize there is no t in either of the mixed words? 12:31:02 :d 12:31:03 fizzie: Did you notice my reply? 12:31:06 Paste it into the program. :P 12:31:07 oerjan: no i didn't :P 12:31:08 oerjan: t is a contraction of cd in this case 12:31:15 ah 12:31:17 ehird: Nope. 12:31:18 I think 12:31:24 oklopol: looks interesting, I think I get how it works 12:31:25 but yeah i guess it just sounded better. 12:31:26 fizzie: rolled 664 12:31:39 that's some nasty assimilation 12:31:46 ais523: that was the closest to while-loops i could get without adding mutability 12:31:49 final roll 745 (GaA7CjB9HcbwBdFkwZzBe1lsln6sl8JlOe6ZqVT0erl2JyPWGHNG3gnUdzSeHLKARMk=) 12:31:51 or lambdas, or procedures 12:31:56 i didn't want any of those 12:31:56 what do you mean by "mutability" here? 12:32:03 fizzie: Well, my program says you're not a cheating communist. 12:32:15 ais523: that a variable could change value because of something other than backtracking. 12:32:19 ah, ok 12:32:26 also, how do you do the equivalent of an if? 12:32:27 everything that's stated must always be true 12:32:31 ais523: implication 12:32:37 Maybe I should've tried to cheat. 12:32:41 see the example in the end 12:32:53 ah, ok 12:32:57 very VHDL, really 12:33:06 except VHDL doesn't do backtracking 12:33:23 hmm... NoProb : Prolog :: VHDL : C 12:33:29 that's one strange analogy 12:33:36 perhaps something like that :P 12:33:49 NoProb? 12:33:54 what is that language 12:33:56 AnMaster: oklopol's 3-sat language 12:33:57 AnMaster: the language i made today 12:33:59 ah 12:34:03 why that name? 12:34:15 NoProb, NP, 3-sat is an np-complete problem 12:34:19 well, it's a very oklo sort of name 12:34:23 Prob because there's probabilities involved 12:34:25 just because all the vowels are o 12:34:26 ah 12:34:30 the name was from oerjan 12:34:38 I should have guessed 12:34:53 * ais523 wonders how easy it would be to write English without a, e, i, or u 12:34:54 (that oerjan did it) 12:35:14 AnMaster: also I can middle-click even with a tilted scroll wheel 12:35:24 ais523, ah, what mouse is it then? 12:35:30 it's from Toshiba 12:35:34 ah ok 12:35:35 ais523: not so good to do 12:35:37 ais523, is it large? 12:35:42 larger than my old mouse 12:35:48 hmm... 12:35:50 ais523, I have issues finding a large enough mouse, or even large enough keyboard 12:35:52 could be interesting carting it around in a laptop bag, I suppose... 12:35:53 how the fuck can i implement that 12:36:01 a full size pc keyboard is about as small as I can handle 12:36:07 wow 12:36:08 I would prefer slightly larger 12:36:15 ais523, well I got big hands 12:36:21 maybe you should get a projection keyboard, and put it further away from the table 12:36:26 but those take a lot of getting used to 12:36:38 i have tiny hans 12:36:40 *hands 12:36:49 ais523, I also like "deep" keyboards, so laptop ones are horrible, the keys should go down properly 12:36:56 * ais523 tries to imagine AnMaster using an iPhone 12:36:59 full-sized php keyboards suck, this apple keyboard is stretching it a bit 12:37:04 can't reach the very top keys 12:37:05 ais523, I'd rather not 12:37:09 AnMaster: ah, ok, projection keyboards are famous for the keys not going down at all 12:37:22 i could solve 3-sat with brute-force and a few optimizations, the problem is, there are probabilities, so really i'm solving the #P version of it, because i need to enumerate all ways to get truth out of a statement 12:37:24 ais523: the iphone keyboard isn't actually that bad once you get used to it... 12:37:29 my recent agora mails where sent with it 12:37:34 (post-2am bst last night) 12:37:36 ehird: it probably depends on how big yout hands are 12:37:44 ais523: you use one single finger... 12:37:44 also it seems only Microsoft make reasonably sized mice 12:37:48 or two thumbs 12:37:49 which is bloody strange 12:38:09 yet those mice are at least usable even though they are about 1 cm too short 12:38:10 another problem are the recursion vars 12:38:14 Microsoft don't make mice at all, the Microsoft mice are Logitech mice with a different logo on IIRC 12:38:33 ais523, the Logitech ones I seen have been smaller and harder to use 12:38:43 yes, probably they're different hardware specs 12:38:44 I don't know about Microsoft today, but they certainly weren't logitech mice around the Intellimouse Explorer time. 12:38:49 ah, ok 12:38:57 the problem somehow needs to evaluate 3-sat *lazily*, and still *enumerate all possible ways to get 1*, if it's not lazy, it will infloop, if it doesn't enumerate all possibilities, it cannot calculate probabilities 12:38:58 also, does anyone else use less to read email, or is it just me? 12:39:04 AnMaster: are your hands like... joseph merricks 12:39:07 well mine says "Microsoft Comfort Optical Mouse 3000" 12:39:09 ais523: just you 12:39:12 ehird, like who? 12:39:22 AnMaster: http://en.wikipedia.org/wiki/Joseph_Merrick the elephant man 12:39:26 but, i guess this is my everest, not yours, i think i'll read something 12:39:28 -> 12:39:41 How long is that Comfort three thousand? 12:39:45 ehird, no... 12:39:47 hmm... I've realised that all my 4 or so outstanding problems to solve before I can implement Feather are actually the same problem 12:40:11 ehird, I'm just large. Around 190 cm iirc (189.7 cm I think last I checked) 12:40:25 wow, that is pretty tall 12:40:36 ais523, well yeah, I'm tallest in family 12:40:54 i don't know centimeters for height 12:40:56 bizzarely 12:40:56 the outstanding problem in Feather is: to determine what in the program after a change corresponded to what before a change 12:41:00 (about 3 cm longer than my dad, and 5 cm longer than mom.) 12:41:07 ehird, well try google then 12:41:08 ehird: there are 39 inches in a metre, you can calculate it from that 12:41:12 ais523: yes 12:41:14 AnMaster: also "taller" not "longer" when talking about people 12:41:15 i was just commenting 12:41:17 since i just realised 12:41:21 ais523, ah right 12:41:25 i know some things in metric and some in imperial 12:41:31 same word for both in Swedish... 12:41:47 yes, there's no real reason to draw a distinction 12:41:54 (about 3 cm longer than my dad, and 5 cm longer than mom.) <- heh, this is a rather unfortunate slip derived from being non-native... 12:42:00 in English, I think "taller" is normally used for things that are generally measured upwards 12:42:07 such as people 12:42:08 ehird, which is bloody weird 12:42:09 or tall buildings 12:42:15 ais523, ^ 12:42:18 I meant 12:42:22 whereas longer is used for something that's measured horizontally, like snakes 12:42:34 in finnish, we have separate words for tall and long, except we still use long for people :P 12:42:36 ais523, what about diagonally? 12:42:46 AnMaster: hmm... that's an interesting point 12:42:53 probably I'd use "long" for 45 degrees 12:43:02 ais523, and for 46? 12:43:03 saying someone is tall would be like saying they're "high" 12:43:04 but it would become more likely to be "tall" as it became more vertical 12:43:10 except without the drug connotation 12:43:11 ais523, ok.. 12:43:26 probably it wouldn't be consistent from one speaker to another, probably not even from one speaker to themself 12:43:32 so yes, it's a stupid distinction 12:43:47 i've always been the smallest person in any group of my age 12:43:51 well yeah oklopol, you could use "högt" (high) about a building or so 12:44:01 * ais523 didn't invent English, and normally finds themself agreeing with foreigners when they complain about English being stupid 12:44:04 in Swedish 12:44:06 honestly, i'm about as big as a 9 year old 12:44:10 but long would also work I think 12:44:32 in English "high" would refer to the object itself being a long way above ground, rather than the top of the object 12:44:44 except for buildings sometimes we use "high" anyway despite that rule 12:44:52 ais523: yeah, "that building is really high" 12:44:54 ais523, a tall tower or a high tower? 12:44:57 everything in English seems to have exceptions 12:44:58 AnMaster: both 12:44:59 (a nice interpretation of that is that the building is on drugs) 12:45:03 they mean the same thing 12:45:11 but only for buildings, for some reason 12:45:13 ehird: so, basically, you decided to stop growing your body and used excess on your brain? 12:45:22 a tall aeroplane and a high aeroplane would be quite different 12:45:26 oklopol: no, but it would be amusing to have a huge bulging head 12:45:28 meaning you're actually 15 on irc 12:45:38 or err 16-17 12:45:42 ais523, an aircraft located at a high altitude? 12:45:45 yes 12:45:53 as opposed to an aircraft which measured a lot from top to bottom 12:45:55 sigh 12:45:57 ehird: excess in years, not size 12:45:57 http://www.reddit.com/r/programming/comments/77l5b/forget_rss_here_comes_flickrs_lol_feed/ 12:46:03 fi:korkea means "has a large vertical extent", while fi:korkealla means "located at a high altitude". 12:46:04 a lol feed? 12:46:12 ais523: it's just a lolcode bastardization. 12:46:19 why can't flickr have done an underload feed? 12:46:20 is that even possible? 12:46:25 http://api.flickr.com/services/feeds/photos_public.gne?id=68497070@N00&lang=en-us&format=lol The offender. 12:46:37 ais523: it's basically just "made up shit" 12:46:40 except it looks like lolcode 12:46:44 IM IN UR BUCKETS MAKING UP FORMATS <<< i found this pretty funny :o 12:46:49 so did I, actually 12:46:53 but it's the only funny line in the thing 12:46:54 * AnMaster agrees 12:46:57 The fi:-lla suffix is something like the 'on' preposition in English. 12:47:15 fizzie, ok you are worse with suffixes than Swedish then... 12:48:10 Except that the 'on' preposition in English has a whole lotta uses. Well, I guess our suffix has some others, too. 12:48:20 ehird: the commentors are right, though, that is shorter and clearer than XML, even when compressed 12:48:27 fizzie, well yeah 12:48:38 fizzie: it's worse in Latin, "in" and "on" are the same word there 12:48:40 ais523: Well: http://nomic.info/perlnomic/log.rss 12:48:42 is pretty clear 12:48:49 ais523: the distinction of tall and long is not an arbitrary distinction between objects in different angles, it's so you can tell what kind of size the speaker means 12:48:52 fizzie, prepositions never seem to have a 1:1 mapping between languages, for any preposition... 12:49:47 ehird: well, OK, it still has lots of unnecessary stuff in though 12:49:50 Guys. A blast from the past: http://web.archive.org/web/20040130154403/http://mozilla.org/. Who remembers going there?! 12:50:03 They told you to nab mozilla 1.6 with that flashy silver icon. 12:50:03 someone should invent a YAML version of RSS 12:50:12 "Mozilla Firebird" was a technology preview. 12:50:12 ais523: been done 12:50:16 good 12:50:18 by why the lucky stiff, it's !okay/news 12:50:20 but...nobody uses it 12:50:23 now someone should make it widely used 12:50:24 because nothing supports it 12:50:32 i think the _only_ implementor is hobix for obvious reasons 12:50:49 but yeah, share in my wow at that old mozilla homepage 12:51:11 ehird, why wow? 12:51:20 AnMaster: because it's a blast from the past, so shush 12:51:33 I never understood nostalgia 12:51:38 that reddit entry about the Google quine is quite interesting 12:51:45 ais523, google quine? 12:51:51 link? 12:51:53 AnMaster: that's because you're an inhuman, lifeless machine. :| 12:51:53 google a number and return that many results 12:52:01 http://www.reddit.com/r/programming/comments/77o4g/proggit_chalenge_find_a_number_n_which_when/ is the discussion 12:52:07 apparently 545000 works for some people 12:52:14 but it returned 548000 when I tried 12:52:20 Results 1 - 10 of about 548,000 for 545000. (0.05 seconds) 12:52:22 not really 12:52:24 indeed 12:52:46 its obvious why 12:52:48 google indexes reddit really rapidly. 12:52:51 "I have discovered a truly marvelous number with this property but I can't post it here, because then Google would index my comment and it wouldn't be valid any longer." 12:52:52 hehehe 12:52:57 and all the sites that nab stuff from reddit 12:54:03 AnMaster: Anything natural-language-related is just exceptions on top of other exceptions. For example our adessive case (the "-lla" suffix) has the basic meaning "on top of something" or "around something", but it's also used to indicate possession; "the cat has ears" is "kissalla on korvat", which literally translated would be "there are ears on top of the cat". 12:54:40 fizzie, that sounds hilarious in Swedish 12:54:54 considering "korv" means "sausage" 12:55:05 not that "on" means anything 12:55:10 Falukorv, right. 12:55:20 fizzie, well that is one variant 12:55:30 It's the famous one. :p 12:55:38 mm, falukorv 12:55:50 lunch -> 12:56:12 -!- oerjan has quit ("DRAFT DRAFT DRAFT DRAFT"). 12:56:50 We've got something called "lauantaimakkara", literally "Saturday sausage"; I've never been quite clear what's very Saturday-like about it. It's pretty tasteless. 12:56:54 DRAFT!!!!!!!!!!!DRAFT!!!!!!!!!!!DRAFT!!!!!!!!!!!DRAFT!!!!!!!!!!!DRAFT!!!!!!!!!!!DRAFT!!!!!!!!!!!DRAFT!!!!!!!!!!!DRAFT!!!!!!!!!!!DRAFT!!!!!!!!!!!DRAFT!!!!!!!!!!!DRAFT!!!!!!!!!!!DRAFT!!!!!!!!!!!DRAFT 12:58:29 grr 12:58:46 please please don't let this become sort of channel in-joke 12:58:50 it is just too silly for that 12:59:13 AnMaster: you've pretty much guaranteed it will now 12:59:24 DD!!RR!!AA!!FF!!TT!!!!!!!!!!DD!!RR!!AA!!FF!!TT!!!!!!!!!!DD!!RR!!AA!!FF!!TT!!!!!!!!!!DD!!RR!!AA!!FF!!TT!!!!!!!!!!DD!!RR!!AA!!FF!!TT!!!!!!!!!!DD!!RR!!AA!!FF!!TT!!!!!!!!!!DD!!RR!!AA!!FF!!TT!!!!!!!!!!DD!!RR!!AA!!FF!!TT!!!!!!!!!!DD!!RR!!AA!!FF!!TT 12:59:24 ais523, damn 12:59:31 ehird, that made no sense 12:59:42 ^echochohoo !!!DRAFT!!! 12:59:46 ^show 12:59:47 echo reverb rev bf rot13 hi rev2 fib wc ul ctcp 12:59:47 DRAFT DRAFT DRAFT DRAFT DRAFT 12:59:51 ah, it was deleted 12:59:57 ^echochohoo? 12:59:59 I think some of 'em were lost when someone crashed fungot this morning. 12:59:59 fizzie: hitler killed a lot of 12:59:59 what did that one do 13:00:19 AnMaster: said something, then said it again minus the first char, then again minus the first two chars, and so on 13:00:19 Given the input 12345, it outputted "123452345345455". 13:00:35 ais523, anyway I need to figure out the TODO marked bits, a good name for mutexes (latch is top one currently) 13:00:53 call them "fortunes" 13:01:02 not that it's anything appropriate, but it sounds nice and mysterious 13:01:13 So it would've outputted: !!!DRAFT!!!!!DRAFT!!!!DRAFT!!!DRAFT!!!RAFT!!!AFT!!!FT!!!T!!!!!!!!! 13:01:16 I would prefer that it make some kind of sense 13:01:26 AnMaster: wrong channel 13:01:38 ais523, no more like a extended metaphor 13:01:57 if you want memes to make sense, get out of #esoteric 13:01:57 latches? just call them unsafe flip-flops 13:02:05 oklopol, heh 13:02:18 oklopol, the logic was: mutexes -> locks -> latches 13:02:30 yes, and i continued one level more 13:02:38 a latch would have the operations latch/unlatch/inspect 13:02:39 You could use I and O (as in flIp and flOp) as the operations; no-one would ever remember which one was which. 13:02:42 inspect is like try-lock 13:03:06 fizzie, heh, but what about the try-lock one? 13:03:11 AnMaster: U, as in flUb. 13:03:17 Flip, flop, flub. 13:03:20 fizzie, hm interesting 13:04:00 Maybe a bit silly. I'm trying to think of something completely surprising but with real-life mutual-exclusion semantics. Not having too much luck yet. 13:04:09 fizzie, same 13:06:34 * AnMaster considers "a bouncer" 13:06:46 so 13:06:48 i'm bored 13:06:52 deploy, fire, ask to be allowed to enter? 13:06:55 err no 13:06:55 hmm... the concept of bouncers seems to be an antipattern, actually 13:06:59 too far fetched 13:07:08 presumably IRC channels have join and quit messages for a reason 13:07:18 ais523, well yeah? 13:07:20 i don't thiink he's talking about an irc bouncer 13:07:22 and bouncers exist to stop them ending up in the channel 13:07:23 ah, ok 13:07:25 and indeed not 13:07:51 ais523, as one outside a restaurant(sp?) 13:08:01 think that is the English word for them? 13:08:01 Like this: "Critical sections in the code can be done by copyRighting a particular number; when you have done that, no other thread may copyRight the same number, until you explicitly copyLeft the number first." 13:08:12 AnMaster: yes 13:08:16 fizzie, that may work heh 13:08:30 more often pubs and nightclubs than restaurants, though 13:08:39 fizzie, and what about try-lock operation? 13:08:48 ais523, well yeah 13:09:55 fizzie, "send a letter asking for permission to use"? 13:09:57 Thinking. "You can also simply File for copyright with the F instruction; unlike the copyRight instruction, filing for copyright won't block your thread, but you only get the copyRight for the desired number if it was free." 13:10:11 ah 13:10:14 that could work too 13:10:16 better 13:10:30 fizzie, :) 13:10:52 except what are the implications for FOSS in this? 13:10:58 ;P 13:11:35 oh and using the number in other contexts is obviously fair use. 13:12:11 (such as in unrelated calculations) 13:12:23 Yes, the concept of copyRight in your language would be pretty limited; the only thing it would prevent is the copyRighting of the same number by someone else. 13:12:37 that's not copyright, that's trademarks 13:12:37 fizzie, yes.. hm 13:12:40 ah 13:13:04 ais523, hm 13:13:13 It's not exactly trademarks either, since there are at least some things you can't do with someone else's trademarked logo or thing. 13:13:41 the main thing you can't do with someone else's trademark is use it in a context unrelated to them 13:13:55 I can talk about Microsoft Windows without problems, referring to the operating system 13:14:00 (sco - microsoft) / novell * apple 13:14:01 ? 13:14:05 if I tried to make my own OS called Microsoft Windows, though, I'd be in trouble 13:14:10 AnMaster: 0, obviously 13:14:16 because that's what sco-microsoft evaluates to 13:14:24 ais523, ah right 13:14:29 Are you implying sco = microsoft? 13:14:42 fizzie: I'm implying that SCO would probably be nothing without Microsoft 13:14:44 at least nowadays 13:14:56 I'm interpreting the - as set subtraction, rather than numerical subtraction 13:15:00 which is not anticommutative 13:15:08 ais523, yet you could sell windows? 13:15:12 made of glass 13:15:20 AnMaster: it depends on the scope of the trademark 13:15:27 there's a huge court case going on about this at the moment 13:15:35 between Apple the record company and Apple the computer company 13:15:43 ah 13:15:52 the record company claim the computer company started to breach their trademark when they released the iPod 13:16:07 being music-related, you see 13:16:21 ais523, then they did it when you included speakers in the computers too 13:16:27 logically 13:16:42 well, yes trademark law is a mess 13:16:49 as far as I know that court case is still ongoing 13:17:02 There's been quite a lot of Apple Corps vs. Apple Computer trademark disputes. 13:17:15 http://en.wikipedia.org/wiki/Apple_Corps_v._Apple_Computer 13:17:18 Wikipedia "Apple Corps v. Apple Computer" lists six. 13:17:42 Okay, six sections, anyway. 13:17:44 hmm... it seems they settled eventually 13:17:52 (in the 2007 one, which is the one I was thinking about) 13:18:02 no idea who would have won if they hadn't 13:18:55 Still, you'll have to worry about a language where you can trademark small integers... well, except that in this language the scope of the trademarks would prevent people (well, threads) _only_ from trademarking the same numbers, not from using them any way they wish. 13:19:00 stupid thing to name it the same 13:19:23 fizzie, yep so I'll not use that terminology 13:20:13 maybe "booking out", as in a library? 13:20:24 ais523, hm? 13:20:38 you can book out things, and you give them back later 13:20:45 you can't book something out if someone else has booked it out 13:20:56 normally, though, when you book something out you say how long you're going to need it for 13:21:01 "booked out" would mean? 13:21:09 Possession of a physical object is one thing that's naturally mutually exclusive, yes. 13:21:10 I thought it was "lend/return" 13:21:11 AnMaster: you sign a piece of paper to say that you have it 13:21:15 yes, that works too 13:21:44 ais523, also you can normally be put on a queue for the book, which kind of doesn't work here since the queue order is non-deterministic 13:21:53 at least that is how erlang currently implements waiting for locks 13:22:06 It's just a bit strange library, that's all. :p 13:22:13 ok 13:22:25 fizzie, and the try lock would be checking if a book is in? 13:22:34 heh yes, a reservation 13:22:48 or one of those library enquiry computer things 13:23:34 ais523, try lock wouldn't be like reservation really? Since it would reflect instead of block if the book/lock was lended/held 13:23:47 * AnMaster considers 13:23:56 still it may kind of work I guess 13:24:01 yes 13:24:11 would "lended" be correct? 13:24:20 aspell doesn't think so 13:24:36 Loaned. 13:24:51 so the operations are: loan/return/??? 13:24:58 or? 13:25:11 loan, return, check status 13:25:31 ais523, C and S are in use and hard to change. hm 13:25:42 K? T? 13:25:46 both seem to fit well there 13:25:51 yep 13:25:51 Wiktionary says that "loan" as a verb is ungrammatical outside the US: "to loan: (US) To lend. This usage is confined to the US (or perhaps parts thereof) and elsewhere is ungrammatical (loan being the noun, and lend the verb)." 13:25:57 they work fine 13:26:23 so T reflects if the book is loaned? 13:26:31 sounds like wrong grammar to me 13:26:35 s/wrong/bad/ 13:26:40 But the past tense for "to lend" is "lent", not "lended", apparently. 13:26:54 yes, it is 13:26:57 English is weird 13:27:12 and "on loan" is the phrase you're looking for 13:27:16 not that that makes any sense either 13:27:25 heh 13:27:33 ais523, and the opposite of that? 13:27:44 as in is in library 13:27:45 the libraries I use call it "available" 13:27:50 ok 13:28:29 and the number is obviously the extended ISBN (any number, not just well formed isbn) 13:28:53 Heh. "I called my library and tried to borrow the number 4, but unfortunately that number was already on loan." 13:29:28 Actually isn't "borrow" the correct verb for the receiving end? 13:29:34 hm 13:29:39 hmm... yes, it is 13:29:45 so borrow/return/try to borrow? 13:29:51 the library loans 13:29:54 The library is lending the book to you; you are borrowing the book from the library. 13:29:59 whereas the person borrows 13:30:08 -!- Slereah_ has quit (Read error: 113 (No route to host)). 13:30:10 Finnish just uses the same word "lainata" for both. 13:30:12 and do you return a book? 13:30:19 or is that the wrong word 13:30:44 yes, you return it 13:30:59 either that or pay lots of fines 13:32:00 If you say you lost the book, and apologize a lot, you might just need to pay the price of the book; that's one way people use to "buy" out-of-print books. 13:32:11 "don't try to acquire a mutex you already hold" 13:32:15 that would end up as 13:32:26 "don't try to borrow a book you already ????" 13:32:37 "Don't try to borrow a book you already have. This would confuse the librarian." 13:32:43 :D 13:32:57 Or "possibly confuse", since it's not clear what happens. 13:33:04 indeed 13:33:09 now, I so want to implement mutexes using ar 13:33:14 but I don't know if it's thread-safe 13:33:27 using ar? 13:33:30 eh why? 13:33:50 library analogy 13:33:52 no better reason than that 13:34:20 It's a funny library, though; you can't make a reservation (you can just wait for someone to return the book, but then it's pure luck who gets it, the one who was waiting first has no special privilege) and there's no time limit for loans. 13:35:39 a time limit might actually be a useful protection against dropped mutexes 13:35:41 fizzie, indeed 13:36:00 ais523: And then you'd need to pay with some clock cycles if you return your book all dirty. 13:36:13 err, I couldn't implement that 13:36:17 ;P 13:36:30 fizzie: nah, the OS would just force you to be a bit nicer 13:36:37 AUGH 13:37:08 Heh. "We're not scheduling you as often as we used to, since you got burger sauce all over number 4 when you last borrowed it." 13:39:21 oh another thing, the library have every possible book 13:39:30 Hilbert's library or something 13:43:49 ais523, fizzie ^ 13:43:59 yes, I saw that 13:44:15 very much so considering efunge have bignum cells 13:48:02 ais523, fizzie: http://rafb.net/p/zTufIM86.html 13:48:27 ais523, also please point out stuff that are language mistakes 13:48:28 and such 13:49:43 B description says "every use of L". 13:49:52 oops 13:50:17 I'll look more closely later (or maybe you have another draft at that point already), must go buy food and stuff. 13:50:53 AnMaster: you should so define the interaction with TRDS 13:50:58 leaving it undefined is a cop-out 13:51:02 anyway, I have to go to lectures now 13:51:06 ais523, blergh 13:51:08 see you all in about 2 hours 20 mins or so 13:51:12 hm 13:51:17 blergh about TRDS 13:51:30 oh well I know 13:51:56 "Using TRDS and ATHR in combination shall cause demons to fly out of the Funge programmer's nose 13:53:02 actually I think WIND wouldn't have issues 13:53:06 so no need to list it 13:53:42 "Using TRDS and ATHR in combination shall cause implementation-defined demons to fly out of the Funge programmer's nose." 13:53:43 there 13:54:51 that allows for someone to actually do something sensible if they want (define the demons to be none, and work on other bits) 13:55:15 AnMaster: TRDS and ATHR together sounds awesome 13:55:19 why would you be so hostile >:( 13:55:43 ehird, since TRDS is too badly speced to be sure how it would work in combination 13:56:00 and because I don't want a headache 13:56:01 AnMaster: it would be amazing 13:56:16 ehird, feel free to work out a sensible way for how they interact then, I may even use it 13:56:33 AnMaster: will you implement it 13:56:38 ehird, TRDS? No 13:56:46 ATHR? Yes in efunge, not in cfunge 13:56:51 TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS TRDS 13:56:59 the people have spoken 13:57:01 and they want TRDS 13:57:48 ehird, so you want to maintain it as a patch set against cfunge or efugne? 13:57:53 efunge* 13:58:01 no, the people want you to implement trds 13:58:31 you may want it, it won't happen 13:58:51 but since both are open source, feel free to do it yourself 13:59:14 it would imply forking 13:59:26 i want you to implement trds too 13:59:32 see 13:59:34 that's two people 13:59:37 200% of your user base 13:59:51 :D 13:59:54 ehird, neither of you use cfunge or efunge 14:00:02 AnMaster: no, but only 1 person uses cfunge 14:00:08 therefore two people are 200% of your userbase 14:00:12 also 0 people use efunge 14:00:31 ehird, actually ais523 use it, I use it, and I know someone else who do so. + fizzie use it sometimes 14:00:47 ehird, and yes, efunge haven't had a release yet 14:00:56 so what did you expect 14:01:01 *hasn't. 14:01:08 hasn't* indeed 14:01:29 ehird, it still lacks many features, such as i and o 14:02:08 i might use cfunge if i used befunge 14:02:23 wb ais523 14:02:27 oklopol, I still won't implement TRDS :P 14:02:49 oklopol, do you actually know how messy TRDS is? 14:02:51 http://www.rcfunge98.com/rcfunge2_manual.html#TRDS 14:02:57 trds is amazing 14:02:59 AnMaster: i've read that 14:03:20 well, I'm in my lecture now 14:03:20 and it's making no sense 14:03:20 so although I can't really concentrate on the conversation here 14:03:20 it makes more sense than trying to understand the lecture 14:03:33 what is it about 14:03:45 according to the syllabus it's about management 14:03:49 ugh 14:03:49 ais523: 14:03:50 TRDS 14:03:51 ---- 14:03:51 Using TRDS and ATHR in combination shall cause implementation-defined demons to 14:03:51 fly out of the Funge programmer's nose. 14:03:51 sounds awful 14:03:59 * AnMaster agrees with oklopol 14:04:13 it's actually a lecturer spending several hours talking about "customers" 14:04:20 ais523, ouch 14:04:23 someone just complained that that was marketing 14:04:28 and the lecturer asked what marketing was 14:04:33 ... 14:04:36 seriously? 14:04:37 this is going to be a long 11 weeks... 14:04:40 ehird: I think so 14:04:41 "what's marketing?" 14:04:43 did he say that? 14:04:47 yes, he did 14:04:52 i cannot believe that 14:04:56 i knew what marketing meant when i was 5. 14:04:59 ehird, I hope he forgot ~ or something... 14:05:00 but I'm not sure if it was rhetorical or not 14:05:18 yeah i was thinking "rhetorical" 14:05:23 either way thats a shitty rhetorical question 14:05:34 ais523, anyway my point was... if you want sensible TRDS/ATHR interaction then you got to define it, since I can't figure that out. 14:05:51 "How would you create Value Add thorugh a Internal Customer audit on yourself ?" 14:06:03 hehe i read that as "Intercal" 14:06:07 ais523: sounds like scientology 14:06:08 :D 14:06:09 (literal from the notes I've just been given, except the typo in through is mine, the other typos were the lecturer's though) 14:06:24 ask him how his thetans are doing 14:06:39 ok, this one's even more Scientologic: 14:06:41 managers abuse language :( 14:06:50 death to them all 14:07:11 "No Cynicism. Creativity, dreams, imagination Fantatical attention to consistency and detail Preservation and control of the xxxxx magic." 14:07:17 .. 14:07:20 ok, and I didn't typo in that, the typos are the lecturer's again 14:07:28 and the xxxxx makes no sense in that context 14:07:32 i am serious, that looks exactly like one of those sekrit scientology journal things i pirated 14:07:38 :DDDDDDDDDDDDDDDDDDDDD 14:07:48 A friend-of-a-friend here got a scientology anti-psychiatry pamphlet. I didn't know they were doing that sort of thing in Finland. 14:07:49 ais523: what university were you at again 14:07:58 Birmingham University 14:08:04 but really, all management courses are like this 14:08:11 fizzie: they do that thing -everywhere- 14:08:20 ais523, horrible 14:08:20 and the IEEE insists that engineering courses are 1/12 management courses, I have no idea why 14:08:28 fuck the IEEE. 14:08:29 :| 14:08:32 stupid closed standard bodies 14:08:42 the management lecturer last year was actually quite good though, he tought me accounting and company law 14:08:46 so more business than management 14:08:54 Yes, but I get regular religious nonsense reasonably often, but never scientology stuff. It's strange. 14:09:45 wow, I just realised that I have enough accumulated pass marks that I can fail this module and still get a first, in theory 14:09:55 not that I really want to have to do that, but it's nice to have a safety valve 14:11:24 ais523, still, if you think TRDS + ATHR should be well defined you better write that section. 14:12:28 what's athr 14:12:38 oklopol, async threads for Funge 14:13:26 http://rafb.net/p/bQS3gx65.html 14:13:28 current revision 14:13:31 fizzie, ais523 ^ 14:19:17 wb ais523 14:19:33 ais523, http://rafb.net/p/bQS3gx65.html 14:19:52 it seems this lecture theatre has a dodgy router 14:21:15 hmm... the lecturer's explained that sentence with the xxxxx in 14:21:23 apparently we were supposed to guess that xxxxx=Disney 14:21:30 hmm... the sentence still doesn't make much sense though 14:22:40 checking for ar... no 14:22:40 checking for i686-pc-linux-gnu-ar... no 14:22:40 checking for ar... ar 14:22:44 that looks a bit odd 14:22:54 well, yes, it does 14:23:00 did it come up with the right answer, though? 14:23:01 ais523, it was from gcc configure 14:23:11 ah, that would explain it 14:23:14 ais523, oh? 14:23:18 checking for ld... no 14:23:18 checking for i686-pc-linux-gnu-ld... no 14:23:18 checking for ld... ld 14:23:20 gcc configure does the same sort of stupid tricks as ick configure 14:23:20 said that below 14:23:25 that's why I thought it was the same thing to start with 14:23:29 ais523, well I'm building an llvm gcc 14:23:31 except gcc configure is mostly hand-coded 14:23:32 a* 14:23:49 whereas ick's uses macros and some stupid semi-recursion stuff 14:24:07 anyway it said: 14:24:09 checking for i686-pc-linux-gnu-ld... no 14:24:09 checking for ld... ld 14:24:12 just 20 lines above 14:24:14 heh 14:24:23 AnMaster: what are your build, host and target for that build? 14:24:37 anmaster@phoenix ~/llvm/gcc-build $ ../llvm-gcc/configure --prefix=/home/anmaster/local/llvm --program-prefix=llvm- --enable-llvm=/home/anmaster/local/llvm --with-arch=pentium3 --with-tune=pentium3 --disable-libgcj --enable-libmudflap --enable-nls --enable-__cxa_atexit --disable-multilib --enable-clocale=gnu --enable-languages=c,c++ 14:24:39 gcc has to check all 3 of them 14:24:52 ick cares about build and host, but target you do using CC at runtime 14:25:13 ais523, well see the command line 14:25:18 so I guess native build 14:25:22 but with llvm stuff 14:25:46 unfortunately the build/host/target are probably hardcoded there 14:25:51 or at least one of them is and probably 2 14:26:20 AnMaster: typo in F: singal should be signal 14:26:26 although singal is a nice word too 14:26:32 despite not meaning anything 14:26:37 heh aspell accepted it 14:26:50 hmm... maybe it means something I don't know, then 14:27:04 "Singal (Hangeul: 신갈) is an area of Yongin, in Gyeonggi Province, South Korea. It is near two major expressways and a large reservoir by the ..." 14:27:11 also 14:27:12 first comma in B should probably be a semicolon 14:27:12 continual, everlasting, continuous 14:27:12 en.wiktionary.org/wiki/singal 14:27:18 ah, ok 14:27:35 "Old English", though. 14:27:38 a semicolon, right 14:27:51 WordNet doesn't know singal, but it's not that comprehensive anyway. 14:28:11 well I didn't know it and I'm a native speaker 14:28:33 You're not a native speaker of Old English, obviously. 14:28:43 yes, obviously 14:29:11 also, R looks self-contradictory 14:29:15 you define an error condition 14:29:19 but then state "never reflects" 14:30:17 in S, the first instance of "threads" should be "thread", and "it's" should be "its" 14:30:18 ais523, *looks* 14:30:33 ais523, ok you are right about R 14:30:42 and about S 14:31:30 "Reflects on returning a book you don't have. Otherwise never reflects." 14:31:33 what about that? 14:31:39 ais523, bbiab food 14:31:41 yes, looks good 14:33:20 Note that pthread_mutex_unlock won't error out on unlocking someone else's mutex unless you use an error-checking (instead of a fast/recursive mutex) mutex. Of course you can define it, and it's arguably better that way. 14:33:53 well, I suppose using fast mutexes is more C-like 14:34:08 don't worry about error conditions, just make sure the prorgammer never lets errors happen 14:34:32 slows down the programmer but speeds up the program, unless you have a /very/ good optimiser 14:35:19 Yes, it's just that B is defined in the "easy to implement even without error-checking mutexes" way, so for consistency's sake... 14:35:50 I don't think people write performance-critical Funge-98 code that much, though. 14:36:30 AnMaster: "implementation defined and does not need to be the same on every run, or even for every use of B during a run" can be abbreviated to "unspecified" if you're using C-standard terminology 14:37:05 although the original is possibly clearer 14:38:17 in the notes section, "The library have all books" should be "The library has all books" 14:41:41 argh argh argh 14:41:50 the lecturer is trying to teach us about S.M.A.R.T. 14:42:09 which is one of the things that everyone most hated about targets and such in my secondary school 14:42:14 not that the whole system made any sense 14:42:26 ehird: did they teach you that too, or did you escape from it? 14:42:32 -!- Slereah_ has joined. 14:42:42 ais523: hm what where 14:42:44 i haven't been paying attention 14:43:01 ehird: did they try to teach you about SMART targets in secondary school? 14:43:11 if they did i do not recall 14:44:17 well, I suppose using fast mutexes is more C-like <-- ? 14:44:24 ah 14:44:43 so it should be undefined instead? 14:45:45 ais523, S.M.A.R.T.? As in harddisks? 14:48:54 * Ping reply from ais523: 0.70 second(s) 14:48:54 well 14:48:58 I guess he is just busy then 14:49:01 AnMaster: no 14:49:05 it's a management acronym 14:49:09 ehird: you're lucky 14:49:24 ais523: summary? 14:49:36 Specific, Measurable, Achievable, Realistic, Time-related 14:49:58 ugh 14:49:59 it's the managementese for what are good properties for targets to have 14:50:10 time-related? 14:50:18 except it leads to lots of arguments, such as what is the difference between achieveable and realistic anyway 14:50:33 AnMaster: what it means in practice is that the targets you set have to have time limits 14:50:41 but that isn't what time-related actually means 14:50:48 ais523, "with deadline"? 14:50:57 what is wrong with that 14:50:58 ais523: you know what i hate? I hate internet-friends who take programming courses and ask me things. "can you decompile xml files" / "what" / "is it possible." "to decompile." "compiled xml files." 14:50:59 AnMaster: that's the in-practice meaning, yes 14:51:22 ehird, compiled xml files make no sense... 14:51:33 AnMaster: congratulations, you got what i was saying 14:51:41 i think he means binary xml file thingies 14:51:55 ah yes, that reminds me of another weirdness about VHDL 14:52:04 once you've finally translated it into an idiomatic form, and compiled it 14:52:14 it's usual to decompile the output and interpret it to check that it still works 14:52:21 binary xml files? You mean like encoded as ascii code points in stored in a binary file? 14:52:25 like... text files? 14:52:42 no 14:52:44 there's such a thing 14:52:49 .xml.gz 14:52:56 would be the obvious solution 14:52:57 err that is just gunzip 14:53:04 to uncompress 14:53:12 hmm... I wonder if there is an official binary serialisation of XML? 14:53:21 yes, i think so 14:53:25 that wouldn't surprise me, even though it ought ot 14:53:26 ais523, also for that VHDL issue it sounds like the compilers are horribly buggy 14:53:26 *to 14:53:36 AnMaster: no, the issue is that RL is horribly buggy 14:53:52 once you've compiled into hardware, it works out how long all the wires are and so on 14:54:05 as for "binary serialisation of XML", that makes no sense.. 14:54:06 and the decompiled version allows for the behaviour of the wires and such 14:54:27 ais523, ah ok 14:54:28 so for instance if two things happen at the same time in your source, in practice they'll normally happen at slightly different times in RL 14:54:33 and the decompiled version will get that right 14:55:34 hmm... your ATHR needs a "security considerations" section 14:55:38 just because RFCs always have those 14:56:14 wow, I just had an idea 14:56:22 I think I might know how to get Feather to work... 14:56:47 ais523, hm, I considered "ATHR and the impacts on modern society" section with the text "Not a lot." or something like that... 14:57:08 although it's impossible to compare functions, it is possible to see if one function contains a copy of another 14:57:20 and in a lang like Unlambda, the only way to find out what a function does is to run it 14:57:36 and functions are generally modified by putting wrappers around them, that's the only thing you can do really 14:58:05 ais523, also what would i put in security considerations? "Doesn't allow any additional external IO"? 14:58:17 hmm... possibility for fork-bombs, maybe 14:58:27 because I think ATHR would be safe according to cfunge's sandbox mode requirements 14:58:37 could you fork-bomb with it? 14:58:43 ais523: what does it help if you know a function contains another? 14:58:46 ais523, well thread bomb I guess... 14:58:55 oklopol: the problem is to tell if two things are effectively the same 14:59:01 yes 14:59:12 ais523, also I saw a new horrible fingerprint in rc/funge, "FORK" 14:59:13 the question is "what in the new universe corresponds to X in the old universe" after a retroactive modification 14:59:15 http://www.rcfunge98.com/rcfunge2_manual.html#FORK 14:59:32 and it is impossible to say what that actually does 14:59:42 and the answer is "whatever has the same call tree of absolute function addresses, possibly with extra elements inserted" 15:00:05 ais523: sorry, i confused feather with your other unimplementable language 15:00:11 ah, Proud? 15:00:12 the name of which i forgot again 15:00:13 yes 15:00:16 oklopol, feather is implementable isn't it? 15:00:20 Feather is at least in theory implementable, I think 15:00:26 just I haven't figured out how yet 15:00:31 I want to implement it to prove it's possible 15:00:34 and then so I can program in it 15:00:58 proud is implementable too, just not well, it's a fuzzy issue 15:01:04 ais523, should I attribute you with your nick or real name? 15:01:07 in thanks section 15:01:22 I don't mind, "Alex Smith" would probably fit in best there given the other names 15:01:55 but what about the wikipedia stalker-murderers 15:02:47 well, my nick isn't on there, is it? 15:02:49 ais523, anyway if implemented in erlang you effectively have no issue with fork bombs, erlang threads are very green. I think a newly created thread uses something like around 200-300 machine words of memory 15:02:58 including the default stack 15:03:36 AnMaster: that just means that the fork bomb can become really big before you notice it 15:04:09 ais523, well anyone sane would have proper ulimits set up 15:04:35 ais523: can you elaborate on why it helps that we can see whether a function contains another? 15:07:08 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | heh. 15:08:28 oklopol: well, basically, suppose you retroactively modify the program 15:08:32 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 15:08:34 ais523, btw how would ick interact with ATHR ;) 15:08:36 the program will then rerun up to the point where you changed it 15:08:41 not that I plan to implement it in cfunge 15:08:50 AnMaster: if there was more than one thread at the end of any command, it would go crazy 15:09:02 ais523, ah yes right 15:09:16 ais523, anyway that leaves the TRDS issue. 15:09:21 oklopol: anyway, you need to avoid timeloops 15:09:24 which I delegate to you ais523 15:09:31 hmm... /me imagines ick + TRDS 15:09:40 ais523, TRDS + ATHR I meant 15:09:59 actually, ick + TRDS aren't fundamentally incompatible, but I can't figure out what the result would be 15:10:23 ais523, and for ATHR and TRDS? 15:10:26 oklopol: so, once you reach the command that did the retroactive modification, it shouldn't retroactively modify the second time round 15:10:36 -!- slereah has joined. 15:10:48 AnMaster: I was joking, really, although I suspect the interaction would be the same as t + TRDS (i.e. only Deewiant understands it) 15:11:12 ais523, I suspect it would be even messier 15:11:17 oklopol: the problem is: determine when you reach that command, given that the program has changed in the meantime 15:11:40 and I've come to the answer by considering what the likely modifications are 15:11:55 I think I'll define a set of "sane" retroactive modifications that the standard library can cope with 15:12:21 insane retroactive modifications are allowed to, but if you do them it's your responsibility to make sure the program doesn't timeloop or do other crazy pimetaradoxical things 15:12:31 ais523, make each command have an GUID that never changes during a run? 15:12:31 *too 15:12:42 I thought of that too, but it doesn't help 15:12:51 -!- slereah has quit (Read error: 113 (No route to host)). 15:12:53 because how do you tell it's the same command if the source changes, or the syntax of the lang changes 15:12:57 and lambdas break it really badly 15:13:06 ah right 15:13:53 the problem is to come up with something GUID-like that can cope with changes in the nature of the language 15:14:09 and looking for call stacks with elements inserted seems to be the solution 15:14:17 incidentally, the same problem comes up in handling I/O 15:14:45 basically, the way I think Feather will do it is that input and output are tagged with their /purpose/ 15:14:50 by the programmer 15:14:54 and purposes are meant to be stable 15:14:56 ais523, could you make feather become befunge? 15:15:02 with these modifications 15:15:03 yes, I think so 15:15:12 bootstrapping might be hard though 15:15:21 as at some point the program would need to be a Feather/Befunge polyglot 15:15:25 i'll read, was watching a finnish racist boast about getting rid of foreigners on youtube 15:15:30 ais523, care to give a short example program to show what the syntax looks like? 15:15:36 for original feather 15:15:43 * oklopol likes watching nutjobs preach 15:15:55 well, modulo the fact that I haven't come up with any examples yet, and the syntax keeps changing every now and then as I work out what the language features 15:16:09 but after you've imported the standard library, it would be something like this: 15:17:21 ^stdlib outputwrapper #sayhello [^stdlib output] [^stdlib stdout] "Hello, world!" 15:17:31 that's not a very typical example though 15:17:35 ok 15:17:49 ais523, so how would you change the syntax? What does that bit look like? 15:17:53 also, the # isn't strictly necessary, as curried functions don't have a sayhello message 15:18:33 hmm... as a trivial example, I'll consider a modification to the language which makes a % at the start of the program comment out the entire program 15:19:07 this could take a while to write, wait a while... 15:19:47 at some point, i considered a string from a marker to the end of the program for oklotalk 15:19:57 so you wouldn't need to worry at all about the contents of the string 15:20:16 and it'd be used by making an interpreter in the beginning of the program, then running the string 15:20:19 -!- Jiminy_Cricket has quit (No route to host). 15:20:27 -!- omniscient_idiot has quit (Read error: 113 (No route to host)). 15:21:27 oklotalk has lots of parsing features (planned that is), so it would be ideal for that sorta thing 15:22:55 ^parser parse be [[old|[str|str head = '%' if [x|] old]] [^parser parse]] 15:23:15 and that be could be become to make the change apply from now on, rather than retroactively 15:23:45 heh 15:23:49 fun 15:24:01 also, most of the identifiers will probably end up different 15:24:05 and may end up in different places too 15:24:15 ais523, how does that match work 15:24:16 ? 15:24:31 and that's assuming that auto-unboxing and such have already been implemented, they'll be in the standard library though 15:24:44 AnMaster: well, parse takes a string as input and returns a function as output 15:24:54 ok 15:25:07 so the new parser is defined in terms of the old one 15:25:11 hm 15:25:27 it compares [str head] (the square brackets are like parens) with '%' 15:25:31 by telling it to compare itself with '%' 15:25:40 that returns a boolean object 15:25:57 hm 15:25:57 its if method returns its first arg if it's true or its second arg if it's false 15:26:04 ais523, could feather become any other language? 15:26:08 one of those is a NOP whatever its argument 15:26:11 and the other is the old parser 15:26:17 AnMaster: I think so 15:26:25 it would need to get input from somewhere, though 15:26:29 as in, the actual program to run 15:26:40 ais523, so what if you made it C, how would it access mmap() and such? 15:26:41 unless you wrote the program as a Feather/Befunge polyglot from the start, which could be fun 15:26:52 AnMaster: you'd have to implement them in Feather 15:27:02 ais523, the file system too? 15:27:11 I/O and standard library and such couldn't be in part of the becomed language unless they were in Feather's stdlib to start with 15:27:14 file I/O probably would be though 15:27:20 ah 15:28:09 ais523, anyway what does the ^ mean? 15:28:12 in your examples 15:28:18 AnMaster: it refers to "this object" 15:28:21 like this in C++ 15:28:32 there are certain properties like stdlib that every object has 15:28:37 Hahahaha, you've inversed F# ;) 15:28:39 so you can access them from anywhere 15:28:42 ais523, if you could have that on the first line as first char, the befunge/feather polygot would be easy 15:28:49 well, yes 15:28:57 more to the point, it's trivial to get a [ on first line as first char 15:29:05 and that also would make Befunge/Feather an easy polyglot 15:29:09 ais523, yep 15:29:18 anyway, I think ^ is the right character 15:29:26 how would it handle the befunge program overwriting parts of the feather code? 15:29:28 but what I actually wanted is whatever Smalltalk uses in that sort of context 15:29:41 AnMaster: it wouldn't care, at the time the Befunge program ran the Feather code would no longer exist 15:29:44 ah 15:29:48 except as the Befunge interp 15:30:08 if Feather modified itself into Befunge itself, you couldn't modify it back as Befunge has no command to retroactively change itself into Feather 15:30:22 although you could modify it into a Befunge-like lang that could change back, maybe have it in a fingerprint... 15:30:38 ais523, it could have that as a fingerprint or the same way that ick uses the middot 15:30:42 however, modifying Feather into Befunge definitely qualifies as an insane change 15:31:00 ais523, and yeah. What about changing it into scheme? 15:31:02 so if you want stdlib to work after that, you're on your own 15:31:21 likewise for most langs 15:31:35 the rule for a sane Feather parser change is that in addition to the other requirements to be sane, it has to be backwards-compatible 15:31:52 i.e. all legal programs under the old parser do the same thing, or the same thing and additional things, under the new parser 15:32:00 ais523, so what about become instead of be? 15:32:01 for instance, modifying the lang to make it run under a debugger is sane 15:32:05 AnMaster: become is always sane 15:32:07 didn't you say that worked around the issue 15:32:20 become on the parser would have no effect until you tried to parse something, though 15:32:30 as at that point you've already parsed your original program 15:32:44 whereas be will modify the parser before it parsed your original program, that's what makes it a lot less sane 15:35:46 ah 15:36:01 ais523, what about one affecting every line of come from after this line? 15:36:17 "come from" is a bit hard to define in a functional lang 15:36:50 ais523, code* 15:36:52 not come* 15:37:10 typoed 15:38:11 AnMaster: the entire program is parsed first then run 15:38:35 but it could be done 15:38:45 you'd use be, but cause the parser to act the same way for earlier code 15:38:46 ais523, that could he the sane way to protect syslib? 15:38:50 ofc you have to define "earlier" somehow 15:38:54 and yes, that would be sane 15:39:15 define "earlier" as before some special marker 15:39:29 "before"? 15:39:33 the code is only linear in source form 15:39:38 once it's a function, before has less of a meaning 15:39:43 I'm sure it would be possible, though 15:40:04 annotate all functions with the position in the source code they were generated from, for instance 15:40:10 the code is only linear in source form 15:40:15 then what about making it into cat? 15:41:36 well, cat would be trivial 15:41:54 hmm... you could do a Feather quine by causing the parser to output its input rather than parsing it, retroactively 15:44:39 ais523, then the source needs to be in linear form doesn't it? 15:44:47 well, yes 15:44:50 you know what the source code is 15:44:54 but it's like any other compiled lang 15:44:58 you have the source, and the executable 15:45:10 in Feather, though, the executable can modify the source and it changes accordingly, whilst still running 15:45:13 hotpatching ftw! 15:45:41 hmm... lazy parsing might be useful in Feather, not necessary, but nice 15:45:48 maybe I'll make stdlib retroactively add it 15:46:18 -!- Slereah_ has joined. 15:47:06 ais523, you could add it from within feather anyway ;P 15:47:12 yes 15:47:21 this is simply a discussion about what would be useful in the stdlib 15:47:32 well, what changes the stdlib makes at the start of any program 15:47:47 the nature of any Feather interp is that it has to be written entirely in Feather 15:47:56 the nature of RL is that they have to be written in something else to start it off 15:48:18 so you start off with two versions of the same interp, one in Feather, one in some other lang, which both do exactly the same thing 15:49:02 that seems like a better bet than hoping a Feather interp will spontaneously come into existence, great as that would be 15:49:15 once Feather is running, it's under the impression that there are an infinite number of layers of Feather interps under it 15:49:29 because if you ever go down far enough that you reach the bottom, you can retroactively add more underneath 15:50:04 however you can, of course, expose the mechanism for doing that so it doesn't fool if you want to 15:57:02 leaving for about 20 mins, going to a different Internet connection 15:58:26 ok 16:14:00 -!- sebbu has joined. 16:26:47 wb ais523 16:27:34 thanks 16:32:39 -!- oklopol has quit (Read error: 110 (Connection timed out)). 16:35:18 -!- Ilari has joined. 16:37:28 ais523, hm should I make TRDS interaction undefined or leave it as the demons bit? 16:37:42 consider I plan to let Mike Riley see this standard 16:37:42 just leave it as demons 16:38:01 every C programmer ought to know what that means anyway 16:38:05 yep 16:38:11 and it wouldn't be the first lang with a physically unimplementable spec 16:38:29 ais523, oh no, it is implementable 16:38:31 (HOMESPRING requires the interpreter to produce a temporal paradox upon encountering the character string . .) 16:38:37 "Using TRDS and ATHR in combination shall cause implementation-defined demons to 16:38:37 fly out of the Funge programmer's nose." 16:38:46 the key is "implementation-defined" demons 16:38:53 you could just define it to NULL 16:38:55 or such 16:39:01 is it an implementation-defined nose too? 16:39:16 ais523, no but that wouldn't be needed, would it? 16:39:34 the problem is to get null pointers out of the programmer's nose 16:39:40 just define those demons to "no demons" then? 16:39:42 that might not be trivial, they might not have a nose for instance 16:40:03 for (i=0; i < 0; i++) { release_demon(&nose); } 16:40:11 D: 16:40:21 Slereah_: why the big sad left-handed smiley? 16:40:26 ais523, any sane compiler would optimise that away 16:40:53 Because of so much demons 16:40:56 hmm... how many languages let you declare but not define a function if you never use it? 16:40:59 C does, and VHDL does 16:41:04 I wonder which others? 16:41:22 ais523, well that wouldn't help here 16:41:44 well, no 16:41:47 well, maybe 16:41:58 gcc would leave no references to release_demon in the object file 16:42:03 if you were optimising 16:42:14 so you wouldn't get the link fail that you normally get for referencing a non-existent function 16:42:27 ais523, the variable nose could be an issue 16:42:30 &nose would have to mean something, but I suppose nose could just be an extern variable... 16:42:33 I guess you have to have a static variable 16:42:37 and have 16:42:49 for (i=0; i < 0; i++) { release_demon_in_nose(); } 16:43:02 after all since that is all about side effects anyway 16:44:40 well, it can be a static variable in a non-existent function 16:46:06 yep 16:47:34 hm I read about solving sodoku using the debian package manager's dependency resolution stuff... But what about using make? 16:47:45 is that powerful enough? 16:47:49 is make TC, I wonder? 16:48:01 I'd be surprised if it was a lower computational class than dpkg 16:48:15 ais523, is dpkg tc? 16:48:34 I don't know, I don't see why it would be though 16:48:38 whereas TC make makes sense 16:48:56 also it is non-trivial to answer that for make. Since there are so many make dialects 16:49:15 pmake and gnu make are the most common ones probably 16:52:48 ais523, in ick, what is "arrgghh.o"? 16:52:59 it handles command line arguments for generated programs 16:53:06 deals with +wimpmode, +instapipe, and so on 16:53:16 why does arrrghh.c say: 16:53:18 * SYNOPSIS: ick_parseargs(argc,argv) 16:53:18 * FILE : ick_parseargs.c 16:53:26 in that case 16:53:48 ok, presumably it was called parseargs.c before it was renamed to have a funky ick-name 16:53:57 that must have been ages ago, probably I could find it in the changelog if I looked 16:54:07 no need 16:54:09 and the ick_ prefix is because I put ick_prefixes on everything 16:54:17 when implementing the FFI 16:54:19 to avoid collisions 16:54:34 ais523, the changelog? NEWS? 16:54:38 yes 16:54:48 that is, genuinely, a changelog 16:54:55 nothing about it in NEWS 16:55:01 the rename won't be there 16:55:07 but the implementation of +wimpmode will be 16:55:29 that must have been ages ago, probably I could find it in the changelog if I looked 16:55:33 hm 16:55:34 ah 16:55:42 not the file naming 16:55:45 right 17:18:24 -!- Mony has joined. 17:19:19 plop 17:20:50 why plop? 17:21:17 juste because 17:21:56 why not ? 17:32:43 indeed why not 17:53:52 ais523, well anyway I will begin messing with input buffering in efunge to make it compatible with ATHR. Implementing ATHR will take some time 17:54:01 since I don't have a lot of that currently 17:54:11 ah, you're planning to actually implement it? 17:54:43 ais523, yes of course 17:54:44 in efunge 17:54:47 not in cfunge 17:54:55 so don't worry about it messing up ick 17:55:12 ais523, I suspect doing it in C would be a pain anyway 17:55:35 ais523, didn't you think I would implement it?! 17:56:11 well, there are a lot of random lang ideas which are thrown around here and then not implemented 17:56:20 ais523, of course TRDS won't ever be supported 17:56:31 in my interpreters 17:56:39 AnMaster: not even if you write featherfunge some day? 17:56:42 it would probably be trivial in that 17:57:10 ais523, I consider that a very hypothetical question. 17:57:17 yes, exactly 17:57:21 1) There is no working Feather yet 17:57:24 that involves having a working Feather first 17:57:32 then you being motivated to write a Funge interp in it 17:57:38 2) I never said I would write a feather funge indeed 17:58:36 ais523, anyway are there any languages other than erlang where ATHR would be reasonably easy to implement? 17:58:46 Befunge, I think 17:58:57 ais523, "ATHR may not be implemented as synchronous by lazy programmers writing a 17:58:57 Funge-implementation. That is considered very bad style. ATHR should be truly 17:58:57 asynchronous." 17:59:07 VERY BAD STYLE 17:59:09 hmm... ok 17:59:11 the style police will kill you 17:59:15 at night 17:59:16 what about INTERCAL 17:59:30 ais523, does it have something async enough? 17:59:36 AnMaster: how about "my language DOES NOT SUPPORT truly asynchronous threads, shut up and let me implement it for compatibility" 17:59:37 it has synchronous multithreading in theory, but it's easier to treat it as asynch rather than trying to figure out how the synchrony works 17:59:55 also "truly asynchronous threads" are impossible on a single-core system. 18:00:07 ehird, well I was planning distributed 18:00:16 it has ONCE/AGAIN and ABSTAIN/REINSTATE as its atomic primitives 18:00:26 AnMaster: let people implement it however. 18:00:41 (actually all commands are atomic in the current implementation, but ONCE/AGAIN/ABSTAIN/REINSTATE are the only keywords for which atomicity matters) 18:00:50 ehird, Uf you feel offended you may have a better wording? I just want discourage it being implemented the same way as t by lazy programmers 18:01:01 AnMaster: it won't be... 18:01:03 s/Uf/If/ 18:01:05 because the whole purpose is not being t 18:01:08 so just remove the paragraph 18:01:12 plus, its very self-evident from reading it 18:01:15 ehird, well Deewiant seemed to suggest doing it that way 18:01:18 ehird: actually, I'd probably lazily implement it t-style 18:01:19 so... 18:01:22 if I just wanted to get something working 18:01:33 maybe I'd deliberately skip steps every now and then at random 18:01:40 to make it actually asynchronous 18:01:42 well then 18:01:44 let them do that 18:01:47 there's nothing wrong with that. 18:01:58 just like all my HQ9+ interps have an accumulator, even though there's no way to tell from inside the program that it's there 18:04:01 they should have a -O flag :) 18:04:42 Asztal: that should store the accumulator in a register, for faster access 18:06:24 and possibly interleave consecutuve 18:06:34 *consecutive +s 18:11:53 AnMaster: huh? when did I say that 18:12:16 Deewiant, in this channel 18:12:35 AnMaster: when, not where. 18:12:44 * AnMaster greps log 18:15:20 Deewiant, it was when discussing MVRS and ATHR 18:15:38 give me a quote or timestamp 18:15:52 okt 16 13:08:08 AnMaster: but we wanted the option of sync vs. async 18:16:05 -!- kar8nga has joined. 18:16:07 yeah, that was about MVRS 18:16:17 Deewiant, while you didn't say it straight out, what you said seemed to imply you wanted sync ATHR 18:16:32 okt 16 13:03:36 right, but what would ATHRs containing MVRSs even be? 18:16:34 for example 18:16:34 no, that was wholly about MVRS 18:16:42 that latter was just me not understanding 18:16:50 Deewiant, them I'm sorry is if I misunderstood 18:17:02 fine 18:17:15 I'm sorry I was misunderstood :-P 18:17:57 Deewiant, anyway MVRS is too badly specced to be sure, So I'm going to contact Riley with the spec when I worked out the output bit and try to fix that 18:18:10 Deewiant, also did you see the last version where "mutex" have become "book"? 18:18:13 MVRS is much less than it was supposed to be 18:18:30 http://rafb.net/p/BETCqd29.html 18:18:32 is the current one 18:18:33 and no, but I didn't really read through the earlier ATHR specs in detail either :-P 18:18:59 Deewiant, anyway mutexes are now books in a library :P 18:19:15 sounds to me like you've had too much to do with INTERCAL 18:19:24 yes, it's a very INTERCAL-like analogy 18:19:35 ais523, I added the security considerations there 18:19:44 heh, great 18:19:47 I'll have a look at them 18:19:59 Deewiant, and what is wrong with that? 18:20:13 nothing really, just making an observation :-P 18:20:20 ok 18:20:50 Deewiant, "too much" often indicates "more than what is a good idea" implying something is wrong 18:21:06 well, having anything to do with INTERCAL is arguably a bad idea ;-) 18:21:11 any amount is too much to do with INTERCAL, probably 18:21:12 Deewiant: snap 18:26:14 hm? 18:26:49 AnMaster: we both said much the same thing, that was what the snap was about 18:26:55 ah 18:26:57 it's an idiom that comes from a children's game 18:27:04 people take turns revealing cards from the top of a deck 18:27:09 oh? 18:27:14 when two the same in a row are revealed, the first person to say "Snap!" wins 18:27:20 so it's all about reactions, really 18:27:34 there are also various rules about how you can reveal the cards, as an anti-cheating measure 18:27:46 (to prevent people looking at the cards before other people can see them) 18:30:26 ais523, ehird Deewiant, do you like the new top section better in http://rafb.net/p/18vBZT98.html 18:30:59 yes 18:31:02 it still says DRAFT 18:31:03 and the security consideration too 18:31:12 +!DRAFT!++!DRAFT!++!DRAFT!++!DRAFT!++!DRAFT!++!DRAFT!++!DRAFT!++!DRAFT!++!DRAFT!++!DRAFT!++!DRAFT!+ 18:31:13 ehird, of course, because it is still a draft 18:31:17 it isn't done yet 18:31:24 and we all know that 18:31:27 that is why there is a TODO comment in the IO section 18:31:34 who is Heikki Kallasjoki, btw? 18:31:35 we wouldn't take some random pastebin post as something we should go implement right now 18:31:38 ais523: fizzie 18:31:38 ais523, fizzie 18:31:39 it's hilariously over the top 18:32:01 ehird, I believe I gave my reasons for it yesterday 18:32:03 so... 18:32:07 AnMaster: not any good ones 18:32:09 please see that 18:32:14 AnMaster: what were the reasons again? 18:33:17 ais523, that if nothing else, working with befunge programmers have taught me that it is better to over-specify and try to be extra clear (not sure if that is the right English word)... 18:33:29 and why not? 18:33:33 Because someone will surely interpret anything you didn't state in a way you didn't intent 18:33:43 are Befunge programs generally sloppy and ambiguous? 18:33:45 *programmers 18:34:11 ais523, no, but considering all the disputes about what fingerprint specs, or even the funge-98 spec actually means... 18:34:21 thats because they're both written rubbishly 18:34:24 even for some cats eye fingerprints... 18:34:26 doesn't mean you should go so over the top 18:34:42 ehird, I believe the English idiom is "better safe than sorry" 18:34:48 yes, it is 18:34:57 also, OVERENGINEERING is FUN 18:35:07 no its not 18:35:08 ais523, well yeah but only on school assignments 18:35:12 not when AnMaster is being serious 18:35:12 :\ 18:35:31 ehird, You just fail at meta-meta-meta-humor :P 18:37:46 AnMaster: It'd help if it was funny 18:37:59 ehird: actually it's funnier because it's serious 18:38:07 and AnMaster: one too many metas I think, unless I'm missing something 18:38:08 i disagree totally 18:39:39 ais523, actually I think I may have forgot a meta 18:42:55 also you can have ATHR without having t. 18:43:02 obviously 18:59:24 -!- oerjan has joined. 19:00:49 please please don't let this become sort of channel in-joke 19:00:51 sucker! 19:01:06 also, DRAFT DRAFT DRAFT DRAFT 19:01:39 -!- ais523 has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | This channel is a !! DRAFT !! DRAFT !! DRAFT !! DRAFT !!. 19:05:36 DROFT 19:05:53 this channel is daft, more like 19:06:02 You hurt my feelings 19:06:10 and has a lot of drift 19:06:28 drip 19:06:49 drop 19:06:51 droop 19:07:34 drambuie 19:07:45 drum 19:07:57 DRAFT 19:08:05 DRAT 19:08:08 * Slereah_ dodges the draft 19:08:31 * oerjan writes it up in case Slereah_ ever tries to run for president 19:09:17 THIS IS A MUDSLINGING CAMPAIGN DESIGNED TO SULLY MY GOOD NAME 19:09:23 I'M A HARD WORKING AMERICAN 19:09:31 MY FATHER WAS JOE SIXPACK 19:09:38 MY MOTHER WAS JOE THE PLUMBER 19:09:47 hahaha 19:10:15 * ais523 was amused at all the focus on Joe the Plumber, when he seems to be some sort of richish entrepreneur, not the sort of typical American at all 19:10:20 Deewiant, "BAD: i should have pushed (90, 16) as Vb", why is it so hard to output what it pushed instead? :/ 19:10:39 What of Joe Sixpack? 19:10:45 Is he a real hardworking American? 19:10:50 AnMaster: because doing that requires a lot more code and it's possible that it didn't even push anything 19:11:16 ah hm 19:13:26 Slereah_: a beer reporter, says google 19:13:39 Is this a hard working job? 19:13:48 possibly 19:14:56 depends how bad the beer is 19:15:16 but face it, there's a beer market out there 19:15:39 http://www.boxingdaily.co.uk/wp-content/img/notasixer.JPG 19:15:45 This is apparently Joe Sixpack 19:16:17 http://media1.break.com/dnet/media/2007/11/27halloween.jpg 19:20:42 but...Canada 19:20:49 he either loves nomic 19:20:51 or HATES AMERICA 19:21:26 Can a man with such a moustache really hate America? 19:21:43 He also has arms that bear arms 19:22:59 * pikhq doges the draft by 4Fing out 19:23:26 {MaxX, MaxY} = load_binary(Binary, Fungespace, TrueX, TrueY, false, TrueX, undefined), 19:23:29 now that is crazy 19:23:39 4f? 19:23:53 Exempt from military service for medical reasons. 19:23:55 the two last parameters are only there because of i 19:24:09 Mental disability in my case, amusingly. 19:24:57 pikhq : How are you mentally disabled? 19:25:04 Autism. 19:25:05 Do you have... ASPERGERS? 19:25:09 Damn, so close! 19:25:46 If it weren't for that, I could feasibly pull off conscientous objector. 19:26:04 "conscientous objector"? 19:26:50 One who objects to military service for philosophical or religious reasons. 19:27:08 ah 19:27:26 You know, a coward 19:27:40 I'm a pacifist. 19:28:23 How can autism get you off the draft? 19:28:27 Well, unless it was severe autism. 19:28:36 But you sure don't act like it :-P 19:33:11 The military tends to be pretty picky when it comes to mental status. 19:33:22 Keep in mind: they considered *Feynman* mentally unfit. ;p 19:33:50 wb ais523 19:34:31 hm anyone got a program testing i in binary mode? 19:34:34 Deewiant, maybe you? 19:35:25 nah 19:35:37 except mycology 19:35:47 Deewiant, it only does it in text mode iirc 19:35:52 no, it does both 19:35:57 Deewiant, really? 19:35:59 yes 19:36:05 Deewiant, where? 19:36:09 where it tests i 19:36:40 Deewiant, well why then doesn't it crash or report BAD? Since I don't implement the binary one yet. 19:36:56 Deewiant, I implement i but not o btw 19:36:59 it needs o I think 19:37:03 aha 19:37:08 yeah, it does 19:37:12 because it writes a .tmp 19:37:15 and reads it back in with binary i 19:38:24 AnMaster: hmm, does it say anything about lack of o? 19:38:46 Successfully exited MycoRand. Rerun a few times to ensure ? works. 19:38:47 GOOD: i works in text mode 19:38:47 Opening mycotmp0.tmp... failed. 19:38:47 Trying to write to it with o... 19:38:47 UNDEF: writing to mycotmp0.tmp with o failed 19:38:50 Why don't every draft dodgers register as consciencious objectors? 19:39:00 I mean, do they check it or something? 19:39:09 AnMaster: right 19:39:10 Deewiant, y only claims to implement i 19:39:27 Deewiant, so why it tries testing it at all and report it as UNDEF... no idea 19:39:35 seems like a bug 19:39:48 AnMaster: because the code there is compact and changing it from BAD to UNDEF was easiest 19:40:02 Deewiant, ah, and no room to expand? 19:40:09 possibly 19:40:15 mycorand.bf is loaded nearby 19:40:25 I don't know what exactly goes where there 19:40:35 so I'd rather not expand 19:40:37 Deewiant, ah... 19:40:49 Deewiant, but it is all relative storage offset so that is easy 19:40:58 AnMaster: ? 19:41:09 Deewiant, i is relative storage offset. 19:41:10 the point is that mycorand.bf is there somewhere, but not in the source code 19:41:22 so I don't know where I can expand without running into mycorand.bf stuff 19:41:25 so just moving everything down a few lines should work? 19:41:31 if you properly use storage offset 19:41:50 I don't, there 19:41:55 ah ok 19:42:07 probably wouldn't be too hard to make it do so though 19:42:12 but annoying 19:42:16 so I can't be bothered 19:42:35 Slereah_: at least here in norway, if you register as a conscientous objector, you have to do some civilian community work instead 19:42:59 Can't you also be an objector to that? 19:43:03 Like saying "I'm an anarchist" 19:43:21 Slereah_: no. then you go to prison, i believe. 19:43:30 What dicks 19:43:39 I pay taxes! I don't need to work for you! 19:43:49 Well, I don't pay taxes to Norway 19:43:50 But still 19:44:46 yes you do! 19:45:01 oerjan, I can avoid it for two reasons 1) Gov cuts down on military anyway all the time 2) I got asthma, so health reasons as well 19:45:21 they didn't even contact me about it. heh 19:45:29 well (1) applies in norway too, it would be stupid to object _before_ you're called in 19:47:03 AnMaster: can you hg pull a Mycology from 88.114.230.95:8000? 19:47:33 Deewiant, a sec 19:47:41 Deewiant, what is the hg command? 19:47:55 AnMaster: if you have a repository, hg pull, if not, hg clone 19:48:05 $ hg clone 88.114.230.95:8000 mycology 19:48:05 abort: repository 88.114.230.95:8000 not found! 19:48:15 AnMaster: http 19:48:18 :// 19:48:19 ah. 19:48:41 Successfully exited MycoRand. Rerun a few times to ensure ? works. 19:48:41 GOOD: i works in text mode 19:48:41 Opening mycotmp0.tmp... failed. 19:48:41 Trying to write to it with o... 19:48:43 still like that 19:48:48 yes, I know 19:48:49 what after that 19:48:57 UNDEF: writing to mycotmp0.tmp with o failed: can't test i in binary mode 19:48:57 1y says this is not Concurrent Funge-98, won't test t... 19:49:01 great 19:49:16 AnMaster: says explicitly that it isn't testing i in binary mode because of no o 19:49:16 Mycology. 19:49:26 Deewiant, ah 19:49:40 Deewiant, still tries o even when it isn't supported though ;P 19:49:48 AnMaster: even fitting that string in took a bit of messing about which is why I asked you to test 19:49:56 right 19:50:45 Deewiant, you could potentially test it on mycorand.bf 19:50:57 to see if it is read correctly by i when i is in binary mode 19:51:10 yes, I could 19:51:14 but I don't. :-P 19:52:39 Deewiant, anyway when ATHR goes final and efunge implemented it, will you consider implementing it in ccbi2? 19:52:57 m a y b e 19:53:33 Deewiant, maybe you could send those MVRS change suggestions to Riley? 19:53:44 m a y b e 19:53:44 :-P 19:53:45 Otherwise ATHR is actually more useful since it is better defined 19:54:00 I might spam him when I get around to implementing it 19:54:11 but can't really be bothered right now 19:54:18 so if you are bothered, better that you do it 19:54:33 -!- ab5tract has joined. 19:54:50 Deewiant, also it doesn't seem to allow lacking support for trefunge/unefunge, only for befunge-93/funge-98/funge-108 19:55:41 funge-108?? 19:55:58 ab5tract, work in progress, clearing up issues in funge-98 19:56:05 may become funge-109 ;P 19:56:09 :) 19:56:14 sounds better that way anyway 19:56:17 what? 19:56:21 why? 19:56:43 ab5tract, it depends on when I finish it and when feedback from others are finished 19:56:50 it just does 19:57:02 ab5tract, see http://kuonet.org/~anmaster/funge-108/funge108.pdf 19:57:13 it replaces fingerprints with uris too 19:57:31 to avoid collisions 19:57:53 huh 19:57:54 ab5tract: There are no actual funge-108 implementations, likely will never be any outside of AnMaster's implementations, and there will likely not be any non-anmaster programs written in it. 19:58:02 That is my assesment. 19:58:05 haha 19:58:20 ehird, well Mike Riley did show some interest in it 19:58:33 Also, while URIs are good for...universally identifying stuff (as in... their whole purpose)...it just makes the funge code ugly because the URIs take up whole lines. 19:58:34 only he didn't want to implement proper URI comparing 19:58:52 ehird: so what 19:59:06 ab5tract: funge code is generally pretty 19:59:17 it could still be pretty 19:59:21 ehird, mycology is? 19:59:25 yes 19:59:34 so would it be with embedded uris IMO 19:59:43 you can have a stack on your stack stack that just stacks uris 19:59:57 and put them somewhere far out in the space, all together in a neat order 20:00:30 ab5tract, name collisions were a problem before 20:00:32 of course i'm visualizing this entirely according to what i envisage as the perfect funge ide 20:00:51 ab5tract, IDEs? Why would you need that 20:01:00 all you need is a emacs major-mode 20:01:01 :P 20:01:16 so that funge doesnt read like a a linear ascii file anymore 20:01:17 ab5tract: i'm planning on making a funge ide 20:01:25 including fizzie's hyperlink-comment idea think 20:01:26 *thing 20:01:32 ab5tract, I hardly ever use IDEs for anything 20:01:54 apart from CDs 20:01:58 I normally use SATA :P 20:02:17 (and no I don't use IDE in the other meaning either) 20:02:36 well shit, AnMaster you have that emacs together and i'll use it once i can directly download emacs bindings coordination through a memory expansion through a e-sata port in my skull 20:02:50 but probably not before that :) 20:03:09 ab5tract, Try kate then? Currently I'm using kate to edit some Erlang code 20:03:13 and irc in emacs 20:03:19 and emacs for some other C files 20:03:25 what i want is a window that shows the space 20:03:43 ab5tract, hm? 20:03:49 and i can zoom and fly around it and whatnot 20:03:50 Emacs is excellent for VHDL, I find 20:03:55 with all sorts of bookmarks 20:03:58 VHDL's syntax is obnoxious 20:04:04 ab5tract, that only make sense for trefunge 20:04:08 and so Emacs has a little wizard-like thing for each keyword 20:04:11 for befunge a text editor is just fine 20:04:16 no it can make sense for mbefunge as well 20:04:22 ais523, hehe 20:04:23 .... 20:04:36 mbefunge? 20:04:45 AnMaster: typo 20:04:47 ah 20:05:04 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 20:05:07 ab5tract: you've named it, you now have to invent it 20:05:10 ab5tract, anyway opengl based such stuff have been done, but generally they suck 20:05:16 bequnge or something iirc 20:05:23 fails totally in mycology 20:05:25 afk food 20:05:55 ehird: what's your ide going to look like? 20:06:00 -!- bsmntbombdood has joined. 20:06:14 ab5tract: awesome 20:06:24 swtjc 20:06:41 are you gonna write it in funge? 20:10:42 AnMaster: is emacs capable of having a zoomed out map of an entire 64-bit space? 20:11:06 obviously it would have to be a pretty complex program for anything to even show up at that distance 20:11:15 heh 20:11:22 I think it would mostly show up as sameness if it did 20:11:32 because a program that big's likely to be using its fungespace to store data rather than program 20:11:38 no, i wont 20:11:39 :P 20:11:50 but the idea is to be able to navigate the space on an x,y, and even z access 20:12:03 ais523: precisely 20:12:46 z probably not being allowed to go negative 20:13:17 but you can zoom out and check out all yo' data 20:14:17 however, if emacs gives a great deal of x,y freedom then it would give me the most important feature i seek 20:14:35 ab5tract: emacs has picture-mode 20:14:37 AnMaster: is emacs capable of having a zoomed out map of an entire 64-bit space? 20:14:42 but that doesn't have a zoom IIRC 20:14:46 I don't think that is feasible 20:14:58 also, ab5tract, stop having a 5 in your name, it makes me think people are talking to me when they talk to you 20:15:07 sorry buddy 20:15:15 I'm used to being the only 5-containing-person around here 20:15:19 not gonna happen :P 20:15:20 but don't worry about it 20:15:30 I don't have an exclusive right to 5s... 20:15:53 ab5tract, also as I said when you had left channel in answer to GUI framework 20:16:00 if irc were truly cool i coud use the befunge version of my name 20:16:08 1) gs is part of standard erlang. It uses Tk. 20:16:28 2) Wings3D (a 3D modeller in Erlang) uses some custom-made one that renders to OpenGL 20:16:38 3) fizzie added there was erlgtk 20:16:48 there may be more 20:16:49 no idea 20:16:55 cool 20:17:08 ab5tract, but bindings for funge would be painful 20:17:33 AnMaster: the idea of funge on erlang is very cool 20:17:36 ab5tract, but since I plan to make = *evaluate erlang*, this may be a good idea 20:17:41 or it may not 20:17:54 I want to write a funge interp in something silly now 20:17:59 like Thutu, that would be a disaster 20:18:03 anyway doing = as system() would be truly painful in erlang 20:18:08 You can, apparently, with a bit of twiddling, use Tile (the less sucky Tk widget set) with Tkinter (the Python Tk bindings); I wonder if that's the case of 'gs' too. 20:18:19 hmm... actually, I have some ideas how a Thutu interp for Befunge-93 could work... 20:18:19 ab5tract, anyway efunge now have i also, but not o t or = yet 20:18:39 ab5tract, t may never happen, since it will have ATHR 20:18:43 ais523: you must do that 20:19:04 but I have lots of other esostuff I want to do 20:19:09 ab5tract, however, I must warn you that I'm a I'm a slow worker, especially during non-holidays 20:19:09 and two RL projects which are almost eso 20:19:11 AnMaster: funge-108 should just assume ATHR 20:19:27 fizzie, and no idea about that for gs 20:19:33 gs stands for graphic server btw 20:19:40 ais523: "almost eso" sounds pretty cool 20:19:43 For some reason I find the Tk look quaint. 20:20:01 ab5tract: I described my University fourth-year Masters project in this channel 20:20:03 fizzie, it reminds me of mosaic yes... 20:20:03 because its like pre-motif right? 20:20:05 and the people here said I was mad 20:20:15 haha 20:20:16 fizzie, I think it used motif 20:20:26 ah yes mosaic did indeed 20:20:37 uh 20:20:40 tk isnt as old as motif 20:20:40 but 20:20:43 Oh, Tile is part of the 8.5 Tcl/Tk release. Didn't know that. 20:20:45 tk has modern widget sets nowadays 20:20:49 ehird, looks similar 20:20:54 and maybe 20:21:20 not maybe 20:21:21 it does 20:21:22 i know for a fact 20:21:25 fizzie, what I wonder is how Tk can work with gs since I have no tcl installed 20:21:32 oh wait 20:21:34 it isn't tcl 20:21:42 it's tclsh8.4 20:21:46 ah so I have it 20:22:02 wb ais523 20:22:57 thanks 20:40:54 fungot: Hey, try speaking like Terry Pratchett writes. Just for curiosity's sake. 20:40:54 fizzie: no, that was their trouble... 20:41:07 fungot: Pretty please? 20:41:08 fizzie: ( kids generally, i meet people before they're buried./ ones near/ coast build rafts and head out across lonely seas to lands that are :) little clouded or full of stormy weather. 20:41:34 _Really_, that "other text than irclogs" script has some serious issues with :) and /. 20:42:09 Hmmmm... 20:43:21 Actually, no. It's just that the text generation code in fungot has a hardcoded list of punctuation tokens, but since :) and / are so _rare_ in the source text, they are not used, and in their place there's some of the most common tokens. 20:43:21 fizzie: carrot took another step back. then, his claws fnord tracks in/ floor above. every so often. 20:43:48 I think "the" has been mapped to / here, and :) maybe to "a". 20:44:25 Well, that's easy to fix. Thanks for clarifying it. 20:47:15 carrot doesn't have claws! 20:47:28 OR DO THEY 20:48:44 fungot: Hey, try speaking like Terry Pratchett writes. Just for curiosity's sake. 20:48:45 AnMaster: ( i know." :) stubby troll finger prodded cuddy in/ back of his mind. 20:48:48 how would that be? 20:48:54 I have read all the books of course 20:49:13 oh wait... You mean like Carrot? with misplaced , 20:49:14 and such 20:49:17 or like Vampires? 20:49:37 wait a sec 20:49:46 AnMaster: ( i know." :) stubby troll finger prodded cuddy in/ back of his mind. <-- huh 20:49:55 fizzie, you reloaded word list? 20:50:00 also did it crash now? 20:50:03 fungot, 20:50:07 ^echo foo 20:50:09 guess so 20:50:15 Yes, I was just scp'ing the new model over and you went and talked to it. :p 20:50:18 -!- fungot has quit (Read error: 131 (Connection reset by peer)). 20:50:38 -!- fungot has joined. 20:50:48 fungot's problem with :) and / should now be fixed. 20:50:48 fizzie: " oh. pardon me, i'm just a novice, but he couldn't quite see what it did to metal. 20:51:03 fungot, :) 20:51:03 AnMaster: " you can damn well find another witch for lancre! for the fnord 20:51:25 fizzie, I fear the " mess up the effect 20:51:27 same for :) 20:51:46 I'm a fan of those books. Yet they lack :) as far as I remember 20:51:46 Well, the " comes from the source text. 20:51:55 Yes, that was the problem. 20:51:58 fizzie, which book(s) did you use? 20:52:12 There were no :)s and :(s so it removed those tokens, but fungot's punctuation list is hardcoded. 20:52:12 fizzie: " will you look at that sky?' 20:52:31 So the two most common tokens ("the" and "a") were translated to the two last punctuation tokens (:) and /) by fungot. 20:52:31 fizzie: he turned and waved at someone in the face. 20:52:34 It's fixed now. 20:52:46 The " comes from the source text, though. Lots of quoted text there. 20:53:23 fizzie, well yeah, all the talk 20:53:33 anyway *what books*? 20:53:42 I used the Discworld books 1, 3, 7, 8, 9, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 25, 26 and 27. 20:53:58 fizzie, where did you get electronic copies? 20:53:59 Mainly because those were in the highly illegal ebook pile I once got. 20:54:04 ah... 20:54:13 fizzie, So what ones are those? 20:54:16 Titles I mean 20:54:48 Colour of Magic, Equal Rites, Pyramids, Guards! Guards!, Eric, Small Gods, Lords and Ladies, Men At Arms, Soul Music, Interesting Times, ... 20:54:59 fizzie, also lacking number 2 is kind of painful if you have number 1. Since 1 ends with "to be continued" 20:55:15 Maskerade, Feet of Clay, Hogfather, Jingo, Carpe Jugulum, The Truth, The Thief of Time, The Last Hero. 20:55:18 neither 1 nor 2 is much good anyway 20:55:24 some of the later ones are good, though 20:55:24 ais523, agreed 20:55:29 probably 3 was the first good one 20:55:39 ais523, Thief of time is my favourite 20:56:00 my favourite are the Ankh-Morpork Watch trilogy, but thief of time is good too 20:56:07 trilogy? 20:56:11 isn't it more than that now? 20:56:33 yes, I suppose so 20:56:43 but I'm not counting night watch as part of that trilogy, although it's OK 20:56:58 lets see, 7 20:57:00 I think 20:57:06 some more depending on how you count 20:57:11 Thief of time is probably my favourite too, though I liked the Bromeliad trilogy 20:57:36 What do you think about the last one? Nation? 20:57:45 I haven't read it 20:57:52 It is pretty good, but kind of non-Pratchett in style 20:58:54 I haven't read anything later-than-or-equal-to Going Postal yet, actually. 20:59:13 The Going Postal series is pretty good, actually 20:59:19 Well I got the complete collection of all books apart from some child books 20:59:20 hmm... some of the books I have to read multiple times to understand 20:59:32 Going Postal is one of them, but once I got it I liked it 20:59:34 AnMaster : Do you have the non-discworld books too? 20:59:35 get maurice and the amazing cat :D 20:59:37 Slereah_, yes 20:59:39 and the maps 20:59:47 (err... Maurice and his amazing rodents) 20:59:52 Asztal, that one too 20:59:53 Even... The unadultarated cat? :o 20:59:56 Slereah_, yep 20:59:57 why? 21:00:06 Slereah_, I don't have that "where is my cow" 21:00:16 It never got translated in French, so I wonder if it's well known 21:00:23 I have it, but I had to order it 21:00:30 Slereah_, err why would French be of any interest? 21:00:38 Well, I am Fronch 21:00:42 I live in Sweden after all 21:00:44 And all other books are translated 21:00:53 Slereah_, well I get them in English anyway 21:00:54 Even shitty ones like Dark side of the sun 21:01:03 Or the Johnny books 21:01:03 preserves the language, reading in original language 21:01:09 Slereah_, dark side isn't that bad 21:01:17 I personally only own The Science of Discworld 1/2/3 and some (around six?) random Discworld books, probably with a uniform distribution of Finnish translations (received as gifts) and English versions (bought for reading when travelling). 21:01:22 Slereah_, what do you think about Carpet people? 21:01:29 It's good 21:01:39 Slereah_, do you have new or original version? 21:01:42 I only got the new one 21:02:00 Slereah_, also that is another thing I miss, some of the discworld diaries 21:02:14 Slereah_, also I assume you got the discworld quiz books? 21:03:08 Obviously I picked the right author for fungot to quote from. :p 21:03:08 fizzie: " samuel!" said caleb. " everything we believe is coming true. and her leg still dropped off. so i thought i'd better make certain.' 21:03:09 also I lack some of those "short stories" that are listed in "books by the same author". 21:03:39 fizzie, well he is well known, he writes fantasy (though unusual such) and we are geeks. What did you expect? 21:03:58 * AnMaster glares at fungot 21:03:58 AnMaster: angua picked out the little organizer and raised the cleaver and brought it down. 21:04:05 um 21:04:06 what 21:04:18 fizzie, I think these sounds pretty bad in fact 21:04:47 I don't think very many other well-known fantasy authors would have multiple people here owning a rather complete collection of such a large set of books. 21:05:05 Yes, it isn't very conversational. 21:05:09 fizzie, also it would be more realistic if the space between " and the text is correct 21:05:17 fungot? 21:05:17 AnMaster: ' it goes with us. it's very urgent.' 21:05:18 I'll get to that one of these days. 21:05:26 fungot really? 21:05:26 AnMaster: dorfl wrote: ' wuffles ( 16), formerly of the palace. 21:05:31 haha 21:05:33 what a mixup 21:06:12 fizzie, what was the logic for that one? 21:06:29 fungot, What about the copyright on your quotes? 21:06:29 AnMaster: individual concerned. of course. 21:06:38 fungot, really? 21:06:42 Punctuation is separate tokens, so when it choose "wuffles", it only had "wrote: '" as context. 21:06:43 ah hit the limit.. 21:07:08 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | hrrm. 21:07:19 I don't think I have very many other large collections of text on my computer to use as source text. So far IRC-talk has worked best for generating IRC-talk-like text -- a huge surprise, there. 21:07:19 fizzie, "wuffles (16), formerly of the palace." kind of make sense for The Truth though 21:07:53 fizzie, maybe some space cleaning? Like removing the space after ( and such 21:07:55 fungot: Just go back to IRC-speak. 21:07:56 fizzie: run full, run delegate, more. 21:08:16 fizzie, well now it will be that if you include this channel in the log 21:08:17 The space after ( is just an artifact of the Funge-98 token-sequence-to-text implementation. 21:08:30 I'll get it fixed at some point. 21:08:36 fungot, maybe you should bug fizzie about refining it? 21:08:37 AnMaster: you can approach it symbolically! fnord 21:08:51 fungot, like... in lisp? But you are in Befunge... How would that work? 21:08:52 AnMaster: seems not. 21:09:07 fungot, great that you admit your mistakes 21:09:07 AnMaster: and i'm sick of arguing with trotskyists when i was there i think 21:09:17 fizzie, trotskyists? 21:09:27 fizzie, what book? 21:09:49 It's IRC-speak now, probably from #scheme. 21:10:18 fizzie, using discworld was cool :P 21:10:26 "This really reminds me of arguing with Trotskyists when I was a young lad. They're all necons now, of course." was the original quote. 21:10:38 oh well 21:11:03 It used the "of arguing with" context to switch to the Trotskyists phase, and "when I was" context to go somewhere else. 21:11:54 Discworld didn't actually work as badly as (or at least any worse than) Darwin, but it still didn't sound like conversation. 21:12:08 I wonder if I should feed it some telephone conversations. 21:13:23 I seem to have 86 megabytes of transcribed telephone conversations here. 21:13:40 I'm not quite sure what our license allows us to do with it, though. 21:15:08 fizzie, you tried Darwin? 21:15:09 When? 21:15:41 A couple of times, actually. 21:15:54 Some twenty or so books of his. 21:15:56 fizzie, got some quotes of it? 21:16:07 Well, it was full of :)s and /s and biology. :p 21:16:11 fizzie, Charles Darwin produced that many? 21:16:18 fizzie, oh 21:16:29 Same bug there. 21:16:32 fizzie, and an archaic language I guess 21:16:42 http://zem.fi/~fis/darwinbooks.txt is the list of books I used. 21:21:52 darwin is awesome 21:21:56 did i tell you about how he's a pope? 21:21:57 true story. 21:22:07 Whirrrr, there go the telephone conversations. 21:22:47 5849 separate ten-minute phonecalls. 21:23:31 what 21:23:45 That's something like a thousand hours of speech. 21:24:09 what are you doing 21:24:35 Running out of memory, it seems. :p 21:24:43 but i mean 21:24:45 what is the goooooal 21:24:53 ehird: fizzie's planning to feed them to fungot 21:24:53 ais523: how dare you steal that version of hato, it's buggy 21:25:01 crazy 21:25:06 fizzie: also: did you invent BrainfuckNomic 21:25:13 someone in ##nomic thought you did, but wasn't sure 21:25:16 ehird: it's FOR SCIENCE 21:25:18 No, I don't think I did. 21:25:34 Two gigabytes of memory and two gigabytes of swap in use, I'm not sure my script can handle all that. 21:25:34 fizzie: how about the funge spec? 21:25:44 for fungot i mean 21:25:45 ab5tract: you still need something to pay the coders to fix it 21:26:34 Hey! Who wants to roll a securely random number???? 21:27:03 return 4; 21:27:23 Slereah_: randomest number there is 21:27:41 in fact i was thinking of exactly that 21:27:55 Someone in the theoretical computer science lab has that Dilbert strip about RNGs on their door. 21:28:26 What is that strip, fizzie 21:28:33 "And here we have our random number generator..." (troll saying:) "Nine, nine, nine, nine, nine, nine..." "Are you sure that's random?" "That's the problem with randomness, you can never be sure." 21:28:42 Maybe that sort of transcription would be enough to find it. 21:28:46 Ah yes, that one 21:28:50 yes, it's quite a clever joke 21:29:07 My browser seems to have hung up thanks to that Perl script eating all the memory. 21:29:22 Although usually, random numbers generator aren't made to do real randomness 21:29:26 fizzie: maybe you should feed it less input? 21:29:29 Well, at least not with the things I use 'em for 21:29:38 They just need to fit a distribution 21:29:50 ais523: That's a good idea, but I don't want to interrupt it now, in the hopes that it will be done real-soon-now. 21:30:18 It's less raw data than the IRC logs, but apparently somewhat different, since the irc-log-model-building didn't take quite this long. 21:30:57 Ooh, it got past stage 2 (selecting the tokens) and is now converting all the conversations to a single string of tokens. 21:33:21 I'm sure that it will finish soon and then I'll notice that the script was somehow borken and the output is unusable. 21:34:57 Actually, now that I think of it, I think I ran the IRC logs thing on one of the computing cluster machines with heaps of memory, and not on my own puny computar. (Since no-one seemed to be using them right then.) 21:36:39 fizzie, they are in use now? 21:36:46 Haven't checked. 21:37:32 Seems pretty busy, actually. Node 13 only has a load of 1, though. 21:37:34 fizzie, and couldn't you do like processing it in chunks and then merging those chunks later? 21:37:52 Possibly, but I haven't spent much time tweaking this thing. 21:38:46 fizzie: which cluster is that? 21:39:23 Deewiant: The HUT CIS one. Well, I guess we're now called ICS, having merged with the TCS people, and I think they're in the process of merging our computing systems. 21:40:00 AAAAH 21:40:08 So much acronyms... 21:40:12 It... Burns! 21:41:40 HUT is Helsinki University of Technology (although they're in the process of changing the name and merging with two other universities; one for arts and one for CAPITALISM, I mean, commerce and all that stuff); CIS was Center for Information Science (maybe?), ICS is Information and Computer Science, and TCS is Theoretical Computer Science. 21:41:52 clearly a case of AOL 21:42:04 It's all very confusing; I'm not quite sure where I work. 21:42:13 but you do work? 21:42:32 you don't have to answer that 21:42:34 I should be writing my master's thesis around now. 21:42:38 fizzie: yeah, I just checked the TCS one and it wasn't that one so I was wondering ;-) 21:42:48 there's a bunch of room there if you have access to it. 21:43:33 Deewiant: There was some talk about getting the computing clusters set up so that all now-ICS-people can access both ones by October, but I haven't heard any news and/or instructions yet. 21:43:43 They did change my numerical UID to avoid conflicts, though. 21:43:51 Heh. 21:45:01 Some three of the ten "newer nodes" in the CIS cluster only have two of the four cores in use, so I guess there would technically speaking be some room there too. 21:45:15 -!- kar8nga has quit (Read error: 110 (Connection timed out)). 21:45:18 so what, you're part-timing at CIS? 21:45:29 Full-timing nowadays, doing that master's thesis thing. 21:45:45 alright 21:45:52 I was at TCS over the summer 21:46:10 I was at ICS for the last summer (2007) and got stuck there. 21:46:11 would have probably continued if I hadn't started at HSE 21:46:29 I think the script has actually finished, since the data file has stopped growing, but it's not stopping. Maybe Perl is doing that full garbage-collection trip it does when quitting. 21:46:30 might be back next summer, though. 21:47:14 Okay, it finished; now it's anyone's guess if my C++ code can handle building 4-grams out of that mess. 21:48:07 I don't think I quite got the script to clean up the conversations right. 21:48:58 91328 unigrams, 2200072 bigrams, and now it's computing 3-gram counts. 21:49:12 5851827 3-grams; 4-grams next. 21:49:39 I really should've done something more clever here, but I was in a hurry to get some sort of babbling out of fungot. 21:49:39 fizzie: sounds challenging. :) i just remembered 21:50:05 optbot was chattering all the time, I didn't want my bot to be so quiet. 21:50:05 fizzie: hm? 21:50:14 optbot: Well, you were! 21:50:15 fizzie: there should be more of a market for esolang programmers 21:50:32 I think we all agree on that one, at least. 21:50:42 yep 21:51:44 Nah; I'd be worried if companies actually /wanted/ you to use esolangs 21:52:15 Deewiant: if VHDL is an esolang, lots do 21:52:23 -!- slereah has joined. 21:52:28 I guess it isn't, though 21:52:51 Deewiant: Nokia gave me a summer job in 2006 for knowing Befunge. (Okay, so the chain of causality is maybe not exactly clear, but I'm sure that was the main reason they had.) 21:53:07 fizzie: go on 21:53:11 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 21:53:12 how did that happen? 21:53:25 ais523: they were interested in that he had esolangs in his hobbies section on his cv 21:53:27 I talked about this just yesterday or so, I'm not sure I want to bore people again with it. 21:53:28 iirc 21:53:33 fizzie: sure, I'm sure it helped for my TCS summer job as well. Hell, CCBI and Mycology were pretty much the only things on my CV. 21:53:34 That's a reasonable summary. 21:53:46 fizzie: ah, I wasn't here yesterday 21:54:04 fizzie: but, nobody's wanted me to actually /use/ Funge for something :-) 21:54:08 or you, I hope. 21:54:19 i totally hope i can get a job with such achievements as "wrote a program to roll a dice between two people, cheat-proof' 21:54:21 Deewiant: Well, no, it was just Perl. :p 21:55:43 -!- slereah has quit (Read error: 104 (Connection reset by peer)). 21:56:41 -!- Fourchan_Partyva has joined. 21:57:28 Finish, you silly little piece of code! 21:57:38 Language, fizzie 21:57:44 -!- Fourchan_Partyva has changed nick to Slereah. 21:59:09 I would endure this better if I wasn't so sure that it's going to just start generating messy and uninteresting jumble of words as output. 22:00:14 -!- Corun has joined. 22:07:01 It's only 350 lines of C++, how can it take so long to execute it! 22:12:39 I can give you 11 chars of bash which will take a while 22:12:55 Deewiant: the standard obfuscated fork bomb? 22:13:21 :(){:};: is shorter, and an infiniloop I think 22:13:36 although really we need AnMaster to check that, e's the resident Bash expert 22:13:44 It looks sensible. 22:13:54 no, it doesn't really 22:13:58 can't beat Windows batch, though :-P 22:13:58 only esoprogrammers write like that 22:14:00 ? 22:14:03 even Perl has more letters usually 22:14:13 AnMaster: is :(){:};: an infiniloop in bash? 22:14:16 although hmm 22:14:20 I'm just being impatient because I'd like to see fungot talk like an American telephone conversationalist. 22:14:20 fizzie: on my end, that's solved, i think 22:14:22 -!- kar8nga has joined. 22:14:22 what does $0|$0 do 22:14:25 and does bash optimise tail-recursion, for that matter? 22:14:27 ais523, well I usually don't do recursion in bash 22:14:30 I never tried even 22:14:50 it is not the language I would write functional style in 22:14:52 anybody want to try $0|$0? 22:14:59 Deewiant, no! 22:15:01 and don't 22:15:06 isn't that a better fork bomb? 22:15:06 Did you just divide by zero? 22:15:15 Deewiant, well piping bash to bash 22:15:16 ... 22:15:30 Deewiant, but should be better since it only start one bash in each 22:15:45 Slereah, and no 22:16:17 AnMaster: evidently it doesn't bomb 22:16:26 maybe in a file? 22:16:26 Deewiant, well yeah 22:16:30 but still silly 22:16:34 anyway 22:16:38 I was debugging erlang atm 22:16:38 -!- Corun has quit ("This computer has gone to sleep"). 22:16:44 ** exception exit: {noproc,{gen_server,call,[efunge_input,stop]}} 22:16:44 in function gen_server:call/2 22:16:44 in call from efunge:start/2 22:16:45 It can't be a fork bomb 22:16:46 that makes no sense 22:16:48 It has a pipe 22:16:50 Slereah, indeed 22:16:51 err 22:16:52 It's a pipe bomb 22:16:58 you can have a fork bomb 22:16:59 with a pipe 22:17:04 Slereah: the standard obfuscated bash fork bomb has a pipe in 22:17:05 the standard bash forkbomb have a pipe 22:17:08 It's a joke, AnMaster 22:17:13 but I suspect Slereah was trying to make a pun 22:17:21 A bad one apparently :( 22:19:08 Slereah: $0|$0 could be a fork bomb because it starts itself twice 22:20:01 I don't know what all that means, Deewiant 22:20:23 meh 22:20:39 Deewiant: I'm loading up a VM to test it in 22:20:41 Yeah, I suck pretty hard in CS 22:20:51 ais523: I tried it, but I'm not sure what happened 22:21:02 Deewiant: what did top say? 22:21:05 spawned a few shells but didn't bomb 22:21:20 I seemed to have two shells running on top of each other though: every keypress was echoed twice 22:21:25 weird 22:22:01 * ais523 waits for Knoppix to detect all the fake devices on the VM 22:23:17 Deewiant: So did you run it in a file or just on the command line? 22:23:21 fizzie: file 22:23:39 command line, then file, to be exact 22:23:46 didn't notice anything happening from the cmdline though 22:24:18 Simple $0 on command line here is just "-bash: -bash: command not found" thanks to that '-' in the name. 22:24:49 well 22:24:56 I think I got input server working 22:24:57 Would think it might work in a file, though. 22:25:04 one step towards ATHR 22:25:46 Deewiant: I just tried in a VM 22:25:50 and every window in the VM disappeared 22:25:54 heh 22:26:10 apart from the KDE toolbar along the bottom 22:26:16 the desktop background went too... 22:26:23 Well, I'm going to bed. Good luck hosing your systems! 22:26:37 * ais523 exits the VM 22:26:40 it seems to have crashed 22:26:45 so quite possibly a fork-bomb then 22:31:08 +ul (^bf ,[.,]!Hi optbot!)S 22:31:08 ais523: oh... yeah I forgot to get rid of the newline. 22:31:09 ^bf ,[.,]!Hi optbot! 22:31:09 Hi optbot! 22:31:09 thutubot: i guess mapcar is more descriptive 22:31:09 fungot: cool I think your notation makes sense then 22:31:09 optbot: my hypothesis has to do 22:31:10 fungot: Ping! 22:31:10 optbot: i've already been using a manually downloaded eclipse so far, effectively, that it has became like ie was 22:31:10 fungot: it can type higher order functions and all 22:31:11 optbot: objc and smaltalk does... in a filter... fnord 22:31:11 fungot: Is that valid Malbolge, Gregor? 22:31:12 optbot: ams isn't in gnu anymore? :) renaming whenever there's a conflict? 22:31:12 fungot: Wheee. . . 22:32:04 optbot: you can say that again 22:32:04 oerjan: 3 ihope: ps 22:32:44 Hmm, according to a (standard outdoor-type, because we only have one fridge/freezer-specific one) thermometer our freezer is -38 degrees Celsius. I find that hard to believe. 22:32:52 so do I 22:40:26 Should've just told that thing to use up to 3-grams. 22:43:17 http://paste.lisp.org/display/68711 22:43:19 ais523, fizzie ^ 22:43:23 that may be interesting 22:43:29 it is generated on a template 22:43:56 that is how simple making a server is in erlang 22:43:57 :) 22:44:03 could be shortened down a lot too 22:44:04 AnMaster: it's even simpler in INTERCACL 22:44:06 *INTERCAL 22:44:08 well, CLC-INTERCAL 22:44:10 ais523, really? 22:44:16 Claudio has a 2-line pastebin server somewhere 22:44:22 and the client isn't much more complicated 22:44:29 ais523, huh? 22:44:29 well, not pastebin, global clipboard 22:44:45 AnMaster: well, everything's client-driven in CLC-INTERCAL 22:44:48 ais523, two long messy lines? 22:44:49 you steal data from the server 22:44:53 and two short simple lines 22:44:59 ais523, and how long is the client? 22:45:05 all a server has to do is go into an infiniloop 22:45:06 ais523, since the same module includes the client 22:45:10 as for the client, probably 4 or 5 22:45:16 let me try to find the source 22:45:18 read_next_char() -> 22:45:18 gen_server:call({global, ?SERVER}, read_char, infinity). 22:45:22 read_next_integer() -> 22:45:22 gen_server:call({global, ?SERVER}, read_integer, infinity). 22:45:25 that is all the client is 22:45:25 I'd try looking but my browser is again swapped out. :p 22:45:26 really 22:45:53 ? indicates "treat this as a macro" 22:46:00 means erlang macros very clean 22:46:03 ah, here's the server: 22:46:05 since you have to mark them 22:46:06 DO IGNORE @1 22:46:06 (1) PLEASE COME FROM (1) 22:46:11 -!- kar8nga has left (?). 22:46:12 simple enough to paste into a channel 22:46:43 ais523, well... strip all comment -spec and -type from my paste and you get the bare minimal one 22:47:39 ais523, still this was easy, I just selected gen_server template in erlange-mode in emacs. then filled it in 22:47:47 heh 22:48:03 'night 22:48:04 ais523, gen_server is a design pattern 22:48:12 the main one for erlang I guess 22:48:12 Them conversations, they're so awkward. They're all like "uh so according to this we should be talking about where we get our news" "oh uh well I just watch TV" "so.. what do we do now for the next nine-and-a-half minutes?" 22:48:20 -!- Mony has quit ("Ne regrettons pas le passé, ne nous préoccupons pas de l'avenir : le sage vit dans le présent."). 22:48:26 ais523, all the servery details is handled elsewhere, all you write is a callback module 22:48:33 + some API functions for clients 22:48:59 fizzie, huh? 22:49:05 fizzie, what is the data source? 22:49:55 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 22:50:00 It's the Fisher English Corpus (part 2) from LDC. "Conversational telephone speech". I don't know (read: haven't bothered to check) the details on how they collected that stuff. 22:50:13 I'm just feeding fungot the transcriptions. 22:50:14 fizzie: where c iz a character for schwa. nothing 22:51:03 Ten-minute conversations between parties "A" and "B"; they have been anonymized. 22:51:45 I think it works so that there's just two people who don't know each other, and they give them a topic to talk about and then they have to spend at least ten minutes having a conversation. 22:51:56 -!- Slereah has joined. 22:52:21 I'll have to thank the US Department of Defence (and DARPA) for sponsoring the data collection so that I can put it to good use like this. 22:52:30 heh 22:52:57 (Assuming my model-building task ever finishes.) 22:53:10 it's a testsuite for your model-builder, obviously 22:55:11 Well, our department paid for that stuff, I'm sure they wouldn't like it to go to waste. 22:55:41 ais523, fizzie: http://paste.lisp.org/display/68711#1 22:55:44 that may be less crufty 22:55:51 I rewrote comments to edoc style 22:56:00 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 22:56:01 well, relatively short 22:56:04 which also can be used to auto-generate html docs from 22:56:06 but CLC-INTERCAL still wins 22:56:06 -!- Fourchan_Partyva has joined. 22:56:10 AnMaster: Documentation overload, man. Let the code speak for itself. 22:56:16 hi Fourchan_Partyva 22:56:20 ais523: == Slereah 22:56:24 yes, I guessed 22:56:25 ehird, as I said it was generated from a template 22:56:28 from the hostname 22:56:32 ehird, in erlang-mode 22:56:33 strange nick, though 22:57:43 "i guess our topic is the movies whether you like to go to the theater or rent them and stay home" -- hah, I wouldn't know how to talk 10 minutes about that. 22:57:57 ais523, as for clc... It is just harder to use still :P 22:58:04 yes, obviously 22:58:11 fizzie: I generally don't watch films at all 22:58:16 so the answer is "neither" 22:58:23 ais523, same 22:58:36 i have nowhere near the attention span neccessary for a film 22:58:37 :D 22:58:48 ehird, as if we didn't know tht 22:58:49 that* 22:59:09 ehird, not even long enough for Star Trek? 22:59:26 star trek is pretty boring most of the time 22:59:33 in my opinion 22:59:37 They all start with "it's my first time doing this" or "have you done this before?" or things like that; it's like reading a transcription of a telephone dating thing. 22:59:43 I'm watching Star Trek right now 22:59:45 That episode is ridiculous 22:59:49 -!- Fourchan_Partyva has changed nick to Slereah_. 22:59:58 fizzie, how strange still 23:00:05 "Rascals" 23:00:07 fizzie: Is this freely available? 23:00:10 Slereah_, what generation? 23:00:15 Here's the plot : a bunch of characters are turned into children! 23:00:16 TNG 23:00:22 ehird: No, it's $7000 for non-LDC members. :p 23:00:28 fizzie: What the fuck. :D 23:00:31 fizzie, LDC? 23:00:36 I could just torrent it, I'm sure it's somewhere. 23:00:49 Linguistic Data Consortium, University of Pennsylvania. 23:00:52 And I will feel absolutely no guilt for downloading the extremely precious HUGE-ASS ARCHIVE OF AWKWARD CONVERSATIONS 23:00:53 fizzie, also why would anyone pay for that stuff... 23:00:55 They collect all kinds of speech corpuses. 23:00:58 considering how bad it sounds 23:01:10 Well, it's quite a challenging test for a speech recognizer. 23:01:32 It's not really recreational reading it's for. 23:01:38 fizzie, they fail even on easy stuff... there is no point in trying it on that hard stuff 23:02:01 even the OS X one is hilariously bad 23:02:13 and it is actually one of the better ones I seen so far 23:02:16 so is the default Windows one 23:02:26 ais523, well the windows one is worse 23:02:27 I used to have fun playing Chinese Whispers with it 23:02:36 "Chinese Whispers"? 23:03:23 For clean speech, I don't think they've got a word error rate percentage of more than a low-single-digit number. And besides, the hard stuff is what's interesting. 23:03:44 fizzie, hm... 23:03:47 "Failure" is what you want out of it. 23:03:50 ais523, still what is that game? 23:04:02 "They" here refer to state-of-the-art stuff. I don't know anything about the bundled ones. 23:04:05 AnMaster: basically, it requires a very large number of people 23:04:11 the first one thinks up a phrase and whispers it to the second 23:04:16 the second whispers it to the third 23:04:17 and so on 23:04:21 ais523, and then? 23:04:22 then the last person says it out loud 23:04:25 and at the end, you compare the two phrases 23:04:28 ah 23:04:31 and everyone laughs at how different it is from the original 23:04:32 and see how much got lost in the bad whispering 23:04:45 ais523, it will actually be much different? 23:04:50 if you have enough people, yes 23:04:59 yes 23:05:00 it doesn't work with only a few as they remember what it's supposed to be 23:05:15 but speech recognisers never catch on, so you can play two-player with them 23:05:18 ais523, well if they don't know what it is supposed to be? 23:05:24 AnMaster: that's the whole point 23:05:31 you don't know what it's supposed to be, but you hear something 23:05:34 " it doesn't work with only a few as they remember what it's supposed to be" 23:05:36 ehird, 23:05:36 so you try and pass on what you think you heard 23:05:36 ^ 23:05:37 that 23:05:41 was what I meant 23:05:44 AnMaster: I mean, if you try to go round more than once 23:05:49 ais523, ah ok 23:05:52 then people remember what they heard the firs time 23:05:55 It's called "rikkinäinen puhelin" (lit: broken phone) in Finland. 23:06:10 most successful games are played with about 100 people or so, and yes I have been in a Chinese Whispers game that big 23:06:11 I have never been much for such games 23:06:30 when I was young[er] i used to pass on a completely different phrase. 23:06:37 so that at the end everyone asks who the hell messed it up :D 23:06:37 ehird, hehe 23:06:50 ehird: that's generally considered cheating 23:06:57 it is 23:06:57 :-) 23:06:58 but in any set of 100 you get a few like that 23:07:02 ais523, it is impossible to prove who did it 23:07:06 more or less 23:07:07 well 23:07:09 it's quite EASY to 23:07:15 oh? 23:07:21 AnMaster: not the way we played it, people often asked 2 people back rather than 1 if they suspected the previous person was cheating 23:07:24 for a second opinion 23:07:33 not that that's legal either, but you can't really stop it 23:07:39 same way "psychics" can communicate with people back from the dead 23:07:44 just look around 23:07:55 the people who did it will be easy to spot after you do it enough times, i imagine 23:08:09 hm 23:08:26 also what do "psychics" have to do with it? 23:08:31 they are just making it up after all 23:08:54 no, they're not 23:09:03 http://en.wikipedia.org/wiki/Cold_reading 23:09:06 http://en.wikipedia.org/wiki/Hot_reading 23:09:21 you seriously don't believe in such para-normal stuff? 23:09:21 even the ones who truly believe they are doing it do that 23:09:24 they just dont' realise it 23:09:31 AnMaster: please click links before saying anything 23:09:39 you just made yourself look like a fool... 23:09:43 ehird, I did click link after 23:09:52 anyway I said it before 23:10:00 but I have bad lag spikes atm 23:10:43 lagom lag 23:12:10 oerjan, no too much 23:12:12 not lagom 23:17:59 I hope the C++ code doesn't have any same sort of bugs that cause fungot to occasionally go to an infinite loop when generating babble. It's computated that thing for a suspiciously long time, compared to how fast it did the first stages. 23:17:59 fizzie: http://pastebin.ca/ 397959 mathematica is a kickass piece of software 23:18:51 fizzie, attach gdb to it, add some trace points? 23:19:01 Uh.. what's that paste? 23:19:03 Mathematica is okay 23:19:13 But sometimes, it's hard to handle 23:19:16 I rather like Mathematica, even though the language is a bit funky. 23:19:28 I don't think I've compiled that thing with debugging symbols, and my gdb-fu is weak. 23:19:30 fizzie, H and lots of question marks 23:19:37 # 23:19:37 H??????????????????????????????????????????????????????????????????????????????? 23:19:37 # 23:19:37 ??????????????????????????????????e????????????????????????????????????????????? 23:19:37 # 23:19:37 ???????????????????????????????????????????????????????????????????????????????? 23:19:45 -!- Corun has joined. 23:19:45 Yes, but what's the point of it. 23:19:46 the # are from line numbers 23:19:49 bah 23:19:55 fizzie, no clue, check origin? 23:19:59 you got the logs 23:20:12 Looks somewhat hello-worldy. 23:20:32 fizzie, well where did it get that quote from? 23:20:44 fizzie, the pastebin I mean 23:20:57 Checking, but it seems sort-of cheating not to try figuring it out. 23:21:55 hm i vaguely recall that 23:22:12 oerjan, oh? 23:22:32 was it the dupdog hello world maybe 23:22:37 dupdog? 23:22:41 * AnMaster google 23:22:56 Dupdog, yes. 23:23:06 The program is in the esolang wiki. 23:24:36 hm 23:24:39 that looks odd 23:24:47 and doesn't fit the desc for the language above 23:25:20 oh wait 23:25:21 yeah 23:26:06 ok 23:26:13 that should not be tc as far as I can tell? 23:26:24 since how do you do even a trivial infinite loop? 23:26:35 wait 23:26:39 duplicate source 23:26:40 hm 23:27:40 i don't think we ever found out 23:27:46 -!- Corun has quit ("Leaving"). 23:28:51 (Must sleep now, hopefully fungot'll be ready to speak all "um uh [noise] umm" telephone conversation by tomorrow.) 23:28:52 fizzie: i'm religious!! i wanta tell you you're a great comedian sgeo 23:29:41 Sometimes I have a feeling fungot's a few bits short of a full byte. 23:29:41 fizzie: in scheme it is executed 23:33:35 fizzie, well 23:33:35 -!- Sgeo has joined. 23:33:37 yeah 23:33:40 fizzie: i'm religious!! i wanta tell you you're a great comedian sgeo 23:33:40 AnMaster: because they can feel they're on the left margin. 23:33:41 heheh 23:34:14 Sgeo, what a coincidence you joined just after 23:34:35 .. 23:35:47 fun fact - the eso pastebin is about to be up 23:35:50 putting the final touches on it 23:36:10 night too 23:41:37 -!- oerjan has quit ("Good night").