00:00:09 Sgeo: Go on. 00:01:06 Does it have keywords? How many of such could not be redone by the user in @lang in such a way as to look syntactically similar? 00:03:20 Sgeo: I need to ask a question before I answer that. 00:03:31 Sgeo: *Is that actually a major factor in your opinion of a language.* 00:03:35 -!- pikhq has joined. 00:04:26 Your answer should be independent of my answer, unless you make something up to either push me towards or, more likely, away from @lang 00:04:38 Sgeo: I won't, but I do want an answer from you first. 00:04:48 Herobrine: how much of @lang is known? 00:04:56 It's... nice to have syntactic simplicity 00:05:07 keywords are the opposite of simplicity 00:05:10 j-invariant: Enough. 00:05:21 j-invariant, which is why I prefer 0 00:05:32 Sgeo: It has syntax, yes. More than 0 keywords. 00:05:40 0 keywords is not a virtue, it aids nothing of value. 00:05:42 enough for what?? 00:05:51 j-invariant: For me to give a few concrete answers :) 00:06:34 Sgeo: But yes the syntax is pretty extensible. 00:06:38 Sgeo: Not arbitrarily. 00:06:45 Ok 00:07:07 You can't have random macros that look like function calls, though. 00:07:24 (Almost everything can be done as a function call, but macros are always distinguishable from function calls without context.) 00:07:38 Ok 00:07:39 can you write proofs in it 00:08:01 http://jfm3.org/phosphorous.pdf 00:10:16 j-invariant: dunno :D 00:10:25 Sgeo: Let me guess, you saw that and think it's the best idea ever. 00:10:57 It's obviously a joke 00:11:59 Sgeo: @lang is kind of like Ur but BETTER 00:12:04 IS THAT EXPLICIT ENOUGH 00:12:27 The Ur reference gives me a headache, and so does the Ur/Web tutorial 00:12:54 A _headache_? How??? 00:13:33 Herobrine, not literally 00:13:39 I just mean I don't understand it 00:13:54 Right. Well if you don't understand Ur you'll never understand @lang, which is a great reason to keep asking questions. 00:15:31 Sgeo: try making something with Ur, that will probably be easier 00:16:30 Hmm 00:16:58 I imagine the functional-ness of Ur/Web means readable URLs are just natural? 00:18:25 don't think there's a connection between those two things 00:20:21 I think I just crashed the Ur demo 00:20:31 :O 00:20:35 that should not happen 00:20:39 Sgeo: I doubt that 00:20:45 Also, I have no idea how you relate functional-ness and readable URLs. 00:20:47 No. Idea. 00:20:48 It was working, and now it's not 00:20:57 You might have crashed the server 00:21:01 That apparently sometimes happens 00:21:12 That's what I meant 00:22:07 I uploaded a .WAgame file 00:22:21 Shouldn't it just have rejected it? 00:22:57 function always returns the same thing -> link to a function -> URL contains function's name and arguments 00:31:17 Someone called Newspeak a farce 00:31:19 * Sgeo angers 00:31:40 http://lambda-the-ultimate.org/node/4112 00:32:18 Vorpal: XChat help fail: " Usage: NOTICE , sends a notice. Notices are a type of message that should be auto reacted to" 00:32:46 Sgeo: He also called Oberon and Common Lisp farce. You are perhaps missing some humour. 00:33:04 Sgeo: Clearly you cannot even read the summary: 'Object-Orientation is now over forty years old. In that time, Object-Oriented programming has moved from a Scandinavian cult to a world-wide standard. In this talk I’ll revisit the essential principles — myths — of object-orientation, and discuss their role in the evolution of languages from SIMULA to Smalltalk to C++ to Java and beyond. Only by keeping the object-oriented faith can we ensu 00:33:04 re full-spectrum object-oriented dominance for the next forty years in the project for a new object-oriented century!" 00:35:14 Sgeo: Can you /notice #esoteric test for me? 00:36:44 Maybe I should go learn Sel 00:36:45 Self 00:37:09 Sgeo: No, ask more @lang questions. 00:39:26 Self doesn't run on Windows 00:41:30 Windows is irrelevant. 00:41:38 What language did I see where every object has a URI? Or something referencing that idea? Or some variation thereof? 00:41:49 That is a terrible idea. 00:41:55 why is that terrible 00:42:12 j-invariant: well, depends how it's executed. 00:42:14 it might be useful in a specific circumstance 00:44:04 well, yes 00:44:10 Well, I saw something somewhere using that idea 00:44:16 For the life of me, I can't find it 00:44:31 And I'm not referring to Virtuality or whatever that thing's called 00:44:40 Although I might be confusing what I'm thinking of with that 00:45:25 Uh oh, looks like I have to ask the owner of this to degroup it. 00:45:30 http://interreality.org/ <==not what I was thinking of 00:45:32 What? 00:46:07 This nick. 00:46:18 Gregor: Here's a language to learn. http://www.enchiladacode.nl/ 00:46:32 erm. 00:46:33 Sgeo: 00:46:36 Its author was in here a while ago. 00:46:40 But I'd seen it before. 00:47:26 So my mind is not just making shit up now 00:47:28 Glad to hear it 00:47:32 Sgeo: ? 00:47:46 I had no clue if wwhat I was imagining even existed. I could swear it did, but 00:47:53 This inability to find the bloody thing 00:47:55 Sgeo: How do you know it does? 00:48:40 Herobrine, you're reinforcing my perception that it exists 00:48:45 How? 00:48:52 Its author was in here a while ago. 00:48:52 But I'd seen it before. 00:49:01 Of enchilada... 00:49:04 http://www.enchiladacode.nl/ 00:49:44 Lemme go kill Chrome 00:50:13 Why is a Java applet loading? 00:50:37 Oh 00:52:56 "Information cannot be destroyed." 00:53:03 This will be interesting 00:53:14 It is one of the oddest languages I know of. 00:53:35 hm? 00:53:43 why can't it be destroyed 00:54:26 -!- cheater00 has joined. 00:54:44 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 00:55:26 TODO: explain this isn't a problem 00:55:40 (referring to the size of the hashes, not to anything j-invariant said) 00:55:57 That's probably in response to me and cpressey being uneasy about it in here to him. :) 00:56:47 (tl;dr we care about the fact that theoretically, the language is completely broken from the start; he cares about the fact that in practice, it will never break, and the fact that if you just accept the (impossible) uniqueness of SHA-512, there is no theoretical problem with the language.) 00:56:49 (Different concerns.) 00:56:57 Oh, his is actually SHA-1. 00:57:01 That's a bit "yikes" but whatever... 00:57:06 Even @ assigns a hash to every object. 00:57:14 -!- cheater- has quit (Ping timeout: 240 seconds). 00:57:28 "The current version is written in Scala and compiled against the JVM 1.5. Other (but now defunct) implementations include Java, Factor and Haskell implementations." 00:57:39 Man, he has Sgeochondria. 00:57:53 (The state of being irrationally addicted to languages.) 00:59:15 But unlike me, he's actually DONE stuff in a variety of languages 00:59:50 -!- poiuy_qwert has joined. 01:01:17 "The most general rule is the equational rule that holds for all A, B and X that are Enchilada expressions: 01:01:17 A X == B X <=> A == B" 01:01:19 What craziness. :) 01:01:41 Hmm, maybe it's just phrased wrong. 01:01:44 Yeah, has to be. Probably. 01:01:48 Otherwise "0 *" wouldn't work. 01:02:25 -!- FireFly has quit (Quit: swatted to death). 01:02:31 Or maybe he's deluded 01:02:52 Sgeo: Rather quick to jump to conclusions, aren't we. 01:02:58 No, it's definitely just stated wrong. 01:03:02 It should be: 01:03:11 "forall A B, (forall X, A X == B X) <=> A == B" 01:03:29 Or else he defines == strangely. 01:03:56 Herobrine, huh? 01:04:19 Sgeo: (forall x y, (forall f, f(x) = f(y)) <-> x = y) is a law of logic. 01:04:24 Enchilada is postfix. 01:04:59 Hey, Stevan Apter and Sjoerd Visscher helped with Enchilada. 01:10:18 -!- Herobrine has set topic: Esoteric programming languages | http://esolangs.org/wiki/ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 01:10:23 (Making us presentable for a possible visitor...) 01:10:47 The author of this nick is asking about the bot, long story. 01:11:44 -!- Herobrine has set topic: minecraft channel. 01:11:55 oops 01:11:58 -!- Herobrine has set topic: Esoteric programming languages | http://esolangs.org/wiki/ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 01:12:47 There we go. 01:13:15 I think I like homoiconic languages 01:14:35 C's "\n" is defined in some compilers as "\n"? 01:14:39 Eh? 01:14:40 -!- Herobrine has changed nick to elliott. 01:19:26 -!- elliott has changed nick to Herobrine. 01:19:41 -!- Herobrine has changed nick to elliott. 01:19:42 "One of the infamous features of the standard Unix C compiler (I don't know if it is true of gcc) was that the definitions for the characters like \n were not explicit. When you got to the part of the compiler that defined them, they were defined in terms of themselves. Somewhere in time there had to have been a compiler that gave the numeric values of these characters, but it had been rewritten to be just a tiny bit metacircular." 01:20:09 Sgeo: You mean *'\n' 01:20:14 But yeah, it'd just be: 01:20:23 if (char == '\'') { 01:20:28 char = next(); 01:20:30 switch (char) { 01:20:38 case 'n': realchar = '\n'; break; 01:20:43 case 't': realchar = '\t'; break; 01:20:43 ... 01:20:56 So whatever the compiler that's compiling the C compiler thinks \n is, gets used as the value. 01:21:06 gcc is probably far too anal for this and uses 10 and the like to make SURE the values are right. 01:22:10 -!- updog has quit (Remote host closed the connection). 01:22:30 -!- j-invariant has quit (Quit: leaving). 01:37:51 Sgeo: To explain the driver thing: with @, code in @lang can do anything it wants. 01:38:07 Sgeo: For instance, you can easily write a program that overwrites the entire contents of memory, and then sends garbage data to every IO port on the system. 01:38:16 Sgeo: What stops you is the security model. 01:38:34 Even drivers don't get access to all the RAM; they'll be given precisely the regions they need to communicate with some memory-mapped hardware device. 01:38:45 (That's for direct access; they can use more memory by allocating things, of course.) 01:39:04 How does the OS know what regions the driver needsA? 01:39:08 *needs? 01:39:19 Sgeo: The driver tells it. 01:39:33 (If you're thinking "but what if it lies?" -- ever checked any of your drivers lately? They can access EVERYTHING.) 01:39:59 Sgeo: Of course, the user has to allow it to access such memory. 01:40:31 Sgeo: Oh, and if @ can query the system as to, say, what ports are assigned to which devices, or the like, then it can automatically grant permission for those; any requests for more will be considered suspicious. 01:40:43 Sgeo: Here's another language for you. http://will.thimbleby.net/misc/ 01:41:02 Maps! 01:41:13 Yes! Just like Enchilada! Oh joy! 01:41:13 That sounds Lua-like 01:41:22 How is it just like Enchilada? 01:41:29 Well, it's similar-ish. 01:41:32 It's not Lua-like at all. 01:41:34 Lua isn't homoiconic. 01:41:38 In MISC, all your code is maps. 01:42:42 I dislike prefix notation. Not strongly enough to stop me learning MISC 01:42:58 Sgeo: You realise that almost all your programs consist of prefix notation... 01:43:04 Arithmetic is honestly a minor special case :-P 01:43:16 OK, so OOP turns it on its head a little, but really it just turns (f x y z) into (x f y z). 01:43:48 Smalltalk-like languages turn it into something like (x f y f z) 01:44:16 Yes, well. 01:44:20 Sgeo: BTW, here's Herobrine's code: 01:44:25 log http://sprunge.us/SDKY 01:44:31 httpserv http://sprunge.us/KHVi 01:44:43 (I run the HTTP server as root to use port 80, which is laughable but I'm lazy.) 01:45:10 I haven't written that much code in a very, very long time 01:45:35 It's a 45-minute hack job. (log is a 5 minute hack job, and httpserv got out of control.) 01:46:04 But hey, you can link to individual lines in a log! 01:46:05 So useful! 01:47:20 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 01:48:21 Sgeo: Gah, I feel like making my own little homoiconic language, and blame you. 01:48:38 Enchilada-sequences and MISC-maps are taken, maybe I'll base mine on sets. 01:50:09 -!- poiuy_qwert has joined. 01:51:46 * Sgeo wants MISC to take over the world 01:51:47 >.> 01:51:48 * Sgeo dies 01:52:37 Sgeo: Seriously? 01:52:50 No, I did not actually die. 01:53:33 Sgeo: seriously want it to take over the world? 01:53:58 I would like to see something like it in wider use perhaps. Maybe. 01:54:21 I haven't gone through the tutorial yet 01:54:24 I'm on 8 01:55:07 -!- j-invariant has joined. 01:55:26 I must say I am appreciative of the lack of special forms 01:55:52 LAMBDA? 01:55:57 ? 01:56:04 Lambda is just quoted data :P 01:56:12 Haha, this is totally going to be ridiculous based on set theory. 01:56:28 I wonder if I'll use Wiener's or Kuratowski's ordered pair definition. 01:56:34 Wiener's is uglier but lets me avoid duplicating data. 01:56:40 hm which are which 01:56:44 oh I remember 01:56:56 why do people still use set theory :/ 01:56:59 http://en.wikipedia.org/wiki/Ordered_pair#Wiener's_definition 01:57:08 j-invariant: i'm not going to use set theory, I'm amusing myself by creating the language: 01:57:25 Enchilada : sequences :: MISC : associative maps :: my language : sets 01:57:31 It will be HILARIOUSLY SILLY 01:57:33 elliott: no I didn't mean you 01:57:36 right 01:57:39 just explaining what i'm doing 01:57:46 I don't know hwy people don't use category theory 01:58:01 wait, Wiener's doesn't quite work I don't think...possibly 01:58:06 oh wait it does 01:58:14 how do you extend Kuratowski to longer tuples? 01:58:20 {{a}, {a, b}, {a, b, c}}? 01:58:23 yeah i think so 01:58:25 let's go with that 01:58:58 lol, so (a) = {{a}} 01:59:33 Dear Tutorial: Ctrl-C did not in fact stop evaluation 01:59:54 hmm 01:59:56 (a, b)reverse := {{b}, {a, b}}; 01:59:56 (a, b)short := {a, {a, b}}; 01:59:56 (a, b)01 := {{0,a}, {1, b}}. 02:00:00 does that 01 one work? 02:00:04 if a=1 and b=0 02:00:08 then it's just {{0,1}} 02:00:10 well 02:00:16 i guess you can extract it from that 02:00:20 but it seems ugly 02:01:42 obviously i need some weird syntax to succeed 02:01:43 hmmm 02:01:56 I'll define "a => b" to be "[a; b]" 02:04:13 Sgeo: {0=>false; x=>true} --> {[0; false]; [x; true]} --> { {{0}; {0; false}}; {{x}; {x; true}} } --> {{{{}}; {{}; false}}; {{x}; {x; true}}} --> {{{{}}; {{}; {}}}; {{x}; {x; {{}}}}} --> {{{{}}}; {{x}; {x; {{}}}}} 02:04:21 Sgeo: so {{{{}}}; {{x}; {x; {{}}}}} is the function "is not zero" 02:04:24 Sgeo: do you like this language it is homoiconic 02:04:28 everything is a set 02:05:22 Sgeo: can i have a yes 02:06:26 * Sgeo headaches 02:06:46 Sgeo: how can you say that, it is the most beautiful 02:06:58 probably i should figure out a way to make the symbolic expression "x" a variable 02:07:42 j-invariant: best language i have here?? 02:07:44 answer is yes btw 02:08:10 this is fun :P 02:09:18 -!- variable has quit (Quit: Daemon escaped from pentagram). 02:10:28 -!- variable has joined. 02:14:51 j-invariant: lol sets are the worst 02:16:07 Sgeo: LOVE MISC YET? 02:16:55 Sgeo: "Prefix notation might not be to your taste. Luckily writing a standard math parser is simple." 02:16:59 I'd like to see someone develop a ... more used language based off of it, although without scrapping the purity. The thing is, I don't see what's wrong with taking MISC as it is and just .. more libraries, etc. 02:16:59 See, you're ACCOUNTED FOR 02:17:10 More real-world use 02:17:11 And that requires forking the language...why? 02:17:16 elliott, it doesn't 02:17:20 This shit gets no real-world use because nobody cares, Sgeo. 02:17:44 Sgeo: OK, let me try and use an analogy only a YouTube user could understand. Put yourself in the mind of a YouTube user momentarily. 02:18:09 Sgeo: "I'd like to see someone make a ... more popular album based off of Justin Bieber's, although without scrapping the talent. Just ... more real world." 02:18:19 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 02:18:20 Correct response: "Quality > popularity." 02:18:32 Incorrect response: "I wish [BAND] would take over the world instead of Justin Bieber!!!!!!!!!" 02:19:28 Sgeo: Are you... understanding? 02:20:08 "a ... more used language" 02:20:11 -!- poiuy_qwert has joined. 02:20:18 you want Ruby on Rails 02:20:20 or PHP 02:20:22 not Ur. 02:20:28 j-invariant: he's talking about MISC now. 02:20:40 oh 02:20:46 j-invariant: I'm attempting to explain that aiming for popularity gets you mediocrity. 02:20:59 Sgeo: You know the people in your course? 02:21:10 *They, or people only marginally better than them, are MOST PROGRAMMERS.* 02:21:16 How about at least Haskell-like popular 02:21:34 Is that a reasonable goal? 02:21:36 The set of people who actually use Haskell in actual products or software like checking out niche langs too. 02:21:48 Most people who claim to be a fan of Haskell ostensibly read a tutorial but have never actually written a program longer than 10 lines. 02:21:54 Sgeo: not really, Haskell is incredibly popular 02:22:07 elliott, um, I might fall in that set 02:22:16 Well, that BF interp I guess 02:22:23 Sgeo: Why do you care so much about popularity? Would you rather have created a pile of shit that the whole world loves, or a beautiful gem that only a handful see? 02:22:34 I tend to just read a lot of tutorials 02:22:47 Because a good language would make everyone's lives easier 02:23:07 No, it wouldn't. 02:23:16 90% of programmers are SHIT. They can fuck up _any_ language. 02:23:24 The trick is to make something good that people like 02:23:29 And until you significantly improve the whole corporate structure and hiring process, and the whole CS education system, that will never change. 02:23:40 Getting good programmers to like something is a real achievement. 02:23:44 Getting bad programmers to like something is a failure. 02:23:48 And helps nobody. 02:24:04 haha 02:24:08 02:28 < elliott> Getting bad programmers to like something is a failure. 02:24:10 I have to admit, I do see some things unlikable about MISC 02:24:10 Sgeo: In fact, a good language getting too popular with the majority of -- bad -- programmers will dilute it, as they pollute the ecosystem with their bad practices. 02:24:10 add that as a quote please 02:24:26 j-invariant: `addquote Getting bad programmers to like something is a failure. 02:24:31 j-invariant: you run it or it'll log it as me adding my own quote :> 02:25:42 * Sgeo wonders if there could exist a language in which there was no bad practices 02:25:47 Sgeo: lol 02:25:51 All things that could be bad practice are not doable 02:25:59 Sgeo: Yes, it's called Omega. 02:26:01 `addquote Getting bad programmers to like something is a failure. 02:26:04 Sgeo: The Singularity is the only compiler. 02:26:07 It rejects your code if it's bad. 02:26:16 That is the _only_ way that will _ever_ happen. 02:26:16 Well. 02:26:19 There is one language satisfying that. 02:26:22 HQ9+. 02:26:28 Unfortunately, there are no good practices either. 02:26:49 268) Getting bad programmers to like something is a failure. 02:26:53 http://lambda-the-ultimate.org/node/4088 ? 02:27:37 * Sgeo 's eyes glaze over 02:27:48 I DIDN'T MEAN THAT OMEGA GOD DAMMIT 02:28:00 not that omega LOL 02:28:15 also: DOesn't that omega suck? or was it made before Agda? 02:28:29 because I guess it is okay if it was a precursor to agda 02:28:49 forall strings S: There exists a language named S 02:29:10 j-invariant: well you realise that dependent types come with their disadvantages... 02:29:15 in Omegamega, you never have to write long proofs :P 02:31:48 j-invariant: summary from comments: "AFAIU, the point of Omega is to keep the standard FP model, and only augment it with some more or less modest extensions, whereas Epigram requires a very different programming model." 02:32:59 i love lambda-the-ultimate 02:33:04 everywhere should be lambda-the-ultimate 02:37:20 j-invariant: do you agree 02:37:38 I liek ltu as well 02:38:34 Sgeo: i have figured out the language that will seize your heart 02:38:55 Sgeo: prototype-based, homoiconic, immutable, everything-is-a-map, higher order language with no builtins 02:39:08 Sgeo: and also a complicated module system 02:39:29 The only reason I expressed interest in Seph's immutable stuff is that you seem convinced that mutability is evil 02:39:33 I personally don't care 02:39:35 Sgeo: IF I MAKE IT WILL YOU BE HAPPY AND STOP LOOKING FOR ANOTHER LANGUAGE 02:39:56 Maybe 02:40:31 Sgeo: That's a no, but it sounds interesting enough that I will anyway. 02:40:36 TO MY LOGREADING SELF: ^^^^ DO THAT 02:40:42 Sgeo: You get to remind me if I don't logread. 02:40:46 :D 02:41:19 Sgeo: If I add "symbolic" to the features pile will you be even happier? 02:41:33 I'm not 100% sure what you mean by that 02:42:26 Sgeo: As in, x+x is valid code that just sits there, and you can replace x by 2 as an operation and it'll turn into 4. 02:42:39 Interesting... 02:43:12 Enchilada has that. 02:43:17 Sgeo: Oh, I forgot, every object has a URI. 02:43:44 They have URNs based on their hash, and you publish modules by putting them at a URL, which you can then use as an object inside the interpreter. 02:43:45 elliott, I don't care so much about that, as I care about finding what system put me in mind of that 02:44:05 Sgeo: I'm just going to pack in every possible feature, because I want to make sure you never go looking for another language. 02:44:47 Sgeo: Oh, I forgot, it'll have hotswapping too. 02:44:48 Good luck packing in both static and dynamic typing 02:44:50 Sgeo: What else do you like? 02:45:01 Also, clearly I'll just have OPTIONAL static typing. 02:45:42 Sgeo: WHAT ELSE 02:46:07 It needs to take over the world 02:46:14 =P 02:46:38 Sgeo: You're in charge of that. 02:46:44 Sgeo: Oh, and I'll help you create an Active Worlds binding. 02:46:56 Then maybe you will stop talking about languages. Forever! 02:46:58 Goodnight, bitches! 02:47:00 -!- elliott has quit (Quit: Leaving). 02:55:55 " is built on top of the CPython VM, compiling to Python bytecode." 02:56:01 So Python ISN'T safe 02:56:29 new knuth book is out I heard 02:56:38 The Art of Computer Programming, Volume 4A 02:57:35 elliott probably hates Logi 02:57:37 Logix 02:57:55 "Logix is no longer under development, and the original author, Tom Locke, has moved on to other projects." 02:58:06 elliott, new requirement: Development is not allowed to cease. 02:58:38 Yup. First volume in *38 years*. 02:59:06 pikhq, exactlty 03:00:33 At the current rate, immortality will need to be invented for Knuth to finish. 03:02:05 http://www-cs-staff.stanford.edu/~uno/news.html 03:09:17 O_____O 03:09:30 I swear I couuld yhear the minecraft song playing... but I don't have minecraft open 03:09:33 D: 03:09:53 j-invariant, you are forever lost\ 03:14:35 im such an idiot 03:14:45 why do I stay up until 3 am I have ot get up early 03:17:17 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 03:18:55 -!- poiuy_qwert has joined. 03:24:56 Why is it so friggin' difficult to set up a webdav subversion server X_X 03:25:15 N. Davidson (pers. comm., Sept. 7, 2004) found 03:25:15 e approx 163^(32/163), 03:25:23 which is good to 6 digits. 03:25:27 why is this AT ALL notable 03:25:31 ? who cares! 03:25:52 Gregor: that seems weird because normally svn is pretty good 03:26:05 ... no. 03:26:28 Subversion is pretty mediocre, but as server-client VCS go, it's tolerable. 03:26:39 tolerable. that's the right word 03:27:53 -!- j-invariant has quit (Quit: leaving). 03:28:01 This looks interesting 03:28:02 http://boom.cs.berkeley.edu/ 03:30:21 It was a web framework 03:30:41 The objects as URI thing that I saw recently was some ... document describing a web framework 03:30:45 Or some text, anyway 03:37:17 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 03:38:57 -!- poiuy_qwert has joined. 03:39:36 Finally got it working. svn sucks X_X 03:42:39 However, when you want a repository for nothing but friggin' enormous files ... yeah, SVN :P 03:42:49 (friggin' enormous /binary/ files) 03:43:53 -!- variable has quit (Quit: Daemon escaped from pentagram). 03:45:00 -!- variable has joined. 03:57:16 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 03:58:56 -!- poiuy_qwert has joined. 03:59:06 -!- copumpkin has joined. 04:01:41 ::=> is a WONDERFUL operator for something described as _bidirectional_ 04:01:52 04:01:59 http://coherence-lang.org/EmergingLangs.pdf 04:15:57 http://subtextual.org/subtext2.html I get a http://tvtropes.org/pmwiki/pmwiki.php/Main/TooIncompetentToOperateABlanket feel from the first few minutes 04:21:10 SVN is best described as "CVS but better". 04:21:31 Which isn't to say it's *good*. 04:26:23 * Sgeo wants to see a good dataflow language 04:30:23 pikhq: isn't that their mission statement? 04:30:31 copumpkin: Probably. 04:54:46 comex is in the Nimrod channel 04:56:31 "Whole program dead code elimination: Only used functions are included in the executable." 04:56:32 uhh.... 04:56:44 lol 04:57:36 what's wrong with trimming out functions that can't possibly be called? 04:59:08 * pikhq would like to take this opportunity to mock Sony. 04:59:18 Guess what encryption scheme the PSP uses? 04:59:20 Go on, guess. 04:59:38 wep 04:59:44 Nope. 04:59:54 rot13 05:00:02 Private key encryption, with the key actually part of the CPU's mask. 05:00:09 Waitwhat 05:00:28 Now, normally this would be really *hard* to break, what with electron scanning microscopes being a rarity. 05:00:41 However, they also stuck a PSP emulator into the PS3. 05:00:55 And said emulator handles encryption just the same as the PSP. 05:00:57 ROFFFFFFFFFFFL 05:01:13 So now that the PS3 is hacked, the PSP is hacked and even *more* impossible to fix than the PS3. 05:01:15 oh man, iagoldbe would love this 05:02:04 It's basically hacked to the same extent the Dreamcast is now. 05:02:10 yay 05:05:50 "Case is insignificant in Nimrod and even underscores are ignored: This_is_an_identifier and ThisIsAnIdentifier are the same identifier. This feature enables you to use other people's code without bothering about a naming convention that conflicts with yours. It also frees you from remembering the exact spelling of an identifier (was it parseURL or parseUrl or parse_URL?)." 05:05:57 argh 05:06:08 wow, no wonder comex is insane 05:06:12 I want to quote what someone said in #nimrod but I haven't gotten a response 05:07:43 Indenting a comment wrong is a syntax error 05:08:13 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 05:08:31 There's a lot to laugh about, but I still want to be intrigued by this language 05:08:45 Supposed to compile nicely, has Python-like syntax, and Lisp-like macros 05:08:48 So 05:10:03 wow, that is a terrible idea...i can understand disallowing variables that are too similar in that way by autocorrecting them to the declared form in the IDE...but making the parser not discriminate at all? i hope that the IDE at least matches all identifiers no matter how you format it... 05:10:29 what is the name for the attack on a compiler where you backdoor it 05:10:31 perfect something attack? 05:10:54 "Whole program dead code elimination: Only used functions are included in the executable." 05:10:54 I assume that's not making the claim that every single function that will never be called is always removed 05:10:54 Is it? 05:10:54 Sgeo: it is 05:11:01 coppro, Trusting Trust 05:11:05 thanks 05:11:10 yw 05:12:34 http://force7.de/nimrod/tut1.html 05:15:13 sgeo: lawl. i suspect it just means that every function that they can prove will never be called is removed, in fact, i suspect it means that every function that doesn't actually get called anywhere in the code is removed as that is the laziest sort of heuristic to implement. 05:18:19 I think maybe I should NOT treat that person like an idiot 05:18:55 When it became clear what I was getting at, ... actually, he didn't know what I was getting at, because my examples weren't really clear violations 05:20:45 "Every variable, procedure, etc. needs to be declared before it can be used. (The reason for this is compilation efficiency.) " 05:21:23 Hey, it's better than the situation in Python! (Nimrod has forward declarations) 05:21:37 Although admittedly, Python has an excuse. It's not a compiled language 05:22:07 And yes, I know that C and C++ do the same thing. That doesn't make it good 05:23:35 "Thus it cannot represent an UTF-8 character, but a part of it. The reason for this is efficiency: for the overwhelming majority of use-cases, the resulting programs will still handle UTF-8 properly as UTF-8 was specially designed for this." 05:23:37 Fuck you. 05:27:48 I want to like this language 05:27:51 I really do 05:34:04 I think I'm subconsciously taking the comment thing as a slur against the language, when really it's not 05:37:50 Sgeo: /ignore elliott 05:37:53 then attempt to use it 05:38:03 lol 05:38:11 if you enjoy it and find it useful 05:38:19 elliott has limited bearing over whether or not I end up actually using a language 05:38:20 then go for it 05:38:27 (The answer is, I usually don't) 05:38:27 that's good 05:38:56 He does have a significant bearing over whether I look at it longingly or turn away a bit too abruptly 05:39:13 hah 05:52:07 Vorpal: XChat help fail: " Usage: NOTICE , sends a notice. Notices are a type of message that should be auto reacted to" <-- XD 05:53:14 Mathnerd314's learning about Atomo? 05:53:54 Sgeo: no, arguing over some language details 05:55:06 I've been nitpicking ever since I found out about the language :p 06:02:15 guys, opinion: which compiled language has the most pleasant syntax? 06:05:41 So. Joule Unlimited claims to have created cheap, renewable hydrocarbons. Such as gasoline. 06:06:02 Requiring little more than sunlight and CO₂ to function... 06:06:45 By "cheap", I mean "approx. the equivalent of $30/barrel crude oil." 06:08:11 (crude oil is currently trading at $90/barrel) 06:09:37 hahaha 06:09:42 wow 06:09:53 this sounds like a bad idea 06:10:17 quintopia: Haskell by far 06:10:18 unless they can harvest thr CO2 from the atmosphere to do it 06:10:39 quintopia: Photosynthesis. 06:10:59 pikhq, surely at least H2O or something is needed, if this is real> 06:11:10 Sgeo: Oh, sorry, *and water*. Duh. 06:11:20 pikhq: as yet, photosynthesis is incredibly inefficient for market purposes 06:11:31 -!- Wamanuz3 has quit (Ping timeout: 264 seconds). 06:11:33 quintopia: Not when your bacteria are directly outputting fuel. 06:11:33 how does this solution scale? 06:11:53 Yeah, there's not that much sunlight coming to this planet (in terms of power density)... 06:12:31 Okay, on the order of 1GW per square kilometre, but square kilometre is quite a big area... 06:12:40 They are *claiming* that at full scale, they could get 15,000 gallons of diesel per acre per year. 06:12:58 Or actually, the average power is something like 200MW... 06:13:06 In lab, they are achieving 40% of that. 06:13:33 Also, no need for the land to actually be agriculturally useful... 06:13:45 Death Valley would work quite nicely. 06:14:42 Land can be useful for growing food without being agriculturally useful... But there are lands that aren't useful in any way, yes... 06:15:55 hmm, they're making diesel - better get a diesel car 06:16:06 Except that in death valley, there's not that much water available... 06:16:18 Mathnerd314: Arbitrary hydrocarbons. 06:16:46 Ilari: So you'd probably want somewhere with plenty of sunlight, plenty of water, and no real other use. 06:17:05 pikhq: "can produce renewable diesel fuel" 06:18:02 Mathnerd314: They can also produce ethanol. 06:18:49 what is the the energy content of 15000gal of biodiesel? 06:18:52 pikhq: ok... but what about gasoline, the main alternative to diesel? 06:19:01 ... There aren't exactly many such places... 06:19:17 Ilari: Bleck. 06:19:32 Mathnerd314: Well, without much work a gasoline engine can burn ethanol. 06:20:01 Well, lands that have been totally destroyed by agriculture could do... 06:20:13 Mathnerd314: Pretty much all you need to do is replace hoses where fuel runs, as ethanol can dissolve them. 06:20:47 Granted, a bit labor-intensive, but entirely practical. 06:20:50 this sounds much harder than just using diesel... 06:21:23 Where you get a brand new car? 06:22:21 Also with bioethanol, where are you going to get it in massive scale and with good EROEI? Algae could possibly do, but the technology is quite immature... 06:22:28 yeah, buying a well-made car is much easier than customizing an existing one 06:24:06 -!- Wamanuz3 has joined. 06:24:57 Ilari: They're claiming to have it *right now*... 06:25:17 okay some calculations done 06:25:19 pikhq: but it's only commercial in 2012 or later 06:25:34 if the diesel they rpoduce has the energy content of most other biofuel 06:25:42 Mathnerd314: Yes; I'm just saying they have the tech working and affordable right this instant. 06:25:58 and they can produce 15000 gal per acre-year 06:26:34 then less than 64 acres are needed to replace all the world's current fossil fuel usage 06:26:52 that seems astounding 06:27:19 That's something like 85 million barrels per DAY. 06:28:11 The amount they are claiming is something like 360 barrels per year from one acre. 06:30:19 So you would need about 350 000 km^2... 06:30:39 BTW, they don't *seem* to be crackpots. Among other things, they've got George Church (Professor of Health Sciences and Technology at MIT and Harvard; invented genome sequencing; helped initiate the Human Genome Project) and Jim Collins (Professor of Biomedical Engineering at Boston University; essentially *invented* genetic engineering) on board... 06:32:14 okay 06:32:19 that seems more right 06:32:27 i found a mistake in my calculation 06:33:16 i was assuming without realizing it that a gallon of biodiesel would last a whole year of continuous usage :P 06:33:53 why do they give the energy content of fuel instead of the raw power available? 06:34:20 (in the average use case i mean) 06:35:21 Haha... "The results suggest there is a weak correlation, but better or larger studies are needed to really tell one way or the other."... "$415 million were spent on this study, there won't be another bigger study." 06:36:41 " It was supposed to be random in all direction, but Notch mixed up degrees with radians" 06:36:55 Of course he did 06:37:30 Sgeo: ? 06:37:38 http://www.minecraftwiki.net/wiki/TNT 06:39:43 *groan* 06:40:37 Huh. It's possible to destroy bedrock. 06:42:53 How? 06:43:24 Bedrock has finite TNT resistance. 06:43:31 *Large*, but finite. 06:45:36 How can you concentrate enough explosive power to one spot? AFAIK, you can only drop about 250 TNT blocks to one spot... 06:46:39 And TNT blocks only explode few blocks away, so you could maybe cause few thoursand TNT explosions to reach given spot at once... 06:47:22 http://www.youtube.com/watch?v=VFZKtvHQSNY Well, this guy managed to. 06:47:33 The ball o' TNT there is just above ground. 06:47:38 The primed TNT just fell enough. 06:51:22 That's tall... Note that clouds clip it... 06:52:20 Yes, it's really big. 06:52:33 The point is that it's *possible*, not that it's sane to destroy bedrock. :) 06:54:57 That's an earlier version of MC 06:56:43 Still possible. 06:57:04 There is only one MC 06:57:22 Cover up the crater with lots of dirt except for a well-hidden shaft 06:57:37 Watch victim-players fall in 06:57:38 ??? 06:57:40 Profit! 06:58:22 The One MC: http://farm2.static.flickr.com/1260/593523075_33d187df39.jpg 06:59:06 -!- MigoMipo has joined. 07:01:20 that huge ball o' TNT looks awesome 07:01:38 The material surrounding the central pool is bedrock? 07:03:14 Eh, it is not water... 07:06:26 Then fill that hole with TNT and ignite it? :-) 07:08:10 -!- FireFly has joined. 07:09:50 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 07:22:52 -!- jix has quit (Read error: Connection reset by peer). 07:23:09 -!- jix has joined. 07:27:14 ..... 07:27:39 The creator of a language should know whether non-macros are allowed insde macros 07:29:05 ask larry wall that 07:29:14 o.O? 07:30:44 Back in 60's people sure were more optimistic about spaceflight: Calling for manned mars flight by end of the century... Now there's no idea how long that would take (most probably never given present conditions). 07:47:46 -!- calamari has quit (Ping timeout: 265 seconds). 07:55:10 APNIC allocations/delegations (in latest report): 2x/8, 1x/9, 46x/10, 43x/11, 100x/12, 201x/13, 415x/14, 577x/15, 1588x/16, 630x/17, 874x/18, 1613x/19, 1744x/20, 1503x/21, 764x/22, 72x/23, 172x/24. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:39 -!- calamari has joined. 08:01:13 -!- calamari has quit (Client Quit). 08:14:12 -!- sftp has quit (Ping timeout: 240 seconds). 08:20:02 For total of 757 220 352 IPs (45.13x/8). Logaritmic allocation size /2.50. 08:21:42 Logaritmic size of the entiere IPv4 global unicast space is about /0.21 08:59:19 What about that 240/4 set, is no-one going to use that thing ever? I mean, yes, yes, "reserved for future use", but there's not going to be any call for that in a totally IPv6 world. :p 09:08:08 Nobody is ever going to use them... 09:09:35 That means 588 316 672 addresses are not usable for global unicast. 09:13:35 BTW: Some addresses are pretty much unusable due to OS bug... 09:15:22 IIRC, there are around 2M of such addresses... 09:15:28 *bugs 09:16:55 Like assigning IP address of e.g. 195.221.52.255 to Windows box isn't going to go very well (at least earlier versions of Windows couldn't have that address). 09:34:40 -!- sftp has joined. 09:36:43 -!- MigoMipo has quit (Read error: Connection reset by peer). 09:52:52 -!- oerjan has joined. 10:44:06 -!- ais523 has joined. 10:44:56 -!- copumpkin has quit (Ping timeout: 240 seconds). 10:45:22 -!- copumpkin has joined. 11:20:54 -!- cheater00 has quit (Ping timeout: 240 seconds). 11:21:05 -!- cheater- has joined. 11:38:12 -!- Tritonio has joined. 12:06:12 -!- FireFly has quit (Quit: swatted to death). 12:57:27 -!- azaq23 has joined. 13:11:28 -!- asiekierka_ has joined. 13:11:37 hey 13:39:08 hi 13:39:55 hi 14:02:49 -!- asiekierka_ has quit (Ping timeout: 255 seconds). 14:03:28 -!- oerjan has quit (*.net *.split). 14:03:37 -!- Ilari_antrcomp has quit (*.net *.split). 14:03:43 -!- fizzie has quit (*.net *.split). 14:03:45 -!- Deewiant has quit (*.net *.split). 14:03:49 -!- fungot has quit (*.net *.split). 14:03:52 -!- fizzie has joined. 14:03:52 -!- Deewiant has joined. 14:04:12 -!- ais523 has quit (Remote host closed the connection). 14:04:23 -!- ais523 has joined. 14:04:36 -!- oerjan has joined. 14:04:42 -!- Ilari_antrcomp has joined. 14:14:02 -!- FireFly has joined. 14:15:17 -!- augur_ has joined. 14:15:41 -!- cheater- has quit (Ping timeout: 240 seconds). 14:16:04 -!- augur has quit (Ping timeout: 240 seconds). 14:16:44 -!- cheater- has joined. 14:28:11 -!- elliott has joined. 14:28:11 -!- elliott has quit (Changing host). 14:28:11 -!- elliott has joined. 14:28:11 -!- myndzi has quit (Read error: Connection reset by peer). 14:28:11 clog is down? 14:28:16 -!- myndzi has joined. 14:28:36 nope 14:28:56 -!- elliott has changed nick to 17SAARPFQ. 14:28:56 -!- elliott has joined. 14:28:57 dsfdg 14:28:57 -!- elliott has quit (Client Quit). 14:29:12 Debian Software Freedom for Debian Goodness 14:29:17 <17SAARPFQ> -NickServ- elliott!~elliott@91.105.75.160 has just authenticated as you (elliott) * You are now known as 17SAARPFQ 14:29:17 <17SAARPFQ> * elliott (~elliott@91.105.75.160) has joined #esoteric-minecraft 14:29:17 <17SAARPFQ> Yay, my logbot stayed up. 14:29:17 <17SAARPFQ> Or maybe not. 14:29:17 <17SAARPFQ> Erm... 14:29:19 <17SAARPFQ> * elliott has quit (Client Quit) 14:29:21 <17SAARPFQ> <17SAARPFQ> What... the... fuck... 14:29:24 <17SAARPFQ> I said those things *when I first joined*. 14:29:31 <17SAARPFQ> Neither clog nor my logbot saw them. 14:29:38 me neither 14:29:40 <17SAARPFQ> I... have no fucking clue what just happened. 14:29:44 <17SAARPFQ> oerjan: no, that was in -minecraft 14:29:47 -!- 17SAARPFQ has changed nick to elliott. 14:30:01 -!- poiuy_qwert has joined. 14:30:15 esoteric-minecraft? 14:30:18 elliott: anonymity reference? 14:30:30 Tritonio: we split the channel into minecraft and non-minecraft discussion 14:30:44 because although minecraft is actually a valid esolang, people normally weren't discussing it as one 14:30:46 minecraft discussions on esoteric??? sinc when? 14:30:58 Tritonio: for weeks now 14:31:07 IRC server force-renicking? 14:31:10 i suppose redstone is what makes it a language? 14:31:50 ais523: no, see my lines I pasted 14:31:53 -!- sftp has quit (Remote host closed the connection). 14:31:57 Also, there are at least 1 482 CAs trusted by Firefox / Windows 7... Nifty. 14:32:05 Tritonio: presumably 14:32:07 *** elliott is now known as 17SAARPFQ. 14:32:10 we've just been talking about it as players :P 14:32:11 ais523: 14:32:16 <17SAARPFQ> -NickServ- elliott!~elliott@91.105.75.160 has just authenticated as you (elliott) * You are now known as 17SAARPFQ 14:32:16 <17SAARPFQ> * elliott (~elliott@91.105.75.160) has joined #esoteric-minecraft 14:32:16 <17SAARPFQ> Yay, my logbot stayed up. 14:32:16 <17SAARPFQ> Or maybe not. 14:32:16 <17SAARPFQ> Erm... 14:32:16 forced renicking is normally to guest-number, isn't it? 14:32:18 <17SAARPFQ> * elliott has quit (Client Quit) 14:32:20 <17SAARPFQ> <17SAARPFQ> What... the... fuck... 14:32:22 -!- sftp has joined. 14:32:22 <17SAARPFQ> I said those things *when I first joined*. 14:32:24 <17SAARPFQ> Neither clog nor my logbot saw them. 14:32:25 yes, you pasted it already 14:32:30 ais523: yes, but it makes no sense! 14:32:33 it was automatic 14:33:03 ais523: so basically, I joined, said things, nothing else saw them, not even me connecting; reconnected, now things could see me, got booted off my nick, saw my own ghost connect, said the lines I originally did, and then quit 14:33:06 -!- ais523_ has joined. 14:33:34 elliott: that makes no sense 14:33:40 ais523: THAT'S WHAT I SAID 14:33:59 ais523: I suspect some Freenode system glitch, maybe to do with server-to-server communication. 14:34:03 -!- ais523_ has quit (Client Quit). 14:34:09 elliott: i _did_ see clog is down? (and so did clog :D) 14:34:20 oerjan: yep, that's when everything started working 14:34:35 hmm, it seems that the current nickserv actually recommends using /ns ghost in order to get rid of someone impersonating you 14:34:40 most nickservs have a separate command for that 14:35:58 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep). 14:36:10 ais523: what do you call a person who, after writing a logbot, realises they need a way to serve the logs, and decides to write their own HTTP server, handling the protocol themselves, with a built-in log formatter, in Ruby? 14:36:30 apart from "mad"? 14:36:41 hmm, Martin would work well 14:36:44 or perhaps George 14:36:53 * elliott is now known as MartinGeorge 14:37:15 ais523: at least I didn't reinvent the wheel in log storage, and stole loggic's format instead 14:37:28 except that I omitted the date from the timestamps as i have a file per date 14:39:25 loggic stole its format from the IRC standard 14:39:29 why invent a new one? 14:39:31 ais523: nuh uh, it added dates 14:39:37 oh, right 14:39:46 that was just date(1), I think 14:39:46 elliott: did you see anyone else while this weird stuff was happening? maybe you just accidentally joined a split server and got renicked when it unsplit again 14:39:59 aha, that might make sense 14:40:09 elliott on both sides of the split server, and the real elliott was newer than the logbot 14:40:43 hmm, looks like i don't put "stopped logging" messages in the log properly 14:40:52 also, I've forgotten to set the encoding to utf-8 14:41:42 on the HTTP side? 14:41:51 original encoding would make sense for actual storage 14:43:38 HTTP side, yes 14:45:34 hmm, i want to recreate my log formatter for clog, now 14:45:43 http://208.78.103.223/2011-01-18 is just so much easier to read than the plain text files 14:45:50 although it could do with some nicer wrapping behaviour 14:47:10 21:37:50 Sgeo: /ignore elliott 14:47:10 21:37:53 then attempt to use it 14:47:10 21:38:11 if you enjoy it and find it useful 14:47:10 21:38:20 then go for it 14:47:10 yes I'm an evil demon sent from hell that kicks puppies and eats kittens, interestingly though for the past N days the only things you have said in channel have been "WAAH MINECRAFT TALK :(" and "LOL ELLIOTT SUXX0Rz" 14:48:14 elliott: I think you've annoyed most of the language fanboys in the world by using non-Rails Ruby to serve a website 14:48:20 20:54:46 comex is in the Nimrod channel 14:48:23 Sgeo: apparently he uses it 14:48:44 ais523: oh, there are plenty of silly ruby webframeworks, i just went past rejecting web frameworks and rejected even using the http server library that ships with ruby 14:49:11 elliott: I was making a reference to Rails fanboys in particular, who are some of the more obnoxious language fanboys 14:49:17 ais523: here's a (slightly old but essentially the same) version of the http server code to demonstrate just how ugly it is: http://sprunge.us/KHVi 14:49:19 but yes, they are 14:49:21 and they're probably fuming 14:49:39 req = sock.gets 14:49:39 split = req.split(" ") 14:49:39 next if split.length < 2 14:49:40 path = split[1][1..-1] 14:49:49 ^ you can make requests to this http server with "/foo" 14:49:51 erm 14:49:53 ^ you can make requests to this http server with "/foo" 14:50:13 hmm, I've just had an insane idea 14:50:31 you know how many IRC clients color nicks, or color lines by nick 14:50:38 so that different people look different? 14:50:53 that runs into problems due to colors clashing, or else not staying consistent from use to use 14:51:03 21:10:54 "Whole program dead code elimination: Only used functions are included in the executable." 14:51:04 21:10:54 I assume that's not making the claim that every single function that will never be called is always removed 14:51:04 21:10:54 Is it? 14:51:04 21:10:54 Sgeo: it is 14:51:07 Sgeo: What on earth is wrong with that... 14:51:09 so the idea is: you color logs by nick, but very gradually change the colors from one color to another 14:51:16 ais523: you're insane 14:51:26 so that people get the same color as they had when they left when rejoining, but it now magically doesn't clash with anything else 14:51:34 Sgeo: if the language doesn't have eval you can do that 14:51:44 manveru is a rubyist i think...or at least used to be 14:52:08 elliott: if it doesn't have eval, and doesn't have construction of function pointers at runtime 14:52:15 Sgeo: indeed, manveru is the guy behind ramaze (the _original_ Yet Another Ruby Web Framework) 14:52:20 ais523: well, yes 14:52:25 although calling dead code via constructing the function pointer manually is dubious at best 14:52:32 -!- Tritonio has quit (Quit: Leaving). 14:52:34 and I suppose would work just as well to call dead code inside a conditional 14:52:47 21:23:35 "Thus it cannot represent an UTF-8 character, but a part of it. The reason for this is efficiency: for the overwhelming majority of use-cases, the resulting programs will still handle UTF-8 properly as UTF-8 was specially designed for this." 14:52:47 21:23:37 Fuck you. 14:52:47 you've developed a pattern of saying "fuck you" to any feature you don't like 14:52:49 I've lost count of the number of times I've done if (0) { label: ... } in C 14:52:56 (unless dead code elimination eliminates that). 14:53:00 pretty sure you should be nicer to language designers unless they're really terrible 14:53:11 Ilari: we're discussing absurd failure modes of dead code elimination 14:53:58 elliott: bug: /me (CTCP ACTION) leaves the trailing \x01 in 14:54:01 If linker is doing dead function elimination, it better be sure that the functions really are dead... 14:54:09 is your logger still running, btw? 14:54:21 ais523: yes 14:54:23 in -minecraft 14:54:29 wow, clog actually replied 14:54:43 ais523: i'll fix that bug, thankfully it's a bug in the http server 14:54:47 an advantage of logging raw 14:54:58 [14:59] [CTCP] Sending CTCP-TEST request to #esoteric. 14:55:00 [14:59] [CTCP] Received CTCP-ERRMSG reply from clog: unknown CTCP: TEST. 14:55:14 yeah clog is weird 14:55:17 bah, clog doesn't reply to ctcp source 14:55:30 Herobrine is open-source! 14:55:34 [15:00] [CTCP] Sending CTCP-ERRMSG request to clog. 14:55:36 [15:00] [CTCP] Received CTCP-ERRMSG reply from clog: unknown CTCP: ERRMSG. 14:55:39 clearly superior? 14:55:44 ahttp://sprunge.us/VWfX 14:55:45 elliott: but is it on an FTP server? 14:55:46 *http://sprunge.us/VWfX 14:55:51 ais523: no, no it isn't 14:55:59 CTCP SOURCE is specifically specified to specify an FTP server 14:56:02 maybe i'll donate the copyrights to the FSF to become a GNU project 14:56:06 just for the hell of it 14:56:10 umm, that sentence wasn't even deliberate 14:56:21 (apparently, you automatically become a GNU project by doing that) 14:56:32 `addquote [CTCP] Received CTCP-ERRMSG reply from clog: unknown CTCP: ERRMSG. 14:56:48 269) [CTCP] Received CTCP-ERRMSG reply from clog: unknown CTCP: ERRMSG. 14:56:53 `quote 14:56:55 91) Actually, he still looks like he'd rather eat her than have sex with her. 14:57:07 I don't remember that quote existing 14:57:09 `quote 14:57:10 112) think of all the starving kids in china who don't have rotting sea life to eat 14:57:17 `quote 14:57:19 10) So what you're saying is that I shouldn't lick my iPhone but instead I should rub it on my eyes first and then lick my eyeballs? 14:57:27 that's an entirely different QDB! 14:57:35 we can break the rules as much as we want! 14:57:41 how did that happen? 14:57:42 there's already Sine quotes in there, so who cares :P 14:57:45 ais523: I added it 14:57:51 oh, what happened to the old one? 14:57:58 ais523: an entirely different qdb? 14:58:00 no, it's the same 14:58:02 `pastequotes 14:58:04 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28226 14:58:05 see for yourself 14:58:12 ais523: I /did/ trim a lot of the rubbish ones, but that was ages ago now 14:58:15 and most of them are still there 14:58:40 ais523: incidentally, if you can exploit the http server, you'll get root on rutian, since i cba to drop privileges after binding to port 80 14:59:17 it seems a little unlikely there'd be an arbitrary code exploit in a Ruby program of that length 14:59:23 also, don't I have root on rutian anyway, in theory? 14:59:31 or is it a different rutian? 14:59:49 ais523: well, I wiped it to run updog before, so "no", but yes, you could get it trivially 14:59:53 (by asking) 15:00:10 hmm, is updog like dupdog? 15:00:14 no 15:00:22 ohey. where did updog go and what did it do while it was here? 15:00:34 I took it down, and it replied to messages containing updog with "What's updog?" 15:00:41 IT WAS QUITE A SILLY BOT 15:00:57 and now, I must design the language to trap Sgeo forever so that he shall never go looking for another language again 15:01:02 time to consult the logs as to what I need to put in it 15:01:02 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 15:01:03 what's the logbot called again? 15:01:14 the one you just wrote, I mean? 15:01:33 ais523: Herobrine, after http://www.minecraftwiki.net/images/6/68/1283223082465.jpg (warning: image of mostly text) 15:02:00 elliott: I suppose that's better than accidentally trying to watch a video in xterm 15:02:42 I wanted vlc, so I used command-not-found to install it 15:02:51 and it seems there's a command-line version of vlc that doesn't do graphics 15:03:01 now, I had aalib installed for a different reason 15:03:04 mplayer once played a video with -- yep 15:03:08 except i think it was libcaca 15:03:09 so i got colour 15:03:14 oh, I got color too 15:03:19 if only I had a 1920x1080 terminal 15:03:22 umm, colour 15:03:25 ais523: probably libcaca, then 15:03:35 probably was color actually, I doubt this screen was manufactured in the UK 15:03:42 haha 15:03:55 "I'm sorry, I can't view your colour photograph, I only have an American monitor" 15:04:53 I need to try something along those lines on someone who's being really obtusely stupid at some point 15:05:12 now, I need to get into the language-creating ZONE 15:05:22 let's see... looking at my secret plans 15:05:55 prototype-based homoiconic immutable everything-is-a-map symbolic URI-based hash-based language with complicated module system and an Active Worlds binding 15:06:06 I think that's all I need to trap Sgeo forever 15:06:26 for some reason, I mentally interpreted "homoiconic" as "only uses one character" 15:06:37 but I doubt that would help 15:06:45 also, what specifically is immutable? 15:07:47 everything 15:08:11 wow, clog actually replied <-- it replies to unknown ctcps but doesn't actually log them iirc 15:08:39 Hmm... "See here, I began my practice as a cardiologist in 1921 and never saw an Myocardial Infarction (heart attack) patient until 1928."... Heart attacks were pretty rare back then... 15:09:15 22:40:37 Huh. It's possible to destroy bedrock. 15:09:15 22:43:24 Bedrock has finite TNT resistance. 15:09:16 22:43:31 *Large*, but finite. 15:09:23 pikhq: Impossible, you can't get a big enough explosion in one place. 15:09:31 Wait, it's been DONE? 15:09:39 pikhq: ...also, #esoteric-minecraft 15:10:45 I saw video where huge amount of TNT blew a hole in the minecraft _world_ floor. 15:10:51 aha, great discussion in thedailywtf sidebar 15:10:58 they're busy talking about security holes in the .java format 15:11:13 (not in Java programs themeselves; rather, malicious .java files that do nasty things if opened in an IDE) 15:11:29 who cares about malicious binaries when you can have malicious source? 15:11:42 Ilari: this seems to be that video 15:12:36 i watched that vid last night 15:12:40 awesome crater 15:13:50 hmm, massive virtual explosions are more interesting than malicious source files :( 15:13:59 -!- cheater- has quit (Ping timeout: 240 seconds). 15:14:23 ohey. where did updog go and what did it do while it was here? <-- we also suspect it of doing some secret message passing, thereby annoying elliott :D 15:14:33 ais523: I'm interested 15:14:37 ais523: I was waiting for details 15:14:57 but yes, explosions are pretty interesting 15:15:09 ais523: what's the name of the thread? 15:15:22 Swing Label XSRF 15:15:24 -!- cheater- has joined. 15:15:24 aha 15:15:28 thought so 15:15:42 the idea is, most Swing controls distinguish plaintext from html by looking for at the start 15:15:59 so you can randomly put bold or italics into your labels, or whatever, just by changing your internationalisation files 15:16:25 this basically lets you XSRF arbitrary form controls with user-controllable text 15:16:42 now, if an IDE is displaying, say, a list of methods in a class 15:17:12 then you can put HTML in their documentation, and use the element to get it to GET arbitrary URLs 15:17:15 :D 15:17:42 the thread confirmed that it works on both Eclipse and NetBeans 15:17:50 ais523: i'm designing an ostensible esolang, for the sake of ontopicness you have to help 15:17:57 also, Eclipse doesn't use Swing... 15:18:08 indeed, but apparently what it does use has the same feature 15:18:15 heh, and they /wrote/ it 15:18:16 Security gets really fun when you can have maliscous programs (not just maliscous input to honest programs). 15:18:19 (SWT) 15:18:31 Ilari: this is malicious input to honest programs, though 15:18:41 the malicious input happens to be program source code 15:19:01 I think that's all I need to trap Sgeo forever <-- suggested name: goldbars 15:19:05 it's like... imagine you had a compiler that was setuid for some reason, and there's a program you could feed it as input in order to get local root escalation 15:19:09 Reminds me when I found some security holes in one runtime (could be exploited by program doing some insane things). 15:19:17 oerjan: Sethinitely 15:19:38 Ilari: generally if a security hole exploit isn't insane, it's found quickly by chance 15:19:47 so most of the ones that aren't found for a while are 15:20:46 Like dereferencing suitable indexes in array (and those indexes were huge). 15:21:29 I saw video where huge amount of TNT blew a hole in the minecraft _world_ floor. <-- they should stick some _really_ nasty monsters under there :D 15:21:39 ais523: hmm, you just passed up an opportunity to get the channel on topic 15:21:53 oerjan: that may be unwise; map areas generated before halloween have holes dotted about the place in it :D 15:22:09 elliott: I'm willing to help, just not sure how 15:23:11 well, a lot of it is similar enough to http://enchiladacode.nl/ and http://will.thimbleby.net/misc/ which Sgeo responded positively to (especially MISC), which is where most of the feature list comes from, and so I'll probably end up stealing a bit of them 15:23:14 Like a monster that spits lit TNT blocks? :-> 15:23:28 Ilari: That's just a slightly scarier creeper :P 15:23:41 i kind of expect sgeo to completely change what he likes in a language before i manage to get this done, but who cares, it's for science 15:25:05 And of course has some completely ridiculous amount of HP... 15:25:48 elliott: i know you don't have the attention span, but if you could implement such a language...and then specifically disinclude a handful of things that you know he'd want to do as even being /possible/ to do, while making the rest such a joy to use that he gets hooked on it anyway, then you would have the best language evar. 15:26:40 Ilari: no, the FSM should float below the level, and stick his noodly appendages up through the holes to grab anything moving 15:26:41 quintopia: maybe i'll make a language that is SO GOOD, but only usable to people not at SUNY Farmingdale 15:26:58 elliott: that would just be doing him a favor :P 15:27:28 First reaction to monster like that (spits TNT blocks) would be RUN! 15:27:54 it should spit blocks that after a few seconds either split into two blocks, or become lit TNT blocks, at random 15:28:06 second reaction: oh. wait. it'll kill itself eventually. *sit and wait* 15:28:25 with the chance chosen such that it has a nonzero chance (around 50:50) that a single such block lasts indefinitely and eventually destroys the world 15:28:54 And of course it flies so high that TNT blasts won't damage it... 15:29:23 also the creature that does this should be hydra like so that killing it produces two of the original 15:29:36 and it should have very low HP so it kills itself with its own TNT all the time 15:30:01 dear god you people, #esoteric-minecraft :-) 15:30:07 or coppro will literally explode 15:30:08 indeed 15:30:20 elliott: causing him to become two coppros? 15:30:25 ais523: I hope not ... 15:31:21 okay. in the zone. IN THE ZONE! ais523: can i direct my stream-of-thought about the language to you? monologuing feels so strange 15:31:25 you can turn off ping notifications if you want 15:31:32 go for it 15:31:49 if you like I'll even make random comments so that you don't think you're monologuing 15:32:59 ais523: Obviously everything should be a map (and maps are ordered? Like Enchilada? Possibly, possibly not, MISC doesn't have them), and integers should be done similar to Enchilada, perhaps, everything should be a map, strings will be represented as just lists of integers, functions are probably just maps with symbolic elements so that they're kind of like a lazy infinite map? that way map access and function calls are the same i.e. a function is 15:32:59 from input to output and if undefined values look up as nil which will be the empty map [], then every function is total too 15:33:18 "ordered map" sounds worryingly like PHP 15:33:28 PHP doesn't have ordered maps. 15:33:33 it just does arrays as index -> value 15:33:38 and that's hardly the worst thing about PHP by far 15:33:39 it has arrays, which are key/value but ordered 15:33:45 they're not ordered 15:34:02 ais523: Enchilada has that funky thing where both keys and values are optional so it represents 0 as [], 1 as [=], 2 as [=;=] 3 as [=;=;=] etc. 15:34:08 then why is it possible to sort them whilst keeping the keys and values the same? 15:34:13 I should possibly steal that except that it seems a bit strange to be able to omit both keys and values, 15:34:43 ...so then the choice is possibly between Enchilada style lists -- [=1;=2;=3] (same as [1;2;3]), no keys, but it's ordered and you can have duplicates OR 15:34:52 MISC style [0:1 1:2 2:3] i.e. index:value 15:34:56 ais523: good point I forgot about that 15:35:05 a PHP array is like [1="one";2="two";3="three"] IIRC 15:35:08 or maybe it starts at 0 15:35:08 indeed 15:35:13 MISC is like that too 15:35:15 I don't know, it's PHP, it's unlikely to be consistent 15:35:17 MISC maps are unordered though 15:35:24 ...and so really this comes down to the choice of the basic structure again 15:35:40 Enchilada maps are ordered trees of (key,value) pairs where both key and value are optional 15:35:41 also, why is Google down? 15:35:43 MISC maps are just associative maps 15:36:04 ais523: it's not: http://www.downforeveryoneorjustme.com/google.co.uk 15:36:16 An array in PHP is actually an ordered map 15:36:17 I can access it too 15:36:18 hmm, OK 15:36:26 Oh yeah, Enchilada sequences also have a sign, but that's just crazy. 15:36:29 It's how they do negative numbers. 15:36:30 Yahoo!'s second result was the one I wanted, anyway 15:36:41 elliott: heh, I have no idea how to do negative numbers in Underlambda 15:36:53 ais523: with Enchilada, [] and _[] are distinct, for every sequence [] 15:36:58 I think I might just assume they don't exist, and have a library that does sign/magnitude, much like you might have a library to do floats 15:37:00 ais523: and every operation works on both positive and negatives 15:37:25 ais523: for operations that are arithmetic generalised to sequences, they work properly on negatives 15:37:31 others use the sign to overload their behaviour 15:37:46 Sgeo: Which do you prefer, prefix or postfix syntax? 15:38:11 wow, this PHP documentation is full of special cases that don't make sense 15:38:26 like? 15:39:00 appending to an array picks the index after the previous last index for the next element, except if it's negative where what happens depends on what version of PHP you use 15:39:06 haha 15:39:23 also, there are a lot of statements saying things like "you cannot do X, if you do it causes a warning" 15:39:23 ais523: Oh I forgot an extra-important feature, SANDBOXING, because Sgeo loves that, did I mention hotswapping too? Because hotswapping 15:39:33 sandboxing is easy 15:39:40 you just give your language few capabilities 15:39:43 Yes, it is. 15:39:50 ais523: Naw, I'll do it PROPERLY. 15:40:19 oh dear: 15:40:27 As mentioned above, if no key is specified, the maximum of the existing integer indices is taken, and the new key will be that maximum value plus 1. If no integer indices exist yet, the key will be 0 (zero). 15:40:28 Note that the maximum integer key used for this need not currently exist in the array. It need only have existed in the array at some time since the last time the array was re-indexed. The following example illustrates: 15:40:35 :-D 15:40:53 really, worst array object ever 15:41:02 PHP should be banned 15:41:04 they should have just made it work like JS's; that one is also slightly insane, but not nearly that bad 15:41:13 when I used PHP, I /didn't understand/ the concept of a library 15:41:25 the language prevents you 15:41:42 oh, I've been having various ideas for ( 15:41:54 ais523: for... (? 15:42:13 it's a language that's superficially similar to C, but with all the semantics subtly different 15:42:26 good name 15:42:40 ais523: bonus points if you can make it obey the C standard to the letter 15:42:47 such that they're a) more useful in practice, although further from the system, but b) cause programs to break randomly if their programmer tried to slip into C habits 15:43:06 nah, that doesn't let me do fun things by making the language call-by-name 15:43:13 that's more useful in practice? :D 15:43:16 yep 15:43:39 as it's more general, and can trivially simulate by-reference or by-value, which are the most commonly wanted conventions 15:43:52 ais523: they're all equivalent 15:43:59 oh, wait, you have mutability? how quaint! 15:44:30 -!- copumpkin has joined. 15:44:46 elliott: not quite: with immutability but with side effects, by-name and by-value are different 15:45:09 ais523: the world is state, immutability precludes changing it 15:45:10 as by-name doesn't force the evaluation of an argument unless it's actually used 15:45:22 ais523: in the same way that the IO monad isn't purely functional 15:45:26 elliott: hmm, OK 15:45:42 wow, /me swears we've had that exact same exchange before, while I was in the exact same place on the minecraft server 15:45:43 I was referring to languages like idealised algol in which you couldn't directly reference anything not immutable 15:46:01 but you could have, say, pointers to mutable memory (which cannot be accessed except via the pointer) 15:46:13 OCaml works like that too 15:46:21 as do, I expect, other MLs 15:47:24 elliott: did you get deja vu on the previous occasion also? 15:47:31 ais523: but not Amethyst! (Sgeo's language needs a name, if it turns out he doesn't like amethyst I'll rename it) 15:47:33 quintopia: no :D 15:47:34 gah, why on earth does this page about arrays have a discussion on why you should quote constant strings that you're using as array keys, but not the names of variables when you want to use their values as array keys? 15:47:45 elliott: I thought you were calling it goldbars? 15:47:55 ais523: that was oerjan's suggestion :P 15:47:59 ah 15:48:00 ais523: but, yes, sethinitely. 15:48:32 still, why on earth would official documentation need to explain the distinction between a variable and a string in the definition of an entirely unrelated concept 15:48:46 not to mention, at all, except once to explain the syntax for specifying a string? 15:49:23 ais523: in /Amethyst/, strings are just maps! 15:49:32 from maps, to maps! 15:49:32 well obviously! 15:49:44 hmm 15:49:46 if I go the MISC route 15:49:48 then 0 = [] 15:49:53 haha, that's similar to the view of the world that I like in esolangs 15:49:56 1 = [[]:[]] 15:50:02 2 = [[]:[[]:[]]] 15:50:03 i.e. 15:50:06 S(x) = [[]:x] 15:50:15 ais523: this is disturbingly close to Ursala actually :) 15:50:33 newtype t = ([t] -> [t]) 15:50:39 is basically the Underlambda view of the world 15:50:54 ais523: *newtype T = T ([T] -> [T]) 15:50:58 err, right 15:51:03 haven't used Haskell in a while 15:51:07 ais523: surely it also has a nil element? 15:51:16 err, no, it doesn't need one 15:51:18 ah 15:51:20 is it: 15:51:21 lists can be empty 15:51:28 nil = T (\_ -> [])? 15:51:29 or 15:51:33 nil = T (\x -> x) 15:51:54 the second is a much better choice for a nil the way underlambda works 15:51:57 http://rosettacode.org/wiki/Category:Ursala i blame ais523 15:51:58 that actually represents the number 1 15:52:07 elliott: I didn't write that! 15:52:15 ais523: you probably made all those examples! 15:52:21 Ursala's fun to laugh at at a distance 15:52:27 but I wouldn't want to actually /write/ in it 15:52:36 wait, 168? 15:52:57 ais523: sometimes, I worry that languages like Ursala are actually more brilliant than all of us ... then I wake up the next day, sober 15:53:02 :-P 15:53:17 http://rosettacode.org/wiki/Y_combinator#Ursala 15:53:20 Oh dear god. 15:53:31 I don't think there's anything particularly insane about the basic concepts, it's just the execution is just wrong in so many ways 15:54:00 oh right, I forgot that ursala used double-quotes for lambda variables 15:54:09 I forget what it uses for strings 15:54:15 hmm, any objections to me putting Herobrine in here? 15:54:21 the log interface is nicer than clog's... 15:54:40 I have no objection, multiple logbots is a good thing 15:54:40 I'll even convert the clog logs into raw IRC format if I can 15:54:44 ofc we should have clog logging as well 15:54:54 since there has been no formatted interface to the logs in a long time 15:54:59 and that's a bad thing 15:55:05 remember going to ircbrowse.com? me too 15:55:26 why does Ursala let you hot-swap fixed-point implementations for use in compiling recursive functions? 15:55:36 it took me a while to realise that the operation even made sense 15:55:38 :-D 15:55:55 it does at a logical level, in that there's no great implementation impediment to that being possible 15:56:01 but I still can't figure out why you'd want to do it 15:56:21 to OPTIMISE RECURSION 15:56:37 hmm, TIL that Ursala "x". means the same thing as Haskell \x -> 15:57:11 "The fixed point combinator defined above is theoretically correct but inefficient and limited to first order functions, whereas the standard distribution includes a library (sol) providing a hierarchy of fixed point combinators suitable for production use and with higher order functions. A more efficient alternative implementation of my_fix would be general_function_fixer 0 (with 0 signifying the lowest order of fixed point combinators), or if that' 15:57:13 s too easy, then by this definition." 15:57:33 oh, I see, various fixed-point combinators only work on a subset of functions 15:57:54 which worryingly implies that Ursala functions don't work quite the same way as mathematical ones 15:58:01 ais523: oh, that actually makes sense 15:58:29 ais523: it's talking about _all_ fixed points, not just the fix(f) := \x. f(fix(f))(x) definition 15:58:35 yep 15:58:52 ais523: e.g., fix(/2) == 0, but the above fix wouldn't find it, obviously 15:59:27 http://taw.chaosforge.org/amethyst/ 15:59:34 dammit, taw 15:59:48 meh, just pick a name that's already in use and use that 16:00:03 -!- MigoMipo has joined. 16:00:07 I'll stick with Amethyst for now 16:00:21 hmm, the PowerShell fixedpoint is pretty scary too 16:00:22 ais523: uh oh, I think I've found something that doesn't fit into my glorious maps-all-the-way-down structure 16:00:37 yes it does, just shoehorn it in 16:00:50 -!- asiekierka_ has joined. 16:00:55 -!- Phantom_Hoover has joined. 16:00:59 hi 16:01:27 ais523 Vorpal : what happened to yesterday's Vorpal vs. elliott battle? 16:01:28 as in how did it end 16:01:46 ais523: well, one thing I'm stealing from Enchilada is symbolic-ness 16:02:12 asiekierka_: I thought you were there at the time? 16:02:17 i was 16:02:19 but i missed the ending 16:02:20 ais523: now, Enchilada does lambdas like {a b=b a} for swap 16:02:20 i think 16:02:24 no you didn't 16:02:27 oh 16:02:30 i remember now 16:02:35 ais523: but the way /I/ see it, functions are just infinite maps! 16:02:41 it ended in a giant while of silence and battle over the thread 16:02:45 the topic* 16:02:55 ais523: you should be able to say [a=a], and then whenever you look up 2, it notices that there's a symbolic key, and does the obvious 16:02:57 elliott: I was teaching someone Perl, they decided that hashes were just non-infinite functions 16:03:01 ais523: the problem is: what is "a", as maps? 16:03:05 also, they sound quite bright 16:03:10 from that, at least 16:03:13 they are 16:03:26 ais523: did you then ruin their worldview with side-effects? :-) 16:03:28 used to program a few decades ago but had dropped out of the field for a while 16:03:36 so quite used to side-effects 16:03:40 ah 16:04:04 programming had moved on a lot since, but I restricted myself to demonstrating what imperative langs were like nowadays as it's all they needed for what they were doing 16:04:19 ais523: anyway, I /could/ make [a=a] be the same as ["a"="a"], as in, a string 16:04:23 and Perl because what they wanted to do was insanely suited to it 16:04:28 ais523: but, of course, that would stop you using maps as maps from strings to values 16:04:30 which is just ludicrous 16:04:34 elliott: gah no, putting lambda variables in double quotes is an Ursala thing 16:04:36 and also stops you using them for namespaces 16:04:39 and you don't want to copy features from there 16:04:40 ais523: ssssh 16:04:58 ais523: hmm, if I gave every map a sign like in Enchilada, then [a=a] could be the same as [_"a"=_"a"] 16:05:15 i.e., a negative map from integers to integers is a symbolic variable 16:05:16 Note that Perl 6 doesn't actually need a Y combinator because you can name anonymous functions from the inside: 16:05:21 *facepalm* 16:05:32 that sort-of makes sense, actually 16:05:38 you could do that in Overload too, via pointer arithmetic 16:05:46 (this is the sort of reason why Overload never got anywhere) 16:06:25 although Overload was better in that you could name the entire call stack like that 16:06:40 (probably you can in Perl 6 too, using an extended version of caller or something) 16:07:22 hmm, should I go add INTERCAL examples to Rosetta Code? 16:07:23 ais523: but negative maps seem so... ugly! 16:07:28 now is a bad time, but it seems like it should be done sometime 16:07:43 hmm, perhaps a singleton list of a string is a symbolic variable 16:07:45 a == ["a"] 16:07:45 elliott: reminds me of Underload's distinction between quoting and non-quoting lists 16:07:53 umm, Overload 16:07:57 Underload doesn't do anything quite that insane 16:08:09 http://www.w3.org/html/logo/ HTML5 logo unveiled, ugly 16:08:14 but that is, incidentally, the reason Underload bans the <> characters 16:08:26 elliott, ugh 16:08:31 ais523: I need everything to be only one wonderful unified structure, for homoiconicity! 16:08:33 wow, that logo's like an old-fashioned superhero logo 16:08:38 elliott, it looks very tacky 16:08:42 Yes, yes it does. 16:08:50 Why does it... NEED a logo? 16:08:50 It looks like an energy drink. 16:08:53 haha 16:08:55 DRINK HTML 5 16:09:10 elliott: Overload's almost homoiconic: everything's either a list (quoting or non-quoting), or a pointer 16:09:16 The H stands for Hyper, the T stands for Teamwork, the M stands for Multiple banned ingredients, the L stands for LOTS OF MONEY FOR US. 16:09:22 ais523: UNACCEPTABLE 16:09:34 The page also renders wrong in this Firefox 3.6.13 I have at work. 16:09:39 adding pointers was probably what lead to the sheer insanity of the language 16:09:52 imagine a language that is mostly purely functional, except a) you can modify code at runtime, and b) it has goto 16:10:21 (Oh, that was just the lack of scripts. Works with those.) 16:10:26 oh, and calling a function's done by adding a goto at the end of it that jumps back to where you called it from 16:10:34 if you want to call a function more than once, you copy it first 16:10:36 elliott, Badge Builder 5000 16:10:38 SERIOUSLY 16:10:40 -!- ais523 has quit (Write error: Broken pipe). 16:10:58 who broke ais523's pipe? 16:11:17 elliott, me 16:11:25 Hmph. 16:11:40 Is it just me, or is the JavaScript support machinery -- http://www.w3.org/html/logo/js/modernizr.js -- behind that logo pretty ugly? 16:11:52 bodyElem.innerHTML = body.innerHTML.replace(tagRegExp, '<$1font'); 16:11:53 And so on. 16:11:56 fizzie, do you know what modernizer is? 16:12:08 Modernizr is some kind of backport-HTML5-to-bad-browsers thing. 16:12:13 Well, it says what it is right at the top. 16:12:14 elliott, yeah 16:12:16 Also CSS3, apparently. 16:12:20 -!- ais523 has joined. 16:12:22 And it's not "modernizer", it's "modernizr". 16:12:22 LOL WEB DEVELOPMENT SUCKS DICK 16:12:24 [16:16] this way, you can figure out the callstack inside a function by first using the command that returns a pointer to itself (i.e. when you call the command, you get a pointer to that specific instance of the command in question), then moving it to the end of the list, then following 16:12:33 fizzie: Not according to its website! 16:12:37 I guess they COMPRESSED THE FILENAME 16:12:38 . 16:12:42 *FILENAME. 16:13:19 I can't even remember what the command was to get a pointer to follow another (i.e. the operation which in C would be written as *p = **p), but it was probably the same as the command for getting the head of a list or something like that 16:13:23 I don't see the e anywhere in http://www.modernizr.com/ either. 16:13:31 Oh, right. 16:13:53 fizzie, I admit I added an "e" - ARE YOU HAPPY NOW ? 16:14:01 "modernizr" is a silly choice; it's still >8 characters. Should've been "mdrnzr". 16:14:20 fizzie, "mdrnzr" is silly. it should have been m. 16:14:24 For DOS compatibility. 16:14:32 hmm, the Y combinator in J is crazy, almost as bad as the powershell one 16:14:44 ais523: hey! 16:14:45 I'm a J fan 16:14:46 because J restricts functions to second-order 16:14:47 MDRNZR16.JS; see there's even space for version numbers. 16:14:52 J ? 16:14:54 ais523: technically, not really 16:15:04 ais523: it has verbs, and adverbs 16:15:07 yep 16:15:09 obviously, you can't verb verbs 16:15:14 nor adverb adverbs 16:15:15 but you can adverb a verb to get another verb 16:15:22 verbs have both subject and object 16:15:24 elliott: yes, that's second order 16:15:25 but adverbs don't 16:15:26 variable, crazy awesome language. 16:15:29 ais523: well, yes 16:15:31 ais523: but it's not like 16:15:34 3 + function 16:15:34 It's descended directly from APL. 16:15:34 elliott, they don't even use their own logo! 16:15:35 is allowed 16:15:43 so if you want to write a Y combinator in J, you have to do things like serialise the verbs so that verbs can act on them 16:15:54 ais523: J already has a fixed-point combinator, though... 16:16:02 :P 16:16:04 elliott: indeed 16:16:10 the exercise was about implementing Y specifically 16:16:11 At least I recall one existing. 16:16:13 ais523: right 16:16:19 ais523: that's more alien to J than it is to C 16:16:26 ais523: since you... don't loop or recurse, just about ever 16:16:27 yep 16:16:32 Wait, what are second-order functions? 16:16:40 Phantom_Hoover: functions taking first-order functions and outputting first-order functions 16:16:44 first-order functions just take non-function values 16:16:48 Phantom_Hoover: functions that take first-order functions as arguments 16:17:01 elliott: actually, taking a non-function as an argument and outputting a first-order function is arguably first-order 16:17:08 ais523: kdb, an extremely-high-performance database widely used in the financial industry for millions and millions of records, written in J's cousin, K, purportedly contains not a single loop 16:17:17 elliott: that doesn't surprise me 16:17:39 well, it depends on what you mean by "loop", but I doubt it contains any imperative loops, they wouldn't make much sense in a lang that works like that 16:18:00 ais523: nor functional loops (i.e. recursion) 16:18:14 the closest you get to a loop in these languages are folds, and IIRC K doesn't actually have folds 16:18:25 -!- copumpkin has quit (Ping timeout: 264 seconds). 16:18:33 what about Unassignable-style loops, where data structures implicitly know how to iterate themselves? 16:19:15 ais523: nope 16:19:32 the most useful data structure in Unassignable is a "do X n times" constant where X is immutable, but n can be changed 16:19:36 ais523: it's basically all done with the built-in array functions, a very common pattern is to add extra dimensions to an array to store various transformations on it, and then collapse them down 16:19:40 at least in J 16:19:52 elliott: hmm, that pretty much is looping, really 16:20:01 it's sort-of like a map, just more structured 16:20:28 http://www.reddit.com/r/Minecraft/comments/f4dih/first_awesome_cave_find/ 16:20:32 Oops, wrong channel. 16:20:59 wait, someone wrote Y in POP-11? 16:21:02 this makes no sense at all 16:21:05 ais523: well, you'd be hard-pressed to find a string of J code and point to a part and say, "there's the loop" 16:21:18 the loops are everywhere 16:21:18 elliott: actually, taking a non-function as an argument and outputting a first-order function is arguably first-orde 16:21:27 first-odour 16:21:36 dammit irssi 16:21:37 ais523: the loops are everywhere == the loops are nowhere :) 16:21:45 ais523: even "1+array" is a "loop" in J 16:21:48 oerjan: arguably as in I'm prepared to argue it, if someone takes the other side of the argument 16:22:06 ais523: i was about to say, that's just currying 16:22:27 oerjan: well indeed, it is just currying 16:22:32 which is why it shouldn't increase the order 16:23:18 oerjan: do you consider constant values, like constant integers, to be effectively zero-order functions? 16:23:21 I can't remember if I do or not 16:24:22 ais523: no 16:24:26 -!- ais523 has left (?). 16:24:26 you can't apply them 16:24:29 -!- ais523 has joined. 16:24:32 ais523: no 16:24:33 you can't apply them 16:24:35 and they are, therefore, not functions 16:24:48 elliott: aha, but you can't find a -1-order function to apply them /to/ 16:24:50 so it doesn't matter 16:25:04 ais523: that's nonsense 16:25:13 ais523: sure, you can make everything a function if you redefine the definition of function 16:25:24 but integers aren't functions by any reasonable definition (ignoring e.g. church numerals) 16:26:19 in Idealised Algol, all uses of integers in a program are effectively functions that take no argument and return the integer in question 16:26:28 well it's sort of degenerate anyway. in the same way they are 0-_argument_ functions 16:26:31 same in Joy/Factor 16:26:41 oerjan: There is only one type of function, 1-argument :) 16:26:46 same in all sorts of languages 16:27:12 elliott: but if you define n-argument functions for n > 1 then n=0 naturally means a non-function 16:27:51 oerjan: well if you allow side-effects, 0-arg functions can be useful 16:28:02 i'm pretty sure we've quarreled about this before ;D 16:28:06 probably 16:28:23 Sgeo! 16:28:49 meanwhile, it turns out that the people giving me the handouts for my Java tutorials snuck a regular expression into what was otherwise very simple code 16:29:13 ais523: hm yes. e.g. scala uses them for its call-by-name syntax iirc 16:29:24 scala does call-by-name? 16:29:48 well sort of 16:29:57 (note: I'm really quite somewhat of a call-by-name advocate for any language with side effects, using that as your model for everything in your day job does that to you) 16:30:04 oerjan knows anything about Scala? 16:30:15 isn't he too...grumpy to look at new things? 16:30:27 :D 16:30:30 * elliott prepares for swat 16:30:34 What makes this work is that all Clojure functions (thus rosetta-code defined here) implement the java.util.Comparator interface. 16:30:41 err, ouch 16:30:47 if you have an argument whose type is a 0-argument function, but write an expression that is of the type of its _result_ in its place, then it's implicitly converted to a function 16:30:52 iirc 16:30:55 implementing a dynamically typed language on the JVM is done by getting everything to implement everything? 16:31:09 elliott: i looked at scala before i got this grumpy 16:31:25 oerjan: oh, I forgot Scala is actually 2003 vintage 16:31:26 only in a shallow way 16:31:48 oerjan: Algol-68 works a bit like that, it has some really complex rules to determine whether to coerce a function to its return type, then to void, or whether to just coerce it directly to void 16:31:48 * elliott ponders rewriting Herobrine in Haskell 16:31:51 after all, everything should be written in Haskell 16:32:31 oh right, this reminds me of something 16:32:48 my boss was trying to argue to me a while back that Haskell contained imperative-style assignable variables, as long as you used the IO monad 16:33:01 indeed, it does 16:33:09 the IO monad is an imperative language 16:33:13 an imperative, mutable language 16:33:19 it is my least favourite part of haskell :) 16:33:25 and gave "do { x <- 1; x <- x + 1; return x }" as an example, corrected for me misremembering syntax and types 16:33:49 the statement about the IO monad is incidentally correct (although State would work better), the example is massively missing the point 16:34:03 hmm, I think we had to insert some extra return statements in there to make it type 16:34:23 but the point is that that isn't assignable variables at all, that's just SSA with lambda bindings 16:35:14 yeah 16:35:16 yes, that's ridiculous 16:35:49 I failed to come up with a counterexample blatant enough to prove that that's not how Haskell worked at all, though 16:36:19 I tried removing the syntactic sugar but it didn't help 16:36:43 also, apparently Mathematica's compare functions use True for greater than and False for less than 16:36:51 I'm not sure what they use for equal, if anything 16:36:58 http-server library: A library fro writing Haskell web servers. 16:37:02 that inspires confidence 16:37:07 ais523: FileNotFound 16:37:27 (in ), attempting to compare floating-point numbers is undefined behaviour if they happen to be exactly equal, unless one or both of them has multiple values at the time) 16:37:45 argh, "(in )" 16:37:50 don't you mean ( 16:37:58 err, yes 16:38:08 mental auto-bracket-balancer caught me out there 16:38:12 :D 16:38:39 you can do, say, float f = 4; float g = 4.5; f += (0 || 1); if (f > g) printf("f > g\n"); if (f < g) printf("f < g\n"); 16:38:41 and get both lines to print 16:39:02 ais523: why is it that every language designer ends up inventing superposed variables eventually? 16:39:12 elliott: I didn't invent them, I stole them from Perl 6 16:39:19 I always used to hate that I couldn't say, in PHP, ($x == (0 || 1 || 2)) 16:39:47 because it was necessary for something as simple as floating-point >= to not be as dangerous as gets 16:40:00 (using it without superposing one of the variables /is/ gets-dangerous) 16:40:13 you see, in (, floating point numbers are infinite precisoin 16:40:13 ais523: really? 16:40:20 ais523: computable reals? 16:40:21 oh dear 16:40:23 and the way that's achieved, is via calculating them lazily 16:40:33 ais523: erm you do know that equality on computable reals is undecidable? 16:40:35 comparisons are the only thing that force them 16:40:45 elliott: indeed, it is undecidable, that's precisely why it's undefined behaviour 16:41:05 oerjan: can you attempt to convey to ais523 exactly what rabbit hole he's entered by using computable reals? :) 16:41:13 elliott: not a deep one at all 16:41:18 a very deep one 16:41:22 because you can compute them to any number of decimal places 16:41:27 UNDECIDABILITY OF EQUALITY 16:41:31 oerjan: I KNOW 16:41:40 -!- copumpkin has joined. 16:41:44 ais523: YOU DO REALISE YOU BASICALLY NEED PROOFS TO DO THINGS PROPERLY 16:41:48 CAPITALS 16:41:53 now, what > does is just keep calculating decimal places of both numbers until it finds a mismatch 16:42:09 ais523: /facepalm 16:42:10 this is guaranteed to happen eventually if you superpose with addition of a nonzero number 16:42:25 if you don't, well, I warned you you might get an infinite loop 16:42:28 also, UNDECIDABILITY OF DECIMALS IF NOT INFINITE 16:42:40 oerjan: indeed! 16:42:50 e.g. you cannot distinguish 1 from 0.9999999999999999999999999999999... 16:42:59 yes, I'm aware of that 16:43:13 this is actually just a limitation of the language, it's there explicitly as a trap for programmers 16:44:04 but even if one number's on a knife-edge between 1 and 0.9 recurring, that doesn't block comparisons unless the other number is as well 16:44:10 in which case it's undefined behaviour 16:45:12 elliott: can you not just let me do something that's theoretically insane, then push all the problems onto the user and claim it's their fault? 16:45:26 OH, FINE 16:45:37 i thought you said it was meant to be more useful in practice :D 16:45:52 elliott: well, it /is/, for sufficient values of useful in practice 16:46:01 umm, sufficiently small 16:46:39 there are other things like arrays automatically expanding when you address outside or before them 16:46:50 with all pointers being tied to a particular array 16:47:00 (and all variables being implicitly inside a 1-element array) 16:47:13 this sounds useful, but messes up some corner cases with pointer arithmetic quite badly 16:47:24 mostly involving multidimensional arrays 16:49:01 heh 16:49:23 `addquote i thought you said it was meant to be more useful in practice :D elliott: well, it /is/, for sufficient values of useful in practice umm, sufficiently small 16:49:24 270) i thought you said it was meant to be more useful in practice :D elliott: well, it /is/, for sufficient values of useful in practice umm, sufficiently small 16:50:02 elliott: basically the strategy I'm going with is similar to the one the C++ committee is using 16:50:12 think of a feature that's at least mostly backwards-compatible 16:50:15 ais523: so you're going to be insane all on your own? 16:50:20 then just add it without worrying about the implications 16:50:42 although in this case, insufficiently many negative implications are a drawback 16:51:37 oh, luckily the C course is mostly over, although I still have two exercises to mark 16:51:51 this term I'm still teaching Java, but also GPGPU programming 16:52:01 which I don't know that much about, but which I know more about than the students I'm helping 16:52:08 most of them, at least 16:52:22 ais523, what did you actually /do/ when they did that sizeof thing? 16:52:33 dammit, there appears to be no ogdl parser for ruby 16:52:47 Phantom_Hoover: sizeof of a function argument in order to determine how large the array in question is? 16:53:05 nothing but shake my head sadly afterwards and tell everyone on IRC, as that was one of the other tutors 16:53:08 ais523, no, I mean writing sizeof instead of size_t? 16:53:17 oh, I think I gave up 16:53:24 at least, pointed out the mistake 16:53:33 but gave up when they said it had to be incorrect because netbeans didn't autocomplete it 16:53:34 You are a better man than I. 16:54:25 -!- jcp has quit (Excess Flood). 16:54:59 ais523: wow, Ruby supports using a newline as the q delimiter, does perl? 16:55:04 irb(main):002:0> %q 16:55:04 irb(main):003:0' a 16:55:04 irb(main):004:0> 16:55:04 => "a" 16:55:43 elliott: let me check 16:56:15 elliott: it skips the newline and interprets the next character as the q delimiter instead 16:56:27 which means that you can actually use letters as a q delimeter that way 16:57:01 hmm, oerjan: can you kick the user that's about to come in? I want to test something 16:57:10 -!- hellobar has joined. 16:57:17 I'm elliott and I'm EVIL, kick me 16:57:22 elliott: it would be hilarious if a newbie joined just then 16:57:32 I'm a newbie! And EVIL 16:57:52 elliott: your invisible friend is hacking your router again! 16:57:56 darn! 16:57:57 oerjan: kick him! 16:58:45 oerjan: Please? 16:59:44 wow, I'm only about 20% of the way through PHP's documentation for the array type 16:59:48 how can it be that complicated? 17:00:01 ais523: are you an op in here? 17:00:06 no 17:00:08 darn 17:00:17 -!- jcp has joined. 17:00:40 hmm, apparently in PHP you get to choose what index your arrays start from when creating them 17:00:49 even 0.5, I suppose 17:01:03 oerjan oerjan oerjan 17:01:45 ais523: tell oerjan to kick hellobar 17:01:50 he'll listen to you! 17:01:57 why would I do such a thing? 17:02:01 elliott, wait, your invisible friend has hacked your router before? 17:02:18 Yes. 17:02:23 ais523: because I need to see for Herobrine, dammit 17:02:34 hmm, i could make shutup come back in here and get it kicked 17:02:36 Herobrine isn't actually here 17:03:12 ais523: he's going to come in to log 17:03:15 but I'm revamping the impl first 17:03:19 to do thinsg like support multiple channels 17:03:21 *things 17:03:33 well, are you personally logging this in herobrine format? 17:03:40 if not, you won't get the example you're looking for 17:03:55 -!- hellobar has quit (Ping timeout: 240 seconds). 17:04:08 ais523: I'm using nc, duh 17:04:20 -!- hellobar has joined. 17:04:22 that would explain why you pinged out, at least 17:04:24 KICK ME 17:04:34 KICKMEKICKMEKICKEMCIEMCIKECIEMCIE OERJAN OERJAN OERJAN 17:04:50 however, does the text you see when you're kicked compare to the text you see when someone else is kicked? 17:05:10 also, what if someone decides to take over your computer via a remote terminal keybinding injection attack? 17:05:43 I just want to see what it looks like when you get parted from a channel, so Herobrine can rejoin 17:05:49 (not necessarily because of being kicked) 17:05:58 can't you just part it, then? 17:06:11 the part command works over nc too... 17:06:19 or, well 17:06:22 -!- ais523 has left (?). 17:06:23 -!- ais523 has joined. 17:06:27 I can just /cycle 17:06:29 *you *are parted*, not when you *part* 17:06:34 *you 17:07:04 is there any cause but a kick for that? 17:07:10 -!- Phantom_Hoover has left (?). 17:07:10 -!- Phantom_Hoover has joined. 17:07:14 What. 17:08:51 -!- hellobar has quit (Client Quit). 17:11:11 ais523: more Amethyst design: 17:11:30 go on 17:12:00 ais523: every object has a URI. usually this URI will just be a URN like urn:amethyst:... 17:12:05 where ... is, say, a sha-512 hash of the object 17:12:13 by object i mean map 17:12:18 wow 17:12:24 that's... unusual 17:12:25 ais523: wow? 17:12:26 yes 17:12:28 yes it is 17:12:46 I didn't even think of applying hash-based URLs to that 17:12:50 ais523: now, the syntax <...> (or perhaps (...)) parses (not evaluates) to the object of that URI 17:13:06 ais523: for instance, say version 1.0 of the standard library is urn:amethyst:deadbeef 17:13:09 then 17:13:09 even though a while ago, I was wondering about a programming language where everything was pointers into a massive hash table that took up all of memory 17:13:21 Stdlib: 17:13:27 will let you use the Stdlib map 17:13:41 if the interpreter doesn't have something with that hash cached, that's a parse error 17:13:44 ais523: that's like @ 17:13:45 but anywya 17:13:46 *anyway 17:14:03 hmm, it should be urn:sha512: 17:14:06 I think 17:14:06 but anyway 17:14:16 actually, forget the urn thing 17:14:17 it'd be 17:14:20 Stdlib: 17:14:23 but now consider 17:14:33 what if you want to point the interpreter to tell it where it can get a hold of that map? 17:14:35 easy: 17:14:36 wouldn't that require bruteforcing hashes? 17:14:47 ais523: no, it only works if the interpreter has something with the hash deadbeef cached 17:14:52 oh, boring 17:14:54 e.g., in /usr/lib/amethyst/deadbeef 17:14:56 ais523: shut up 17:15:00 anyway 17:15:09 Stdlib: 17:15:12 that URL would contain Amethyst code 17:15:16 and the resulting object must hash to deadbeef 17:15:26 is shorthand for 17:15:43 ais523: this also provides security against tampering 17:15:48 if the stdlib is changed to have malware in it, the verification will fail 17:15:56 -!- ChanServ has set channel mode: +o oerjan. 17:16:04 also makes it impossible to upgrade a system ever again? 17:16:04 oerjan: you kick /hellobar/ 17:16:07 which has now left 17:16:08 :-P 17:16:09 ais523: no 17:16:11 ais523: but-- what if you only want a certain API, not a defined implementation? 17:16:14 ais523: easy 17:16:15 sheesh 17:16:20 -!- oerjan has set channel mode: -o oerjan. 17:16:21 ais523: you use an "API hash" 17:16:39 ais523: which is, essentially, a hash of a hash like: 17:16:58 [SomeName:[open:[]; close:[]]] 17:17:06 ais523: then you'd do 17:17:08 SomeName: ... 17:17:11 ais523: and it'd have open and close in it 17:17:13 so you'd specify it like 17:17:21 wait, you're currently hashing hashtables 17:17:26 and abbreviating both to "hash" 17:17:30 they're not hashtables, they're trees 17:17:32 *a map like: 17:17:33 this is making the conversation more confusing than it should be 17:17:37 now consider 17:17:38 well, ordered maps? 17:17:42 well, possibly... 17:17:44 SomeName: ~deadbeef 17:17:50 basically 17:17:59 if you have saf98y495jgkz cached locally 17:18:08 and its object evaluates to have meta-info (every map has a meta-map) like this: 17:18:18 [...]@[provides:[SomeName:[open:[]; close:[]]]] 17:18:24 and that provide thing hashes to deadbeef 17:18:29 then that would be used as the implementation 17:18:30 hashish tables are r/trees 17:18:35 hardy har har 17:18:38 ais523: or you could say 17:18:43 SomeName: ~deadbeef 17:18:48 ais523: which means, if you don't have a preferred implementation, use this one 17:19:12 how enterprisey 17:19:15 ais523: now, note how module names are *unbreakably* unique, modulo the hash function 17:19:31 ais523: oh come on, that's not enterprisey, that's hideously impractical but fu 17:19:32 *fun 17:20:26 functions otoh are just functionally unique 17:20:38 ais523: actually this is basically enchilada's system but modified 17:20:51 in enchilada you can do 17:20:53 (P1asW6BED++fOl4o86DsE5DVYdU=) == 1 2 3 17:20:54 if the interp knows where to find that hash 17:20:59 with mine, I just turn it into a module system using URIs 17:21:14 elliott: I just tried to interpret that hash as Ursala 17:21:16 ais523: see, if you were Sgeo, you'd be going "oooooh", and that's my design goal 17:21:17 also, ha 17:21:26 and failed, mostly because I don't know Ursala well enough 17:22:02 ugh, my program needs a total restructuring to do this 17:22:17 you're actually /writing/ Amethyst? 17:22:38 ais523: no, Herobrine 17:22:46 ah, what a relief 17:22:50 ais523: but yes, I plan to! 17:22:58 ais523: the horrible thing is, some of these ideas are actually /good/ 17:23:12 ais523: for instance, functions as just maps with symbolic keys 17:23:31 elliott: that's the case with all esolangs 17:23:35 INTERCAL is full of bad ideas 17:23:40 *good ideas 17:23:42 haha 17:23:43 just it has even more bad ideas 17:23:44 "that too!" 17:23:49 that balance it out 17:24:09 I'd love to see modern INTERCAL's control structure in something that didn't have such hideously unusable expressions 17:24:44 ais523: "fib: ^[0:0; 1:1; [+ n 2]: [+ [fib [+ n 1]] [fib n]]]" 17:24:52 the ^ is to quote it 17:24:59 but that's syntax 17:25:01 there's no quote function 17:25:08 because every [f ...] is a regular function application 17:25:13 don't believe him, he's just fibbing you 17:25:20 in this case, [+ n 2] evaluates to [+ n 2], because n is symbolic 17:25:20 quote being a function rarely makes sense anyway 17:25:29 unless it's like a in Underload 17:25:32 and the right-hand-side just evaluates to [+ [fib [+ n 1]] [fib n]] 17:25:36 because n is symbolic 17:25:36 and just requoting something that's already data 17:25:37 when you do 17:25:39 [fib 3] 17:25:46 it runs out of options, finds the symbolic one 17:25:54 fills in "1" for n, thus binding n to 1 17:25:56 and looks at the right hand side 17:25:57 which is now 17:26:04 [+ [fib [+ 1 1]] [fib 1]] 17:26:07 and it evaluates 17:26:21 ais523: this also means that all of a function's body which /can/ be constant-folded /is/ 17:26:25 because the body is actually evaluated 17:26:38 elliott: hey, doing italics like that is my thing! 17:26:43 it's mine too 17:26:49 also, at least one Underload interp works like that 17:26:55 ais523: interestingly, this can actually memoise automatically trivially 17:27:05 as in, when you resort to a symbolic expression, store the new result in the tree 17:27:56 ais523: actually, I think you can avoid that evaluation 17:28:31 test: ^[x: ^[+ ,x 1]]; test2: ^[x: [eval [test x]]] 17:28:32 ais523: indeed 17:28:46 ais523: obviously, ^[+ ,x 1] -> ^[+ ,x 1], because, again, symbolic 17:28:53 hmm, esolang idea: an esolang which is relatively simple and not unusual at all, and easy to implement, perhaps a BF derivative 17:28:55 but when you fill an x in, it turns into the _map_ [+ 3 1] for instance 17:28:57 but doesn't evaluate it 17:28:58 so 17:29:03 with the only unusual feature being that programs aren't actually run 17:29:07 [test 3] is-the-same-code-as ^[+ 3 1] 17:29:09 now 17:29:11 a correct interp just reads the program and ignores it 17:29:22 although programs still have their semantics defined 17:29:29 test2's [eval [test x]] becomes [eval ^[+ ,x 1]] 17:29:32 which then ... eh, I'm confused myself 17:29:32 wiat 17:29:33 *wait 17:29:37 the expansion _doesn't_ happen at compile-time 17:29:40 because the function is quoted, of course 17:30:30 ais523: this language is very confusing 17:30:50 elliott: that could be said about basically any esolang, and a lot of non-eso langs too 17:31:04 and it's not going to get anywhere near as confusing as Feather 17:31:17 incidentally, I ran into the same "issue" MISC did and fixed it in I think the same way 17:31:32 isn't there an esolang called MISC? 17:31:34 basically, you think that 2 is (say) [[]:1] = [[]:[[]:[]]] 17:31:37 yes, but it's not that one 17:31:39 some OISC variant, IIRC 17:31:40 but the point is 17:31:46 you could define a variable named [[]:[[]:[]]] 17:31:50 because variable definitions are just map entries 17:31:52 so 17:31:55 2 is _actually_ ^[[]:[[]:[]]] 17:31:56 it quotes 17:32:01 but then how do you reference the variable named 2? 17:32:03 easy 17:32:05 [eval 2] 17:32:10 yes, that's right: [eval 2] != 2 17:32:18 well, obviously 17:32:26 usually, [eval 2] = 0, in fact, because 0 = [] = nil, and that's what an undefined lookup results in 17:32:28 [eval x] != x barring a huge coincidence 17:32:36 ais523: (eq? (eval 2) 2) in Scheme 17:32:48 because (eval 'x) is the same as x, and 2 is the same as '2 17:32:53 -!- Tritonio has joined. 17:32:55 ais523: eval doesn't operate on strings here 17:32:57 it operates on maps 17:32:59 homoiconic, remember 17:33:01 elliott: how INTERCAL 17:33:06 how is that intercal??? 17:33:12 it initialises #4 to 4, etc 17:33:17 heh 17:33:23 that's what Scheme's doing there, setting constants to their own values 17:33:43 there's no reason why a constant's value should be equal to the constant itself... 17:33:59 oh man, I'm an awful person, I looked at the MISC guy's homepage, saw "MacSword: A bible reading program, for Mac OS X.", and my mind got indignant 17:34:05 oerjan is more right than I'd like him to be 17:34:16 ais523: hmm, one issue with ^ 17:34:20 ais523: is for instance 17:34:23 imagine x = ^[1 2 3] 17:34:24 what's ^x? 17:34:27 ^^[1 2 3], obviously 17:34:28 but 17:34:31 isn't that non-homoiconic? 17:34:35 no, ^x is x 17:34:41 err, I mean 17:34:42 ok 17:34:44 what's ^^[1 2 3] 17:34:45 or 17:34:46 what's 17:34:51 [eval ^^,x] 17:34:52 if erm 17:34:53 *erm 17:34:55 what's 17:34:57 [eval ^^,x] 17:34:58 yeah 17:35:00 if x=^[1 2 3] 17:35:02 homoiconicity doesn't imply you don't have syntax errors 17:35:08 ??? 17:35:13 ais523: why should ^^[1 2 3] be a syntax error 17:35:18 every expression should be quotable 17:35:25 same reason ''(1 2 3) is in Lisp 17:35:47 quoting's a compile-time thing, not a run-time thing 17:35:52 ais523: ''(12 3) is NOT a syntax error in Lisp, dude... 17:36:01 what, really? 17:36:08 ais523: it results in the list (quote (1 2 3)) 17:36:35 that's just stupid 17:36:36 -!- Tritonio has quit (Client Quit). 17:36:48 as is quote pretending to be a function at all 17:36:54 *sigh* 17:37:08 I realise you like to define "Lisp" as "my pet language almost, but not entirely, unlike Lisp", but that is not relevant. 17:37:15 "Pretending", honestly. 17:37:48 well, (quote (+ 1 2 3)) would obviously return the same thing as (quote 6) if quote were a function 17:37:57 ais523, it's not pretending to be a function... 17:37:57 ais523: But anyway, if ^^[1 2 3] is a syntax error, presumably there is no object that corresponds to the syntax "^[1 2 3]" 17:38:02 ergo, the language is not homoiconic 17:38:15 ais523: (f ...) is not just function application in lisp, so there is no pretending 17:38:16 anyway 17:38:18 ais523: But anyway, if ^^[1 2 3] is a syntax error, presumably there is no object that corresponds to the syntax "^[1 2 3]" 17:38:18 It's a special form, like if and setq. 17:38:18 ergo, the language is not homoiconic 17:38:20 address that 17:38:22 hmm, I think I give up trying to figure out what homiconic actually means 17:38:24 (Talking about CL here.) 17:38:29 Phantom_Hoover: if is a special form? 17:38:34 ais523, ...yes? 17:38:46 What else could it possibly be? 17:38:49 Phantom_Hoover: don't talk to ais523 about Lisp, he becomes a troll 17:38:50 setq I can understand, it's a weird abbreviation for set ' that doesn't actually save characters 17:39:08 is cond an actual function, at least? 17:39:12 ais523: how can you write a program that transforms an arbitrary Amethyst program into another? 17:39:18 ais523: are you saying that ^[foo ^x] is invalid? 17:39:24 because that's /ridiculous 17:39:25 / 17:39:25 no, I'm not 17:39:33 ais523: what object does ^[foo ^x] result in? 17:39:36 what map 17:39:40 ais523, in CL, if is a special form and cond is a macro that uses if 17:39:41 [0:foo, 1:???] 17:39:42 [foo ^x] 17:39:48 ais523: so why is ^^[1 2 3] a syntax error 17:39:53 rather than resulting in ^[1 2 3] 17:39:56 Phantom_Hoover: CL is not defined that way 17:39:59 both are special forms 17:40:04 -!- Vorpal_ has joined. 17:40:06 I think, because it's on the LHS 17:40:06 elliott, oh? Huh. 17:40:07 special forms can be implemented as macros 17:40:13 Ah. 17:40:20 ais523: OK, so tell me. 17:40:23 elliott: what object does [[1 2 3] 4] result in? 17:40:28 [[1 2 3] 4] 17:40:31 but [foo ^x] is not valid 17:40:34 because ^x is not a map 17:40:39 or if it is, show me it, written in map form 17:40:49 so [[1 2 3] 4] results in the same object as ^[[1 2 3] 4]? 17:40:55 ais523: no 17:40:58 it gets evaluated 17:40:58 urgh 17:41:01 you are IGNORING my point 17:41:09 The whole point of homoiconicity is that you don't need to condition on what type of node your transformer is receiving 17:41:12 if there are two data types 17:41:12 maps 17:41:13 and quotes 17:41:18 then this is completely destroyed 17:41:21 hmm, OK 17:41:29 I still don't understand part of this, though 17:41:36 ^[[1 2 3] 4] results in [[1 2 3] 4], right? 17:41:40 yes 17:41:48 -!- Vorpal has quit (Ping timeout: 272 seconds). 17:41:53 [[1 2 3] 4] tries to apply 1 to 2 3, and then the result to 4 17:41:56 ais523, why should quote not be nestable? 17:41:59 which will almost certainly result in nil 17:42:00 -!- Vorpal_ has changed nick to Vorpal. 17:42:02 Phantom_Hoover: please, stop confusing the issue 17:42:06 this hardware is haunted or something 17:42:10 Phantom_Hoover: it depends on what quote means, which I'm not sure I understand 17:42:38 ais523: What I'm saying is that ^x _must_ be the same as [quote x] or similar. 17:42:55 ah 17:42:55 Or homoiconicity is ruined and the language's purity is completely gone, it introduces a huge swathe of special-cases. 17:42:58 which language are you talking about? 17:43:01 Amethyst 17:43:03 Vorpal: Amethyst, and don't bother googling 17:43:10 it's the language I will entrap Sgeo in forever 17:43:13 it has hotswapping! 17:43:18 XD 17:43:41 elliott, Amber, Amethyst. Hm a pattern! 17:43:44 ais523: consider this program transformer, that lets you write RPN 17:43:58 hmm, does [a [b c]] in Amethyst work much like (a (b c)) in Lisp? as in, is [b c] evaluated and then a evaluated with the result, or is a evaluated with [b c], or something else? 17:44:07 ais523: [rpn ^[[1 2 *] 3 4 +]] --> [+ [* 1 2] 3 4] 17:44:10 elliott, except it turns out Amber isn't really stone. And for entrapping Amber would be more suitable. ;P 17:44:12 ais523: I can easily write this: 17:45:03 ais523: rpn: ^[prog: [if [== [first prog] ^quote] prog [cons [last prog] [map rpn [all-but-last prog]]]]]]]]]]]]lots of ]s 17:45:21 ais523: if ^x is not the same as [quote x], then we can't process all code as one data structure 17:45:26 and homoiconicity is ruined 17:45:29 yep 17:45:37 but yes, [a [b c]] is the same as (a (b c)) pretty much 17:45:40 but I'm trying to work out how [quote x] can possibly quote anything at all 17:45:44 incidentally you can do keyword arguments like this 17:45:46 [a foo:3] 17:45:47 because surely x would be evaluated first? 17:45:53 ais523: no, because it's a special-case 17:45:58 !!! 17:46:09 ais523: the same way processing ^ differently to any other character, or [, or ], or :, or ; is a special case 17:46:11 doesn't that just defeat the whole point? 17:46:29 hmm, I think you can remove the special case by making the lang call-by-name 17:46:30 ais523: Maybe it makes the point less perfect, but it's a hell of a lot better than not being able to nest quotes! 17:46:39 ais523: that's the Io solution 17:46:41 pass all arguments unevaluated 17:46:48 in fact, the only purpose of call-by-name seems to be to remove special cases 17:46:51 Sgeo liked that, so maybe I'll do it :) 17:47:04 ais523: so then it'd be "quote: [x: x]", right? 17:47:24 err, you seem to have changed syntax 17:47:27 ais523, call by name? as opposed to call by address? 17:47:29 quote works just fine call-by-name 17:47:36 Vorpal: do you know what call-by-name actually is? 17:47:37 ais523: show me an impl of quote in call-by-name 17:47:39 ais523, no 17:47:46 Vorpal: jfWikipediai 17:48:08 #ioke is currently being spammed by a bot 17:48:18 Ah, he's here! 17:48:22 Sgeo: Prefix notation or postfix notation, which do you prefer. 17:48:30 elliott: \f -> \x -> f x 17:48:35 Both! 17:48:36 ais523: err, _what_ 17:48:41 Sgeo: Incorrect answer 17:49:11 Sgeo: What were the DISLIKEABLE things you saw in MISC? 17:49:14 elliott: because all quoting does is prevent something being evaluated instantly, right? 17:49:14 I suppose I should describe what I like in a name 17:49:20 I like Googleability 17:49:26 oh, wait, I really screwed up there 17:49:29 Sgeo: in a _name_? answer my damn question! 17:49:36 ais523: that's either the same as (\f -> f), or you broke eta-expansion, congrats 17:50:25 elliott: eta-expansion is broken anyway in a lang with side effects, I muddled up quote with something else 17:51:08 Function definions seemed a bit long-winded. Lambda should probably be called something like \, and it should come with a function that takes the same arguments lambda takes, plus a name, and puts it in the environment. Unless I'm misunderstanding, and there's no way to put functions in the environment 17:51:11 Sgeo: is Googleability the only factor? 17:51:30 ais523, in a name? 17:51:59 the The programming language 17:52:58 Sgeo: Here's a squaring fucntion in Amethyst: [x: [* x x]] 17:53:00 *function 17:53:21 Sgeo: Here's a squaring function in Amethyst except that squaring 2 gets you -3 because why not: [-2: -3; x: [* x x]] 17:53:22 ARE YOU LIKING IT 17:53:45 What about multi-argument functions? Also, that example confuses me 17:54:01 Sgeo: Why does it confuse you? 17:54:44 Sgeo: ? 17:55:22 -!- myndzi has quit (Ping timeout: 255 seconds). 17:55:22 Because -2 is a constant that the function treats specially, but x is just a variable name for use inside the thing 17:55:29 Also, why is it call-by-name? 17:55:31 -!- ais523 has quit (Ping timeout: 240 seconds). 17:55:46 Sgeo: Don't you worry your head about that, we haven't solidified the details. But it means less special cases. 17:55:49 Sgeo: Anyway, that's due to symbolicness! 17:56:00 hmm 17:56:07 Sgeo: In fact, that function is the same as a map. 17:56:11 Sgeo: It's just an infinite, lazy map. 17:56:40 Sgeo: Whenever a value is looked up, it'll decide it's not -2, notice the symbolic entry works if we set x=4 or whatever our input is, and evaluate the right-hand side with that value substituted. 17:56:43 What does [-2: -3; x: [* x x]; y: [y - 1]] do?/ 17:56:44 Sgeo: The best thing is, it then remembers! 17:56:46 That is: 17:56:50 [x: intensive computation] 17:56:54 Calling it for any x will then cache the result. 17:56:57 -!- ais523 has joined. 17:57:01 -!- myndzi has joined. 17:57:08 This means that a naive Fibonacci implementation is O(n), not O(fib(n)). 17:57:10 ais523: hmm, how would you extend loggic to handle multiple channels? 17:57:33 Sgeo: Not sure. One possibility is that would never look at the y case, because the map is ordered. 17:58:03 elliott: have it join multiple channels, split them later 17:58:14 Sgeo: Another possibility is that it would be a syntax error, or the same as [-2: -3; y: [- y 1]], because the latter overrides the former at parse time. 17:58:26 -!- j-invariant has joined. 17:58:32 nick-change methods might be a little problematic as they only happen once, though, and aren't pegged to the channel 17:58:51 elliott: anyway, I figured out how I did quote in my Unlambda to Underlambda compiler 17:59:06 Sgeo: Did I mention this has macros? 17:59:18 I did it by adding an unquote function to every single other command, with quote being the only function that didn't have it 17:59:28 making quote not a special case is hard; but making unquote not a special case is easy 17:59:28 ais523: heh 17:59:43 and quote literally was an eta-expanded identity there 17:59:48 Sgeo: In fact, call semantics are like Io and Ioke. 17:59:56 Sgeo: Functions get the unevaluated code as their parameter. 18:00:28 Sgeo: Did I mention it's lazy? 18:00:33 Sgeo: Let me tell you about the module system now. 18:00:41 Sgeo: Naming collisions are *completely impossible*. 18:00:56 Sgeo: DO YOU WANT TO KNOW MORE? 18:01:07 Yes 18:01:42 Sgeo: Every object has a URI. 18:01:49 Sgeo: Usually, this URI just looks like urn:sha512:longhashgoeshere. 18:02:08 MORE ASSEMBLER 18:02:09 Sgeo: But if you publish an object (map) on, say, the web, by putting its source code up you can refer to that object with that URI. 18:02:17 olsner: ssh, I'm stopping Sgeo ever using another language again 18:02:29 Sgeo: Here's how you refer to an object at a URI. 18:02:51 Sgeo: (hashgoeshere|http://amethyst.org/stdlib/1.0) 18:02:52 For instance: 18:02:55 What about that problem you previously noted... oh 18:02:58 Stdlib: (hashgoeshere|http://amethyst.org/stdlib/1.0) 18:03:07 Sgeo: This checks that the stdlib has the correct hash. 18:03:15 hmm, the language is "assembly", and the tool you assemble it with is an "assembler"? I use them interchangeably 18:03:16 Hence me saying oh 18:03:23 Sgeo: But if the implementation has it cached, it will use that instead. 18:03:27 Sgeo: For instance, you could just say: 18:03:29 Stdlib: (hashgoeshere) 18:03:37 and if the implementation has that hash (as it would, for the standard library), it will use it. 18:03:41 This can also be used as a database. 18:03:47 olsner: the language is assembly language or assembler; the tool is always an assembler 18:03:53 Sgeo: But! What if a bug in the stdlib was fixed without changing the interface? 18:03:56 and "an assembly" is a .NET-related term 18:04:07 Sgeo: This is handled with an "API hash". 18:04:20 Sgeo: An API hash for the standard library might look like this, assuming the only functions in it were foo and bar: 18:04:28 I thoguht you said... This is handled with an API pattern 18:04:35 I was like WTF, he's using "patterns"? 18:04:39 -!- oerjan has quit (Quit: leaving). 18:04:42 Sgeo: [[Stdlib; 1]: [foo: []; bar: []]] 18:04:52 Sgeo: The _hash of this map_ is the "API hash". 18:05:01 Sgeo: Say it's foobarbaz. You could use the stdlib like this: 18:05:02 ais523: sweet, then I've been right all along when coding in assembler 18:05:08 Stdlib: (~foobarbaz) 18:05:08 or 18:05:13 Stdlib: (~foobarbaz|http://amethyst.org/stdlib/1.0) 18:05:23 Sgeo: The integer in [Stdlib; 1] would be incremented every time a breaking API change is made. 18:05:38 Sgeo: But, you say, how would a module declare that it supports this interface? Easy. 18:05:45 Sgeo: You know how in MISC, every map has another map attached to it, as metadata? 18:06:02 yeah 18:06:11 Sgeo: The same applies to Amethyst. Let's call the map [[Stdlib; 1]: [foo: []; bar: []]] "StdlibAPI", for conciseness. 18:06:32 Sgeo: You would write: [...the stdlib implementation...]@[provides: [StdlibAPI; AnotherAPI; Etc]] 18:06:44 Sgeo: Amethyst would check that it does indeed obey the API requested. 18:06:58 Sgeo: All this is done sandboxed, so a malicious library (if you just specify an API hash and not a map hash) can't do anything the program doesn't let it. 18:07:19 Will this language ever be implemented? 18:07:23 Yes. 18:07:37 Sgeo: Have you FALLEN IN LOVE yet, or do I need to tell you about the HOTSWAPPING? 18:08:01 I want to hear about it 18:08:19 Sgeo: You can hotswap. Any questions? 18:09:27 -!- Tritonio has joined. 18:09:28 Sgeo: Here's something you might like that I'm considering: Infix math by default. 18:09:37 That is, [2 + 2] == 4. 18:09:48 Only if I could easily and sens.. actually 18:09:55 I really don't see how that would work 18:09:56 At all 18:10:14 Sgeo: I'll explain it simply. 18:10:20 I am holding in my hand one of those many Apple display adaptors. Someone explain to me its existence. This one is a DVI-to-DVI adapter. Yes, that's right ... one end DVI male, one end DVI female, it is in essence a 1-inch DVI extension. It's not even like either side is some weird Apple I-Can't-Believe-It's-Not-DVI, both are normal DVI. 18:10:40 Sgeo: The name "2" is bound to a function that takes a function, and another object, and does [function 2 object]. 18:10:41 Gregor: is it wired straight? 18:10:43 it might change the pinout 18:10:43 Gregor: Amazing. 18:11:00 you can imagine a patch to null-modem serial adapter which would have that sort of pinout 18:11:05 ais523: That ... is a horrifying possibility. I don't really have the necessary components to test that theory. 18:11:06 Sgeo: Since 2 is actually shorthand for ^[the map that represents 2], and ^ is quote, when you normally mention 2, it just turns into... well, 2! 18:11:16 Sgeo: But when you apply it as a function, it gets looked up as a name. 18:11:22 I'll have to take it home and test it with my computer. 18:11:24 Gregor: a couple of wires and a multimeter can test it quite easily 18:11:38 ais523: I'm a computer scientist, not an electrical engineer :P 18:11:40 Well, that's... interesting 18:11:53 Sgeo: I'm sorry, do you not like it? I can remove it if you want. 18:12:00 Sgeo: Can you tell me what you would like to see in a language? 18:13:21 Sgeo: BTW, just like in Enchilada, INFORMATION CANNOT BE DESTROYYYED 18:13:31 Sorry, sorry, I accidentally held shift down. 18:13:40 elliott, I don't know how that works in Enchilada 18:13:47 I didn't even begin to understand it 18:13:47 It doesn't :P 18:13:55 Sgeo: Is "it" = "Enchilada"? 18:14:15 Well, "it" is "how Enchilada works" I guess 18:14:34 Why not? 18:14:53 >:( 18:15:23 j-invariant: ? 18:15:48 ):) 18:15:59 (note: that's the same smiley as (:( ) 18:16:01 back 18:16:17 trying to troll reddit getting 504s F£WTFW 18:16:29 504? 18:16:45 trying to play minecraft getting 502s 18:17:38 according to Wikipedia, it happens when you contact one of a site's proxies, but the proxy couldn't contact the actual data source 18:17:52 What's Enchilada? 18:18:04 elliott: http://www.reddit.com/r/atheism/comments/f4kc0/you_are_never_asked_to_prove_a_negative_then_why/ 18:18:12 Phantom_Hoover: thing 18:18:17 A pizza with depth a and radius z has a volume of pi z z a. 18:18:29 reddit best questions of the year right there 18:18:43 j-invariant: oh god why would you ever post that 18:19:28 im interesetd in what people will ahve to say 18:19:49 lol 18:21:26 I may just be forced to abandon #ioke 18:21:56 Sgeo: what's spamming it 18:22:06 IokeHurricane 18:22:16 Which seems to believe it's supposed to be opped 18:22:32 Once a minute 18:22:42 Sgeo: if there are no ops available to kick it, go into #freenode and ask for help 18:22:47 "These logs were automatically created by IokeStormBot on irc.freenode.net using the Java IRC LogBot." 18:22:53 considering the naming similiarity 18:22:55 I suspect it's a legit bot 18:22:56 *similarity 18:22:59 that really is meant to be opped 18:23:02 Yeah 18:23:03 "the Java IRC LogBot"? is there only one? 18:23:16 well, a malfunctioning bot is bad for a channel even if legitimate 18:23:29 It's not like anyone else is even in the channel 18:23:30 hello = method(name, 18:23:30 "hello, #{name}!" println) 18:23:36 ALLOW ME TO REWRITE THIS IN AMETHYST 18:23:49 hello: [name: 18:23:58 [say "hello, ${name}!"]] 18:24:15 Sgeo: MOST BEAUTIFUL THING??? 18:24:28 sub hello ($name) { say "hello, $name!"; } 18:25:07 ais523: valid perl 6! 18:25:13 elliott: Yes, but only because Jesus once said, Blessed are the refried, for they shall inherit the southwest United States. 18:25:21 Sgeo: What do you think the perfect expression of 18:25:21 hello = method(name, 18:25:21 "hello, #{name}!" println) 18:25:22 is? 18:25:25 Please type it out for me. 18:25:30 elliott: well, yes, I just translated your code into perl 6 18:27:07 Sgeo: ? 18:27:30 I don't know 18:27:46 Sgeo: Try. Try! 18:28:15 First off, just [hello: whatever] how is it clear that that map globally assigns stuff? 18:29:36 Sgeo: I'm not asking for Amethyst. 18:29:44 I'm asking for how you would want to write that function. 18:30:14 ais523: hmm, gah, I can't think of any sane way to handle nickname changes in a logbot 18:30:17 Probably similar to Ioke, except making it clearer that the second argument is code 18:30:21 elliott: there isn't one 18:30:28 ais523: how does clog do it? 18:30:32 i mean, speculate 18:30:44 -!- pumpkin has joined. 18:30:50 How does the deceased IokeStormBot do it? 18:30:58 it constantly keeps a membership list for each channel, when it gets a NICK message it places a nickname change message in each channel that nick was a member of 18:31:24 hmm, wait, I can do that 18:31:29 -!- copumpkin has quit (Ping timeout: 240 seconds). 18:31:43 I should make Herobrine do NAMES #channel every time the server pings it 18:31:47 just to avoid desynchronisation 18:33:53 ais523: wow, logging is Hard 18:34:35 ais523: hard enough that I'm going to implement botte first 18:36:05 I KNOW WHAT I SHOULD WRITE BOTTE IN 18:36:07 AMETHYST 18:37:38 elliott: write Amethyst in Feather, using scapegoat as your VCS 18:37:40 hey ais523, what's the perfect database system, 18:37:42 *system 18:37:52 err, depends on what you want to use it for, I suppose 18:38:27 -!- poiuy_qwert has joined. 18:38:30 ais523: I basically want something like Datalog :P 18:38:46 use Datalog then 18:38:50 (whatever that is) 18:38:57 ais523: it's Prolog, but sub-TC 18:39:02 with an efficient algorithm for finding results 18:39:07 i.e. a Prolog database 18:39:11 hmm, so going the other way from Proud 18:40:10 $ time (grep butts big | wc -l) 18:40:10 130 18:40:11 real0m0.165s 18:40:14 (big is the combined clog logs) 18:40:25 unfortunately, doing this with, say, Ruby, even without regexps, produces something much slower 18:40:32 so I can't really just use a linear array 18:41:11 -!- poiuy_qwert has quit (Client Quit). 18:46:02 I should make Herobrine do NAMES #channel every time the server pings it <-- err 18:46:14 elliott, just track PART, JOIN, QUIT, KICK? 18:46:38 Vorpal: Except that each day is in a different file. 18:46:43 I suppose I could make it do NAMES on each new day. 18:48:28 why do so many beginners write [x:xs] 18:49:31 elliott, that would work. And after reconnect of course 18:49:46 j-invariant: VALID CLEAN 18:49:58 What if, in a thousand years, there end up being genuine worshippers of Inglip? 18:50:19 I'll do the same for TOPIC, just in case. 18:50:40 elliott, you could just load history when you need to work out who was there? 18:50:45 more work though 18:51:15 elliott, and for internal state it would presumably keep track of that elsewhere when running 18:52:36 Vorpal: The log bot is really dumb, it just responds to pings and logs to a file. 18:52:39 The formatter does all the grunt work. 18:54:27 elliott: why is jmcarthur being .. like that? 18:54:39 like "what" 18:55:07 dunno 18:55:10 it doesn't matter 18:57:56 -!- sebbu2 has joined. 19:00:16 -!- oerjan has joined. 19:00:35 -!- sebbu has quit (Ping timeout: 240 seconds). 19:09:03 -!- asiekierka_ has quit (Remote host closed the connection). 19:14:18 -!- Herobrine has joined. 19:14:37 elliott, what are your thoughts on Nimrod? 19:14:48 i have none as it looks boring. the variable naming thing is whack 19:20:30 -!- cal153 has quit (Ping timeout: 240 seconds). 19:30:37 -!- Herobrine has quit (Remote host closed the connection). 19:30:46 -!- Herobrine has joined. 19:35:12 -!- Herobrine has quit (Remote host closed the connection). 19:35:30 -!- Herobrine has joined. 19:37:15 -!- Herobrine has quit (Remote host closed the connection). 19:37:26 -!- Herobrine has joined. 19:39:19 -!- acetoline has joined. 19:40:28 Would you guys be interested in a 2D war game where you program insects in Brainfuck? 19:40:48 Maybe. 19:40:54 Sounds interesting enough. 19:41:09 OK because I'm making one... 19:42:00 the insects are not real insects... They will give birth to other insects though, that's why I used the metaphor. :-P 19:42:06 I for one welcome our new insect overlords 19:42:14 lol 19:43:11 -!- calamari has joined. 19:43:56 It's too bad that the only sexual lifeform in existence is insects :P 19:44:16 (Also, insects don't "give birth") 19:44:26 calamari: Also, they're DIRECTORIES. 19:45:17 -!- elliott has set topic: Esoteric programming languages | Wiki: http://esolangs.org/wiki/ | Logs at http://tunes.org/~nef/logs/esoteric/?C=M;O=D or http://208.78.103.223/esoteric/ (formatted). 19:45:29 WHY'D YOU LAME UP THE TOPIC AGAIN 19:45:54 Gregor: EXCUSE ME WE HAVE FORMATTED LOGS NOW THIS IS GOOD? 19:46:00 Gregor: Also, it was because we could possibly have had a visitor. 19:46:04 I was justifying me getting the name Herobrine from its owner. 19:46:15 elliott: Yeah, but you got rid of our support group :( 19:46:18 Which involved "mumble mumble #esoteric offshoot channel Minecraft". 19:46:26 Gregor: hey, I call them directories too, why the misdirected rage? lol 19:46:28 Gregor: I DID NOT WANT MR. RANDOM NICKOWNER TO GET A BAD IMPRESSION OF US 19:47:01 I will probably convert the clog logs to the format of this sometime. 19:47:03 calamari: Oh, I had forgotten who I was arguing with about that on the Book of Faces, thought it was you X-P 19:47:19 but... I call them directories because that's how I learned to call them in Microsoft's MS-DOS, so that probably doesn't help you :) 19:47:37 As opposed to Apple's MS-DOS? 19:47:58 -!- ais523 has quit (Remote host closed the connection). 19:48:39 mkdir "a folder that is not a poorly named directory" 19:49:27 -!- cheater- has quit (Ping timeout: 240 seconds). 19:51:03 mkDIR 19:51:08 Not mkFOL 19:51:15 -!- cal153 has joined. 19:51:15 (Or mkFOLDIR :P ) 19:52:20 mkfoldl' 19:57:48 -!- calamari has quit (Quit: Leaving). 19:58:15 -!- calamari has joined. 19:59:00 elliott: I was stressing the "Microsoft"ness of it.. which I think is the true reason he doesn't like "folder" lol 19:59:21 Gregor WORKED for Microsoft, that's why he loves FOLDERS. 19:59:37 he worked for ms... must disown 19:59:49 I worked for Microsoft RESEARCH 19:59:54 oh.. I worked for ms.. guess that cancels out :( 20:00:04 Also: NEVER AGAIN 20:00:27 I took tech support calls for win9x 20:00:45 calamari: Ha ha, Gregor was higher up the Microsoft pecking order than you-uu 20:00:53 Gregor was a research monkey, you were a telephone monkey. 20:00:57 (Ballmer is just a monkey.) 20:01:18 it was a goood paying job while I was going thru school, no real regrets 20:01:27 -o 20:01:29 -!- oerjan has quit (Remote host closed the connection). 20:01:38 -!- oerjan has joined. 20:01:59 calamari: Gregor was 4 when he worked at MS Research. 20:02:07 -!- cheater- has joined. 20:02:14 elliott, so he is like 5 or 6 now? 20:02:14 He just looks abnormally old for his age, which is why he looks 80 now; he's actually only 20-something. 20:02:23 lol 20:02:26 Isn't that right, Gregor? Or should I say: GRANDPA? 20:02:29 elliott, he worked for MS Research last year? 20:02:41 No, 16+n years ago for n < 10. 20:03:10 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 20:03:14 -!- Phantom__Hoover has joined. 20:03:31 argh.. stupid Java.. just frigging flush 20:03:32 elliott, indeed. n is a value between 0 and 1 even 20:03:59 Yeah, Gregor is just 21. thousand years old 20:04:03 elliott, any opinions on the AVR family of the CPUs? 20:04:12 well not CPUs, system on a chip rather 20:04:16 Are we done loonying me yet? :P 20:04:34 Gregor: Have you taken your meds lately, gramps? 20:04:38 Vorpal: No opinion :P 20:05:54 elliott, no? What ISAs do you have opinions on then? And I mean apart from "sucks, go back to lisp machine style where it is tailored for high level language" 20:06:53 None, if you exclude that 20:07:08 * Phantom__Hoover → food 20:07:27 elliott, so you don't think ARM is better than x86 for example? 20:07:40 Sure, I guess. 20:09:14 JavaScript is better than ARM. 20:09:26 -!- cheater- has quit (Ping timeout: 240 seconds). 20:09:50 Gregor: MIPSJS 20:10:08 6502 is the ultimate 20:10:19 elliott: I SEE WUT U DID THAR 20:10:24 6501 man, I had it on vinyl 20:10:43 Wow, that existed. 20:10:47 "The 6502 is a 6501 with the pins re-arranged following a lawsuit by Motorola over the 6501's pin arrangement." 20:10:56 SO RETRO 20:10:59 LOL 20:11:10 I had it BEFORE they sold out and rearranged the pins. 20:11:19 A lawsuit ... about pin arrangement. 20:11:36 never heard that one, nice 20:12:43 God I can't wait for Wayland to replace X. 20:14:10 pikhq: #esoteric-minecraft! BECAUSE THEY OPPRESS US IN HERE 20:15:14 GET YER MINECRAFT TALK OUTTA HERE YA MINECRAPPERS 20:15:26 God I can't wait for Wayland to replace X. <-- what happened 20:15:34 that made you say that I meant 20:15:43 A lawsuit ... about pin arrangement. <-- yes old 20:15:47 read about it before 20:16:46 Vorpal: Nothing much, I'm just still annoyed at X's really annoying design. 20:17:24 pikhq, well yes 20:17:32 pikhq, can you do wayland forwarding btw? 20:17:51 Vorpal: No, but you can do gtk/qt forwarding. 20:17:56 (note: I actually used X forwarding for seriouss applications like twice) 20:18:00 (years ago) 20:18:01 (Well, you will be able to roughly at the time their Wayland support will become stable.) 20:18:11 I guess I can wait.. as I'm currently connected to my laptop with ssh -X and x2x 20:18:14 Vorpal: Wayland's position is that it belongs at the toolkit level to improve throughput and performance. 20:18:19 Vorpal: Nobody has *written* it, but it's entirely possible to write a Wayland remote access system. 20:18:25 pikhq: Are you sure? 20:18:29 elliott, good thinking 20:18:34 VNC-style, sure. 20:18:41 But I don't think you could do it per-window "generically". 20:18:45 elliott: VNC or RDP style if you want it generic. 20:18:49 If you can have a VNC-headed Wayland server, and also can share your current Wayland session via VNC, then it has everything I need :P 20:18:52 Right. 20:19:14 elliott: Basically write a Wayland compositor that shoves it out via your protocol of choice. 20:19:28 ever used x2x? it's nice 20:19:42 pikhq: That still puts it decades ahead of Windows and Mac :P 20:19:46 Not quite as nice as X for stuff using the actual X drawing primitives, but almost surely beats X otherwise. 20:19:48 Isn't x2x just Synergy--? 20:19:58 no idea 20:20:00 Gregor: Windows has VNC, dude :P 20:20:07 calamari: Seems so. 20:20:12 It seems like I might have to start maintaining gnome-panel soon... 20:20:27 (Remote X for GTK/Qt is *such a pain*, as they just treat the X display as a framebuffer...) 20:20:54 elliott: With Remote Desktop (and the money to fork out for it), you can have a limited number of otherwise-headless sessions. On Mac OS X, to my knowledge, you simply can't. On anything X-based, arbitrary users can start VNC-headed X sessions just for giggles. It's not even comparable. 20:20:56 you work with the gnome guys? 20:21:06 s/Remote Desktop/Terminal Services or whatever/ 20:21:16 -!- calamari has left (?). 20:21:19 Gregor: Dood, there are third-party server/clients :P 20:21:25 -!- calamari has joined. 20:21:26 Sorry calamari, but I can't answer questions if you're not here. 20:21:27 Oh. 20:21:35 wtf 20:21:46 elliott: There are third-party servers/clients that share your CURRENT desktop, not establish new ones. (Unless I'm wrong, I've been out of Windows for a long time) 20:21:49 elliott: The idea is to create arbitrary *additional* sessions, which you straight up can't do on Windows without Remote Desktop. 20:21:52 calamari: No, I don't, but gnome-panel is being deprecated in favour of the awful GNOME Shell monstrosity. I think they're replacing Nautilus too, although I'm not sure about that. 20:21:55 Gregor: Oh. Right. 20:22:04 calamari: And, well, I want to keep using gnome-panel. 20:22:11 And I don't trust it not to bitrot :P 20:22:15 And you can still do to your heart's content on Unix. 20:22:32 Even with Wayland. 20:23:09 Even makes it easier to create a VNC server. No need to deal with a 50-ton code base! 20:23:17 elliott: can you add a Run option on the gome menu while you're at it? 20:23:26 (GNOME sucks) 20:23:33 calamari: Alt+F2 20:24:07 calamari: You can also add "Run Application..." to the panel as an applet :P 20:24:39 yeah, I used to have that but my panel space is precious 20:24:47 I'll have to try to remember alt-f2 20:25:09 calamari: Apparently gnome-panel-control --run-dialog works if you have that installed, so you could just add that to the menu. 20:25:18 But strangely: 20:25:21 The program 'gnome-panel-control' is currently not installed. You can install it by typing: 20:25:21 sudo apt-get install openbox 20:25:24 It might be some openbox tool. 20:25:29 You can probably do it with DBus... 20:25:51 sorry.. I was mostly just joking, I know that didn't come across well 20:26:05 calamari: I'm actually just curious myself :P 20:26:10 I always assumed it was a separate program. 20:26:14 The program 'gnome-panel-control' is currently not installed. You can install it by typing: 20:26:14 sudo apt-get install openbox 20:26:16 what the 20:26:20 Vorpal: "What the"? 20:26:27 it was one of the things that got me to ditch Gnome years ago.. well that and the menu didn't have a decent editor.. well and a lot of other stuff that was hosed 20:26:29 elliott, yes I'm lost for speech 20:26:34 Vorpal: Why? 20:26:37 elliott, "gnome" "openbox" 20:26:40 Openbox works with GNOME panels and the like. 20:26:43 ah 20:26:45 calamari: The menu has a decent editor now :P 20:27:03 yeah, I decided to give gnome another chance on my laptop and it seems fine again 20:27:10 comex seems interested in Nimrod 20:27:20 He's used it, says pumpkin. 20:27:21 I still prefer kde 3.5 tho 20:27:23 But who cares? 20:27:43 calamari: This program pops up the run dialog: http://www.codefu.org/people/darkness/gnome-run.c ...how ridiculously overcomplicated 20:27:44 elliott? 20:27:44 I love how kde 3 gives me a ton of options :) 20:27:48 That's circa 2004 though. 20:27:50 So YMMV. 20:27:53 pumpkin: Just responding to Sgeo... 20:27:55 -!- Phantom__Hoover has changed nick to Notch. 20:28:29 oh 20:28:34 I see 20:28:55 -!- Notch has changed nick to Phantom_Hoover. 20:28:58 Notch: You're banned from #esoteric-minecraft :P 20:29:24 You know there's a #minecraft channel on Freenode... 20:29:29 20:29:32 Yes, and? 20:29:33 Sgeo, yes, but it's smeggy. 20:29:36 Oh. 20:29:37 you guys are java masters, right? why is the data sent from my java client socket not getting to the server until after I disconnect? some buffer that I need to flush? 20:29:40 He means to go in there as Notch. 20:29:42 calamari: No, we all hate Java. 20:29:47 -!- Phantom_Hoover has changed nick to Notch. 20:29:49 calamari: But yeah, try flushing :P 20:29:54 Notch: Godspeed 20:30:05 yeah I flushed, don't like to leave things floating around 20:30:17 * Sgeo feels guilty 20:30:55 I guess it's not strictly Java.. it's Dalvik 20:31:10 could be they didn't implement flush 20:31:47 Sgeo: they think it's really him. 20:31:54 I am lolling to death 20:32:33 The UK mail tracker says my package is in the US, the US mail tracker says my package is in the UK. 20:34:57 I think they stopped believing rather quickly 20:35:13 Sgeo, ssssshhhh! 20:35:45 Gregor, heh 20:36:16 Gregor, guess: it just left UK but hasn't arrived in US yet thus not registered there yet 20:36:34 Vorpal: It's been in this state since Thursday :P 20:36:35 Gregor, neither country wants to own up to having it. 20:36:39 Gregor, ouch 20:36:49 Or they sent it by ship. 20:36:49 Gregor, what is it? (if I may ask) 20:36:51 Like, actual ship. 20:36:53 Notch: That's what I was going to say. 20:37:04 Gregor, isn't that what they usually do? Send it by ship 20:37:04 Vorpal: EVIL. In a box. With a little bit of hope in it. 20:37:09 But mostly evil. 20:37:11 Gregor, oh pandora 20:37:13 Vorpal: ... yes. In the 1800s. 20:37:40 Which this is. 20:37:41 Gregor, so they fly the packets now? Don't you need to pay extra for that? 20:37:57 They fly the TCP packets and what decade is Vorpal living in. 20:38:08 elliott, ... 20:38:14 Vorpal: It's either ground or air, there is no ship shipping. 20:38:24 elliott, I seem to remember stickers saying "air mail" you had to put on the envelopes 20:38:26 Shipipping 20:38:27 Sgeo, FWIW, I really hope they don't think I'm really Notch. 20:38:33 Notch: I think they do. 20:38:41 This is douchebaggy 20:38:49 I mean, my hostname is "unaffiliated/Phantom_Hoover/x-" 20:38:57 Sgeo, if they believe me, they are idiots. 20:39:00 And hence fair game. 20:39:10 Notch: I don't have a problem per se... I'm just so starstruck right now so I'm saying hi. :D 20:39:30 Oh dear god this is the best. 20:39:31 Gregor, you need to cross water to get to US. So that explains the speed. I never heard of a fast sea bed driving vehicle! 20:39:37 Sgeo: Seriously, they're believing without even checking if he's authenticated with services. 20:39:42 Without even looking at his hostname. 20:39:45 Some of them are believing it 20:39:46 They are *idiots*. 20:39:48 Yes, they are. 20:39:52 Not all 20:40:09 -!- calamari has changed nick to Phantom_Hoover. 20:40:19 hi 20:40:21 :P 20:40:24 -!- Phantom_Hoover has changed nick to calamari. 20:40:31 Notch: But ur my HEROO 20:40:35 He got banned :P 20:40:46 Notch: 20:40:47 :( 20:40:47 Banning Notch? What evil! 20:40:47 :') 20:40:47 :'(* 20:40:51 -!- Notch has changed nick to Phantom_Hoover. 20:41:10 (best update ever, btw.) 20:41:14 Jeb did it, motherfucker. 20:41:17 (That was before you got banned.) 20:41:28 Oh, I thought I just got banned by Jeb. 20:41:32 FYI, he changed his nick and didn't even bother changing his connected username. 20:41:32 TkTech: huh. Werid that it was crashing then. 20:41:32 Hello Phantom_Hoover, aka fake notch. 20:41:43 elliott, say hello back from me. 20:41:48 In the early 90's, we would have some adolescent fun with that.. could have chains of 5 or 6 people with the wrong nicks, trying to talk like the real person would 20:42:07 And say that I didn't actually expect anyone not to notice my hostname. 20:42:07 Phantom_Hoover: I said " say hello back from me." 20:42:14 Nope, I left :P 20:42:15 ahh EFNet 20:42:38 elliott, :( 20:42:50 The reddit server thinks I'm a 4channer who took down the server for two minutes, #minecraft thinks Phantom_Hoover is an evil Notch impersonator, we're even :P 20:43:09 Phantom_Hoover: You could just /msg TkTech with it or something, unlikely you'll get unbanned though. 20:43:44 -!- TkTech has joined. 20:43:44 Phantom_Hoover, the real jeb? 20:44:04 Phantom_Hoover: Really, why would you troll the channel regardless? 20:44:08 Phantom_Hoover: ;\ 20:44:13 who is TkTech? 20:44:20 Vorpal, the guy who banned me. 20:44:33 oh right 20:44:40 I don't know how he tracked me back to here... 20:44:54 Phantom_Hoover, I presume you have your channel list world visible 20:44:55 -!- elliott has set topic: http://esolangs.org/wiki/. 20:44:58 TkTech, because I wanted to have some fun! 20:45:00 <-- Been here 4 years, friends with most sysops. 20:45:01 you need to set some mode to prevent that 20:45:15 Vorpal: He does not have them visible, neither does elliott 20:45:16 elliott, logged channels are supposed to have logs in the topic 20:45:19 I always knew freenode sysops weren't very professional 20:45:31 Sgeo: The logs are down right now. 20:45:34 Says the people who just trolled a channel. 20:45:44 TkTech, anyway I doubt anyone would believe he was notch. The "~phantomho@unaffiliated/phantom-hoover/x-3377486" kind of makes it obvious he isn't 20:45:47 u mad? 20:45:47 TkTech, "trolling" is a bit strong. 20:45:52 Vorpal, I thought so too! 20:45:59 I had no part in it. 20:46:06 Vorpal: Regardless, most users in #minecraft would not know how to check nor noticei t. 20:46:17 Shouldn't it be ##minecraft anyway? 20:46:38 TkTech, well that is their issue. If people don't read the manual then they have only themselves to blame 20:46:53 elliott, well, not now that it has Notch's approval. 20:46:56 Vorpal: No, they have occasional dickwads to blame and their own sense of trust :) 20:47:09 TkTech, I take offence to the "wad"! 20:47:17 Phantom_Hoover: dickroll? 20:47:43 -!- Tritonio has quit (Quit: Leaving). 20:47:44 TkTech, uh. wrong. Also "their own sense of trust" just amounts to the same as what I said. They only have themselves to blame. 20:47:50 * Gregor sips tea while watching this bizarre drama unfold. 20:47:50 I have to admit.. after PH /nicked to Notch, I vaguely mentioned #minecraft's existence 20:47:56 So I feel a bit guilty 20:47:58 elliott: by those same channel naming guidlines, this should be ##esoteric as it's a topic :) 20:48:05 Sgeo has the biggest guilty conscience I have ever seen. 20:48:11 elliott: Yeah, it's weird. 20:48:15 TkTech: Minecraft is ownable, esoteric programming languages are not :P 20:48:21 Sgeo: You realise everyone knows #minecraft exists... 20:48:26 TkTech, this is actually old enough to predate those rules 20:48:32 TkTech: Besides, we're 2002 vintage, it's Freenode's problem, not ours 20:48:55 Our teeth are made out of pure whiskey and we ban people for breakfast! 20:49:03 Vorpal: If a company or OS group with a strong presence asks for it and can prove they use the name, your channel can be moved :) 20:49:09 elliott, frozen? I doubt such teeth would work 20:49:17 TkTech, and then we will go to war! 20:49:20 TkTech, nice trolling there :P 20:49:23 TkTech: Good thing no company is called Esoteric Enterprises then 20:49:39 elliott: actually... 20:49:43 Oh please. 20:49:44 * Gregor founds The Esoteric Academy of Esoterica and petitions Freenode. 20:49:49 elliott: http://www.bizfind.us/5/1503046/esoteric-enterprises/san-francisco.aspx 20:49:53 OH NOES 20:49:56 WE'RE DONE FOR 20:50:08 I'm betting ... sex toy shop. 20:50:09 -!- elliott has set topic: ESOTERIC ENTERPRISES, SAN FRANCISCO, CORPORATE CHANNEL. 20:50:15 elliott, :D 20:50:18 Oh, it lists the category :P 20:50:20 -!- elliott has set topic: ESOTERIC ENTERPRISES, SAN FRANCISCO, CORPORATE CHANNEL | SERIOUSNESS EXCLUSIVELY. 20:50:23 Gregor: oO clothing? 20:50:38 Clothing for your pet oO. 20:50:40 TkTech: Sex toys are the best kind of clothing. 20:50:56 *children's clothing 20:50:57 Women's child's clothing, so if you're not the child of a woman, you can go fuck yourself. 20:50:59 Wonder if they just looked up random dictionary words to form a name. 20:51:49 TkTech, incidentally, does #minecraft have logs? 20:51:58 Phantom_Hoover: Certainly 20:52:19 -!- Gregor has set topic: ESOTERIC ENTERPRISES, SAN FRANCISCO, CORPORATE CHANNEL | SERIOUSNESS EXCLUSIVELY | We do not make sex toys, and discourage you from going behind the black curtain labeled "There are no adult products in this store" | Logs at http://tunes.org/~nef/logs/esoteric/?C=M;O=D or http://208.78.103.223/esoteric/ (formatted). 20:53:24 -!- elliott has set topic: ESOTERIC CORPORATION PTY LIMITED | http://www.esotericcorp.com.au/. 20:53:49 Accountants. 20:53:49 -!- elliott has set topic: ESOTERIC CORPORATION PTY LIMITED | http://www.esotericcorp.com.au/ | Service to businesses looking for personal attention and a high degree of accounting expertise. Smiling people around a circular table.. 20:53:49 what's so good about minecraft anyways? just a fad? 20:53:56 Pretty much 20:54:02 Lego, just crashes more 20:54:04 calamari: It's like Lego, except you can blow stuff up. 20:54:10 comex, what's your opinion of Nimrod? 20:54:15 Anyone have any idea about zzo's Dirac notation-in-accounting. 20:54:16 The crashing is usually correlated with blowing stuff up. 20:54:22 Accountants. <-- yes it makes no sense. at all 20:54:25 Phantom_Hoover: Nobody has any idea about zzo38 anything. 20:54:28 Vorpal: What, accounting? 20:54:30 haven't played any lego games on my computer 20:54:33 elliott, not that either! 20:54:41 elliott, reminds me of Arlington Wolfe. 20:54:41 elliott, but I meant accounting + "esoteric" in the name 20:54:43 calamari: That's another disadvantage to Minecraft, it requiers a computer. 20:54:46 my kids have ton of actual legos tho heh 20:54:48 Phantom_Hoover, hah indeed 20:54:51 *requires 20:54:56 calamari: We were talking about actual lego :P 20:55:17 (yes, I said "legos") 20:55:18 :P 20:55:21 Legi. 20:55:22 Legopodes. 20:55:26 uh 20:55:27 Legae. 20:55:29 yeah 20:55:34 Legopodes is best :P 20:55:43 calamari, Ole Kirk Christiansen frowns upon you. 20:55:59 speaking of which. If anyone need to figure out how to get a cross compiler toolchain to the Lego RCX unit I can help 20:56:00 If only Notch was here to frown upon people. 20:56:08 Vorpal: I think nobody will EVER need that :P 20:56:36 er, what 20:56:38 elliott, well I actually wrote that guide for myself to reference mostly. Since I needed to do it again on another computer 20:56:48 elliott: ;\ I have gcc set to cross-compiler C to my old 2002 RCX 20:56:48 TkTech: "er, what"? 20:56:55 OK, well anyone who matters. >__> 20:57:09 >.> 20:57:41 TkTech, oh 2002? 20:57:47 Anyone who doesn't appreciate the HILARITY of posing as Notch. 20:57:55 TkTech, don't remember when mine is from 20:57:57 *does appreciate 20:57:58 I didn't realize they ever made a GCC->RCX X-compiler. 20:57:58 Vorpal: I think, haven't touched it in a long while 20:57:58 ...has a life? 20:58:02 I just remember seeing about Java for it. 20:58:03 Or... *appreciates :P 20:58:07 TkTech, anyway using bibo, not brickOS these days 20:58:08 Vorpal: one of the first-gen yellow bricks 20:58:15 Hey, this time me causing someone to come to this channel was only very, very indirect! 20:58:16 MY LEGOS ARE MADE OUT OF PLASTIC DAMMIT 20:58:19 THEY STICK TOGETHER AND VERY LITTLE ELSE 20:58:37 elliott, so they do actually do other things? 20:58:41 * calamari swaps elliotts legos for best locks 20:58:51 TkTech, well I have two. One from RIS 1.5 and one from RIS 2.0. The one from RIS 1.5 is dead. No clue how, it worked when I put it away for some years. Was dead when I took it out of the box last year. 20:58:53 Sgeo: I was here years ago, I think I first posted a whitespace interpreter what, 4 years ago 20:58:59 Phantom_Hoover: THEY BREAK IF YOU SNAP THEM 20:58:59 ha ha, now they don't even stick together 20:59:07 err 20:59:11 TkTech, same nick? 20:59:15 TkTech: DON'T THINK YOUR STATEMENTS WILL GO UNVERIFIED 20:59:17 I AM RUNNING GREP AS WE SPEAK 20:59:25 Vorpal: Pretty sure 20:59:27 Vorpal: was pre-reg 20:59:35 elliott: I'd <3 logs if you have them 20:59:44 Nobody has any logs, sorry, especially not Gregor in an hg repository. 20:59:47 > select * from irc.logs where nick = 'TkTech'; 20:59:47 serial | tstamp | nick | target | uhost | type | body 20:59:48 --------+--------+------+--------+-------+------+------ 20:59:49 : parse error on input `where' 20:59:49 TkTech, nope 20:59:54 THE LIAR 20:59:54 Nor is Herobrine a logging bot. 20:59:55 no entries 20:59:56 Lynch 'im. 20:59:57 Vorpal: ... srsly? 21:00:02 Gregor, what? 21:00:11 X-D 21:00:11 Vorpal: ... you have IRC logs in a DB? 21:00:18 Gregor: fizzie set it up first to do ANALYSIS. 21:00:21 Gregor, this is old news. fizzie made the script to begin with 21:00:23 Then Vorpal copied like always. 21:00:26 Mmm 21:00:29 For anal lysis. 21:00:30 Got it. 21:00:35 elliott, yes like you copied mcmap 21:00:35 Yes. 21:00:37 elliott, :P 21:00:44 I ported it to postgre 21:00:49 way faster than sqlite 21:01:22 TkTech, nothing case insensitive either 21:01:28 TkTech is the WORST LIAR. 21:01:30 TkTech, got any other nick suggestion? 21:01:33 X-D 21:01:38 Does his claim really need verification :P 21:01:45 It's not the most outrageous one I've heard 21:01:49 Vorpal: linuxhq? Searching google for references to this nick pre-2007 21:01:54 Scott Adams can verify his clam, if needed 21:01:55 Vorpal: not having much luck 21:02:09 no nick like linuxhq either 21:02:10 pikhq: So how are Pik/Linux relations? 21:02:18 Apparently I was interested in Lua in 2007 21:02:19 Are you at peace with the linuxhq? 21:02:19 Who knew 21:02:49 well I conclude that your claim about having been here before is false if your claim about using the same nick is also true 21:02:55 X-D 21:02:57 s/also// 21:02:58 BAN THE LIAR 21:03:02 dammit 21:03:04 no burn 21:03:15 burn the witc^Wliar 21:03:26 kids these days 21:03:28 this things prints sqrt(2)^2 + 2 sqrt(2) + x^2 for (x+sqrt(2)x)^2 21:03:47 calamari: It's like Lego, except you can blow stuff up. <-- technically you _could_ blow up LEGO® bricks, just saying 21:03:56 oerjan: But not with other lego bricks that look like TNT. 21:04:03 Er. 21:04:09 That look like dynamite with "TNT" written on them :P 21:04:45 I love the way that MC combines three different explosives into one. 21:05:07 It's Notch Logic. 21:05:21 Notchurally 21:05:31 /ban Sgeo 21:07:00 -!- copumpkin has joined. 21:07:49 -!- pumpkin has quit (Ping timeout: 240 seconds). 21:12:23 * oerjan thinks the nick linuxhq vaguely rings a bell 21:13:19 I've been googling for a bit, I can find mentions back to 2007 but it doesn't appear as if I specifically visited this #esoteric ;-( 21:13:33 There are other #esoterics? :P 21:13:55 There's the original EFNet #esoterica that got used for all of a day before lament told andreou to come to freenode :P 21:13:57 No appearance of the string "linuxhq" in the codu logs. 21:14:02 Phantom_Hoover: :slowpoke: 21:14:18 We should write a creation story based on our history, that would be... uh... stupid. 21:14:31 #osdev's would be more enteraining 21:14:43 Including the 12 year troll. 21:14:51 Wha? 21:14:53 Really, gr00ber's been trolling it before freenode. 21:15:00 -!- MigoMipo has quit (Ping timeout: 240 seconds). 21:15:19 Phantom_Hoover: A slightly disturbed fellow whose stalked the channel and the ops for over a decade, before the move to freenode 21:15:23 elliott: but I don't want to write about graue :( 21:15:34 Phantom_Hoover: Routinely gets k-lined by tomaj 21:15:42 Graue has nothing to do with this IRC channel, that comes way after that. 21:15:50 I've always stayed away from osdev as I suspect them to be slightly insane. 21:15:53 It is pitch dark. You might be eaten by a graue. 21:16:02 elliott: By that logic, you have nothing to do with this IRC channel :P 21:16:09 Gregor: Its founding, no :P 21:16:16 calamari: Does *anyone* get along with Graue? :-) 21:16:56 I don't get along with him because he creates another layer of Gregor/Gracenotes ambiguity :P 21:17:10 -!- elliott has changed nick to Gregori. 21:17:15 -!- Gregori has changed nick to elliott. 21:17:31 I remember when a guy left to go fight in the war and gave me the keys to esolangs.org.. that must have really shined him on lol 21:17:56 lol 21:17:59 AT LAST I AM AT PEACE 21:18:39 calamari: Does *anyone* get along with Graue? :-) ← well, I had a cordial email conversation with him a while ago. 21:19:45 too many vowels in a row, it's immediately irritating.. kinda like people that use their first name as their nick .. oh wait 21:19:55 Yeah, Mr. Calamari. 21:20:12 That change to [[Tepir]] was me, nobody revert it :P 21:20:21 -!- MigoMipo has joined. 21:21:33 * oerjan swats calamari -----### 21:21:45 YOU JUST BE GLAD I DIDN'T BAN YOU 21:21:47 Calamari Jones is a self-hating squid. 21:22:01 Why is cpressey staying off IRC? 21:22:07 a welsh squid 21:22:17 Phantom_Hoover: it was eating up all of his time 21:23:26 http://progopedia.com/ 21:23:27 Oh 21:23:29 Oh no 21:23:32 This cannot be good 21:24:09 Meh, it's too new to be that interesting 21:25:50 Sgeo, you should really try self-control. 21:26:26 -!- revenantphx has joined. 21:26:45 -!- revenantphx has left (?). 21:27:00 Phantom_Hoover: WHAT IS THIS NONSENSE ON THE WIKI ABOUT TRYING TO GET THE CHANNEL ON TOPIC 21:27:41 WHAT 21:27:44 FUCK YOU PH 21:27:53 it has my lame Hanoi Love language but not Linguine.. bummer 21:27:56 oerjan: excuse me 21:27:58 oerjan: my edit was not a revert 21:28:00 erm 21:28:01 was not spam 21:28:06 oh wait 21:28:06 :D 21:28:08 dman you 21:28:10 also damn you 21:28:12 but mostly dman 21:28:13 rofl 21:28:45 (i actually just said that to Phantom_Hoover to make sure elliott checked the wiki) 21:28:51 (well, mostly) 21:28:52 * elliott punches oerjan 21:28:53 -!- quintopia has quit (Remote host closed the connection). 21:29:00 *ouch* 21:29:05 * elliott punches oerjan 21:30:08 -!- quintopia has joined. 21:30:08 SOMEONE SEEMS TO HAVE AN ANGER PROBLEM 21:30:45 * elliott punches oerjan 21:33:21 -!- augur_ has changed nick to augur. 21:33:57 * Phantom_Hoover punches oerjan 21:34:14 this looks fun! 21:34:14 MUST BE THOSE TEEN HORMONES 21:34:17 * olsner punches oerjan 21:34:27 * elliott punches oerjan 21:34:52 * Phantom_Hoover punches elliott 21:34:58 yay, context switching works 21:34:59 * elliott punches oerjan 21:35:08 * olsner punches Phantom_Hoover 21:35:11 * Phantom_Hoover punches olsner 21:35:12 olsner: now give it a transparent GUI and a tcp stack 21:35:17 Barroom brawl! 21:35:17 WINDOWS KILLER 21:35:21 elliott: exactly! 21:35:27 * Phantom_Hoover smashes a chair over Vorpal's head 21:35:45 it's missing a *few* things before that can be worked on though 21:36:47 olsner: so you implemented context switching in userspace right? :D 21:36:55 Phantom_Hoover, uh. Good thing I had my hard hat on 21:37:15 just slightly disoriented there for a few seconds 21:37:15 Sgeo 21:37:29 * Phantom_Hoover throws Sgeo out of a window 21:37:33 elliott 21:37:42 What 21:37:57 * Phantom_Hoover goes outside, grabs Sgeo and hits elliott with him. 21:37:59 * calamari fails at java :( 21:38:01 Sgeo: what is your preferred data structure for everything to be, an ordered map where both keys and values are optional or an unordered map 21:38:06 * oerjan poisons Gregor's tea while everyone else is watching the brawl 21:38:21 Good thing I don't actually drink tea. 21:38:24 elliott: well, what I have actually done is a yield syscall that switches to the next runnable process 21:38:46 and I have a flag for whether a suspended process can just be sysret:ed to or if all the registers need to be restored 21:38:48 really? I thought all liberals drank tea 21:38:54 olsner: Now make a user-space process that forcibly inserts such syscalls into its children :D 21:39:14 Gregor, how can you not drink tea? 21:39:15 * Sgeo installs Nimrod 21:39:24 * Gregor sips tea while watching this bizarre drama unfold. <-- SOMEONE IS NOT TELLING THE TRUTH 21:39:25 You're an English pansy! You must drink tea! 21:39:34 elliott: hehe, right... and then solve the halting problem to figure out where those syscalls are required 21:39:35 oerjan: Yup, I lie. 21:39:50 olsner: no, just insert them every N instructions 21:39:52 Phantom_Hoover: Same way I don't drink coffee, beer, wine or ... whatever else you like. 21:39:59 olsner: and make sure you insert one before every jump 21:40:09 Gregor, "you"?! 21:40:11 Gregor drinks liquid babies. 21:40:22 Phantom_Hoover: Other than tea. 21:40:24 You'll hang from the highest yard-arm in Leith docks for that slight! 21:40:27 Gregor: DO YOU KNOW HOW HARD IT'S TO GET HOLD OF CHROMIUM CYANIDE?!=\ 21:40:34 :D 21:40:39 ... wow. 21:40:42 lawl 21:40:44 oerjan: Bravo on the reference :P 21:41:06 However, the irritation from the chromium seems rather pointless what with the cyanide. 21:41:15 _maybe_ 21:42:04 Gregor, how DARE you call me English?! 21:42:11 Phantom_Hoover: ... I didn't? 21:42:15 elliott: make every branch cost a syscall == awesome 21:42:27 Phantom_Hoover: Same way I don't drink coffee, beer, wine or ... whatever else you like. 21:42:32 See the "you"?! 21:42:32 olsner: Yes. 21:42:42 Phantom_Hoover: Yes, whatever other than tea that you like ... 21:42:44 Cyanide & Chromium Happiness 21:42:56 Sgeo: ANSWER 21:43:23 Also, I'm as American as 21:43:25 Gregor, my point was that English pansies drink tea, not that I like tea! 21:43:28 elliott, I don't know. having potentential ordering seems like it would add more, potentially uneeded, complexity 21:43:32 Gregor: Smallpox blankets? 21:43:32 But maybe not 21:43:38 could there be a language which contains no other instructions than LOAD, STORE, and TRAP that uses no memory-mapped I/O or arithmetic, as it depends on the OS to do all that for it? if yes, which OS could do it? 21:43:42 Phantom_Hoover: In that case, I'm as American as 21:43:44 Sgeo: Sure, but it lets you express some things easier. 21:43:51 Gregor, English pansyness is genetically dominant. 21:44:02 Phantom_Hoover: My Jewish genes beat it out. 21:44:05 What Phantom_Hoover is saying, Gregor, is that you're gay. 21:44:06 moreover, can it be TRAP only? 21:44:15 Gregor, nope! 21:44:29 Evidence: Jon Ronson is Jewish, and he's an English pansy. 21:44:30 elliott: Pfff, you English pansies are far more pansy than our American gays. 21:44:38 Neil Gaiman is Jewish, and he's an English pansy. 21:44:43 Gregor: OH MY 21:44:48 elliott, your suggestion for syscall based thing works except you don't need a syscall. I believe erlang does what you suggested per scheduler (and it runs one scheduler per CPU) 21:45:06 Vorpal: In @, the compiler inserts the instructions :P 21:45:11 elliott, but since you know what you execute then you can just do a cheap decrement of a counter and a check 21:45:15 elliott, yes so same thing applies to you 21:45:16 That being said, I'd much rather have the word "pooftah" in my lexicon than "faggot", but I guess that's because, as mentioned, I'm American :P 21:45:27 Gregor: Shut up, pofftah faggot. 21:45:28 elliott, you don't need a full syscall 21:45:28 *pooftah 21:45:33 Vorpal: But olsner does. 21:45:35 Because he's lame. 21:45:41 elliott, well that is a different system 21:45:42 elliott: Wow. Gay on both sides o' the pond :P 21:45:50 Sgeo: The thing is, I can't have optional keys with an unordered thing. 21:45:55 elliott: my OS will be disappointingly traditional for you 21:45:56 Sgeo: So arrays have to be 0 -> first elem; 1 -> second elem 21:45:56 rather than 21:45:59 -> first elem; -> second elem 21:46:02 olsner: :D 21:46:12 once it gets running programs, it's going to have a SHELL 21:46:18 Ok, I guess, I don't see anything terrible about ordered keys 21:46:26 olsner, so does it boot in an emulator yet? 21:46:30 Wait, why can't ypu? 21:46:45 Sgeo: Because how would you look up a key... 21:46:59 elliott, implied keys, MISC style 21:47:01 It needs to be ordered to represent [a; b; c] as (=> a, => b, => c) 21:47:05 Sgeo: i.e., keys aren't optional. 21:47:24 Phantom_Hoover: In that case, I'm as American as <-- G. W. Bush? 21:47:26 * Vorpal runs 21:47:37 ... 21:47:38 That was...lame. 21:47:39 I'm Canadian. 21:47:43 Vorpal: yeah, it's been booting since several years back - the difficult part is doing something useful after booting 21:47:45 Me too. 21:47:47 elliott, yes it was a cheap attack :P 21:47:48 Everyone's Canadian. 21:47:50 But syntactically they are optional. Note that I'm insisting on nothing, just confused 21:48:00 I'm as Canadian as apple pie is American! 21:48:09 elliott, at least I didn't say "highschool massacres" 21:48:11 or, at least I think it was already booting when I picked it up after elliott got me interested in os-writing again 21:48:15 Canada is just a country of quasi-English pansies. 21:48:16 Vorpal: Those are Jewish. 21:48:16 elliott, I *could* have done that 21:48:22 Gregor: *as Canadian as murder 21:48:24 elliott, no they are American 21:48:30 Vorpal: JEWISH 21:48:39 elliott, [citation needed] 21:48:54 I should write a script for my IRC client that terminates every line with "[citation needed]" 21:48:56 Vorpal: Protocols of the Learned Elders of Zion 21:48:56 but since I've rewritten it now, all the timestamps are new and I don't remember how old the code was 21:49:11 elliott, what the heck is that? 21:49:15 Vorpal: The TRUTH 21:49:20 About JEWS 21:49:26 Isn't that RIGHT Gregor?!?!24783 21:49:43 elliott: Only the uninteresting parts. 21:49:50 elliott: Kinda doesn't matter since you don't know the REAL secrets. 21:49:52 elliott, I never heard of it. Has it been peer-reviewed by the mainstream science? 21:49:58 Like killing all the RACISTS?!>!$@O%65UY WITH eAR JUICE??? 21:50:00 Vorpal: ... X-D Yes. 21:50:06 You know, I've concluded that Jew's ear Juice must actually be juice from the ear of a Jew. 21:50:06 elliott, I bet not 21:50:15 Vorpal: Shut up, you filthy kike. 21:50:33 Since if it was juice that Jews put into their ears it would be apostrophised "Jews' ear Juice". 21:50:40 elliott, I have no idea what "kike" means so thus I'm not offended by it 21:50:43 Jews' ear juice 21:50:45 Vorpal: It means you're a JEW. 21:50:45 but I guess it would be otherwise 21:50:48 Like GREGOR. 21:50:50 Phantom_Hoover: And clearly that Chinese Engrish can would get its apostrophes right. 21:51:05 elliott, well no I don't believe in that religion 21:51:19 Gregor does 21:51:21 I DO NOT BELIEVE THAT JUDAISM EXISTS 21:51:23 That's because he's a fag. 21:51:32 Gregor: GO PRAISE ALLAH, TERRORIST 21:52:01 no no 21:52:04 -!- Mathnerd314 has joined. 21:52:09 Phantom_Hoover: it's juice made from the ears of their enemies, silly 21:52:09 -!- MigoMipo has quit (Ping timeout: 240 seconds). 21:52:17 Gregor is a Scientologist, you should know that 21:52:37 Phantom_Hoover: Also, http://9gag.com/gag/29876/ it's "The Jew's ear juice" 21:52:54 Phantom_Hoover: So, still ambiguous. It's just owned by the Jew. 21:53:12 hah! found a backup! Vorpal: the code has been booting since at least 8 and a half years 21:53:21 olsner: I didn't even EXIST that long ago. 21:53:23 but protected mode and anything remotely useful only started working in november 21:53:28 elliott: yes it did 21:53:37 olsner: No I didn't! I'm 3! 21:53:57 oh, I read "it" 21:54:50 age%10? 21:55:16 pikhq: I don't suppose you can recognize any of these symbols? http://9gag.com/gag/29876/ 21:57:05 黑木耳露 21:57:20 hah! found a backup! Vorpal: the code has been booting since at least 8 and a half years <-- eh? what about the backup? 21:57:32 now go look them up in the unicode table :P 21:57:44 Vorpal: to find the pre-2010 timestamps of the code 21:57:51 calamari: Good job, Human OCR. 21:57:54 olsner, no version control? 21:58:01 version control is lame 21:58:04 unless it's scapegoat 21:58:07 actually I cheated and used this page http://newatlasbev.com/450/juice/jews-ear-juice/ 21:58:16 olsner, also will it work on a SATA based no-legacy system? 21:58:28 Chinese to English translation 21:58:28 Black fungus Lu 21:58:29 there was (*was*) a CVS repository for it... on a different computer... running windows 21:58:32 elliott, yes but it is better than no version control at all 21:58:34 ... well, that's even worse :P 21:58:37 olsner, hah 21:59:28 no, version control is unacceptable 21:59:30 unless it's sg 22:00:32 http://en.wikipedia.org/wiki/Auricularia_auricula-judae 22:01:00 (as in, the CVS repository was running on a different computer running windows that I no longer have) 22:05:01 -!- TkTech has changed nick to TkTech|Busy. 22:05:46 I dislike awaynicks 22:05:57 just use /away, less spammy 22:06:06 yeah /away is neat 22:06:16 TkTech|Busy, ^ 22:08:11 Vorpal: Sucks 22:08:21 Vorpal: fyi, busy != away 22:08:31 we're just looking for an excuse to ban you forever 22:08:35 TkTech|Busy, well still they are spammy in the nick 22:08:42 -!- elliott has changed nick to elliott|flossing. 22:08:52 Vorpal: Easily solved 22:08:53 -!- TkTech|Busy has left (?). 22:08:55 yay 22:09:00 Aww 22:09:05 woo 22:09:07 -!- elliott|flossing has changed nick to elliott. 22:09:10 Sgeo: oh come on, we don't like him 22:09:21 elliott, well that solved the issue :) 22:09:26 all thanks to me 22:09:31 something like that 22:09:49 Vorpal saved the day yet again! 22:12:07 wait, that means we are doomed, right? 22:16:21 yes 22:17:02 elliott, big news: I did not spawn on a beach. 22:17:08 Vorpal: WHAT 22:17:09 SCREENSHOT 22:17:13 elliott, however I did spawn at the edge of a desert biome! 22:17:22 Vorpal: BUT WERE YOU STANDING ON SAND 22:17:35 elliott, yes. Just. 22:17:46 elliott, just on the edge of the desert biome. No water near 22:18:01 elliott, wait, there is water very far away on far 22:18:51 elliott, but well I can upload the screenshots. My old ~/bin/ompload seems broken. Any idea for some automated command line upload? 22:19:02 Vorpal: uuencode to sprunge 22:19:02 for the series of screenshot 22:19:08 elliott, too much work 22:19:13 elliott, now seriously 22:19:19 dunno. 22:19:25 elliott, no upload then of screenshots 22:19:27 too much work 22:19:33 just upload one... 22:19:43 elliott, yes I won't start browser however 22:19:48 elliott, can't when minecraft runs 22:19:51 w3m 22:20:09 elliott, dude just give me url to an automated program for it. That's all 22:20:16 For WHAT 22:20:23 w3m is too tedious to use 22:20:29 For WHAT 22:20:29 elliott, to upload image to some image hosting site! 22:20:34 I use a browser. 22:20:39 Just use w3m, it takes two seconds... 22:20:46 elliott, well I won't. No upload for you then 22:20:56 I have the screenshots saved 22:21:01 ... 22:21:01 in case you change your mind 22:21:30 Vorpal: OK, so basically "I want to make things hard for you so I'm going to waste more effort than I would end up spending if I just did what he said complaining that it's too much effort". 22:21:57 elliott, actually such a tool will be useful further on 22:33:33 Paper about finetuning of the Plank constant. That of course assumes dark energy really exists and is not just an atefact of GR being incorrect... 22:35:43 -!- Tritonio has joined. 22:42:58 tswett: I SEE YOU WITH MY EYES 22:43:08 I may have accidentally driven the Nimrod dev insane 22:43:28 Sgeo: Howso. 22:43:37 Introduced him to the AW SDK 22:44:02 Sgeo: How has that driven him insane. 22:44:15 elliott, have you ever seen AW SDK code? 22:44:52 No. 22:45:10 http://wiki.activeworlds.com/index.php?title=SDK_Sample_Program_1 22:46:25 tswett: With my EYES. 22:46:41 Sgeo: Doesn't seem that unreasonable... 22:47:46 elliott: I am seen by you with your eyes. Your eyes are seen with by you of me. 22:48:28 tswett: More like "you know someone I know and I did not know they knew you and this fact has been communicated to my brain via imagery". 22:48:42 But yes, I see your physical manifestation with my eyes due to witchcraft. 22:48:45 Don't let facts get in the way of it. 22:48:47 elliott: oh, I see. So who's our mutual knowee? 22:56:55 My step-mom's giving my dad grief about the cell phone plan, so my dad wants to give me a regular phone and a small wifi portable hotspot thing 22:57:30 Sgeo: "The cell phone plan"? 22:57:35 * elliott braces for cringe 22:57:45 Having a data plan, I guess 23:00:33 Whew. My Less Wrong karma has finally risen above 799. 23:00:46 elliott: also, I don't actually look like that. 23:00:55 tswett: Yes you do. 23:01:01 Oh. Okay. 23:01:08 tswett: You are quite clearly a Warrigal mouse. 23:01:14 Actually that might have been a rat. 23:01:15 I don't recall. 23:01:23 Sgeo, I will gladly murder your stepmother. 23:01:38 It's a mouse. 23:01:55 -!- sftp has quit (Ping timeout: 240 seconds). 23:02:37 tswett why were you shooting for 800? 23:03:12 It's a power of two. 23:03:18 Because I was at 799, an annoying number. 23:03:21 And 800 is a power of two. 23:03:24 Yes. 23:03:26 The best power of two. 23:03:39 It's the 9.64th power of two. 23:03:42 Approximately. 23:03:53 Specifically, it's 6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376. 23:03:55 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 23:04:05 tswett: Indeed, 800 = 6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376 23:04:14 > 2^800 23:04:15 666801443287985427407985179072125779714475832231590816039625781176403723781... 23:04:46 -!- sftp has joined. 23:04:55 that's the 800th power of two, whereas 800 is the ... 23:05:05 9.64th power of two. 23:05:17 > ln(800)/ln(2) 23:05:18 Not in scope: `ln'Not in scope: `ln' 23:05:21 aw 23:05:33 * quintopia can't lambdabot 23:05:36 > logBase 2 800 23:05:37 9.643856189774725 23:06:10 the 9.643856189774725...th power of 2 23:06:55 > logBase 2 800 :: CReal 23:06:56 9.6438561897747246957406388589787803517297 23:07:17 oh 23:07:19 sorry 23:07:19 that's so creal 23:07:28 ..246... 23:07:32 elliott, do you know any dataflow languages that I would like? 23:07:42 ANIC-like, but actually existing, perhaps 23:07:59 Sgeo: ANI exists... 23:08:08 But it's stupid :P 23:08:29 hmm? 23:08:30 I mean, come on: 23:08:33 "Try to imagine, if you will, the amount of time and effort it would take you to write a bug-free, efficiently multithreaded real-time clock + infix calculator hybrid application in a language like C." 23:08:39 I write those EVERY DAY. 23:09:18 "To those more technically inclined, anic compiles source-specified pipeline definitions down to object code modules, which are linked with a runtime providing initialization code and a root arbitrator thread; the arbitrator spawns worker threads which are dynamically dispatched to the compiled pipelines in such a way that there are no memory conflicts." <-- this is also almost entirely devoid of detail 23:09:23 The author seems a bit...fanatical. 23:09:45 * Sgeo looks at D 23:09:54 There's something about it having two standard libraries 23:10:44 D is shit. 23:10:47 You do not want to use D. 23:10:48 Ever. 23:10:54 Why? 23:11:01 Not only is it the worst language, but even its most ardent fans agree that the toolchain situation is beyond fucked. 23:11:03 Ask Gregor or pikhq. 23:11:07 (For the toolchain stuff.) 23:11:19 The reason it's a bad language is because it's basically C++ done slightly better with heaps and heaps of shit piled on top :P 23:11:23 And also there's a D1/D2 divide. 23:11:33 pikhq, Gregor, explain the toolchain stuff. 23:11:35 So there's two languages, two standard libraries, and seven compilers of which none work. 23:11:38 There are at least six Ds. 23:11:45 None of them are compatible with any other. 23:11:54 D, D, D, D, D, and D. 23:11:58 The community is so fractured as to be useless to help rectify this situation. 23:12:09 Aren't the two stdlibs supposed to be compatible in D2? 23:12:11 Maybe in some years, five or more Ds will die, leaving a good D. Until then, stay away. 23:12:14 (reading wikipedia) 23:12:35 Yeah, and faeries are friends with the demonic legions of hell. 23:12:44 Oh, and as of the last time I looked, D2 had easily the worst const system in any language. 23:12:48 It is almost impossible to get a "modern" D toolchain running on any OS. 23:13:01 Yeah, and faeries are friends with the demonic legions of hell. ← well traditionally... 23:13:03 And that toolchain will be on one of the six Ds :P 23:13:26 Hey guys, I use gdc from sourceforge with gcc 3.0 and Phobos 23:13:29 Why no worky 23:13:29 How are there 6 Ds? 23:13:43 2 versions * 2 stdlibs = 4 23:13:50 Sgeo: + compiler differences and shit 23:13:52 toolchain crap 23:14:03 * Phantom_Hoover → sleep 23:14:06 -!- Phantom_Hoover has quit (Remote host closed the connection). 23:14:10 but it looks like you've already made up your mind to like D anyway, so I don't bother 23:14:17 Sgeo: The different compilers are wildly incompatible, as are D+Windows from D+Mac from D+Linux, mostly for author-has-never-written-portable-code reasons. 23:14:38 What are some D-like languages that don't have these issues? 23:14:45 D HAS NO PROPERTIES. 23:14:51 There are no "D-like languages". 23:14:55 D is a gigantic ball of mud. 23:14:58 False. 23:15:03 D has some very nice properties. 23:15:08 Gregor: It has no _unique_ properties. 23:15:19 You cannot look at a random language and say "oh, it's like D" because D is like everything. 23:15:24 It has the right features from Java and the right features from C++. I know of no other language with as nice of a mix. 23:15:39 What's Dylan like? 23:15:41 Right, Java + C++, that's exactly what I've been looking for. 23:15:49 Sgeo: Scheme with an object system and bad syntax. 23:15:56 (The syntax was added to make it more accessible.) 23:16:02 (It was originally just a Scheme.) 23:16:36 Gregor: tailconst headconst what the fuck is this shit 23:16:41 -!- Mathnerd314 has joined. 23:17:21 Oh, and as of the last time I looked, D2 had easily the worst const system in any language. <-- s'truth :P 23:17:41 It makes C++'s const types look downright peachy. 23:17:54 Gregor: My const types are declared like this: 23:17:57 Gregor: And errors look like: 23:18:01 p = x --> SYNTAX ERROR 23:18:07 I call it Haskell 23:18:45 -!- sftp has quit (Ping timeout: 255 seconds). 23:18:47 Wiki on Dylan programming langage seems to be written for someone who has never seen a CLOS-like system before 23:19:55 coi gregor .i mo 23:20:54 And with that sentence, tswett constructs the most complicated Lojban sentence anyone ever has. 23:20:56 How to know if I would like a Scheme variant for reasons that elliott would deem irrational: It distinguishes itself from "just another Scheme" in the minds of the general programming project 23:21:05 Hence Racket and Dylan 23:21:23 [Yes, I'm considering a name change to be enough of a distinction] 23:22:30 Sgeo: Amethyst isn't a Scheme, you can tell because of the name. 23:22:57 Or because of everything you told me about it thus far 23:23:12 Sgeo: Hey, it's homoiconic. Like Scheme! 23:23:37 -!- calamari has quit (Ping timeout: 276 seconds). 23:23:41 Sgeo: It has keyword arguments, does this not make you happy 23:23:58 It makes me happy, why wouldn't it? 23:24:03 Sgeo: I AM JUST ASKING 23:24:18 Sgeo: In fact, even "[replace foo with: bar]" works. Like SMALLTALK. 23:26:14 -!- poiuy_qwert has joined. 23:30:07 -!- Tritonio has quit (Ping timeout: 276 seconds). 23:32:52 -!- sftp has joined. 23:33:24 Sgeo: In fact, every argument is a keyword argument. 23:36:54 1.79x/8 for APNIC... Wonder how long IANA is taking to process the request... Well, probably involves at least few meetings... 23:38:26 Wait, the last available IPs have been requested? 23:38:34 IP is over? 23:38:40 It's being processed. 23:38:50 After this request, they'll have been allocated. RIR depletion will take a month or two, I think. 23:39:03 And then the actual "we can't allocate shit" point will be about a month after that? 23:39:40 Gregor: Did you ever get gcc running on jsmips? 23:40:07 elliott: Nope :P 23:40:17 Gregor: why not :P 23:40:23 :t \f -> f . length 23:40:24 forall b a. (Int -> b) -> [a] -> b 23:40:28 Just never really got that far *shrugs* 23:40:36 Gregor: DO EET 23:40:49 elliott: My project-o-the-moment (again) is ZEE. 23:40:58 Here's a more complicated Lojban sentence: 23:40:59 Please wait a full cycle before expecting JSMIPS again :P 23:41:04 Is that actually being worked on, Gregor? :P 23:41:06 coi gregor .i mo mo mo mo mo mo mo mo mo mo mo mo 23:41:24 elliott: It's making progress by some semi-reasonable definition. 23:41:25 That has, like, eleven layers of nesting. 23:41:39 tswett: Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo Buffalo buffalo buffalo. 23:42:24 > 3 `div` 2 23:42:25 1 23:42:34 Maybe first RIR (APNIC) would run out (actually, enter phase 3 with allocations restricted) something like 6-9 months after IANA depletion... 23:42:37 -!- Tritonio has joined. 23:42:50 > drop 1 [1,2,3] 23:42:51 [2,3] 23:43:30 lo la bafalos visnda poi terpa lo la bafalos visna cu se terpa lo la bafalos visnda poi terpa lo la bafalos visna 23:44:47 Timber's supposed to be used in embedded systems? 23:45:34 *is used 23:45:43 At least I gather it is. 23:49:49 Gregor: Those symbols are: black, tree, ear, and ... I dunno. Juice is entirely plausible. 23:50:01 Gregor: (from http://9gag.com/gag/29876/) 23:50:22 pikhq: Well, Jews are a black tree. 23:51:08 Rastafaris are a Black Star Liner 23:51:15 Third phase has fun restrictions like maximum allocation size being 1024 addresses at once(!). 23:51:43 According to jisho.org, I should *know* what 露 is, and it can, depending on context, mean: dew, expose, Russia, and tears. 23:52:13 With dew as the primary semantics for it. 23:52:54 So "juice" is presumably by metaphor with "dew" 23:53:03 And "Jews" is by metaphor with "black tree" 23:53:10 And in Japanese it's a homophone for a somewhat rare word meaning either "juice" or "soup". 23:54:06 So, it's no wonder the English is so fucking weird. The Chinese, unless I'm missing something, is "Black tree ear dew". 23:54:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 23:55:19 BTW, Google Translate comes up with "Black fungus Lu". 23:55:30 black tree ear jews 23:55:54 * Sgeo wonders about using Timber in Second Life 23:56:09 ... 23:56:22 -!- poiuy_qwert has joined. 23:56:57 For all the complaints about Notch, you must admit: it's significantly better-written than Second Life. 23:57:29 Gregor: i reiterate, http://en.wikipedia.org/wiki/Auricularia_auricula-judae 23:58:14 oerjan: Oh holy god. 23:58:17 oerjan: Oh, I didn't see that :P 23:58:26 "Jew's Ear" in Japanese is 木耳. 23:58:38 Jusea 23:58:41 So ... it's actually an accurate translation? X-D 23:59:00 In Chinese, it's "黑木耳". 23:59:08 The name was criticised by mycologist Curtis Gates Lloyd, who said "Auricularia auricula-Judae is cumbersome and in addition is a slander on the Jews". 23:59:16 So, yes, "Jew's Ear Juice" is an *entirely valid* translation.