2011-08-01: 00:06:46 -!- oerjan has quit (Quit: Good night). 00:12:55 cheater_ your god won't give you pets 00:13:04 you need to cause the 'charm' effect on a monster 00:13:26 or, if you give a treat to cats/dogs/horses they become tame (results may vary) 00:18:38 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 00:20:08 -!- copumpkin has joined. 00:22:04 Patashu, hmm, let me read up on treats 00:22:30 Patashu, btw, all my monk's spells are nearly 100% fail.. how do i fix that? it's not getting better as i level up 00:23:05 are you wearing armour? 00:25:16 stop playing nethack and your spells will be 0% 00:30:34 Ohai 00:35:05 ah yeah, it was all that metal i was wearing 00:35:30 Dear Penthouse... 00:47:29 -!- TeruFSX has joined. 01:03:06 -!- lament has quit (Ping timeout: 260 seconds). 01:30:54 -!- MDude has changed nick to MSleep. 01:32:20 -!- EgoBot has quit (Remote host closed the connection). 01:33:32 -!- esowiki has joined. 01:34:09 -!- glogbot has joined. 01:34:09 -!- glogbackup has left. 01:38:11 -!- MSleep has quit (Ping timeout: 276 seconds). 01:53:21 -!- Behold has quit (Remote host closed the connection). 01:56:17 -!- BeholdMyGlory has joined. 02:00:43 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 02:19:14 -!- evincar has joined. 02:19:24 -!- pikhq has joined. 02:19:51 Picked up Gödel, Escher, Bach today. This ought to be interesting. 02:20:24 -!- pikhq_ has quit (Ping timeout: 246 seconds). 02:21:45 Meh 02:22:09 Appropriate, considering Sgeo's realisation of the true nature of Lewis Carol [sic]. 02:22:14 Hofstadter's too talky 02:22:24 So far he certainly seems to be. 02:22:33 But I'm a quick reader, so I'm not too troubled by it. 02:22:44 He doesn't exactly display much in the way of attention span, either :D 02:23:07 And I'm leery when people start talking about Zen and Gödel in the same book O.o 02:24:22 NihilistDandy, considering the number of pages that isn't a major issue 02:24:28 Only a computer scientist. :P 02:26:00 I always feel like the odd one out because I'm a computer scientist but not a mystic :D 02:26:33 NihilistDandy, haha 02:27:37 There are those would say you've just not yet fully appreciated the magic of computation. 02:28:12 yeah, whatever 02:28:25 I'm a mathematician, too. There's no magic over here :P 02:28:38 You just don't appreciate the model :D 02:28:51 hah 02:30:08 Maybe I just have modesty enough to admit that computation is at that magical level of "sufficiently advanced". 02:30:33 Mathematics too. 02:31:15 I don't have a model for modesty. Is it published? 02:31:39 -_- 02:31:57 evincar, hm... I'm not sure I agree 02:32:03 evincar, transistors are pretty simple 02:32:15 and so are logic gates made out of transistors (CMOS at least) 02:32:34 and making up simple circuits is easy 02:32:39 Sure, but that's a particular implementation of computation. 02:32:40 and combining those is easy 02:32:45 I'm talking about the topic as a whole. 02:32:53 and thus making a CPU is easy, since it combines 02:32:56 and so on 02:33:20 evincar, however if you try to look at transistors to full CPU in one go, then yes, it is pretty magical 02:33:40 you just have to break it down info the layers of abstraction used 02:33:57 evincar, and hm. Not sure I agree :P 02:35:08 Vorpal: Your computer does more calculations in an hour than all of humanity could do in a year. 02:35:13 I really jumped straight into the deep end. What is the nature of computation, does it have intrinsic meaning, etc. 02:35:19 pikhq, indeed 02:35:19 Yes, it's sufficiently advanced mathematic. 02:35:22 Erm. 02:35:23 Magic. 02:35:43 pikhq, the thing is, when you consider each layer of abstraction alone then it doesn't seem very magic 02:35:51 while for the whole, it is 02:36:51 Vorpal: But of course. Chemicals don't seem very magical (well, alchemists might disagree) but the emergent behaviours of self-organisation and intellect are pretty wondrous, if you ask me. 02:36:52 And the more exposure you get, the more "magic" slides up the scale 02:37:08 It's not about not understanding them. 02:37:17 evincar, indeed 02:37:19 evincar: Only if you ascribe meaning to random/deterministic events 02:37:20 It's about appreciating their self-evident beauty. 02:37:34 blergh 02:37:58 That's random *or* deterministic. I haven't fully decided which view of the universe I find most pleasant 02:38:06 Free will's right out, though, obviously 02:38:23 NihilistDandy: Why not deterministic behaviour emergent from a nondeterministic substrate? It works. 02:38:44 Elaborate 02:39:02 Also, free will may not exist, but as far as humans are concerned, it might as well, since we're not equipped to understand the processes at work. 02:39:26 evincar: It really gets down to what you mean by "free will". 02:39:30 In any case, random input + deterministic rules = deterministic emergent behaviour. 02:39:58 But there may be no rules 02:40:06 NihilistDandy: Physics? 02:40:28 Yeah, that's the trump card. Physics is sort of the essential ruleset of the universe. 02:40:32 Maybe 02:40:40 It appears that way 02:40:51 Alright, go faster than light. Right now. 02:40:57 I don't know how 02:41:07 Do you need to? 02:41:13 Not really 02:41:27 But I also don't really need to go faster than light 02:41:36 If physical law were breakable by mere disagreement, the universe wouldn't be nearly so interesting. :P 02:42:01 Although, as far as we know, the kind of creature that has the capacity to disagree is fairly rare. 02:42:15 -!- Patashu has quit (Ping timeout: 252 seconds). 02:42:17 But think about who devised the rules. Animals possessed of self-designed logical systems, attributing phenomena to objects in those systems 02:42:25 The reliability is tenuous at best 02:43:04 Or just random brain signals 02:43:12 No way of telling, really 02:43:26 Well, that's the basis of science. You can't really prove anything true. 02:43:32 Right. 02:43:38 But you can demonstrate that it's reliably true under given circumstances. 02:43:53 And that's a pragmatic attitude. 02:44:01 So I don't really care if things don't work the way they seem to. 02:44:04 Pragmatism has no place in #esoteric 02:44:05 Because we'll never find out. 02:44:06 gtfo 02:44:08 :D 02:44:45 By definition, we can only gain an understanding of things that do have a seeming, regardless of what that particular seeming is. 02:45:05 Therefore anything that doesn't seem isn't observable or understandable. 02:45:24 s/Therefore/In other words/. 02:45:34 But you can demonstrate that it's reliably true under given circumstances. <-- or at least we think so 02:45:38 can we trust our brains? 02:45:52 are we just having an illusion of that our brains exist? 02:46:05 Doesn't matter. We rely on them implicitly, so transitive reliances are inevitable. 02:46:21 evincar, can we however rely on them at all? 02:46:34 Again, doesn't matter. Pragmatically we have to. 02:46:35 there is no choice 02:46:37 but can we really 02:46:53 We do, so yes. Should we? Don't know. Don't care. 02:47:01 Pragmatism really has no place in a universe without free will 02:47:37 Not at all. If we can't observe the things that deny us free will, then we have as much free will as we think we do. 02:47:58 Why must something deny you free will? 02:48:02 So in practical terms we do have free will. 02:48:04 You may just not have it 02:48:12 I was trying to find a better word. 02:48:19 The opposite of "give". 02:48:23 "Not give". 02:48:32 If some neurobiologists are correct, the idea of free will may be generated ex post facto 02:52:41 Now we're going to talk about cats 02:52:50 Do you have a cat, evincar 02:52:51 ? 02:52:53 Is there a reliable means of counting characters in a Unicode string? 02:53:13 Code points aren't characters, so even UTF-32 is variable-width wrt characters. :( 02:53:25 eek 02:55:04 But yes, I have two. A Tortoiseshell that's afraid of everything, as Torties are wont to be, and a Maine Coon mix that is deaf and hunts mice and doesn't afraid of anything. 02:55:16 http://stackoverflow.com/questions/4579215/cross-platform-iteration-of-unicode-string-counting-graphemes-using-icu 02:55:26 s/mice/anything that moves, even if she is absurdly outclassed/ 02:55:43 Neato 02:56:12 Bluh. I don't really want to use ICU. 02:58:45 evincar, "doesn't afraid"? 02:58:46 what 02:58:58 you mean "isn't"? 02:58:59 Internet speak 02:59:09 You aren't familiar with it? 02:59:12 Vorpal: wtf, you haven't heard this meme before? 02:59:16 olsner, nope 02:59:25 so it means "isn't"? 02:59:27 http://knowyourmeme.com/memes/pretty-cool-guy#.TjYWeXOX0y4 02:59:30 how confusing 02:59:54 "I think Halo is a pretty cool guy. eh kills aleins and doesn't afraid of anything..." 03:00:22 I kind of want to watch Red vs. Blue, now 03:00:38 Vorpal: it's a reference to a specific formulation of a similar sentence at one specific time, thinking about the grammar is meaningless 03:01:14 ah 03:01:43 Speaking of thinking about grammar, I'm thinking about thinking about grammar. 03:01:48 Specifically working on another conlang. 03:02:05 What properties would it have? 03:02:16 I'd think again about thinking about thinking about grammar 03:02:52 You think so? WELL THINK AGAIN 03:03:38 Not sure. I keep running into agglutinative languages lately, so I might do something with that, but I really don't like synthesis. 03:03:59 NihilistDandy: think again about thinking again? THINKCEPTION 03:03:59 Programming has made me drool over analytic languages. 03:04:05 BWAAAAH 03:04:16 olsner: FWAABUMBAHBAHBOOSH 03:04:22 evincar: http://ithkuil.net/ 03:04:34 NihilistDandy: I know about that, actually. 03:04:39 One of my favorites 03:04:47 I don't know what the fuck he was thinking borrowing a consonant inventory from Ubykh. 03:04:50 He's doing a big update, actually 03:04:59 Making the whole thing a bit easier to pronounce 03:05:07 Though the pronunciation was the easy part, really 03:05:11 Of all the languages NOT to borrow a consonant inventory from. God. 03:05:33 I do appreciate the scope of the work, though. 03:06:17 But then again I don't believe in philosophical or logical languages. 03:06:33 * NihilistDandy is not surprised 03:06:36 :D 03:06:53 I'm fine with a posteriori, but a priori is preferable. 03:06:59 I like mostly original works. 03:07:11 Even if it means I'm not going to be able to read an example text right away. 03:08:01 Besides, authors often unwittingly make reference to their native tongues. 03:08:16 I also state obvious facts. :D 03:08:24 i think of languages as navigating on a 2d plane 03:08:30 I can't tell you how many Latin clones I've read 03:08:32 If your word for "book" is "htap", I'm betting you're from India or thereabouts. 03:09:08 Ugh, I know. Esperanto at least has a nice community. 03:09:47 We don't need another Interlingua or Latine Sine Flexiones or [insert variation on "Lingua International" here]. 03:10:01 Though most Esperantinos I know are insufferable 03:11:21 i think words divide conceptual space up in such a way that each concept is concise 03:11:39 itidus20: Square 03:11:51 Not a concise concept 03:12:15 Unless you talk about squareness 03:12:16 Except words don't divide conceptual space at all. Consider synonyms and homographs. 03:12:44 Many words overlap, and most regions of conceptual space aren't covered by individual words. 03:13:00 Some whole regions aren't covered at all, depending on language 03:13:05 oh humm 03:13:14 Don't tell me you're a linguistic relativist, NihilistDandy. 03:13:20 evincar: Never 03:13:40 I blanch at the very idea 03:13:48 (Although Spanish speakers are more likely to give a female voice to a cartoon character that is a table.) 03:13:59 mesa 03:14:13 Sounds like a girl's name to me, mang 03:15:07 So I guess natural language does affect the way we think about the world, but in insignificant ways. 03:15:34 Programming languages, on the other hand, have ridiculously high influence on problem decomposition strategies. 03:15:50 Quite true 03:15:50 There's a thesis someone should do, and probably has. 03:16:30 Programming language all speak the same base language, though, English. A subset thereof, at least. 03:16:57 So the differences are of a higher order, so the underlying language is secondary to the problem solving method 03:17:16 Not all programming languages are English-based. 03:17:21 Well, most of them :P 03:17:23 Not in word order, nor in keywords. 03:17:31 I shouldn't say mosty 03:17:33 *most 03:17:46 Many, and a large portion of the "major" languages 03:17:47 Well, "most" is "more than half", so yeah, that's valid. 03:18:03 evincar: Think of how many esolangs there are floating around 03:18:49 I stand corrected. 03:18:55 :D 03:18:56 Odd place for me to be. 03:19:19 Considering the room we're in. :/ 03:19:22 Dangit, there is a nail in my keyboard 03:19:23 Haha 03:19:24 evincar: perhaps another way to word what i said is that words are imprecise tools which lack the precision of numbers 03:20:20 with numbers you can add a decimal point and seek out greater and greater precision 03:20:44 Programming languages are an attempt to model computation, but because humans have finite mental capacity, each language models it in a uniquely incomplete way (barring derivative languages). They model it fully in theory, but in practice they favor different strategies and so are only efficient for certain classes of computations 03:21:09 to be fair though, numbers have limits especially irrational ones 03:21:12 itidus20: You're using two different meanings of precision 03:21:55 We're dangerously close to a discussion of Gödel numbering. 03:22:27 Gödel numbering :( 03:22:29 I LIVE ON THE EDGE, EVINCAR 03:25:34 i think of programming languages as being designed to be comprehendable by humans 03:25:48 itidus20: What about Malebolge? 03:26:06 i think a lot of crap 03:27:12 Mmm...male bulge. 03:28:12 If I wrote a language called Male Bulge... 03:28:20 You'd get a lot of attention 03:28:22 ...I'd release my Male Bulge and encourage people to wrap their heads around it? 03:28:36 And I'd have to respond with camlToe 03:28:42 (read: incredibly contrived oral sex pun) 03:29:07 And encourage others to implement your Male Bulge in my camlToe 03:30:28 evincar, I think everyone got the joke 03:30:43 Not lately 03:30:48 T_T 03:30:52 I'm not trying to be funny, I'm trying to be pathetic. 03:31:05 Pointing out my own bad jokes is my strategy. 03:31:21 Like Tara? 03:32:51 You'll have to be more specific 03:32:59 ¯\(°_o)/¯ 03:33:28 http://tvtropes.org/pmwiki/pmwiki.php/FanFic/MyImmortal?from=Main.MyImmortal 03:33:38 Oh, that piece of garbage. 03:33:51 Oh, lol 03:34:08 HER NAME ISN'T MARY SUE. EBONY'S NAME IS ENOBY. 03:34:08 I had a friend of mine read that, and he got a headache and had to stop by the end of chapter 3 03:34:36 I forget how far I made it...less than halfway. 03:34:43 I read it all 03:34:44 I had to 03:34:51 "I was walking outside Hogwarts. It was snowy and rainy at the same time." 03:34:51 I was going to. I really was. 03:35:25 "Im good at too many things! WHY CAN'T I JUST BE NORMAL? IT'S A FUCKING CURSE!" 03:35:30 I feel for you Enoby 03:35:44 I identified with the main character 03:35:54 I also have long ebony black hair with purple streaks and red tips that reaches my mid-back and icy blue eyes like limpid tears 03:36:04 Totes me~ 03:36:10 Emphasis mine 03:36:28 Damn. I bet all the other girls be jelly. 03:36:48 So jelly, bro 03:36:59 Das da kine. 03:37:28 lol 03:39:51 Their jst jelly abot how totly goffik i am 03:43:58 "But da ballet could not kill u since u were form anodder time." 03:45:38 Going back to my conlang, I was thinking of setting up a weird vowel system with unvoiced and ingressive vowels. 03:46:30 So say [a i u] times those four possible qualities. 03:46:40 lol 03:46:53 Also ingressive fricative consonants. 03:46:59 Just for consistency. 03:47:04 Of course 03:47:18 There would have to be air harmony, of course, or else words would be imbalanced. 03:47:59 Euphony seems difficult. Japanese may have some pointers 03:48:06 I admit I'm only doing this so I can come up with a cool writing system for it. :P 03:48:37 lol 03:48:45 You and every other conlanger evar 03:50:10 Come on, phonetics is easy. Typography is the fun part. 03:50:32 Also grammar and morphology. Vocabulary not so much. 03:50:56 Vocabulary is the worst part 03:51:43 Unless you make your grammar really really expressive 03:53:16 Eh, in the realm of discourse, unlike in programming, you can't really reduce the language to a set of fundamental roots. 03:53:33 design a conlang with grammar so expressive that you only need one word. 03:53:44 That's the problem that I have with philosophical languages... 03:54:01 lament: Define "word". 03:54:38 root morpheme 03:54:48 Because you could easily have a language with one lexeme. 03:54:53 evincar: Right, but one person coming up with the thousands of lexemes needed to make a non-philosophical language usable... 03:54:56 Ouch 03:55:12 Ouch indeed. 03:55:56 That's why most of my conlangs end during the honeymoon period while I'm still fussing over grammar and typography 03:56:13 You could argue that a philosophical language with a perfect taxonomy, which presumably would be highly synthetic, would have only one (null) lexeme, and no roots. 03:56:14 Then I make up a thousand words and want to die 03:56:52 I could argue that, but it needs more syntactic sugar :D 03:56:52 Start with aardvark and go. 03:57:20 No thanks. I'm sweet enough. 03:58:46 The joke, you see, is that I said "sugar", and sugar is sweet 03:59:13 evincar: don't argue it, design it 03:59:41 It's not possible. 03:59:46 Why not? 03:59:53 then die trying 03:59:58 I'm not capable of decomposing the universe into a perfect taxonomy. 04:00:59 Math alone leaves us ruined 04:01:08 Damnable infinity 04:10:22 Sigh. It's nice to have someone to miss, but not nice to have to miss that someone. 04:11:00 Get a better scope 04:13:23 You mean get a better perspective, or physically move? 04:13:44 No, I mean buy a new scope 04:13:53 As in rifle 04:15:40 Well, that would offer me a better perspective on certain matters, to be sure. 04:18:08 The heart is located conveniently in CBM 04:18:41 Je me fabrique un cœur de pierre, pour devenir un grand garçon. 04:19:01 I'm not being emo, that's just from a song I like. :P 04:19:47 ha 04:20:37 It's a neat lyric, I gues 04:20:39 *guess 04:21:27 "Tais toi mon coeur", by Dionysos. Good music video as well. 04:21:39 I dunno how well you grok French. 04:21:43 I made a joke about Forth to no avail. In fairness, it was just a lisp joke, so... 04:22:05 evincar: Well enough. Not fluently, but proficiently. 04:22:14 "May the Forth be with you" is a Lisp joke. ;) 04:22:23 Exactly of that sort 04:22:32 Figured. 04:23:10 <[redacted]> [redacted], that's nice to know... once i made one of those questions in the FORTH group and i was beaten up by some guys, and then they started fighting each other! lol 04:23:25 [redacted]: Well, we're not going to Forth you to do anything you don't want to 04:23:59 I wonder if there are any Lisp-agnostic Forth jokes 04:25:09 Go Forth and prosper. 04:25:45 I wrote the program in three different languages, but the Forth one was the best. 04:26:10 (More historically accurate from what I remember.) 04:26:22 Ha 04:27:23 Those don't deserve a whole "Ha". 04:27:32 Maybe a third of a "ha" each. 04:28:12 I 04:28:50 That's only funny with the right font 05:00:44 -!- evincar has quit (Quit: UP UP AND AWAY ME). 05:01:06 -!- oklopol has quit (Ping timeout: 264 seconds). 05:27:08 -!- GreaseMonkey has joined. 05:38:15 -!- TeruFSX has quit (Ping timeout: 260 seconds). 06:13:17 I think I'm going to try Quassel 06:14:49 -!- Sgeo has quit (Quit: Switching IRC clients). 06:20:30 -!- Sgeo has joined. 06:21:47 I vaguely recall trying Quassel a year or so ago, and it was very crashy. 06:21:55 But maybe it was just bad luck. 06:26:20 -!- Sgeo has quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.). 06:26:50 What, not so hot after all? 06:27:45 -!- Sgeo has joined. 06:29:13 -!- Sgeo_ has joined. 06:29:30 -!- Sgeo_ has quit (Client Quit). 06:37:13 -!- Sgeo has quit (Remote host closed the connection). 06:37:46 -!- Sgeo has joined. 06:38:50 Ok, I think I can deal with this 06:42:38 Sounds like the bestest client, if it barely can be "dealt with". 06:43:00 fizzie: what I'm having to "deal with" is mostly the different look 06:46:53 Also it's funny how Quassel's website is all "this uniqe feature [of doing the client/server model in a graphical app]" when as far as I can tell Smuxi did it a lot earlier. 06:47:10 In other news, it might have been Smuxi which I tried and found sucky, instead. 06:49:25 -!- Taneb has joined. 06:49:58 Well, my Facebook got hacked. 06:50:35 Isn't everyone's Facebook the same Facebook? 06:50:42 Yes 06:50:49 Facebook got hacked 06:50:51 So, wait... is it just like using irssi as a bouncer and connecting with whatever you want, except it's all in the one program? I don't get it 06:50:52 And I was the target 06:51:33 NihilistDandy: It's pretty close to a bouncer except you can only connect to it with the program's own frontend, not any IRC client whatsoever. 06:51:34 NihilistDandy: some convenience over that. Quassel is supposed to have some thing where scrolling automatically retrieves logs going all the way back 06:51:49 But I'm not even using it that way 06:52:03 Sgeo: That sounds like *one* convenience :D 06:52:12 fizzie: That's a bit silly 06:52:41 There's a bit of kludginess involved in having multiple clients connected to the same bouncer, which one hopes they'd have eliminated, but those are all rather minor stuff. 06:52:52 Also, I like that it remembers which channels I'm in for when I close it 06:53:11 Strange, I _hate_ that sort of thing on desktop environments and web browsers 06:53:17 But I think I'll like it here 06:59:12 Testing, testing, 1 2 3 06:59:49 I like a manually configurable list-of-automatically-on-channels more than auto-remembering, but that's of course a matter of taste. 07:01:31 I really should try to read all the letters in a word and all the words in a sentence 07:01:50 Misread "Obama announces US deficit deal" as "Obama announced dead" 07:02:15 WOW 07:02:18 Hell of a misread 07:03:30 Also, I've had an idea for an esoteric programming language 07:03:44 None so far are based on L-systems 07:04:08 I'm going to make a language called Luigi 07:13:52 -!- BeholdMyGlory has quit (Remote host closed the connection). 07:14:13 -!- pitufoide has quit (Read error: Connection reset by peer). 07:14:30 -!- pitufoide has joined. 07:18:44 -!- lament has quit (Ping timeout: 252 seconds). 07:47:31 -!- BeholdMyGlory has joined. 08:44:33 -!- aloril has quit (Read error: Operation timed out). 09:00:16 -!- aloril has joined. 09:07:59 -!- monqy has quit (Quit: hello). 09:12:51 Taneb, would /// qualify? 09:16:33 I don't think it's quite the same thing, since it doesn't apply more than one replacement rule at a time. Admittedly it does replace all occurrences, unlike say Thue. (But even that is not done in an L-system-ish fashion.) 09:17:00 -!- Taneb has quit (Ping timeout: 260 seconds). 09:19:19 -!- Deewiant has quit (Ping timeout: 250 seconds). 09:20:34 -!- Deewiant has joined. 09:21:19 -!- oerjan has joined. 09:23:36 -!- olsner has quit (Ping timeout: 260 seconds). 10:08:49 -!- GreaseMonkey has quit (Quit: The Other Game). 10:13:56 -!- Taneb has joined. 10:14:05 Lymee: no 10:33:21 -!- Sgeo_ has joined. 10:33:42 -!- Sgeo_ has quit (Remote host closed the connection). 10:54:30 -!- BeholdMyGlory has quit (Ping timeout: 264 seconds). 11:05:26 -!- oerjan has quit (Quit: leaving). 11:07:07 guys I have a great idea for PHPJAVA 11:07:33 the scoping operator is & since it's most like \ and . put together 11:20:53 -!- Patashu has joined. 11:26:05 -!- CakeProphet has joined. 11:33:25 good news: my program works 11:33:30 bad news: it's slow as hell 11:33:36 what does your program do? 11:33:51 although it's probably just half that it involves iterating over powersets 11:34:03 sour about that O(2^n) 11:34:07 indeed 11:34:18 you are familiar with the game of life, yes? 11:34:21 yup 11:34:24 whatcha looking for? 11:35:03 k. Define an eden as a pattern such that there exists no pattern such that applying the generation function gives that pattern 11:35:32 Define an island as a pattern such that there exists no eden such that you can reach the island from that eden in a finite number of applications of the generation function 11:35:49 i.e. an island has no eden predecessor 11:35:58 find any? 11:36:08 How many islands are there on a w by h torus? 11:36:28 Now, since we're on a torus, we can eliminate symmetries from the calculation 11:36:36 but there are a lot of symmetries 11:36:59 and my poor inefficient program is trying to calculate them rather naively 11:37:23 by iterating over each possible pattern and its symmetries 11:37:31 this is the most elegant approach, but is clearly utterly ridiculous 11:37:52 as, for instance, the singleton pattern has w*h /translational/ symmetrical patterns alone 11:38:33 really what I should be doing is starting from one pattern, add all its symmetries to a set 11:38:40 pick the next pattern 11:38:44 add it to the set of results 11:38:54 and add it and its symmetries to the set of visited patterns 11:39:15 and repeat until there are no more unvisited patterns 11:39:21 -!- Taneb has quit (Ping timeout: 260 seconds). 11:39:31 it'd still be O(2^n) unfortunately 11:39:57 yeah, but I'd be able to reasonably calculate, say, 4x4 11:40:26 for 4x4 it'd be a speedup of something like 128 times? 11:40:37 no more than that 11:40:55 there are more symmetries 11:41:10 all the translationals * flip horizontal * flip vertical...flip diagonal too? 11:41:42 Grah. In the channel list, Quassel uses for regular incoming chat the color that XChat used for pings 11:41:47 flip diagonal, plus, in the case of a square, rotation 11:41:53 by either 90 or 270 degrees 11:41:56 ah good point 11:42:04 PLUS the translations of each flip and rotation 11:42:10 yeah, hence * and not + 11:42:43 it becomes w * h * (6 if square, 4 otherwise) 11:42:52 -!- augur has quit (Remote host closed the connection). 11:43:18 now do that redundancy 2^wh times 11:43:20 and you're in trouble 11:44:52 also I need to deal with the fact that such large numbers are simply damn difficult to manage 11:45:13 is this an open problem or some personal curiousity thing 11:45:31 the latter, possibly the former 11:45:53 it would be really nice if I could design something that didn't require creating a set of 2^wh elements 11:45:59 that would be n ice 11:46:30 the main issue, really, is enumerating the patterns 11:47:43 Sgeo: we're talking about the script for islands in GoL 11:47:54 coppro: ooh, cool 11:48:21 I suppose I could try only storing the canonical values 11:48:30 also crud 11:48:32 edens is broken 11:48:45 two things to fix@ 11:48:48 We still haven't proven anything other than that for at least some size finite GoL boards, there are stranded oscillators? 11:48:58 Or did we prove something recently? 11:49:23 idea: 11:49:25 use night and day instead of GoL 11:49:30 that way you have another symmetry, flipping 0s and 1s 11:49:34 2* speedup 11:50:05 Results in Night & Day may not necessarily apply to GoL. Does Night & Day have that "Easy predecessor" thing? 11:50:16 no clue 11:50:23 I was about to ask if night and day has interesting edens or not 11:51:55 Sgeo: I'm working on the script to calculate all islands of a given size 11:52:07 err, all islands on a torus of a given size 11:52:21 the torus is for the w*h speedup 11:52:31 Patashu: Huh? 11:52:43 he can use translational symmetries on a torus 11:52:55 and only have to care about 1/w*h as many unique patterns as before 11:53:47 * Sgeo would be uncertain as to how to implement such a thing. Maybe calculating all possibilities and comparing? 11:53:52 is it meaningful to describe a single celled torus? :D 11:53:55 I pictured a directed graph 11:54:02 itidus20: yes 11:54:07 it would kind of defeat the purpose but.. ya know.. its funny 11:54:13 it would be its own neighbor 11:54:15 ALL OF THEM 11:54:22 FFFFFFFUUUUUUUUUUUUU 11:54:23 talk about a multiple personality disordered CA 11:54:26 he makes friends with himself 11:54:29 all 8 of himself 11:54:38 he gradually goes insane and kills himself 11:54:51 next iteration, only an empty space was found on the crime scene 11:54:57 RIP little buddy 11:55:25 hahaha 11:55:38 if cellular automata was night and day this not happen :( 11:56:07 Patashu: I'm a little unfamiliar with directed graphs 11:56:20 -!- MDude has joined. 11:56:25 sgeo: as in, you'd list every distinct pattern, iterate them once, and link them to the distinct pattern they become 11:56:38 Ah 11:56:39 that way you can see which patterns (call them islands) are not on a graph with an eden in them 11:57:17 ...wait, how does that help? 11:57:34 it might not 11:57:34 An oscillator with period... wait, n/m 11:57:38 you could use it to find edens though 11:57:51 every pattern that has no pattern pointing to it is an eden 11:57:59 then, iterate each eden until it loops. 11:58:03 all patterns left over are islands 11:58:09 ooooooohhhhh 11:58:13 no wonder it wasn't working 11:58:26 the inefficiency may have been related to this bug 11:58:39 Sgeo: straned cycles ~= islands 11:58:55 Don't even need to do that, if all possible patterns are represented, you have all iterations 11:59:44 Iterating is just the same as finding what .. wait, 11:59:50 I think I'm too tired and hungry for this 12:00:10 -!- boily has joined. 12:01:00 k, I'm downgrading it from "fucking slow and a horrible space leak" to "goddamn slow" 12:01:21 coppro: What language is it? 12:01:23 oh wait derp derp 12:01:24 Sgeo: haskell 12:01:29 forgot something important 12:01:44 -!- cheater_ has quit (Ping timeout: 255 seconds). 12:02:04 wait no I didn't 12:02:27 now I only calculate the canonical form for each pattern 12:02:43 -!- ais523_ has joined. 12:02:46 I could change it to eat space instead of time 12:02:53 How do you only calculate canonical forms? 12:03:07 it'd pretty much destroy the universe either way, wouldn't it? 12:03:07 I can only imagine determining all forms, then comparing :( 12:03:13 Sgeo: I mean for each pattern, I calculate it's canonical form and get on with my life 12:03:16 ais523_: yeah 12:03:32 ais523_: speaking of which, do you have anything to say about the "talking time" forum other than it's got LPs on it? 12:03:45 *its 12:04:13 coppro: I only go there for the LP subforum 12:04:23 although I post there every now and then 12:04:24 let's plays? 12:04:25 Sgeo: basically the options are "calculate the canonical form of every pattern and store each one" or "given a pattern, calculate all symmetries and remove them" 12:04:31 ais523_: Yeah, I noticed 12:04:32 Patashu: yes 12:04:37 I read through the MMBN thread 12:04:49 their IRC channel is weird, more or less everyone there seems to know each other in real life 12:04:53 Sgeo: the problem is you're dealing with expoential growth either way 12:04:56 and I stopped going there as a result 12:05:28 Is there a certain kind of pattern that is never useful to consider? 12:05:33 Maybe the 4x4 case could shed light on it 12:05:33 Sgeo: and you actually start to hit real size constraints (as in, sets can store only 2^32 elements in Haskell. That's enough, right?) 12:05:47 Patashu: Well some patterns always are islands in some circumstances 12:06:15 notably, an alternating pattern in a 1-by-n torus is stable 12:06:36 and quite clearly an eden 12:06:47 but really the 1-by-n case is degenerate 12:06:52 so you're dealing with a different CA 12:06:56 coppro, I think you could save space by expending a lot of time. Go to add a pattern. Recalculate all symmetries of all canonical forms, and compare, before possibly adding. 12:07:11 Sgeo: The current algorithm is this: 12:07:14 start at n = 0 12:07:23 determine the pattern for n 12:07:28 compute its canonical form 12:07:50 lol @ sets can only store 2^32 elements 12:08:00 insert into the set 12:08:13 so you're going to be stuck at 6x6 with a naive algorithm 12:08:16 go for n + 1 12:08:23 Patashu: yeah 12:08:31 Patashu: if I choose space consumption 12:08:51 wow, IE8 is annoying me already 12:08:55 coppro, see if there are any set libraries in Haskell that don't have that limitation? 12:09:05 if I go time, I can do it in space proportional to the number of symmetry groups 12:09:19 Sgeo: I presume so, but I don't have the RAM for it anyway on this machine 12:09:22 * Sgeo ponders stupid space saving tricks 12:09:35 and it's too late at night for me to find such a library and run it on a higher-powered machine 12:10:03 Fit several ns into one number, store that number 12:10:04 hmm, I haven't checked the context of this conversation at all 12:10:12 but given Sgeo's involvement, I'm guessing it's the Game of Life 12:10:16 Sgeo: That's just a hack around the limitation 12:10:22 you still have N bits of data to store 12:10:22 why not store a set of sets 12:10:23 ais523_: yeah 12:10:27 then you get 2^32 squared storage 12:10:41 Patashu: again, hacking around limitations does not remove the fundamental space problem 12:10:52 I know, I'm just lolling at the thought of it 12:11:12 * Sgeo likes Patashu's hack better 12:11:34 an interesting question is how many different symmetry groups there are for grids on a x by y torus 12:11:43 does it have a succinct generating series? 12:11:50 Oooh! 12:11:53 ais523_, I wish I wasn't too tired to be involved in an actually useful way 12:12:06 my code found two islands for 4x3, allegedly 12:12:21 symmetry _groups_? 12:12:38 Sgeo: yes 12:12:39 Any canonical pattern should have at least 4xy ... thingies, possibly more 12:12:55 Some of which may be identical, but whatever 12:12:57 Sgeo: Not all unique 12:13:30 equivalence classes is a better term 12:13:32 let's use that 12:13:42 I should go eat 12:14:10 interesting 12:14:32 the block in a corner is an island in a 4x3 torus 12:14:33 -!- cheater_ has joined. 12:14:44 actually wait that's just any block 12:15:20 wow, I just got a ridiculous notification popup from the /browser/ 12:15:25 I thought that was the system tray's job 12:15:45 They do "download completed" notifications often. 12:17:36 the other is an s shape 12:17:52 which is also stable 12:18:05 interesting that no island I know of has period greater than 1 12:19:07 fizzie: this one was a "temporarily can't access Microsoft's anti-phishing servers, so we're not sure if Freenode is a phishing site or not" 12:21:12 ais523_: Possibly they just don't want to do notifications-by-the-system portably. It's a bit of a mess on Linux, I believe; there's a D-BUS-driven freedesktop spec but... (Also on OS X quite many things support Growl, even though it's very third-party.) 12:21:32 fizzie: oh, Microsoft are aware that that sort of notification shouldn't exist in the first place 12:21:48 I think they moved it from the system tray to IE just so that they could arbitrarily annoy me without having to break their own guidelines 12:24:41 If it's a related-to-a-single-site-you-just-navigated-to notification, the system tray (isn't it called "notification area" nowadays?) sounds like the wrong place for it even in a common-sense way. 12:25:59 it never was called the system tray, officially 12:26:10 -!- copumpkin has joined. 12:26:15 the name came about because the program responsible for it is called SYSTRAY.EXE 12:26:22 but it always was the notification area 12:29:35 Funnily enough, the X replacement is called "system tray" officially (in the FreeDesktop spec), but Ubuntu's new (not so new any more) "Ayatana Indicators" thing replaces it with an "indicator area". 12:29:55 heh 12:30:35 -!- augur has joined. 12:31:55 Ooh, 4x2 has a period 2 island 12:32:14 (actually let's call that an archipelago) 12:32:17 LOL 12:34:14 oh god 12:34:18 this is like number theory 12:34:21 anyone here have an idea why IE8 seems to change the color of tabs in a way which probably isn't random, but which I haven't figured out the pattern in yet? 12:34:43 since any island can be repeated in a torus that its own divides into evenly to produce another island 12:34:50 thus you have 'prime' islands 12:36:12 Isn't it so that by definition any predecessors of an island are also islands? If so, then if your block is one, the well-known block parents (pre-block, grin) should be too. 12:38:49 hmm, unexpected flamewars to find on the Internet: an argument over whether BT (the telecomps company) is/are singular or plural 12:39:11 ais523_: Tabs of the same color are part of the same "tab group" which you can (up to some degree) handle as a group. Don't know about the grouping, except in general terms opening one tab from another (with open-in-new-tab or ctrl/middle-click) should put the new tab into the same group as the original tab, while other methods of creating new tabs should possibly make new groups. 12:39:35 fizzie: Islands are necessarily closed loops 12:39:44 coppro, what if you set up a pattern that doesn't have a 5x5 hole, is in normal GoL a >p1 oscillator, yet the torus is just large enough that it won't interfere with itself 12:39:57 fizzie: ah, OK 12:39:57 fizzie: In 4x3's case, because of the wrapping, there are no pre-blocks 12:40:07 does that explain why a tab group arbitrarily changes color within itself? 12:40:16 Sgeo: dunno 12:40:16 as in, one of these groups was previously green and is now blue 12:40:37 Ooh, 4x2 has a period 2 island 12:40:39 Didn't see that 12:40:53 Sgeo: s tetronimo 12:41:23 bleh, I'm going to have to ask someone to explain what's going on in the US debt crisis to me 12:41:28 it also has 2 period 1 islands, modulo symmetry 12:41:33 because I was offline for a few days, and when I come back, suddenly none of it makes sense 12:41:53 ais523_: current status is an agreement has been reached between political leaders 12:42:04 and everyone's hoping it will meet the approval of Congress as a whole 12:42:10 ah, OK 12:42:12 coppro: What do you mean no pre-blocks? Isn't http://p.zem.fi/hcaf a pre-block in a 4x3 torus? 12:42:16 is the agreement particularly sane? 12:42:57 coppro, what oscillators have non-changing bounding boxes? 12:43:15 fizzie: No, because the cell (0, 1) will come to life 12:43:29 Sgeo: another excellent question 12:43:41 Sgeo: wholly unrelated, of course 12:43:56 sgeo, I've seen oscillators with external framework and internal action 12:44:00 they have non-changing boundary boxes 12:44:18 Better yet: Non-changing bounding boxes, and no 5x5 holes. Then, I _think_ there should be a torus on which it's an island 12:44:19 often you get an oscillator that spits a cell or two which dies promptly 12:44:30 coppro: Which cell is (0, 1)? 12:44:46 err, (1, 0), (x, y) counting from the bottom left 12:45:11 actually wait that whole two columns goes on 12:45:23 and then the thing starts oscillating 12:46:09 Oh, right, it's really that non-tall. What's the word. Short. 12:46:28 I wonder if it's possible to prove that all islands meet that spec, or a slightly enlarged version of it 12:47:02 the one I just pointed out has a changing bounding box 12:47:12 -!- Taneb has joined. 12:47:37 Oh 12:47:44 Changing how? 12:47:55 I should probably open Golly 12:48:52 Meh, can't do it 12:49:19 Still think no-5x5 no-bounding-change is an easy way to find islands 12:51:50 it moves 12:52:08 it shifts itself halfway around the torus in one generation in both dimensions 12:52:23 But the bounding box doesn't change in size, just in location? 12:52:48 Hmm, thought I discarded that direction due to other considerations 12:52:51 * Sgeo slaps self 12:53:03 two islands detected in 5x3 12:54:55 both are stable 13:02:14 hmm, opinions on Java 7 miscompiling code? 13:02:28 in a way that comes up a lot in real projects (it affects at least Lucene)? 13:02:32 "Sounds like a good idea to me." 13:02:36 what? 13:02:40 miscompiling code? 13:02:43 "Will teach those programmers to behave themselves." 13:02:48 apparently one of the optimisations that's on by default is broken 13:03:00 and can cause SIGSEGV or silently give wrong results 13:03:10 which one? 13:03:16 It *is* very new. 13:03:41 -XX:UseLoopPredicate 13:03:59 Oracle discovered five days before release, and did the release anyway without even changing the default setting 13:04:06 what 13:04:39 it just seems out of character for them 13:04:51 I mean, it probably affects their own software too 13:04:55 ais523_: Well, you know. "You acknowledge that Licensed Software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility." 13:05:22 dammit 13:05:28 I openend my old email archive for a reason 13:05:36 now I haven't a clue what that reason is 13:07:27 'The 7th release of Java today seems that introduced some nasty bugs caused by hotspot compiler optimizations miscompiling some loops. Code containing loops will propably be affected by this bug.' 13:07:32 Code without any loops however is A-OK! 13:07:42 Patashu: recusive code! 13:08:14 oh, code I'm annoyed at having to write: (void*)(int)0 13:08:23 because I want the value of 0, stored in a pointer 13:08:26 not a null pointer 13:08:39 (and ofc, this is in x86-specific code anyway and NULL == 0 there, so it's all pointless anyway) 13:08:40 haha 13:08:51 you could also use a non-constant expression for 0 13:08:51 why do you need 0 as a pointer 13:08:57 also, it's been some of the most cast-heavy code I've ever written 13:08:59 int i = 0; (void*)i 13:09:20 Patashu: because the x86 does not care whether its registers are holding pointers or integers 13:09:26 so any declaration for an x86 register is going to be wrong 13:09:36 aah 13:09:54 also, some syscalls (like ioctl and ptrace) take arguments that are generically 32-bit, and written as void* but sometimes you cast integers to void* and pass them there rather than pointers to the integers 13:11:01 ais523_: union x86register { void * p; int i; }; 13:11:02 -!- copumpkin has quit (Ping timeout: 240 seconds). 13:11:12 -!- copumpkin has joined. 13:11:29 and there's been a lot of casting for signedness and bitwidth too 13:11:41 coppro: it doesn't say that in sys/user.h 13:11:50 (the include file which has a big notice saying that it exists only for GDB) 13:11:58 haha 13:12:49 at least I've more or less figured out what it's for, now 13:13:04 ais523_: Are you sure the cast helps? A null pointer is created when you have "An integer constant expression with the value 0", and an "integer constant expression" can involve "operands that are integer constants -- cast operators -- [that] convert arithmetic types to integer types". 13:13:14 bleh 13:13:39 I believe even "(void *)(int)0.0" gives you a null pointer. 13:13:44 I deleted that bit of code anyway, though 13:13:54 hmm, what about (void*)*"" 13:14:04 I have an idea 13:14:06 subtract a pointer from itself 13:14:07 bam, 0 13:14:12 NULL-NULL ? 13:14:17 maybe NULL-(int)NULL 13:14:24 Patashu: that's a ptrdiff_t, not a (void*) 13:14:37 and NULL-(int)NULL quite possibly gives SIGSEGV 13:14:42 the mere subtraction 13:14:46 really? 13:14:49 you're not even dereferencing it 13:14:53 yep 13:14:56 then why... 13:15:00 pointer values must point to actual objects, or one past 13:15:02 at all times 13:15:12 and must point to an object and not be one-past if you dereference them 13:15:13 what part of the architecture checks? 13:15:26 I can easily imagine a VM for C checking that 13:15:37 depending on what pointers are in it 13:15:49 There are (supposedly) architectures where "address registers" are special, and loading an invalid value there (even without derefencing it) can blow up. 13:16:09 it's also incredibly useful for the optimizer 13:16:19 I've had an idea 13:16:39 since it allows to eliminate all code that would lead to invalid pointers 13:17:34 An esolang that is to Iota what Smalltalk is to Haskell 13:17:39 e.g. void foo(int i) { int a[5]; int *p = a; p += i; } the optimizer can assume that i is from 0 to 5 13:17:49 moreover, if lto is used 13:17:58 it can assume that any caller of foo will have i in that range 13:18:04 object oriented iota? 13:18:27 Pretty much 13:18:33 Actually, Jot. 13:18:52 I find Smalltalk : Haskell :: X : ? pretty difficult to calculate for any X but Smalltalk 13:18:59 yeah 13:19:09 as in, I can't visualise the operator that transforms Smalltalk into Haskell or vice versa 13:19:12 they're pretty different 13:19:41 Haskell is the archetypical functional language 13:19:52 Smalltalk is the archetypical object orientated language 13:19:53 no it's not 13:19:58 iota is functional 13:20:05 so it's some kind of object oriented lambda calculus i guess 13:20:13 Regarding the earlier thing, *"" is not an integer constant expression, so that shouldn't give a null pointer (well, necessarily). (void *)'\0' is a valid null pointer, though. 13:20:14 The archetypical functional language is lisp 13:20:22 Okay, fine 13:20:31 Haskell is quite unusual as functional languages go 13:20:35 This language will be to Jot what Smalltalk is to Lisp 13:20:38 That better? 13:20:40 and Common Lisp isn't even particularly be functional 13:20:47 certain subsets of Scheme are 13:20:50 ... 13:21:11 be functional? 13:21:12 fizzie: well, *"" is a constant, and an integer 13:21:33 Sgeo: I'm tired, and I forget where I am in the parse tree halfway through sentences sometimes 13:21:37 I closed a " with a ) a few days ago 13:21:45 You get the point, though 13:22:00 It's going to be an entirely object orientated turing tarpit 13:22:15 Like Glass? 13:22:15 How do you make an object oriented turing tarpit? 13:22:20 Glass is the opposite of a tarpit I thought 13:22:25 Oh 13:22:27 ais523_: Yes, but it's not an integer constant expression. 13:22:31 I just know it's an OO esolang 13:22:37 fizzie: fair enough 13:22:39 Glass is the really verbose one iirc 13:22:51 ais523_: Alternatively, (void *)(1-1) is okay too. 13:22:54 Single letters are verbose? 13:22:59 Patashu: no, that's ORK 13:22:59 Hmmm 13:23:01 Right 13:23:15 I'll start with an anonymous generic superclass object 13:23:29 Or (void *)(0?0:0). 13:24:01 Glass looks cool 13:24:21 fizzie: gah, you've reminded me of all the "if 0 then skip else skip" I'm putting at the end of trivial ICA programs 13:24:29 Or maybe not. It speaks of allowed operands; maybe it allows operators too. 13:24:46 to work around a bug in GHDL, which when translated back into ICA terms means that programs will crash the backend compiler unless they contain at least one if statement 13:24:54 LOL ais 13:25:19 Anyway, string literals aren't not in the list of allowed operands, so *"" is very safe. 13:25:31 I'm glad it can be fixed with a simple if statement, at least 13:25:33 what's the value of *"" 13:25:36 my earlier workaround was much worse 13:25:37 Patashu: 0 13:25:38 Patashu: 0. 13:25:47 why...oh, I get why 13:25:50 because "" is a zero-length string, so its first character is the end-of-string marker 13:25:54 You can write it as ""[0] if it's clearer that way. 13:26:03 Or 0[""] if you're feeling especially perverse. 13:26:06 LOL 13:26:09 you can write it like that even if it isn't clearer that way 13:26:28 how about *&*"" 13:26:35 fizzie: when golfing C, it often saves a couple of characters to reverse a subscript because it can cut down on the parens you need 13:26:42 I'm not convinced &* works 13:26:46 &* is not kosher, no. 13:26:49 although I'm not convinced it doesn't either 13:26:54 Can't take an address of non-lvalue. 13:26:58 Or something. 13:27:00 but *x is an lvalue 13:27:05 Right. 13:27:05 that why I wasn't sure 13:27:09 Maybe it actually does. 13:27:29 **&"" should work, though 13:27:40 !c printf("blah"); 13:27:42 It was either the *& or &* pair that you were explicitly allowed to completely remove. 13:27:49 what's the c interpreter again 13:27:51 *& iirc 13:28:07 yep, *& wouldn't do anything 13:28:07 think we're missing an egobot actually 13:28:24 yay, my BF Joust record is safe 13:28:34 Right, it is &* that you can remove without evaluating. 13:29:00 "If the operand [of &] is the result of a unary * operator, neither that operator nor the & operator is evaluated and the result is as if both were omitted, except that the constraints on the operators still apply and the result is not an lvalue." 13:29:32 heh, so you can't do &**x = 6; 13:31:15 bleh, I'm pretty sure I've found at least two kernel bugs, but one is likely to be impossible to reproduce 13:31:47 it ended up with a process that wasn't a zombie, but most of its /proc/n/* data gave errors when I tried to read it (even as root) 13:31:54 and it couldn't be killed, not even as root, not even with -9 13:32:00 and it was apparently being ptraced by init (the real init) 13:32:15 I'm not sure when it happened, I just found it lying around in top 13:32:17 &'s constraints on operands are: "either a function designator, the result of a [] or unary * operator, or an lvalue that designates an object -- [no bitfields or 'register' objs]"; a string literal, though, isn't an lvalue, so you can't do &"" to begin with. 13:33:08 But the *&*"" should be acceptable. 13:33:23 makes sense, yeah 13:34:00 this reminds me of the proggit discussion on (a, b) > c, where a is an integer, b is a bitfield slice, and the > c gives different returns depending on the signedness of its left argument 13:34:18 apparently an automatic compiler fuzzer tool tried it on six different compilers, and got two different answers, each from three of the compilers 13:35:09 (a, b) > c 13:35:12 how is that valid C++ 13:35:15 I don't undertand , I guess 13:35:17 what language? 13:35:40 C 13:35:51 oh right /that/ 13:36:00 I remember now 13:36:00 and the comma operator evalutes its left argument, then ignores it and returns the value of its right argument 13:36:07 yeah yeah 13:36:10 this came up on clang 13:36:17 well, it came up on all the compilers they tested 13:36:25 as they couldn't tell which behaviour was correct by majority vote 13:36:30 well I mean development discussion 13:36:56 it seemed to me relatively clear that the only reasonable reading of the standard had , preserve bit-fieldness 13:36:57 so what's the quote unquote right answer 13:37:22 C++ also noticed this issue long ago and resolved it in that fashion 13:37:57 So, what happens if the left argument has IO 13:38:04 Taneb: then the IO gets done 13:38:07 it is evaluated and discarded 13:38:11 that's part of the reason you might want to use , 13:38:24 although more often, you do a side effect that changes local or global state than IO 13:38:40 I never think about using , 13:38:46 e.g. using i++,j++ as the third argument to for 13:38:55 oh except for for loop updates 13:40:10 -!- ais523_ has left. 13:40:15 -!- ais523_ has joined. 13:42:34 I think my spec for Smallertalk is using to many regexes 13:42:52 can never use too many regexes 13:43:26 this does not sense the make :/ 13:43:50 (Hint: it's a BMW) 13:44:30 Oh, string literals *are* lvalues, since they designate an object; they're just not modifiable lvalues. So you can do a &"foo". 13:45:04 but isn't it possible they'll be inlined? 13:45:08 &"foo" is the same address as "foo", though? just a different type and size? 13:45:09 fromList [fromList [Point 4 4 0 0,Point 4 4 0 1,Point 4 4 0 2,Point 4 4 0 3,Point 4 4 1 0,Point 4 4 1 1],fromList [Point 4 4 0 0,Point 4 4 0 1,Point 4 4 0 2,Point 4 4 1 0,Point 4 4 1 1,Point 4 4 1 3,Point 4 4 2 1,Point 4 4 3 0],fromList [Point 4 4 0 0,Point 4 4 0 1,Point 4 4 0 2,Point 4 4 1 0,Point 4 4 1 3,Point 4 4 2 1,Point 4 4 3 0],fromList [Point 4 4 0 0,Point 4 4 0 1,Point 4 4 0 2,Point 4 4 1 0,Point 4 4 2 1,Point 4 4 3 0,Point 4 4 3 3], 13:45:24 ^ set of sets of points on a 4x4 torus that are in archipelagos 13:45:43 which is exactly the set that are in islands 13:45:48 so 4x4 has no stable islands, apparently 13:46:20 ais523_: Right; "foo" is the char[4]-typed object, which decays in most context into a char*; &"foo" is the pointer-to-char[4] address and no longer a lvalue. They both point to the same location in memory. 13:47:08 hmm, doesn't char[4] decay into char* in all contexts in which its value matters? 13:47:14 the only places it doesn't are metadata checks 13:49:06 Yes, in all expressions except for when it's the operand of the & or sizeof operator; or when in the initializer of a character array. 13:50:02 That is rather funny, though: 13:50:06 `run echo -e '#include \n int main(void) { printf("%u %u %u\\n", (unsigned)sizeof "a", (unsigned)sizeof &"a", (unsigned) sizeof *&"a"); }' | gcc -xc -o ./tmp.tmp - 2>&1 ; ./tmp.tmp 13:50:07 2 8 2 13:51:13 Huh 13:51:14 It works 13:51:15 tmp.tmp is a weird temporary filename 13:51:18 I normally use /tmpt/ 13:51:21 * /tmp/t 13:51:53 I tend to use tmp or tmp.tmp for files in the cwd, /tmp/x otherwise 13:51:53 I didn't really recall what sort of file system it has visible there, so thought "." might be safest. 13:52:16 `run pwd 13:52:17 ​/tmp/hackenv.17687 13:52:23 That looks quite autocleaned. 13:52:35 try using reserved words 13:52:41 you can deduce what file system it is 13:52:51 and then bust out the mad file system exploits and get root !! 13:52:57 wait, that filename has a space in? 13:53:01 or, rather, dirname? 13:53:13 "/ tmp/hackenv.17867" 13:53:18 I don't see it 13:53:21 I don't see a space there either. 13:53:34 hmm, this client must be mad 13:54:14 Anyway, it's inside that Plash thing, it fakes the filesystem-access library calls however it wants. 13:54:20 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 13:55:44 meanwhile, did you know that BSD have standardised exit codes for commands? 13:55:56 and that the standardisation covers some relatively unlikely events, but not some relatively common ones? 13:56:12 `run readlink /proc/self/fd/0 13:56:13 pipe:[4783072] 13:56:38 hmm, I wasn't expecting that, but I suppose it's inevitable 13:56:43 I'm trying out things that caught my program out 13:56:52 but I haven't found many 13:57:11 I also wrote an execbomb, just for fun 13:57:44 it's like a forkbomb except with exec rather than fork, so it just does an infinite loop with a lot of kernel overhead rather than spamming processes everywhere 13:57:49 ISTR that Plash does the faked filesystem library calls by actually using sendmsg/recvmsg to do RPC with the hosting process, and completely disables the "direct" syscall access somehow, can't remember quite how. (There's a non-root-user chroot jail at least, but I think it also did something else.) 13:57:51 (also, I thought it'd help me track down a bug, but it didn't) 13:58:07 fizzie: probably PTRACE_SYSCALL, that's what I'm using 13:58:21 disallowing arbitrary syscalls or faking them is quite easy like that 13:58:32 also, turns out that _newselect does do something, I caught a program using it 13:58:36 as far as I can tell, it's identical to select 13:58:45 Yes, I was just wondering why it then bothers with a faked libc, but I guess it's easier to include arbitrary code in there that way. 13:58:48 for (;;) execv("/proc/self/exe", argv); ? 13:59:33 fizzie: I'm not using a fake libc, so that I can handle arbitrary executables, no matter how insane 13:59:51 although I'm surprised at some of the insanity I've seen running it on random programs I had lying around 14:00:16 one of them even calls personality(2) for reasons I don't understand, I had to change from disallowing it to simply preventing it being used to turn on ASLR 14:00:22 `run readlink /proc/self/exe 14:00:23 ​/usr/bin/python2.5 14:00:26 That was a bit funny. 14:01:18 (my mistake was that I have a symlink that I'm pretending is actually a character device, and forgot to stop readlink working on it) 14:01:33 I also have a regular file that I'm pretending is actually a character device 14:01:46 for /dev/fb0 14:01:56 what's personality for? 14:02:01 I actually got Wesnoth to run and produce graphical output 14:02:05 Patashu: mostly, it changes syscall numbers 14:02:24 for if you want to run an executable from a different OS that has syscalls similar to Linux's, but different numbers 14:02:32 but you can also use it to turn ASLR on or off 14:02:36 and a few other things too 14:02:37 ais523_: Couldn't you just have it be a /dev/null clone? Though I guess that's not much less to fake, just the type. 14:02:57 fizzie: mmaping /dev/null as shared does not produce useful results 14:03:39 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 14:03:58 Oh, you're actually letting the process to mmap it and then reading the graphics from the file? 14:04:01 yep 14:04:08 Nifty. 14:04:20 and then repacking the data into a PNG 14:05:54 it'd have been hilarious if I could just get it to operate on the data section of a bitmap directly 14:06:03 but that wouldn't allow for screen resolution changes 14:06:29 I also disguise a pty as a vt, but that's not all that surprising 14:07:50 oh, and /dev/input/mice is actually a FIFO 14:08:04 how many types of file do I have left to disguise as character devices? 14:08:18 directory could be a little hard, block device would probably be a bad idea 14:08:23 A Door. 14:08:28 (That's a Solaris thing.) 14:08:36 and things like doors and whiteouts, I don't know what they're for 14:08:39 (whiteouts are BSD) 14:09:40 Doors are some sort of IPC thing, you can register them, and then get invoked by other processes. 14:10:12 oh, I forgot sockets 14:10:26 (AF_UNIX sockets, that is, the ones that can be implemented inside a sandbox without going insane) 14:10:31 at least PulseAudio is trying to use them 14:10:52 (am I insane for wanting to get a copy of PulseAudio running inside this sandbox?) 14:11:08 I guess it depends on what you actually need the sandbox for. 14:11:31 D-Bus runs on Unix domain sockets (IIRC) and it's quite widely used. 14:11:57 Well, I guess it can run over TCP too. 14:12:03 well, any dependency of anything, in theory 14:12:17 so far, most of the dependencies have been reasonably sane 14:12:23 although seeing the internals of how SDL works worries me 14:13:02 (basically, it does everything in a loop which just calls nanosleep and gettimeofday alternately, and then when it likes the time of day calls select to see if any input has happened) 14:13:51 (also, it does, IIRC, 32768 ioctls in a row to grab the scancode/keyboard mapping, which really grinds ptrace to a halt) 14:14:23 I've taken a few peeks at its code when puzzling something out, and it's not the most cleanestly architectured thing there is. 14:15:03 there's something about a loop that /just/ contains nanosleep and gettimeofday that makes me angry 14:15:13 I mean, why wouldn't you just sleep for the amount of time you want to sleep for? 14:15:33 nanosleep provides no guarantees on how long it actually ends up sleeping. 14:15:39 it provides a minimum 14:15:58 No, it can easily be interrupted in the middle. 14:16:10 (Though you can of course notice that.) 14:16:14 oh right, but its third argument tells you how much time it has left 14:16:22 and its return value says it's happened, too 14:16:30 Does it at least call nanosleep with different values, or just some fixed small offset? 14:16:43 and even then, the only things that interrupt it are signal /handlers/ (not general signals) 14:16:47 small fixed offset 14:16:55 1 millisecond, IIRC 14:17:00 Heh-eh. 14:17:06 I guess they don't trust their nanosleep. 14:17:07 but I get confused counting zeros 14:17:35 especially because most things my code does are in nanoseconds internally, in one place even picoseconds 14:17:49 woo 14:17:54 I pulled an all-nghter 14:17:58 *nighter 14:18:32 I could understand checking gettimeofday and not relying the nanosleep timekeeping (there's delays involved if you just continue with the "leftover time" values too many times), but always sleeping the same amount of time is a bit silly. 14:18:48 (for pixel clock timings, which I'm not sure if anyone cares about but people are asking about, possibly to gain other information at the same time) 14:19:04 yep, I can understand a gettimeofday check to work out how long to sleep for 14:19:34 (nowdays there's also clock_nanosleep, which can be told to sleep until a specified absolute time, and gets rid of error-accumulation issues that way) 14:20:11 also, wow, Python is older than PHP? 14:20:14 I hadn't realised that 14:21:13 and they both predate Java? 14:22:04 ais523_: don't start telling me that COBOL predates C now 14:22:13 that doesn't surprise me 14:22:30 I have no clue if it's true 14:22:35 -!- cheater_ has quit (Ping timeout: 255 seconds). 14:22:44 most popularish languages were created in the chronological order that I expected them to have been created in 14:22:47 Wikipedia says COBOL is 13 years the junior 14:22:50 but those relationships surprised me 14:22:56 *senior 14:23:02 coppro: phew at that fix 14:23:07 haha 14:23:25 I'm not sure of the relative age of COBOL and Algol 14:23:38 I'm guessing COBOL first, but the other way round wouldn't surprise me 14:24:43 -!- copumpkin has joined. 14:29:15 -!- BeholdMyGlory has joined. 14:31:37 ooh, Java 7 lets you catch multiple specific types of exception in one catch block 14:31:42 that'd be really useful if it got loops right 14:32:12 link? 14:32:37 I don't have something that's more than a bare explanation and a code example 14:32:53 try { ... } catch (FooException | BarException ex) { ... } 14:33:34 also, http://download.oracle.com/javase/7/docs/api/java/util/Objects.html is freaking me out, it seems like a really bad idea 14:33:57 creating helper functions to propagate nulls is pretty much exactly what a good program doesn't need 14:35:21 -!- cheater_ has joined. 14:35:35 eww 14:35:51 to both 14:36:11 also requireNonNull is more like an assertion 14:36:14 the first is useful if there are a set of exceptions that have to be handled the same way 14:36:16 except that in Java you don't assert 14:36:17 you throw 14:36:19 requireNonNull I'm fine with 14:36:37 although, it'd be hilarious if it threw a NPE on failure (I haven't looked at it) 14:36:55 oh wow, it does as well 14:37:04 of course it does 14:37:08 what else would it do? 14:37:09 crash? 14:37:20 throw some other sort of exception, I suppose 14:37:30 it's literally to just boilerplate 14:40:05 -!- pumpkin has joined. 14:40:13 -!- pumpkin has changed nick to copumpkin_. 14:41:02 -!- copumpkin has quit (Ping timeout: 240 seconds). 14:41:08 -!- copumpkin_ has changed nick to copumpkin. 14:45:12 Gah 14:45:31 Why do I feel this need to put everything I want to read ever onto my Nook instead of reading on the computer? 14:46:05 including IRC? 14:46:52 Except for IRC. Although hmm 14:48:09 whats a Nook? 14:48:12 is it an ebook reader? 14:48:18 yes 14:48:23 ok heres the reason why. 14:48:39 I seem to remember that it was being anti-boycotted by a set of people recently who were pleased with what their makers were doing 14:48:41 but forget why 14:48:45 computers have resolutions like 1920x1080 or whatever... 14:48:53 (as in, they were buying them even though they didn't need them) 14:49:18 e-ink has huge resolutions bringing the system more in line with things like print 14:49:45 also,(good) ebook readers presumably don't have an annoying refresh rate which you can't really see conciously 14:50:17 low-res bothers the eyes, refreshes bother the eyes, bright light bothers the eyes 14:50:21 http://www.theregister.co.uk/2011/04/27/barnes_and_noble_response_to_microsoft_suit/ is this related? 14:51:02 itidus20, I don't think my eyes are that bothered by reading on the computer. I think what's bothering them is switching back and forth, which I'm doing a lot of now. Either that, or lack of sleep. 14:51:09 Sgeo: probably 14:51:22 if they're standing up to Microsoft, people will like them because of that 14:51:35 i didnt just make up these beliefs... they stress your eyes 14:51:41 whether you conciously care about it or not 14:53:42 software patents strike again 14:54:13 that's got to be at least three times, now 14:54:16 are they out yet? 14:55:22 `addquote software patents strike again 14:55:23 556) software patents strike again 14:55:24 dammit 14:55:26 `revert 14:55:26 Done. 14:55:42 wrong line? 14:55:46 `addquote < itidus20> software patents strike again < ais523_> that's got to be at least three times, now < ais523_> are they out yet? 14:55:47 557) < itidus20> software patents strike again < ais523_> that's got to be at least three times, now < ais523_> are they out yet? 14:56:29 A king just kills his enemies regardless of the laws. It is somewhat naive of the open source community to think that the laws will protect them. However, it makes them good men(and women) and true. 14:56:33 (also, I really enjoy baseball for a non-American, although it's hard to find on TV for that reason; I don't particularly care about supporting any particular team, though) 14:56:55 itidus20: I think in the UK, it's theoretically impossible for the Queen to commit murder 14:57:02 And they are protected by the laws so long as those same laws benefit the giant commercial businesses 14:57:06 although if she tried, no doubt the law would be changed, or at least she'd be forced out of office 14:57:41 The Queen is not subject to the law of the United Kingdom 14:57:49 Because she /is/ the United Kingdom 14:57:53 Yes she is 14:58:16 IIRC she can't commit crimes, though, there's some sort of royal exception 14:58:49 But... how to nintendo-ize this idea of the enemy bound by its own laws and turn it into a game. 14:58:54 I know she can't go around killing people either 14:59:03 I wonder how much of my Nook usage is just me playing with my new toy 14:59:22 coppro: i ain't gonna say another god damn thing lest i commit some kind of treason 14:59:26 being in australia and all 14:59:38 lol 15:00:27 The Queen is theoretically allowed to prevent the Parliament from passing a bill 15:00:41 However, the last time this power was utilized was 1704 15:00:44 Taneb: she still has to sign them, but she's allowed to sign them by default nowadays 15:01:03 there's a law that says that if she doesn't express an opinion, some royal secretary can go sign them on her behalf 15:01:10 so she'd have to go to the effort of telling them not to 15:01:46 Ok... So... the category of game I propose is one in which only one team can create laws. But they also have to be bound by them. 15:02:15 So... it's kinda like Nomic? 15:02:19 Like.. suppose your enemy was on the ground and you were in the air.. you could create a law "anyone who is on the ground dies" 15:02:27 but then.. you would have to avoid the ground 15:02:38 it'd be really easy to create loopholes 15:02:46 unless the set of laws you could create were really restricted 15:02:53 hmm.. 15:03:02 also.. 15:03:12 the game would have to be continuous... 15:03:20 er hmm... 15:03:24 i dunno how.. 15:03:30 this reminds me of that hilarious state where the governor was allowed to veto individual words 15:03:50 most of the ideas i discuss have been bouncing around in my head for ages 15:03:55 and one crafty governor rewrote a bill by vetoing all be the words he wanted 15:04:01 this is no exception. i just never said it this way 15:04:13 coppro: reminds me of italicisation scams in BlogNomic 15:04:15 ais523_: 7 also adds that one typing-saver (that IDEs I guess generally autocomplete), you can write Map>> map = new HashMap<>(); without having to repeat the parameters. 15:04:23 fizzie: I like that one too 15:04:38 although generally speaking it's not too bad even in 6 with the sort of generic uses I mostly write 15:05:08 Since I was a child I have wanted to be a game author. So I like to think my ideas are nice. >:-) 15:05:43 ...Anyone up for Nomic? 15:05:50 ais523_: loopholes would be ok so long as the game doesn't reach a stalemate. 15:06:17 ais523_: And strings in switch() cases done using .hashCode() + comparisons internally. 15:06:18 Taneb: I'm a player of Agora, and so are several other members of this channel 15:06:26 fizzie: that's a sensible way to do it, isn't it? 15:06:26 actually.. in the scenario example i gave.. 15:06:30 I'm guessing laws wouldn't be able to refer to teams directly? 15:06:38 Hmm... 15:06:51 MDude: yeah thats the catch...! it's meant to reflect the real world in that sense 15:07:08 it's basically impossible to word a restriction like that and have it work 15:07:18 referring to teams indirectly is very easy 15:07:31 ais523_: Yes, and it'd be really quite verbose when done explicitly. 15:07:33 http://en.wikipedia.org/wiki/Frankenstein_veto 15:07:53 What do you mean by inderect? 15:08:19 Because stupid quine stuff still seems pretty direct for the purpose of game rules. 15:08:38 by the way.. in my head this is an arcade game side scroller 15:08:45 that is where i differ with this room :D 15:09:04 but yeah, i appreciate text games too.. and natural language games 15:09:06 itidus20: heh, that's an interesting juxtaposition 15:09:08 and whatever 15:09:17 it'd be unsual as nomics go 15:09:42 MDude: things like giving everyone on the other team a token, then killing everyone with a token 15:09:46 " Since I was a child I have wanted to be a game author. So I like to think my ideas are nice. >:-)" wahahaha 15:10:08 ais523_: hmm.... oh gosh i see.. 15:10:19 hahahah.... 15:10:36 or just giving /everyone/ a token, then dropping your own token before the enemies can react 15:10:39 the juxtaposition helps in that regard... since an arcade game is a finite system 15:10:40 then killing everyone with a token 15:10:48 yep, I think a finite system would work best 15:10:56 the issue would be to prevent the game feeling restrictive 15:11:04 well 15:11:13 ok maybe it wouldn't be finite 15:11:28 you could spawn things (gets nervous) 15:11:53 I mean.. if you can declare that the ground kills people... theres really no limits on what you can declare 15:12:02 you can certainly declare someone has a token 15:12:26 ermm.. yeah.. i will stop talking for a moment and chill 15:12:53 When mexicans enter america, and get on welfare... this is what i believe is happening 15:12:59 this problem is probably unsolvable 15:13:01 but if you do solve it, the resulting game will be great 15:13:04 that is my explanation, represented as a game 15:13:28 so who does usa have to blame for it 15:13:30 ya know 15:13:40 they wrote their own friggen laws 15:14:50 ie "anyone on the ground heals their health" 15:17:14 ais523_: i tried writing up a game based on pennymatching... it just wouldn't click right.. 15:17:22 Would the laws be written as the side scroller is being played, or between rounds? 15:17:25 the answer is that games don't need to be resolved 15:17:37 MDude: while being played.. well it could be any kind of game 15:18:30 competitive Pokémon reminds me of pennymatching, but there's too much randomness in it to fit your criteria 15:18:58 pennymatching is probably ok... i just haven't cracked how to make it work as a game 15:19:48 my head is full of fallacies and misconceptions, and overanalysis... 15:19:53 whats the other side of my brain 15:19:56 what can it do :-s 15:20:07 I think I already thought of how it would work as a game, I just dind't know it was already called penny matching. 15:20:08 i need to try them both in more balance 15:21:16 I'm writing up a lot of my ideas in an open office document tonight 15:22:04 Well I guess it wouldn't be based on it exactly. 15:24:09 oh pennymatching? i gave up on this idea but i'll spell it out.. A guy with a big slow sword vs a guy with a small fast sword. They choose to attack high or low. If they attack at the same height the big sword smashes the small sword. If they attack different heights the small sword makes contact first decisively. 15:25:08 An amusing narrative to accompany an otherwise direct rendition of pennymatching. 15:25:39 I was thinking of having a strategy game like stratego, where different units have different values. 15:25:54 * Sgeo remembers getting a Stratego set as a gif 15:25:56 gift 15:26:00 Never played 15:26:07 itidus20: you probably need more than two options to make it work as a game 15:26:12 The penny matching would be used to decide who wins when units of the same type fight. 15:26:15 any even number would do 15:26:41 ais523_: i spent hours playing with the idea. im letting it go for now 15:26:54 fair enough 15:26:58 hehehehe 15:27:12 oh no, I just realised that if you become a game dev, you're probably going to have to learn C++ 15:27:35 Unless he makes Java or Flash games 15:27:40 Or HTML5 + Javascript 15:28:02 i worked out the 16 possible rulesets for pennymatching, and wrote up a scenario for each one... 15:28:14 but there were lots of problems.. and the whole idea was just as bad as the one i posted 15:28:33 -!- ais523_ has quit (Quit: Page closed). 15:28:45 I don't think it'd be much of a game by itself. 15:29:10 then i started to abstract out the flags 15:29:28 But it's a nice thing to use wherever you want to prevent ties in a non-deterministic game. 15:29:37 like a flag of whether the player has a big or a small sword... and whether the sword is sheathed.. and whether he is thrusting or swinging it 15:29:41 Or pseudo-non-deterministic, anyway. 15:29:57 i really did spend hours on it 15:30:08 but i had to stop somewhere 15:30:44 I realized then and there that Nash Games doesn't equate to Fun Games 15:31:09 You don't play a Nash Game for fun... you play it as part of life 15:31:53 They can be incorporated etc 15:32:13 But theres a reason that noone has released a book of Nash Games Children's Edition 15:33:21 Ok I went a bit far there.. They can be fun of course, or pennymatching wouldn't exist 15:33:48 But in general it's not a motherlode of fun. 15:34:45 I didn't actually activate my creative side when thinking it up. That aspect of my brain needs to come to the fore a bit more. 16:03:05 -!- MDude has quit (Ping timeout: 252 seconds). 16:07:51 -!- nisstyre_ has joined. 16:08:21 -!- Nisstyre has quit (Ping timeout: 255 seconds). 16:08:52 -!- MigoMipo has joined. 16:09:42 -!- nisstyre_ has quit (Client Quit). 16:10:20 -!- Nisstyre has joined. 16:15:17 -!- pumpkin has joined. 16:16:11 -!- copumpkin has quit (Ping timeout: 250 seconds). 16:23:00 -!- lament has joined. 16:24:17 Well, it's tipping it down 16:25:31 -!- pumpkin has changed nick to copumpkin. 16:26:08 I hope Elliott doesn't get caught outside 16:28:11 so im replacing my personal wiki with an openoffice document with a contents page probably 16:29:33 -!- esowiki has joined. 16:30:23 -!- esowiki has joined. 16:31:08 -!- esowiki has joined. 16:31:48 -!- esowiki has joined. 16:32:34 -!- esowiki has joined. 16:33:14 -!- esowiki has joined. 16:33:49 -!- esowiki has joined. 16:34:34 -!- esowiki has joined. 16:35:19 -!- esowiki has joined. 16:36:04 -!- esowiki has joined. 16:36:04 -!- glogbot has joined. 16:36:07 -!- HackEgo has joined. 16:36:07 -!- EgoBot has joined. 16:36:40 Gregor is already here 16:36:56 ...dammit, that joke is a lie 16:37:24 The joke, is in your pants. 16:37:33 oops 16:37:41 I screwed up that line 16:38:01 -!- Gregor has joined. 16:38:28 -!- Gregor has changed nick to Guest63017. 16:39:44 -!- TeruFSX has joined. 16:40:12 I'm feeling too tired to read my own typing. Maybe I am actually tired. 16:43:15 -!- ais523 has joined. 17:07:28 regarding that Nomic like game I discussed earlier, there are parallels with the force. Since it is obvious noone can use the force to fly. 17:08:01 They have to take objects like pillars and throw them as projectiles. 17:08:17 But by one of Newton's laws, I think it's the third one 17:08:32 They can throw a clump of air with equal mass to themselves downwards 17:08:34 I haven't studied it in depth though. I was just guessing there. 17:08:36 And ascend 17:09:20 ok so like you mean, when luke was raising the spaceship out of the swamp, he could have been sitting on it 17:09:28 Yes 17:09:31 Ish 17:09:35 Well, no 17:09:36 thats an interesting idea 17:09:39 But that has a similar effect 17:09:55 He could do that force headstand 17:10:04 oh wait i forgot 17:10:27 he DID levitate ..............oh man i forgot i forgot.. he levitated C3p0 on the chair 17:10:39 it was a robot 17:10:43 hence 17:10:50 What wasn't himself, though. 17:10:59 i mean.. a robot is inorganic 17:11:16 Levitating other people would be different, I think. 17:11:19 And in the prequels, everyone was doing stupid force backflips everywhere 17:11:21 so he was able to raise c3po in the air on the chair 17:11:26 Though it would mean two people could fly together. 17:11:45 doesn't the whole fucking series rest on the idea that if you fall down a hole you can't fly out? 17:11:50 :D 17:12:11 think of it.. luke had to cling for dear life at cloud city 17:12:36 Maybe he had put on weight? 17:12:56 I tihnk part of it is that you need deep concentration to do lift stuff. 17:13:17 well whether the reasons are secret or not.. it is clear that you cannot fly 17:13:20 Though I guess he'd have enough time if he was jsut hanging there. 17:13:57 even yoda can't fly 17:14:06 Yeah, I haven't seen anyone just sailing through the air. 17:14:18 i have been thinking about this for quite some time :P 17:15:24 So he can make robots fly if they are sitting on a chair... he demonstrated that 17:15:50 presumably he could have made him float too... but he was trying to trick them into thinking c3po was a god 17:16:05 It worked, too 17:16:51 its surely no coincedence.. this emphasis on levitating the spacecraft in the swamp... and then not being able to fly 17:17:44 I remember the Yoda says something about not being too reliant on force powers. 17:18:05 I havent seen number 3 yet 17:18:11 but i know a lot about it 17:18:27 Or someone who teahces force stuff said it. 17:19:07 I think making a momentary jerk at something might be a lot easier than a sustained hovering. 17:19:15 Hence why they can jump usper high. 17:20:05 anakin was super badass and could choke you.. 17:20:13 it's simple: the force makes no sense! 17:20:21 it seems that you need a lot of power to choke someone with the force 17:20:21 Maybe they have a feild around themselves that needs to be anchored to the ground or whatever. 17:20:41 noone else ever used the force as a melee weapon 17:20:49 except anakin 17:21:10 He was a dick 17:21:17 he can punch you with the force 17:21:21 Well the main three mvoies only have the two evil force users. 17:21:21 he is the only one i think 17:21:34 he can rain fists down on your ass 17:21:44 WITH HIS MIND 17:21:45 but that seems to depend how weak you are 17:22:43 Yoda did move the X-Wing, but it wasn't really that far of a distance. 17:22:54 Maybe the difficulty of lift increases with fligth time. 17:22:57 MDude: they can move inorganic objects 17:23:12 the point is the inorganicness 17:23:21 i dont know which scene you mean though re: xwing 17:23:26 I don't see how they can't lift organics. 17:23:29 What about Darth Vader squishing people's necks? 17:23:33 thats the whole topic man 17:23:35 The one where it's lifted form the swamp. 17:23:58 Taneb: well.. he is applying pressure like a choke 17:24:25 he can't actually control the guys neck.. only choke it 17:24:45 maybe its partial control cos anakin is so strong with the force 17:24:48 Maybe it isn't purly an issue of being able ot grab. 17:25:02 yeah true 17:25:13 It might be that organic stuff damages too easily 17:25:17 brb 17:25:22 Taneb: well i derived the fact he could punch from the fact he could choke 17:25:28 WIth an X-Wing, you jsut pull on the metal frame and there you go. 17:25:31 even though he never used such punches 17:25:53 With a human you need ot make sure not to dislucate the squishy innards. 17:26:04 MDude: also the fact that everyone has midochlorions in them... they might not act directly on each other 17:26:32 -!- shachaf has quit (Ping timeout: 240 seconds). 17:26:39 or something like that 17:27:16 Next time I can get to them, I'll have to check my Star Wars D20 books on the subject of what the force cana nd can't move around. 17:27:31 :-D 17:27:43 the dark side is more powerful, obviously 17:27:43 at least when it comes to accomplishing violence 17:28:24 perhaps it's more flexible 17:28:32 the reason the light side is so much harder to use is that it's a tarpit 17:28:41 and the dark side actually has useful primitives 17:28:52 but you pay a price for the power of the dark side 17:28:59 have you ever considered that all the force is just jedi mind tricks...persistent illusions of sights and sensations... 17:29:03 lack of referential transparency? 17:29:08 or do you? 17:29:20 i mean.. anakin was ok until he got lava-ized 17:29:56 -!- Taneb has quit (Ping timeout: 260 seconds). 17:38:44 -!- shachaf has joined. 18:30:17 -!- oerjan has joined. 18:36:36 -!- FireFly has joined. 18:36:57 -!- Sgeo has quit (Read error: Connection reset by peer). 18:42:52 idea for a sequence S: S[1] = 1, S[n+1] = value someone who doesn't know about S would guess for S[n+1] given S[1]..S[n] 18:42:57 umm 18:43:01 idea for a sequence S: S[1] = 1, S[n+1] = value someone who doesn't know about S would guess for S[n+1] given S[1]..S[n], plus 1 18:44:04 You can use e.g. http://koti.kapsi.fi/jpa/stuff/other/epsilon/zizzo.cgi to generate that programmatically 18:44:30 heh, it's already been thought of? 18:44:38 or is it a sequence guesser? 18:44:42 The latter 18:44:52 (from http://www.ohjelmointiputka.net/kilpa.php?tunnus=alyot ) 18:45:25 i knew a haskell guy who wrote some kind of arithmetic sequence guesser 18:45:47 the thing is, after a while they'd probably guess the definition of S 18:45:52 and it has to be higher by 1 even allowing for that 18:46:40 so its a sequence based on human nature? 18:46:53 -!- Guest63017 has changed nick to Gregor. 18:47:04 did you have the idea that lots of people would add numbers to it blind? 18:47:13 or am i reading this all wrong? 18:47:37 itidus20: well, I think they'd stop being blind after a while 18:47:44 and that is also accounted for by the sequence 18:47:49 so, yes, human nature is involved 18:48:12 ais523: i know what you should do with this idea 18:48:26 that random anonymous text chat website 18:48:35 i forget its name 18:48:40 no, that's unlikely to be a good use for it 18:48:48 you could just show the sequence to random people and wait for a number 18:48:54 and then build it up in that way 18:50:18 ok i presented a random human being with a "1" 18:50:26 they are mulling it over 18:52:35 "You: 1 Stranger: hi Stranger: asl? You: ok which number comes next, given: 1" -- didn't go so well 18:53:09 I didn't think it would 18:53:20 however... 18:54:38 1,3,6,11 is the first terms i get by introspection 18:55:40 but i have no obvious "would guess" for the next term 18:56:07 "You: 1 Stranger: 2 You: 1,2 You: 1,2,? Stranger: 3,4 ?? You: 1,2,3,4,? Stranger: 1,2,3,4,5,6,??? You: 1,2,3,4,5,6,? " and not ended yet 18:56:17 itidus20: no! 18:56:23 am i doing it wrong? 18:56:31 lol 18:56:39 yes. after he answers 2, you should do 1, 3 18:57:16 oerjan: I'd go with 18 to your "1,3,6,11," -- it looks like the partial sums of primes. 18:57:28 ah. 18:58:07 * oerjan swats fizzie for suggesting 1 is a prime -----### 18:59:08 oerjan: Well, I was mostly going for "2, 3, 5, ... e.g. primes as the differences between the numbers", but it wasn't as concisely stateable. 18:59:21 And it leaves the starting point of 1 a bit arbitrary. 18:59:36 ok. 19:00:31 hm OEIS sorted on relevance doesn't look good for this 19:00:34 I told them the line in question "without a username" to relieve some of the curiosity which i probably only imagined they had 19:00:50 (it gives 1, 5, 20, 70, 240, 810, as the first result for "1") 19:00:51 i know it could be googled but meh 19:01:27 eek sorting by references gives the _prime numbers_ 19:02:25 ok at least 1,3,6 gives the triangle numbers 19:03:13 fizzie: heh OEIS went with 19 for 1,3,6,11 :P 19:03:38 (Fibonacci(n+3) - 2) 19:04:17 so clearly the best next element is actually 20 19:06:04 which gives 2^n + n, next element becomes 38 19:06:32 OEIS gave up on 1,3,6,11,20,38 19:06:43 clearly, it needs to contain /this/ sequence 19:06:49 and increment numbers in it on every pageview 19:06:57 XD 19:08:00 ok if i accept OEIS's 1, 5, suggestion for a starting 1... 19:08:01 -!- Taneb has joined. 19:08:34 eek. pascal's triangle read by rows. 19:08:37 -!- hagb4rd has joined. 19:09:04 in particular, the 1,6,15 ... row 19:09:58 this time OEIS gave up on 1,6,16,32,385 19:11:29 ais523: i suspect humans might not do much better than OEIS. 19:14:26 indeed 19:17:20 -!- hagb4rd has quit (Ping timeout: 250 seconds). 19:17:35 Humans can understand lots of stuff like 1,2,3,15,16,17, OEIS can't 19:17:49 Until someone adds it 19:18:16 I don't think you can add just any kind of triviality to OEIS, or can you? 19:18:23 You can 19:18:43 it's supposed to be a sequence of at least _some_ interest, i think 19:22:45 -!- cheater_ has quit (Ping timeout: 255 seconds). 19:24:54 (n-(n mod 3))*11+ n 19:28:45 > let p d x = product [x, x-1 .. x-d+1] `div` product [1 .. d]; q x = sum [p d x | d <- [1..x]] in map q [0..] 19:28:46 [0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,... 19:29:18 > map (pred . (2^)) [0..] 19:29:19 [0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,... 19:30:33 heh, so attempting the procedure with the simplified guess of "use simplest polynomial fit" just gives 2^n-1 19:31:06 haha 19:31:12 ...i guess that's a consequence of pascal's triangle, really 19:31:17 that's kind-of neat, actually 19:32:01 or of the binomial expansion of (1+1)^n 19:32:15 oh, putting it like that makes it obvious 19:32:18 but it's still neat 19:33:42 a better idea: let the next value in the sequence be the smallest value that no one on earth has guessed could be the next value :P 19:34:17 1,negative infinity? 19:35:07 *greater than the previous term 19:35:09 -!- NihilistDandy has quit (Read error: Operation timed out). 19:35:23 (note that i would guess negative infinity just to mess with you) 19:35:34 negative infinity plus 1! 19:36:01 -!- cheater_ has joined. 19:36:10 Which is convenientally equal to negative infinity 19:36:16 ais523: Esolang talk:Site support appears to be spam 19:37:11 I'll check the recent changes in a bit 19:37:19 but it'll be dealt with 19:37:37 need to give elliott a chance to userfy it first :) 19:37:41 well the danger here is that elliott might squat it be... right 19:37:59 i mean, WRONG 19:39:32 it's happened before 19:39:37 Taneb: "In Luigi, the left hand side of a production rule is not allowed to be the subset of any other. This makes Luigi deterministic." 19:39:42 -!- NihilistDandy has joined. 19:39:44 I was wrong 19:40:00 It's still in user section, it can be changed 19:40:29 well i would think you'd have trouble whenever they can overlap, anyhow. 19:40:47 Yeah, that's what I thought 19:41:22 -!- cheater__ has joined. 19:42:17 Sighs, wondering if I would understand my own ideas better if I had learned Haskell yet. 19:42:33 how's the haskell going? 19:42:41 Haven't got back to it yet 19:43:38 But I am intrinsically about game creation.. and Haskell would only serve that end for me in some level 19:44:09 well there are games in haskell, at least. 19:44:12 -!- cheater_ has quit (Ping timeout: 250 seconds). 19:44:47 I am basically someone who would look down the nose at Lua because it would deny me the pleasure of making my own embedded scripting language. 19:44:49 -!- cheater_ has joined. 19:45:25 Does anyone have any idea if Luigi is Turing Complete? 19:45:26 And it wouldn't add any value of its own. 19:45:30 Lua is possibly the only language with a large amount of reverse library support 19:45:48 Reverse library? 19:45:53 in that, it doesn't have an amazing number of libraries, but it's embedded in an amazing number of different contexts that will be able to supply their own relevant routines 19:46:04 Taneb: i was thinking about that. i think you can do a CA in it... 19:46:47 let's say you follow the convention of using disjoint alphabets for odd and even positions 19:47:25 then you can easily make something resembling a 1d margolus rule, i think 19:47:35 while still being deterministic 19:47:47 -!- cheater__ has quit (Ping timeout: 240 seconds). 19:48:34 or put a different way, each CA cell is represented by _two_ luigi letters, one from each subalphabet. 19:49:25 so 0010 would be represented something like aAaAbBaA 19:49:37 with some marker at the end 19:49:44 I would rather use (looks up it's name) ORK than Lua as a scripting language for a game. 19:50:27 hm wait this doesn't work that way 19:50:42 need to keep the margolus idea 19:51:17 basically, each cell would interact with a different neigbor on odd and even generations 19:52:26 say a rewriting rule was Aa -> aB, it would only apply when the left cell was in the "upper case" state, and would turn it into lower case, and opposite for the right cell 19:53:29 the end markers would have rules to switch the case of an otherwise inert cell. as well as possibly growing the word. 19:53:32 oerjan: Isn't the traditional way to do deterministic stuff on a system like this just to keep a unique marker somewhere, and then apply only production rules that contain the marker and some neighbors, so you're guaranteed to only ever apply the rule in a single place? Sounds like a scheme like that, with a marker you keep moving from front to back (and encode some state in what the marker is) should work for a BCT implementation. (With a few more unique symbo 19:53:33 ls at the beginning and end of the string.) 19:54:01 fizzie: that's basically encoding a Turing machine in rewrite rules 19:54:03 fizzie: oh hm right that's the TM way. i was sort of fixated on doing something parallel. 19:54:06 and yes, it is pretty standard 19:54:23 oerjan: Oh, you can be honest, I won't feel hurt: just say "the boring way". 19:54:50 my idea has the "advantage" that every cell can get touched by some rule each generation 19:55:19 fizzie: i honestly forgot about it :P 19:55:51 -!- monqy has joined. 19:56:12 Taneb: ok fizzie's method pretty obviously works to encode a TM rather directly. 19:57:05 That 1D CA in "parallel" sounds intuitively speaking doable too. 19:57:42 yes i would think so 19:58:18 Encoding a TM directly would be the way that would be most obvious to someone who knows what turing-completeless is but hasn't much experience trying to prove it 19:58:26 Or seen anyone ever try to prove it 19:58:33 But still a possible 19:58:34 way 19:58:34 indeed 19:59:01 but sometimes it _is_ the simplest way 20:02:36 -!- olsner has joined. 20:08:24 A0N1->N1B1; A0N0->N1B1; N0A1->C0A1; N1A1->C1N1; N0B0->A0N1; N1B0->A1N1; B1N0->N1B0; B1N1->N1B1; N0C0->B0C1; N1C0->B1N1; C1N0->N1H0; C1N1->N1H1 20:08:38 That will simulate the example Turing Machine on the Wikipedia page 20:08:49 When converted to Luigi notation 20:08:57 I would think the most obvious way to make things deterministic would be to just check shorter rules first. 20:09:21 but restrictions are fun 20:09:22 ... 20:09:47 MDude: actually that doesn't work with the overlapping ones 20:10:08 I guess that dones't, by itself, remove the ambiguity of when sch alterations should be applied. 20:10:21 aren't they supposed to be in paralel too 20:10:21 Things can overlap without being subsets, though. 20:10:35 as in, checking them sequentially is hilariously against the point 20:10:51 (reads about turing machines) in the deterministic vs non-deterministic argument I have raised hte point in the past that a non-deterministic universe could emulate a deterministic one.. 20:11:00 ;01ABCH;N0N0N0N0N0N0N0N0N0N0N0N0A0N0N0N0N0N0N0N0N0N0N0N0;A0N1;N1B1;A0N0;N1B1;N0A1;C0A1;N1A1;C1N1;N0B0;A0N1;N1B0;A1N1;B1N0;N1B0;B1N1;N1B1;N0C0;B0C1;N1C0;B1N1;C1N0;N1H0;C1N1;N1H1 20:11:01 this may be a vice versa thing, i forget 20:11:13 Ah 20:11:27 Just found a major restriction in the Turing Machine emulation 20:11:27 Neither wba or bac are subsets of the other, but they have subsets that match, so wabc would be a problem. 20:11:32 finite initialisation 20:11:36 itidus20: well it depends on whether your non-deterministic universe can make reliable components, i assume 20:11:55 oerjan: I can freely pretend to have no free will :> 20:12:06 or that is.. i cannot say that for sure!! 20:12:26 So, I don't think direct emulation of a Turing Machine works 20:12:51 You cannot prove my determinism is not a choice 20:12:53 :D 20:13:20 That's philosophy, not computer science. 20:13:28 i know 20:13:35 Taneb: um ordinary TMs just need finite initialization 20:14:09 They operate on an infinite tape 20:14:15 -!- olsner has quit (Ping timeout: 276 seconds). 20:14:30 Taneb: expanding a tape with rewriting is not hard 20:14:41 True, hmm 20:15:21 ;01ABCEH;EN0A0N0E;A0N1;N1B1;A0N0;N1B1;N0A1;C0A1;N1A1;C1N1;N0B0;A0N1;N1B0;A1N1;B1N0;N1B0;B1N1;N1B1;N0C0;B0C1;N1C0;B1N1;C1N0;N1H0;C1N1;N1H1;E;N0; 20:15:36 Okay, that expands the tape quicker than it can be accessed 20:15:55 Which isn't the most memory efficient of techniques, but we're dealing theoretically here 20:16:15 Is there a way to implement stacks in it? 20:16:28 you don't need to expand unless the tape head is going into unitialized territory 20:16:45 oerjan: but this is easier and for a proof just as good 20:16:56 MDude: almost certainly, but not trivially 20:19:03 well two stacks, one at each end pointing inwards, would seem pretty trivial 20:20:05 for more, you get to move information around a lot 20:25:13 MDude: also, you can implement a stack in any thing TC. just not necessarily easily. :P 20:25:23 *anything 20:25:46 -!- olsner has joined. 20:25:53 BCT is gonna take a bit of work, i'd say 20:26:06 Brainfuck even more 20:26:16 um, no? 20:26:28 Sorry, in my own conversation 20:26:35 Don't mind me 20:26:38 i'm pretty sure a stack in brainfuck is easier than in BCT :P 20:27:17 I was thinking it'd be pretty hard to implement anything much in Luigi 20:27:38 well brainfuck is easy to compile to a TM, i think, and then to Luigi. 20:27:58 apart from IO 20:28:37 hm actually it'll be a lot of rules if the cell size is big 20:28:49 boolfuck, though, shouldn't be too hard 20:29:13 P′′ is Turing Complete with a cell size of three, possibly two, I believe 20:29:32 or you could do BF more directly with a unary representation of cells 20:29:47 Taneb: um is this a known result? i was sort of thinking about doing it with 3 20:30:04 oh wait you said cell _size_, never mind. 20:30:20 cell size two is just boolfuck, which is TC, yes 20:30:22 Cell size is a lot harder than tape length in Luigi 20:30:35 Taneb: not if you do it with unary, i think 20:30:55 That's a possibility, but not one I'm going to look into tonight 20:31:26 Taneb: or even binary might not be too hard, actually, i've had some thoughts about /// and this would be similar 20:32:12 If you are bored, have a look at that, then. I'm going to bed now 20:32:18 -!- Taneb has quit (Quit: Goodnight!). 20:32:25 * oerjan is not _that_ bored :P 20:36:09 -!- azaq23 has joined. 20:37:44 -!- boily has quit (Ping timeout: 252 seconds). 20:39:32 -!- Taneb has joined. 20:39:46 Okay, okay, I changed my mind 20:40:06 -!- Phantom_Hoover has joined. 20:40:09 always get your full eight minutes of sleep 20:40:19 Back to civilisation /o/ 20:40:20 Phantom_Hoover: You have 22 new messages. '/msg lambdabot @messages' to read them. 20:40:20 | 20:40:20 /| 20:40:26 Dammit lambdabot. 20:40:31 Twenty... 20:40:32 Popular guy, PH 20:41:08 @tell elliott FFS, I've told you already that lambdabot breaks if there are more than 10 or so. 20:41:09 Consider it noted. 20:41:24 a time in which im especially glad not to be popular 20:42:46 @tell elliott I hope you still have the scrollback for the last 14 of those. 20:42:46 Consider it noted. 20:43:18 Sgeo... didn't... know... that... 20:43:22 I... 20:43:34 his mind is going, he can feel it 20:43:41 -!- elliott has joined. 20:43:48 Speak of the devil. 20:43:57 what i was going to say 20:44:06 no, _i_ was going to say it 20:44:15 wat 20:44:16 elliott: You have 3 new messages. '/msg lambdabot @messages' to read them. 20:44:17 (Also, from PH Reads Logs To Offset Suicide: 03:00:18: Sgeo: The movie.) 20:44:31 This year's blockbuster! 20:44:38 20:40:20: Phantom_Hoover: You have 22 new messages. '/msg lambdabot @messages' to read them. 20:44:40 :DDDDDdddddddddddddddddddd 20:45:13 Join Sgeo as he goes on a voyage of discovery to find himself and also that Narnia and Alice in Wonderland were written by different people. 20:45:25 I'm going to move Luigi from my user space now 20:45:31 i want an itidus movie too 20:45:43 Also, I used to get mixed up with CS Lewis and Lewis Carrol 20:45:46 Alice in Wondernarnia 20:45:49 monqy, did it get even better in the week I was gone? 20:45:53 *week and a half 20:46:40 I haven't been keeping track, but he's still itidus20 20:47:17 hmm 20:47:21 oh ok.. hold on 20:47:35 i'll hook you up 20:48:01 one time he put clothes and hair on an elliott in a hole drawn by elliott 20:48:51 monqy, pics or it didn't happen. 20:48:51 http://www.youtube.com/watch?v=NzMEQlK1EBA 20:49:03 02:22:14: Hofstadter's too talky 20:49:03 also he says nothing interesting 20:49:12 02:26:00: I always feel like the odd one out because I'm a computer scientist but not a mystic :D 20:49:12 -!- derrik has quit (Quit: ramadan). 20:49:13 Quite so 20:49:14 NihilistDandy: what, in here? 20:49:40 itidus20, no, I mean of the elliott thing. 20:50:07 elliott: No, not here, generally. Among perl programmers, mostly :D 20:50:24 Phantom_Hoover: 05:37:27: elliott_: i did an edit of it: http://oi51.tinypic.com/34h0z.jpg 20:50:45 Okay, it's official, Luigi is an esoteric programming language 20:50:54 PERL = Programmable Eschatology from Religious Loons 20:50:55 monqy, that's... wow. 20:51:06 amazing 20:52:12 Phantom_Hoover: the artefacts are my fault mind you 20:52:43 So elliott plays baseball and is a Saiyan? 20:52:52 Yes. 20:53:11 In other news, the Guide claims that Edinburgh is full of giant seagulls. 20:53:13 This is in line with my conception of him 20:53:33 Phantom_Hoover: Quick, make some giant french fries! 20:53:33 I am sceptical of this claim, but I do not know how big a normal seagull is. 20:53:48 Which Guide. 20:53:58 The Guardian one. 20:54:02 What's the minimum number of arbitrarily large cells needed for this to be true? It obviously isn't the case with one. --Graue 15:35, 9 Jun 2005 (GMT) 20:54:02 Theoretically, 2 cells (cf Minsky machine); Frank Faase has a proof using 5 cells. --Chris Pressey 18:33, 9 Jun 2005 (GMT) 20:54:09 oerjan: go correct chris about two cells 20:55:40 Also: oko explains integration with infinite bounds 20:55:48 23:03:22: the bounds are infinite however. 20:55:48 23:03:26: ..... 20:55:48 23:03:43: well, true, you need a big calculator 20:55:51 Speaking of #esoteric 20:55:51 http://arstechnica.com/science/news/2011/07/how-an-argument-with-hawking-suggested-the-universe-is-a-hologram.ars 20:56:13 elliott: well i haven't finished showing that 3 are sufficient yet... 20:56:28 I reckon four wouldn't be too difficult 20:56:37 NihilistDandy: how appropriate, speaking of #esoteric *in* #esoteric 20:56:45 olsner: SO META 20:56:48 oerjan: that's what I mean, two almost certainly aren't, right? 20:56:53 because bf doesn't have the same operations as minsky machines 20:56:56 olsner, it's the least fixed point of off-topicness. 20:57:30 elliott: it seems unlikely, because every time you exit a loop you have one cell 0, so it's hard not to clobber something 20:57:37 oerjan: right 20:57:47 oerjan: I'm just saying that "theoretically, two (cf minsky)" doesn't hold 20:57:50 :P 20:57:54 indeed 21:00:10 Why does Polish have to look so much like polish? 21:00:44 Polish as in the nationality of someone from Poland, polish as in make shiny 21:01:36 Because English is stupid 21:01:43 Or maybe Poles are just shiny 21:01:52 Hence, pole-ish 21:02:24 poleish 21:03:12 elliott: btw when trying to use the proof that 2 registers for a minsky machine suffices, and merging the machine state into the same BF cell as the product of prime power register, it all very similar to fractran 21:03:30 oerjan: :D 21:03:30 *all becomes 21:03:55 to such a degree that it looks simplest to just compile fractran to BF 21:03:56 meh, these polish puns are neither bad or good enough to be funny 21:07:40 Taneb, ever since I noticed a Polish market somewhere I have been meaning to go there and ask for some really obscure type of polish. 21:07:56 Doo eet 21:09:14 Excuse me, I'm looking for some Kiwi Polish 21:09:35 get your kiwis all nice and shiny 21:09:38 -!- pingveno has quit (Ping timeout: 252 seconds). 21:10:21 I knew a Kiwi Polish girl once :D 21:11:58 -!- FireFly has quit (Quit: swatted to death). 21:12:56 02:52:53: Is there a reliable means of counting characters in a Unicode string? 21:12:56 02:53:13: Code points aren't characters, so even UTF-32 is variable-width wrt characters. :( 21:12:56 define character 21:13:39 elliott: I do believe he's meaning "glyph". 21:14:19 pikhq: I think he means grapheme. 21:14:44 I think he means printing character 21:14:47 So, "glyph". 21:14:57 I knew a Kiwi Polish girl once :D 21:15:02 Was she nice and shiny? 21:16:07 -!- elliott has quit (Remote host closed the connection). 21:16:07 Nah, but I'd never seen such black boots in my life. 21:16:38 -!- elliott has joined. 21:17:34 -!- MigoMipo has quit (Read error: Connection reset by peer). 21:21:21 You know what would be interesting? 21:21:36 A Brainfuck or Lazy K or something Rubik's Cube solver 21:22:15 Taneb, $algorithm in $language is normally not terribly interesting. 21:22:34 Okay, how about the reverse 21:22:45 A Brainfuck solver in a Rubk's Cube 21:22:51 Hmm... 21:23:01 how does one solve brainfuck 21:23:03 a tricky one, Taneb is 21:23:11 There are Turing-equivalent decision problems... 21:24:39 are there any languages based on rubik's cubes 21:25:34 monqy, well, I don't understand how it actually /works/, but the existence of solutions to polynomials with n variables is Turing-equivalent. 21:25:48 hm 21:26:00 So perhaps there's something similar with Rubik's cube. 21:26:02 monqy: Some subsets of group theory could reasonably be said to be "based on Rubik's cubes" 21:29:10 Well, goodnight for real now 21:29:24 -!- Taneb has quit (Quit: or is it...? Tune in next week to find out!). 21:34:42 ah yes, the word problem for groups is undecidable, so most likely TC... 21:34:46 iirc 21:36:25 of course rubik's cube itself is finite, so pretty decidable i should think 21:37:46 nxnxn, of course. 21:38:49 rubik's hypercube 21:38:50 Phantom_Hoover: _integer_ solutions, mind you. it's decidable for reals, and still open for rationals (somewhat recently discussed in godel's lost letter) 21:39:16 infinitely big rubiks' cube 21:39:17 discuss 21:39:41 elliott, infinite from a particular corner, or along all sides? 21:39:51 all sides 21:39:54 someone should make a physical puzzle whose symmetry group was the monster 21:40:05 you can still do all the turns, ofc 21:40:46 *is 21:53:26 -!- augur has quit (Remote host closed the connection). 22:01:44 -!- azaq23 has quit (Quit: Leaving.). 22:04:11 -!- Patashu has joined. 22:06:02 Oh what, the Humble Bundle now includes /another/ game? 22:06:06 FINE YOU GUYS I'LL BUY IT OK 22:16:45 -!- ais523 has quit (Remote host closed the connection). 22:26:52 -!- augur has joined. 22:40:04 FINE 22:42:55 I DON'T THINK WE DESERVE TO BE FINED 22:43:00 -!- myndzi\ has quit (Read error: Connection reset by peer). 22:43:34 -!- myndzi has joined. 22:45:26 oerjan, YES YOU DO 22:46:46 YOU CANNOT PROVE IT 23:37:15 "Paradoxes make physicists happy." 23:42:18 itidus20, they do? 23:43:18 so someone found an exploit in some apple laptops.. which means the battery can be killed 23:43:49 it's pretty bad.... 23:43:51 And the physicists are overjoyed? 23:44:02 champagne corks 23:44:40 bottoms up you old bastards 23:44:54 putting on the ritz 23:47:56 This film will be the best. 23:48:16 itidus20, struggling young artist and renaissance man... 23:48:52 It can tie in with Sgeo: the Movie! 23:49:00 But who would be cast as who... 23:49:55 (I would played by David Tennant, as the villain trying to murder KT-AT.) 23:50:13 elliott can be Christopher Eccleston, because they're both from the North. 23:50:31 I'm not nearly camp enough. 23:51:03 Christopher Eccleston is camp? 23:51:15 That's pretty much what he's famous for as the Doctor, yes. 23:51:25 It's sort of a... mild camp. 23:51:26 Except amplified. 23:51:42 Like turning down your speakers really low, playing something, recording it, and then amplifying that. 23:51:45 This is logical. 23:52:17 Anyway, Vorpal would be played by the guy who played Wallander because that's the closest I get to naming a Swedish actor. 23:53:23 cpressey would obviously be played by Ian McKellen. 23:53:48 elliott, also who else is famous, and actor and From the North? 23:53:55 (Not from the North, that's entirely different.) 23:54:23 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 23:54:32 Phantom_Hoover: Me. 23:54:38 *an actor 23:54:42 Phantom_Hoover: Me. 23:54:47 Vorpal can be played by Vorpal because nobody else can be that boring. 23:54:56 elliott, have you *seen* Wallander? 23:54:59 We will coerce him to with the EVIL POWERS of... money, because that's all he's boring enough to fall for. 23:55:26 (It's impossible, such is the boredom.) 23:55:41 http://www.reddit.com/r/askscience/comments/j54n4/if_plants_are_constantly_exposed_to_the_sun_why/ 23:55:47 Why do I read /r/AskScience. 23:57:38 Because you like stupid questions? 2011-08-02: 00:00:42 that wasn't a stupid question... 00:02:39 -!- cheater_ has quit (Ping timeout: 255 seconds). 00:15:39 -!- cheater_ has joined. 00:18:03 -!- copumpkin has joined. 00:20:29 It's a funny question, at least 00:41:57 http://www.reddit.com/r/askscience/comments/j66uq/is_it_possible_to_heat_the_planet_via_burning/ 00:42:00 Ha 00:45:03 -!- Phantom_Hoover has quit (Quit: Leaving). 00:52:05 Hey who plays DF here. 00:52:17 should i play df 00:52:36 I played a couple of times 00:52:48 I never remember the damn key bindings 00:52:55 monqy: Yes. Mostly so that you can tell me what (textual) tileset to use. 00:53:03 elliott: but that's what I wanted to know 00:53:09 Preferably square, preferably doesn't make text COMPLETELY UNREADABLE, and none of that fancy curved wall stuff. 00:53:22 these are things I want to know 00:53:24 And one that recognises that my screen is high-resolution and high-dpi i.e. not tiny. 00:53:29 monqy: WELL I WANT TO KNOW THEM TOO 00:53:41 Also one where dwarfs have beards, I can't bear not having them. 00:55:07 -!- oerjan has quit (Quit: m4h uo+ nujaepeqle?). 01:11:17 ages ago, i'm sure i shared some code here for some various things 01:11:37 a dc interpreter, an oisc virtual machine for example 01:11:53 i wouldn't suppose anyone still has a copy of any of that code? 01:16:53 wasnt it on pastebin 01:17:24 Someone's shameless self-promotion on #erlang 01:17:24 http://amtal.github.com/2011/07/19/unix-pipes-pointless-functional-programming.html 01:17:29 pastebin.ca appears to be defunct 01:17:29 Thoughts? 01:17:44 bsmntbombdood: it was offline then online then offline again 01:18:01 NihilistDandy: oleg said that years ago. 01:18:03 bsmntbombdood: TO THE LOGS 01:18:12 NihilistDandy: i've been grepping to no avail 01:18:16 elliott: I don't doubt it. 01:18:31 http://okmij.org/ftp/Computation/monadic-shell.html 01:18:48 Mostly it's the stuff about LFE at the end that was vaguely interesting 01:19:46 "but your language doesn’t support pointfree style?" can you not define operators in erlang 01:19:50 or uh varargs functions 01:19:56 some stuff on pastebin, other stuff on a personal server which is also no good 01:20:24 bsmntbombdood: sounds like you're fucked 01:20:44 elliott: yep, unless someone happened to save something 01:21:21 bsmntbombdood: i might have a copy of bsmntbot lying around on another computer 01:21:23 that's it though 01:21:37 what did bsmntbot do 01:21:49 monqy: everything AWESOME 01:22:18 -!- cheater_ has quit (Ping timeout: 255 seconds). 01:22:26 elliott: I like that the thing could be interpreted as "Well, I guess erlang's not that awesome after all, I guess Lisp is the way" 01:27:35 why is opengl so bad :( 01:27:56 Bad developers? 01:28:26 no the api 01:28:38 opengl has the worst api 01:28:46 is there anything worse 01:28:51 death?? 01:28:54 oh no 01:28:58 monqy: Glib 01:29:02 Being drawn and quartered 01:29:07 I will try to stay away from glib 01:29:33 pikhq: no way 01:29:46 you can avoid gobject almost entirely when using glib 01:29:48 opengl 01:29:49 the horribleness 01:29:51 is everywhere 01:30:22 last night I tried to opengl again and I just couldn't do it 01:30:31 :( 01:30:36 monqy: im trying to opengl from haskell but 01:30:40 it turns out that it isnt better that way 01:30:41 i was too 01:30:41 its worse 01:30:45 because 01:30:51 upon exposure to the opengl 01:30:52 haskell goes 01:30:53 :( 01:31:10 monqy: were you doing it with sdl too, are you actually me 01:31:25 yes 01:31:48 I had made something earlier with GLFW-b and I was porting it to SDL for comparison and just died 01:31:51 monqy: what were you trying to code,,, you may actually be me...supsicisous 01:32:12 i kind of gave up on everything GLFW because it forces all your callbacks to be in IO 01:32:16 i gues sthat might be okay but 01:32:22 monqy: but um SDL is actually nicer?? 01:32:24 yeah that's what I dislike about GLFW 01:32:31 SDL's api is really nice 01:32:33 well I wanted to compare them 01:32:57 elliott: I couldn't even get the GLFW lib from Hackage to compile 01:32:59 SURPRISE 01:33:03 NihilistDandy: GLFW-b is different 01:33:05 it's an alternate binding 01:33:08 Ah 01:33:09 the thing i was porting was just a little thing with spinning boxes. for comparison between GLFW-b and SDL. so I would know what to use to make my magical graphics library so i would be able to avoid opengl and still have things the way i wanted them 01:33:18 GLFW-b is better than GLFW imo 01:33:20 elliott: Okay, fine, I'll go with real awfulness. 01:33:22 Win32. 01:33:29 monqy: what problem did you have with SDL? 01:33:36 (don't say it twice more, you'll some Beelzebub) 01:33:36 elliott: it wasn't SDL that killed me 01:33:40 *summon 01:33:43 elliott: it was looking at opengl again 01:33:53 elliott: the thing that finally did me in was matrixMode 01:33:57 monqy: also: can i have your spinning boxes code, currently my minecraft code is blocked on "how do i get this fucking box to draw without being stretched and dark grey" 01:34:03 i suppose i should write camera-moving code 01:34:14 my spinning box code kind of sucks :( 01:34:21 it's all 2d too 01:34:24 if that matters 01:34:24 oh 01:34:30 by sucks I mean 01:34:32 well i dunno it can't suck more than my threedee stuff 01:34:35 I hadn't taken the time to make it pretty 01:34:42 because I died before then 01:34:51 let size = length xs * 3 * sizeOf (undefined :: GL.GLfloat) 01:34:51 ptr <- mallocBytes size 01:34:51 foldM (\idx (a,b,c) -> do pokeElemOff ptr (idx*3) a 01:34:51 pokeElemOff ptr ((idx*3)+1) b 01:34:51 pokeElemOff ptr ((idx*3)+2) c 01:34:52 return (idx+1)) 0 xs 01:34:58 GL.vertexAttribPointer (GL.AttribLocation 0) GL.$= (GL.ToFloat, GL.VertexArrayDescriptor (fromIntegral (length xs)) GL.Float 3 ptr) 01:35:01 let f v = [v,(0,0,0.51),(0,0.51,0.51),(0,0.51,0),(0.51,0.51,0),(0.51,0,0),(0.51,0,1),(0,0,0.51)] 01:35:01 let xs = f (0,0,0) ++ f (0.51,0.51,0.51) :: [(GL.GLfloat,GL.GLfloat,GL.GLfloat)] 01:35:03 just a few sample lines 01:35:07 i died 01:35:07 your code cannot possibly be worse than this 01:35:10 ugh the pointer stuff its just like 01:35:13 my code currently segfaults 01:35:16 that should not even be possible :( 01:35:19 -!- cheater_ has joined. 01:35:27 segfaults should not even be a thing that are a thing. 01:35:36 i wanted to try gpipe just to see if it was better but it didn;t compile so whatever 01:35:40 is gpipe bad 01:35:53 "It is an alternative to using OpenGl, and has the advantage that it is purely functional, statically typed and operates on immutable data as opposed to OpenGl's inherently imperative style. Another important difference with OpenGl is that with GPipe you don't need to write shaders in a second shader language such as GLSL or Cg, but instead use regular Haskell functions on the GPU data types." 01:36:04 monqy: it sounds like a really nice library that you can't use because it's stupidly unfinihed 01:36:07 "GLUT is used in GPipe for window management and the main loop." 01:36:08 lol 01:36:33 haha 01:36:36 it depends on Deewiant's trie library 01:37:30 Deewiant wrote GLUT? 01:37:33 TIL 01:37:39 yeah totally that is what i said 01:37:48 -!- cheater_ has quit (Excess Flood). 01:37:53 im attest 01:37:55 I was only paying half-attention 01:38:00 monqy: gpipe seems nice but like 01:38:12 too... experimental? I don't want to say that but 01:38:20 it seems like writing my own shader dsl thing would be a better choice 01:38:31 and the GLUT dependency is kind of silly 01:38:37 -!- cheater_ has joined. 01:38:55 monqy: how spinny r ur boxes 01:39:03 mine dont even pspin :( 01:39:07 well one of them spins and goes up and down 01:39:11 the other one goes side to side 01:39:14 without spinning 01:39:40 this is so advantacesd 01:39:48 plz impart on me, ur wisdom 01:40:25 i have a square thing that draws a square.... and i use preservingMatrix??????? 01:40:57 what is that 01:40:59 at least i hope i used preservingMatrix properly 01:40:59 -!- cheater_ has quit (Excess Flood). 01:41:05 im dont even know 01:41:25 o 01:41:31 -!- cheater_ has joined. 01:41:37 i need ur wisdom in my life 01:41:39 or i cannot opengl,ever, 01:41:54 it's like you push a new matrix onto the matrix stack and then do the action supplied as an argument and then pop the matrix off 01:42:09 so the matrix transformations done in there are nice and contained 01:42:12 wow; 01:42:16 and don't muck up the rest of everything else 01:42:17 Someone's just going to come up with some other standard tomorrow and all the OpenGL effort will have been in vain~ 01:42:21 how much does your code, cost, 01:42:29 cosT??? 01:42:33 -!- evincar has joined. 01:42:39 for access to its AMZING, POWERS 01:43:20 cosT = 1/secT 01:43:30 * elliott looks at example GPipe code... it would be kind of nice except that this static-length vector code has an ugly interface 01:43:31 -!- augur has changed nick to augur[sleep]. 01:43:43 and i dont even think its being used in a >one-d manner so........ 01:43:53 monqy: what cost,,,,,,,,,,,,,,,,,,at WHAT jcoist, 01:45:03 monqy: AT WHAT COST MONQY 01:45:07 ihhhh 01:45:08 HOW FAR WILL YOU GO 01:45:09 its fre? 01:45:27 :OOOOOOOoooooooooooooooooooooooooooooo 01:45:30 you are so generous 01:45:33 This is a wonderfully dramatic bit of the conversation to waltz in on. 01:45:37 im one day hope be as genreous as yuo 01:45:40 but this code is guly 01:45:41 WHAT WOULD YOU DOO-OO-OO FOR SOME WORKING OPENGL CODE? 01:45:49 it's like 01:45:54 monqy: im guly too,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,................... we all have our roels in theis world 01:46:03 {- GL.defineNewList GL.CompileAndExecute $ do -} 01:46:03 {- do 01:46:03 -- ??? 01:46:03 GL.color (GL.Color3 (maxBound::GL.GLbyte) maxBound maxBound) 01:46:03 {- GL.renderPrimitive GL.Lines $ do 01:46:04 GL.vertex $ GL.Vertex2 (-0.9::GL.GLdouble) 0.9 01:46:06 GL.vertex $ GL.Vertex2 (0.9::GL.GLdouble) (-0.9)-} 01:46:08 let f v = mapM_ (\(x,y,z) -> GL.vertex (GL.Vertex3 (x::GL.GLdouble) y z)) [v,(0,0,0.51),(0,0.51,0.51),(0,0.51,0),(0.51,0.51,0),(0.51,0,0),(0.51,0,1),(0,0,0.51)] 01:46:08 I have to specify whether i am using glfloats or gldoubles or it won'te even compile wTF? 01:46:11 even the comments are guly 01:46:19 monqy: well thatstzh inherent 01:46:21 I can't stop laughing 01:46:51 i forget what rotate even does 01:46:55 bsides rotate 01:47:16 monqy: ur people need youuuuuuu 01:47:19 ur people = me 01:47:44 i am cleanign upt it..... 01:47:58 finally a clean tit...................... 01:48:32 Should I leave? Are you two having a moment? 01:48:42 Three, even. 01:49:11 evincar: its,,,,,,, life 01:49:42 -!- cheater_ has quit (Excess Flood). 01:50:44 -!- cheater_ has joined. 01:50:54 -!- CakeProphet has quit (Ping timeout: 246 seconds). 01:52:31 ok i think its cleaner now?? 01:52:32 monqy: is ur upt tit,clen 01:52:35 yay 01:52:55 clearnwer...but not.....ttotaly clean.... 01:53:08 monqy: i can cleanse it,,,,,,,,,,,,,,,,,,,,,,,,, it is my duty 01:53:13 it misses out on a bit of sepearation of concern et c because it was a really quicke thing 01:53:23 anywa....heres the rendering ....of the bozxwse 01:53:25 render :: GL.GLdouble -> GL.GLdouble -> IO () 01:53:25 render width time = do 01:53:25 GL.clear [GL.ColorBuffer] 01:53:25 GL.color (GL.Color3 0 0 (1 :: GL.GLdouble)) 01:53:27 GL.preservingMatrix $ do 01:53:30 GL.translate (GL.Vector3 (100 * sin time) 0 0) 01:53:32 square width 01:53:35 GL.preservingMatrix $ do 01:53:37 GL.translate (GL.Vector3 0 (200 * sin time) 0) 01:53:40 GL.rotate (time * 100) (GL.Vector3 0 0 (1 :: GL.GLdouble)) 01:53:42 square width 01:53:45 square :: GL.GLdouble -> IO () 01:53:47 -!- cheater_ has quit (Excess Flood). 01:53:47 square w = GL.renderPrimitive GL.Quads $ do 01:53:50 vt w w 01:53:52 vt w (-w) 01:53:55 vt (-w) (-w) 01:53:57 vt (-w) w 01:54:00 vt :: GL.GLdouble -> GL.GLdouble -> IO () 01:54:02 vt x y = GL.vertex (GL.Vertex2 x y) 01:54:05 too cool for.pastebisn/ 01:54:15 Apparently. 01:54:18 -!- cheater_ has joined. 01:54:39 So, why "do"? 01:54:48 monqy: dont you have any other GL functions in the program 01:54:50 i have a lot of 01:54:52 light initialisiation 01:54:53 things 01:54:54 :( 01:54:56 elliott: that's tjuset the rendering 01:54:59 and i dont, know what to do with them 01:55:03 elliott: do you want the ienteklziaton too?? 01:55:11 elliott: because.... i have very little cloae about that either. 01:55:14 monqy: yezsjop, i am but a poor pheasant 01:55:17 with no cloaes 01:55:27 http://www.klein.com/dvk/photos/birds/golden_pheasant.jpg me 01:55:30 note lack of cloaes 01:55:44 I FEEL AS THOUGH I HAVE FALLEN IN A WORLD WHICH IS NOT LIKE THE WORLD TO WHICH I AM USED 01:55:44 it is glfw-b becase i died before porteng the sdl'e 01:56:09 evincar: you need cloaes 01:58:34 actually i guess i didn't do much initalization 01:58:36 monqy: together, we will escaepje the opengl teror 01:58:37 well 01:58:38 oh 01:58:41 a lto of it 01:58:41 none at all???????????:( 01:58:41 but 01:58:44 most is GLFW 01:58:44 im basically just 01:58:46 without a clue on anything 01:58:48 except ofr this really nasty bit 01:58:49 that starts with "GL." 01:59:08 most of the openGL initty stuff is iwthin an GLFW callbacke 01:59:18 the part that....isnt: 01:59:22 GL.clearColor $= GL.Color4 0 0 0 0 01:59:34 the part that...is: 01:59:38 GLFW.setWindowSizeCallback $ \ w h -> do 01:59:38 let size = GL.Size (fromIntegral w) (fromIntegral h) 01:59:38 GL.viewport $= (GL.Position 0 0, size) 01:59:38 GL.matrixMode $= GL.Projection 01:59:38 GL.loadIdentity 01:59:40 GL.ortho2D 0 (realToFrac w) (realToFrac h) 0 01:59:42 GL.translate $ GL.Vector3 (realToFrac w / 2) (realToFrac h / 2) (0 :: GL.GLdouble) 02:00:15 which basically means whenever you resize the window you make a new view thingy and center it???? 02:00:25 is there a ...better waY? 02:00:28 who the hell resizes windows, 02:00:31 i just use a fixed size, 02:00:47 i should do that 02:00:57 but 02:01:00 a bad thing 02:01:19 for some reason GLFW stuff stopped getting floated so it gets tiled which messes it all u;p 02:01:25 I think SDL stuff gets flaoted though 02:01:25 so 02:01:37 if i use SDL...no problem?? 02:01:50 i really should stop dieying, finish porting....myabe later 02:02:38 Myabe indeed. 02:04:21 monqy: if you give me the file i could port it to SDL,,, and then,, transform it into doing cubes, so that, eventually, my entire game would be descended from ur code............................ a once in a lifetime opportunity of lineaejge (this is total lies id probably throw it out after i got it doing cubes and then modularise it) 02:05:06 but what af its..embaraseng 02:05:24 (acause of its is.) 02:05:40 YouH ATLK TO ME ABOUT EMBARASIONEGNG.... YOU CANT ENHANDLE THE ENMAHERBSINGYLY!!!!!!!!!!!!!!!!!!!!!!!!!! LOOKE AT MY SHAME,,,: http://sprunge.us/dNeD 02:05:43 I AM TORN ASUNDER 02:05:50 THIS PRISON OF SHAME I CAN NEVER ESCAPE 02:05:56 oh god'e 02:06:28 oh right one thing i didn't like about SDL......using 1 instead of True for SDL.glSetAttribute......what? 02:07:04 oh god all the 3d stuff 02:07:11 it hurts and i am not even to the pointer pokery 02:07:21 monqy: yeah so,,, dont U tell ME about embaraseng 02:07:29 im practicaly an eorphan of gl 02:07:32 and ur denying me hot gl soup 02:07:43 the pointer pokerery is,,, an optimzioejnigatinog 02:07:56 optimzioejnigatinogs make me died 02:09:16 * elliott starts to starv,e of lack of gl soup...... my life 02:09:58 im cleanigne ite up..>? 02:10:00 -!- cheater_ has quit (Ping timeout: 255 seconds). 02:11:41 monqy: ur a vitcim 02:11:42 of society 02:12:57 -!- parcs has joined. 02:13:16 -!- parcs has left ("WeeChat 0.3.5"). 02:13:57 I have these really great functions I made 02:14:03 but I can't think of half-decent names for them 02:14:36 thing b m = b >>= flip when m 02:14:40 (and another but for unless) 02:15:16 monqy: hahahaha 02:15:19 is it really called thing 02:15:26 :( 02:15:32 monqy: did you write that just now when cleaning it up or was it actually already there 02:15:36 ?pl b >>= flip when m 02:15:36 flip when m =<< b 02:15:40 help 02:15:43 ?pl b >>= \b' -> if b' then m else return () 02:15:44 flip (flip if' m) (return ()) =<< b 02:15:50 it was already there 02:15:52 monqy: hleps, at yuoere service? 02:16:16 whjat is that 02:16:31 monqy: you asked ed for helpes 02:16:43 is that.....thing's name>???????????????????????? 02:16:54 help 02:17:16 i have to think of a half decent name right now they are thing and notThing 02:17:44 monqy: whenM? 02:17:50 i uh 02:17:52 have a conefesion 02:17:55 that was its 02:17:56 former name 02:18:01 then i changed it to thing 02:18:03 monqy: show me, a usgae, of ite, 02:18:04 when i got frustrated 02:18:06 with whenM 02:18:18 notThing GLFW.initialize 02:18:18 (fail "failed to initialize") 02:18:23 (that used to be unlessM) 02:18:41 monqy: whats wrong with just 02:18:47 GLFW.initialize >>= wh... oh right 02:18:49 -!- Fenhl has joined. 02:18:49 monqy: well um 02:18:56 monqy: I'd just have (flip when) as something 02:18:58 and (flip unless) 02:19:00 so you could say 02:19:15 GLFW.initialize >= orM $ fail "failed to initialize" 02:19:16 maybe??? 02:19:20 orM/andM 02:19:22 i dunno 02:19:40 it was that (but just (flip when) and (flip unless) no fancy names) before it was whenM 02:19:54 then i got frustrated and made whenM 02:19:58 and then i got frustrated and made thing 02:20:58 letse, ask haskel 02:21:13 #haskell? 02:21:33 What's a good name for (\b m -> b >>= flip when m)? (and the same with when -> unless). I've been using whenM/unlessM, but those are kind of ugly. 02:21:34 im become you 02:21:43 thanske youe 02:22:26 elliott, *shrug* ugly how? 02:22:26 uglier than mapM, filterM, zipWithM, etc? 02:22:28 he;lp monqy 02:23:17 takcing M onto things makes me feel bad i donte even know if whenM follows the same namethodology as those others which is part of my frustratosn :'( 02:23:29 monqy: well with those 02:23:30 :t mapM 02:23:31 forall a (m :: * -> *) b. (Monad m) => (a -> m b) -> [a] -> m [b] 02:23:32 :t filterM 02:23:33 forall a (m :: * -> *). (Monad m) => (a -> m Bool) -> [a] -> m [a] 02:23:34 :t zipWithM 02:23:35 forall a b (m :: * -> *) c. (Monad m) => (a -> b -> m c) -> [a] -> [b] -> m [c] 02:23:39 monqy: it tends to take a monadic function 02:23:45 but the actual "value" being operated on is non-monadic 02:24:26 i guese i will go back to whenM/unlessM now i feel less bad. 02:26:09 monqy: yese kmc is , convinucnging me 02:28:01 ok i think its 02:28:02 ready 02:28:39 monqy: im 02:28:40 rady 02:28:41 (mentally) 02:30:39 http://dl.dropbox.com/u/13786158/help.tar.bz2 shoulde be eit 02:30:51 kindly, compressed 02:31:29 kindley, 02:32:16 this is, a work of great beuty, 02:32:23 asterisk booty 02:32:40 i tepyed it all with ym....posteriour 02:32:50 a posteriori 02:33:04 did u modularise it, just for me, 02:33:11 im, feel so lucky, if that is, the case, 02:33:11 it was ;like that..aredly 02:33:14 o 02:33:22 <,-- not so lucky but (still apprecijoateive) 02:33:56 monqy: im, install glfw-b, to try it, 02:34:12 monqy: also, im, maybe try out that GPipe thing? 02:34:20 does it compile for you 02:34:24 im, dont know yet, 02:34:29 im try glfw-b tfrist, 02:35:07 monqy: is, its name, "help", 02:35:17 oh my gosh it is the most beautiful box display ive ever encountered 02:35:26 wowee is, the best game, 02:35:37 also it, is using all my cpu ? 02:35:55 i didnt borhter throtelying the framerate oops 02:36:07 oops, 02:36:16 next time.... 02:36:23 monqy: but, arent you meant to, like, not throttle but, 02:36:27 insetad base thing son, real time 02:36:35 that's what it does now maybe?? 02:36:41 ther'es a clocky thing 02:36:57 and it bases the rotation on that if id di d it right so many ages ago... 02:37:01 im, must resist urge, to make this game purely-functional frp 02:37:10 now, I cabal install, GPipe 02:37:21 --glabol 02:37:21 purely functional frp sounds goodis it good 02:37:23 -rw-r--r-- 1 elliott elliott 329 2011-07-24 03:06 Input.hs 02:37:26 monqy: im truly ages, 02:37:32 also, yes, FRP is, so cool, 02:38:15 the touching it on 24 was porting it glfw->glfw-b i think 02:38:22 i originally wrote it much longer ago i think 02:38:26 months.... 02:38:43 which is the ... best ... frp library 02:39:09 monqy: unfortaentounely, none of them, 02:39:10 there are too many 02:39:12 :'( 02:39:16 frp is, fraught, with problems, for, reasons, 02:39:21 reason onE, space laeak 02:39:25 oh no 02:39:32 bananabananabanana 02:39:35 reason TWo, you can avoid space leak if you avoid using functions as structure but then this become ugly........................... 02:39:46 ho no 02:39:48 monqy: luke palmer, says, that if you have al azy specialiser, you can use the obvious model and, the space leak, goes away,,,, 02:39:54 but,,, we do not have,, a lazy specialiser................................. 02:40:05 i have heard of a thing rdp was it here or ltu mayve both does it fix frps bprolems 02:40:06 NihilistDandy: is, banana, a good frp....... 02:40:13 is it even...finoished....usab.ey 02:40:21 http://hackage.haskell.org/package/reactive-banana 02:40:22 monqy: remote desktop protocol, sdoes no, fijxioaje, frp, 02:40:24 I've heard good things 02:40:28 NihilistDandy: im know, is it good, but, ok 02:40:43 reactive.....something...programming....i think 02:40:45 monqy: i think, i remember, what you are saying about, but, what was the name.... 02:41:07 demand 02:41:08 is the d 02:41:30 there was a webpage,,,but i forgrot everything it said 02:41:34 oops 02:41:46 reactive demand pugs 02:44:43 monqy: ok i, 02:44:44 installed gpipe, 02:44:46 -!- Fenhl has left. 02:44:47 how does it not, work for you? 02:44:52 it uh 02:44:53 i forget 02:44:57 i think itwas the examples 02:44:59 that didfnt'e compile 02:45:04 and i kind of 02:45:05 gave up then 02:45:07 oops 02:45:36 the 02:45:39 gpipe-examples 02:45:41 i think 02:46:12 i will try or nyou 02:46:16 cabal: unrecognised command: intsall (try --help) 02:46:19 help 02:46:24 try...install 02:47:11 What is this, Let's Do Some Haskell Whilst Intoxicated? 02:47:11 somehow gpipe-exmaples is compiling 02:47:18 monqy: me too, 02:47:21 im too young to intocixatiod 02:47:34 evincar: keayboeards are not eahsyi, stop awaviong your advatnages 02:47:37 some ouf seus have bad fngiers 02:47:57 im just too lazy to georcete myself <:( usually not here i am not as lazy 02:48:03 georcete what 02:48:07 i meant 02:48:08 correct 02:48:13 not georcete what is georcete 02:48:27 also why is the compilation of example 2 hanging i think i had this problem last time 02:48:36 and then when i tried to hand-compile them...it exploded 02:48:58 where by exploded I mean 02:48:58 it is, hangging for me, too, not, reassuring 02:48:59 didn't work 02:49:08 lets, find out whats in the box 02:49:16 * elliott looks at, the box 02:49:23 oh my god 02:49:28 monqy: look at demonHead :: [CUChar] 02:49:34 it's a fucking gigantic list 02:49:35 demonHead 02:49:39 look at it 02:49:41 og hod 02:49:42 get gpipe examples and just look at it 02:49:43 the second one 02:49:48 jesus 02:49:55 who thought that wwas a good idea 02:50:07 ogh od 02:50:23 * elliott control c 02:50:25 poor 02:50:27 ghc 02:50:29 monqy: gpipe examples, bad examples, 02:50:31 but maybe gpipe, not bad, 02:50:33 but 02:50:37 foo :. bar :. () 02:50:38 bad, because ugly, 02:50:45 yeah i dislike it too 02:50:45 but maybe, wrappable 02:50:49 why does it a thing 02:50:55 monqy: static-length vectors at compile time 02:51:07 im look here for goodneess: http://www.koonsolo.com/news/dewitters-gameloop/ 02:51:24 where there 02:51:37 im "Constant Game Speed independent of Variable FPS" looks good 02:51:44 monqy: it is, continuation, of famous, article baout game loops, 02:52:16 monqy: im, try porting help, to sdl, 02:52:32 good;e lucke 02:52:37 -- windopening 02:52:40 i like, your comnets 02:52:41 why do i het e at the end of words helpe 02:53:12 hitting e at the end of words is the worse t reflesx 02:53:17 or...... 02:53:19 the BEST???? 02:53:35 http://hackage.haskell.org/packages/archive/SDL/0.6.2/doc/html/Graphics-UI-SDL-Time.html 02:53:37 should,,, i use this, 02:53:48 is it 02:53:49 a godo thing 02:53:55 "SDL_GetTicks() tells how many milliseconds have past since an arbitrary point in the past. 02:53:56 " 02:54:00 maybe???? 02:54:34 better than getcpu time maybe since word32 more fficient than Integer milliseconds more eficient than picosecodns help?? 02:54:38 , GLFW.displayOptions_numAlphaBits = 8 }) 02:54:40 thats not, bit depth right, 02:54:42 just alpha bit depth, 02:54:48 alpha bit depth 02:54:50 yes 02:54:53 i thingk 02:54:54 at least 02:56:31 -- using angle for things other than rotation like a TOTAL LOSER 02:56:32 oh 02:56:40 i 02:56:43 didn't kwnoe 02:56:45 what todoo 02:56:49 so i had to 02:56:51 discipline myself 02:56:52 in coments 02:57:01 im dont like how you leave a blank line after all your imports 02:57:02 ;_; 02:57:17 like, so there is, 02:57:19 two blank lines before code, 02:57:40 i usually do double-blank to sepearte sections of code (and a single blank to sepearate different things in the same section) 02:57:52 so i group imports/definitions/whateverelse like this 02:58:03 im think that, more than two blank lines, is a bad thing, probably, 02:58:07 you could do the GNU thing, and use form feed, 02:58:25 and for big monadic actions with do notations i pepper blank lines throguhout them since there are lots of different things happened 03:00:06 what is this 03:00:07 gnu theng 03:00:27 Did you mean: 03:00:28 Nu THAng 03:00:28 GUn THIng 03:00:30 I can't remember if this came from this channel 03:00:30 helep 03:00:30 http://www.reddit.com/r/explainlikeimfive/comments/j4ohk/explain_the_pnp_problem_li5/ 03:00:39 monqy: GNU metal 03:01:24 i do not feel comfortable with form feeds 03:01:25 they are 03:01:27 too powerful 03:01:37 monqy: ok, im, almost done convertheing it 03:02:12 is it 03:02:14 beaugtufle 03:03:51 monqy: more, beautifuler, 03:04:09 this makes me hapey 03:04:36 monqy: also I think, most people use GLfloat, rather than GLdouble, 03:04:45 oh 03:04:47 is glfloat 03:04:48 better 03:04:54 monqy: also i take it, your things are all separate IORefs, because of glfw, 03:05:00 yes 03:05:01 :( 03:05:05 you should, probably use ReaderT, with MVars, 03:05:11 probalby, 03:05:19 I, can do that, since I am also, going to use that 03:05:34 aslo i was using float last time but then if reaked out and changed it to double but why 03:05:42 what is theta, 03:05:43 sometimes i am bad at reasons 03:05:56 theta is a lot of thjings 03:06:07 also, I do not quite understand, this theta stuff 03:06:10 oh game loops 03:06:13 um 03:06:15 game busyloops 03:06:15 lol 03:06:21 yeah :( 03:06:36 theta was the rotation angle but then other stuff happened 03:06:38 like translation 03:06:39 For the sake of curiosity, whose mannerisms are you mimicking right now? 03:06:42 and 03:06:46 NihilistDandy: ours 03:06:57 it became averything 03:07:05 Oh, fun. 03:07:10 monqy: its ok, im going to, give it a proper game loop 03:07:12 lovingly 03:07:16 bye bye, quitter thing, 03:07:20 bye bye 03:07:23 i will not, miss you 03:07:48 monqy: so what is theta exactly 03:07:52 just like 03:07:53 a game counter 03:07:56 ther eis no exact meaning 03:07:58 at this point?? 03:08:02 it's like ticks isn't it 03:08:03 check render for usage 03:08:04 and do you like 03:08:06 ok 03:08:08 no ticks goes in time 03:08:14 er 03:08:16 modifyIORef theta (+ (delta * 10)) 03:08:17 time goes in time 03:08:19 check render for ticks 03:08:21 does theta ever decrease 03:08:32 no 03:08:34 monqy: ok so basically time is time, theta is ticks, which happen to be used as angle 03:08:37 right??///// 03:08:44 maybe?? 03:08:55 you see im, not sure why you have a time ioref, 03:09:00 because you only read it directly after writing it 03:09:04 i kind of 03:09:05 forget 03:09:06 why 03:09:08 i have it 03:09:10 oops 03:09:13 oops 03:09:37 maybe it s historical cruft i never removed 03:09:38 probalby 03:09:41 this is my answer 03:12:11 SDL_GetTicks -- Gets the number of milliseconds since SDL library initialization. 03:12:22 least helpful thing ever but ok 03:12:28 probably better than getCPUTime or whatever i used 03:14:39 elliott: How is that unhelpful? 03:14:47 too, arbaojrbtary, 03:14:49 I stopped paying attention because of your shenanigans. 03:14:55 our shannigans 03:14:56 are good 03:14:57 ok 03:14:57 racist 03:15:19 You're the first one to say anything about race. Now who's the racist? 03:15:23 raciest 03:15:26 monqy: also, does your key stuff trigger on key up, or key down 03:15:30 Mrowr. 03:17:16 monqy: also, you indent, by one too many spaces, 03:17:18 :( 03:18:14 im back. hi 03:18:22 monqy: how many ticks per second do you do, 03:18:23 i cannot figure it out, 03:18:35 uhhhhhhhhhhhhhhhhhhhhhhhhhhhh 03:18:52 Fixed frame rates make me sad. 03:19:09 i think it triggers on key down i think 03:19:23 or while the key is held down 03:19:24 or something 03:19:37 as for ticks per second, uhh, what's a tick 03:19:47 monqy: your, delta thing 03:19:53 oh 03:19:53 evincar: frame rate =/= tick rate 03:20:08 evincar: unless you like the world running at different speeds on different computers? 03:20:37 delta is the number of seconds since the last whatever, i think?? why did i convert to seconds??? i don't know???? 03:20:43 monqy: uh I mean theta 03:20:46 oh 03:20:47 how many times does theta increase per seconds 03:20:50 per second 03:20:56 uhh 03:20:56 oh 03:20:58 ten times per second? 03:21:01 modifyIORef theta (+ (delta * 10)) 03:21:12 the number of times it increases per second is machine-dependant 03:21:12 but 03:21:18 the amount it increases per second 03:21:21 is 10 i think 03:21:27 i hope 03:21:43 i probably 03:21:44 uh 03:21:47 screwed it up somewhere 03:21:49 right 03:22:00 (ages ago) 03:22:34 ugh why are all these things iorefs stop being iorefs 03:22:42 :t whileM 03:22:43 Not in scope: `whileM' 03:22:45 monqy: im making them MVars, 03:22:50 MVars are nice, they are, concurrency-friendly 03:22:52 ?hoogle whileM 03:22:53 No results found 03:22:59 whats' whileM 03:23:03 Cannot be true 03:23:04 huh whileM is not a stock thing 03:23:16 MVar sounds nice..is TVar the STM thing..is it nice too.. 03:24:03 @hoogle IfElse 03:24:03 No results found 03:24:42 is whileM like..... forever.... but guarded by a when 03:24:44 except 03:24:46 different 03:24:48 because 03:24:51 it's not when 03:24:51 it's 03:24:54 uh 03:24:59 something more like whenM?? 03:25:46 start <- SDL.getTicks 03:25:47 SDL.delay (ticksPerSecond * millisecondsPerSecond) 03:25:47 end <- SDL.getTicks 03:25:47 forM_ [0 .. (end - start) `div` ticksPerSecond] $ 03:25:47 im good practices,,,,, 03:26:02 monqy: the only gamestate you have is the ticks increasing isn't it 03:26:03 haha 03:26:11 :'( 03:26:24 it was not a real game it was a 03:26:25 uh 03:26:30 i forget what it was 03:26:31 oh right 03:26:48 it was like a hello world 03:27:03 something to get me started with opengl so i could make something decent out of it 03:29:09 except 03:29:15 with a badloop and iorefs 03:29:18 instead of hello world 03:31:25 with actual type `GHC.ForeignPtr.ForeignPtr SDL.SurfaceStruct' 03:31:25 Expected type: IO () 03:31:25 Actual type: IO SDL.Surface 03:31:31 monqy: SDL, leaked my things, i did not, want to know :( 03:31:47 what is that :( :( :( :( (: 03:31:54 SDL.Surface's real identity :( 03:31:59 also il like the smile at the end 03:34:09 monqy: i dont like how some of the mVar functions want me to use IO too :( 03:34:19 maybe monad stacks, are bad, 03:34:26 monad stacks...:( 03:35:22 ?hoogle mask 03:35:23 No results found 03:35:28 mask? 03:35:30 monqy: but, i thought you disliked glfw, because callabcks in io, 03:35:43 mask :: ((forall a. IO a -> IO a) -> IO b) -> IO b 03:35:44 oh 03:35:45 callbacks in io are gross too :( 03:35:55 what does mask do 03:36:05 oh 03:36:13 callbacks in io are gross too :( 03:36:14 whats not gross 03:36:22 hgel p i i dopnt knwo :_; 03:36:23 thats the true question :( 03:36:36 maybe if 03:36:38 (magic here) 03:37:03 which is why not being gross .... maybe needs a new language?? 03:37:16 monqy: its probably frp :P 03:37:31 probalby 03:37:50 maybe banana is good 03:38:13 i have never tried any of them because i was too busy freaking over not knowign which to use 03:38:14 is i said! 03:38:51 i bet...conal doesnt like banan 03:39:14 oh no 03:39:49 -!- MDude has changed nick to MSleep. 03:40:04 i am looking at this list and iwll a comment on each of them 03:40:12 conal, wouldnt like any of them, :( 03:40:16 he would say, they are, not the true path, 03:40:48 did conal not have a hand in making a few of them 03:41:01 or did he hate that too 03:41:34 conal elliott fruit 03:41:38 Google it 03:41:54 He's all over FRP, it seems 03:42:08 NihilistDandy: i know 03:42:09 didn't everyone knew that 03:42:11 Also, fruit leather, apparently 03:42:19 but on his blog, he is all, 03:42:22 "oops, it is all the wrong path," 03:42:24 I'll bet you didn't know *that* 03:42:25 and then eh is like 03:42:32 "hey luke palmer,,, what u r doing is good" and i am like 03:42:36 but we dont have that compiler yet................ 03:42:38 :( 03:43:05 :( 03:43:16 (: 03:43:24 Turn that frown upside down 03:43:32 monqy: now, it has, 03:43:33 blackness, 03:43:39 oh 03:43:45 monqy: i think it is painting once ever y second 03:43:45 blac kense 03:43:49 oops? 03:43:50 ??>? 03:43:52 ? 03:44:00 SDL.delay (ticksPerSecond * millisecondsPerSecond) 03:44:01 oh, 03:44:52 NihilistDandy: Don't you mean "turn that frown 180 degrees, or mirror it horizontally"? 03:45:18 :( upside-down is, y'know, :(. 03:45:25 monqy: oh my god yuou have to see what i have created 03:45:28 Approximately. 03:45:29 it is hilarious 03:45:37 elliott: i want/need to see it 03:45:47 elliott: where is it 03:45:57 -rwxr-xr-x 1 elliott elliott 14M 2011-08-02 04:44 help 03:46:00 how can i get this to you......... 03:46:04 If you mirror it horizontally, it's still a frown 03:46:07 source fiels??? 03:46:12 What I really mean is "transpose that frown" 03:46:14 monqy: but then you could, figure out, the hilarity,... 03:46:22 :( -> (: 03:46:22 i will not look,,,untill i see 03:46:34 a...conandrum? 03:46:46 ok, 03:50:08 og hod whats hapenming 03:50:13 monqy: love, 03:50:31 it is going faster than my head can understand it 03:50:35 Transposition sounds hella painful on your face. 03:50:44 monqy: its not going fast 03:50:46 its actually going too slow 03:50:51 its painting the screen really slowly 03:50:52 what 03:50:55 i 03:50:56 like 03:50:58 ten times a second only 03:51:01 or something 03:51:04 so it's really jerky 03:51:12 evincar: Morphine heals all wounds 03:52:02 oh wtf 03:52:23 it segfaulted when i ^C it help 03:52:37 ok its going about 10000 ticks per second lmao 03:52:39 erm per real tick 03:52:41 monqy: um 03:52:42 dunno 03:53:01 oh 03:53:03 now the boxes just sit there... 03:54:18 monqy: soon, it will be rperfect 03:54:50 umm 03:54:57 what's (ten ticks per second) in (milliseconds per tick) 03:55:01 help, 03:55:16 100 03:55:24 thank you, 03:56:58 monqy: ok it is, a bit better, 03:57:01 i am going to make it even better, 03:57:13 :o 03:57:36 SDL_AddTimer -- Adds a timer which will call a callback after the specified number of milliseconds has elapsed. 03:57:36 oh 03:57:38 sdl has real timer things 03:57:44 are they 03:57:45 good 03:57:49 These are all things I could've told you. :P 03:57:54 only one way to fihgtn out 03:57:57 Yes, they work fine. 03:58:03 where are they in the haskell bindgfindignins...... 03:58:08 and do they force using io 03:58:11 (my bett: yes) 03:58:23 But I quit using them for the most part when I switched to variable-frame-rate games. 03:58:32 The timer callback function may run in a different thread than your main program, and so shouldn't call any functions from within itself. However, you may always call SDL_PushEvent. 03:58:33 ugh 03:58:44 evincar: as i said, frame rate =/= tick rate 03:58:57 I know, that's why I said "for the most part". 03:59:50 I don't often have a world that needs stuff that updates every so many milliseconds. 04:00:14 I prefer to construct things from in-world objects that all run in the same timeline. 04:00:23 monqy: i have, a plan, 04:00:54 evincar: so how would you handle, say, a crate dropping downwards at a rate of one metre per second 04:01:41 seconds are slow on my computr...e 04:01:50 or metres are biger 04:01:55 Drop the crate each frame by an amount proportional to the current actual framerate. 04:02:00 or smaler 04:02:01 or 04:02:03 soemthinger 04:02:31 Because chances are the current frame is going to take about as long as the previous one, and if it doesn't, oh well. 04:02:47 The effects of local time discontinuities aren't my concern. 04:02:57 As long as the rendering is smooth and predictable-ish. 04:03:26 "and if it doesn't, oh well" 04:03:39 cool, so on slow computers, your game's physics break 04:03:41 cool 04:03:43 Nope. 04:03:49 You just can't predict the future. 04:03:52 That's all. 04:03:59 And you shouldn't try. 04:04:05 what 04:04:12 what;e 04:04:12 MY DETERMINISM 04:05:13 Time begins. First frame is rendered. Time has elapsed. Next frame is rendered based on elapsed time. 04:05:28 That's all I'm saying. 04:05:39 that's basically what i did for my dumb boxes hello world i think?? 04:06:00 The most recently rendered frame always expresses the correct view of the instant in time it began rendering. 04:06:33 But the frames are only predictably far apart insofar as the objects in the world behave more or less the same each frame. 04:07:16 So introducing many objects might drop my simulation from 110 to 100, but it's still well above the target threshold. 04:09:32 im thinking im liking the fixed tickrate with variable framerate thing thouhg it sounds nice 04:09:42 or whatever it was 04:09:56 all I want is an SDL_Delay that breaks when an event happens 04:10:02 does such a thing exist 04:10:12 uhhhh 04:10:15 i;ve no clue 04:10:18 i geuss i could use threads 04:10:34 one thing I Remember hating about handling events and stuff is 04:10:36 handling events and stuff 04:10:55 I forget the speciifcs 04:11:24 monqy: yay this is working-ish now 04:11:35 wooho 04:11:44 whats the -ish mean is it bad 04:12:09 i imagine frp would hekp with the evcent handline nightmares 04:12:12 well it's really jerky and still uses all the cpu 04:12:19 elliott: No such thing exists exactly in SDL. 04:12:28 :(: :(* :(* :( 04:14:39 help: user error (RTS doesn't support multiple OS threads (use ghc -threaded when linking)) 04:14:41 evincar: im dum 04:14:42 oops 04:14:43 i mean monqy 04:14:51 oops 04:15:10 does that 04:15:11 fix it 04:15:12 good 04:17:37 * quintopia climbs up the event handline 04:18:44 monqy: it is, getting good, 04:18:54 yes.....sssss 04:19:55 monqy: but, there is bad things, with your modules, 04:19:59 i think, maybe, 04:20:01 hmm, probably not 04:20:03 oopse. 04:20:04 oh. 04:20:08 oopse?? 04:20:46 also 04:20:47 resizing 04:20:49 segfaults it?? 04:20:59 i think what happens is 04:21:00 like 04:21:04 all the resizing handling happens 04:21:07 while the stuff is drawing... 04:25:16 evincar: anyway, I don't see how you can do a decent framerateless game without either using all the CPU or blocking all events 04:25:40 eating all the CPU because you're effectively busylooping, or blocking all events because you're sleeping to keep a maximum framerate 04:28:48 Just throw a minimal SDL_Delay in the otherwise busy loop so the game can switch out. You do get an artificially imposed maximum frame rate, but you also don't use all of the CPU. 04:29:10 And said maximum rate is still rather high. 04:30:24 It has more graceful degradation than a fixed frame rate, at least. 04:31:17 With frame dropping, you jump in whole fractions of your frame rate. 04:31:39 so events are only processed at your constant frame rate. 04:31:54 unless you handle events in another thread 04:33:31 monqy: ti still segfaults :( 04:33:36 :'( 04:33:46 how do you mange to segfault...haske.L?? 04:33:51 with opengl 04:33:56 <:I 04:34:01 did you 04:34:03 poke 04:34:04 peointers 04:34:05 no 04:34:10 monqy: should i, port this, to gpipe, 04:34:22 maybe that is 04:34:23 the ultimat esolution 04:34:24 is gpipe,,,,,,,,owrking-good??? 04:34:28 maybe it is 04:34:33 there is only one way to find out,,,,,,,,, 04:34:58 an good idea???/ 04:35:15 monqy: im will maybe make this less ugly first though... 04:35:22 ok 04:38:31 monqy: with 04:38:32 MY 04:38:32 MAGIC 04:39:03 what did You DO 04:39:31 did you bananana it .... 04:40:06 no, 04:41:36 monqy: apart from the segufalts inthis is better... 04:41:55 sounds like a good 04:42:27 huh, gpipe is a bit old 04:42:31 last updated september 04:46:31 monqy: what if... I gave you this current code, and in the process of fixing it, turned it into my game instead, rather than fixing yours....... 04:46:32 would that be bad 04:47:18 its fine i'll just pry out the stuff i want 04:47:37 it's not like i need the spinny boxes 04:47:52 just a starting point from which to make amazing 04:48:43 monqy: oh,,, but,,, my game's source code is not released,,,,, until it is completely done 04:49:07 oh.., 04:49:14 what about 04:49:17 jus t part of it 04:49:26 or how long will it take to 04:49:27 ok,,,maybe 04:49:29 completely done 04:49:32 a long time 04:50:20 ;----; 04:50:31 evincar: Anyway, another problem with your approach is that you effectively do have a fixed tick rate: the precision of your OS timer. 04:50:51 And if you're afraid of floats like right-thinking people, you have to pick a fixed tick rate. 04:51:30 floats scare me dead 04:52:31 elliott: Alright, so it's fixed-ish. My current game varies by about 30fps, broadly, depending on load. 04:52:50 The point is that it does so without my intervention or imposition of a specific upper bound. 04:53:12 And it does it more gracefully than dropping frames. 04:53:17 evincar: No, but the specific bound is right there, it's just hidden. 04:53:22 Nobody's proposing frame-dropping. :p 04:54:02 I'm just saying that a few sleep calls let you use an int for the ticks rather than an ugly float, provides greater consistency, and reduces CPU usage immensely. 04:54:55 I am sleeping. It doesn't bog the CPU. And if I really cared about avoiding floats, I'd use a fix. 04:55:06 If you're sleeping, then you have a fixed tick rate. 04:55:46 Approximately. Maximum. 04:56:30 Sleeping alone isn't the way to handle frame timing. 04:56:38 I hope you're not saying that. 04:57:30 Of course not. 04:57:39 start <- SDL.getTicks 04:57:39 SDL.delay (millisecondsPerSecond `div` ticksPerSecond) 04:57:39 end <- SDL.getTicks 04:57:39 return $ (end - start) `div` (millisecondsPerSecond `div` ticksPerSecond) 04:57:43 That's the obvious way to do it. 04:57:49 (getTicks returns in milliseconds.) 05:01:50 Haskell doesn't have a wait function in it's standard library? 05:02:09 Yes. 05:02:14 @hoogle Int -> IO () 05:02:15 Control.Concurrent threadDelay :: Int -> IO () 05:02:15 System.Console.Editline.Readline setCompletionQueryItems :: Int -> IO () 05:02:15 System.Console.Editline.Readline setEnd :: Int -> IO () 05:02:16 -!- GreaseMonkey has joined. 05:02:17 But I'm using SDL's because, I don't know, it must be better. 05:02:49 It doesn't have particularly good guarantees. 05:03:03 Well, that's why I use it resiliently. 05:03:11 It's impossible to have good guarantees with traditional OSes. 05:03:15 10ms is the best it promises for minimum delay, but in practice it varies a lot platformwise. 05:03:41 And 10ms is also the minimum resolution it promises. 05:03:52 > 1000/60 05:03:53 16.666666666666668 05:04:15 No wonder why 60 FPS is so hard to maintain without feedback... 05:04:49 evincar: That's still enough for more thanenough fps. 05:04:51 [asterisk]than enough 05:06:02 monqy: it sads me that gpipe depends on glut :( 05:06:42 sads me too:(((( 05:07:11 elliott, I had to put a timing loop on the wait command for it to be reliable 05:07:14 i wonder what gpipe does..internally...if it would be a good idea to use that as a starting point...formaking something.. better 05:07:40 s/put a timing loop on/add timing code to/ 05:07:41 monqy: it just does opengl :P 05:07:45 monqy: but there's a lot of code 05:07:50 yes but in what manner 05:07:57 OpenGL can sync FPS for you? 05:08:28 @hoogle Int -> IO Int 05:08:29 System.Console.Editline.Readline complete :: Int -> Char -> IO Int 05:08:29 Control.Exception evaluate :: a -> IO a 05:08:29 Control.OldException evaluate :: a -> IO a 05:08:44 Strange that there's no wait command that returns the actual time waited. 05:09:19 > a / b = a `div` b 05:09:19 : parse error on input `=' 05:09:49 monqy: what do you mean 05:10:05 elliott, how would you write a sync loop with OpenGL? 05:11:27 elliott: i mean if gpipe screws some things up maybe a modified gpipe with better things would be better??? or would it be better to start with opengl?? 05:11:56 Lymee: ? 05:12:05 monqy: i dont like, forking things, because always worse than rewriting, 05:12:18 :( 05:13:35 elliott: All of my well-intentioned branch-rewrites turn into "fuck this, I'll do it from scratch". 05:15:16 @hoogle a -> b 05:15:16 Unsafe.Coerce unsafeCoerce :: a -> b 05:15:16 Prelude ($) :: (a -> b) -> a -> b 05:15:17 Prelude ($!) :: (a -> b) -> a -> b 05:15:37 :t undefined 05:15:38 forall a. a 05:15:57 :t \x -> undefined 05:15:57 forall t a. t -> a 05:16:30 monqy: im going to backup this code as-is, port it to GPipe, then maybe see about reactive-banana???? 05:16:30 -!- jimtendo has quit (Read error: Connection reset by peer). 05:16:31 but ugh glut 05:16:34 -!- jimtendo_ has joined. 05:16:57 is there any way to remove glut from gpope 05:17:02 yes by modifying it 05:19:26 :t (,,) 1 05:19:26 forall t b c. (Num t) => b -> c -> (t, b, c) 05:19:43 monqy: lol.... i commented on the initial gpipe submission a year ago 05:19:53 Eh? 05:19:54 you did??? 05:19:56 but i...forgot.... 05:20:00 monqy: yes.......... http://www.reddit.com/r/programming/comments/9qrl5/gpipe_a_functional_graphics_api_for_programmable/c0e0vmo?context=1 05:20:01 * elliott famous 05:20:05 got an whole two points 05:20:06 was it a good comment a wise comment 05:20:10 Is there a way to get any arbitrary Num from "1"? 05:20:22 :t 1 05:20:22 monqy: it was an anti-bonch comment so yes... 05:20:23 forall t. (Num t) => t 05:20:25 Lymee: What? 05:20:32 :t (,,) 1 05:20:32 forall t b c. (Num t) => b -> c -> (t, b, c) 05:20:35 who's bonch he looks like an awful person 05:20:39 he is 05:20:43 he's an anti-haskell spammer 05:20:54 and also just a generally awful person 05:20:57 hwo can people b.e.... anti-haskelle 05:21:01 full of hatred and death 05:21:11 monqy: "Derp malloc is fast" 05:21:21 * elliott read shis user page 05:21:24 ok now he is anti-idra 05:21:24 who is 05:21:26 some starcraft playe 05:21:27 r 05:21:47 "Because the number of people using something determines its quality. Also, Britney Spears is a superior artist to Mozart because more people are listening to her songs than Mozart concerts." --bonch 05:21:49 "Haskell is a niche language nobody uses but a small cabal of Reddit users." --bonch 05:22:04 -!- jimtendo_ has quit (Ping timeout: 252 seconds). 05:22:31 Therefore PHP > Haskell? 05:24:01 -!- evincar has quit (Quit: Presumably!). 05:24:02 wut 05:24:07 Therefore "hey id like to make thsi computer thing" > Haskell. 05:25:08 "The first parameter is the primitive type (currently Triangle, Line or Point)" 05:25:13 monqy: canat use quads :( 05:25:27 what about trianglestrips 05:25:43 yes there is that.... 05:25:50 my amazing secret project only needs trianglestrips 05:25:58 oh wait hmmmm 05:26:01 monqy: is it TriangleCraft 05:26:38 it's hard to describe 05:27:24 monqy: there is also, LineStrip, LineList, TriangleList, TriangleFan 05:27:27 also describe it :{ 05:28:07 special-purpose graphics libary for my purposes only which draws everything in a special way using trainglestrips 05:28:29 monqy: what about TriangleFans....... my test code uses TriangleFans because fast?? 05:28:44 monqy: and i will assume it's a minecraft clone until proven otherwise :P 05:29:33 1) maybe i actually want trianglefans I should actually do some reasearching on what these things do 05:29:49 monqy: with trianglefans you can draw a cube with only like 05:29:57 let f v = [v,(0,0,0.51),(0,0.51,0.51),(0,0.51,0),(0.51,0.51,0),(0.51,0,0),(0.51,0,1),(0,0,0.51)] 05:29:59 let xs = f (0,0,0) ++ f (0.51,0.51,0.51) :: [(GL.GLfloat,GL.GLfloat,GL.GLfloat)] 05:30:02 not many elements................. 05:30:05 2) it is for me making things involving graphics and it might end up 2d only and it would probably be totally inappropriate for minecraft clones 05:30:14 A triangle fan is a primitive in 3D computer graphics that saves on storage and processing time. It describes a set of connected triangles that share one central vertex (unlike the triangle strip that connects the next vertex point to the last two used vertices to form a triangle). 05:30:28 monqy: if you're just doing two dimensional i'd use sdl and save all the hassle 05:30:49 monqy: looks like triangle strips are the fastest thing 05:31:03 does sdl do trianglestirps 05:31:16 im not good at this 05:32:15 monqy: no.................but you could code them 05:32:18 sdl just does blitting basically :P 05:32:30 The cube is defined in model-space, i.e where positions and normals are relative the cube. We now want to rotate that cube using a variable angle and project the whole thing with a perspective projection, as it is seen through a camera 2 units down the z-axis. 05:32:35 help gpipe tutorial is hurting me hlep 05:33:04 If you pass vertex data designed for GL_QUAD_STRIP to a GL_TRIANGLE_STRIP, it'll draw it just fine, IIRC the vertex ordering works like that. The hardwares only draw triangles anyway. 05:35:04 translate :: (Transpose m mt, Reverse' () mt (v' :. t), Reverse' (v' :. ()) t v'1, Transpose v'1 m, Num v', Num a, Snoc v a v') => v -> m -> m 05:35:05 90% of bonch is apparently bitching about the lack of Starcraft content in /r/starcraft 05:35:08 How cute 05:35:09 help 05:35:38 help help help 05:36:10 help 05:36:15 ;__; 05:36:39 monqy: this is compmpalitcated 05:36:56 (And I would suppose a triangle fan is the fastest primitive when your faces happen to be in a fanlike configuration.) 05:38:25 elliott: help how to help help 05:38:38 elliott: what's even hgapp[ening haelp 05:40:28 Context reduction stack overflow; size = 21 05:40:28 Use -fcontext-stack=N to increase stack size to N 05:40:30 help 05:40:35 qhwats that 05:40:36 helwp 05:41:52 also would it be reasonably efficient to base my whatever on whatever sdl does to do triangles if that would be simpler 05:42:07 or i guess i could use quads if that would be simpler?? 05:42:33 elliott, don't you need two triangle fans to draw an cube? 05:43:53 Lymee: i dont know 05:43:58 monqy: sdl doesnt do anything to do triangles 05:44:05 monqy: you literally blit arrays of pixels to the screen that' sit 05:44:08 it's totally software-based 05:44:20 :( 05:44:46 elliott, can you draw two parallel surfaces with a triangle fan? You'd need two corner shaped ones, right? 05:44:52 im doing sauqraes 05:44:53 well you can use its window-handling functions in conjunction with OpenGL 05:45:06 > transform angle (width:.height:.()) (pos, norm, uv) = (transformedPos, (transformedNorm, uv)) 05:45:07 > where 05:45:07 > modelMat = rotationVec (normalize (1:.0.5:.0.3:.())) angle `multmm` translation (-0.5) 05:45:07 > viewMat = translation (-(0:.0:.2:.())) 05:45:07 > projMat = perspective 1 100 (pi/3) (fromIntegral width / fromIntegral height) 05:45:07 > viewProjMat = projMat `multmm` viewMat 05:45:07 : parse error on input `=' 05:45:08 : parse error on input `=' 05:45:08 : parse error on input `=' 05:45:08 : parse error on input `=' 05:45:08 : parse error on input `=' 05:45:09 > transformedPos = toGPU (viewProjMat `multmm` modelMat) `multmv` (homPoint pos :: Vec4 (Vertex Float)) 05:45:09 : parse error on input `where' 05:45:11 : parse error on input `=' 05:45:12 > transformedNorm = toGPU (Vec.map (Vec.take n3) $ Vec.take n3 $ modelMat) `multmv` norm 05:45:13 : parse error on input `=' 05:45:14 halp monqy 05:45:16 coppro: duh 05:45:18 oh god lambdabot 05:45:19 helpe 05:45:27 lol 05:46:06 elliott: thats gpipe? whats it doing 05:46:15 monqy: i dont know........ 05:46:19 transforming a cube 05:46:23 elliott, that type definition scares me. 05:46:24 BUT NOT IN A SIMPLE WAY 05:46:31 Lymee: there's no type definition there. 05:46:37 I mean the one you posted. 05:46:43 oh 05:46:44 right 05:46:46 yeah 05:46:48 the hellish monad stack? 05:46:51 no 05:46:56 translate :: (Transpose m mt, Reverse' () mt (v' :. t), Reverse' (v' :. ()) t v'1, Transpose v'1 m, Num v', Num a, Snoc v a v') => v -> m -> m 05:46:58 Is it considered good practice to leave out type definitions when they get like that? 05:47:00 oh 05:48:18 Lymee: The first vertex is shared among all triangles of the triangle fan, so you definitely can't draw a cube with a single fan; it can't draw any of the faces that don't touch the corner you start from. Drawing a cube with two starting from opposite corners sounds possible, though. 05:48:49 drawing a cube with a triangle strip is easier 05:49:03 Lymee: I would think it would be *worse* practice to leave them out if they got like that 05:49:27 Oh? One strip to go "around" the cube, and then the top and bottom separately? 05:49:37 no 05:49:42 one strip period 05:49:57 sdl-gfx has trangles maybe i think. would it maybe help me maybe 05:50:03 some vertices have to be repeated either way 05:51:16 Is it considered good practice to leave out type definitions when they get like that? 05:51:21 it probably won't even be inferred with that 05:51:30 but yeah, no, it'd be worse 05:51:34 erm, maybe it can't be done with one strip. maybe it still needs two. 05:52:05 i tried 05:53:41 :1:24: 05:53:41 Couldn't match type `CPU m0' 05:53:42 with `(Float :. (Float :. (Float :. (Float :. ())))) 05:53:42 :. ((Float :. (Float :. (Float :. (Float :. ())))) 05:53:42 :. ((Float :. (Float :. (Float :. (Float :. ())))) 05:53:42 :. ((Float :. (Float :. (Float :. (Float :. ())))) :. ())))' 05:53:44 help 05:54:00 Those are some wonderful types you have there. 05:54:05 fizzie: its Vecs fault 05:54:13 ......................................... 05:54:25 That is a joke right 05:54:49 :. = two tuple? 05:55:09 (Float :. (Float :. (Float :. (Float :. ())))) = four tuple? 05:55:42 Why isn't that ((Float,Float,Float,Float),(Float,Float,Float,Float),(Float,Float,Float,Float),(Float,Float,Float,Float)), or something similar with an alias for (Float,Float,Float,Float) defined? 05:55:46 its Mat44 ghc just sucks at types 05:55:50 and because vectors are more general 05:57:49 You can map over them and everything. 05:58:39 elliott: Maybe you could steal a page from C++'s book, and implement a STLFilt-like tool ("VecFilt"?) to shorten those error messages. 05:58:55 :-) 05:59:12 fizzie, how would you map over a structure (a :. b) 05:59:37 In particular, check if one of them is a list? 05:59:40 Does Haskell let you do that? 06:00:03 what? 06:00:03 Lymee: http://hackage.haskell.org/packages/archive/Vec/0.9.8/doc/html/Data-Vec-Base.html#t:Map 06:00:32 Lymee: What, you mean like ([a] :. b)? Well, you'd define a function on ([a] :. b)... 06:01:11 monqy: im cry 06:01:32 elliott: ;_+; 06:01:38 elliott: whats hapen 06:05:10 -!- pikhq has quit (Ping timeout: 250 seconds). 06:05:11 monqy: gpipe types, are hard, 06:05:40 :( 06:06:36 monqy: but i am, persevering 06:06:45 because it would be totally cool if all of my game could be purely-functional 06:07:34 ok ive got this from the article 06:07:37 transform :: Float -> Vec2 Int -> (Vec3 (Vertex Float), (Vec3 (Vertex Float),c)) -> (Vec4 (Vertex Float), (Vec3 (Vertex Float), c)) 06:07:39 now to make it proper... 06:08:01 -!- derrik has joined. 06:08:12 -!- TeruFSX has quit (Read error: Operation timed out). 06:10:11 -!- pikhq has joined. 06:16:27 asdpogidgjofkhljdpoghklm 06:16:34 monqy: this is complicated :( 06:16:48 like in this tutorial... 06:16:51 they're doing cubes like 06:16:56 PrimitiveStream Triangle (Vec3 (Vertex Float), Vec3 (Vertex Float), Vec2 (Vertex Float)) 06:16:59 positions, normals and uv-coordinates 06:17:07 and im just like.................. how do i draw a square 06:17:46 * elliott looks at gpipe-examples insetad 06:17:49 triangle :: PrimitiveStream Triangle (Vec3 (Vertex Float)) 06:17:50 triangle = toGPUStream TriangleList $ 06:17:50 [ (-0.8):.0.8:.0.0:.(), 06:17:50 0.8:.0.8:.0.0:.(), 06:17:50 0.0:.(-0.8):.0.0:.() ] 06:17:51 this is more like it... 06:19:00 snazzey 06:19:30 though I must admit I don't like invisible boundries 06:19:37 between triangles in trianglelists, in this case 06:19:52 that is, unless trianglelists are different than how im thinking 06:20:00 are they more like strips 06:20:12 in which case i guess it would make sense to just have a big list of points 06:24:18 monqy: donot worry..... soon i will have your entire game working with reactive-banana and GPipe........ 06:24:41 im hapey 06:25:19 monqy: can i have a five 06:25:29 5 06:25:34 thx 06:26:18 -!- derrik has quit (Quit: gone). 06:27:36 monqy: it segfault :( 06:27:40 :'( 06:37:28 monqy: it no segfault 06:37:31 but im having troubles 06:37:32 :') 06:37:33 but i will prevail 06:37:35 :'( 06:37:37 :') 06:37:40 and probably make the resulting program like 900 times larger and slower 06:37:41 but OH WELL 06:37:45 :'( 06:39:18 monqy: im sorry for emotional rollercoaster 06:39:31 its okay i like roalercoasters 06:40:21 square :: PrimitiveStream Triangle (Vec3 (Vertex Float)) 06:40:22 square = toGPUStream TriangleFan $ [vt 1 1, vt 1 (-1), vt (-1) (-1), vt (-1) 1] 06:40:22 where vt a b = a :. b :. 0 :. () 06:40:32 fizzie: You told me I could just pass quads data to a trianglefan expecter. 06:40:34 But you were WRONG 06:40:44 Or wait. 06:40:46 fizzie: Did you say TriangleStrip 06:41:21 TriangleStrip, yes. 06:41:28 If it's QuadStrip data, that is. 06:41:33 Not separate quads, obvsly. 06:42:08 Also you may want to check the vertex order. But I think it went the right way around. 06:42:38 fizzie: but it was separate quads.... 06:42:43 But all I want to draw is a square. 06:42:47 SUERLY IT CANT BE SO HARD 06:43:11 If you want a single square, you can just give the four points into a single TriangleFan. 06:43:28 -!- lament has quit (Ping timeout: 252 seconds). 06:43:33 Oh, right, that actually works. 06:43:51 Not sure what would be the optimal way to draw a large amount of non-connected quads though. Maybe a TriangleList and manually doing each quad as two triangles. 06:43:57 Except... wait what... hmm. 06:50:04 GL_TRIANGLE_FAN's vertices are (1, n+1, n+2) while GL_TRIANGLE_STRIP's are (n, n+1, n+2) for odd n, (n+1, n, n+2) for even; so if you pass four vertices, that's (1, 2, 3)+(1,3,4) for the fan, (1,2,3)+(3,2,4) for the strip. Both could be used to draw a square, you'd just have to pass the corners in a different order. 06:59:44 "Ugh. Hipster activists are so annoying. I bet you ride a fixed speed bike and eat granola bars for breakfast." --bonch on saving the lions 07:01:28 monqy: when you passed width=fifty to square stuff 07:01:32 that was width in pixels right?? 07:01:50 uhh 07:01:53 i dunno maybe 07:01:59 wait no 07:02:00 that uh 07:02:06 was half the width in pixels, if anything 07:02:22 monqy: oh rigth 07:02:24 monqy: but it's like... 07:02:29 now i have something that takes a float as the width and.... 07:11:18 yep 07:12:04 monqy: and what do i.... do.. 07:12:07 to make it pixel again 07:12:23 what haepend what bborke ;_; 07:12:31 monqy: oh rigth 07:12:31 monqy: but it's like... 07:12:31 now i have something that takes a float as the width and.... 07:12:35 its turned into something that takes like 07:12:40 a float where one = full screen width/height 07:13:24 floats 07:13:28 yes 07:13:29 so 07:13:33 i want to turn it into something taking pixels again 07:13:34 help? 07:13:38 oh 07:13:43 i've never used gpipe help 07:13:48 but its not gpipe its just 07:13:49 is flaots how gpipe workse 07:13:51 things 07:13:51 oh 07:13:55 what is this things 07:14:06 things 07:14:11 things 07:14:30 how did you manage to make it only work in terms of total screen size 07:14:38 how does this happen 07:14:56 thats jsut how it works :( 07:15:05 monqy: whats preservingMatrix 07:15:10 again?? 07:15:40 it basically isolates matrix transformations 07:15:46 contains them 07:15:47 it's real nice 07:15:56 monqy: what does that mean, 07:16:16 -!- cheater_ has joined. 07:16:51 it duplicates the top of the matrix stack (the current matrix) and pushes it onto the matrix stack (new current matrix) and then does the provided action (its argument) and then pops the matrix (so all transformations to that matrix don't affect following actions) 07:17:03 monqy: what 07:17:05 ok 07:17:11 monqy: is that how your squares appear like 07:17:12 so it's not like you're mucking around with global state 07:17:12 pixelwise 07:17:15 rather than screen percentage wise 07:17:16 uhh 07:17:17 no 07:17:18 then 07:17:19 how 07:17:19 that 07:17:20 :( 07:17:22 it's how I turn and transform them 07:17:23 uhh 07:17:24 ive never had pixelwise in my opengl programs 07:17:26 it 07:17:28 what 07:17:28 i 07:17:30 :( 07:17:50 maybe my magic is in the stuff i put at the beginning in the initialization 07:17:53 the stuff that made the view 07:17:57 and the ortho2d stuff 07:17:58 what was that 07:18:00 oh 07:18:00 uhh 07:18:01 right.... 07:18:04 do you still have it 07:18:34 GL.viewport $= (GL.Position 0 0, size) 07:18:34 GL.matrixMode $= GL.Projection 07:18:34 GL.loadIdentity 07:18:34 GL.ortho2D 0 (realToFrac w) (realToFrac h) 0 07:18:34 GL.translate $ GL.Vector3 (realToFrac w / 2) (realToFrac h / 2) (0 :: GL.GLdouble) 07:18:39 i dont understand what it is doing :( 07:19:10 uhh 07:19:13 i copied most of it from a thing 07:19:21 but i think i understand it 07:20:32 monqy: what does orthotwodee mean 07:21:05 It's ortho3D with the near and far clipping planes at -1 and 1. 07:21:19 ok first it creates the viewport with width and height specified by size, and the lower-left corner being (0, 0), then it sets the current matrix on which it operates to the projection matrix, initializes it to the identity matrix, sets up a projection matrix there spanning from 0-width and height-0, and then translates to centre it 07:21:26 this is 07:21:27 my analysis 07:21:30 ok... but what does that do that's not default 07:21:31 like 07:21:32 what do you do 07:21:33 get 07:21:35 if you do none of that 07:21:37 ??? 07:21:41 ???? 07:21:47 :( 07:21:49 maybe fizzie knows 07:21:58 The default projection matrix is the identity matrix. 07:22:02 ok 07:22:08 one day i will be expert :( 07:22:15 That would be a glOrtho from -1 to 1. 07:22:22 oh SO 07:22:23 is the reason 07:22:29 that (-one,one) like fills my screen 07:22:30 because 07:22:32 Instead of -w/2 to w/2 like that. 07:22:34 that's what the projection matrix is? 07:22:37 Yes, that sounds likely. 07:22:42 ahhhhhhhhh now i understnand :D 07:22:45 i set it to identity because that's in a glfw windowresizecallback i think so the projectionmatrix will be mucked up and i'll have to reset it to identity 07:22:46 so is that like how i set FOV 07:22:53 when i have a hypothetical block world 07:23:03 well with a block world you want 3d stuff 07:23:11 well yeah but i mean 07:23:13 the ortho stuff in general 07:23:21 For that you'd want a perspective projection matrix. 07:23:27 oh 07:23:32 what would an orthographic thing do 07:23:33 in threedee 07:23:34 Those tend to take the FOV quite directly. 07:23:42 It would do an isometric-style thing. 07:23:47 :DDD omg 07:24:05 or you could muck with the matrix yourself?? 07:24:07 make it go all wack 07:24:41 use the matrix of solidity as the projection matrix 07:24:52 :DDD 07:25:55 oh hey, haskell opengl bindings 07:26:13 they suck (thats why im (using gpipe :') )) 07:26:20 well they don't suck 07:26:22 but opengl sucks in general 07:26:29 so what does gpipe do 07:26:30 i mean 07:26:32 about this stuff 07:26:36 what do you mean 07:26:53 deal with opengl's matricies and stuff 07:26:58 it just 07:27:00 transforms them into functional matrices 07:27:02 with a bunch of like 07:27:04 toGPU stuff 07:27:07 which turns things into shaders 07:28:42 -!- pikhq_ has joined. 07:30:49 -!- pikhq has quit (Ping timeout: 240 seconds). 07:36:24 -!- elliott has quit (Remote host closed the connection). 07:36:53 -!- elliott has joined. 07:37:02 ao um, 07:37:07 asterisk so 07:37:14 monqy: im going to, totally gpipe it up 07:37:19 oh man 07:37:31 r u, PREPARED, 07:37:52 per haps 07:43:59 -!- NihilistDandy has quit (Read error: Connection reset by peer). 07:48:31 "I don't make video games. I am not involved with the video game industry. I do not want to talk to you about graphics, textures, engines, or anything of that sort." --John Carmack 07:50:18 -!- NihilistDandy has joined. 07:52:24 -!- NihilistDandy has quit (Read error: Connection reset by peer). 07:52:59 -!- NihilistDandy has joined. 07:54:05 orthoProj = toGPU $ orthogonal (-10) 10 (2:.2:.()) 07:54:12 fizzie: monqy: this looks like the ortho to me... 07:54:17 i think??? 08:00:56 Soubds likely, though I don't know about the values. Maybe width, height and then a Vec2 for the center and/or corner. 08:01:20 I suppose it has documentation. 08:02:02 fizzie: I'm not sure though, since that's the projSquare function. 08:02:08 Then it gets rasterised and drawn onto the frame. 08:02:14 And I think orthogonals are a global thing. 08:02:39 In fact it seems like orthoProj is just multiplied with the ... homPoint of the vertex position thing. 08:02:45 To form a four-dimensional vector. Umm. 08:02:54 elliott: so I finally got back to watching old doctor who... I like the vulcan neck pinch 08:03:22 Well, maybe it's not using the fixed-function OpenGL pipeline, I think you can opt for that nowadays. 08:03:38 coppro: The Doctor: literally a Vulcan. 08:03:41 fizzie: im not sure what this means,, 08:04:19 In old-style OGL you'd set the (global-state) projection matrix, which is then used to transform coords in the camera coordinate system to the screen's, by multiplying them. 08:04:46 Right. 08:04:49 But I suppose you can nowadays opt for doing all geometry with programmed shaders. 08:04:52 Maybe. 08:06:08 fizzie: It does convert things to shaders automagically, yes. 08:06:19 It's a little SPOOKY. 08:07:03 I didn't learn shaders in my opengl class :( 08:07:07 they sound cool though 08:07:18 i need an opengl class 08:07:26 or just, opengl not to exist 08:07:32 in vanalla open gl you have to specifiy shaders an a special langauge??? 08:07:39 crayze 08:07:39 yes 08:07:42 its 08:07:45 monqy: they're written in like 08:07:48 opencl language 08:07:49 is it good langauge 08:07:53 it's based on C 08:08:00 __kernel void fft1D_1024 (__global float2 *in, __global float2 *out, 08:08:00 __local float *sMemx, __local float *sMemy) { 08:08:01 int tid = get_local_id(0); 08:08:01 int blockIdx = get_group_id(0) * 1024 + tid; 08:08:01 float2 data[16]; 08:08:01 08:08:02 is this basing appropriate 08:08:03 // starting index of data to/from global memory 08:08:05 in = in + blockIdx; out = out + blockIdx; 08:08:07 08:08:07 ewwww 08:08:11 globalLoads(data, in, 64); // coalesced global reads 08:08:13 fftRadix16Pass(data); // in-place radix-16 pass 08:08:15 twiddleFactorMul(data, tid, 1024, 0); 08:08:16 this is what it looks like................. 08:08:19 monqy: no, because GPUs are even lower-level than C 08:08:21 C is too high-level 08:08:23 see Checkout 08:08:25 monqy: ... but with gpipe it like does your haskell all symbolic and compiles it to a shade 08:08:27 r 08:08:31 automagically 08:08:35 monqy: (http://esolangs.org/wiki/Checkout) 08:08:49 -!- Taneb has joined. 08:08:54 god ais can't write 08:08:57 ah right 08:09:02 walls of text 08:09:06 A different form of checkout/2 can move or (possibly readonly) copy between level 1 memory and level 3 memory. The semantics of this need a little explanation, as referring to level 1 memory from a level 2 command is mostly meaningless. What happens is that the command refers to one slab of level 3 memory, and one word of level 1 memory in each subunit, which comes to the same amount (as the size of a slab is that necessary for each level 1 subun 08:09:06 it to get one word of it). The access is allowed to be misaligned. In fact, the slab of level 3 memory does not even need to be contiguous in an absolute sense; rather, it has to be contiguous in the segmented sense that if memory is divided into a set of power-of-2-sized blocks each of which wraps around, it's contiguous from the point of view of some block. (So, for instance, in a hypothetical system with 8 level 1 subunits per level 2 unit, [2 08:09:09 7]/3 [28]/3 [29]/3 [30]/3 [31]/3 [16]/3 [17]/3 [18]/3 would be contiguous in this sense, with block size 16.) The third argument gives the block size needed for the block in question to be considered contiguous, and must be a constant integer that's a power of 2, and at least as great as the number of level 1 subunits of a level 2 unit. (The level 1 subunit with identifier 0 gets the first word of the slab, [27]/3 in the example above, the subuni 08:09:14 t with identifier 1 gets the second, and so on.) Indirect memory addresses can be given for the first two arguments, with the same restrictions as in the previous case. This instruction is very fast compared to other checkout instructions, taking around twice as long to execute as arithmetic instructions. Additionally, two move/2 instructions with the same arguments, the first from level 3 to level 1 and the second in the other direction, can tak 08:09:19 e less time between them to execute than either would individually; the condition for this to happen is that the block size must be set to the amount of level 3 memory per unit (or higher), that they are separated by nothing but arbitrary level 1 i 08:09:21 soryt im not reading that 08:09:23 lmao 08:09:25 xchat 08:09:27 cut that off 08:09:29 it wouldn't let it all go in the input field 08:09:33 http://esolangs.org/wiki/Checkout/Quick_reference 08:09:36 there you go.... 08:10:22 so i guess shaders are such a thing such that a c-like language is appropriate?? 08:11:05 monqy: C is too high-level like I said 08:11:10 makes bad assumptions :| 08:11:15 right but I mean 08:11:33 by appropriate, not high- or low-level but 08:11:35 right-level 08:11:36 well it couldn't be like, java if that is what you mean.......... 08:12:09 i mean like how HOtMEfSPRIbNG is really high-level but the wrong abstraction entirely for pretty much anything 08:12:25 except in this case instead of HOtMEfSPRIbNG it is C 08:12:32 :D 08:12:58 http://www.overclock.net/coding-programming/345618-wide-world-code.html oh no the overclockers have found us 08:13:11 oh no overclockers 08:13:15 "what about LOLCODE?" 08:13:19 IM GOING TO PUNCH MY FACE THROUGH YOUR BRAIN 08:13:25 oh thank god it ended after three posts 08:13:50 i wish i understood homespring 08:14:43 what about snack 08:14:52 no, 08:16:03 i wonder what 08:16:08 snack's creator genius 08:16:09 was thinkign 08:16:13 when making 08:16:14 snack 08:16:30 probably "im smart" 08:16:38 in five days snack is a month old 08:16:56 obviously not cakes and chips 08:17:01 and one day (warning: scary story ahead) 08:17:05 Fucking lolcode 08:17:05 it will be a hundred years old 08:17:08 people will say 08:17:11 a month? two months? 08:17:13 how can we make our langauges last a hundred years 08:17:14 like snack has 08:17:22 and they decide 08:17:28 "there is only one way 08:17:33 we need a command that prints SLEEP? ARE YOU CRAZY? LETS GET UP FOR MIDNIGHT DINNER" 08:17:35 in a month ago from five days from now snack willwas be a month old 08:17:49 what 08:17:56 wasn't it a june lnaguage 08:18:08 holy shit 08:18:10 i love how 08:18:15 monqy: oh right 08:18:16 i love 08:18:16 how 08:18:18 http://esolangs.org/wiki/Snack 08:18:21 there is an undocumented command 08:18:39 how can you not even document the like five commands your awful language has 08:18:40 what does it mean 08:18:52 well he documented 5 of them 08:18:52 who's SmallBug 08:18:54 that's a start 08:18:56 a bad person 08:18:59 LOL 08:19:08 is smallbug you, itidus20 08:19:31 are you implying itidus20 is a bad erson 08:19:32 :| 08:19:55 no! Je ne suis pas sur le wiki. 08:20:06 i also like how in the implementation 08:20:07 (google translated) 08:20:07 the int 08:20:08 Ceci n'est pas une snack 08:20:09 is called stack 08:20:11 yes 08:20:16 Dandy =)) 08:20:28 and everything is indented a space 08:20:43 or is that just the first two lines after the include 08:20:47 help snakes killed me 08:20:52 snack's 08:20:54 snack 08:21:04 help i cant smell snacks i mean spell help 08:21:11 i cant spell spoepll ahELP 08:21:12 elliott: not the Doctor; Ian 08:21:21 coppro: same person obviosuly 08:21:29 its ok to not smell snacks as long as you can: grave get eat them 08:22:12 Hello 08:22:13 You have eaten as a snack right 1 people. Happy? 08:22:53 Ceci n'est pas une “Ceci n'est pas une “Ceci n'est pas une “Ceci n'est pas une “... 08:22:58 oh man what if you do grave then let a nonexistant people free 08:22:59 then eat 08:23:04 you will have eaten...negative people 08:23:09 O_O 08:23:12 Do eet 08:23:41 pikhq_, what does that mean? 08:23:53 Lymee: 08:24:06 This is not a "This is not a "This is not a..." 08:24:11 Lymee: This is not a “This is not a “This is not a... 08:24:52 Monospaced font made that awesome 08:24:57 > fix ("Ceci n'est pas une “++) 08:24:58 : 08:24:58 lexical error in string/character literal at end o... 08:25:02 :< 08:25:05 Ce n'est pas un truc l'esprit 08:25:16 See: https://secure.wikimedia.org/wikipedia/en/wiki/La_trahison_des_images 08:25:18 > recurse ("Ceci n'est pas une \"“++) "Ceci n'est pas une “ 08:25:19 : lexical error at character '\8220' 08:25:20 Lymee: wrong quote type 08:25:25 > recurse ("Ceci n'est pas une “"++) "Ceci n'est pas une “ 08:25:26 : 08:25:26 lexical error in string/character literal at end o... 08:25:31 > recurse ("Ceci n'est pas une “"++) "Ceci n'est pas une “" 08:25:31 Not in scope: `recurse' 08:25:31 t pas une “++) 08:25:32 god 08:25:33 look at it 08:25:35 “++) 08:25:36 that's not a " 08:25:38 Blah. 08:25:40 srsly 08:25:43 Doesn't show up in my editbox. 08:25:52 i hate you edit box 08:26:09 > fix ("Ceci n'est pas une "++) 08:26:10 "Ceci n'est pas une Ceci n'est pas une Ceci n'est pas une Ceci n'est pas un... 08:26:23 > fix ("\"Ceci n'est pas une "++) 08:26:24 "\"Ceci n'est pas une \"Ceci n'est pas une \"Ceci n'est pas une \"Ceci n'es... 08:26:30 Uglier, but closer 08:26:44 > fix ("Ceci n'est pas une “"++) 08:26:46 "Ceci n'est pas une \8220Ceci n'est pas une \8220Ceci n'est pas une \8220Ce... 08:26:55 Shame about the uglyprinting. 08:27:00 sour 08:27:26 We should write an ugly-printer 08:27:32 > cycle "”" 08:27:33 "\8221\8221\8221\8221\8221\8221\8221\8221\8221\8221\8221\8221\8221\8221\822... 08:27:40 Like a Perl compiler? 08:27:44 Dandy: suffice to say you detected in my post the influence of the Magritte reference I saw yesterday 08:27:52 > (fix ("Ceci n'est pas une “"++)) ++ (cycle "”") 08:27:53 "Ceci n'est pas une \8220Ceci n'est pas une \8220Ceci n'est pas une \8220Ce... 08:27:59 itidus20: Haha. Good on me :D 08:28:14 pikhq_: Well, yes, but with a nicer user interface 08:28:32 LOL lymee 08:28:39 Lymee: Exactly equivalent to the statement sans ++ (cycle "”"). :) 08:28:50 Nuh-uh, 0.000...1 is a real number 08:29:03 ... 08:29:29 0.999999999...0 =/= one dumbtarjsds 08:29:33 pikhq_, well. 08:29:36 The program doesn't cheat! 08:29:36 lolll 08:29:51 If we ever build a computer capable of infinite cycles per second, the code will become useful. 08:30:15 Well. Nearly equivalent. Under some Haskell implementations, that would reconstruct the first list, giving you completely pointless allocation. 08:30:42 > tail $ (fix ("Ceci n'est pas une “"++)) ++ (cycle "”") 08:30:43 "eci n'est pas une \8220Ceci n'est pas une \8220Ceci n'est pas une \8220Cec... 08:30:49 .com.com.com 08:30:49 > last $ (fix ("Ceci n'est pas une “"++)) ++ (cycle "”") 08:30:53 mueval-core: Time limit exceeded 08:30:53 .com 08:30:54 * Lymee runs 08:30:58 do you remember .com 08:31:02 .com 08:31:05 elliott: Well, that's true, in that's it's meaningless 08:31:06 .xomc.om.cm 08:31:09 .com 08:31:13 elliott: com.com? God that was a stupid thing. 08:31:19 .com 08:31:20 .comcomcom 08:31:25 .com.com.com.com.com 08:31:31 www.ww.w.com 08:31:37 Apparently com.com redirects to cnet 08:31:45 ..........q;come 08:31:46 come 08:31:47 .com 08:31:49 .sompdf.com 08:31:52 some.come 08:31:54 pony.com 08:32:07 dotat.at 08:32:07 -!- asiekierka has joined. 08:32:08 hi 08:32:10 long time no see! D: 08:32:11 Hello 08:32:18 you were in here days ago 08:32:21 NihilistDandy: Yes, they used to maintain a hierarchy of sites under com.com. 08:32:24 but didn't really talk 08:32:26 NihilistDandy: I am not fucking kidding. 08:32:31 so you're going to talk 08:32:37 pikhq_: That depresses me on an existential level 08:32:43 Ve have ways of making you TALK! 08:32:43 much to your disappointment, possibly, elliott 08:32:49 And that's saying something 08:33:06 -!- GreaseMonkey has quit (Read error: Connection reset by peer). 08:33:07 CNET seems to have cornered the market on stupid domain names. 08:33:07 * Lymee pokes at asiekierka 08:33:12 * asiekierka pokes back 08:33:18 -!- GreaseMonkey has joined. 08:33:33 Also, what the shit, FURscript 08:33:39 They also have, like, download.com, upload.com, tv.com, search.com, radio.com, and computers.com... 08:33:43 hi stop being missing from espernet 08:33:59 It's like they think extraordinarily simple nouns make good brand names. Cute. 08:34:31 pikhq_: My heart hurts 08:34:44 To be fair, it was the 90s. 08:35:21 I always feel a bit weird when I realise I was alive during the dot.com bubble 08:35:22 This was a magical time when everyone got on a computer and forgot every single bit of knowledge we learned over the course of centuries. 08:35:28 lolcnet 08:35:31 Damnable 90s and their non-exhausted IPv4 space 08:35:56 It's not like having a bunch of domains uses up IPv4 space. 08:36:02 I know 08:36:09 I'm not talking about domains :D 08:36:22 I'm complaining about yesteryear 08:36:29 Yesterdecade 08:36:31 Whatever 08:36:38 You should damn an older period for being insufficiently forward-thinking. 08:36:53 "Oh, 32 bits should be enough. It's not like more than 100 hosts will use it anyways, right?" 08:37:02 The fools 08:37:25 "This computer thing will never catch on. And networking? Pish tosh." 08:37:41 Well, they presumed it was a research network. 08:37:49 apparently it was just a demo thing and before long someone pressed the accelerator while everyone was just sitting on top of the car 08:37:53 Vacua and nuclear ovens are the future damn it! 08:38:00 Not a network that would leap off into production. 08:38:04 and before they knew it the world was full of 32bit addresses 08:38:10 I'm aware -_- 08:38:31 The world wide web was invented to make it easier to get data from one computer to another in the same room somewhere deep on the France-Switzerland border 08:38:50 Those wacky Europeans 08:38:54 The World Wide Web was also a wiki protocol. 08:39:02 pikhq_: HTTP 08:39:05 Erm, HTTP. 08:39:07 Yeah. 08:39:14 HTTP is not the World Wide Web 08:39:15 First the Web, then the LHC... It's like they WANT the world to die 08:39:30 The World Wide Web was intended as a giant wiki, though. 08:39:41 It kinda is 08:39:47 But with many, many locked pages 08:40:00 Not in *any* way like it was designed. 08:40:13 Half of HTTP gets completely ignored. 08:40:47 PATCH, DELETE, PUT? Hah. 08:41:06 I'm not sure how you can be "deep on the border". 08:41:09 patch is new............ 08:41:11 it was invented last year.......... 08:41:16 elliott: Srsly? 08:41:19 yes............. 08:41:32 Internet Engineering Task Force (IETF) L. Dusseault 08:41:32 Request for Comments: 5789 Linden Lab 08:41:32 Category: Standards Track J. Snell 08:41:32 ISSN: 2070-1721 March 2010 08:41:32 PATCH Method for HTTP 08:41:41 "After a long, long time, the HTTP PATCH verb has become an official standard: IETF RFC 5789." 08:41:43 Also, stop using that many dots, it makes you look like you're 8. In the 90s. 08:41:46 might have been invented earlier i dunno 08:41:50 pikhq_: i am............. 08:42:11 Oh god 08:42:15 Still, PUT. 08:42:20 The nineties was the decade before last 08:42:58 "Given that it’s taken something like 10 years to get PATCH in" 08:42:58 oh ok 08:42:59 what do 8 years old do now anyway 08:43:12 monqy: irc 08:43:35 it would be cool if i could become eight again and be all awesome ahead of time........ 08:43:46 i was probably a horrible person when i was 8 08:43:57 me too 08:43:58 are any 8 years olds not horrible people 08:43:59 I am glad I don't have IRC logs from when I was 8. 08:44:00 except i know it 08:44:01 :( 08:44:01 With a robot body, you can be!~ 08:44:04 I was an idiot who thought he was the best at everything 08:44:20 I have IRC logs from when I was 8... 08:44:33 thankfully, 08:44:35 I didn't irc when I was 8, thankfully 08:44:37 the only traces of me being eight 08:44:40 are under a different nickname 08:44:44 that has, to my knowledge, 08:44:53 never, ever been publicly linked to my name or any of the nicks i've ever used on irc or ever 08:44:57 Been expunged from the judicial record? 08:44:59 so i am ............. safe ......... 08:45:00 what do 8 year olds do on irc anyway 08:45:03 The only traces of me being eight that I know of *are* my nickname. 08:45:10 embarrass themselves and fail to notice it? 08:45:12 monqy: Internet Relay Chat? 08:45:14 monqy: cyber.........esolangs........................haskell......... 08:45:24 cyber 08:45:27 u be haskell, ill be brainfuck, i put on my robe and type theory hat 08:45:30 elliott: These things are isomorphic 08:45:44 I don't think I knew about esolangs or haskell when I was 8 :( 08:46:18 im not ready for twenty days time... can i put off becoming sixteen until im like sixteen 08:46:23 When I was eight, the closest I got to esolangs was writing down roman numerals in Excel 08:46:37 im not ready to sixteen yet :{ 08:46:46 i;ll never ready to sixteen 08:47:00 I got ready to sixteen just before I sixteened 08:47:01 I'm still not ready to sixteen 08:47:10 And I already sixteened 08:47:11 Taneb: help, its going to fast, 08:47:14 make it stop, 08:47:21 elliott: Congrats, you're 61. 08:47:26 You can't stop it 08:47:31 You can only make it go faster 08:47:38 Taneb: how, is it meth, 08:47:40 (i think its meth) 08:47:45 Taneb: Well, you can stop the flow of time. 08:47:50 brb 08:47:55 Just fine a nearby event horizon. 08:48:05 Easy as pie 08:48:12 `/win 7 08:48:16 No output. 08:48:27 HackEgo: that's cause you suck 08:56:25 Back 08:56:35 Or maybe it hates Windows 8 08:56:39 s/88/7/ 08:56:43 s/88/8/ 09:08:36 -!- Phantom_Hoover has joined. 09:26:14 -!- FireFly has joined. 09:30:32 -!- asiekierka has quit (Ping timeout: 258 seconds). 09:35:44 "It is built on top of the programmable pipeline (i.e. non-fixed function) of OpenGL 2.1" 09:35:45 ok 09:36:32 what does this mean 09:37:38 It doesn't use the "global" projection/modelview matrices, pretty much. (And the same applies to lighting and things like that.) 09:39:11 There's an awesome flowchart somewhere which shows the fixed-function pipeline, and where shaders fit there, and which parts are/can be skipped if you feed stuff to them. 09:39:55 fizzie: it is confusing :( 09:40:03 fizzie: why does gpipe use all this advanced stuff but then depend on glut....... 09:40:47 elliott: Maybe you should use DirectX instead, the fixed-function D3D 9.0 pipeline is much simpler: http://www.ategpu.com/wp-content/uploads/2009/06/20090605_0ae51d1100b0ce18cfa6kJFDIv2M25XR.png 09:40:58 ah 09:41:11 isn't directx actually simpler to use though :) 09:42:39 Probably not by much, really. But I'm no expert. 09:43:38 Aw, I can only find a flowchart of the current, programmable pipeline: http://www.opentk.com/files/OpenGL%20machine%20diagram%20v2.png -- I'm sure there was one that showed the old, more complicated one, which pretty much replaces the blocks that say "Shader" with a mess. 09:44:27 why is it so complicated :( 09:44:30 why not simples 09:47:09 Here's the old OpenGL 1.1 state machine: http://www.opengl.org/documentation/specs/version1.1/state.pdf -- the programmable pipeline just skips large parts of that and replaces them with your shaders. 09:47:21 Google image search doesn't seem to find pictures that are inside PDF documents. :/ 09:48:49 -!- pitufoide has quit (Read error: No route to host). 09:49:01 -!- cheater_ has quit (Ping timeout: 255 seconds). 09:49:45 I think they have officially labeled most of the "old-fashioned" parts as deprecated in current (3 and later) OpenGL versions. 09:50:16 GL.ortho2D 0 (realToFrac w) (realToFrac h) 0 09:50:16 orthoProj = orthogonal (-10) 10 (2:.2:.()) 09:50:17 hmm 09:50:21 wonder how the first becomes the second... 09:50:30 fizzie: yeah they've deprecated practically everything :( 09:50:42 You should probably look at the docs of "orthogonal" to specify that. 09:51:11 fizzie: 09:51:11 -- | An orthogonal projection matrix for a right handed coordinate system looking down negative z. This will project far plane to @z = +1@ and near plane to @z = -1@, i.e. into a left handed system. 09:51:12 orthogonal :: Fractional a 09:51:12 => a -- ^ Near plane clipping distance 09:51:12 -> a -- ^ Far plane clipping distance 09:51:13 -!- pitufoide has joined. 09:51:13 -> Vec2 a -- ^ The size of the view (center aligned around origo) 09:51:15 -> Mat44 a 09:51:17 but then 09:51:19 I'm not exactly sure on GL.ortho2D :) 09:51:28 Well, it's already centered, then. 09:52:06 So that's just orthogonal (-1) 1 (w :. h :. ()) or whatever you need to do to 'w' and 'h' in there. 09:52:27 (ortho2D puts the clipping planes at -1 and 1.) 09:52:48 fizzie: Ah. 09:52:49 ?src when 09:52:49 when p s = if p then s else return () 09:52:58 :t when 09:52:59 forall (m :: * -> *). (Monad m) => Bool -> m () -> m () 09:53:01 oh wait 09:53:02 nm 09:55:27 You may need to flip that thing though, since I guess "GL.ortho2D 0 (realToFrac w) (realToFrac h) 0" sets up a coordinate system where Y points down, not up. 09:55:40 (Might be enough to just provide -h to it.) 09:56:25 now to find the equivalents of 09:56:28 GL.viewport $= (GL.Position 0 0, size) 09:56:29 GL.matrixMode $= GL.Projection 09:56:31 GL.loadIdentity 09:56:32 GL.translate $ GL.Vector3 (realToFrac w / 2) (realToFrac h / 2) (0 :: GL.GLdouble) 09:56:55 As mentioned, you don't need the GL.translate, if your 'orthogonal' is already centered. 09:57:21 oh 09:57:21 right 09:57:24 blame monqy 09:57:37 I suppose that matrixMode/loadIdentity thing is abstracted out by GPipe 09:57:45 Probably not a GL.loadIdentity either if it's building the matrix from scratch and not multiplying it over some existing one. 09:58:18 im blamed 09:58:32 Viewport and how to set the projection matrix depends on how your pipe does things, I suppose. 09:58:34 And what is EVEN a MODE of MATRICES. 09:59:08 It's just the global flag that decides which matrix the matrix-operating functions (like loadIdentity and such) operate on. 09:59:11 The most common matrix? 09:59:58 What about the viewport? 10:00:00 ortho thing also handle that? 10:00:02 I suppose so. 10:00:54 -!- cheater_ has joined. 10:01:06 That I don't know about. In the fixed-function pipeline it's an affine transformation from "normalized device coordinates" (i.e. what you get after the projection matrix is applied) into window coordinates. 10:01:26 Well, it seems to work-ish. 10:01:44 whats the -ish 10:02:07 Well things. 10:02:11 I need to make it actually move for instance. 10:02:16 segfaults 10:02:20 oh 10:02:31 and banana? 10:03:35 monqy: yes. 10:03:36 im so banana 10:05:09 -!- clog has quit (Ping timeout: 252 seconds). 10:05:48 rip 10:05:48 clog 10:07:26 -!- oerjan has joined. 10:07:30 hi oerjan 10:07:31 bye clog 10:07:35 hello 10:07:38 argh 10:08:39 oerjan: codu,,, 10:08:40 learn it,,, 10:09:35 oh i do. btw it was removed from topic. 10:10:07 fuk quintopia 10:10:13 -!- elliott has set topic: http://codu.org/logs/_esoteric/. 10:10:18 no tunes in topic in retaliation 10:12:39 monqy: im think, rotate, now, 10:12:55 GL.rotate (blah * 100) (GL.Vector3 0 0 (1 :: GL.GLfloat)) 10:12:55 ok 10:13:01 congarts 10:14:35 monqy: http://i.imgur.com/FQdnB.png 10:14:46 blue 10:14:49 adn greene 10:14:54 its title "Green Triangle" of window 10:15:05 is there a second box too wheres the traingle 10:15:11 is this a threedee box 10:15:32 my eyes are going funny in the blue and green and tired and it's going distortey 10:15:50 and i cannot make heads or tales of the specifics of what this box actually looks like 10:15:58 but i'm thinking it's a square 10:16:03 nothing fancy 10:16:13 it is 10:16:14 im just 10:16:19 replicating the thing you did 10:16:21 oh 10:19:35 -!- Sgeo has joined. 10:20:05 no tunes in topic in retaliation <-- well now you are annoying _me_... 10:20:27 mind you, i'm in a bad mood to start with. 10:20:42 annoyed over log bots in topics 10:20:47 the oerjan life 10:21:09 no, annoyed over stupid "retaliation" games 10:22:12 oerjan: you realise im not serious................... 10:22:44 i'm too gloomy to realize anything. HOW DO YOU WANT YOUR BAN SERVED? 10:22:58 have you guys ever used the spectrogram in foobar2000 or an equivalent 10:24:06 * oerjan suddenly thinks spectrogram sounds like something at the other meaning of "esoteric" 10:24:28 presumably the ghostbusters have one 10:24:35 Ghostrogram. 10:25:13 .debian.com.net.org.opengl 10:26:13 I'm unsure whether that was "an equivalent of foobar2000" or "an equivalent of a spectrogram in foobar2000". 10:26:13 elliott: my 3-cell BF fractran seems to have a snag :( 10:26:19 latter 10:26:52 I don't know exactly what its spectrogram looks like, but I've drawn quite a lot of them with matlab and such. 10:26:59 i don't see how to do the equivalent of if (!a) { a = C1*b+D1; b=0; } 10:27:01 oerjan: :{ 10:27:46 it's not the arithmetic that's the problem, it's actually conditioning on something being zero without clobbering when it isn't... 10:28:15 four cells?? 10:28:57 four cells should be fine i guess 10:29:20 then you can actually use a cell for a test flag 10:29:41 monqy: ok, im going to try introducing the reactive bananas 10:29:51 oh man oh man 10:29:59 BE PREPARED FOR POTASSIUM 10:30:58 monqy: it occurs to me that this niceness of GPipe will be ah... tarnished a bit when i actually write gamey stuff 10:31:01 because I need OpenAL too 10:31:07 :( 10:31:08 and i dont htink theres an APipe......... 10:31:22 is openal........saddening 10:31:32 and are there no alternatives 10:31:33 monqy: its modelled to be as much like opengl as possible 10:31:36 (seriously) 10:31:38 ew 10:31:44 and well there are alternatives but openal is cool because it offers threedee sound??? 10:31:45 so like 10:31:47 i can just position sounds properly 10:31:51 and they'll doppler properly 10:31:55 and get quietier as you walk away 10:31:56 and if you turn around 10:32:00 they'll sound like they're behind you 10:32:01 and stuff 10:32:05 it's cool................ 10:32:14 good thing i don't need threedee sound for what i want to do because what i want to do is twodee 10:32:23 what do you, want to do, 10:32:29 i dont 10:32:30 quite 10:32:30 know 10:32:35 but, try, to explain, 10:32:41 and they'll doppler properly <-- wait, as in actually consider relative velocity? :P 10:32:53 all i know is it's twodee and it involves a very special type of graphicals which is also hard to explain 10:32:54 oerjan: well "The rendering engine performs all necessary calculations as far as distance attenuation, Doppler effect, etc." --wikipedia 10:33:03 oerjan: so i think so 10:33:08 heh 10:34:24 oerjan: You can even vary the speed of sound (though only globally) which affects the doppler calculations. 10:35:35 also what i want to do is kind of bizarre 10:35:39 what is it........ 10:35:42 which makes explaantion..h.arder. 10:35:46 try, 10:35:49 im cant 10:35:54 ;_: 10:36:05 try, 10:36:56 well i guess the graphicals might be described as subtley wavy or something and they vary over time?? 10:37:03 * Sgeo feels unwell 10:37:06 i have a vision for this but i m bad at descirbe 10:37:12 the rest is even less concrete 10:37:13 Better than yesterday, but still unwell 10:37:16 what is, gameplay, 10:37:22 the least concrete 10:37:30 are the graphics triangles 10:37:38 they are rendered using triangles 10:37:47 so is evrything 10:37:53 Captai Obvios 10:38:08 n 10:38:10 nnnn 10:38:11 Patashu: Now I am curious as to what that spectrogram question was all about? 10:38:12 i use triangles instead of lines because then i can vary their specifics over position and time?? 10:38:12 u 10:38:13 uuuuu 10:38:25 monqy: ok? 10:38:29 ok. 10:38:29 monqy: what is the game like, 10:38:44 it may or may not. involve the display of text. 10:38:49 oh 10:38:52 TELL ME ABOUT THE FUCKING GAME 10:38:59 >:{ 10:39:03 im must know........ 10:39:07 it is not relevant to gameplay. though. it is more of fan . aesthetic. 10:39:12 i uh 10:39:20 haven't really decided much about the actual 10:39:21 gameplay 10:39:21 yet 10:39:25 if anything 10:39:26 at all 10:39:33 >:( 10:39:57 reactimate :: Event PushIO (IO ()) -> NetworkDescription ()Source 10:39:57 Output. Execute the IO action whenever the event occurs. 10:40:00 REACTIMATE.... 10:40:05 reactimate 10:41:02 is there any good way to do gameplay 10:41:04 because if there is 10:41:06 reactimate :-D 10:41:07 i may want to use that 10:42:07 Deewiant: its FRRRPY 10:42:12 and then 10:42:15 after you compile your event network 10:42:16 with reactimations in it 10:42:18 you do 10:42:21 -- register handlers and start producing outputs 10:42:21 actuate network 10:42:24 you ACTUATE YOUR REACTIMATIONS 10:42:38 Deewiant: btw the library i am using... depends on your tries... you are famous... 10:42:58 it may or may not. involve the display of text. <-- i am still going to assume it's pornographic until you tell what it is. 10:43:14 Deewiant: (not reactive-banana) 10:43:15 oh dear 10:43:40 well it's PROBABLY NOT pornographic 10:43:46 O KAY 10:44:01 at least not in _all_ countries 10:44:15 what are the criteria for being pornographic 10:44:26 in denmark, it would probably be considered entirely appropriate for children. 10:45:28 in iran, it would probably be considered entirely appropriate as firewood. 10:45:37 elliott: So you'll blame me if it doesn't work? 10:46:55 Deewiant: yes 10:47:01 Great 10:47:06 Deewiant: (its GPipe) 10:47:17 Deewiant: (it also uses Vec which means the type errors are really confusing :( ) 10:55:38 -!- monqy has quit (Quit: hello). 10:56:54 ?hoogle ThreadId -> IO () 10:56:54 Control.Concurrent killThread :: ThreadId -> IO () 10:56:54 Control.OldException throwDynTo :: Typeable exception => ThreadId -> exception -> IO () 10:56:54 Control.Concurrent throwTo :: Exception e => ThreadId -> e -> IO () 11:01:58 ?hoogle delete 11:01:59 Data.HashTable delete :: HashTable key val -> key -> IO () 11:01:59 Data.IntMap delete :: Key -> IntMap a -> IntMap a 11:01:59 Data.IntSet delete :: Int -> IntSet -> IntSet 11:02:00 ?hoogle remove 11:02:00 Data.Graph.Inductive.Monad.IOArray removeDel :: IOArray Node Bool -> Adj b -> IO (Adj b) 11:02:00 System.Directory removeDirectory :: FilePath -> IO () 11:02:00 System.Directory removeDirectoryRecursive :: FilePath -> IO () 11:02:38 ?hoogle exterminate 11:02:38 No results found 11:02:40 :( 11:02:48 ?hoogle eviscerate 11:02:48 No results found 11:05:09 ?hoogle obliterate 11:05:10 No results found 11:06:51 http://holumbus.fh-wedel.de/hayoo/hayoo.html#0:obliterate 11:07:35 darcs and wumpus both sound appropriate 11:09:52 obliterate is the thing that permanently removes a patch from a repository 11:09:58 scary stuff :) 11:10:15 *everyone gasps and puts hands to their mouthes* 11:10:21 which vcs are we talking about? 11:10:29 in perforce, obliterate removes a file, not a patch 11:10:37 coppro: dunno, maybe you could look a single line up to find out 11:10:44 it rewrites all the vcs history to remove all mention of that file 11:10:44 also who the fuck uses perforce 11:10:53 elliott: big companies 11:11:08 coppro: i know 11:11:21 i like how perforce is terrible in every way, that's a good thing about perforce 11:11:58 Perforce is a precursor to modern dvcs 11:12:12 bullshit, perforce is centralised 11:12:31 that's why I said precursor 11:12:38 then so is sccs 11:12:57 I don't know about sccs specifically, but I suspect not in the sense that I mean 11:13:33 perforce's changelists allow for easy communication of small groups of changes in a manner similar to a dvcs 11:14:03 Well, I've just worked out how to do lambda calculus in VB.NET 11:14:07 other similarities perforce has to dvcses: it has files; it has commands 11:14:15 also, it uses an alphabet 11:14:22 total precursor 11:14:48 elliott: okay I'm guessing you actually have no fucking clue how perforce works 11:15:08 i'm guessing you're experiencing stockholm syndrome :) 11:15:19 ... what 11:15:36 so what's bad about perforce exactly 11:16:41 Patashu: It tracks changes at a file level; it is centralized; it is proprietary 11:17:20 Well, I've just worked out how to do lambda calculus in VB.NET <-- wait, should we cheer or boo now? 11:18:10 You could just ignore it 11:18:19 Taneb: not physically possible 11:18:20 INCONCEIVABLE 11:18:39 Or wish VB.NET luck in its slow progress to becoming a useable programming language 11:19:15 i actually recall that some people think it does some things better than C# 11:19:33 It was the first programming language I learnt 11:19:36 mind you i don't actually know either, just following the hivemind... 11:20:03 -!- GreaseMonkey has quit (Remote host closed the connection). 11:22:07 hi oerjan................... 11:22:16 -- Typeable instances, yikes! 11:22:16 -- Also, these instances are wrong, but I don't care. 11:22:16 instance Typeable WX.EventKey where 11:22:16 typeOf _ = mkTyConApp (mkTyCon "WX.EventKey") [] 11:22:16 instance Typeable WX.EventMouse where 11:22:17 typeOf _ = mkTyConApp (mkTyCon "WX.EventMouse") [] 11:22:57 that's the function which is being deprecated, isn't it 11:23:18 which function 11:23:25 mkTyConApp 11:23:30 huh, why? 11:23:41 elliott: also "Dr. Who" in the credits :( 11:23:48 "My understanding is the part that will be changing in future versions of GHC is that you should use a different function, mkTyCon3, which takes the package name, module name, and type name as separate arguments." 11:23:49 ah 11:23:56 yep 11:24:07 coppro: the writers and producers are much less anal about the show than the fans :P 11:24:19 coppro: see also: every script was titled "Doctor Who and the X" 11:24:24 elliott: "were" 11:24:26 oerjan: that does seem saner... 11:24:41 coppro: they're anal now? 11:25:13 they are more careful now 11:26:16 oerjan: good news....i think i cna....extricate the glut 11:26:45 elliott: that sounds like a somewhat painful procedure. do you have enough anesthetics? 11:26:55 i dont know.,, but i do have teh world 11:27:56 Doctor Who and the furbies 11:28:50 im a furby 11:29:21 google suggest correcting it to "furies". not that that exists either. 11:29:25 *s 11:29:48 its furbys ur prlaurl wrong 11:29:57 oh 11:30:26 "A Furby (plural Furbys or Furbies) was [...]" 11:30:33 SHUT UP IM EXPERT 11:31:37 oh that monqy slipe aaway, 11:31:45 help im having trouble extricating 11:35:36 "GLFW doesn't work well with GHC threads, forkIO or threadDelay. So avoid them if you can. 11:35:37 " 11:35:37 ugh 11:36:14 seriously? 11:36:18 so what can you use it with 11:36:21 it's probably the usual "must be called from the main thread" thing? 11:36:24 -!- clog has joined. 11:36:30 (non-portable) native threads 11:36:32 its understandable it just sucks 11:36:38 http://www.reddit.com/r/science/comments/j5sdo/electrical_engineers_at_duke_university_have/c29f9o6 there should be a language called cross-talk 11:36:48 cross talk: 11:36:54 there's a physical board of objects 11:36:58 objects have to be very close to talk 11:36:58 ??? 11:37:12 Whatever happened to string theory? (self.askscience) 11:37:20 -!- boily has joined. 11:37:20 Whatever happened to Robot Jones? 11:37:49 string theory is just waiting for us to develop a galactic empire powerful enough to actually _test_ it, duh 11:38:03 what's the collatz conjecture waiting for then? 11:38:23 oerjan: wait, string theory has tests? :) 11:38:58 I wish elliottcable would shut the fuck up whenever I talk in #haskell. 11:39:12 I get it, you want my nick; you've already offered to pay me for it, and I've named a price, so pay up or shut up. 11:40:17 elliott: well there was a test recently which might have been relevant to _some_ string theories, about whether photons change polarization over huge cosmic distances. alas nothing unexpected was found. 11:41:03 that was also relevant to loop quantum gravity iirc 11:41:46 and of course the idea is presumably that we can find some relevant tests once we can create black holes and stuff at will... 11:42:19 right. you get right on that, then. 11:42:20 -!- azaq23 has joined. 11:42:37 new she version, let us all dance: \o/ 11:42:38 | 11:42:38 >\ 11:42:39 elliott: soon as we got that galactic empire, 'guv 11:44:30 Is it possible to send messages by quantum entanglement? 11:44:59 Taneb: No. 11:45:03 Taneb: No. No. No. No. 11:45:03 Taneb: No. 11:45:07 Taneb: No. No. No. 11:45:08 And, 11:45:10 Taneb: No. 11:45:13 Patashu: "Mathematics is not yet ready for such problems." -- Paul Erdős 11:45:23 Well, that sucks, in the scheme of things 11:45:43 Taneb: Yes, the inability to go faster than light sucks a bit. 11:46:10 * elliott forks GPipe. 11:46:14 But no matter is moving faster than light! 11:46:22 Only information! 11:46:27 Then we can test that paradox! 11:46:32 And solve the halting problem! 11:46:44 otoh they've found P and CP violation, why not lorentz invariance violation 11:47:42 Here comes the rainm 11:48:07 Taneb: it is an incredibly common misconception that quantum entanglement can cause information to be propagated faster than the speed of light. 11:48:08 it is not so. 11:48:17 Taneb: you're british, that's not even news 11:48:32 Deewiant: Man, I would be downright offended as GPipe's dependency on list-tries if I were you -- it simultaneously uses Data.HashTable! 11:48:43 It was a statement of truth 11:48:46 Rather than news 11:48:51 O KAY 11:48:52 Olds, if you will 11:49:17 Nothing wrong with using Data.HashTable if that's what you need 11:50:36 Deewiant: I seem to recall that Data.HashTable is strongly deprecated. 11:50:47 Deewiant: You may be thinking of the http://hackage.haskell.org/package/hashtables version. 11:50:52 Which is not the base Data.HashTable module. 11:51:05 v Pravde net izvestiy, v Izvestiyakh net pravdy 11:51:10 Actually I didn't even know about that 11:51:17 Data.HashTable doesn't say it's deprecated 11:52:01 Deewiant: Well, I know that people who use HashTable are yelled at :-) 11:52:14 Probably because they don't have a good reason for using it 11:52:28 http://gregorycollins.net/posts/2011/06/11/announcing-hashtables is pretty biased, obviously, but comes down to "lol the structure sucks". 11:52:51 /home/elliott/Code/GPipe/src/Resources.hs:124:62: 11:52:51 No instance for (Data.ListTrie.Base.Map.Map 11:52:51 Map (ShaderKeyNode, [Int])) 11:52:51 arising from a use of `TrieMap.lookup' 11:52:53 Deewiant: This your fault? 11:53:17 Gah, the GitHub commit is older than the targz 11:54:13 elliott: i thought the hashtable implementations had been greatly improved 11:54:18 oerjan: in base? 11:54:20 i was unaware 11:54:23 but maybe it hasn't reached that module 11:54:28 elliott: Don't think so, no 11:55:05 elliott: i dunno, but why wouldn't they replace the base version if there are improvements... 11:55:50 oh there was this GC card marking thing, which presumably helps for all implementations... 11:56:05 but i guess that's old news now 12:01:30 hahahaha wow 12:01:33 the hierarchical layout of this package 12:01:34 is constructed 12:01:37 entirely from the hierarchical packages 12:01:41 importing and reexporting flat-hierarchy packages 12:01:42 like 12:01:46 Graphics.GPipe.FrameBuffer 12:01:47 is just 12:01:50 import OutputMerger 12:01:54 with a bunch of re-exported stuff 12:01:56 from that module 12:02:00 beautiful 12:03:08 -!- augur[sleep] has changed nick to augur. 12:07:25 dear GOD this code is horrible 12:10:01 extensions: ParallelListComp 12:10:02 MultiParamTypeClasses 12:10:02 NoMonomorphismRestriction 12:10:02 ScopedTypeVariables 12:10:02 FlexibleContexts 12:10:02 FlexibleInstances 12:10:04 EmptyDataDecls 12:10:06 GeneralizedNewtypeDeriving 12:10:08 TypeFamilies 12:10:11 wtf is that shi 12:10:12 TypeOperators 12:10:14 are you kidding me 12:10:14 fuck haskell 12:10:25 "And the LORD heard Elliott, and He smote the code with fire and obliterated it from the world. Then He got annoyed when elliott complained of his burning computer." 12:10:28 Patashu: this has nothing to do with haskell 12:10:36 and those are all reasonable extensions 12:10:40 i'm complaining about the way they're being used 12:32:10 Deewiant: OK, seriously, how the heck could cabal compile a module, but with all the same extension flags set, GHCi be unable to load it because of a missing list-tries instant? 12:32:11 instance 12:33:29 list-tries uses CPP, maybe that's being somehow problematic? 12:33:43 Although that shouldn't cause that kind of error 12:33:44 So beats me 12:35:01 Deewiant: I sure hope it isn't recompiling list-tries when I load it in ghci 12:35:05 ghc --make with the same flags also fails 12:35:34 Deewiant: Well, I do have to do "-hide-package monads-tf", so that Control.Monad.Reader imports correctly in the module I'm compiling 12:35:44 What's wrong with those extensions? 12:35:44 But I don't think there's any way for list-tries to observe this and fail to provide an instance because of it 12:37:40 Sgeo: Nothing. 12:39:21 elliott: WFM 12:39:37 * Sgeo wonder how much that lucid dreaming sleeping mask is 12:40:01 Deewiant: I've got a conveniently-clonable repository that proves it doesn't WFY :P 12:40:14 Darn 12:40:39 git://github.com/ehird/GPipe.git :-P 12:40:51 (src/Resources.hs, to be specific; warning: hideous) 12:40:55 * Sgeo has no desire to muffle sounds at night 12:41:04 What if there's an emergency of some sort? 12:41:04 Sgeo: wat 12:41:32 http://www.sleepmaster.us one of my Google results. Also, not exactly what I'm googling for anyway 12:42:15 http://www.amazon.com/Dreamer-Lucid-Dreaming-Induction-Device/dp/B003EH4V8I/ref=sr_1_2?ie=UTF8&qid=1312288764&sr=8-2 ok, that's a bit expensive 12:42:25 well duh, it does induction 12:42:36 as oerjan can tell you, that's very difficult. 12:42:59 lol 12:44:07 -!- TeruFSX has joined. 12:44:38 "Proof by Engineer's Induction: Suppose P(n) is a statement. 1. Prove true for P(1). 2. Prove true for P(2). 3. Prove true for P(3). 4. Therefore P(n) is true for all n." 12:45:10 elliott: 12:45:11 Warning: This package indirectly depends on multiple versions of the same 12:45:11 package. This is highly likely to cause a compile failure. 12:45:11 package GPipe-1.3 requires containers-0.3.0.0 12:45:11 package list-tries-0.4.1 requires containers-0.4.0.0 12:45:27 (cabal configure) 12:45:39 Deewiant: Hmm. 12:45:58 Oh, duh. 12:46:02 build-depends: containers >= 0.3 && < 0.4, 12:46:03 Bad. 12:46:25 Deewiant: Still -- not sure how that should change my ghci results. 12:46:31 Deewiant: I mean, it's not looking at the cabal file. 12:46:59 And it works with the cabal compile, anyway ;-) 12:47:25 elliott: wai 12:47:46 Deewiant: So, erm, wait, list-tries' containers dependency is a bit wide-ranging 12:47:49 elliott: So what was the issue, 'cabal build' works but 'ghci src/Resources.hs' doesn't? 12:47:55 Is it meant to pull in point-three or point-four 12:48:09 Deewiant: cabal build works but ghc --make -hide-package monads-tf (ALL THE EXTENSION FLAGS) src/Resources.hs doesn't 12:48:14 (Similarly for s/ghc --make/ghci/) 12:48:56 It's meant to pull in the latest you've got 12:49:17 It worked with point-two until last september when I pulled out the workarounds for it 12:51:24 Heh 12:51:34 Anyway, I don't know what cabal does with that multiple versions stuff 12:52:09 I can imagine it building everything against 0.3 and then ghci looking only at list-tries's dependency on 0.4 (since that's what it was built against) and that not working then 12:52:12 Or something 12:52:25 Eurgh 12:52:29 But why would it do that 12:52:34 There is no multiple versions stuff in the source 12:52:38 Like said, I don't know what it does 12:52:38 That's purely in the cabal file 12:53:09 This is going to make my modifications quite difficult :) 12:53:13 'cabal build' would grab whatever it thinks is fine, and I don't know what it thinks is fine if that depends on 0.3 but its dependencies on 0.4 12:53:41 'ghc'/'ghci' would look at 'ghc-pkg describe list-tries' (and for all the other dependencies) and go 'ah, 0.4' 12:53:46 elliott@katia:~$ ghc-pkg list | grep containers 12:53:47 WARNING: there are broken packages. Run 'ghc-pkg check' for more details. 12:53:47 containers-0.4.0.0 12:53:47 containers-0.3.0.0 12:53:47 ah hm 12:53:57 $ ghc-pkg check 12:53:57 There are problems in package hashed-storage-0.5.7: 12:53:57 dependency "binary-0.5.0.2-b471fd4ae9e6a992eed4cf652dba019b" doesn't exist 12:53:57 The following packages are broken, either because they have a problem 12:53:57 listed above, or because they depend on a broken package. 12:53:58 hashed-storage-0.5.7 12:54:00 darcs-2.5.2 12:54:01 ah hm 12:54:04 what is going on ;_; 12:54:06 That helps as well :-D 12:54:22 * elliott installs that binary... 12:54:23 But I guess it shouldn't matter since those aren't being used here 12:55:31 $ ghc-pkg check 12:55:32 There are problems in package list-tries-0.4.1: 12:55:32 dependency "binary-0.5.0.2-67c6c6f05b738dc39b1e1d3f0e7a53aa" doesn't exist 12:55:32 The following packages are broken, either because they have a problem 12:55:32 listed above, or because they depend on a broken package. 12:55:32 list-tries-0.4.1 12:55:34 GPipe-1.3 12:55:36 GPipe-TextureLoad-1.0.2 12:55:38 Deewiant: help 12:55:42 Hmm 12:55:44 help :D 12:55:47 :-D 12:55:56 $ cabal install binary-0.5.0.2-67c6c6f05b738dc39b1e1d3f0e7a53aa 12:55:56 Resolving dependencies... 12:55:56 No packages to be installed. All the requested packages are already installed. 12:55:56 If you want to reinstall anyway then use the --reinstall flag. 12:56:02 ok it wants 12:56:03 two different hashes 12:56:05 of the same library 12:56:17 cabal install --reinstall binary-0.5.0.2 and everything that depends on it 12:56:25 How do I know what depends on it :P 12:56:29 ghc-pkg check ;-P 12:56:46 I thought there was no Cabal. :/ 12:56:48 Weeeeeeeeeeeeeeeeeeeeeell 12:56:50 The following packages are broken, either because they have a problem 12:56:50 listed above, or because they depend on a broken package. 12:56:50 list-tries-0.4.1 12:56:50 GPipe-1.3 12:56:50 GPipe-TextureLoad-1.0.2 12:56:56 Deewiant: It is missing at least hashed-storage 12:57:00 Because of the different hash 12:57:02 Or 'ghc-pkg dot' if you like 12:57:15 How did my packages get so broken :/ 12:57:19 elliott: Well, you only need to reinstall the ones that depend on the missing hash :-P 12:58:08 My alternative solution that I have sometimes applied is rm -rf ~/.cabal/lib 12:58:10 Hmm, it occurs to me that I've never used GraphViz before 12:59:32 Wow 12:59:35 dot sure does fail on ghc-pkg 13:00:05 Fifteen thousand by one thousand three hundred 13:00:08 The recommendation was ghc-pkg dot | tred | dot -Tpdf >pkgs.pdf 13:00:12 Did you run tred? 13:00:21 Who turned red? 13:00:30 elliott soon, if not already 13:00:47 Deewiant: That helps... a bit 13:01:38 Deewiant: There appears to be no binary on this graph 13:01:53 Oh, there it is 13:02:24 Deewiant: Apparently list-tries just depends on containers and dlist 13:02:46 It should depend on binary and base as well 13:02:57 Well, it doesn't :-) 13:03:00 I guess base is omitted 13:03:10 * elliott tries reinstalling binary, list-tries, GPipe, GPipe-TextureLoad 13:03:17 ghc-pkg describe doesn't, it seems strange that ghc-pkg dot would 13:03:27 You sure it's not because of the tred 13:03:35 Might be 13:03:38 What does tred do 13:03:51 I guess not because containers doesn't depend on binary 13:03:58 tred - transitive reduction filter for directed graphs 13:04:13 But bytestring depends on binray 13:04:23 And I bet something that list-tries depends on depends on binary :P 13:04:25 Or GPipe 13:04:26 I don't know 13:05:05 Now to recompile binary, hashed-storage, and darcs 13:05:07 base doesn't 13:05:15 containers depends only on array and base, which don't 13:05:23 dlist depends only on base, which doesn't 13:06:34 GPipe depends on everything, though :-P 13:12:14 $ ghc-pkg check 13:12:14 There are problems in package list-tries-0.4.1: 13:12:14 dependency "binary-0.5.0.2-67c6c6f05b738dc39b1e1d3f0e7a53aa" doesn't exist 13:12:14 The following packages are broken, either because they have a problem 13:12:14 listed above, or because they depend on a broken package. 13:12:14 list-tries-0.4.1 13:12:16 GPipe-TextureLoad-1.0.2 13:12:18 GPipe-1.3 13:12:20 JESUS FUCKING CHRIST 13:12:22 How did my packages get so broken :/ <-- sounds like augustss's (?) "butterfly" conflicts? 13:12:23 It's literally toggling between those two as I reinstall binary 13:14:29 oerjan: got a link? 13:14:40 Oh well, I don't have _that_ many packages installed 13:15:01 Installing darcs, GPipe, and cid-state should get most of them 13:15:03 http://cdsmith.wordpress.com/2011/01/17/the-butterfly-effect-in-cabal/ presumably 13:15:05 elliott: if you aren't having a conflict within a single application, you might try cabal-dev 13:15:19 yeah I've considered cabal-dve 13:15:33 Oh I need to install hscolor too 13:15:35 Argh 13:15:40 Which needs to be done bootstrappingly 13:15:44 elliott: "What [cabal] does is certainly… suboptimal. When you build twitclient, it will recompile twittertags against parsec-2.1, which will break superblog. If you then reinstall superblog to fix it, Cabal will recompile twittertags against parsec-3.1, and break twitclient… and so on, ad infinitum." 13:15:48 Because I'm OCD enough to die if hscolor doesn't get hscolor documentations 13:15:54 Deewiant: BUT THEY'RE THE _SAME_ _VERSION_ 13:16:00 How can the same version have two hashes???????????? 13:16:15 Dependenciesbase (<2.0), bytestring (≥0.9) or 13:16:15 base (≥2.0 & <2.2) or 13:16:15 base (≥3 & <3.0), bytestring (≥0.9) or 13:16:15 array, base (≥3.0), bytestring (≥0.9), containers 13:16:16 Argh 13:16:17 That's how 13:16:18 FML 13:16:34 What's that, Binary.cabal? 13:17:08 Well, from Hackage, but yeah 13:17:23 So different hashes because different dependencies 13:17:26 Although, wait 13:17:30 "≥3 & <3.0" 13:17:31 Deewiant: right 13:17:32 Right, so the butterfly effect in this case is binary getting built against different stuff 13:17:34 There's no way that one is getting selected 13:17:38 I guess it's bytestring 13:17:41 Argh 13:17:47 I guess I should nuke ~/.cabal and ~/.ghc, right? 13:17:56 And then install binary manually, I guess 13:17:59 Argh 13:18:05 I don't even know why list-tries got built against different stuff 13:18:12 I wouldn't nuke .cabal unless you save .cabal/config 13:18:19 Is it because GPipe has that old containers dependency? 13:18:23 containers (0.3.*) 13:18:32 And binary just depends on "containers" 13:18:38 binary is old :-P 13:18:49 That doesn't explain anything 13:19:01 It somewhat explains its dependency style 13:19:18 GPipe pulls in list-tries (which needs containainers and is ok with point three), and also pulls in containers which MUST be zero point three; and binary gets pulled in 13:19:24 But we can't use a binary built against containers zero point four 13:19:30 So cabal builds a binary against containers zero point three 13:19:33 Links list-tries and GPipe against it 13:19:34 Right? 13:19:56 So if I change GPipe's containers dependency to "containers >= 0.4 && < 0.5,", everything should be fine 13:20:02 Sounds plausible 13:20:06 Deewiant: Anyway if binary is old, why do you depend on it :-P 13:20:17 Somebody sent me a patch 13:20:27 "Hey, depend on this" and I was like "ok" 13:20:38 (They wanted Binary instances) 13:20:43 It would simplify my life were you to remove that dependency :-P 13:21:00 I think a lot of people use Binary for stuff 13:21:08 So make list-tries-binary? 13:21:17 With the instances? :-P 13:21:19 Yes. 13:21:23 That's the "standard" thing, at least. 13:21:33 Howso 13:21:56 Deewiant: Whaddya mean 13:22:06 There's plenty of "instance glue" packages out there 13:22:34 Just put them in Data.ListTrie.Binary 13:22:36 Aren't orphan instances supposed to be bad 13:22:47 Deewiant: That's a controversial opinion :-P 13:22:54 They work fine 13:23:18 And in this case it's pretty unambiguous 13:23:27 Because you'd only want one instance of Binary 13:23:32 And it'd be "blessed" 13:24:37 Fair enough I guess 13:24:58 As you may have gathered I'm forking GPipe to s/GLUT/GLFW-b/ 13:25:04 And hopefully reduce the ugly Vec shit 13:25:19 So my official opinion in that capacity is that I hate your binary dependency :-) 13:25:42 -!- Taneb has quit (Read error: Connection reset by peer). 13:26:42 elliott: btw i realized that i might be able to reorganize if (!a) { a = C1*b+D1; b=0; } as b = C1*b+D1; if (a) { b = (b-D1)/C1; } modulo some moving around, so the 3-cell attempt is not quite dead yet. 13:27:00 oerjan: woot 13:28:53 -!- oerjan has quit (Quit: Later). 13:29:43 elliott: Too bad, the Set types need the instance for an unexported type 13:30:24 Deewiant: Eh? 13:30:48 As in: I'm not sure the instances can be defined with just the public API 13:31:02 Then your API is not good enoug :P 13:31:03 enough :P 13:31:35 I mean, if someone can't implement their own alternate binary serialisation for some other package with your aPI, that kind of sucks 13:40:49 Haha, shit, I clobbered cabal-install 14:01:37 Deewiant: Hooray, now it works 14:08:10 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:08:56 It is ridiculous how many maps this thing has 14:08:59 Just to support multiple windows 14:09:02 Does anyone use multiple windows 14:09:05 Even with GLUT 14:11:03 -!- MSleep has changed nick to MDude. 14:17:57 -!- Taneb has joined. 14:18:29 -!- Patashu has quit (Ping timeout: 240 seconds). 14:21:54 Deewiant: Do you know of a Haskell reformatter tool, GPipe's code is really right-leaning and just hideous 14:30:29 ?hoogle (a -> m ()) -> Maybe a -> m () 14:30:29 Data.Foldable traverse_ :: (Foldable t, Applicative f) => (a -> f b) -> t a -> f () 14:30:29 Data.Foldable mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m () 14:30:29 Prelude (=<<) :: Monad m => (a -> m b) -> m a -> m b 14:32:08 where takeOne a = case Map.lookup w a of 14:32:09 Nothing -> Left $ Map.elemAt 0 a 14:32:09 Just t -> Right t 14:32:09 Sigh 14:34:53 -!- lament has joined. 14:42:49 Does that just lookup again if the lookup failed? :-P 14:43:11 Oh, no, 0 14:44:56 Deewiant: I thought the (Map GLUT.Window TextureObject) would translate to (Maybe TextureObject) 14:45:00 Apparently not 14:45:18 I would think it'd just be TextureObject, but, haha no, because it treats the Left and Right results differently there 14:45:29 In that the Right result just sets the textureBinding but the Left result initialises everything 14:45:34 I have no clue what it's actually trying to do 14:49:02 -!- copumpkin has joined. 14:49:08 -!- CakeProphet has joined. 14:49:08 -!- CakeProphet has quit (Changing host). 14:49:08 -!- CakeProphet has joined. 15:21:12 -!- lambdabot has quit (Ping timeout: 252 seconds). 15:32:15 Is there a way to tell git you moved a file after-the-fact? 15:33:01 What I tend to do is git rm the old location and git add the new 15:33:16 Maybe there's a better way 15:34:26 Doesn't that make it not record it as a rename 15:34:47 It should detect it, if you check git status it should say it was renamed 15:37:48 Okay 15:37:57 Stupid heuristics 15:43:00 Hmm, wonder if I should migrate it to another vector/linear algebra library 15:43:03 vect or hmatrix or repa or something 15:47:15 -!- azaq23 has quit (Ping timeout: 252 seconds). 15:55:59 Move it back and then "git mv" it for reals? 15:57:09 That's the Boering 747 solution. 15:57:40 Strictly speaking that's not how you "tell git you moved a file after-the-fact" 16:04:19 The Vec library looks like how my code ends up before I realise I've made a terrible mistake and abandon it. 16:11:04 -!- lament has quit (Ping timeout: 252 seconds). 16:11:20 -!- Nisstyre has quit (Ping timeout: 264 seconds). 16:13:46 -!- derrik has joined. 16:24:13 -!- Nisstyre has joined. 16:31:35 -!- elliott has quit (Remote host closed the connection). 16:32:18 -!- elliott has joined. 16:37:29 -!- MigoMipo has joined. 17:05:41 copumpkin: do you have a link to that generalised static-length vector fold you linked a while ago? it was on hpaste 17:05:58 foldr is easy to write 17:06:01 foldl is tougher 17:06:06 should be on hpaste though 17:06:20 http://hpaste.org/41453 17:07:02 thanks 17:10:31 hmm, it'd be nice if the VecFlip stuff could be abstracted out somehow... 17:12:10 mapV f = unCev . foldrV (\x xs -> f x -: xs) (Cev V) 17:12:14 I guess that's good enough 17:13:06 -!- augur has quit (Remote host closed the connection). 17:28:28 -!- Taneb has quit (Ping timeout: 260 seconds). 17:32:31 OK, the Museum of Scotland is RUINED FOREVER. 17:45:54 Although it turns out that antimony is really pretty. 17:46:03 Why do I only fall for highly toxic elements? 17:49:33 -!- sebbu has quit (Ping timeout: 246 seconds). 17:50:29 -!- sebbu has joined. 17:56:13 -!- sebbu has quit (Read error: Connection reset by peer). 17:56:38 -!- sebbu has joined. 17:56:39 -!- sebbu has quit (Changing host). 17:56:39 -!- sebbu has joined. 18:09:20 -!- pingveno_ has joined. 18:10:11 -!- pingveno_ has quit (Client Quit). 18:10:33 -!- pingveno has joined. 18:17:56 -!- Taneb has joined. 18:19:13 Well, thanks to Scandinavia in the World, I've started swearing in vilely mispronounced Finnish 18:26:20 s/in/and/ 18:26:32 Scandinavia outside the World. 18:26:50 I type pseudophonetically 18:26:55 s/s\/in/s\/\\ Scandandavia, sounds funky. 18:37:36 I really should stop typing phonetically 18:39:09 http://www.artchive.com/artchive/m/magritte/telescop.jpg 18:40:18 Nice 18:40:47 next to the random place i found it on a forum someone said "Note that you can only see when you look through the glass. I saw this one in person, and it was stunning. There's something frightening about the black outside. " 18:45:18 Parting channels in Quassel is a bit more aggrivating than it needs to be 19:16:26 elliott, Phantom_Hoover update 19:18:28 So what does the updated Phantom_Hoover do that the old one didn't? 19:19:11 Backflips. 19:19:22 ...I read MSPA too, guys 19:20:00 Taneb: You don't count as human, though. 19:20:10 EXILES 19:20:27 THE SUSPICIOUS LACK OF IRONY IN THE UPCOMING REVALATION 19:20:38 You misspelled revelation. 19:20:45 I misspell nothing. 19:21:04 Speech is the natural form of the language, spelling is based on speech 19:21:38 Taneb: both are natural forms of language.. 19:22:41 your spelling may suck so bad that it cannot be considered language.. then it's not natural 19:24:11 Taneb, welcome to the English language! 19:25:33 ohai 19:31:39 -!- monqy has joined. 19:32:46 * pikhq_ is tempted to write a partial git implementation. Anyone think of reasons I shouldn't? 19:33:02 There is absolutely no reason to? 19:33:06 how bothersome would it be 19:33:08 Taneb: Aside from that. 19:33:22 monqy: Actually, the core semantics of git seem utterly *simple*. 19:33:39 It's just a fairly simple immutable data structure. 19:35:31 I'll help, if I can 19:38:00 -!- derrik has left. 19:38:19 monqy: hi i forked gpipe into glfwpipe 19:38:22 also bye 19:39:26 :o 19:41:55 However, I probably will not be able to help 19:42:09 I'm here to make myself feel stupis 19:42:20 s/stupis/stupid/ 19:43:08 -!- elliott has quit (Ping timeout: 264 seconds). 19:57:08 -!- oerjan has joined. 19:59:20 I feel like changing the Numberwang spec so its less easily proved Turing Complete 20:00:39 Deewiant: Do you know of a Haskell reformatter tool, GPipe's code is really right-leaning and just hideous 20:00:58 there was a reddit thread about this just last week 20:01:06 what does right-leaning mean help 20:01:30 monqy: too much nesting of indentation levels, i assume 20:01:44 Fascist? 20:02:19 http://www.reddit.com/r/haskell/comments/j31f4/is_there_a_haskell_code_formatter/ 20:02:31 (includes link to stackoverflow) 20:05:02 Well, thanks to Scandinavia in the World, I've started swearing in vilely mispronounced Finnish 20:05:14 perkele hakkapellittä! 20:05:31 I'm assuming perkele isn't pronounced perk-ell-ay 20:05:53 (i'm not sure if that ä should be an a) 20:06:05 perky-lay 20:06:14 Taneb: i think that's about as close as you could expect from an englishman 20:06:32 well the perk might need some work 20:06:42 oerjan: "Hakkapellittä" -- "without a hakkapelti". ITYMM "hakkapeliitta". 20:06:53 fizzie: quite possibly 20:07:12 fizzie: but then it was supposed to be vilely mispronounced, anyway 20:07:13 It's not much of a swearword really. 20:07:17 Taneb: http://www.youtube.com/watch?v=u1PjDNWFOAc 20:07:41 fizzie: maybe not, but it sounds like one to a norwegian 20:07:54 dæven hakke og skalpere 20:08:19 I managed to read that as "Does Haskell have Shakespeare?" 20:08:22 Don't ask how 20:09:11 ...Does Haskell have Shakepeare? 20:09:38 except for replacing the "dæven" by a euphemism, i think that's the signature swearing style of an old norwegian comic character, "obersten" 20:10:10 Shakespeare's page only has C and Perl implementations, no Haskell there. 20:10:35 A challenge! For a better programmer than I 20:11:27 Taneb: i think your "than I" is actually grammatically incorrect in that position *MWAHAHAHA* 20:11:43 you can use any finnish word as a swear word (as long as no-one knows finnish) 20:11:48 http://www.youtube.com/watch?v=b82jMIkZMv0#t=34s for example 20:12:15 (it's "for me", so it should be "for ... than me") 20:12:17 Olen käsine! Ei, olen kaksi käsineet! 20:12:42 s/et!/ttä!/ 20:12:53 Or "kahdet käsineet". 20:12:57 otoh you _could_ think of it as eliding a final "am". hm... 20:13:49 "I am a glove! No, I am two gloves!" is my standard foreign phrase 20:14:26 Then it's "kaksi käsinettä"; the "kahdet käsineet" variant would be "two pairs of gloves". 20:14:44 Eg er ein hanske! Nei, eg er to hanskar! 20:14:53 (there's your nynorsk) 20:15:04 Or "two sets of gloves" in general, but I guess you can assume they're pairs 20:15:32 hmm, I was about to write the swedish, but half-way through realized I was writing it in english 20:15:54 Jag är en handske! Nej, jag är två handskar! 20:16:09 Though I think "hanska" is perhaps closer to "glove" maybe. Or a slightly less formal term anyway. (No points for guessing from where *that* word comes from.) 20:16:45 I think it's just the more informal variant 20:17:15 Wiktionary translates "käsine" as "any garment used to protect a hand, such as glove or mitten", while hanska/hansikas is only "glove". 20:17:41 And indeed I can imagine a non-glove "käsine". 20:18:06 swedish has "vantar" for mittens and less formal gloves 20:18:21 "vanttuut" 20:18:24 less formal or technical, in case of e.g. surgical gloves 20:18:46 Vanttuut ja lapaset. 20:19:29 "vanttuut /pl/ 1. (dialectal) One ore more pairs of knitted mittens or mitts. Singular form vantus is only rarely used." --wiktionary. Oo, it's quite comprehensive. 20:20:05 vott are you talking about 20:20:43 Laughing at this headline: http://www.bbc.co.uk/news/technology-14370878 20:20:55 though we actually call mittens something like thumbmittens in swedish 20:21:36 Ég er hanska! Nei, ég tvær hanska! 20:22:14 "The report has sparked anger from IE supporters, who have threatened AptiQuant with legal action. 20:22:16 For you Íslendingar 20:22:17 " 20:22:48 NihilistDandy: are you from iceland? 20:22:52 Not even a little 20:22:57 I just studied it for a while 20:23:40 I quite like it, though 20:23:44 oerjan: Are you even allowed to quote things without following-up with a pun? 20:24:11 I think it started when the volcano was blowing up, and I wanted to learn how to pronounce its name properly 20:25:15 fizzie: i cannot comment on that, i may be involved in a relevant class action suit 20:25:30 My translation's probably a bit off, really :| 20:26:04 NihilistDandy: so from there you went to learning the whole language? wow... 20:26:25 olsner: I don't need a lot of motivation to learn a language :D 20:26:54 You could be the next Tolkein! 20:27:03 Tolkien, even 20:27:18 No, definitely Tolkein. 20:27:26 Who'd want to be Tolkien? 20:27:28 Also, I once tried to learn Elvish when I was like 8, but I got bored. 20:27:35 Taneb: What with him being dead? Not me. 20:27:42 might be missing an article for the "a glove" case there, but I don't know icelandic well enough to know if they use those the same way we do 20:27:44 dammit i may no longer be the most awesome /// programmer 20:27:54 looks like it's saying "I am glove" 20:28:04 I AM GLOVE 20:28:08 I AM TOO GLOVE 20:28:35 (that felt like it needed saying in all-caps) 20:28:42 Too glove for my shirt, like the popular song goes. 20:29:15 IIRC articles are a bit different in Icelandic. 20:29:17 Je suis trop gants pour ma chemise? 20:30:03 I'm too gloves for my shirt. lol 20:30:13 Not just Tolkein, maybe the Tolkeist. 20:30:56 Tolkzwei? 20:31:21 Ég er hanska! Nei, ég tvær hanska! <-- isn't there an "er" missing in the last sentence? 20:32:00 Ég er of hanska fyrir skyrtu mína. 20:32:35 olsner: in any case istr icelandic has no indefinite article 20:34:03 oerjan: Good point 20:34:12 And I probably should have used tvö 20:34:31 Maybe. I can barely remember, anymore 20:34:34 NihilistDandy: if you come to the next bostonhaskell, there's an icelandic dude 20:34:41 copumpkin: Shweet 20:34:44 I'll have to brush up 20:34:46 -!- boily has quit (Ping timeout: 255 seconds). 20:35:01 Those leaves are getting annoying 20:35:02 Not a lot of use for Icelandic in the middle of nowhere where I am :D 20:36:40 I think you'd have to be in the exact same middle of nowhere as iceland to find a use for it :P 20:37:08 oerjan: wikipedia agrees with you 20:37:23 Iceland has a comparitive population with Northumberland 20:38:51 Iceland's awesome. I'd like to teach there 20:39:01 I'd like to teach Maths 20:39:29 i love the lava live and it loves me 20:40:22 Taneb: Me, too 20:40:37 But you said you want to teach Iceland! 20:40:42 Iceland is not Maths! 20:41:24 i've been wondering if icelandic makes up its own math terms, and up to what level there are enough icelanders to do it... 20:42:19 Sshh.. 20:42:22 copumpkin: you should ask the icelandic dude what zygohistomorphic prepromorphism is in icelandic 20:42:23 They may be listening in 20:43:07 oerjan: They probably just reuse old words. There's some language purity movement to replace all loanwords with native Icelandic equivalents 20:43:28 NihilistDandy: well it's that purity which makes it an interesting question, duh 20:43:29 There's one of those for English 20:43:43 oerjan: I'm still not clear on what zygohistomorphic prepromorphism is in English :/ 20:43:48 copumpkin: maybe he'll make one up on the spot 20:44:16 NihilistDandy: "zygohistomorphic prepromorphism". hth, and congratulations on speaking a rampantly stealing language. 20:44:18 oerjan: he'd probably just repeat it to me in english 20:44:37 zygohistomorfisk prepromorfism 20:44:37 oerjan: :/ 20:44:45 there, "translated" into swedish 20:44:54 Not quite what I meant, but I should have expected that 20:45:00 olsner: *+e and you've got the norwegian 20:45:17 -morfisme? 20:45:21 yeah 20:46:10 olsner: if it gets _really_ often used, maybe we'll change the z into an s. 20:47:16 oh, right, you do that funny respelling words the way they sound 20:47:54 olsner: well you changed the ph to f too 20:48:13 true 20:52:18 -!- zzo38 has joined. 20:52:33 Is the "clog" broken? 20:53:10 It's clogged 20:53:15 maybe it's too glove 20:53:26 Hang on.. 20:53:26 I'm too glove for this clog 20:53:42 Inform 7 docs? 20:54:21 -!- GreaseMonkey has joined. 20:55:43 -!- MigoMipo_ has joined. 20:56:47 What about Inform 7 docs? 20:56:57 You just reminded me of them 20:57:11 OK. 20:58:25 -!- MigoMipo has quit (Ping timeout: 258 seconds). 21:00:13 lol 21:00:51 english language would steal a word, and then if anyone else used it it would be called loaned from english 21:01:26 Worked out why I was reminded of Inform 7 docs 21:01:29 "Heatwave bone breaks clog hospital." 21:01:30 "whaddayamean, we stole it. it's ours now." 21:01:46 Finders keepers 21:23:40 -!- lambdabot has joined. 21:24:59 Is it too late to significantly change the Numberwang spec? 21:25:27 7 21:25:40 yes, they've already made many episodes of mitchell and webb with numberwang, too late to change now 21:25:55 Fair enough 21:26:18 But I was referring to the one of the four+ esoteric programming languages by that name that I invented 21:26:51 it is never too late 21:32:22 well if you invented four+ esoteric programming languages named numberwang i guess it won't really matter if you make one more. 21:32:35 Four have been invented 21:32:37 One by me 21:32:45 ah 21:32:46 As long as the total number of languages remains numberwang, all is well 21:32:56 One is undefined 21:33:12 One is useless, and is the only one thusfar implemented 21:33:20 !Numberwang 20 21:33:43 * NihilistDandy is checking his home game books 21:33:50 ye olde case sensitive bot 21:33:54 That's not numberwang 21:33:56 One is a rather lame BF derivative 21:34:10 !numberwang 20 21:34:12 That's numberwang! 21:34:16 Lies 21:34:35 Numberwang depends on more variables than a single number 21:34:56 Have you ever played the home edition? 21:35:13 No, but I was once in the studio audience of the show 21:35:34 http://www.youtube.com/watch?v=swV3E3HPQC4 21:42:10 I want 21:44:44 ikr 21:45:20 Is it possible to use Template Haskell to implement rulebooks-based programming like Inform 7 does? 21:46:21 Are duplicate definitions allowed in Haskell? 21:47:50 I believe so 21:48:35 um you cannot define the same identifier twice in the same scope 21:49:29 Even if the definitions are identical? 21:50:08 i don't recall it being allowed, so i would be surprised if it is supported 21:50:15 > let x = 3; x = 3 in x 21:50:16 Conflicting definitions for `x' 21:50:17 Bound at: :1:4 21:50:17 so, no. 21:51:51 OK. 21:52:26 How much do you know about Template Haskell, though? 21:52:39 Taneb: you've seen numberwang *LIVE*!? 21:52:40 i know almost nothing about it 21:52:42 -!- MigoMipo_ has quit (Read error: Connection reset by peer). 21:52:57 as i've never used it myself 21:53:20 it's for compile-time metaprogramming, afaik 21:55:17 There's probably a GHC extension that allows for conflicting definitions~ 21:55:51 olsner: Nah, that was a joke. Wish I hadd. 21:55:59 meh 21:56:17 joke == lie 21:56:38 there's OverlappingInstances but that's somewhat different (only applies to selecting which class instance to use for a type) 21:57:16 oh and there's something for records, i think? but they have to be defined in different modules. 21:57:37 and belong to different types. 21:57:59 Do you know, if it is allowed in Template Haskell, to have one $ command that will return something for use of the next $ command that is found if it can use it? 21:58:16 It would seem a bit difficult but I don't know much about it 21:58:43 zzo38: i don't know 21:59:09 maybe copumpkin knows, is the resident haskell expert now *evil cackle* 21:59:16 *he is 21:59:39 Can you compile Haskell codes into LLVM codes? I have read LLVM documentation it does suppports Haskell calling convention 21:59:52 (he just become a mod of reddit's haskell subreddit) 22:00:27 zzo38: Some people have been working on it 22:00:31 I do not know how mature it is 22:00:50 zzo38: haskell has an LLVM backend yes, and there's also i believe a package for using llvm's api from haskell 22:01:21 I am not looking for the package for using LLVM's API from Haskell, but thanks for information anyways 22:01:50 I do want to use LLVM's API from C, although I don't know everything about it 22:02:18 as for mature, i think the llvm backend is the recommended one now, and the gcc one has been deprecated 22:02:56 Can you use LLVM with the GHC extensions of Haskell? 22:03:14 well it's a backend for ghc... 22:03:49 Does it have any syntax for adding direct LLVM codes in a Haskell program? 22:03:50 i would assume it supports essentially everything ghc does 22:04:44 zzo38: hm i don't know if you can do that while compiling, there are so many stages 22:05:23 i think i saw a blog post about creating llvm code in a haskell program and then running it 22:07:58 Not what I am looking for, though. What it is, is if there is something for adding LLVM codes into a program similar to "asm" command in C, except using LLVM codes instead of native codes, and for Haskell instead of only with C 22:08:49 like inlining llvm into haskell? 22:08:56 So you want inlining 22:09:43 Yes 22:11:11 well i found an old reddit thread which doesn't look _that_ promising http://www.reddit.com/r/haskell/comments/cpiwm/ghc_llvm_backend_add_support_for_inline_assembly/ 22:14:09 given that you cannot currently even inline ghc _core_, i somewhat doubt it's possible to inline lower level stages 22:14:53 (Actually I would like also supporting inline LLVM codes in other programming languages too, including C and so on, is something like inline assembly codes but can be portable to different computers) 22:15:22 Aww, you can't inline Core? 22:15:25 sadface 22:17:36 NihilistDandy: there isn't currently a _parser_ for core afaiu 22:17:56 Ah 22:18:39 when i looked, i found a badly tested ghc-api function for compiling a module from the internal core representation in ghc 22:19:23 Computer Modern fonts doesn't seem to have lowercase Greek letters without italic 22:19:26 but according to the docs, that only has been tested for a single, whole module 22:20:24 mind you this is coincidentally the only looking into the ghc-api i've done, so i may not be the best person to ask :P 22:21:13 (i kept wondering why the reflection package wasn't implemented in core rather than the ridiculously convoluted portable oleg solution) 22:22:09 zzo38: i guess they're not much used in math 22:22:36 but you'd think there was something for writing text in greek 22:23:46 Of course a parameter file can be written so that it is not slanted, but it would still be italic style and also would still not be a standard file. 22:24:58 zzo38: http://stackoverflow.com/questions/6246310/inline-assembly-in-haskell may be relevant, although that too doesn't seem to allow putting anything directly in the haskell code 22:26:57 Can it be done, declare an external function and then write that function in LLVM telling it to be always inline, and then put the LLVM files together? 22:27:39 -!- Patashu has joined. 22:27:48 hm i don't know if that will work 22:28:15 (as in i don't know, not that i'm doubting it) 22:28:26 -!- nooga has joined. 22:28:28 hi 22:28:35 hi nooga 22:29:02 I'm looking for some digestive papers on category theory 22:29:45 sorry, we only have categorical papers on digestion theory 22:30:27 -!- azaq23 has joined. 22:30:28 and, so far, I've got some theoretical slides on digestion category 22:30:50 ic 22:37:00 * oerjan learns that there exists http://hackage.haskell.org/package/derp 22:37:20 How appropriate 22:38:22 the backronym looks plausible, i wonder if it was intentional... 22:40:23 I'm going for intentional 22:40:30 I'da called it DP 22:41:56 sadly there is no herp package yet 22:42:54 Heroic parsing? 23:05:15 -!- olsner has quit (Read error: Operation timed out). 23:07:48 -!- nooga has quit (Ping timeout: 258 seconds). 23:10:59 oerjan: what? 23:11:36 copumpkin: you're a haskell mod so clearly you must know everything about haskell. QED. 23:15:28 oh, duh 23:15:29 yeah 23:15:38 or maybe I know everything about haskell 23:15:42 and am therefore a mod 23:16:12 it's an isomorphism! 23:17:30 Just like Howard Curry would have wanted~ 23:18:22 oh, was that his name! 23:19:13 Yeah, I don't know what all this hyphen nonsense is about. It's the Curry, Howard Isomorphism 23:19:16 Jeez 23:21:46 hyphen hype 23:34:30 Good morning 23:34:32 -!- Taneb has quit (Quit: He's a big quitter he is.). 23:37:16 hypehen 23:53:13 !sanetemp 110 23:53:13 43.3 23:53:14 help 23:53:49 better call a doctor 23:54:22 Do doctors carry weather control devices? 23:55:02 well the Doctor probably does. 2011-08-03: 00:10:06 Probably another feature of the sonic screwdriver. 00:10:20 -!- FireFly has quit (Quit: swatted to death). 00:12:27 -!- GreaseMonkey has quit (Quit: The Other Game). 00:16:33 help 00:16:33 Phantom_Hoover: You have 11 new messages. '/msg lambdabot @messages' to read them. 00:16:40 Wait, is that the actual temperature where you are? 00:19:27 oerjan, pikhq_: There was a special in the new series... 00:19:52 * Phantom_Hoover notes that for some reason his DF fortress has no food. 00:20:06 I'll just wait for the tantrum spiral, then. 00:20:07 Phantom_Hoover: Your Dwarf Fortress Fortress? 00:20:24 NihilistDandy, I decided that it was necessary for disambiguation. 00:25:14 * Phantom_Hoover decides to dig through damp stone. 00:28:40 -!- augur has joined. 00:45:58 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 01:16:16 -!- Phantom_Hoover has quit (Quit: Leaving). 01:16:26 -!- copumpkin has joined. 01:17:57 -!- cheater__ has joined. 01:21:20 -!- cheater_ has quit (Ping timeout: 250 seconds). 01:48:18 -!- comex has quit (Remote host closed the connection). 02:09:04 -!- evincar has joined. 02:20:50 -!- lament has joined. 02:22:22 -!- oerjan has quit (Quit: Good night). 02:39:05 -!- azaq23 has quit (Quit: Leaving.). 03:03:01 -!- MDude has changed nick to MSleep. 03:47:06 -!- BeholdMyGlory has quit (Read error: Connection reset by peer). 04:14:41 -!- evincar has quit (Quit: To bed!). 04:22:30 -!- GreaseMonkey has joined. 04:22:30 -!- GreaseMonkey has quit (Changing host). 04:22:30 -!- GreaseMonkey has joined. 04:41:51 -!- variable has quit (Quit: I found 1 in /dev/zero). 04:42:12 I started making the prettyprinting literate Haskell program in TeX, now what I have so far it works. Now I have to make the other parts too. 04:42:58 -!- variable has joined. 04:45:21 -!- pumpkin has joined. 04:48:09 -!- pumpkin has changed nick to copumpkin_. 04:48:50 -!- copumpkin has quit (Ping timeout: 276 seconds). 04:52:42 is there a name for a numbering system where every single positive integer has a distinct symbol? 04:53:05 unary 04:53:10 I don't know. 04:53:40 nah, its the extremme opposite of unary 04:54:21 unary gives each positive integer a distinct symbol 04:55:06 i thought unary was where every positive integer got a different sized collection of the same symbol 04:55:27 aka, n is n digits long 04:55:45 unary = tick marks. 1, 11, 111, 1111 04:55:45 coppro: Are you sure? 04:55:46 etc 04:55:46 and i'm talking about where n is one digit long for all n 04:56:00 i guess you could call it base infinity 04:56:05 zzo38: yes 04:56:09 he's talking about an infinite number of symbols. I don't think that has a name. 04:56:10 quintopia: Yes it is wat I would think 04:56:13 -!- copumpkin_ has changed nick to copumpkin. 04:56:15 quintopia: define a digit 04:56:21 usually alphabet sets are restricted to be finite. 04:56:35 11 can be taken to be a single symbol 04:56:43 except it's not. it's two.. 04:56:44 that just happens to be a repitition of a subsymbol 04:56:47 in the unary system. 04:56:59 CakeProphet: suppose I have two images 04:57:00 i think you know what i mean now 04:57:07 I can make a new image by putting them next to each other 04:57:13 it is the numbering system using an infinite alphabet 04:57:14 quintopia: no because that requires an infinite alphabet which is dumb 04:57:28 it is not dumb 04:58:11 becuase youll only ever need a finite subset of the digits, its basically the same as "base x, where x is the largest number you need right now" 04:58:27 symbols aren't images though. You don't make new symbols from existing symbols. You could invent a similar algorithm for decimal system by saying that 23, 24, 25, etc are all distinct symbols. But we call these "symbols" strings, not symbols... 04:59:02 i just saw a minecraft display system where binary numbers are split into separate symbols for each number, and the each segment of the display is wired to the symbols that need to drive that segment 04:59:43 and i feel like that middle step probably has a name 04:59:58 its obviously modular to do as many different numbers as you need 05:01:35 how are the symbols constructed. 05:01:58 I think the whole "base k" term implies a positional system, and I don't think it really counts when you only ever use one digit. But that's just an opinion. 05:02:02 each is a wire 05:02:07 i could link it 05:02:23 so 1 wire = 1, 2 wires = 2, ...? 05:02:31 fizzie: i agree. which is why i originally asked 05:03:01 CakeProphet: no, there is a wire for 1, a wire for 2, a wire for 3, etc. 05:04:01 only one wire can be active at a time 05:04:54 so a symbol here is "a collection of wires distinguished by the one that is active" 05:05:12 obviously every number has a different symbol 05:06:40 the pythagoreans used a similar system "let k be symbolized by a line segment of length k" 05:09:23 okay so the wires aren't really the symbols they just signify if a symbol is on or off. What are the symbols themselves? 05:09:43 or... are they the symbols? 05:10:33 but in either case, I'd probably say that "baseless" is a good description of this numeral system. 05:10:55 this is unary 05:10:56 what is the difference between a signifier of a symbol, and a symbol 05:10:58 but I don't know of an existed term, no. 05:11:06 i'm thinking i agree with patashu 05:11:17 it is all unary in disguise 05:11:22 but it's not..... 05:11:36 it's equivalent to the system where you turn wire 1 on for 1, 1+2 on for 2, 1+2+3 on for 3... 05:11:38 which is unary 05:11:45 yes 05:11:50 in unary, you take the length of all of your symbols and that is the number that it represents. This system does not work this way 05:11:59 you could have 3 symbols turned on and they would not represent 3. 05:12:19 because the symbols could each represent a number greater than 1. 05:12:20 you could say "the distance in wires from the zero point to the active wire" 05:12:38 whether that space is filled with ones or zeroes is irrelevant 05:12:46 the greek system is unary too 05:12:58 okay so the symbols are added together? 05:13:10 they concatenate their length 1 tick marks end to end rather than side by side 05:14:11 okay so it's base 1 but there is more than one symbol. 05:15:22 nah i think it is just that unary should best be understood as "a number represented by the appropriate measurement of a potentially infinitely long/detailed symbol" 05:16:37 I'm pretty sure unary just means that you have one arbitrarily chosen symbol that represents 1, and each number N is represented by repeating the symbol N times. Changing the definition would make it inconsistent with the rest of bases. 05:16:41 thanks for clarifying my thoughts 05:16:58 There's a non-positional system of Greek numerals; they have separate digits for 1, 2, ..., 9, 10, 20, ..., 90, 100, 200, ..., 900, and then you denote numbers by a group of 1, 2 or 3 of those. But that's not quite "one symbol for each number", and I don't think it has any special name either. 05:17:02 unary is already inconsistent with the other bases 05:17:16 how so? 05:17:34 well, traditionally there is no 0. 05:17:51 the length of a base n number is log(x)/log(n) 05:18:10 for n=1, this comes out undefined 05:19:12 Base-k is supposed to have digits from 0 to k-1; so "base 1" should have just a 0; also the value of a string is d_0*b^n + d_1*b^(n-1) + ... + d_n*b^0, so if b=0 and d_n=0 for all d_n, 0 is the only number you can represent. 05:19:38 People still call it base-1 though. 05:19:42 fizzie: the choice of symbol is irrelevant. 1 is the single symbol for most unary systems, you could use 0 as well. 05:20:32 so you see again unary is inconsistent with other bases 05:20:44 yes, there is no zero, as I said. 05:21:03 in other bases, the positions of symbols matters, in unary, only the "length" of the string matters 05:21:06 CakeProphet: Well, you're entitled to your opinion; I believe saying "base K" should imply you have a positional symbol with that base, and the value of a string is computed by adding multiplied copies of base^n. That's not what happens with unary. 05:21:48 Okay, I sort-of guess it works with powers of one. 05:22:00 which is why one can write unary numbers as line segments of a prescribed length 05:23:11 I'm just saying that qhat quintopia is talking about isn't the standard definition of the unary number system, in the strictest sense. What he's talking about eitherh as a different name, is a modification of unary, or has not been named. 05:23:42 you said yourself the choice of symbol doesnt matter CakeProphet 05:24:05 yes but unary has /one/ symbol. two if you use a special zero symbol. 05:24:07 You could call unary bijective base-1 though. 05:24:10 -!- lament has quit (Ping timeout: 240 seconds). 05:24:46 so what if instead of zeroes or ones, i choose as my symbol "the number of non-wire regions between wires before the first active wire" 05:24:55 that is just as good as 0 or 1 05:25:06 each nonwire region 05:25:51 and really, the symbols dont have to be the same all the way through 05:26:14 for instance, the length of a string over the english alphabet 05:26:40 a garble of a's and b's and c's is just as good as a long line of 1's 05:26:51 since only the length defines the number 05:27:02 okay sleeptiems 05:27:11 well, that does sound quite similar to unary at least. I was going by an earlier explanation that didn't seem to fit unary. 05:35:11 Computer Modern fonts does not have the "double-sharp" sign 05:44:25 > join . replicate (length "111") $ length "11111" 05:44:26 Couldn't match expected type `[a]' 05:44:26 against inferred type `GHC.Types... 05:44:41 > join . replicate (length "111") $ "11111" 05:44:44 "111111111111111" 05:45:51 division will be a bit more difficult. 05:46:17 integer division, specifically. 05:46:35 which brings up an interesting question. If extend unary to the real numbers, then what is 1.111 05:46:52 I don't think that represents anything. 05:47:03 .1 is 1 05:47:04 I think 05:47:12 Because .1 in binary is 1/2, .1 in ternary is 1/3 and so on 05:47:16 so .1 in unary is... 1/1! 05:47:21 :eng101: 05:47:35 so the unary system can't describe all of the real numbers. 05:47:48 only integers. 05:48:21 yup! 05:48:50 just as places left of the decimal point are all equivalent, places right of the decimal point are all equivalent 05:48:59 right. 05:49:25 unary is essentially devoid of place value at all. 05:51:26 Woah o.O 05:51:29 I'm looking at the spectogram for this song 05:51:30 * Patashu np: 12120. Klippa - [So #01] The Tree [01:45/02:38] 05:51:32 and it has poplar trees in it 05:51:35 I wonder if it's a coincident 05:51:37 *coincidence 05:53:43 coincidence. It's probably just heavier in the bass frequencies. 05:54:37 I'll show you a picture 05:54:57 though it could not be coincidence, actually. There is an Aphex Twin track where Richard James encoded a picture of his face into the spectrogram (when view on a logarithmic scale) 05:55:10 *viewed 05:58:57 http://img.photobucket.com/albums/v216/Mechadragon/thetree.png 05:59:06 do you see it? 05:59:11 it's like a little forest of 8 poplars 06:08:00 There are quite a lot of "things hidden in spectrogram" songs, I believe. 06:08:17 That image looks quite coincidental though. 06:09:35 Or at least something that could easily be coincidental. 06:38:17 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 07:02:33 -!- olsner has joined. 07:21:00 -!- TeruFSX has quit (Ping timeout: 250 seconds). 07:30:58 -!- pikhq_ has quit (Ping timeout: 250 seconds). 07:30:58 -!- pikhq has joined. 07:49:17 -!- Deewiant_ has joined. 07:51:14 -!- Deewiant has quit (Ping timeout: 252 seconds). 08:10:50 -!- GreaseMonkey has quit (Quit: The Other Game). 08:15:26 -!- nooga has joined. 08:17:20 -!- copumpkin has quit (Ping timeout: 250 seconds). 08:17:45 -!- copumpkin has joined. 08:41:35 -!- zzo38 has quit (Remote host closed the connection). 08:56:12 -!- Taneb has joined. 08:56:50 Hello! 08:59:14 So, what's up? 09:01:17 Not much, I guess 09:02:00 No, it all fell down. 09:03:01 -!- Deewiant_ has changed nick to Deewiant. 09:03:50 Well, I'm now experimenting with clients 09:06:12 It doesn't sound like good PR to say that out loud. 09:10:06 No such thing as bad advertising 09:16:46 Well, just worked out I'll probably be in London on my birthday 09:17:29 And I'll be on TV the day afterwards 09:18:42 And in jail the day after that? 09:18:51 Sounds like quite a celebration. 09:20:09 IN THE SAME BUILDING WHERE RUPERT MURDOCH GOT PIED! 09:20:41 Also, I need breakfast. 09:22:30 Having breakfast now 09:27:31 Had breakfast 09:29:47 A quick breakfast. 09:30:18 A multi-level breakfast can breakfast through any number of surrounding loops. 09:35:20 -!- pikhq has quit (Ping timeout: 250 seconds). 09:35:24 -!- pikhq_ has joined. 09:42:52 -!- monqy has quit (Quit: hello). 09:45:10 I combined the wholegrain breakfast and chocolatey breakfast for maximum breakfast efficiency 09:45:40 Now I must leave 09:45:47 -!- Taneb has quit (Quit: He's a big quitter he is). 09:48:03 -!- Phantom_Hoover has joined. 09:52:37 What are the haps my friends. 09:56:00 Today it's been mostly about breakfasts. 10:19:49 -!- FireyFly has joined. 10:20:56 i hate jargon 10:21:12 eh, i mean, notations and jargons 10:24:00 it brings me to a crushing halt reading a mathematical wikipedia article 10:24:02 http://en.wikipedia.org/wiki/Rewriting_system#Abstract_rewriting_systems @ "is the transitive closure of , where is the identity relation, i.e. is the smallest preorder (reflexive and transitive relation) containing . It is also called the reflexive transitive closure of ." 10:25:44 I suppose the logical way to go forward is to examine exactly which terms i cannot understand 10:29:41 and moving on 10:34:46 -!- oerjan has joined. 10:49:31 it brings me to a crushing halt reading a mathematical wikipedia article 10:49:48 lol 10:49:50 sometimes those are ridiculous even when you _do_ know math 10:50:08 i exaggerated a bit. and typed out the answer :D 10:50:18 ok 10:50:30 but seriously it appears the way to proceed is to list the unknown terms 10:50:41 and to research them 10:50:56 sounds like something i was probably told in school 10:51:43 mhm 11:01:46 lol 11:01:47 -!- Patashu has joined. 11:01:56 I love terminology 11:02:01 it lets us say complex things quickly 11:02:04 -!- Taneb has joined. 11:02:08 transitive closure especially 11:02:12 whoever made that up is a genius 11:02:17 Hello 11:02:54 Transitive closure? 11:03:37 yes 11:05:28 does anyone know of a way of testing whether a number is even or odd in just 3 cells of bf. basically turning n,0,0 -> n, n%2, 0 or something similar which can be used to decide whether to quit a loop 11:05:35 *? 11:06:14 (basically, i'm having trouble getting my fractran encoding to _halt_ :P) 11:07:37 * oerjan checks [[Brainfuck algorithms]] 11:07:58 the body's healing process is insane 11:08:14 in 3 cells? no 11:08:49 Do they not teach the Trivium, anymore? 11:09:48 oerjan: wait do you mean 3 cells on a tape? 11:09:56 yes 11:10:06 ah 11:10:07 hmm 11:10:25 Dandy: there is no teacher:> 11:10:56 I can do an evenness test in 5.. hmm 11:11:23 oh i'm pretty sure i could do it in 4 :P 11:11:32 but that's no fun :( 11:11:43 ooh actually I can do it in 3 11:11:49 itidus20: Le sigh 11:11:51 n,n,0->n,n-1,0 11:12:09 it's important not to lose the n itself, at least if it's odd 11:12:15 oh 11:12:27 actually can still do it 11:12:32 n,n,0->n,n,n-1 11:12:40 preferably in any case 11:12:45 -!- itidus21 has joined. 11:13:31 alternately subtract two from the second and third cells 11:13:53 i don't understand what you mean 11:14:09 n,n,0->n,n,n-1->n,n-2.n-1 etc. 11:14:37 i don't see how to achieve n,n,n-1 btw 11:14:53 oh right.. 11:15:00 hmmm 11:15:07 -!- itidus20 has quit (Ping timeout: 258 seconds). 11:16:08 -!- itidus21 has changed nick to itidus20. 11:16:34 oh easy 11:16:43 n,0,0->n,n,0 11:17:09 yes that's ok 11:17:24 then until the second cell is 0, subtract one from the second cell and if (the third cell is 0) then (add 2 to the third cell) then subtract 1 from the third cell 11:17:42 you get n,0,n%2 11:18:03 you can apply this generally to take arbitrary modulus 11:18:35 um that "if (the third cell is 0)" kind of thing is actually a stopping point 11:18:57 do it backwards then 11:19:09 if (the third cell is not 0) then (subtract 2 from it) then add 1 to it 11:19:22 although that works only for base 2 11:19:42 it's not base 2, it's unbounded 11:19:56 I mean taking %2 11:20:00 hmm... 11:20:01 and i'm trying to avoid negatives 11:20:15 why? 11:20:45 that seems arbitrary 11:20:54 so it's a direct improvement on the previous 5 cell algorithm, which i don't think needs them 11:21:02 dude 11:21:08 using negatives is not a flaw 11:21:49 in any case i'm not sure your method works even with negatives. 11:22:07 recall we don't _have_ "if" as a primitive. 11:22:49 Do you need to preserve the number? 11:22:51 it has to be done with loops, and it's awkward to fit things in just 3 cells 11:23:01 Taneb: yes. at least if it's odd. 11:23:14 preferably always, since it would be the final program result. 11:23:35 Hmmm 11:23:49 -!- nooga has quit (Ping timeout: 258 seconds). 11:24:23 oerjan: given my pointer at n 11:25:19 >[-]>[-]<<[->+>+<<]>>[-<<+>>]<[->[--]+<] 11:25:37 leaves me pointing at the 0 in n,0,n%2 11:26:13 yay 11:26:48 you can shorten it a bit 11:26:48 ok it's 0,n,*n before the [-<<+>>]<[->[--]+<] right 11:26:58 yeah 11:27:11 the first block just moves you to *n,n,0 11:27:42 the second block flips the third cell from 0 to -1 as you decrement the second 11:27:43 oh and actually n,*n,0 before the [->[--]+<] 11:27:52 yeah 11:28:16 coppro: i can do moving things around myself ;P 11:28:26 I know 11:28:33 [->+>+<<]>+[>[--<--<++>>]<][<->]+ could work, haven't checked it 11:28:39 the last block is the only one actually involved in the calculation 11:28:54 coppro: erm [->[--]+<] doesn't halt if n is odd 11:29:07 oerjan: what are you talking about 11:29:14 oh wait duh 11:29:20 oh wait... 11:29:23 no I got that wrong 11:29:37 hmm 11:29:44 this would be easy if I had another 0 to work with 11:29:47 i misinterpreted, but is still expect that [--] to sometimes not halt 11:29:50 yeah 11:29:51 coppro: you don't say :P 11:30:03 *i 11:30:03 oerjan: Do you need a finite-length program too? 11:30:26 fizzie: yes... 11:30:35 oerjan: I take it relying on wraparound is bad? 11:30:49 very bad, unboundedness is essential here 11:31:15 it's supposed to a proof bf is TC with just 3 unbounded cells 11:31:25 ah 11:31:28 *be a 11:31:37 I was just about to ask for context, then I got it 11:33:24 oerjan: I'm going to bed but will think about it 11:33:35 thanks 11:35:54 wait changed my mind I have it 11:36:02 given *n,0,0 11:36:10 Taneb: that [<->] looks rather unlikely, it'll either infloop or do nothing 11:37:38 [->+<[->>+<<]] >> [-<-<+>>] < [-<+>>+<] > 11:37:48 gives you n,0,*n%2 11:37:48 Taneb: i think your main loop also infloops if n is odd 11:38:02 first block gives you 0,n/2+1,n/2 11:38:15 second block gives you n-n%2,n%2,0 11:38:29 third block gives you n,0,n%2 11:38:35 erm n/2 as in integer division? 11:38:37 yeah 11:38:46 wait fuck no 11:38:48 fffff 11:38:48 wouldn't that rather _obliterate_ whether n is even or odd 11:38:59 damn you brainfuck 11:39:16 nvm 11:39:19 glad to see you are getting the genuine fucked experience :P 11:39:19 back to bed 11:39:29 lol 11:39:41 This should be simple. 11:39:45 Why isn't this simple. 11:40:08 oerjan: /win 7 11:40:11 err 11:40:13 something 11:40:22 k actually going back to bed this time 11:40:39 i'm afraid i don't have that window, coppro. unless it's some secret i haven't heard about. 11:41:16 although i have frequently wondered why irssi always makes an empty /win 3 11:45:19 Patashu: those dont look much like trees to me. you should check ou the spectrum of hildegard westerkamp's "beneath the forest floor" for a real image of a forest. it's so uncanny, it's surely intentional. 11:46:03 Taneb: in fact i made that odd/even distinction in the first place to manage to get an extra bit of "are we finished yet" information out of each applied fractran rule. the problem now is just actually extracting that information again on the top level loop... 11:46:28 oerjan: sounds like you saved a layout with a window open to a channel on a net you don't connect to. do another /layout save and it probably won't anymore. 11:47:12 quintopia: i haven't visited non-freenode for years, if ever :P 11:47:38 but let's try it anyhow 11:47:46 I'm going to think about this differently 11:48:02 We have three variables, a, b, and c 11:48:25 We can add or subtract a constant from any of these variable 11:48:35 Taneb: probably a good idea 11:48:50 And we can start a loop that loops while a variable is not 0 11:49:25 and that same variable must be 0 when we end (i don't think there's enough room to do unbalanced loops usefully) 11:49:57 Yes 11:50:28 variable a is equal to an arbitary number, b and c are zero 11:50:46 Call the number initially in a n 11:51:04 What we want is one variable to hold n, and another to hold n%2 11:51:21 or well, let's not exclude unbalanced loops completely. the problem would be finding out where you are afterwards. 11:51:28 -!- boily has joined. 11:51:35 wb boily 11:57:59 taneb: is your goal to determine if a value is even or odd? 11:58:32 Yes 11:58:41 In three cells in brainfuck 12:00:08 do you know its possible? 12:00:12 No 12:00:22 It is with 5 cels 12:00:25 *cells 12:00:37 the only method i could think of needs four 12:00:54 oerjan 12:00:55 ? 12:01:14 Four would be easy 12:01:43 I can think of a way of doing it in four cells too 12:01:56 its a good problem 12:02:30 n,0,0,0. add 2 to b and 1 to c and after each addition check to see which one equals a using d 12:02:35 hmm, not sure if that translates into bf 12:03:41 -!- FireyFly has changed nick to FireFly. 12:11:49 ok I think I have an idea 12:13:21 -!- PatashuPikachuRe has joined. 12:14:29 -!- Patashu has quit (Ping timeout: 252 seconds). 12:17:32 -!- itidus20 has quit (Ping timeout: 255 seconds). 12:23:03 Taneb: yes i believe 4 should be easy. (basically there is then room to include an extra bit of information from the loop i'm using for each fractran rule. although there may be an even simpler way.) 12:25:52 PatashuPikachuRe: the thing is translating to bf frequently means adding an extra cell for flow control... 12:28:27 oops now i'm wondering if _that_ is working again. oh well. 12:31:35 ok so I have what appears to be a solution 12:34:25 .. dammmmmmmmit 12:34:31 yeah it's tricky it's like, one scratch cell per conditional deep you go 12:34:37 where conditional includes things like moving 12:35:21 wait no this is right 12:36:18 hrm k so loops that don't evenly affect the IP hurt my mind 12:36:44 -!- derrik has joined. 12:36:53 yes, also they're hard to use here 12:37:12 but then maybe it could be essential 12:40:43 pretty sure it can be done with them 12:40:55 just need to figure out how to recenter 12:41:04 * coppro turns on light and pulls out whiteboard 12:42:53 well trouble is if you have two cells that need to have an essentially arbitrary value, and the zero you left the loop through, then it seems very hard to check where you are. only if there are two zero cells does it seem reasonable, but can you use that case.. 12:43:10 ok I see how to do it 12:43:23 I will pseudocode because I need to be up in a few hours 12:44:26 * NihilistDandy is on the edge of his seat 12:44:32 basically you have an input stack and an output stack 12:44:45 let n be the input stack and m be the output stack 12:45:33 I've just had a rather stupid idea 12:45:54 wait fuck thta gives no termination codition 12:46:13 still I think what you really want to rely on is the position of the stacks 12:46:30 stack of unaries? 12:46:37 yeah 12:46:41 rather than using value 12:48:24 the thing is, afaict you cannot actually check the position if both "stacks" are filled (i.e. two cells both have arbitrarily large values) 12:50:54 after the end of a loop, you will have either *0,m,n; m,*0,n; or m,n,*0; and neither pair of these can be distinguished 12:51:37 what I'm envisioning is [ (move 1 from n to m) [ (move 1 from n to m and something else) ] (something) ] 12:52:31 coppro: that's essentially the idea i am trying to use for the _inner_ fractran loops. i just cannot see a way to get the information out of the loop... 12:52:40 fractran loop? 12:53:03 um yes, the idea is to convert fractran to brainfuck 12:53:53 i should write that part down properly 12:56:01 how do you write down properly "the idea is to convert fractran to brainfuck" 12:56:04 ? 12:56:46 i mean the inner loop structure for that, which i thought i had clear enough idea of but i'm suddenly unsure. 13:00:52 got it 13:01:05 start with *n,0,m 13:01:16 go to *n-1,0,m+1 13:02:06 now do a if n-1 is nonzero, you go to m,*0,n-1 13:02:44 wait I had it backwards the IP doesn't work that way 13:02:47 fff 13:03:14 is this loop supposed to be unbalanced? 13:03:19 yeah 13:03:22 probably 13:03:36 but not necessarily 13:03:37 well looks possible so far 13:04:04 you are either at *0,0,m+1 or m,*0,n-1 13:04:05 wait yes you can do this 13:04:07 right 13:04:26 now go to 0,*0,m+1 or m,0,*n-1 13:04:33 and if the cell pointed to is nonzero, move left 13:04:51 right that synchronizes 13:04:55 err sorry replace m,*0,n-1 with m+2,*0,n-1 13:04:59 Anyway, my stupid idea was a programming language that spews brainfuck code and immediately interprets it. 13:05:25 This allows for infinite-length programs 13:05:38 hmm wait this has the same problem an earlier idea did in that you can't tell when you're done the loop 13:06:17 unless, hmm 13:07:06 if you then go right and subtract one, you have 0,0,*m or m+2,0,*n-2 13:07:49 where n-2 might be zero 13:08:04 but you want to end the loop if that or the far left cell is 0 13:08:57 -!- ais523 has joined. 13:09:32 aha there's a way and I'm actually sure this time 13:10:22 start at 0,m,n. Go to *n-1,m+1,0 and branch 13:10:49 if you took the branch, go to *0,m+2,n-2 13:11:09 ok, that's still balanced 13:11:50 add one to each cell 13:11:59 all of them? 13:12:18 err don't 13:12:26 instead, go right one cell. if nonzero go right again 13:13:02 i think that runs off the tape 13:13:21 oh damn 13:13:24 damndamndamn 13:13:32 fucking brainfuck 13:13:56 I wonder if you can shift columns to get that algorithm anyway? 13:14:26 you know, I think I'm going to not delete http://esoteric.voxelperfect.net/wiki/User:Icornellhoffmane until elliott gets a chance to see it 13:14:35 especially because it looks like a parody of spam rather than actual spam 13:14:57 -!- copumpkin has quit (Ping timeout: 264 seconds). 13:15:01 * oerjan realizes ais523 said "not" 13:15:36 -!- copumpkin has joined. 13:17:42 what's the behaviour of brainfuck if you run off the edge of the tape? 13:17:48 segfault? loop? ignore? 13:17:59 -!- ais523 has quit (Read error: Connection reset by peer). 13:18:13 aha 13:18:50 implementation dependant 13:18:57 PatashuPikachuRe: i'm pretty sure all of those options will have been tried 13:19:10 figures it's undefined behavior 13:21:15 -!- ais523 has joined. 13:21:27 off the left edge, it should crash 13:21:30 you can't go off the rightedge 13:21:33 *right edge 13:21:35 because there isn't one 13:22:25 from *0,m+2,n-2 and *0,0,m+1 go right, if nonzero then swap the first two columns and then swap the right two columns 13:22:36 err 13:22:39 swap is a bad term 13:22:43 ais523: original bf had a 30k or so limit 13:22:44 move each column left 13:22:51 this is fine because the left column is 0 13:22:54 oerjan: that was a bug 13:23:20 in any case _this_ problem has tape length 3, and don't you dare leave it. 13:25:42 ais523: What are you basing that assessment on? The original brainfuck-2.lha:README file says "The 30000 array elements". 13:26:20 ahaha wait 13:26:27 I fail 13:26:33 I figured out how to loop only if you got to 0 13:26:43 useful but wrong 13:26:51 fizzie: I think the spec has mutated over time 13:26:58 making the original interp retroactively buggy 13:27:27 oerjan: are you in need of a negation operator? :P 13:27:44 coppro: wat 13:27:54 ais523: "Who died and made you a spec-maker?" (IOW, if there's no de jure or de facto standard, I don't see how you'd get to arbitrarily pick one.) 13:29:35 fizzie: hmm 13:29:45 doesn't more or less every article on BF say that it's Turing-complete? 13:29:49 oerjan: I can make it loop if one, but not two, columns are nonzero 13:29:53 I think it's that that retroactively changed the spec 13:30:25 ais523: That doesn't mean it unambiguously changes the spec to have an unbounded tape; it could as easily retroactively change it to have unbounded cells instead. 13:30:34 coppro: i'm afraid the reverse would be more impressive 13:30:37 fizzie: I suppose so 13:30:42 oh wait 13:30:51 majority vote of implementations gives it 8-bit cells, at least 13:30:53 coppro: misread you. hm, interesting... 13:30:57 although I'm aware that that's not completely standard 13:31:11 "The brainfuck language uses a simple machine model consisting of the program and instruction pointer, as well as an array of at least 30,000 byte cells initialized to zero; --" <-- wikipedia, the final arbitrator of truth and justice. 13:31:41 coppro: that would indeed make things easier. 13:32:10 (Aways.) 13:32:35 * ais523 originally misparsed that as a typo for "always" 13:32:57 ais523: um it wasn't? 13:33:06 -!- Tritonio has joined. 13:33:14 oerjan: I think it's more likely to mean "I am away, at least for a while" 13:35:46 ais523: anyway you're welcome to try to implement n,0,0 -> n,0,n%2 in 3-cell unbounded bf as well :P 13:36:50 heh 13:37:05 for %2 in gcc-bf, I just multiply by 128, then check zeroness 13:37:12 bu that requires 8-bit bounded cells 13:37:55 sorry, no can do 13:39:05 you can use repeated negation with unbounded cells, but I'm not sure if three cells is enough 13:39:44 hm i got an idea, what if you calculated n/2 first... 13:40:08 then you can get n,0,(n/2)*2 13:41:07 actually scratch that, you can directly get n%2,n/2,0 13:41:44 and you don't need a temporary to swap a cell with a known zero cell in BF (although you need to know its sign in unbounded BF, as always) 13:41:54 and from that i think you can get to n,0,n%2 13:42:24 ais523: well i'm assuming nonnegative so far 13:42:32 are you trying to do a Minsky machine with three cells? 13:42:39 I've just realised what the conversation's probably about 13:43:04 fractran, actually, which is just a simplified version of that 1-register division machine that's mentioned on the Minsky machine page 13:43:47 (and which is afaiu part of the proof that minsky machines only need 2 registers) 13:44:56 basically to get from the 1-register minsky machine to bf you want to include the machine state in the register, and suddenly you're _very_ close to fractran. 13:45:50 *-minsky, although it was probably invented by minsky 13:46:54 can't you just use the BF IP to record the machine state? 13:47:24 maybe but the fractran control flow is so much easier :P 13:48:34 I suppose that given that you need mod-2 and mod-3 already, mod-other-primes is probably not too difficult 13:50:44 -!- itidus20 has joined. 13:51:31 note that assuming my ideas work, the actual fractran rules _don't_ need to put the mod in a cell, keeping track of _that_ is handled by BF IP. but there is this little snag at the end of the program, where the test _does_ need to be put in a cell so that the main loop can test it to exit. that one needs only a mod 2 test, not general primes. at least that's my idea and why i asked the channel. 13:54:25 i guess my real question is "how do you exit a loop only when a cell n is even, without clobbering it if it isn't?" but i think that's pretty much equivalent to calculating n%2 anyway. 13:55:56 just solved the 3-cell parity problem. took long enough :/ 13:56:05 hey! 13:56:40 i wont spoil. dont have time to right now. 13:57:17 ah. i have to leave in a moment myself anyhow. 13:58:52 -!- oerjan has quit (Quit: Later). 14:01:41 -!- MSleep has changed nick to MDude. 14:05:52 -!- Patashu has joined. 14:07:29 -!- PatashuPikachuRe has quit (Ping timeout: 260 seconds). 14:13:06 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds). 14:13:53 -!- BeholdMyGlory has joined. 14:14:05 -!- Tritonio has quit (Quit: Leaving). 14:18:09 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:25:36 -!- Phantom_Hoover has joined. 14:28:30 -!- lament has joined. 14:35:53 -!- lament has quit (Ping timeout: 246 seconds). 14:44:33 -!- copumpkin has joined. 14:56:16 http://www.mspaforums.com/showthread.php?41081-CARCINOgeneticist-More-like...-oh-wait.&p=5406631&viewfull=1#post5406631 *facepalm* (Homestuck spoilers) 15:01:47 -!- ttm_ has quit (Ping timeout: 276 seconds). 15:05:23 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 15:05:35 -!- ais523 has quit (Remote host closed the connection). 15:07:38 -!- lament has joined. 15:08:59 -!- Taneb has quit (Ping timeout: 255 seconds). 15:09:00 -!- cheater__ has quit (Ping timeout: 255 seconds). 15:09:35 -!- cheater__ has joined. 15:10:57 -!- Phantom_Hoover has joined. 15:15:54 -!- cheater__ has quit (Excess Flood). 15:16:17 -!- cheater__ has joined. 15:17:31 -!- GameOverR has joined. 15:18:26 -!- GameOverR has left. 15:19:12 -!- cheater__ has quit (Excess Flood). 15:21:58 -!- EgoBot has quit (Remote host closed the connection). 15:22:00 -!- HackEgo has quit (Remote host closed the connection). 15:22:10 -!- EgoBot has joined. 15:22:10 -!- HackEgo has joined. 15:22:32 -!- cheater__ has joined. 15:25:36 -!- cheater__ has quit (Excess Flood). 15:30:29 -!- cheater__ has joined. 15:30:29 -!- cheater__ has quit (Excess Flood). 15:30:53 -!- cheater__ has joined. 15:36:26 -!- cheater__ has quit (Ping timeout: 255 seconds). 15:41:32 -!- azaq23 has joined. 15:55:49 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 16:08:19 -!- ais523 has joined. 16:09:54 -!- lament has quit (Ping timeout: 252 seconds). 16:13:14 -!- iamcal has quit (Ping timeout: 258 seconds). 16:13:33 -!- jix_ has quit (Ping timeout: 252 seconds). 16:14:11 -!- jix has joined. 16:14:19 -!- Nisstyre has quit (Ping timeout: 252 seconds). 16:18:48 -!- cheater has joined. 16:27:52 -!- iamcal has joined. 16:32:54 -!- iamcal has quit (Ping timeout: 260 seconds). 16:44:23 -!- Sgeo_ has joined. 16:44:32 -!- Sgeo_ has quit (Read error: Connection reset by peer). 16:45:07 -!- iamcal has joined. 16:59:54 -!- zzo38 has joined. 17:04:24 -!- Nisstyre has joined. 17:15:21 Mikä. 17:17:19 Mikä on mikä? 17:31:30 Mika on Häkkinen. 17:31:53 Ah. 17:32:12 Mikä on "ne panee koiriaan ihan oikeasti"? 17:32:21 "They're really fucking their dogs." 17:32:34 I see. What sort of word is "koiriaan"? 17:33:20 Oh, it's "koiria -an", isn't it. 17:33:26 -!- CakeProphet has quit (Ping timeout: 276 seconds). 17:33:58 Well, "koira" is the nominative case for "dog". 17:34:40 -!- Taneb has joined. 17:34:53 Hello 17:35:04 -!- Gregor has quit (Excess Flood). 17:35:10 -!- Gregor has joined. 17:35:36 -!- Gregor has changed nick to Guest47670. 17:36:16 I think it possibly should be "koiriansa" in formal written text, and what you have there is a bit of a colloquialism maybe. Since "their dogs" would be "heidän koiransa", and then, uh, is it the partitive case? I just speak the language, sorry. 17:38:05 What, ...Klingon? 17:38:11 Finnish. 17:38:25 -!- zzo38 has quit (Remote host closed the connection). 17:38:51 -!- Guest47670 has changed nick to Gregor. 17:39:02 Ah, there it is: http://en.wiktionary.org/wiki/-an#Usage_notes "(third-person possessive suffix variant): When the third-person suffix -nsa is appended to non-nominative noun forms that end in a single -a (those that are in singular and plural inessive, elative, adessive, ablative, essive and abessive and plural partitive and singular partitive ending with -ta), the S and A are very often omitted from the suffix and the last A of the case suffix preceding the r 17:39:02 emaining N is doubled — resulting in this -an. In standard Finnish, both the "full" form and the shortened form are acceptable (cf. -nsä). This same omission takes very often place also in the nominal verb forms used in shortened sentences (see the meanings of -nsa) and in the adverbs requiring this suffix:" 17:39:18 They even use the dog example. 17:41:41 So "koiriansa -> koiriaan" and it's the third-person possessive-suffixed partitive case. I couldn't really even begin to explain why nominative -> partitive in this case goes "koiransa" -> "koiriansa" when normally the partitive suffix is -(t)a. (E.g. "koira" -> "koiraa" in the simplest case.) 17:46:52 Could you begin to explain why the partitive plural is "koiria"? :P 17:48:24 But, yes. Then I guess "ihan oikeasti" is just an intensifier. 17:48:39 Yes, it's pretty much like "-- for real". 17:49:11 If you wanted to ask that phrase, would it be "ihan oikeastiko"? 17:49:26 You could ask that, yes. 17:49:58 You could even just ask "oikeesti?" with the suitable intonation when speaking. 17:50:40 If you just asked "ko?", I suppose people would suspect that you're asking whether the ko rule applies. 17:51:20 I'm not sure what I'd suspect; it would be a bit weird thing to say. Maybe that. 17:51:35 What would make the perfect programming language, in your eyes? 17:52:14 Taneb: having all necessary features and lacking all unnecessary features. 17:53:55 It should have a static typing system that's really fucking expressive. 17:54:50 Vitun expressive ihan oikeasti. 17:57:13 Define expressive? 17:58:22 Well, it should be able to define types such as "valid strategy for playing Euchre". 17:58:57 Which is, I suppose, a function taking a Euchre situation and returning an action valid in that situation. 18:00:46 Speaking of which, I think there's really one feature an "esoteric API" ought to have: the ability to dynamically link libraries. 18:06:22 Though I wonder, how much information does a dynamic library usually contain about the functions within it? Is it just a list of addresses, or do you also know the calling convention and number of arguments? 18:07:28 On Windows, where multiple calling conventions are common, the names are mangled differently based on the convention. 18:07:32 tswett: It's just addresses. 18:08:13 Neat. 18:08:21 So you could do some deducing based on the mangling type. But mostly it's just symbols-to-addresses. 18:08:41 You can also deduce whether something is a function or data. 18:09:58 I don't know if any debugging info formats include much metadata. Source locations and all that, at least. 18:11:13 I guess dynamically linking libraries is not really enough; you must also be able to call the functions in the libraries you just linked. 18:12:20 That could be mostly left up to the esoteric program itself, and you could just have API functions like "stick this stuff into these registers, push that stuff onto the stack, and call him". 18:13:10 fizzie: Those generally *do* include type metadata. 18:13:18 -!- TeruFSX has joined. 18:13:28 Part of why debugging symbols take quite a bit of space. 18:13:45 The Windows name mangling for stdcall functions also include the number of argument bytes the function pops off the stack, possibly because that's one calling convention which breaks really badly if the caller and callee disagree about the number of arguments. 18:19:28 -!- ais523_ has joined. 18:19:49 -!- ais523 has quit (Disconnected by services). 18:19:51 -!- ais523_ has changed nick to ais523. 18:19:54 -!- TeruFSX has quit (Read error: Connection reset by peer). 18:20:00 -!- TeruFSX has joined. 18:29:13 -!- pumpkin has joined. 18:32:11 -!- copumpkin has quit (Ping timeout: 240 seconds). 18:39:16 !show test 18:39:17 That is not a user interpreter! 18:39:22 !show sanetemp 18:39:23 sh dc -e "1k?32-5*9/p" 18:39:25 !show insanetemp 18:39:25 sh dc -e "1k?9*5/32+p" 18:39:34 !show nop 18:39:35 That is not a user interpreter! 18:39:51 !addinterp sanetemp cat 18:39:51 ​There is already an interpreter for sanetemp! 18:39:52 !sanetemp 5 18:39:53 ​-15.0 18:39:54 * Lymee runs 18:40:10 !sanetemp -40 18:40:10 dc: stack empty 18:40:22 ... 18:40:26 !sanetemp 100 18:40:27 37.7 18:40:39 !insanetemp 0 18:40:40 32.0 18:40:58 !sanetemp 100000000000000000000000000 18:40:59 55555555555555555555555537.7 18:41:07 That is not a sane tempature. You lie. 18:41:17 !sanetemp 20 18:41:17 ​-6.6 18:41:20 !sanetemp 30 18:41:20 ​-1.1 18:43:48 !delinterp sanetemp 18:43:48 ​Interpreter sanetemp deleted. 18:44:06 !addinterp sanetemp "1k?9*5/459-p" 18:44:06 ​Interpreter _1k_9_5_459_p_ does not exist! 18:44:15 !addinterp sanetemp sh dc -e "1k?9*5/459-p" 18:44:15 ​Interpreter sanetemp installed. 18:44:31 !sanetemp 104 18:44:32 ​-271.8 18:44:49 !delinterp sanetemp 18:44:49 ​Interpreter sanetemp deleted. 18:45:37 !addinterp sanetemp sh dc -e "1k?9*5/459 67 100/++p" 18:45:38 ​Interpreter sanetemp installed. 18:45:47 !sanetemp 104 18:45:47 646.8 18:46:03 -!- pumpkin has changed nick to copumpkin. 18:46:07 !delinterp sanetemp 18:46:07 ​Interpreter sanetemp deleted. 18:46:13 !addinterp sanetemp sh dc -e "1k?9*5/459.67+p" 18:46:13 ​Interpreter sanetemp installed. 18:46:16 !sanetemp 104 18:46:17 646.87 18:46:20 !sanetemp -40 18:46:21 dc: stack empty 18:46:26 That "?" is going to have trouble with negative numbers 18:46:27 !sanetemp _40 18:46:28 387.67 18:46:49 !insanetemp 387.67 18:46:49 729.8 18:47:03 !delinterp sanetemp 18:47:03 ​Interpreter sanetemp deleted. 18:47:04 !addinterp sanetemp sh dc -e "1k?459.67-5*9/p" 18:47:04 ​Interpreter sanetemp installed. 18:47:06 !sanetemp 104 18:47:07 ​-197.5 18:47:10 What. 18:47:14 * Sgeo knows nothing about dc 18:47:18 !delinterp sanetemp 18:47:18 ​Interpreter sanetemp deleted. 18:47:20 !addinterp sanetemp sh dc -e "1k?459.67+5*9/p" 18:47:20 ​Interpreter sanetemp installed. 18:47:22 !sanetemp 104 18:47:22 313.1 18:56:13 EgoBot responds to PM y'know 18:56:46 dc: stack empty 18:56:46 ... 18:56:57 !sanetemp 40_ 18:56:57 255.3 18:57:24 Oh, right. 18:57:26 Stupid dc. 19:03:40 -!- oerjan has joined. 19:08:18 -!- monqy has joined. 19:13:56 `addquote Well, I'm now experimenting with clients 19:13:58 558) Well, I'm now experimenting with clients 19:14:06 Did that wrong 19:14:11 How do I remove that? 19:14:40 try `delquote, if it works 19:14:41 `delquote 558 19:14:43 ​*poof* 19:14:49 `quote 558 19:14:51 No output. 19:15:32 `addquote Well, I'm now experimenting with clients It doesn't sound like good PR to say that out loud. 19:15:34 558) Well, I'm now experimenting with clients It doesn't sound like good PR to say that out loud. 19:16:14 That's wht I wanted to do 19:16:35 You ignored the two-space rule elliott religiously holds to. 19:16:44 `delquote 558 19:16:46 ​*poof* 19:16:47 `addquote Well, I'm now experimenting with clients It doesn't sound like good PR to say that out loud. 19:16:48 558) Well, I'm now experimenting with clients It doesn't sound like good PR to say that out loud. 19:17:01 -!- pumpkin has joined. 19:17:13 Those people from Hexham are weird 19:17:23 I know this from personal experience 19:17:53 -!- derrik has left. 19:18:37 hmm, so I bought the Humble Bundle (#2 and #3), and Amazon needed nothing but the credit card number and expiry date 19:18:42 not even the security code on the back 19:18:44 that's sort-of amazing 19:18:52 And sort of creepy 19:19:05 yep 19:19:17 I thought the whole process of that code was to safeguard electronic transactions 19:19:29 -!- copumpkin has quit (Ping timeout: 252 seconds). 19:19:40 It's Amazon; it's only proper that it behaves in amazing ways. 19:19:47 I think they're using the typical bank approach of "get contact details, then if something looks off, refund the charge, if it happens a lot go find someone to sue" 19:20:24 For the record, I bought it too thirteen minutes ago, and Paypal's "add card to your account" thing wanted the security code too, but of course now it's rememberating all the details, which is a bit bad. 19:21:11 It's better than it remembering your personal PIN number that identifies you 19:21:26 I avoided Paypal; I reasonably-trust Amazon, in that they're big enough that if they were doing particularly evil things in their payment system then I'd probably have heard about it by now 19:22:11 * Sgeo has a few questions about Sam Hughes's Perl tutorial 19:22:13 "A hash is merely a list with an even number of elements, where the even-numbered elements (0, 2, ...) are all considered as strings." 19:22:14 -!- pumpkin has changed nick to copumpkin. 19:22:34 Is that accurate? Sounds inefficient for look-ups etc. 19:22:36 Paypal is, I guess, pretty big too. At least they move a lot of money. 19:22:53 Oh, hmm, maybe "list" in Perl terms, not as a typical... meh 19:23:15 "Again, unlike sort, and like grep, this block is NOT a small anonymous subroutine and you do NOT call return inside it" 19:23:20 Sgeo: that's a bit inaccurate; an even-length list is the representation of a hash used when you put data into it 19:23:30 the hash itself is not ordered, it's just a dictionary 19:23:36 Isn't that sort of inconsistency the thing that plagues PHP? 19:23:41 but there's no such thing as a "hash literal", you use an array literal and it converts 19:24:07 It's also "physically" implemented as a usual-ish hashtable. 19:24:22 my $scalar = ("Alpha", "Beta", "Gamma", "Pie"); 19:24:22 print $scalar; # "4" 19:24:40 n/m that one 19:26:00 Um, that's it for my questions, I think. 19:26:44 the weird syntax for things like sort/grep/etc is a historical reason 19:27:02 I think they finally sorted that out in Perl 6, and the effort of finally sorting it out means that it still isn't finished 19:27:57 Hmm, the SQA exam results are being released. 19:28:10 I wonder if they'll remember my address this year. 19:30:59 Silly PH, living in a country some of which is west of me! 19:35:44 Taneb: surely it's both east /and/ west 19:36:48 Yeah, but I'm not walking East to get to Scoland 19:36:48 Or Scotland or that matte 19:36:48 r 19:37:02 Actually, I'm not going to walk West either 19:37:25 Unless I want to go to Dumfries 19:40:48 And had no money 19:40:58 Nor the charisma to get a lift 19:41:24 Nor the sauveness required to ge away without paying on a train 19:42:55 So, I'm not going to walk to Dumfries 19:43:10 Even though it's to the east o me 19:43:17 I can't type for some reason 19:50:58 -!- invariable has joined. 19:52:23 -!- variable has quit (Read error: Operation timed out). 20:01:03 oerjan: how do you calculate n/2? I scrapped that idea when I realized it's probably not possible 20:01:57 i'm not sure that's possible either, but i think either of n/2 and n%2 gives you the other 20:02:10 yeah 20:02:19 and as for paypal, if you don't store money in the account, you're fine 20:02:26 they aren't actually sketchy on credit card or anything 20:02:41 just very trigger-happy and arbitrary when it comes to termination 20:04:06 coppro: that idea for doing something conditionally on ther being _two_ zero cells rather than one, how does that work, if it does? 20:04:10 *there 20:08:23 Trying to introduce a friend of mine Haskell 20:08:36 Realised he doesn't understand algebra 20:08:42 Persevering 20:08:52 Taneb the masochist 20:09:16 Okay, he's refusing to do 2 + 2 20:09:28 Taneb the doomed 20:15:32 Hmm... 20:15:57 Can anyone recommend a programming language to an aspirin actor who's crap at maths? 20:16:04 wait, does he understand any form of programming at all? 20:16:07 Shakespeare. 20:16:20 ...what's an aspirin actor 20:16:33 someone who gives you headaches? 20:16:34 One who acts in aspirin ads, duh. 20:17:20 incidentally, i've never noted that similarity before. i suppose it must have been intentional branding. 20:17:26 *noticed 20:18:05 is the first i long or short? 20:18:27 In 'aspirin'? Short. 20:18:32 or wait, hm... 20:20:01 It's a combination of acetyl and spirsäure 20:20:10 "The new drug, formally acetylsalicylic acid, was named Aspirin by Bayer AG after the old botanical name for meadowsweet, Spiraea ulmaria." 20:21:24 and it was german, so the long vs. short i is irrelevant. 20:25:54 aspirieren seems to be german 20:28:55 null [] 20:29:05 Woops, wrong tab 20:29:35 True 20:29:48 Thank you, Deewiant 20:30:09 :1:10 parse error on input `,' 20:31:41 :quit 20:32:02 Leaving GHCi. 20:35:48 -!- boily has quit (Read error: Operation timed out). 20:35:54 http://www.gutenberg.org/wiki/Mathematics_%28Bookshelf%29 are any of these a good read? 20:45:46 -!- elliott has joined. 20:46:10 hi 20:47:01 hello 20:47:05 ho 20:47:19 hi 20:49:53 hy 20:50:28 19:32:46: * pikhq_ is tempted to write a partial git implementation. Anyone think of reasons I shouldn't? 20:50:28 sg 20:50:31 -!- GreaseMonkey has joined. 20:50:31 -!- GreaseMonkey has quit (Changing host). 20:50:32 -!- GreaseMonkey has joined. 20:50:46 20:01:06: what does right-leaning mean help 20:50:46 the guy never dedents the code 20:50:47 like 20:50:52 reallylongfunction = do ... 20:50:55 all the code lines are aligned with ... 20:50:58 and a bunch of nested conditionals 20:51:04 so it's like three hundred chars long :( 20:51:23 oerjan: I've forgotten 20:51:33 oh 20:51:42 I do that, but I also stick to 80 columns 20:51:42 elliott, "codelipo" 20:51:46 Go make a pretty printer named that. 20:52:01 Deewiant: You should put a newline after "do" and then one indent :( 20:52:12 Unless you write C like 20:52:15 I don't, if it fits in 80 columns 20:52:18 int foo(int a, int b) { printf("..."); 20:52:19 I usually do a newline after do but sometimes I don't 20:53:05 20:22:14: "The report has sparked anger from IE supporters, who have threatened AptiQuant with legal action. 20:53:06 wow 20:53:21 That was later revealeed a fraud 20:53:32 The whole shazam 20:53:44 yep, it was a hoax 20:54:21 Taneb: um that quote appeared a few lines after the article saying it was a hoax. 20:54:22 darn you mean i won't get my money? 20:54:47 oerjan: yes you will. (good thing you're stupid enough to believe this) 20:55:08 ah. excellent. 20:55:33 AptiQuant was set up in late July 2011 by comparison shopping website AtCheap.com, in order to launch a fake “study” called “Intelligent Quotient and Browser Usage.” The study claimed that people using Internet Explorer have a below than average IQ score. The study took the IT world by storm. The main purpose behind this hoax was to create awareness about the incompatibilities of IE6, and not to insult or hurt anyone. 20:55:53 next time on aptiquant.com: Report on Just How Fucking Stupid We Can Possibly Be 20:56:13 isn't ie6 dead 20:56:18 no 20:56:20 :( 20:56:27 Hmm... 20:56:33 Does cpp work well on Java code? 20:56:45 it does, yes 20:56:49 I've done it 20:57:14 not massively well, because Java code tends not to include #include and #define and all the other stuff that's generally needed to make cpp do something useful 20:57:19 People with higher IQ are shunning Internet Explorer study - Computer Business Review 20:57:36 I heard that was a hoax 20:57:45 :P 20:57:52 In May 2010, Microsoft started its "milk campaign", saying that using IE6 is like drinking nine-year-old milk. 20:58:04 ah, this explains Firefox's new "release once every week" policy. 20:58:05 but as long as it isn't it gives us opera users more reason to feel good about ourselves and look down on other-browser users 20:58:15 elliott: oh, there was an awesome bit of spam which I left for you, but Keymaker deleted it 20:58:20 Well, goodnight 20:58:21 ais523: :( 20:58:24 elliott: so using IE9 is like drinking month-old milk? 20:58:28 elliott: it was advertising Google 20:58:34 ais523: that was my Firefox joke >:( 20:58:35 and had a link to google.com at the end 20:58:39 :D 20:58:42 -!- Taneb has quit (Quit: THEY ARE HERE). 20:58:46 can you delete it for like three seconds or something 20:58:55 (diff) (hist) . . N AnyPL‎; 18:55 . . (+18,908) . . PLarsen (Talk | contribs) (Renamed APL to AnyPL to avoid misconceptions) 20:58:57 (diff) (hist) . . APL‎; 18:58 . . (-18,999) . . PLarsen (Talk | contribs) (APL is renamed to AnyPL) 20:59:03 whats move page 20:59:03 help 20:59:06 ais523: hmm, can I ask you to delete AnyPL, revert that change to APL, and move it to AnyPL? 20:59:29 google is a search engine which clearly is a search google will give google maps ,google world, google news google mail etc[http://www.google.com google] 20:59:41 not a license violation since they're the only contributor and we're public domain, but it still erases history 20:59:49 ais523: it clearly is a search :D 21:00:08 I'm not sure I can call a language User:Icornellhoffmane 21:00:17 elliott: there are probably edits to AnyPL for at least the name change... 21:00:21 Icornellhoffmane sounds like a cool language name, though 21:00:28 oerjan: um yes but they can easily be repeated. 21:00:41 by saving AnyPL's source code 21:00:45 and saving it over the resulting article 21:00:49 User:Icornellhoffmane/index.php 21:00:58 oh... this: http://www.bbc.co.uk/news/technology-14389430 is sad news then 21:01:14 elliott: err, please don't tell me how to do a history merge 21:01:15 (the "Internet Explorer story was bogus" story) 21:01:21 ais523: :D 21:01:22 especially not if you get it wrong 21:01:26 elliott: well i'm just worried ais523 might take you literally 21:01:26 ais523: oh did I :( 21:01:38 oerjan: he has access to deleted pages, anyway 21:01:49 ais523: I forgot it was common practice, and also forgot the name 21:01:49 wait, I didit wrong too 21:01:52 hahaha 21:01:56 do you want me to tell you how to do it 21:02:02 oh, groan 21:02:09 you forgot to omit the blanking change 21:02:24 no I didn't 21:02:29 it was a change made to the combined pages 21:02:50 well, it breaks the diffs 21:03:10 it was just vandalism + revert 21:03:16 haha 21:03:37 anyway, you do a combined delete+move first, then undelete, then set the top revision 21:03:46 and I got the last two steps in the wrong order, and so set the wrong top revision 21:04:20 well, my way was equivalent if the wrongly moved page has no changes made 21:04:47 except it leaves there with no revisions on the page for a while, and people wonder why the page has been deleted 21:04:56 you used to have to do something like that 21:05:03 haha 21:05:13 and I ended up editing db-histmerge to say "this page needs to be temporarily deleted" or something like that 21:05:24 because people are all "WHY ARE YOU DELETING MY PAGE" 21:08:02 -!- invariable has quit (Remote host closed the connection). 21:08:30 -!- variable has joined. 21:12:42 ^def test bf ,[[->+<],]>. 21:12:42 Defined. 21:12:45 ^test hm 21:12:45 21:12:50 wat 21:13:17 that, indeed, was unexpected. 21:13:29 oh wait 21:13:52 ^def test bf ,[>[-]<[->+<],]>. 21:13:52 Defined. 21:13:55 ^test hm 21:13:56 m 21:20:38 furniture: the movie 21:23:20 monqy: im....glfwpipe......................................................... 21:23:26 :o 21:23:39 is logo a functional language? 21:24:56 is scheme a functional language 21:25:33 help whats a functieonl language help 21:25:57 is BASIC a functional language? 21:26:08 is cobol a functional language 21:26:13 is monqy a functional language 21:26:40 im the most fucntioanl language hello 21:26:47 is elliott a functional 21:26:51 is english a functional language 21:26:53 is olsner functional 21:27:02 elliott is functional? 21:27:09 functional olsner 21:27:15 .com 21:27:30 objective elliott 21:28:10 structured water: functional healing 21:28:33 also, why is the topic so empty nowadays? 21:28:47 because anti-clog sentiment 21:28:48 brewed 21:28:52 and i clamp on down on it 21:28:57 with my fsits 21:29:03 is clog a functional language 21:29:08 topic is glove, much too glove 21:29:20 anti-glove it 21:29:48 is a functional language 21:29:50 unglove my heart^Wtopic 21:31:15 .org 21:31:17 .com 21:31:41 .org.com.net.ng 21:31:51 .tk 21:31:58 .co.uk 21:32:05 .biz.info 21:32:21 (this is all concatenated, right? otherwise it's just silly...) 21:32:22 .java.lang 21:32:34 olsner: yes 21:32:39 .Exception 21:32:40 elliott: good 21:33:09 .good 21:33:18 .god 21:33:28 .jesus 21:33:39 .holyghost 21:33:44 .email 21:33:56 .xxx 21:34:43 @istanbul.cn 21:34:43 Unknown command, try @list 21:34:54 my new email address 21:36:23 istanbul isn't in china 21:36:45 YET! 21:37:51 -!- ais523 has quit (Remote host closed the connection). 21:43:22 -!- variable has quit (Ping timeout: 258 seconds). 21:44:14 hello 21:44:41 does anyone know what mathematical formula appears in this video at the time 2:08? http://www.youtube.com/watch?v=kbGVIdA3dx0 21:45:48 oh please, you already sent me that link 21:46:31 youtube links should probably be forbidden in #esoteric, they seldom do anything good in here 21:48:42 now, something like "lol, this zardoz thing! you should, like, totally, check out the trailer on like youtube" would be a different issue entirely 21:49:01 hmm, mostly anyway 21:50:06 -!- zzo38 has joined. 21:51:13 olsner: what 21:53:09 elliott: indeed 21:53:28 In D. 21:54:02 In Dd. 21:54:16 "CLICK ON VAN DAMMES MULLET TO SEE MORE" -- actual internet advert 21:55:42 what 21:55:56 what sort of ad 21:55:57 is this 21:56:06 is the mullet moving 21:56:13 no 21:56:16 do you want a picture 21:56:21 do you get a free ipod if you click it 21:56:32 it is for coors light i think 21:57:00 http://ompldr.org/vOXF3bQ 21:57:40 hmm, but technically his mullet would be behind his face, wouldn't it? 21:58:42 ^def test bf ,[>+[-[---->+++++<]<[>>[-----<++++>]<++<-[->>+<<]]>>[-<<+>>]<[-<[>[->+<]>++<<[->+<]>-<]>[-<+>]]>[-<+>]<[-<[>[->+<]>++<<[->+<]>-<]>[-<+>]]>[-<+>]<[-<[>[->+<]>++<<[->+<]>-<]>[-<+>]]>[-<+>]<]<.,] 21:58:43 Defined. 21:58:50 ^test 0123456789 21:58:51 <123A567F9 21:59:17 * oerjan cackles evilly 21:59:46 > chr 60 21:59:47 '<' 21:59:56 whats going on :/ 22:00:06 i'm testing part of my fractran conversion 22:00:38 that appears to be a working "if (n%4 == 0) then n=5*(n/4);" 22:01:05 (iterating over input characters, for testing) 22:02:22 oerjan: :DDDDDDDDDDDDddddddddd 22:02:45 Probably it can be done (if a program is written) converting MSE file into TeXnicard file. For card data you could probably do it both ways, although various template features and stuff has only in TeXnicard. You also probably it is difficult to convert the scripts between MSE and TeXnicard. 22:03:14 elliott: i still have that minor halting problem you'll find in the logs 22:03:38 oerjan: oh 22:03:47 oerjan: i will click on van dammes mullet to see more, 22:05:06 basically, i can iterate things of the form if (n%C1 == 0) then n=C2*(n/C1)+C3; but the == 0 detection is such that i cannot use it to halt the main program... 22:05:36 I now have made prettyprinting Haskell, although, there is still a few things wrong. It includes: 22:05:40 * Spacing is a bit wrong 22:05:46 * Template Haskell is not supported 22:06:03 * Pragmas not yet supported 22:06:48 * Magic hash is only partially supported 22:07:06 does it have bullet points 22:07:10 * Cannot make strings span multiple source texts 22:07:25 * Some of the default symbols should be changed and more should be added 22:07:45 But, can you see how it currently is? See if it seem good, or whatever else it is? 22:08:04 21:34:35: Numberwang depends on more variables than a single number 22:08:04 21:35:13: No, but I was once in the studio audience of the show 22:08:04 i was going to go "cool" but tHTNE,.... 22:08:06 I EREALISED IT WAS A FAKE SHOW 22:08:17 well due to the problem posed tnis morning, i did figure out how to find x%n in n+1 cells for all positive n (and i suspect i could make n a parameter for just one more cell). that was fun puzzle, thanks. 22:08:20 cheater: Bullet points? Do you mean as a part of the program code or else? 22:08:20 basically, i can iterate things of the form if (n%C1 == 0) then n=C2*(n/C1)+C3; but the == 0 detection is such that i cannot use it to halt the main program... 22:09:01 oerjan: hmm well I know a BF Joust technique is to turn if(a){b}else{c};d into while(a){b;d};c;d 22:09:11 oerjan: but that's when you have bounds on program running time, etc... 22:09:19 so you can know it'll never go past d 22:09:23 quintopia: note that the original x needs to be preserved in some cell 22:09:42 zzo38, no i mean more bullet points than the ones you just posted 22:09:47 oerjan: i didnt assume that. it takes one more cell if you want to do that 22:09:50 or at least reconstructable 22:09:53 it seems like the main feature of your program is bullet points 22:09:55 quintopia: darn :( 22:09:58 21:52:39: Taneb: you've seen numberwang *LIVE*!? 22:09:58 21:52:40: i know almost nothing about it 22:09:58 21:52:57: as i've never used it myself 22:09:58 21:53:20: it's for compile-time metaprogramming, afaik 22:10:22 cheater: No, I was just listing what some of the problem are currently with the program. 22:10:33 21:57:59: Do you know, if it is allowed in Template Haskell, to have one $ command that will return something for use of the next $ command that is found if it can use it? 22:10:41 zzo38: you mean an impure splice, basically? 22:10:45 i.e. $(foo) could be 9 one place and 0 another 22:11:31 elliott: it turned out he hadn't, he merely simply just lied about having done that 22:11:33 splices run in the Q monad which is a MonadIO, so yes, they can be non-deterministic, and even delete files or whatever if they want. storing a value for next time is probably possible by manipulating places you can store state in IO. they couldn't use an IORef without unsafePerformIO 22:11:40 olsner: numberwang is not real......... 22:11:40 elliott: Yes I mean a bit like that 22:11:46 elliott: of course it is 22:12:06 21:59:39: Can you compile Haskell codes into LLVM codes? I have read LLVM documentation it does suppports Haskell calling convention 22:12:13 zzo38: GHC has this 22:12:18 and I think it's quickly becoming the most favoured backend. 22:12:28 r.i.p. c-- 22:12:54 oerjan: but that's when you have bounds on program running time, etc... <-- not particularly useful when you're trying to make a program which _actually_ halts :P 22:12:58 22:07:58: Not what I am looking for, though. What it is, is if there is something for adding LLVM codes into a program similar to "asm" command in C, except using LLVM codes instead of native codes, and for Haskell instead of only with C 22:13:13 zzo38: well you can achieve something semi-equivalent by compiling LLVM IR at runtime using the API, and then casting that to a function type 22:13:17 oerjan: indeed 22:13:26 oerjan: you could use <<< as a sure-fire halter >:) 22:14:02 elliott: But can you, for example, the return value of a $(...) can be a pair of one value (probably a union type) and the second one is the object representing what is replaced in the program code 22:14:26 elliott: but I rather referred to the numberwang sketch(es), which might have had live audiences (though I think they wouldn't have been watching numberwang per se, but rather would've been watching mitchell and webb) 22:14:43 zzo38: I don't understand what you mean by "the object representing what is replaced in the program code" 22:14:48 elliott: OK, but I mean can you include LLVM codes at compile-time? I don't mean at run-time 22:15:33 zzo38: i don't think so 22:15:52 r.i.p. c-- <-- wait it's gone? 22:16:26 i do not know 22:16:42 is it not gone 22:16:50 or not going, that is 22:17:44 04:52:42: is there a name for a numbering system where every single positive integer has a distinct symbol? 22:17:45 oerjan: you might find the flagging technique i used helps with the halting issue (if you dont already use it). it essentially lets you exit a loop if any of a whole bunch of cells has been zeroed... 22:17:46 quintopia: the naturals 22:17:53 -!- GreaseMonkey has quit (Quit: The Other Game). 22:18:02 elliott: that subject is over 22:18:02 "whole bunch" he has precisely three cells 22:18:08 quintopia: i un-overed it 22:18:15 elliott: I mean, the type of "..." expression in $(...) which can be "Q Exp" or "Q Typ" or "Q [Dec]" so can it be made a pair instead so that you can keep track of previous things? Such as, you can do put everything figured out previously at the end, or prevent duplicates, or whatever 22:18:38 wait, is he trrying to fit the entire converter into 3 cells? 22:18:48 oerjan: you could use <<< as a sure-fire halter >:) <-- i don't think so. also i'm not sure i can actually perform an action _specifically_ when something is %2 == 0 22:18:53 zzo38: i'm not quite sure i understand 22:18:56 quintopia: that's the whole point of the converter 22:19:06 oerjan: it was a joke, if you only have three cells then <<< is necessarily invalid 22:19:08 why 22:19:17 quintopia: to prove that three-cell BF is tc 22:19:24 aha 22:19:37 so we know already that four cell BF is? 22:19:46 04:56:09: he's talking about an infinite number of symbols. I don't think that has a name. 22:19:47 it does, it's called a "set" 22:19:50 quintopia: no. oerjan is just hardcore. 22:19:53 we know that six is IIRC 22:19:55 or was it seven 22:20:06 or was it five 22:20:14 zzo38: are you basically saying that you want foo in $(foo) to be able to use global state? 22:20:14 im dont know ;_; 22:20:22 i.e. if you do $(foo "a") it will note that "a" has been done 22:20:29 and not do it again if you say $(foo "a") later or whatever 22:21:23 elliott: five 22:21:24 04:57:28: it is not dumb 22:21:25 04:58:11: becuase youll only ever need a finite subset of the digits, its basically the same as "base x, where x is the largest number you need right now" 22:21:25 this is the same fallacy that makes a language with a fixed-but-arbitrary-size heap TC 22:21:32 olsner, i hadn't sent you any links 22:21:35 don't feel so special 22:21:47 elliott: You failed to understand? O, well, I don't know much about Haskell so maybe I wrote everything mixed up. But, I mean, for example, if "xyz" is a function receiving (Integer) and then returns (Integer,Q Exp) type then you can type $(xyz) so it expects the last pair with Integer type at first and makes the new one Integer and then put the Q Exp expression spliced out 22:22:06 i don't really care if you've seen it 2 or 0 times unless you're going to recognize the formula, then i care but only a tiny bit. 22:22:26 elliott: i realized it was dumb later...it'd be better if you just finished reading everything before commenting 22:22:26 cheater: I see what you mean, but then again anything I see on my screen has been sent to me, regardless of who the recipient(s) was/were 22:22:42 quintopia: that is not the Way. 22:22:50 i hadn't sent it to you. i had sent it to a channel, to which you subscribed by joining. 22:22:58 zzo38: sorry, I still don't quite understand 22:23:28 cheater: still your fault I saw it 22:23:37 if anything, i hadn't opted to send it to you, you opted to receive it 22:23:46 i know its not how you do things, and that you intentionally elect to be annoying about backlog commenting, but i can still hold out hope you will become civilized can't i? 22:23:52 fuck that olsner 22:23:54 how dare he say "oh please, you already sent me that link" 22:23:55 asshole 22:23:57 you show him dude 22:24:07 quintopia: you realise oerjan did it first :) 22:24:09 and continues to 22:24:16 quintopia, elliott is always annoying 22:24:26 learn to live with it, he can't be changed 22:24:29 elliott: Indeed. 22:24:32 i think cheater woke up on the wrong side of the bed today 22:24:35 (his bed has two wrong sides) 22:24:49 my bed has about six sides 22:24:57 given that it's in 3-D Space 22:24:59 hmm, two wrong sides... how many sides does that leave for being the right side(s)? 22:25:06 four. 22:25:10 no 22:25:16 dont forget inside and outside 22:25:19 olsner: well i assumed it is against a wall 22:25:19 (I would hate to wake up on the under-side of my bed) 22:25:22 so i guess he could lunge over the front 22:25:27 oh man, those are SIDES too! 22:25:28 and the inside, of course 22:25:35 there are other sides, but none of them are practical to exit from. 22:25:39 exit on 22:25:58 but who said anything about exiting the bed? 22:26:04 it's waking up that's the issue 22:26:15 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 22:26:19 i live in a room with no walls 22:26:27 cheater is homeless. 22:26:32 not really. 22:26:43 the world is my home!!!!! 22:27:54 05:58:57: http://img.photobucket.com/albums/v216/Mechadragon/thetree.png 22:27:54 those are really shitty trees 22:28:21 looks like a spectrogram 22:28:35 `addquote I combined the wholegrain breakfast and chocolatey breakfast for maximum breakfast efficiency 22:28:37 559) I combined the wholegrain breakfast and chocolatey breakfast for maximum breakfast efficiency 22:28:44 why do people call logo the lisp without parentheses? 22:28:49 Maybe I can explain better. something :: String -> (Integer,Q Exp) something x = [| aaa bbb |] f x = $(something) Now there must be at least one previous $(...) of type "(anything) -> (String,Q (anything))" 22:28:51 almost exactly like the spectrograms that websdr gives you 22:29:21 (But it doesn't have to be the directly previous one, there can be anything else in between) 22:29:32 cheater: because it is a fixed-arity lisp. 22:29:40 cheater: because it is rather similar below the syntax 22:29:42 that song totally does not look sequenced. 22:29:44 something :: String -> (Integer,Q Exp) something x = [| aaa bbb |] 22:29:46 zzo38: this is not valid 22:29:59 zzo38: something x = (length x, [| aaa |]) might be. 22:30:08 Yes, I know that, sorry. Now you made better. 22:30:13 I got mixed up. 22:30:21 f x = $(something) 22:30:27 also not valid, because something is not of type Q Exp 22:30:31 Your example is the kind of things I mean. 22:30:49 elliott: Yes I know is not valid. I am asking if there is some way to do something similar to what I described 22:30:56 hmm 22:31:04 Like, is there a way to make it valid. 22:31:10 "Now there must be at least one previous $(...) of type "(anything) -> (String,Q (anything))"" <-- what do you mean by "there must be at least one previous" etc.? 22:31:19 like, do you want to stop anyone using that splice once? 22:31:22 they have to use it two or three times or whatever 22:31:37 elliott: No, I mean there must be an input otherwise how can it be used? 22:31:39 does the Integer record the number of times the splice has been used? 22:31:53 zzo38: ah. well yes, (String -> Q Exp) is not of type Q Exp. 22:31:57 The "Integer" would be the input. So there must be a input 22:31:58 zzo38, do you just mean state 22:32:15 cheater: Yes, maybe I mean like that 22:32:17 zzo38: the Integer there is part of the return type 22:32:21 not part of the input 22:33:08 except in state 22:33:21 arrive in state 22:33:25 11:21:02: dude 22:33:25 11:21:08: using negatives is not a flaw 22:33:29 coppro: it is if negatives impact his translation 22:34:04 Is it bad that I'm bruteforcing VVVVVV puzzles? 22:34:42 i'll pass this question on to our VVVVVVVVVVVvvvvvvvvv expert FireFly 22:34:43 erm 22:34:44 fizzie 22:34:59 Well, I did finish VVVVVV 22:35:11 i finished the uh 22:35:13 free demo 22:35:19 ages ago 22:35:32 i should buy the bnudle............ 22:35:38 idnie bnudle. 22:35:40 Yes, you should 22:36:58 the bnudle is probably good but the trailer killed me and did bad things to my corpse 22:37:29 at least i think it was the trailer 22:37:43 12:36:53: yes, also they're hard to use here 22:37:44 12:37:12: but then maybe it could be essential 22:37:49 oerjan: is BF with only balanced loops TC? 22:38:00 I somewhat doubt it considering how simple an instruction set you can translate them to 22:38:16 if it isn't, then you _must_ used an unbalanced loop somewhere. 22:38:17 elliott: yes it is. 22:38:20 oerjan: huh, okay 22:38:26 oerjan: cool, we should eliminate them, then 22:38:31 would make optimisation a hell of a lot easier. 22:39:06 in fact i haven't used any unbalanced loops in the conversion yet, but i'd use one if it could help with the halting... 22:39:43 elliott: pikhq_'s BFM worked much better when generating balanced loops iirc 22:39:49 well if you can arrange things so that you would fortuitously land on a 0 when you need to halt... 22:39:58 how do unbalanced loops workii forget the spec 22:39:58 oerjan: heh, well obviously compilers can do balanced loops really quickly 22:40:04 because of the polynomial translation 22:40:28 monqy: unbalanced = doesn't move left as much as it moves right 22:40:49 oh 22:40:54 oh right 22:40:59 I was thinking different things oops 22:41:14 elliott: Yes the Integer is part of return type in that example, which means the input type of one of the $(...) in the future can be Integer. But since the input type this time is String, requires one of the previous ones to have a pair with String as the output 22:41:27 Now do you understand what I mean? 22:41:41 FireFly, I feel like I was mashing buttons for the chords 22:41:57 zzo38: you mean... 22:42:04 zzo38: $(something 9) could return (Integer, Q Exp) 22:42:06 erm 22:42:09 zzo38: $(something 9) could return (String, Q Exp) 22:42:13 then in $(something x) 22:42:17 x would have to be a String?? 22:42:22 I don't really see what you mean at all 22:42:58 Bleeping diode 22:43:08 bleeping? 22:43:57 elliott: No! I mean, probably you would have a function with a type "Integer -> String -> (Integer, Q Exp)" then you can have "$(something 42)" which results in a type "String -> (Integer, Q Exp)" which is the type of the splice. And then it call it with the previous one having type "(String, Q Exp)" or "(String, Q [Dec])" etc, the first of that pair is the input of the function, the output the second part makes the expression. 22:44:18 ah, hmm 22:44:20 you mean 22:44:22 you would use it like: 22:44:27 $($(something 99) "abc")? 22:44:43 No. That is not what I mean. 22:45:12 :( 22:45:16 Probably at first you would need something with the input type being () so that you can start 22:45:26 Otherwise you always need a input value and you don't have any 22:46:29 I will write a better example 22:46:32 17:51:35: What would make the perfect programming language, in your eyes? 22:46:32 @lang :-P 22:46:32 pong 22:47:14 zepto 22:47:21 @lang too 22:47:21 pong 22:47:25 monqy: apparently c-- is still used when compiling with llvm, it's the last common stage before all the separate backends, http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/HscMain 22:47:31 aha 22:50:07 although i do recall there was some backend which went off an earlier stage 22:50:29 an experimental one, i wonder if it was the javascript one 22:50:46 or wait that wasn't ghc at all was it. 22:51:11 yhc, apparently 22:51:26 mhm 22:51:31 -!- copumpkin has joined. 22:51:47 rip yhc 22:52:30 20:28:55: null [] 22:52:30 20:29:05: Woops, wrong tab 22:52:31 20:29:35: True 22:52:31 20:29:48: Thank you, Deewiant 22:52:31 20:30:09: :1:10 parse error on input `,' 22:52:31 20:31:41: :quit 22:52:33 20:32:02: Leaving GHCi. 22:52:37 Deewiant: you should have done /quit Leaving GHCi. instead :P 22:54:46 Five Humble Indie Bundle 2 games added to the Humble Indie Bundle 3 22:54:48 oh for goodness sake 22:57:07 what does this mean 22:57:17 it means you get to play gish 22:57:22 or was that in HIB1 22:57:38 what's hib2 specific now 22:57:39 if anything 23:00:24 Here is better example http://sprunge.us/cHbI I know it is wrong that is why I ask what other way to do a similar thing. 23:02:47 Now it is understand?????????????????????????????????????????????????????????????????????????????????????????????????????? 23:02:57 zzo38: I'll check 23:03:31 zzo38: OK, so what you want is mutable state 23:03:37 you could do this: 23:03:51 state :: IORef Bool; state = unsafePerformIO $ newIORef False 23:03:55 bbb :: Q Exp 23:04:28 bbb = do r <- liftIO $ readIORef state; liftIO $ writeIORef state False; if r then [ | 5 |] else [| 7 |] 23:04:33 similarly for cc 23:04:39 and aaa becomes unneccessary because we specify an initialiser 23:04:47 zzo38: this requires unsafePerformIO though, which is Bad 23:04:50 and indeed breaks the type system 23:04:54 and is thus kept in an unsafe module 23:05:04 zzo38: if you want to do it safely, then you need to exploit the fact that you can access the IO monad from Q 23:05:06 elliott: I know, it is unsafePerformIO that is why I wanted it differently without unsafe 23:05:15 for instance, you could use whether stdout is in binary mode or not 23:05:26 or some other piece of internal state that doesn't matter to you 23:05:30 this is a huge hack, of course 23:05:37 you could write out the boolean to a file and read it back in, too 23:05:38 etc. 23:05:45 but generally i'd say that you shouldn't :P 23:05:57 ofc if it's just for a fun hack then it's fine. but then if it's just for a fun hack unsafePerformIO is ok too. 23:06:07 so, yes it can almost certainly be done 23:06:10 it'll be ugly though :) 23:06:47 alternatively, don't mutable state ;_; 23:06:54 I know that wouldn't be very well, which is why I asked it differently. But, OK, now I know at least it can be done in case it is necessary 23:08:00 well it probably can. if your user has no permissions to write any kind of file at all, you rely on stdout being in a certain encoding so you can't change that, ..., then you couldn't do it 23:08:12 but I suspect the base libraries have some way to twiddle a bit on and off without effecting everything, by accident :) 23:09:55 anyone got an idea why gawk AND mawk would both only output one space when doing this? LC_ALL=en_US.UTF-8 gawk 'BEGIN{ printf(".%3s.\n", "ü")}' 23:10:27 Maybe another way would be to make $(doeverything x) where doeverything :: [([Integer], Q [Dec])] -> Q [Dec] 23:10:28 apparently it works on other people's computers 23:10:30 Does this way work? 23:10:36 but i tried on all my computers and it doesn't 23:10:52 zzo38: um well x would have to be a list of ([Integer], Q [Dec])s 23:10:55 which is a weird thing to pass 23:11:13 Yes I know it is 23:11:24 can it be that my libc is somehow fucked up? 23:12:54 Or maybe a different type instead of [Integer] it should be a monad on the first half of the pair, or a function type. And then you can have commands that can check these thing the function "doeverything" pass each result to the next one and then make the output Q [Dec] based on each one put it together 23:13:50 I was wrong when I put [Integer] probably a function type or a monad type (or maybe you need both?) would work instead 23:14:19 zzo38: no. if you return type is (Q Dec), then you cannot cause any effects outside of Q. 23:14:35 you are restricted to what effects Q offers 23:16:19 cheater: So, what, ". ü." is the string it should output? 23:18:21 monqy: http://sprunge.us/WZLA help this is too funny (guy in haskell logs has team, is developing online version of Risk, apparently no good at concurrent programming, expects 10000 concurrent users) 23:19:20 06:37:42 do you guys compile your haskell to machine code? 23:19:37 (06:47:05 what do they mean when they say pascal is pure?) 23:20:37 i dont know whether to keep this guy away from haskell or force him to learn it until he becomes smart 23:20:51 what do they mean when they say pascal is pure 23:20:53 help 23:22:18 pikhq_, it should output two spaces to the left of the umlaut u 23:22:31 . ü. 23:23:10 notice the string specifier is %3s which means the field should be formatted to 3 characters wide. 23:23:57 elliott: did they reach a conclusion 23:24:07 monqy: im not srue................................................................... 23:25:56 pikhq_, you'll notice that it works for ascii letters and other single-byte characters. it does for me too. now for multibyte characters it might work for you, but it most certainly does not work here 23:26:36 im searching for zyclops does this make me a bad person 23:26:53 02:17Zyclopshey pythoners, anyone know how to get python-setuptools installed under bsd? 23:26:56 02:22Zyclopsah ha 23:26:59 02:23Zyclopsi't py-setuptools under /ports/devel/ 23:27:10 never heard from again 23:27:17 -!- elliott has quit (Read error: Connection reset by peer). 23:27:23 -!- elliott has joined. 23:28:04 Maybe you can pass the list [((Xyzzy, Q [Dec]) -> (Xyzzy, Q [Dec]), Q [Dec])] So that, you can have a type "Xyzzy" which tells the things need to keep track of, and then Q [Dec] is the program codes and the other one is a function that transform it based on the state, you can have a function taking parameter and make output due to currying functions too 23:28:12 07:40:06 erus`: linux-programmers only know about shell scripting and C 23:29:14 -!- ttm_ has joined. 23:29:27 i am having trouble finding zyclops' risk adventures online 23:29:44 http://tunes.org/~nef/logs/haskell/11.07.31 23:29:46 maybe he gave up :( 23:29:46 ur welcmome 23:30:08 oh that recent? 23:30:14 I know some things of AWK, but I never used AWK with Unicode, I have only used AWK with ASCII, so I don't know the answer of the questions you asked about AWK 23:30:47 wait no 23:30:59 argh 23:31:00 where is it 23:31:15 http://tunes.org/~nef/logs/haskell/11.07.31 23:31:16 yeah 23:33:39 07:02:34 erm.. my progamming liniage went…. BBC basic -> basic -> visual basic -> c++ -> java -> php -> ruby 23:33:51 then he leaves 23:33:52 :'( 23:34:59 (Where, "Xyzzy" is a object that keeps track of all the information needed tp be kept track of between the different pieces of the Haskell codes, so that the record might include a number and a function that increments that number and include it, or a list to keep track of duplicates and put all fields of a record spread out moved together, etc) 23:37:14 -!- FireFly has quit (Quit: swatted to death). 23:37:18 Because, how can you otherwise make a number in Template Haskell that increments after each time? 23:37:37 (That is, if you don't use unsafe or other I/O stuff that doesn't belong) 23:41:01 zzo38: using IO from within Q is perfectly acecptable. 23:41:03 acceptable. 23:41:18 using unsafe functions probably is not, but IO is supposed to be accessible from Q. 23:41:45 runIO :: IO a -> Q aSource 23:41:45 The runIO function lets you run an I/O computation in the Q monad. Take care: you are guaranteed the ordering of calls to runIO within a single Q computation, but not about the order in which splices are run. 23:41:45 Note: for various murky reasons, stdout and stderr handles are not necesarily flushed when the compiler finishes running, so you should flush them yourself. 23:41:49 s/aSource/a/ 23:41:57 oh right 23:42:01 zzo38: my solution was _incorrect_ 23:42:07 because splices can be run in any order 23:42:17 so basically, no, there is no way for them to predictably keep state 23:49:30 -!- Sulmersal has joined. 23:50:37 -!- Sulmersal has left ("Leaving"). 23:51:26 elliott: OK, so there isn't a way. Maybe I can propose the variant which keeps state. In addition to types "Q Exp" and "Q Typ" and so on, the result can also be of a type "x -> (y, Q Exp)" and "x -> (y, Q Typ)" and so on, where "y" can be any type, and "x" must be either "()" or the same as the "y" type of a previous splice. The ordering of splices in a "chain" is guaranteed but others aren't. 23:51:43 -!- variable has joined. 23:53:03 I don't know how well it would work with the rest of the stuff they have. 23:56:56 back 23:57:11 zzo38: Well, umm, that's just the state monad. 23:57:26 But, you cannot really force an ordering of splices at all. 23:57:32 Because the compiler can compile modules in any order, etc. 23:58:26 do it all in a single splice? 2011-08-04: 00:01:05 -!- Patashu has joined. 00:16:14 -!- Sgeo has quit (Read error: Connection reset by peer). 00:17:44 -!- Sgeo has joined. 00:23:39 wow, "paragraph" actually meant 16 bytes on sixteen bit intel 00:23:40 :DD 00:23:42 as opposed to page 00:23:52 so amazing. 00:34:38 * elliott appends http://hackage.haskell.org/package/gloss to the "To look at" list 00:34:45 oh hmm it looks two dimensional 00:35:48 yeah I looked at gloss too. I forget exactly why I didn't use it 00:35:52 maybe I should look more at it 00:36:04 look at it with the fiery power of a thousand suns... 00:36:22 * elliott considers looking at Frag sometime too :P 00:36:26 it uses FRP at least. 00:36:29 and OpenGL. 00:36:54 my game is going to be SO AWESOME. 00:37:05 elliottcraft or what 00:37:09 yes. 00:38:18 elliott, I thought you said there were unsolved problems with FRP? 00:38:47 well yes. but you can wing it. 00:38:58 ?t \f g -> (f .) . g 00:38:58 Maybe you meant: tell thank you thanks thx ticker time todo todo-add todo-delete topic-cons topic-init topic-null topic-snoc topic-tail topic-tell type . ? @ ft v 00:39:00 :t \f g -> (f .) . g 00:39:01 forall a b (f :: * -> *) (f1 :: * -> *). (Functor f, Functor f1) => (a -> b) -> f1 (f a) -> f1 (f b) 00:39:07 :t \f g -> (f Prelude..) Prelude.. g 00:39:08 forall b c a a1. (b -> c) -> (a1 -> a -> b) -> a1 -> a -> c 00:39:13 hate lambdabot forever 00:39:23 hmm 00:39:26 ?pl \f g -> (f Prelude..) Prelude.. g 00:39:26 flip ($ Prelude..) Prelude.. 00:39:29 ?pl \f g -> (f .) . g 00:39:29 (.) . (.) 00:39:32 just as i suspected 00:42:03 ye olde horriblie broken parser 00:42:11 wat 00:42:30 ($ Prelude..) is not legal syntax 00:42:37 oh, heh 00:42:42 cute 00:44:06 :t ($ Prelude..) 00:44:07 parse error on input `Prelude..' 00:44:44 ?unpl (.) . (.) 00:44:45 (\ i b c f -> i (b c f)) 00:44:58 ?unpl flip ($ Prelude..) Prelude.. 00:44:58 Parse error at "Prelu..." (column 9) 00:47:15 * Phantom_Hoover concludes that Tindeck is entirely a Homestuck fansite. 00:55:30 it existed before homestuck 00:55:35 it's an SA thing 00:55:44 ok, so a printer error more than a parser error 00:55:59 elliott, I guessed both of those. 00:56:14 ?pl \f g -> (f hm) hm g 00:56:15 flip ($ hm) hm 00:56:37 But there are about 3 tracks on 'popular now' which aren't Homestuck-related. 00:56:39 hm no 00:57:09 ?pl \f g -> hm (hm f) g 00:57:10 hm . hm 00:58:01 seems to be parser 00:59:42 I should put my karaoke on tindeck 01:00:31 I still had that until like yesterday 01:05:08 -!- evincar has joined. 01:06:55 How are the times? 01:08:08 monqy, you deleted it‽ 01:08:16 HOW 01:09:04 i forgot i didn't move it from my downloads directory and then i cleared my downloads directory :'( 01:11:25 It's back up on his website, though. 01:12:04 * Sgeo decides to just look up the answer for VVVVVV's I Love You 01:12:29 wat 01:15:27 Oh come on, I thought I tried that 01:18:59 What are you going on about? 01:19:24 Phantom_Hoover, VVVVVV is one of the games in Humble Indie Bundle 3 01:19:33 Ah. 01:19:38 Yeah, I should probably get that thing. 01:20:01 Someone do me a favour after I quit and @tell lambdabot to remind me. 01:20:33 -!- cheater has quit (Ping timeout: 255 seconds). 01:28:58 * Phantom_Hoover → sleep 01:29:02 @tell Phantom_Hoover I wonder if this works. 01:29:03 You can tell yourself! 01:29:13 @dammit 01:29:13 Unknown command, try @list 01:29:16 -!- Phantom_Hoover has quit (Quit: Leaving). 01:32:41 @tell Phantom_Hoover Get that thing. 01:32:41 Consider it noted. 01:32:52 Well, that's taken care of. 01:33:34 -!- cheater has joined. 01:41:39 -!- lament has joined. 01:48:25 So I finished Gödel, Escher, Bach. I found it off-puttingly clever and absurdly long for the subject matter. 01:48:35 Those interested, discuss. 01:49:39 Yes I have read that book too. I notice many things. Even it mentioned in the bibliography, is a book that doesn't even exist. There is many references to copper,silver,gold (can you find it?) and a lot of other things. I like this book too. 01:51:38 It was...something. I feel like it was just written in a "ho ho aren't I clever" sort of way merely for the sake of it. 01:51:43 It doesn't necessarily obscure the point. 01:51:52 But it certainly makes it longer and more irritating to get to the point. 01:51:54 the interludes were amusing as clever stories yes 01:52:10 it was good to know more details of godel's proof 01:52:15 Oh, certainly. 01:52:22 but other than that i didnt really learn anything from it 01:53:13 * Sgeo wants recommendations for Gutenberg Project books to read 01:53:14 and yeah, i spread the reading of it over months because it was kind of tedious 01:53:39 sgeo: have you read all the classics yet? 01:53:57 No 01:54:03 The entire book it makes many things. I happen to like this book. I have the Vintage edition. Find all the secret messages and everything else in this book including everything wrong with it and so on. 01:54:08 quintopia: I did it in a couple days because otherwise I wouldn't've bothered continuing with it. 01:54:11 Not sure I'd be interested in classical fiction 01:54:25 if youve finished with the english language classics, start in on the icelandic language classics. Njalssaga is on PG i think 01:54:36 Unless maybe some humorous classical fiction? 01:54:53 alice in wonderland? 01:55:00 its like required reading... 01:55:25 Yes, Alice in Wonderland; very good. 01:55:54 also flatland 01:56:11 jules verne 01:56:15 Read Flatland a while ago. Tried to get the PG version, doesn't seem to work well 01:56:43 I know Jules Verne is science fiction, but... hm 01:56:52 try the R version 01:57:11 It's much more...interesting. ;) 01:57:31 hot square on square action 01:57:34 In any case, Flatland is bothersome not for what it is. 01:57:46 But rather for what people interpret it to mean. 01:58:07 Rather like Huxley's work, it gets misinterpreted by people who miss the point but use the work to make their own faux-points. 01:58:11 flatland is interesting if you understand it as a commentary on victorian culture 01:58:34 sort of like gullivers travels (also recommend) 02:13:00 So I finished Gödel, Escher, Bach. I found it off-puttingly clever and absurdly long for the subject matter. 02:13:02 it has no subject matter 02:13:15 it is a bunch of confused rambling leading up to a stupid "BRAINS = RECURSION DOOD" non-conclusion 02:13:31 also see http://esolangs.org/wiki/User:Chris_Pressey#G.C3.B6del.2C_Escher.2C_Bach:_An_Eternal_Golden_Braid :P 02:14:10 it should have just been a book of achilles/tortoise dialogues :) 02:14:57 Zombies sure do love recursion. 02:15:26 The dialogues is good, but so is the other things. I think it is very good although you would have to think of these things various things mentioned, see if you can figure it out or just have your own opinions about these things, you might agree/disagree whatever. But it has dialogues too and also other things, such as art and music. 02:16:00 Death penalty could be debated in Commons after e-petition calls 02:16:00 Leader of Commons says ignoring topics raised by new scheme allowing submissions would be unfair to public 02:16:04 ah. 02:16:58 And even the various jokes, secret message and partially obscured references maybe you can find, and descriptions of typographical number theory and the author's own opinions of various ideas, and many wordplays, even a well annotated bibliography, etc. Is good! 02:17:13 -!- oerjan has quit (Quit: Good night). 02:46:07 -!- naryfa has joined. 02:46:19 helleaoh 02:47:25 -!- naryfa has left. 03:05:19 -!- azaq23 has quit (Ping timeout: 250 seconds). 03:15:08 -!- BeholdMyGlory has quit (Remote host closed the connection). 03:17:23 I think I'll just watch a blind LP of VVVVVV 03:17:29 It sounds a bit difficult 03:28:04 as opposed to playing it?? 03:28:06 s/??/?/ 03:40:50 -!- MDude has changed nick to MSleep. 03:41:50 Sgeo: update/ 03:42:18 im infer that blind lps of vvvvvv are hard to watch because they are painful because they are awful 04:00:03 -!- evincar has quit (Quit: Tomorrow comes a day too soon.). 04:08:52 ARMCUBLENS SCANBLUREM LAMNUBRECS 04:09:32 Are these real words? 04:09:48 almost as real as word 'monqy' 04:14:05 -!- Patashu has quit (Ping timeout: 260 seconds). 04:19:09 http://www.jwz.org/blog/2011/07/mork-keeps-on-giving-when-the-database-worms-eat-into-your-murder-trial/ 04:19:11 oh my god 04:19:45 i cant stop laughing 04:36:22 wow what 04:37:28 [Mork] was developed ... with the aim of creating a minimal database replacement that would be reliable, flexible, and efficient, and use a file format close to plain text. 04:40:48 -!- lament has quit (Ping timeout: 276 seconds). 05:01:47 monqy: oh man have you not 05:01:49 read jwz's posts on it 05:02:00 monqy: http://www.jwz.org/blog/2004/03/when-the-database-worms-eat-into-your-brain/ 05:02:17 i read that one (i followed the link from the one about murder trial) 05:02:19 but 05:02:23 read the comments too 05:02:24 they're so amazing 05:02:45 and the top of mork.pl 05:02:48 just so amazing 05:03:17 "In case the true comedy of this part isn't apparent: he's clearly going to all this trouble to hyper-compress this file, what with the lookup tables for every identifier, right? And then, when writing out strings, he doesn't write them as UTF-8: he writes them as raw wchar_t strings. If he was writing them as raw bytes, that would multiply his file size by either 2 or 4 (depending on how big wchar_t is -- but wait! He doesn't write them raw, he 05:03:17 writes them A) hex encoded and B) with a $ before each hex byte! So even on 16-bit wchar_t systems, he's tripled the file size." 05:05:24 monqy: but...................... 05:05:56 no others 05:05:59 assuming they exist 05:07:01 i odn't know if they do 05:07:05 the .pl is a blog ,,, in itself,,, 05:07:12 That's *horrifying*. 05:07:23 it's great 05:07:45 And they WONTFIX'd it? *shudder* 05:08:12 There's so *many* alternatives to that shit that'd be better. 05:08:57 Sqlite, Berkeley DB, CSV, JSON, *XML*, a shell script, a Brainfuck script, a Lazy K script, ... 05:09:12 pikhq_: Mork is finally gone in Firefox seven 05:09:16 It hasn't been used regularly since three 05:09:19 (when Places came in) 05:09:22 (thus SQLite) 05:09:29 It's only in current versions as a converter, IIRC 05:09:43 elliott: Praise be to (eventual) sanity. 05:09:52 so, umm, does anyone know how this happened? 05:09:54 http://arstechnica.com/tech-policy/news/2011/08/the-british-government-has-endorsed.ars 05:09:57 s/ [dollar]// 05:11:51 Probably Murdoch stopped paying for hookers for members of Parliament long enough for them to decide to act in the interests of the country. 05:14:23 The government is not exactly on speaking terms with Murdoch right now :-P 05:16:32 Ours decided to go back to ignoring Murdoch, preferring to take the economy hostage for a bit before going on vacation, leaving the Federal Aviation Administration not running for a month. 05:27:14 -!- pikhq_ has quit (Ping timeout: 240 seconds). 05:27:25 -!- pikhq has joined. 05:37:46 -!- TeruFSX has quit (Read error: Connection reset by peer). 05:48:25 Hmm. In theory, Linux could have as good backwards compatibility as Microsoft tends to, regarding ABI... 05:49:34 I wonder if it'd be worthwhile to try and set up a scheme whereby a modern distro could pull that off. 05:49:46 "Why yes, it runs Netscape! 0.93!" 05:51:16 pikhq, arn't the syscalls rather stable? 05:51:48 Lymee: Exceptionally. 05:52:06 Lymee: What you need to do to pull this off is all in userspace. 05:52:27 elliott@katia:~$ wget ftp://archive.netscape.com/archive/navigator/3.04/shipping/english/unix/linux12/navigator_gold_complete/netscape-v304-export.x86-unknown-linux-elf.tar.gz 05:52:29 let's do this shit 05:52:38 uh oh, not resolving :/ 05:52:38 How stable is glibc? 05:52:57 elliott: http://home.mcom.com/archives/ 05:53:05 Lymee: static linking 05:53:09 Lymee: Irrelevant; we're talking Linux libc. 05:53:10 pikhq: oh, neat 05:53:27 elliott@katia:~$ wget http://home.mcom.com/archives/3/netscape-v304-export.x86-unknown-linux-elf.tar.gz 05:53:50 0.93 is earliest Linux version, it seems 05:54:04 sigh 05:54:07 that netscape tgz is a tarbomb 05:54:34 With, apparently, a dependency on libc4 (and, hence, an a.out ld.so and the a.out binfmt module) 05:54:36 *boom* 05:54:51 $ ./netscape 05:54:51 bash: ./netscape: No such file or directory 05:54:52 ur rite :( 05:55:03 why would they even dynamically link it. 05:55:04 so silly. 05:55:07 oh hm 05:55:10 libc.so.5 => not found 05:55:10 libc.so.6 => /lib32/libc.so.6 (0xf7433000) 05:55:17 ok, the only thing I'm missing is... libdl? 05:55:20 libdl.so.1 => not found 05:55:21 how weird 05:55:35 You'll want libc5. Which shouldn't be *too* hard to hunt down. 05:55:41 pikhq: um but ldd says six is ok 05:55:42 Gentoo still packages it. :) 05:55:45 i.e. 05:55:46 elliott: It lies. 05:55:46 libc.so.5 => not found 05:55:47 libc.so.6 => /lib32/libc.so.6 (0xf7433000) 05:55:48 Horribly. 05:55:48 pikhq: :( 05:56:01 That's not "okay", that means "references to both". 05:56:05 elliott@katia:~/netscape$ apt-cache search libc5 05:56:05 elliott@katia:~/netscape$ 05:56:08 Probably the .6 comes from some other library. 05:56:09 * elliott cries. 05:56:33 elliott: http://archive.debian.net/sarge/libc5 05:56:41 sarge, nice 05:56:55 http://archive.debian.net/sarge/i386/libc5/filelist 05:56:58 ok, I'll just surgically extract it 05:57:09 http://archive.debian.net/sarge/ldso You might want this, too. 05:57:16 oh goody, it's all fourohfoured 05:57:21 I guess I need to find the archive server 05:57:22 eurgh 05:57:41 http://archive.debian.org/debian/pool/main/libc/libc/libc5_5.4.46-15_i386.deb 05:57:56 And http://archive.debian.org/debian/pool/main/l/ld.so/ldso_1.9.11-15_i386.deb 05:58:00 ah, thanks 05:58:35 Also, I suspect you could just barely *build* libc5. 05:58:54 Though you'd probably want to use GCC 3 to be safe. 05:59:58 elliott@katia:~/netscape$ LD_LIBRARY_PATH=lib:usr/lib ./netscape 05:59:58 bash: ./netscape: No such file or directory 05:59:58 gah 06:00:03 ldd says all its dependencies are filled 06:00:23 It's probably missing ld.so. 06:00:29 Why do you think I linked to it? 06:00:51 I extracted that, too. 06:00:54 libdl.so.1 => lib/libdl.so.1 (0xf7545000) 06:01:12 ... /lib/ld-linux.so.1? 06:01:59 /lib/ld-linux.so.1 => /lib/ld-linux.so.2 (0xf773a000) 06:02:00 hmm 06:02:03 that's not thirty-two bit is it 06:02:10 That is 32 bit. 06:02:31 It's also not the requested dynamic linker. 06:02:43 Linux will try to execute /lib/ld-linux.so.1. 06:02:46 Directly. 06:03:14 Hence the "No such file or directory". 06:03:22 $ LD_LIBRARY_PATH=lib:usr/lib /lib/ld-linux.so.2 ./netscape 06:03:22 ./netscape: Symbol `_res' has different size in shared object, consider re-linking 06:03:22 ./netscape: Symbol `_sys_errlist' has different size in shared object, consider re-linking 06:03:22 Segmentation fault 06:03:24 ah 06:03:51 You want http://archive.debian.org/debian/pool/main/l/ld.so/ldso_1.9.11-15_i386.deb 06:04:02 Specifically, /lib/ld-linux.so.1 from it. 06:04:09 pikhq: Hey, you're in Colorado Springs, right? 06:04:12 Yes. 06:04:12 And oh, didn't realise it had that. 06:04:21 pikhq: Just was reminded of you by http://cdsmith.wordpress.com/2011/08/03/haskell-for-kids-introduction/ 06:04:24 ("You’re asking about the town for my class? Colorado Springs, CO.") 06:04:25 I wouldn't be surprised if you hit problems related to having some of your shared libs built on glibc (the new ones) and some code built on libc5, even if you got all that stuff to resolve. 06:04:40 I'd just try to do that sort of stuff in a completely-from-the-sarge-age chroot or something. 06:04:45 elliott@katia:~/netscape$ LD_LIBRARY_PATH=lib:usr/lib lib/ld-linux.so.1 ./netscape 06:04:45 Segmentation fault 06:04:46 Welp. 06:04:59 fizzie: sarge age is only 2005, you know; I'd want something much older. 06:05:19 Well, yes, but something based on libc5. 06:05:32 elliott: What's the list of libraries for that, anyways? 06:05:41 ... 06:05:55 LD_LIBRARY_PATH=$(pwd)/lib:$(pwd)/usr/lib might help. 06:06:40 pikhq: Haha, really? 06:06:54 Doesn't. 06:07:01 It was a thought. 06:07:08 Only one thing for it... GDB! 06:07:27 Program received signal SIGSEGV, Segmentation fault. 06:07:27 0xf7ff8cec in _dl_boot () 06:07:27 Oh well. 06:07:44 debootstrap in a 'potato' or something. (Note: not sure if it can actually install something that old.) 06:09:45 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=112778 06:09:45 Maybe. 06:10:46 Not sure how well its oldlibs/libc5 thing goes either, but even hamm is libc6-based. 'bo' has a libc5 in base, but... 06:11:40 :-D 06:11:54 "So ok, I went to install Bo:# debootstrap bo /mnt/hda7 http://archive.debian.org/debian-archive/ 06:11:54 E: No such script: /usr/lib/debootstrap/scripts/bo 06:11:54 Doh! I didn't know a script would be required. Suprisingly though, it appears that there are scripts that will let me go all the way back to Slink." 06:12:09 fizzie: You want me to go for buzz, maybe? :-) 06:12:19 I don't think there's binaries for it in archive.debian.org. 06:12:27 But of course if you *want*... 06:13:16 How's 'bout Gentoo's package? 06:14:29 "Ahh, I've found out that apt-get wasn't included until the release of Slink in '98! I may have to use a version of apt-get that is newer than the actual distro, depending on how far back I go. (think it'll werk?)" 06:14:47 "Ok, I've downloaded the Bo (Peep) base (http://debian.crosslink.net/debian-archive/dists/Debian-1.3.1/main/disks-i386/current/base1_3.tgz)." 06:14:49 THIS IS SO THRILLING. 06:15:16 http://gentoo-distfiles.mirrors.tds.net/distfiles/lib-compat-1.4.2.tar.bz2 06:15:29 pikhq: Oh gawd. What is it. 06:15:33 libc5. 06:15:38 :) 06:15:46 I think the dependency of all my other libraries on glibc is breaking Netscape 06:15:50 [asterisk]Netscape. 06:15:51 And an older ABI of stdlibc++. 06:15:52 So I should really chroot. 06:16:16 Maybe you'll need lib-compat-loki-0.2, too? 06:16:41 No, wait, that relies on libc6... 06:18:40 fizzie: this guy is my hero 06:20:39 I wonder if it's been possible to run a sid installation that's upgraded automatically every single time sid was updated from the mid-nineties to present? pikhq? 06:20:40 :p 06:20:44 Any hard-breaking changes in sid ever? 06:21:09 -!- lament has joined. 06:21:35 Uh. 06:21:45 Define "hard". 06:22:33 pikhq: As in "there is no way to recover a system in this state without basically reinstalling". 06:22:43 Say, no way to fix it without replacing the dpkg/apt database. 06:22:51 In a way that destroys all information about installed packages. 06:22:52 I don't think so. 06:23:10 That's an impressive track-record, if sid has never actually broken every system. 06:23:12 However, I'd be willing to bet that it'll not boot on some updates. 06:23:38 sid is, contrary to popular belief, not where they actually do development. 06:24:00 Yeah, I know. 06:24:00 It's the least stable testing branch. 06:24:24 Your concept of "hard-breaking" is just very, very hard to happen, anyways. 06:25:11 Well, I mean, system-booting failures are unavoidable. 06:25:14 Since basically it just means "sh and dpkg stopped working". 06:25:22 I'm just asking if you can maintain a sid system from the 90s to present without getting a hex editor and twiddling bits. :p 06:25:54 Though I'd be a little bit wary of the switch from bash to dash for /bin/sh. 06:26:14 Someone might have fucked up a boot script or /etc/profile or something. :P 06:30:20 pikhq, did you get my msg? 06:30:58 cheater: What msg? 06:31:07 about what is broken with awk 06:31:11 Oh. 06:31:36 basically printf's field width specifiers end up counting bytes, instead of counting characters 06:31:51 I do believe gawk is fucked. 06:32:02 so if you have a character that's two bytes, the field ends up being one character narrower 06:32:08 that would be nice, but mawk does the same thing 06:32:23 so it's some underlying mechanism, maybe they both use a system call that's fucked up on ubuntu 06:32:35 Same behavior on busybox awk... 06:32:52 And on busybox musl awk. 06:33:09 i asked in #awk and some people have it working while some don't 06:33:22 did you set your LC_ALL when invoking the code? 06:33:34 Yes, but it's irrelevant for musl. 06:33:47 The only locale on musl is C.UTF-8 06:35:19 sweet 06:36:01 -!- zzo38 has quit (Remote host closed the connection). 06:36:22 so i wonder, what could be broken? 06:36:28 printf. 06:38:52 Yeah, it's probably just thinking char = character. 06:39:35 Thus, 06:39:35 printf("%'.2f", 1234567.89); 06:39:36 results in "1234567.89" in the POSIX locale, in "1234567,89" in 06:39:36 the nl_NL locale, and in "1.234.567,89" in the da_DK locale. 06:39:41 that's from the printf manual 06:40:03 $ LC_ALL=da_DK gawk 'BEGIN{printf("%'"'"'.2f\n", 1234567.89) }' 06:40:03 1234567.89 06:40:39 Orrrr it's not using C printf. 06:40:46 yeah. 06:41:16 HOWEVER, the fact that many awk's have the exact same problem makes me think it's some linux lib 06:41:30 what OS have you been trying on pikhq? 06:49:29 cheater: Linux, with 2 different libcs. 06:49:42 One of which I can vouch for. :P 06:50:26 i'm looking at the strace 06:50:38 it doesn't seem to be using the OS printf 06:51:14 wait, what's gconv? that's something to do iwth locale right? 06:52:26 http://souleyedigitalmusic.bandcamp.com/album/pppppp-the-vvvvvv-soundtrack <3 06:53:58 There is no game music that I dislike. 06:54:05 Except for isolated songs in some games 06:58:30 It's glibc's bundled iconv implementation, isn't it? 06:58:56 Also strace will not show printf ever, since it traces syscalls, not library functions. 06:59:58 I would think awk uses its own printf, though. Otherwise it'd have to parse the format string to know which sort of types to pass to the libc printf. 07:00:12 -!- lament has quit (Ping timeout: 240 seconds). 07:01:09 printf is totally a syscall doood. 07:03:02 Aren't all C functions? 07:05:57 totes 07:44:57 hmm... I wonder if there's a nice way to define isomorphisms in Haskell nicer than (a->b, b->a) 07:45:01 (cat a b, cat b a) :-) 07:49:58 -!- GreaseMonkey has joined. 08:06:40 ?pl \x -> let (x'r) = to g x in let (x'',r') = to f x in (x'', (r,r')) 08:06:40 (line 1, column 11): 08:06:40 unexpected "(" 08:06:40 expecting "()", natural, identifier or "in" 08:06:45 argh 08:06:48 ?pl \x -> let (x',r) = to g x in let (x'',r') = to f x in (x'', (r,r')) 08:06:49 (line 1, column 11): 08:06:49 unexpected "(" 08:06:49 expecting "()", natural, identifier or "in" 08:07:25 ?pl \x -> (fst (to f (fst (to g x))), (snd (to g x), snd (to f x)) 08:07:26 (line 1, column 33): 08:07:26 unexpected "," 08:07:26 expecting variable, "(", operator or ")" 08:07:30 ?pl \x -> (fst (to f (fst (to g x)), (snd (to g x), snd (to f x)) 08:07:30 (line 1, column 32): 08:07:31 unexpected "," 08:07:31 expecting variable, "(", operator or ")" 08:07:42 ?pl \x -> (fst (to f (fst (to g x))), (snd (to g x), snd (to f x))) 08:07:42 ap ((,) . fst . to f . fst . to g) (ap ((,) . snd . to g) (snd . to f)) 08:07:52 ugh 08:11:29 ?pl \x -> here (to f x) 08:11:29 here . to f 08:47:24 -!- cheater has quit (Ping timeout: 255 seconds). 08:57:55 ?pl (\x y z -> z z y z x) 08:57:55 flip (flip . join . flip (join id)) 08:58:01 ?pl (\x y z -> z $ z $ y $ z $ x) 08:58:01 ((ap id . ap id) .) . flip (.) . flip id 08:58:12 ?pl (\x y z -> (z, z, y, z, x)) 08:58:12 flip (flip . join . flip (join (,,,,))) 08:59:32 -!- cheater has joined. 09:09:20 -!- zzo38 has joined. 09:10:21 -!- Taneb has joined. 09:10:26 Hello! 09:11:12 hello 09:11:57 Thursday. 09:12:11 No need to get down on Thursdays. 09:18:59 God, how sensationalist can the Daily Mail get? 09:19:19 "MPs to vote on death penalty" 09:20:04 haha 09:20:16 They forgot "Yay!" :( 09:20:49 -!- FireFly has joined. 09:21:58 The cite an e-petition of all things 09:23:16 An e-petition that hasn't been released 09:30:51 Oh, um, that's a credible story, apart from the "voting" bit. 09:30:59 http://www.guardian.co.uk/world/2011/aug/04/death-penalty-e-petition-commons 09:31:25 Looking up the blog mentioned, uh, correlates it: http://order-order.com/ 09:32:18 Have you ever played pokemon card and the opponent has 1 side-card remain and you have 6 side-card remain you didn't knock out any of opponent's cards yet, but your opponent ran out of cards before either of you can pick up the side-cards? 09:32:32 All the time. 09:34:27 Why do you think I played GENGAR [Lv38] on HAUNTER [Lv17] even though I had enough energy for NIGHTMARE but not for DARK MIND, and had no use for the CURSE power? 09:34:47 Because you like Geengar? 09:34:59 s/Geengar/Gengar/ 09:35:09 Taneb: No, that isn't the reason. There is a better reason. 09:35:52 Because Gengar is more than twice Haunter's level 09:35:58 (Whether or not I like Gengar is not relevant. Also, this is a situation which has only happened to me once so far) 09:36:02 With no type-thingy baad thing 09:36:09 Weakness 09:36:49 Taneb: Level is not relevant in this game (except for distinguishing the cards). And both cards have the same Weak/Resist as each other. 09:38:38 Because you only have one card? 09:39:27 No. That isn't it either. 09:39:49 Do you want the text of those cards repeated? 09:40:46 Okay 09:42:07 GENGAR [Lv38] Stage 2 - HAUNTER E: { @ } HP: 8 W: - R: { # } RC: 1 - CURSE: Unless this card is sleep/confuse/paralyze, you can once per turn, move one damage from one of opponent's pokemon to another. - { @@@ } DARK MIND [3]: If opponent has bench pokemons, select one and does 1 damage to that card. 09:43:28 HAUNTER [Lv17] Stage 1 - GASTLY E: { @ } HP: 5 W: - R: { # } RC: 1 - TRANSPARENCY: When an attack affects this card while this card is not sleep/confuse/paralyze, you must toss a coin. If heads, this card is unaffected by the attack. - { @* } NIGHTMARE [1]: Defending pokemon is now sleeping. 09:43:54 (Note: The { * } means you can use any energy, while { @ } means requires only that kind of energy card) 09:44:23 I have absolutely no idea 09:45:26 Does this help? RECYCLE ENERGY Energy { rc } - Provides { * } energy. When discarded from play, return this card to your hand. 09:45:54 (Note: The { rc } is an abbreviation used when listing attached energy to a card. The * in a cost can use this kind or the basic energy, but the @ cannot use this) 09:46:27 Oops! I made a mistake. HAUNTER [Lv17] should be RC: 0 09:46:44 Now hopefully you know. 09:46:57 But still there are other strange things about the situation it happened in. 09:47:29 I can't work it out 09:47:43 OK then I will type one more card. 09:49:06 CLEFAIRY [Lv15] Basic E: { * } HP: 5 W: { # } R: { @ } RC: 1 - { * } WIND: Switch opponent's active pokemon card with one of their bench pokemons of your choice. - { ** } SHINE [1]: Defending pokemon is now asleep. 09:49:55 You were going to use the Haunter with the recycle energy to make the clefairy wipe out the opponent with wind 09:51:12 The wind does no damage, and the opponent's weak/resist is not relevant either. But, yes I did play an evolution card FOR THE SOLE PURPOSE OF INCREASING MY RETREAT COST. How often does *that* ever happen? 09:52:09 At least once? 09:53:55 brb 09:54:07 Yes it happened. Yet because of that, I won, even though the opponent never took any damage for the rest of the game. And, they had only 1 side-card remaining (they knocked out 5 of my pokemons) while I had 6 side-cards (I never knocked out any of their pokemons). I also had to guess the number of energy cards in my opponent's hand as it turned out. 09:55:22 Does this ever happen to you as strange as this situation is? 09:56:29 My opponent had rain dance and all that stuff. I still won, however. 09:57:24 -!- Phantom_Hoover has joined. 09:57:59 Now you play. 10:00:24 I once won a game of chess with pretty much a rook and a few pawns 10:00:33 When my opponent had most of their pieces left 10:03:01 If I made an Ook derivative, would anyone try to kill me? 10:03:12 Taneb: So you have done chess. I fail to remember which ways I have won and lost in chess. I am not a particularly good player at chess. I play much better at pokemon card. 10:03:45 My opponent had horrible pawn structure 10:04:02 what about 8 regular english words mapped onto the brainfuck instructions 10:04:58 such as: "You", "are", "a", "smelly", "piece", "of", "dog", "shit" 10:05:49 this happens too much 10:05:50 Or: the is a and or but with what 10:05:57 And other words have no meaning 10:06:21 So I realized that teres another way it can go. 10:06:23 itidus20: see the list on http://esolangs.org/wiki/Joke_language_list of brainfuck with translated instructions 10:07:35 -!- Patashu has joined. 10:07:39 the most english of those looks like fuckfuck 10:08:24 hmm.. 10:08:38 it would help if i actually knew brainfuck 10:08:42 which i don't xD 10:08:44 it's simple 10:08:52 jumping to the page 10:11:07 -!- monqy has quit (Quit: hello). 10:11:12 is brainfuck self modifying or is the program separate from the tape? 10:11:45 The second one 10:11:54 i can't imagine why i assume it to be self modifying 10:23:36 what about 8 regular english words mapped onto the brainfuck instructions 10:23:36 Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it. 10:23:36 DIE 10:23:39 DIE DIE DIE 10:23:41 DIEEEEEEEEEEEEEEEEe 10:24:44 self modifying brainfuck would be interesting 10:26:18 -!- GreaseMonkey has quit (Quit: The Other Game). 10:26:57 int a[100]; int p=0; char prog[100]; int prog_p=0; 1)p++; 2)p--; 3)a[p]++; 4)a[p]--; 5)cout<>a[p]; 7)if(!a[p])prog_p=next(prog,prog_p); 8)if(a[p])prog_p=prev(prog,prog_p); ... int next(int prog[100],int prog_p){while(prog[prog_p]!=']')prog_p++;return prog_p;} ... int prev(int prog[100],int prog_p){while(prog[prog_p]!='[')prog_p--;return prog_p;} 10:27:06 ok i think i understand it 10:29:25 That looks like a translation that's broken w.r.t. nested loops, on a quick glance. 10:29:42 yup... i didn't think of that >.< 10:29:54 you need a 'nestedness' counter 10:30:01 thats why noone can write an entire program in one chat post 10:30:04 lol 10:30:22 itidus20, except lifthrasiir. 10:32:32 thanks for the feedbacks 10:33:21 seems that what went wrong is i misread "matching ]" as "next ]" kind of wishful thinking 10:34:30 self modifying brainfuck would be interesting 10:34:39 I suspect it has been done ~20 times. 10:36:08 yep 10:38:35 How goes the BF battle? 10:38:50 Battle? 10:38:52 brainfuck reminds me of those arcade machine initials entry systems 10:39:03 haha 10:39:36 it reminds me of a turing machine except more difficult to change state in 10:40:17 Phantom_Hoover: oerjan and coppro were trying to prove that BF is Turing complete with only three unbounded cells 10:40:27 Ah, right. 10:41:59 if i consider a NES controller. up = + down = - left = < right = > B = . A = , Start = [ Select = ] 10:42:17 itidus20: You'll get a hand cramp if you consider it that way 10:42:38 Start and Select might be the other way around i can't be sure 10:42:51 hahahah 10:42:59 what do X and Y do then 10:43:07 that would be SNES 10:43:15 what about the square button? 10:43:17 1 and 2? 10:43:17 Patashu: SHORYUKEN 10:43:19 the white and black buttons? 10:43:23 what about this joystick here 10:43:28 uhmm 10:43:31 if I wave my arm like this what does that do 10:43:40 USE THE SIXAXIS 10:44:26 the whole thing would be much more understandable without the [ and ] 10:44:35 What if you had a NES zapper? 10:44:35 um yeah 10:44:38 Or a power glove? 10:44:40 [ and ] are what make brainfuck brain fuck 10:45:18 -!- azaq23 has joined. 10:50:42 Yes, we should all just use Brainfuck with no loops, that's the most useful language ever. 10:51:03 so on looking at some page it says "Matching [] before execution is fastest," 10:51:11 That's... the closest thing to outright hostility I've ever seen fizzie get. 10:51:32 Phantom_Hoover: I think I've been more hostile, that was downright tame. 10:51:39 fizzie, WHEN 10:51:44 YOU ARE NEVER ANGRY 10:51:50 Phantom_Hoover: Perhaps it was just a dream. 10:52:09 what this tells me is that [ and ] could be rewritten as "JZ x" and "JNZ x" with all jump addresses precalculated 10:52:27 yup 10:52:28 that's the idea 10:52:49 brainfuck was designed as a language with an easy compiler 10:53:01 that is somewhat less of a brainfuck once you see it that way :-? 10:53:12 Even fungot does that much when it "compiles" to the bytecode format it actually executes, IIRC. 10:53:12 fizzie: when a speaker transition occurs. if a criminal case can be revoked by directive. the recordkeepor for offices need not be stayed or vacated. the initiating speaker ceases to be 10:53:42 fizzie: im dumb so its ok. 10:54:43 Mostly I just wanted to get some chat from the bot. 10:54:51 ^style something-else-except-that-agora-nonsense 10:54:51 Not found. 10:54:51 lol 10:55:02 ^style ct 10:55:03 Selected style: ct (Chrono Trigger game script) 10:55:07 fungot: Can the sword alone stop? 10:55:08 fizzie: i, myself, will bring an end to all. ghosts lurk in the ruins! the structural damage is severe. the tale? my, your majesty! and queen. he and a friend left on a journey 10. all functions are down... got the terra arm and the crisis arm! found a dreamstone?! then i'll repair the masamune! 10:55:14 lol 10:55:37 (It used to have -- maybe it still has -- a bug where it goes into "sword alone can't stop" loop occasionally.) 10:55:44 fungot, are you going to start with the death threats again? 10:55:45 Phantom_Hoover: yes, it's been awhile prometheus! ayla like crono! strong! what's the big deal? so what if we won a war out there! can't it see i love my daddy! the children are going! 10:55:55 fungot, yay! 10:55:55 Phantom_Hoover: are you a man, if there weren't evil in this kingdom to you! eat! fun! 10:56:05 That's one hyper bot. 10:56:15 fungot, what shall we eat? 10:56:15 Phantom_Hoover: it's time you jumped off this mortal coil... 10:56:20 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 10:56:24 Heh. 10:56:29 my naive attempt at a bf interpreter which i posted before showed my initial ignorance of the [ and ] :D 10:56:38 `addquote fizzie: i, myself, will bring an end to all. 10:56:38 fizzie: to the northwest of this cape. he took back the medal from the frog king. and i'd like to see that mystical sword for myself! 10:56:42 560) fizzie: i, myself, will bring an end to all. 10:57:11 Too much exclamation! 10:57:14 Sounds like a direct quote, but appropriate. 10:57:43 -!- azaq23 has quit (Quit: Leaving.). 10:57:54 fungot, what is your opinion of brainfuck? 10:57:54 itidus20: that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alon 10:57:59 To all who may be confused, zzo38 is not a bot. 10:58:16 fizzie, did anything come of Homestuck mode? 10:58:18 Hah, it still can't stop with the sword. 10:58:30 yeah.. it would be me who puts it into the loop 10:58:37 ^style pa 10:58:37 Selected style: pa (around 1200 transcribed Penny Arcade comics) 10:58:43 Even more too much exclamation! Too much exclamation! Too much exclamation! Too much exclamation! Too much exclamation! Too much exclamation! Too much exclamation! Too much exclamation! Too much exclamation! Too much exclamation! Too much exclamation! 10:58:56 Phantom_Hoover: I just crawled it into plaintext, then forgot about it. Should try it out, small though the dataset is. 10:59:05 Hmm, have we ever given zzo38 a Turing test? 10:59:33 fizzie, I suppose you didn't include the pesterlogs? 10:59:42 I did. 10:59:48 wait, 'small'? 10:59:49 Colors and all. 10:59:51 isn't homestuck huuuuuuuuuuuuuuuuge? 11:00:07 Patashu: Most of it is in images/Flash though. There's not *that* much plain text. 11:00:23 the pesterlogs go on for fucking ever 11:00:29 or at least now they do 11:01:26 Not really; a few thousand lines in total, is about all. I don't think there's usually more than a hundred lines/log. 11:02:23 brb, installing Lion 11:03:00 ~roar~ 11:03:10 fizzie, hmm, that seems hard to believe. 11:03:35 There were tonnes and tonnes of long pesterlogs throughout act 5. 11:03:45 Phantom_Hoover: Well, I don't have the very latest strips, and it's been more text-heavy in the end than in the beginning. 11:04:08 fizzie, I mean from Hivebent onwards. 11:04:51 Phantom_Hoover: I've fetched up to page 4673, which is like ~1300 pages less. 11:05:32 That... would explain it. 11:05:56 The data was mostly to test the parsing script. 11:05:57 You have to do this now, if only for the glory of all the pesterlogs being mixed together. 11:06:15 it would be some horrific blend of every troll, sprite and boy @.@ 11:06:18 err 11:06:18 boy/girlk 11:06:22 human maybe 11:07:03 The current fungot code won't really do punctuation well, and lowercases everything, so it'd lose them quirks. 11:07:04 fizzie: you got through the line, but then everyone just plays as tiger woods. inside, he found three computers each with their own game! the biggest of games. if we hit every stupid person, we'd never make it out of the picture, your collection of pac-man merchandise should fetch a tidy sum on ebay. 11:07:47 yeah 11:07:53 but you'd still see typing styles 11:08:15 Also we have the +c mode, so no colors. :/ 11:08:20 27194 lines of text when line-wrapped to 80 columns. 11:08:50 Lots of rather uninteresting ones. Like page titles, which are quite often just "==>". 11:09:06 I imagine it also has all the names before lines still 11:09:21 -!- NihilistDandy has quit (Quit: brb roaring). 11:09:29 Yes. 11:10:00 I can do a really-quick-and-dirty thing for my current data if you wish. Just don't expect anything impressive. 11:11:07 * Phantom_Hoover notes that Homestuck is starting to look like it's on the threshold of EoA5. 11:11:23 EoA5? 11:11:24 oh 11:14:19 14216 "good" lines, I guess that's more than some of the existing sets. 11:14:57 fizzie, DO IT 11:16:47 I'm doing it. I'm making this happen. (Or at least trying to. I can't quite recall how to use my scripts.) 11:22:27 Normally I'd try to use some fancy ^code magic to online-alter the styles list, but let's just do it the boring way this time. 11:22:28 -!- fungot has quit (Quit: OH NO). 11:23:02 Note that I haven't even tested the thing, and it might just be broken in a non-amusing way. 11:23:13 -!- fungot has joined. 11:23:15 ^style 11:23:16 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc* jargon lovecraft nethack pa speeches ss wp youtube 11:23:18 ^style homestuck 11:23:18 Selected style: homestuck (Homestuck pages 1901-4673) 11:23:22 There you: go. 11:23:29 fungot: have you ever really gone so far etc 11:23:29 Patashu: is it!!! 38'( tricked john into skipping on a groove its tracing ' round the earth, preparing for a symphony it fears impossible. so here are a couple things i have not even encountered the black king. before they were exiled by some means of dark prognostication and the advantages, to play pranks. 11:23:33 looks good to em 11:23:52 fungot, oh my god this is amazing. 11:23:53 Phantom_Hoover: like just reverse and/ or'ing the flower pot. the items they contain a viable in the redrom, and vice versa. over the last one. wait no, that just made you disappear" and stuff 11:25:52 fungot: Some day you'll learn how to use " properly. But that day is not today. 11:25:52 fizzie: so that is like 11:26:14 fungot: It's not, like, tomorrow either. 11:26:14 fizzie: so just to review, your schemes, convoluted. you are planning a heist in your underground hideout. implement nefarious as you might, you can't out troll me in these like 11:29:42 request 11:29:53 parse text from every sbahj panel/comic and add it in 11:30:01 Patashu, not enough text. 11:30:33 in addition to what's already added for homestuck 11:32:13 I'm not sure such a small drop would really be that visible in the output. 11:32:22 Plus OCR. :/ 11:32:50 fungot, are you going to give me death threats on this setting as well? 11:32:50 Phantom_Hoover: in a good way though because it is just glittery powder with no magical frivolity and practical japery. this one looks really old, perhaps an original printing. could a bunch of your bro's weird nude puppets strewn around haphazardly throughout different points in the kids' game session. 11:33:02 there's only finitely many of them 11:33:07 fungot, how do you give death threats in a good way. 11:33:07 Phantom_Hoover: it is a hate so pure and... pumpkin seeds? joining a particularly interesting series of really coy riddles about it and stop the thief in the throes of an unraveling alibi. " the massacre of syrs gnelph was not as written a message you got, my brother, and we just keep the safe or tub handy or that it is your backup hat. problem solved, you guess. at the last minute she flung through skaian defense. 11:33:51 fungot, your hate for me is pure pumpkin seeds? 11:33:51 Phantom_Hoover: that is a winner's attitude, and there is no particularly good human translation for this concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, li 11:34:14 Heh, another sword that can't stop. 11:34:22 I really should implement the backoffs. 11:34:29 what's with those repeats 11:34:29 fungot, by any chance, can the sword alone not stop the linear concept? 11:34:30 Phantom_Hoover: just as i was initially believed they were new additions. for that. busy 11:36:16 Patashu: See, it's because it's a variable-length n-gram model, and fungot's code always uses the longest-length n-grams there are in the model. So there's quite a few places where there's either a 1 or close-to-1 probability for always continuing with a particular word. 11:36:16 fizzie: also it looks so 8ad! that is the case, it is a free card in your sylladex and let's see, who else would it be the same of you. business as usual for blue bloods. 11:37:10 The VariKN toolkit it uses to build the model calculates appropriate backoff weights, but my sampler doesn't use those. 11:38:22 ^source 11:38:22 http://git.zem.fi/fungot/blob/HEAD:/fungot.b98 11:38:34 As you can clearly see from lines 129-135, it just keeps going down that road. 11:38:47 Wow 11:38:50 It's in befunge @.@ 11:40:14 That's the main reason I haven't really managed to motivate myself to fix the "unclosed ()s and ""s" problem. The Perl script I have for testing does those well, by keeping a stack of opened things and refusing mismatching paired delimiters. 11:41:34 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 11:44:38 -!- oerjan has joined. 11:46:12 -!- boily has joined. 11:46:32 -!- NihilistDandy has joined. 11:46:41 And we're back 11:46:55 ayeeeeeeeeeeee 11:47:53 Today's IWC annotatin made me think 11:48:02 ANDREW HUSSIE IS COVERED IN BRAS 11:48:03 S 11:52:00 I like the first way better 11:52:21 Also, am I the only one who finds the phrase "covered in bees" hilarious? 11:52:37 No 11:52:53 Good. Even the word "bees" can make me smile. It's the oddest thing. 11:53:10 I've got a great uncle who's a beekeeper 11:53:58 Colloquially known as "a beeper". (Not really.) 11:54:00 I'll bet he laughs a lot 11:57:07 it's the bee's knees 12:01:43 Perhaps even the wasp's nipples. 12:02:13 god damnit... can't concentrate 12:02:37 What do you need to concentrate on? 12:02:48 ok i will show what i am doing 12:03:42 I am saying that there is an expression like: 4bitTruthTable 1bitVariable 1bitVariable .. examples are (AND 0 1) (XOR 1 1) 12:04:02 and 2bitTruthTable 1bitVariable , examples are (NOT 1) 12:04:18 These can be combined indefinitely: (AND (NOT 1) (AND 0 (AND 1 1))) 12:04:37 0 12:04:55 and now im getting stuck trying to write actual rules to describe this.. such as: 4bitTruthTableExpression = 4bitTruthTable 1bitVariable 1bitVariable 12:05:11 and: ImmediateValue = 1bitVariable 12:05:43 Use prefixes 12:05:58 given everything can be described by NANDs 12:05:59 Values and expressions all have an additional 1 12:06:02 don't make it more complex than you need it to be 12:06:18 Brackets are 01 and 00 12:06:19 i don't have nearly enough experience with backus naur forms.. but.. basically i can't figure out the kinds of rules need to be made to express it 12:07:12 Like, I can't tell which direction these statements should be going 12:07:20 If the only expression allowed is NAND 12:07:37 AND 1 0 can be expressed as... 12:07:52 just as an example, don't actually do it O_O 12:08:07 I am saying that a truth table is 4bits, and that what the bits are doesn't actually matter 12:08:31 in EBNF you can't specify to have a certain number of tokens 12:08:34 NAND (NAND 1 0) (NAND 1 0) 12:08:37 only zero/one/many in branches and loops 12:08:54 Which becomes 0011100100111001 12:08:55 ensuring the number of tokens is correct is a job for something differen 12:09:32 -!- Phantom_Hoover has joined. 12:09:56 well.. i am looking for a way to describe the substitution rules 12:10:08 If we scrap prefixes and use letters for variables 12:10:23 how about lots and lots of regexes, will that work? 12:10:25 -!- myndzi has quit (Remote host closed the connection). 12:10:29 where "AND" would more formally look like 4bittruthtable0001 12:10:40 i don't want to compile it or anything 12:10:43 10:03:01: If I made an Ook derivative, would anyone try to kill me? 12:10:48 -!- myndzi has joined. 12:10:55 go deeper, make a Cow derivative 12:11:09 But cows only say moo! 12:11:14 And they're scary! 12:11:33 And orang-utans say Eek! as well as Ook! 12:11:48 If you just want a BNF grammar for that sort of expressions, it sounds remarkably straight-forward. Something to the style of Exp ::= BinExp | UnExp | Immediate; BinExp ::= "(" BinOp Exp Exp ")"; UnExp ::= "(" UnOp Exp ")" and then suitable rules for UnOp/BinOp/Immediate. 12:11:48 OOK AY 12:12:11 it sounds like he doesn't want a grammar but substitution rules 12:12:18 well.. (NOT 1) = (2bitTT10 1) = (0) 12:12:27 Well, the original question sounded like a grammar. 12:12:31 yes 12:13:12 maybe i need more states 12:13:13 Taneb, about that succession fort. 12:13:32 immediate0, immediate1, variable 12:13:47 just call it an identifier 12:13:58 an identifier is either 0, 1 or resolves to one of those two 12:14:23 im doing it to sort of concrete my ideas about term rewriting and truth tables :P 12:14:26 phantom_hoover: Dwarf Fortress? 12:14:31 Taneb, of course. 12:14:37 but it sorta caught up to me 12:14:43 Also, do you not have tab completion or something? 12:14:53 No 12:15:07 And I don't want it 12:15:17 ...why? 12:15:23 itidus20: something like (2BitTT(a,b) 0) = a, (2BitTT(a,b) 1) = b ? 12:15:25 Because I'm not used to it 12:15:29 It would be weird 12:15:59 "Some of sirc's features: ircII-like -- with enhancements like built-in "tabkey" handling --" 12:16:16 (Going by realname; didn't want to CTCP.) 12:16:17 Tab makes "/m nickserv" 12:17:04 Just plain tab is often "message to last messaged-to person"; but are you saying "ph" also does that? 12:17:25 "/m nickserv" 12:17:34 That's one weird client. 12:17:59 I like it 12:18:40 I didn't used to use tab completion either, but it doesn't make the lack of it any less weird. 12:19:56 oerjan, well.. i am presupposing that "d = 2BitTT(a,b) c" means, if c = 0 then d = a, else if c = 1 then d = b 12:20:14 Taneb, shouldn't that at least me /m nickserv identify? 12:20:23 No 12:20:30 itidus20: that was the idea 12:20:34 ok 12:20:41 i have it drawn up in a spreadsheet 12:20:43 Phantom_Hoover: Not if it's the "new message to the last person I was talking to" key, like tab-without-context often is. 12:21:19 has anyone made a language where you represent, in ASCII, a wired circuit? 12:21:20 so funge-ish 12:21:37 I thought Wierd, but that's not it 12:21:46 oerjan: i think my confusion might come from having not actually implemented anything 12:22:20 itidus20: if you renamed it to tt2Bit, you could even make it in haskell 12:22:42 tt2Bit (a,_) 0 = a; tt2Bit (_,b) 1 = b 12:22:44 i think i could remove the word bit also 12:22:51 Phantom_Hoover: What about the bloodline game? 12:23:21 Wierd and Rail both do the "codeflow along explicitly drawn paths" thing -- incidentally, I rather like Rail -- but it's not really circuit simulation if that's what you're looking for. 12:23:26 Taneb, well, elliott expressed enthusiasm; it might be worth trying. 12:23:27 oerjan: do you like it? :D 12:24:52 Phantom_Hoover: Who wants to start? 12:24:55 Patashu: Circute is an ASCII-represented CA that looks like NAND-based circuits. 12:25:13 Taneb, I suspect it'd have to be you, since I've only been playing for about 2 days. 12:25:17 the elegance of your code suggests i really need to learn haskell 12:25:32 Patashu: It's slightly like Wireworld-in-ASCII. 12:27:08 itidus20: haskell is pretty succinct 12:28:20 yeah it's p. close 12:28:30 itidus20: this sounds a little bit obvious to me, but then it's been at least 25 years since i learned about truth tables :P 12:30:41 > let tt4Bit (a,_,_,_) 0 0 = a; tt4Bit (_,b,_,_) 0 1 = b; tt4Bit (_,_,c,_) 1 0 = c; tt4Bit (_,_,_,d) 1 1 = d; and = tt4Bit (0,0,0,1); or = tt4Bit (0,1,1,1) in and 1 (or 1 0) 12:30:42 1 12:31:49 That's... 12:31:57 > and [True, or [True, False]] 12:31:57 Short. 12:31:58 True 12:33:25 @src Ix 12:33:25 class (Ord a) => Ix a where 12:33:26 range :: (a,a) -> [a] 12:33:26 index :: (a,a) -> a -> Int 12:33:26 inRange :: (a,a) -> a -> Bool 12:33:26 rangeSize :: (a,a) -> Int 12:33:51 so the main idea of it is for things like trying to get through my head what: tt4Bit(1,1,0,1) it_is_raining the_ground_is_wet , really means 12:35:18 @hoogle Bool -> Bool -> Bool 12:35:19 Prelude (&&) :: Bool -> Bool -> Bool 12:35:19 Prelude (||) :: Bool -> Bool -> Bool 12:35:19 Data.Bool (&&) :: Bool -> Bool -> Bool 12:35:25 Aw, no implication there. 12:35:39 http://en.wikipedia.org/wiki/Interpretations_of_2001:_A_Space_Odyssey 12:35:45 "Wheat often uses anagrams as evidence to support his theories. For example, of the name Heywood R. Floyd, he writes "He suggests Helen - Helen of Troy. Wood suggests wooden horse - the Trojan Horse. And oy suggests Troy." Of the remaining letters, he suggests "Y is Spanish for and. R, F, and L, in turn, are in ReFLect." Finally, noting that D can stand for downfall, Wheat concludes that Floyd's name has a hidden meaning 12:35:45 : "Helen and Wooden Horse Reflect Troy's Downfall"." 12:36:04 Best interpretation. 12:36:14 > let tt4bit = flip $ curry (flip (!!) . index ((0,0),(1,1))) in or = tt4bit [0,1,1,1]; and = tt4bit [0,0,0,1] in and 1 (or 1 0) 12:36:15 : parse error on input `=' 12:36:18 fizzie: You can define implication in terms of not and or, IIRC 12:36:20 wat 12:36:29 > let tt4bit = flip $ curry (flip (!!) . index ((0,0),(1,1))); or = tt4bit [0,1,1,1]; and = tt4bit [0,0,0,1] in and 1 (or 1 0) 12:36:31 No instances for (GHC.Num.Num [t1], GHC.Arr.Ix [t1]) 12:36:31 arising from a use ... 12:36:35 NihilistDandy: Sure, but you can define everything in terms of nand, yet it provides and/or. 12:36:41 NihilistDandy, a → b == b \/ ¬a. 12:36:46 but what exactly is implication? 12:36:53 Phantom_Hoover: That's the one 12:36:54 itidus20, see above. 12:37:21 :t flip $ curry (flip (!!) . index ((0,0),(1,1))) 12:37:22 forall a b t. (Num t, Num a, Ix t, Ix a) => a -> t -> [b] -> b 12:37:32 I could never remember the proposition that gets the not :D 12:38:08 :t flip (!!) . index ((0,0),(1,1)) 12:38:08 the example i am looking at says if it is raining then the ground is wet 12:38:08 forall b t t1. (Num t, Num t1, Ix t, Ix t1) => (t, t1) -> [b] -> b 12:38:29 itidus20: If 2+2 = 5, I am a paper cup 12:39:39 itidus20, note that the version of implication I defined is not a terribly intuitive one. 12:39:52 i suppose that could be phrased like: int ground_is_wet = check_if_it_is_raining(); 12:40:09 itidus20, eeeewwwwwwwwwwwwww 12:40:37 otherwise i see nothing. 12:40:51 it just won't stick for me in my head 12:40:53 ?pl \a b c -> f (b,c) a 12:40:53 flip (flip . (f .) . (,)) 12:41:27 gah 12:41:33 itidus20, you might want to read up on the Curry-Howard isomorphism. 12:41:47 ?pl \a b -> burger b a 12:41:48 flip burger 12:41:52 "Heh heh." 12:42:05 hehe 12:42:26 the implications are the section of the 4bit truth tables which seem to have never actually been named.. never actually been used 12:42:26 (For some reason "flipping burgers" pops into my head every time I see one of those flip sequences.) 12:42:41 at least not in imperative languages 12:43:05 > let tt4bit = curry . flip $ flip (!!) . index ((0,0),(1,1)); or = tt4bit [0,1,1,1]; and = tt4bit [0,0,0,1] in and 1 (or 1 0) 12:43:06 Couldn't match expected type `(a, b)' against inferred type `[a1]' 12:43:06 There's a World Microsoft Excel championship1? 12:43:23 :t curry . flip $ flip (!!) . index ((0,0),(1,1)) 12:43:24 Couldn't match expected type `(a, b)' against inferred type `[a1]' 12:43:24 In the first argument of `flip', namely `(!!)' 12:43:24 In the first argument of `(.)', namely `flip (!!)' 12:43:46 oerjan: Are you *entirely* sure you're still making the original more clearer by all this. 12:44:03 no? 12:44:17 everyone loves logical and,or,not,xor ... and their counterparts nand nor xnor... but i can't help thinking that the implications and non-implications seem to have been deemed useless for languages like C 12:44:56 The logical xor isn't really that often used; they didn't even bother with a non-bitwise operator for it in C. (Perhaps because it couldn't be made short-circuiting like and/or.) 12:45:30 well which means the bitwise one works non-bitwise too 12:45:48 oerjan: Not when the values aren't 0 or 1. 12:45:57 The other logical operators autobooleanize. 12:46:03 oh hm 12:46:19 1 && 2 == 1, but 1 ^ 2 == 3. 12:46:35 fizzie: What's unclear?~ 12:46:38 Of course you can just !!1 ^ !!2 == 0, but... 12:46:50 ah so its this autobooleanizing property 12:47:08 Aw, no implication there. <-- you can use <= 12:47:09 That's the other main difference between & and &&; they could've done that for ^^. 12:48:00 oerjan, brilliant. 12:48:53 oerjan: "But the arrow's pointing at the wrong direction then." 12:49:32 always a critic 12:49:52 what does an implication truthtable actually determine? 12:50:49 i can see that "it's raining" can be 0 or 1... 12:51:04 a person looks around and decides.. its_raining = 1 12:51:13 when A is on, it fixes B. when A is off, B can be anything 12:52:07 itidus20: But it's /not/ raining! 12:53:47 > let tt4bit = curry . flip (flip (!!) . index ((0,0),(1,1))); or = tt4bit [0,1,1,1]; and = tt4bit [0,0,0,1] in and 1 (or 1 0) 12:53:49 1 12:53:51 yay 12:54:17 so clear and obvious 12:54:28 is implication actually useful in code? 12:54:34 oerjan: A grand victory for pointlessness. 12:54:56 i struggle to see myself ever actually using implication on 2 bits 12:55:01 itidus20: Maybe if you use Agda 12:55:12 ~ 12:55:59 e.g.: if (a IMPLIES b) blah(); 12:56:01 itidus20: it's probably there, just written in a different way with branches instead 12:56:02 hmm, how can I represent logic gates and flip-flops with single ASCII characters... 12:56:04 Also you might by accident have a need for the "!a || b" conditional, with which it is equivalent to, in which case you could use a hypothetical implication operator to confuse people. 12:56:31 and no one thinks of using an implication operator for it 12:56:50 does the cpu support it in an efficient way? 12:56:53 I tyhought about using the same symbols as in C, but | is the up-down wire so it would be confusing 12:56:56 im guessing not 12:57:03 lol, a bitwise implication operator 12:57:28 Patashu: Doesn't some BASIC have that? 12:57:37 really? 12:57:44 I think I saw one with almost the full set. 12:57:50 i suspect that there would be no direct implication operator in the x86 instruction set 12:58:00 Patashu: QBASIC, for example: http://zem.fi/~fis/qbc.html#QEw4MDli 12:58:02 which makes it kind of pointless 12:58:07 The IMP operator. 12:58:11 :o 12:58:14 Haven't seen it used ever. 12:58:21 Of course you can just !!1 ^ !!2 == 0, but... <-- !1 == !2 is shorter 12:58:22 ok sweet 12:58:23 wow 12:58:25 EQV, IMP... 12:58:39 but no NAND? 12:58:41 ya.. see.. i am digging in no mans land 12:58:41 ;_; 12:58:51 a tru pioneer 12:59:27 so.. you know what this means? 12:59:49 a language in which the only boolean operator is the implication 13:00:06 it's equivalent to NAND 13:00:08 so should be doable 13:00:19 well hmm 13:00:22 can you make NOT with implies? 13:00:34 I'm not sure if you can 13:00:40 I don't think it is. 13:00:44 It is not 13:00:47 http://en.wikipedia.org/wiki/Functional_completeness#Minimal_functionally_complete_operator_sets 13:00:47 a language is still a language even if its not turing complete 13:00:50 Minimal sets. 13:01:05 I've found a location for the bloodline game 13:01:33 i have a soft spot for this IMP 13:02:20 what does an implication truthtable actually determine? <-- well it's called "material implication". i find that it helps to see it as an implication if it is used with quantifying over a whole bunch of things. "forall x. P(x) or not Q(x)" feels more obviously like an implication that P(x) implies Q(x) than when you are looking at just one case. 13:02:39 er wait 13:02:50 Taneb, is that location as in paradise or location as in Headshoots? 13:02:53 *forall x. Q(x) or not P(x) 13:03:01 No, Temperate 13:03:12 With good resources 13:03:18 Temperate Haskell 13:03:32 itidus20, another, Curry-Howardy way of viewing it, is that a → b means that if you have a proof that a is true, you can turn it into a proof that b is true. 13:05:10 ok 13:05:27 can you make NOT with implies? <-- no. this is the point where i use to link to http://en.wikipedia.org/wiki/Post_lattice which has all the information for such questions, extremely technically. 13:06:44 Found a better location 13:06:52 to be precise, implication gives T_1^infinity, NOT gives UD, and the latter is not directly beneath the former. 13:07:51 in fact the only thing they're both under is the top T, showing that _together_ they generate everything. 13:08:34 (diagram near the middle) 13:09:08 ok i found a possible use for it: if ( x > 50 IMP flag ) printf("X is larger than 50\n"); 13:09:10 (and table to the left of it) 13:09:28 or.. no wait i didn't :-s 13:09:32 Even better location 13:09:35 Warm 13:09:36 i didn't at all.. 13:09:37 Woorland 13:09:46 s/r/d/ 13:09:54 Moderate vegetation 13:09:55 Calm 13:09:56 Brook 13:09:58 Clay 13:10:01 Some soil 13:10:07 Shallow metals 13:10:10 Deep metals 13:10:13 Flux stone 13:10:15 Spam 13:10:20 Flux stone and spam 13:10:28 Spam and flux stone 13:10:37 Spam and flux stone and spam 13:10:40 (btw T_1^infinity is the rightmost dot, UD is in the middle, third from bottom) 13:10:41 Spam and spam 13:10:44 I'll stop 13:11:08 And spam 13:11:43 can you make NOT with implies? 13:11:52 You can with nonimplication and constants. 13:12:51 itidus20: Here's one: if (quiet IMP critical) log("thing"); that's equivalent to if (!quiet || critical) log("thing"); i.e. "log if we haven't been asked to be quiet, or if the situation is critical", and it's much clearer when written without the IMP in there. 13:13:23 Phantom_Hoover: nonimplication is dual to implication, T_0^infinity :) 13:13:50 lol 13:14:12 and the constants are down near the bottom at UP_0 and UP_1 13:16:30 Can I found #esoteric-dwarf-fortress ? 13:16:46 Taneb, nah, just use -minecraft. 13:22:48 Phantom_Hoover: incidentally iirc, satisfiability of your boolean circuits is NP-complete precisely when your building blocks can construct nonimplication 13:23:11 In Minecraft? 13:23:11 that's a bit vague iirc though 13:23:24 O_o 13:23:31 Building blocks? 13:23:37 Oh, wait. 13:23:40 That was a general term. 13:23:56 Phantom_Hoover: it was in relation to You can with nonimplication and constants. 13:24:08 Yeah. 13:25:25 -!- BeholdMyGlory has joined. 13:25:33 ok i think i get it.. since IMP can be constructed from other things, and is basically a specialization of OR there is not any hidden use for it 13:26:37 at least in terms of imperative languages 13:27:04 itidus20, well, as oerjan said, it's not very intuitive unless you're working with quantifiers. 13:41:29 Okay, I came up with a first draft spec for the 'ascii circuitry' language 13:42:58 What should I call it... 13:43:41 ASCII circuitry? 13:43:43 Togic? 13:44:14 I'm wondering if I should make a befunge pun or if it would be unwarranted 13:49:01 Patashu: bffunge 13:54:08 http://i.imgur.com/mwOmg.jpg 14:00:45 Done that 14:02:04 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:09:22 kay http://esolangs.org/wiki/Wirefunge 14:10:30 hmm, I just realized it needs a way to exit 14:12:14 and now it has one \o/ 14:12:14 | 14:12:15 /< 14:13:58 Not sure how "funge" that is. 14:14:08 me neither, but I can't think of a snazzy name that's not a pun 14:14:09 can you? 14:14:12 I'll happily rename it 14:14:24 I'm no good with names, unfortunately. 14:15:37 http://www.esolangs.org/wiki/Category:Two-dimensional_languages -- that's quite a big category. 14:16:27 Any pun name you make can't be worse than "Sir. Cut". 14:18:45 I like Sir. Cut 14:25:21 -!- copumpkin has joined. 14:25:22 -!- lament has joined. 14:59:34 -!- cheater has quit (Ping timeout: 255 seconds). 15:08:26 -!- oerjan has quit (Quit: Later). 15:12:14 -!- cheater has joined. 15:21:24 -!- CakeProphet has joined. 15:23:03 -!- MSleep has changed nick to MDude. 15:24:26 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 .). 15:27:54 -!- Taneb has quit (Quit: Walking dog). 15:30:30 -!- Gregor has set topic: Enjoy being locked in your #matrixofsolidity | http://codu.org/logs/_esoteric/. 15:30:50 -!- Gregor has set topic: Enjoy being locked in your matrix of solidity | http://codu.org/logs/_esoteric/. 15:34:40 -!- elliott has quit (Ping timeout: 255 seconds). 15:36:26 with implications, i am trying to figure out why it is not the case that i can say if (it_is_raining), then render_my_carpet_as_I_am_indoors(); 15:38:04 i guess the problem is I can't say if (A) then B; 15:38:22 I mean: if (A) then B(); 15:40:21 which could also look like: if (A()) B(); 15:42:52 ok ill drop it... i have had all the explanations.. 15:43:09 itidus20, what are you going on about? 15:43:18 You can say that; you just said it. 15:45:37 itidus20: what? 15:46:08 what language, what context? 15:46:27 is it that the typical programming line: "if (conditional) then statement();" is not relevant to material implication? 15:46:53 oh, do you mean logical implication? 15:47:02 a conditional statement in logic? 15:47:07 yes they're different. 15:47:09 seems like they have left out the words "do" 15:47:13 in most languages that I know of 15:47:18 if (X) then do Y 15:47:39 well yes, that's because in logic a conditional does not specify a procedure, it is a statement of truth or false. 15:47:51 SOme languages includ that. 15:48:08 -!- elliott has joined. 15:48:12 It's just that a lot of them leave it out because an aversion to making poeple type letters. 15:48:33 it's an implicit "do" which can leave uneducated ones like me a bit peeved 15:48:37 -!- cheater has quit (Ping timeout: 255 seconds). 15:48:53 Yes. 15:49:13 For similar reasons, most languages don't have "set" before assignment. 15:50:11 P -> Q is equivalent to ~P v (P ^ Q) where v is or and ^ is and 15:51:00 Really, impliation seemed ot be kind of an odd name. 15:51:23 i thought it was (~P) v Q from my researching 15:51:23 When it's not true, it's obviously because the implication is proved false. 15:51:30 I don't know of a language whose conditional statement works like that, because the conditional is either returning some useful data value, or is an imperitive control flow statement that specifies a procedure and not a logical assertion. 15:52:11 But when it's true, it's not really shown to be true, only not shown to be false. 15:52:27 itidus20: yes that's equivalent actually. 15:52:35 ok 15:53:07 well, no... it's not.. :P 15:53:11 yours is right. My mistake. 15:53:29 i have been studying this for hours so i am bound to have it right 15:53:31 ......er, no, they actually are equivalent nevermind. :P 15:53:39 Welll I tihnk they are the same, in binary lgic. 15:53:51 lol. tired, as usual. 15:54:12 If P is not false, it is true. 15:54:26 itidus20: so anyways a conditional in a proof in a conditional in a program as different, more or less. I ca 15:54:34 n't really formally show why that is though... 15:55:06 .... s/in/and/ s/as/are/ what the hell. 15:55:15 this is a sign that I should sleep, clearly. 15:55:48 Well I know that in a program, the statement part of the conditional isn't used to determine wheter the condition it's in is met. 15:56:22 -!- ais523 has joined. 15:56:37 Though of course you could make it that way if you wanted. 15:56:41 even conditional expressions, such as the ones in functional languages and some procedural languages, are different. They require an else operand, which is not something that makes sense with the logical conditional. 15:58:21 > let (-->) a b = not p || q in if False --> True then "this is not making a truth assertion, but the logical conditional is" else "" 15:58:21 Couldn't match expected type `GHC.Bool.Bool' 15:58:22 against inferred type ... 15:58:50 > let (-->) a b = not a || b in if False --> True then "this is not making a truth assertion, but the logical conditional is" else "" 15:58:51 "this is not making a truth assertion, but the logical conditional is" 15:59:56 so yeah, I probably haven't cleared anything up, but oh well. 16:00:52 -!- cheater has joined. 16:03:18 -!- cheater has quit (Excess Flood). 16:04:37 -!- cheater has joined. 16:05:24 P -> Q is equivalent to ~P v (P ^ Q) where v is or and ^ is and 16:05:26 No, it's not. 16:06:45 -!- lament has quit (Ping timeout: 260 seconds). 16:07:46 -!- cheater has quit (Excess Flood). 16:09:34 > (\p q -> not p || (p && q)) <$> [True, False] <*> [True, False] 16:09:35 [True,False,True,True] 16:09:57 -!- cheater has joined. 16:09:57 -!- cheater has quit (Excess Flood). 16:10:03 is that not the truth table for a condition? 16:11:47 -!- cheater has joined. 16:15:14 ok so.. if (it_is_raining) render_rain(); if (ground_is_wet) render_mud(); if (!(!it_is_raining || ground_is_wet)) error(); 16:15:50 i am trying to imagine practical uses for implications within a program 16:16:48 hmm, I completed VVVVVV (with all trinkets and all map) in 3 hours 58 minutes the first time 16:16:52 it seems a little short as games go 16:17:04 when you want something to occur when one thing implies another or you also want the same thing to happen when the condition is false and thus irrelevant, or something. 16:17:08 anyways, it's not common to use. 16:17:28 -!- Nisstyre has quit (Ping timeout: 250 seconds). 16:17:43 basically you would use it wherever you have the condition ~p v q 16:18:09 if something fits that pattern, it could be rewritten as implication, if the language supports it or if it's defined somewhere. 16:18:14 it would be a way for the program to catch out a logical incongruity 16:18:24 elliott: someone else I've been talking to online a lot spells eliot with one l and one t, it's disconcerting after getting used to the spelling of your name 16:19:52 also ~p -> q would be the same thing as using || 16:21:51 if a is not a prime number, then it is a composite number. 16:22:01 thus, a is a prime number or a composite number. 16:22:29 like... void Implies(int a, int b) { if (!(!a || b)) error(); } ... Implied(hp == 0, gameover); Implied(time_remaining == 0, gameover); 16:22:58 i'm really stretching there though 16:23:25 also you capitalized Implies which kind of scares me a little. 16:23:40 i spelled it with an s instead of a d also 16:23:56 I live in a safe world of variable naming schemes and you brought me out of my safety box. 16:24:04 it's a scary world out here. 16:24:13 * variable looks at CakeProphet 16:24:23 aaaaaah! 16:24:28 at least it's not basic.. where ABC == Abc = abc 16:24:30 * CakeProphet hides under pillow. 16:25:09 so the contents of the all lowercase variable modifies the result of testing the upper case variable with the title case variable? 16:25:12 those are some odd semantics. 16:25:25 no i just forgot the second = 16:25:34 oh, of course. silly me. 16:25:48 in basic, the identifier ABC == Abc == abc 16:26:00 scared? 16:26:05 you should be 16:26:23 nah that's sensible. 16:26:43 it just makes naming similar things of different kinds difficult. 16:27:12 is that not the truth table for a condition? 16:27:26 awww yeah. there's something satisfying about getting something in the mail 2 days after you order it. 16:27:34 itidus20: not in all BASICs 16:27:35 If A is false, A → B is true. 16:27:38 BBC BASIC was case sensitive 16:27:43 This is the case in every logic I know of. 16:27:45 also, keywords had to be in uppercase 16:27:47 kind of a "holy crap mail is ridiculous" moment. 16:27:57 and you couldn't type lowercase by holding shift with capslock on 16:28:03 so programs tended to be all uppercase 16:28:12 Phantom_Hoover: correct... ~p v ... makes that happen. 16:28:38 CakeProphet, oh, right. 16:28:40 ok 16:28:50 Yeah, your expression is correct, but there's no need for the and. 16:29:11 yeah I see that now it's just how I worked it out in my head because I forgot the usual equivalence. 16:30:13 I think every programming language should be in upper case. 16:30:31 to convey forcefulness to the computer. To let it know who is in charge. 16:31:12 it would be interesting to me if, in C, numl1 => num2; meant if (num1) num2 = 1; 16:31:29 darn typo 16:31:38 Haskell would much more elegant if the Fibonacci sequence were FIBS = 0 : 1 : ZIPWITH (+) FIBS (TAILS FIBS) 16:33:16 i guess tertiary operator does similar 16:33:26 trinary^? 16:33:28 PUBLIC STATIC VOID MAIN(STRING[] ARGS) {...} 16:33:31 ternary 16:33:50 tertiary is the third of primary, secondary, ... 16:33:57 ternary is the third of unary, binary, ... 16:34:22 And trinary is an alternative form of ternary 16:34:43 oh hey what do you know it is. 16:35:00 Sounds better really, I just don't see it as often. 16:35:25 -!- cheater has quit (Ping timeout: 255 seconds). 16:36:28 also nullary technically comes before unary. I don't think there's a step above primary... 16:38:47 Nullary numbers. 16:38:53 maybe kindergarden. 16:39:04 or pre-k 16:39:51 but pre-k might just be a US thing. 16:41:12 you have nursery before primary school in the UK 16:41:18 assuming that children go there at all, they don't all do 16:44:49 hmmm, so if I plug in my new VGA-to-YPbPr adapter into my laptop's VGA port and my display manager doesn't detect a new monitor, does that mean that my graphics card doesn't support TV-out or does that mean I just need to plug the other end of the adapter into something before I can find out? 16:45:26 I don't see how the latter would be possible... so, I'm going with the former most likely. 16:54:27 CakeProphet, if you plug your vanadium gallium to yttrium lead praesodymium adaptor? 16:55:01 ... 16:55:22 yeah I don't have those I'll have to wait to find out. 16:55:42 I'm just not really sure how my hardware would detect that something is plugged into the other end. 16:55:59 Oh wow, WP has updated its appeals to include one of the sad nobodies that make all the edits. 16:59:26 edit count is a really bad measurement of anything 17:06:13 edit count is a pretty good measurement of editing activity, though. 17:06:21 CakeProphet, not even that. 17:06:38 ....? edits per week? 17:06:50 No, you'd need to look at the size of each edit. 17:07:00 -!- cheater has joined. 17:09:57 Phantom_Hoover: that would be a good measurement of spamming, I guess. 17:11:06 well, no, it would be good. But someone with thousands of typo corrections will probably still have a higher cumulative "edit size" than someone who writes hundreds of paragraph-sized and larger edits. 17:11:36 or they would be close to equal. 17:12:26 -!- cheater has quit (Excess Flood). 17:12:29 total number of bytes changed would be good, I guess. Factors in revisions as well as new content. 17:12:54 but then people who revert spam, unsourced material, etc, would get an advantage. 17:13:49 smallest diff to any previous version of the page is probably a more reasonable metric 17:14:02 but you'd need to ensure that the edits stayed in the page, too 17:14:18 What about when the page has seen heavy spam? 17:14:21 anyway, doing routine admin work, or wikignoming, can rack up edits extremely quickly without doing much real work 17:14:28 Sgeo: that's why "any previous version" 17:14:47 But "any previous version" includes spam, is what I meant 17:14:52 but really those are important maintenance functions, especially on a site with millions of articles. It's equally important to maintain the existing quality as it is to add new content. Also, improving quality doesn't necessarily take a lot of bytes. 17:16:01 Sgeo: well, the diff against spam will be quite large, so it won't be the smallest 17:16:30 -!- cheater has joined. 17:16:30 -!- cheater has quit (Excess Flood). 17:25:24 So I was laying there and dreamed up a chess piece. 1d4 = starting position d4,d5,e4,e5; every turn 1d4 = north, south, east, west; every turn 1d6 = number of steps; It captures anything in it's path but it gets stopped in it's tracks by doing so. Also it is stopped by the edge of the board. 17:26:52 Possible additional rules. It could die of hunger if it doesn't capture a piece for N turns. 17:28:55 -!- Taneb has joined. 17:29:00 Hello! 17:30:49 Hmm. Eating too many carrots can discolor skin, but it's harmless and temporary 17:36:24 -!- Nisstyre has joined. 17:36:26 -!- Nisstyre has quit (Max SendQ exceeded). 17:37:09 -!- Nisstyre has joined. 17:39:15 -!- copumpkin has quit (Read error: Connection reset by peer). 17:47:25 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 17:47:48 -!- copumpkin has joined. 17:47:55 -!- MigoMipo has joined. 17:57:57 -!- atome has joined. 18:04:51 -!- atome has quit (Quit: http://quassel-irc.org - Discuter simplement. Partout.). 18:06:38 -!- atome_ has joined. 18:06:42 -!- monqy has joined. 18:07:31 -!- atome_ has quit (Client Quit). 18:08:17 -!- atome has joined. 18:08:21 -!- atome has quit (Client Quit). 18:08:57 -!- atome has joined. 18:36:28 -!- ais523 has quit (Ping timeout: 255 seconds). 18:39:08 -!- ais523 has joined. 18:56:31 -!- pingveno has quit (Ping timeout: 260 seconds). 18:58:21 -!- pingveno has joined. 19:09:21 -!- oerjan has joined. 19:16:25 ...Are there any examples of two games of Nomic having diplomatic negotiations with eachother? 19:17:18 we did have Ambassadors in Agora once, iirc. whether they ever got anything useful done, i'm not sure. 19:17:44 I'm running a small game of Nomic on the MSPA forums 19:17:53 and we declared war against Rishonomic. 19:18:06 ... 19:18:16 Did anything come of that? 19:18:41 Taneb: they had the chutzpah to declare us boring :P 19:18:54 How could they!? 19:19:30 -!- cheater has joined. 19:20:03 i think they declared basically everyone else their enemy, so of course _we_ had to go to war :P 19:20:11 (everyone _except_ us) 19:21:10 yes, they declared war on every nomic they knew of but Agora, and did "not go to war with Agora, because they are a generally boring lot" 19:21:15 i'm not entirely sure how much came of it. rishon _did_ collapse, but i'm not sure if it was agorans' fault 19:21:19 ah, not way, it was sworn enemy 19:21:29 oerjan: it collapsed just after repelling an Agoran invasion, for unrelated reasons 19:21:40 How could you invade? 19:21:46 How would that even work? 19:22:00 basically, you try to force a rule into the other nomic's ruleset 19:22:02 sounds like metagame 19:22:10 normally via scam 19:22:55 Nomic's a meta-metagame 19:23:43 I think it actually is 19:24:03 * oerjan gets hit by a falling anvil, just in case 19:25:09 The rules define how to define the rules 19:28:03 so ais, i know this will be a fun question but i didn't want to hog it... what sort of rules do they try to force into the other Nomic's ruleset? 19:28:16 -!- GreaseMonkey has joined. 19:30:45 i think agora went for trying to get rishon to declare agora their masters, or something 19:31:05 hehe 19:32:03 i vaguely recall there may have been something about making that rule unrepealable, as well 19:33:31 -!- BeholdMyGlory has quit (Remote host closed the connection). 19:33:52 -!- BeholdMyGlory has joined. 19:37:33 -!- boily has quit (Quit: WeeChat 0.3.5). 19:47:34 -!- NihilistDandy has quit (Ping timeout: 276 seconds). 19:49:03 When does a game of Nomic become a Micronation? 19:51:43 so far yet, none have managed it, so we don't know 19:51:49 Agora tried at one point 19:53:57 so are their any constraints on the game? is it confined to a forum or text type of thing? 19:54:07 ^there 19:54:08 what does a micronation have that a nomic doesn't 19:54:28 itidus20: all constraints are temporary, in principle 19:54:38 since they can be repealed 19:54:47 humm 19:55:20 nomic has been played on many fora, i'm not sure if any have moved to a radically different one... 19:55:28 i don't think it would be right of me to say that some players will necessarily be evil... 19:55:35 i just don't understand human nature well enough 19:55:38 oh wait frc is of course an example 19:55:45 it moved from nomic world to email 19:56:08 well, suppose for example that some nomic players met up in a shopping center 19:56:18 they might be trapped in a kind of limbo between the two worlds 19:56:28 itidus20: my first nomic game was around a table in a gaming club 19:56:52 Did it get very far? 19:57:05 then someone posted a link to nomic world on the club's email list, and there i was. 19:57:14 -!- Sulmersal has joined. 19:57:17 Taneb: it was a one evening thing 19:57:30 oerjan: well.. ok like a contrasting game is truth or dare 19:57:48 Agora is older than me 19:57:56 -!- Sulmersal has quit (Client Quit). 19:58:02 .. truth or dare being like a ventilation system of the inhibitions and ceaseless agony of existence 19:58:08 itidus20: you _could_ include real life elements, i guess. 19:58:14 i dont think you should 19:58:22 i mean all hell could break loose 19:58:23 * oerjan has never played truth or date, anyway 19:58:23 what does a micronation have that a nomic doesn't <--- Aerica complained that the situation was the reverse, that Agora wasn't a micronation because it had victory conditions 19:58:36 is truth or date some sort of truth or dare modification? 19:58:36 ais523: heh 19:58:42 *dare 19:59:03 oerjan: well.. so.. playing around a table at a gaming club... what is the substance of the game? is it played through talking? 19:59:18 perhaps a freudian slip, i've heard _some_ truth and dares can get into such territory 20:00:33 brb 20:00:36 truth or dare is just like an excuse for horny teenagers to make out and laugh at embarassing moments in history 20:00:45 but... 20:00:57 itidus20: ok so you are saying it's _most_ truth and dares. o kay 20:01:24 oerjan: ok what i mean though... is.. 20:01:36 truth or dare does invoke real life consequences 20:01:50 it would be dangerous if nomic ever combined itself with truth or dare somehow 20:02:02 invoking real life consequences is the whole purpose of truth or dare, isn't it? 20:02:11 reveal some embarassing fact, or do something to create a new embarassing fact? 20:02:22 itidus20: peter suber's original ruleset was intended for table play, anyway. play went around the table with players taking turns. the original ruleset of agora had already removed that aspect. 20:02:47 apparently, people who've played in-person nomic say that having a word processor handy is helpful 20:03:07 lawyers would probably be good at it 20:03:11 itidus20: nomic has a "you can always quit instead" rule for such situations, anyway. 20:03:16 Tooth or Bear: Each turn, either take out your own tooth, or wrestle a bear. 20:04:09 oerjan: i am so boring to discuss such things 20:04:59 SOunds like it would be rather difficult to teach a comptuer to play nomi, since it would have to understand arbitrary new rules. 20:05:02 itidus20: oh i vaguely recall agora once passed a rule that all players should brush their teeth properly :P there was a following judgement to the effect that agora _could_ affect real life things, iirc 20:05:20 Back 20:05:35 i'm not aware that anything else of the kind has been done 20:05:41 (in agora) 20:05:50 oerjan: theres probably erotic Nomics :P 20:06:35 Rule 34 or whatever 20:06:41 There's erotic everything 20:06:53 the BDSM community would really take to it 20:06:54 There's probably an erotic esoteric programming language out there 20:07:19 esoterotic? 20:08:27 `addquote Tooth or Bear: Each turn, either take out your own tooth, or wrestle a bear. 20:08:28 561) Tooth or Bear: Each turn, either take out your own tooth, or wrestle a bear. 20:09:02 well real life is very complicated. something like Nomic is best to stay in its own dimension 20:09:04 hehehe 20:09:12 oerjan: i am so boring to discuss such things <-- beware of self fulfilling thought patterns 20:09:23 i say that in the most hypocritical way possible 20:11:03 The way I am trying to view life lately is that everything is going to go wrong around me... and that I just have to make something of my time and energy in the space i've got left for myself 20:11:16 -!- GreaseMonkey has quit (Quit: The Other Game). 20:11:57 MDude: there have been programming language "nomics", btw. but there the players had to actually make the code to make the game do what they wanted. it solves the understanding problem, since the players cannot code that requirement :P 20:12:37 well i guess the computer wasn't really a player there 20:12:53 There are those who will try to say "it's not so bad".. but you know.. the world really is that bad... it really is.. but so what? who is really listening when you complain about the state of things? 20:13:07 me 20:13:09 im listening 20:13:14 should i stop 20:13:17 so.. you have to take responsibility for what you can do 20:13:32 because.. noone is ever going to make everything ok 20:13:55 Well, it's not like you shouldn't take responsibility anyway. 20:13:59 ok, I need to get involved in this conversation at some point 20:14:35 i have to back away from the conversation because i tend to hog chats 20:15:00 everything will not go wrong 20:15:08 everything will not go right either 20:15:38 not everything will go 20:17:05 When I have to stop and ask myself, "why do they do this to me?", at that point I realize that I have the power to change my situation in small ways, and it is my choice whether I exercize that or not. 20:17:44 why does who do what 20:18:21 They do this 20:20:10 salespeople, loansharks, ponzi schemers... 20:20:15 fungot: are you familiar with Them? 20:20:15 oerjan: what the hell is that??? you are quite a sn0b 20:20:22 O KAY 20:20:36 ^style 20:20:36 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck* ic irc jargon lovecraft nethack pa speeches ss wp youtube 20:21:12 spyware, software installers with browser toolbars which can only be turned off by clicking a subtle checkbox, 20:21:29 ^style lovecraft 20:21:29 Selected style: lovecraft (H. P. Lovecraft's writings) 20:21:36 fungot: hi? 20:21:37 Lymee: it was a rough parallel in all essential features of the dead 20:21:39 facebook wreaking havoc with your privacy, lulzsec revealing your details 20:21:44 nya 20:21:50 ^style nethack 20:21:50 Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal) 20:21:53 fungot: hihihihi 20:21:53 Lymee: master of thieves: there was a handsome young man lifted the sword and thrust with both arms; the blade broke the surface, the prince himself is about the newspaper stories which recounted the alleged existence of creatures in the depths of the shopkeep logic ( hence our former mailing list address). 20:22:33 makeup product testing on animals 20:22:53 itidus20: is there a word for people like you 20:23:12 ^style youtube 20:23:12 Selected style: youtube (Some YouTube comments) 20:23:13 ENDLESS junkmail in my email inbox 20:23:17 fungot: Hi~ 20:23:18 Lymee: air france? typical american, you ll never see youtube with this jaybad... he is like the punching kola ad and the airbus 20:23:24 I approve. 20:23:27 endless spam in blog comment sections 20:23:42 endless automated signups leading to the creation of captchas 20:24:21 endless car thefts leading to sensitive car alarms that are triggered by a strong wind 20:24:36 identity thieves 20:24:49 pickpockets 20:25:02 itidus20: so these are them? 20:25:06 some of them 20:25:09 itidus20: and what did they do to you specifically 20:25:24 they force me into the corner to hide 20:25:41 they are out there everyday stalking 20:25:48 are you paranoid 20:25:50 i am probably one of them 20:26:04 there has to be a better word for you 20:26:10 they ARE after me... they are after anyone they can get their clutches on 20:26:25 its just probability that they don't get the opportunity 20:27:02 i am sure i haven't managed to cast a wide enough net to define "them" though 20:29:09 but, also, there is a trickle down effect... they do take their damage.. and it trickles down to everyone. everyone needing to pass the buck 20:29:23 -!- Cheery has joined. 20:29:35 jou! 20:30:10 a finn. hide everyone! 20:30:37 sort of like if there is an economic plane which is a manifold and heavy balls were dropped on it distorting it in places 20:31:34 like.. if a father is beaten up.. their family was dependant on him for economic security.. and the pressure on everyone builds up 20:31:45 or if someone is on drugs.. and has to steal from their family 20:31:47 a similar effect 20:31:58 but.. I'm about as esoteric as what are you all non-finns.. 20:32:13 itidus20: all i know is that while not thinking about those kind of things doesn't necessarily make my day a good one, _all_ my good days are when i manage to avoid it. 20:32:31 Cheery: the question is, how glove are you? 20:33:17 olsner: as much as what a herd of cats is. 20:33:49 ouch! I think that's too glove, but hopefully that's glove enough 20:34:43 Cheery: no finns here. _especially_ not fizzie or Deewiant. or tswett, even if he sounds like one at times. 20:35:21 Kaive ottani ei olla espataa elmä soo. 20:35:46 oerjan: yeah :) 20:35:48 that sounds like estonian. 20:36:04 I wouldn't be surprised if Estonians thought it sounded like Finnish. 20:37:07 tswett: according to google, you failed to make two of those words untranslatable 20:37:42 Well, "ei" and "olla" are definitely real words. Any others? 20:37:56 beats me 20:38:30 after applying the suggested corrections of the finnish text, google gives me "Ozone can not be a drain espataa life soo." 20:38:55 (ooh! I see the matrix of solidity has made a comeback in the topic, good stuff) 20:39:46 olsner: darn i was hoping i had escaped 20:40:27 there's a reason it's called the matrix of *solidity*, you know 20:40:59 well i thought if i drank enough, i'd become fluid instead 20:41:01 funniest thing I know about estonia is that there is a city called 'hawk' they have tried to cover from their map. 20:41:19 cover? 20:41:26 because 'hawk' in estonian sounds much like 'dick' in finnish. 20:42:16 friendship town: Fucking, Austria 20:42:57 (note: not actually true) 20:43:25 unless it happens to be, let's check 20:43:30 " are definitely real words. Any others? 20:43:30 23:37 < oerjan> beats me 20:43:41 http://maps.google.com/maps?q=viro+kulli&hl=en&ll=58.636935,26.334229&spn=4.868035,7.756348&sll=58.378679,26.312256&sspn=2.451155,3.878174&t=h&z=7 20:44:05 "ottani" is a plausible dialectical way of saying "otsani", i.e. "my forehead". 20:44:50 hmm.. 20:44:57 there seems to be multiple 'kulli' in estonia 20:45:02 And "kaive" could I guess be some sort of a digging; from "kaivaa" 'to dig'; also "kaiverrus" 'engraving'. But I don't think it's quite a standard word. 20:46:06 And "soo soo" is what you can say to a young child who has behaved badly. 20:46:24 -!- Phantom_Hoover has joined. 20:46:39 "kaive" the gap between buttocks 20:47:18 Wow, the channel has gone downhill while I was away. 20:47:25 or something else you might dig into 20:47:39 Phantom_Hoover: always downhill 20:47:50 I wonder when it goes uphill.. 20:48:00 always downhille 20:48:08 well, it goes uphill backwards in time 20:48:18 "In 2009, the European Union's OHIM trademarks agency forbade a German brewery to market a beer called "Fucking Hell". It appealed, and was granted permission in January 2010 to market the beer.[23] It claims the beer is named after the Austrian village Fucking and the German term for pale lager, Hell." 20:48:43 I guess it does that when the variable underflows. 20:49:05 Cheery, honestly, we use bigints for our hills. 20:49:16 arbitrary-precision suckage 20:49:47 so it's like worldwide economy then? 20:49:56 except that it's always downways instead of upwards.. 20:50:55 "kaive ottani ei olla espataa elmä soo." <- if you wonder at this thing. it really means nothing in finnish even though someone might think it's estonian 20:51:00 > let depth = exp(100) in ceiling depth 20:51:01 26881171418161356094253400435962903554686976 20:51:09 er darn 20:51:12 fucking lambda! 20:51:28 > let debt = exp(100) in ceiling debt -- i can't spel 20:51:29 26881171418161356094253400435962903554686976 20:51:54 or then.. it could also be drunkspeak 20:52:15 26881171418161356094253400435962903554686976 is pretty deep 20:52:23 Cheery: i wasn't particularly wondering. this _is_ tswett, after all. 20:52:34 pretty deeb too 20:52:43 monqy: yeah hard to dig oneself out of 20:52:54 "kai se ottava ei ole espanja enmä osaa sanoa" 20:53:07 digging upwards is my favourite sport and hobby 20:54:24 I could try continue my language project.. 20:54:30 except that it's again night. :) 20:54:44 night time is best time 20:54:50 and I've spent my daytime playing games, talking, driving a car and shopping. 20:55:09 Cheery, what language project? 20:55:23 (Does it involve brainfuck in which case DIE) 20:56:19 it involves personally handwritten retargetable compiler backend. 20:56:25 I managed to read that as make a brainfuck IDE 20:57:19 if you like to kill people by virtually stabbing them. you could try: http://www.kongregate.com/games/icecreambreakfst/racing-comrade 20:57:27 Whicch would certainly be interesting 20:58:21 And boring 20:59:21 Phantom_Hoover: hey i have a project involving brainfuck neener neener 21:00:22 also, no one found a way to calculate n%2 in 3 cells while preserving n :( 21:01:29 i _think_ i can manage to end the main loop on a finite, fixed set of values, but that's sort of unsatisfying 21:01:29 basicly, if I'd get off from the unproductivity cycle, I'd get on to writing stuff that converts bunch of expressions in a program flow graph into thin amount of assembly language in x86 and nvidia gtx460 21:02:01 at least it's enough to do decision problems 21:02:21 then I'd continue from that by implementing a language, so I can implement graphical IDE in the language so I can skip parsing entirely. 21:02:43 then I'd rewrite the whole compiler in the language I just created. 21:02:53 :) 21:03:46 Cheery: you mean making a language without a text syntax? 21:04:21 oerjan: yes. 21:05:11 I played with the editing concepts but distracted into other things entirely, and then I distracted into doing compiler stuff, which is indeed very useful for all of my earlier projects. 21:07:07 * oerjan looks at BRB and notes that for most esolangs, the _more_ commands they have the _less_ interesting they are 21:08:01 sounds like correct 21:08:06 more commands means more crap anyway 21:08:09 oerjan: indeed 21:08:30 befunge being an exception 21:08:38 I've got some sort of semi esoteric semi production -thingy as goal. 21:08:57 and I'm not sure whether it's even esoteric after all then.. 21:09:08 oerjan: Just a special instance of the general scenario in software: the more stuff your software has, the worse it is. 21:10:15 true too 21:10:45 except that in some cases the complexity can be handled and it's actually awesome. 21:10:58 see: haskell? 21:11:21 (ok haskell has some creaky parts too) 21:11:27 There's necessary and unnecessary complexity. 21:11:39 Most complexity is unnecessary. 21:13:11 Cheery: I think if it is developed without anyone investing any money then it is esoteric 21:13:11 -!- lin0mak has joined. 21:13:38 that might be going too far though,,, 21:13:52 itidus20, it's going so far that light takes ten minutes to reach it. 21:14:15 the assumption there is that all these 1000s of people who learn to make compilers don't actually ever invent their own languages 21:14:17 That's further than the sun! 21:14:44 And the sun's pretty far away 21:14:45 or if they do they're kept private 21:14:48 Taneb, 25% further! 21:14:58 itidus20: well there are all kinds of money, do academic grants count? 21:15:00 125% as far! 21:15:33 I think an esoteric language is defined as being designed to be unusable 21:15:40 because it may be just a matter of many people don't having _time_ to make anything big without being paid. 21:15:42 itidus20: I don't know whether 'doing your own language' auto-ensures esoteric.. or wait 21:16:04 um yeah.. no 21:16:06 ok ill cluster bomb my definition 21:16:07 Taneb: that's a bit far in the other direction again 21:16:27 Linux was a doing your own operating system 21:16:46 How about themed? 21:16:46 Taneb: An esoteric language is defined as being strange. 21:16:48 oerjan, yeah, just get oko to go on about how he gets paid to study esolangs. 21:17:05 1) no funding 2) not done as part of schoolwork/academic work 3) no committee 4) non-commercial 21:17:10 Phantom_Hoover: well he would have to be HERE for that. 21:17:37 ok so.. esolangs can be studied >.< 21:17:48 i dont think i am the one to define it then.. 21:18:01 i am mixing esolang with indielang 21:18:09 oerjan, nah, he could bang on about it from inside a sealed metal box. 21:18:50 one case: is P'' an esolang? böhm was probably paid in some way. 21:19:13 P'' was a thingy to prove something 21:19:29 That goto-less imperative languages can be turing complete 21:19:38 it wasn't intended as "eso", but many of those initial TC formalisms are indistinguishable from what we consider quality in an esolang 21:19:59 better than mordern esolangs 21:20:00 Imagine programming in Code 110 21:20:01 :'( 21:20:44 *not 21:20:52 s/code/rule/ 21:20:54 * oerjan cackles evilly 21:22:03 how did i misspell modern 21:22:09 Hell, imagine programming in a tag system 21:22:21 Maybe it was freudian? 21:22:41 -!- lin0mak has quit (Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]). 21:22:43 Like, you aspire to be like Sauron or something 21:23:14 I hardly know what that is 21:23:16 [...] 3) no committee [...] <-- objection. magenta was made by committee. also the 1.Adjudicated Blind Collaborative Design Esolang Factory, although it failed. 21:23:31 abcdef 21:23:44 one does not simply goto mordor; 21:23:53 ... in which oerjan bickers about automatic copying of item numbers 21:24:04 * oerjan swats monqy -----### 21:24:09 took long enough 21:24:14 I was waiting for that 21:24:21 I thought it was qwop 21:24:22 I WAS PONDERING WHETHER TO SWAT OR BAN 21:24:29 qwop to mordor 21:24:45 except I'd do that quite easily I guess.. 21:25:16 http://www.funnyjunk.com/funny_pictures/1359404/One+does+not+simply+QWOP+into+Mordor/ 21:25:25 olsner: the veloceraptors will get you 21:25:34 PHP specs say so 21:26:41 Are there any implemented esoteric operating systems? 21:27:18 by what standard of esoteric/operating system 21:27:25 also implemented 21:28:16 An OS that could concievably have an article on the wiki is considered esoteric for this purpose 21:28:24 if all you need to do is an operating system.. then you're quite easily esoteric 21:28:46 Implemented in that I could get it on a computer and boot it 21:29:10 yep 21:29:47 but what is an operating system 21:29:57 ok fair enough my definition failed 21:30:26 this seems to happen a lot 21:32:01 making something sufficiently esoteric runs the risk of failing to make it an operating system 21:33:51 I know nothing about making operating systems 21:33:57 -!- variable has quit (Remote host closed the connection). 21:33:59 If I did, I would probably do this 21:34:35 -!- variable has joined. 21:34:56 itidus20: esolangs are similar to nomic in that whatever restrictions you try to make, _someone_ is going to try something not fitting in it :P 21:35:28 ok 21:35:31 -!- MigoMipo has quit (Read error: Connection reset by peer). 21:38:14 Dammiit, I'm 9 years and 41 weeks of experience off becoming a "Cloud Evangelist" for Canonical 21:38:39 What does that even mean. 21:39:39 It's the guy who says "This is cool! C'mon, folks!" 21:39:51 still not getting it 21:40:07 About Cloud computing 21:40:17 Specifically with Ubuntu 21:40:55 I don't get all the fuss over it 21:41:02 Neither do I 21:41:02 only some of the fuss 21:41:06 is that like those 20 years experience with java requirements? 21:41:16 Maybe 21:41:30 20 years is a lot of java experience 21:41:50 i guess java does not fit very well as an example any longer 21:41:53 In twenty years time, I'd be 36 21:42:22 In 60 years time, I might be coming up to retirement 21:42:49 I guess you won't find anyone doing *programming* who has that long experience of mainstream languages 21:43:03 Cheery: *whoosh* 21:51:50 I can't simply imagine a person with internal drive towards programming would stay away from other languages and wouldn't become able of using many other languages he'd much more prefer than java. 21:54:25 -!- Cheery has quit (Quit: Lost terminal). 22:02:16 oerjan: there have been cases of people rejecting one of the early Java testers (from before it was publicly released) for not having enough Java experience 22:13:58 I wonder if there's an eclipse plugin for Befunge developement? 22:15:18 Goodnight 22:15:28 -!- Taneb has quit (Quit: He's a big quitter he is). 22:15:44 hm, I just found out that Torvalds went xfce due to hating gnome 3. Calling it a step down compared to gnome 2 but a huge step up compared to gnome 3 22:15:53 I have to agree completely 22:16:21 Vorpal, why, is it so impossible to use Gnome 2? 22:16:40 Phantom_Hoover, downgrading major things like gtk+ and glib is always going to be a pita 22:16:53 Phantom_Hoover, further, who is going to maintain gnome 2? 22:37:57 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 23:03:47 -!- ais523 has quit (Read error: Connection reset by peer). 23:04:51 Didn't they say next Ubuntu (11.10) is dropping classic Gnome desktop completely, in favour of Unity (with a 2D-Unity for machines with less 3D hardware horsepower)? 23:20:06 -!- copumpkin has joined. 23:20:10 -!- copumpkin has quit (Changing host). 23:20:10 -!- copumpkin has joined. 23:21:35 fizzie, something like that. i want to see it. it'll be great, i think. 23:24:53 -!- sebbu has quit (Ping timeout: 240 seconds). 23:26:00 fizzie: Um, they already did. 23:26:00 elliott: You have 1 new message. '/msg lambdabot @messages' to read it. 23:26:07 Oh, I see. 23:26:24 Thus making Ubuntu completely unusable without manual installation. 23:29:51 elliott, why? 23:29:58 Is Unity *that* bad? 23:30:01 Yes. 23:30:03 It really is. 23:30:18 And I gave an honest, complete effort to love and use it when the last Ubuntu came out. 23:30:26 I looked past all its implementation flaws. 23:30:32 It really is horrendous at the core. 23:30:55 Horrendous != unusable. 23:31:43 Everyone's struggled through one or two horrendous interfaces because they needed to. 23:33:07 Phantom_Hoover: When that interface is your /entire desktop/... 23:33:30 Windows 95's desktop is, all sincerity, more usable than Unity. 23:34:03 elliott, would a precis of why it's awful be too much to ask for@? 23:37:02 Phantom_Hoover: Yes, because I've summarised on here before; no, I don't remember log dates. 23:37:07 Maybe later. 23:45:26 -!- FireFly has quit (Quit: swatted to death). 23:54:48 10:54:51: ^style something-else-except-that-agora-nonsense 23:54:49 DIEEEEE 23:55:22 fungot, show elliott your new style. 23:55:23 Phantom_Hoover: he was a glitch in the accident was the kid pissed me off, was beautiful... geezzz... didn't see half of these 23:55:29 ^style 23:55:29 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc jargon lovecraft nethack pa speeches ss wp youtube* 23:55:32 What. 23:55:34 Who. 23:55:37 THIS IS A TRAVESTY 23:55:41 ^style homestuck 23:55:41 Selected style: homestuck (Homestuck pages 1901-4673) 23:55:44 fungot, now do it. 23:55:44 Phantom_Hoover: your sylladex will prevent it from being destroyed: 4/ 13, 1910, exactly, numskull. might as well just use that? i mean from your tree? with all your amaaaaaaaazing powers. 23:55:46 What who did that. 23:57:00 fungot: that was like the most stereotypical line you could possibly blurt out in that style btw 23:57:00 elliott: is it. 23:57:03 fungot: yes. 23:57:04 elliott: his birthday is in a few minutes. 23:57:06 Phantom_Hoover: it was just a glitch in the accident 23:57:06 fungot: ah. 23:57:06 elliott: what, the last one. wait no, that just made you disappear" and stuff? 23:57:09 fungot: yes. 23:57:10 elliott: you like to chat up one of those other clowns prototyped. go me t0 break it first before moving 23:57:20 fungot: this is terrible. 23:57:26 someone say fungot 23:57:29 fungot, come on, there's got to be a death threat or two in there somewhere. 23:57:29 Phantom_Hoover: and in time, though prone to do that 23:57:42 10:57:54: fungot, what is your opinion of brainfuck? 23:57:42 elliott: is it possible for one of your b100d and a beating heart. you can be as good a time as any 23:57:42 10:57:54: itidus20: that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alone can't stop! that sword alon 23:57:42 elliott: an old colonel lost, but a new brother gained. together they will ascend, each time you must be adventurin'. 23:57:43 fungot, I can't wait! 23:57:43 Phantom_Hoover: just as i was initially believed they were new additions. for that. busy 23:57:44 YES IT RETURNS 23:57:59 elliott, we got a new one. 23:58:07 `addquote elliott: an old colonel lost, but a new brother gained. together they will ascend, each time you must be adventurin'. 23:58:07 elliott: it was a big goofy adult. seems like that's the only sort. if it were up to him we would try to be these mysterious characters but you suspect. what a royal mess of his lovely new horseleather bib. it just so happens that today, the 13th of april. another day of uneventful but highly satisfying 23:58:09 562) elliott: an old colonel lost, but a new brother gained. together they will ascend, each time you must be adventurin'. 23:58:19 it sounds like lyrics 23:58:21 really bad lyrics 23:58:22 fungot, hey, you gave that death threat to elliott! 23:58:22 Phantom_Hoover: it is a hate so pure and... pumpkin seeds? 23:58:25 ;_; 23:58:32 fungot, but you were meant to hate ME 23:58:33 Phantom_Hoover: you really wish your side. 23:58:38 fungot, I DO 23:58:38 Phantom_Hoover: you pick the time that happens, right. some numbers are already supplied are being cross-referenced with understandings i already was. 23:58:43 `addquote Phantom_Hoover: it is a hate so pure and... pumpkin seeds? 23:58:43 elliott: your name is john. is that correct? ok, whatever it does. perhaps you will take this from the top. ve l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v l. v 23:58:44 563) Phantom_Hoover: it is a hate so pure and... pumpkin seeds? 23:58:51 v l. v l. v l. 23:58:52 :o 23:59:04 fungot, the time I pick is NOW! 23:59:04 Phantom_Hoover: but it is your journey i am just as confused. you will have your questions answered, but they kind with this mutant candy-red blood. an outcast. he thinks it's about to be. someone needs to grab the beta ( 6) in the room. he briefly speaks to its strife! quota for the day. she simply returns to the land of thought and focus on the matter 23:59:25 Land of Thought and Focuss. 23:59:28 *Focus 23:59:45 fungot, are you so confused as to threaten to kill me? 23:59:46 Phantom_Hoover: though the fact that this is apparently a bull penis, and a beating heart. you can be as good a time as any to start a new memo 2011-08-05: 00:00:25 It's a bull penis _and_ a beating heart. 00:01:25 fungot, are you going to threaten to kill me with the bull penis? 00:01:26 Phantom_Hoover: though the fact that this is apparently a bull penis, and a variety of interests. you have a passion for really terrible movies. he would just go on and on about it. 00:01:41 fungot, it's a variety of interests too? 00:01:41 Phantom_Hoover: is it there she is. 00:02:24 -!- Patashu has joined. 00:18:02 fungot, are you still in youtube mode? 00:18:03 Lymee: the stuff scattered about your room. you of course it was a nasty pair of beagle puss glasses, several () a blank card, producing a different hole in the roof 00:18:07 ^style youtube 00:18:08 Selected style: youtube (Some YouTube comments) 00:18:09 fungot, are you still in youtube mode? 00:18:10 Lymee: got footage of the a-320 that had been certified by the computer overrode the automatic throttle system but it keeps skippin for me, you managed to contradict yourself there big time, this movie will be epic 00:18:11 :D 00:18:15 Lymee, IT WAS YOU 00:18:36 ^style homestuck 00:18:36 Selected style: homestuck (Homestuck pages 1901-4673) 00:18:43 fungot, NEVER LEAVE THIS MODE 00:18:43 Phantom_Hoover: this is it, like an apple or a cunning prankster than a common sort of 00:18:52 ^style 00:18:52 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck* ic irc jargon lovecraft nethack pa speeches ss wp youtube 00:18:57 ^style irc 00:18:57 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 00:18:59 ^style homestuck 00:18:59 Selected style: homestuck (Homestuck pages 1901-4673) 00:19:02 ^style irc 00:19:02 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 00:19:04 >:c 00:19:04 ^style homestuck 00:19:04 Selected style: homestuck (Homestuck pages 1901-4673) 00:19:17 ^style 00:19:17 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc* jargon lovecraft nethack pa speeches ss wp youtube 00:19:19 ^style homestuck 00:19:19 Selected style: homestuck (Homestuck pages 1901-4673) 00:19:25 whats homestuck 00:19:30 fungot: hi 00:19:31 hams on steaks 00:19:31 Lymee: i see def-bf as being used to do that 00:19:34 monqy, go to mspaintadventures.com 00:19:36 ^style 00:19:36 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck ic irc* jargon lovecraft nethack pa speeches ss wp youtube 00:19:37 ^_^ 00:19:38 Phantom_Hoover: He knows. 00:19:39 ^style homestuck 00:19:39 Selected style: homestuck (Homestuck pages 1901-4673) 00:19:46 elliott, -_- 00:19:46 Anyway, stop talking, I need to war with Lymee. 00:19:50 ^style homestuck 00:19:50 Selected style: homestuck (Homestuck pages 1901-4673) 00:19:50 ^style homestuck 00:19:50 Selected style: homestuck (Homestuck pages 1901-4673) 00:19:51 ^style homestuck 00:19:51 Selected style: homestuck (Homestuck pages 1901-4673) 00:19:51 ^style homestuck 00:19:51 Selected style: homestuck (Homestuck pages 1901-4673) 00:19:51 ^style homestuck 00:19:51 Selected style: homestuck (Homestuck pages 1901-4673) 00:19:53 fungot: there. 00:19:53 elliott: are you in the medium. 00:19:59 ^style 00:19:59 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck* ic irc jargon lovecraft nethack pa speeches ss wp youtube 00:20:03 Lymee, CONTINUE AND I SHALL MURDER YOUR DWARF SOMEHOW 00:20:06 ;-; 00:20:10 ^style 00:20:10 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck* ic irc jargon lovecraft nethack pa speeches ss wp youtube 00:20:26 ^style 00:20:26 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck* ic irc jargon lovecraft nethack pa speeches ss wp youtube 00:21:07 ^style 00:21:07 Available: agora alice c64 ct darwin discworld europarl ff7* fisher homestuck ic irc jargon lovecraft nethack pa speeches ss wp youtube 00:21:10 ^style homestuck 00:21:10 Selected style: homestuck (Homestuck pages 1901-4673) 00:21:30 ^style youtube 00:21:30 Selected style: youtube (Some YouTube comments) 00:21:38 ^style homestuc 00:21:38 Not found. 00:21:39 ^style homestuck 00:21:39 Selected style: homestuck (Homestuck pages 1901-4673) 00:21:40 ^style youtube 00:21:41 Selected style: youtube (Some YouTube comments) 00:21:43 ^style homestuck 00:21:43 Selected style: homestuck (Homestuck pages 1901-4673) 00:21:44 ^style youtube 00:21:44 Selected style: youtube (Some YouTube comments) 00:21:47 fizzie: You should totally just remove ^style. 00:21:48 ^style homestuck 00:21:48 Selected style: homestuck (Homestuck pages 1901-4673) 00:21:50 ^style youtube 00:21:50 Selected style: youtube (Some YouTube comments) 00:21:52 ^style homestuck 00:21:53 Selected style: homestuck (Homestuck pages 1901-4673) 00:21:55 Lymee: asie. 00:22:03 :( 00:22:04 this is dumb and makes me sad 00:22:13 monqy: its my sworn duty to fight all asies 00:22:17 swron,,, 00:22:24 fungot: Hi. Are you Homestuck? :D 00:22:24 Lymee: listen guys it was a test 00:22:32 ^style homestuck 00:22:32 Selected style: homestuck (Homestuck pages 1901-4673) 00:22:34 fungot: hams 00:22:34 elliott: as it turned out, fooling around and transportalize as far as the details of the game mythology by now. try to be careful, ok? this book is full of more meow." she mistook this for more nonsense, but it is of course. 00:23:13 fungot: do not homestuck style ever again. OK? 00:23:14 Lymee:/ more enduring social instincts conquer other less persistent instincts--the social virtues alone regarded by savages--the self-regarding virtues acquired at a later period over/ lighter and upper lavas :)/ uspallata range; origin subsequent to that :)/ perfect flowers 4.27 inches in height; or as 100 to 75. 00:24:12 ^style 00:24:13 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck* ic irc jargon lovecraft nethack pa speeches ss wp youtube 00:24:23 ^style jargon 00:24:24 Selected style: jargon (UNIX-HATERS mailing list archive) 00:24:24 fungot: hi 00:24:25 elliott: cisco systems pays dec for stolen software developers, system v release 4 and osf/ 3 globbing, which bloomed into a daze where they kept the cadr carcasses they now have a link to a 00:24:32 fungot: sup 00:24:32 elliott: like a very clear mirror 00:24:38 * Lymee ninja success 00:24:50 ^style c64 00:24:50 Selected style: c64 (C64 programming material) 00:24:55 fungot: hihi 00:24:55 Lymee: that is a winner's attitude, and there is no particularly good human translation for this concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear concept. a concept usually denoted by a single, linear conc 00:25:00 fungot: sup 00:25:01 elliott: about his hat dirty. either way, spoils are yours toward a common goal, and because you can't understand 00:25:02 Lymee: you try 00:25:05 ^style ct 00:25:05 Selected style: ct (Chrono Trigger game script) 00:25:14 ^stylewp 00:25:16 ^style wp 00:25:16 Selected style: wp (1/256th of all Wikipedia "Talk:" namespace pages) 00:25:20 ^style ss 00:25:21 Selected style: ss (Shakespeare's writings) 00:25:25 fungot: hi 00:25:25 Lymee: as a veteran of the game. it's what happens when you start running, she'll have to pry the cigarette holder to support. 00:25:29 fungot: hi 00:25:29 Lymee: your blood is, he's a total badass, and that his awesomeness was also sort of a thing i do. she is the best character, you know. forever! 00:25:41 fungot: hi 00:25:41 Lymee: enter name. 00:25:42 fungot: hi 00:25:43 Lymee: that happens, right. maybe it would be best not to be near it when this happens every little gag and expected to arrive today that i was about to get blown up! this does not seem to exist in a state of almost perpetual stalemate, and expands to a larger board and more exotic collection of what he refers to as a thermal hull, instead of some kind of clock pun. no. cold. really cold shit flushed from derse. dave's package 00:25:48 >:c 00:25:53 Jerk. 00:25:56 looks like hamsteak to me 00:25:58 that does not sound like shakespeare that osunds like hommestucke 00:26:13 fungot: hi 00:26:50 ^style 00:26:51 Available: agora alice c64 ct darwin discworld europarl ff7 fisher homestuck* ic irc jargon lovecraft nethack pa speeches ss wp youtube 00:27:21 fungot: hi 00:27:27 fungot: hi 00:27:30 :( 00:27:40 fungot: hi 00:27:40 elliott: the point is its important! everyone )(as just been so busy abjuring, you don't actually give a shit. if it were up to him we would try to be these mysterious characters but you suspect. what a royal mess of his lovely new horseleather bib. it is a good idea. 00:27:42 it doesnt like us now 00:27:54 it ignores you after a while 00:29:11 fungot: hi 00:29:12 Lymee: keep. i will walke my selfe to thy direction, toward london then, for we haue put thee in comfort, not by two that i know our greatest friends attend vs 00:34:28 fungot, if elliott messed with your brain, I swear... 00:34:28 Lymee: in that reality. she flew in his window, seized the game with a dead heir and witch 00:34:31 ... 00:34:39 * Lymee knife glint 00:41:52 -!- atome has quit (Ping timeout: 250 seconds). 01:01:04 ^style ss 01:01:04 Selected style: ss (Shakespeare's writings) 01:01:09 fungot: kill elliott please 01:01:10 Lymee: hub. vpon my sword, and turne her out, and therefore more valiant, being as good a man as york! vernon. hark ye: not so much as conjure fort, and make a darke night too of halfe the day: which better then the male. it is 01:19:40 -!- cheater has quit (Ping timeout: 255 seconds). 01:32:24 -!- cheater has joined. 01:46:17 -!- lament has joined. 01:47:35 http://esoteric.voxelperfect.net/wiki/User:UToneyNicholsonm this userpage makes me happy 01:59:26 -!- Phantom_Hoover has quit (Quit: Leaving). 02:03:39 it is clearly the best 02:04:26 * oerjan suddenly has an idea for a weird captcha 02:04:41 "What is the URL of this page?" 02:05:11 it's sole purpose would be to reveal the location of captcha farms 02:05:14 *its 02:05:32 haha 02:05:55 ok, it might also work slightly as an ordinary captcha 02:07:14 * Lymee did not edit that userpage with a stupid meme 02:08:35 * oerjan refuses to admit that it is an improvement 02:16:14 For it to work, you'd need to find a way to prevent it form being recognised automatically. 02:16:49 always a problem 02:16:49 Since a bot would be able to know what url it's looking at. 02:17:39 Maybe have a number of different types of tasks, and instead of obfuscating the answer, do so with the question. 02:17:48 -!- Sulmersal has joined. 02:18:51 'what is the URL of this page'? 02:18:55 how would that reveal captcha farms? 02:19:40 -!- Sulmersal has quit (Client Quit). 02:21:07 Patashu: Mechanical Turk type captcha farms. 02:21:44 Oh, I see, captchas being solved on another side 02:21:52 But would the captcha being executed know what url it's on? 02:23:41 gah how does this work 02:27:34 That would be hard. 02:28:11 i was imagining the sort of thing where your captcha is used for a captcha on another page, which the spammers control... something i read about somewhere 02:28:20 Though really, it's not like it needs to know. If someone gives the wrong url from seeing it on a farmign site, then it's the wrong one. 02:28:37 Er, then it's not like you need ot let them go through anyway. 02:28:50 What oerjan jsut said. 02:29:37 oerjan: that would most likely be an iframe, though 02:29:44 in which case the URL that the captcha saw would be itself 02:30:00 hm 02:30:10 I guess it could detect whether it was in frames, but 02:31:58 oerjan: i.e. Mechanical Turk. 02:32:01 hm shouldn't captchas do that kind of detection anyway 02:32:11 MDude: i think it would help if they found a way to integrate the name of a website into the background of a captcha 02:32:39 oerjan: I suspect they simply screenshot it or similar 02:32:40 the problem then would be that the varmints would try to unintegrate the background 02:33:01 elliott: if it's screenshot, then the scheme should work... 02:33:09 oerjan: oh hm true 02:33:29 like, supposedly they do captcha redirections too 02:33:32 hmm, this sucks (maybe) 02:33:47 like having a site which borrows someone elses capcthas 02:33:58 to get naive people to fill them in 02:34:09 itidus20: that's what i'm talking about 02:34:12 If they just type what's in the image, though, it doesn't give away the location. 02:34:16 oh no fuck 02:34:18 im in utrecht land 02:34:32 MDude: the image asks them to input the url they are on 02:34:33 i think if they were to put the URL into the captcha image itself it would help 02:34:33 what happened 02:34:34 presumably 02:34:42 like a watermark 02:34:47 monqy: utrecht 02:34:52 oerjan: help im utrecht 02:34:53 which they would then of course try to remove 02:34:58 itidus20: um you are having the opposite idea of what this is intended to do 02:34:58 all I remember is utrecht is scary 02:35:22 itidus20: knowing they're helping spammers won't stop people helping 02:35:34 itidus20: this is supposed to trick the people filling in the captchas to reveal what website they are filling it in on 02:35:34 not starving > not helping spammers 02:35:40 Well I think it would actually stop a few folk. 02:35:46 Just not enough. 02:35:54 MDude: I gather they mainly use farms of Chinese people and the like 02:36:02 so... I doubt it 02:36:11 gotta love slavery 02:36:15 Yes, though that wouldn't exactly be like Mechanical Turk. 02:36:23 indeed 02:38:04 In that case, it seems like it would be easier to help decrease poverty in china that to stop an army of determined slaves. 02:38:29 its also prisoners 02:38:48 i heard that they make prisoners play world of warcraft for example 02:39:10 I would think that would be a bit risky. 02:39:18 "Welcome to prison... here's your MMO account." 02:39:26 "NOOOOOOOOOOOOOOO!!!" 02:39:31 "ANYTHING BUT WORLD OF WARCRAFT!!!!!!" 02:39:32 How to they prevent the prisoners from leaking out information? 02:39:41 "I'm a great Starcraft player -- I swear!" 02:39:43 ok if these are really mostly chinese farms, then i get another idea: make captchas that require people to know something the chinese government is censoring :P 02:39:51 they're not allowed to "play" as such.. they have to tediously earn money 02:40:01 oerjan: :D 02:40:05 Ah, so no chat ability I guess. 02:40:10 and/or which reveals such information 02:40:11 oerjan: "What is the Tienanmen square massacre?" 02:40:13 dunno 02:40:14 alternatively: get --yes 02:40:16 s/What is/When did the - happen/ 02:40:25 elliott: precisely :P 02:40:42 oerjan :o 02:40:44 haha 02:40:55 you're genious 02:41:28 now... how to convince them to do that 02:42:17 i don't think blizzard would like that 02:42:50 I don't think WoW uses captchas anyway. 02:42:51 ...why did someone edit idiocy into a spam userpage 02:43:16 MDude, but still... the game of WoW could be edited to send such messages 02:43:17 is 68.95.248.65 2 years of age 02:43:19 monqy: see above 02:43:24 monqy: lymia 02:43:28 oh 02:43:32 how far above 02:43:35 I'm bad at looking 02:43:56 monqy: *:06 02:44:02 I... 02:44:04 Uh.... 02:44:10 * Lymee hides 02:44:13 I would've made a joke referencing Crab Nicholson. 02:44:35 they could introduce new creature into WoW.. three watch crab and grass mud horse 02:45:33 but that would just cause a fury of immense proportions 02:46:42 itidus20: iirc that wouldn't be any different from a dirty pun in english 02:46:52 which would upset the americans i assume 02:49:17 monqy: so the gpipe guy........ 02:49:23 monqy: responded to my issues and is looking at my fork............... 02:49:29 and is supportive of making it windowing-system-generic............... 02:49:32 and replacing Vec............. 02:49:55 unforking in progress... 02:50:01 ........ 02:50:19 elliott: replacing vec with what 02:50:26 monqy: something else.........maybe tuples.......... 02:50:38 these are...... the iksues............. 02:50:40 https://github.com/tobbebex/GPipe/issues/1 02:50:40 https://github.com/tobbebex/GPipe/issues/2 02:51:04 but can tuples do linear algebra 02:51:42 why not :P 02:51:56 effort in rewriting whatever vec did 02:52:27 gpipe doesn't use so much that rewriting the functions for tuples would be worse than keeping it 02:52:28 > (1,2) + (3,4) -- hm? 02:52:29 (4,6) 02:52:35 :D 02:52:44 oerjan: ok gpipe does a _bit_ more than that with them :D 02:52:44 oerjan: ok so rather something like WoWleaks 02:53:00 oerjan: http://hackage.haskell.org/packages/archive/Vec/0.9.8/doc/html/Data-Vec-LinAlg.html 02:53:32 finding out what is being censored and leaking it in WoW 02:53:49 -!- pumpkin has joined. 02:54:36 itidus20: i really don't think WoW is a useful place for this. all it would achieve is to get it banned in china. 02:55:27 yeah 02:56:38 -!- copumpkin has quit (Ping timeout: 250 seconds). 02:56:47 -!- pumpkin has changed nick to copumpkin. 02:58:33 i have this idea that the captcha would discriminate based on IP - it would use bad information about any country _except_ the one you are connecting from 02:59:54 thus you would only get your own country insulted if you are doing something like rerouting through a botnet in another country 03:00:39 :D 03:00:44 (as spammers are likely to do) 03:01:59 Warning: Ignoring unusable UNPACK pragma on the 03:02:00 second argument of `Cons' 03:02:01 noooooooooooooo 03:02:17 -!- BeholdMyGlory has quit (Read error: Operation timed out). 03:02:36 elliott: UNPACK cannot be used on polymorphic types, can it? 03:02:42 (vague recall here) 03:03:04 because the unpacked size has to be known 03:03:12 oerjan, why would you do that? 03:03:27 Lymee: do what? 03:03:44 oerjan: yeah, I just want these compile-time vectors to end up as effectively tuples, really :P 03:03:49 compile-time-size that is 03:04:23 -!- BeholdMyGlory has joined. 03:04:55 I really wish GHC had pattern synonyms 03:05:53 a few things about patterns make me sad but I forgot what they are oops 03:05:58 :t tmap f (a, b, c) = (f a, f b, f c) 03:05:58 parse error on input `=' 03:06:06 :t \f (a, b, c) -> (f a, f b, f c) 03:06:06 forall t t1. (t -> t1) -> (t, t, t) -> (t1, t1, t1) 03:08:21 monqy: well they aren't truly first class for one thing 03:08:38 well, i guess that's most of it 03:09:22 oerjan: what's the maximum tuple length the report guarantees again? 03:09:40 15 rings a bell, but don't count on it 03:09:45 heh 03:11:41 of course only 2 has more than a couple useful functions 03:12:29 was that a pun aaaaaaa 03:12:35 no 03:12:38 ok 03:12:48 unless by accident 03:13:39 lack of general support for n-touples makes me sad 03:15:05 does TH help much at all? 03:15:36 it's been so long since I used it, but I remember some general tuple constructy stuff 03:17:29 im trying to figure out how to make constructing tuples non-ugly :( 03:17:33 a :- b :- c :- Nil is ugly because of the :- Nil 03:17:43 but (a :- b :- c) is unsustainable, you have to use ugly type-family crap and it doesn't really work 03:17:52 or typeclass shit i suppose 03:18:32 the :- Nill reminds me of the :.() or whatever it was in Vec 03:18:51 .: ???????? 03:20:32 monqy: yeah it's pretty much the same 03:20:34 and :. 03:20:35 it's a constructor 03:20:45 it's just that Vec doesn't use gadts so it can be more flexible about waht the nil value is 03:20:48 hmm, I could try a quasiquotation thing 03:21:15 ok i just had an idea for a programming game.. basically the interpreter is undocumented.. so you have to uncover the syntax of the language somehow 03:21:19 [vec| a, b, c |] or something I guess 03:21:35 are the commas necessary 03:21:47 monqy: well I guess not 03:21:48 I guess they might help make it cleaner 03:21:49 perhaps you could infer the syntax entirely through error messages 03:21:54 [vec| (9+0) (9+9) |] is kind of ugly 03:21:58 yeah 03:21:59 compared to [vec| 9+0, 9+9 |] 03:22:00 but umm 03:22:04 f [vec| a, b |] = ... 03:22:05 is ugly too 03:22:06 maybe v 03:22:09 f [v|a,b|] = ... 03:22:10 ugh 03:22:23 hmm 03:22:27 I guess f [v|(a,b)|] = ... 03:22:29 might be ok 03:22:36 and back to nap 03:23:13 I prefer [v|a,b|] over [v|(a,b)|] 03:23:22 the parens seem a bit extraneous 03:23:23 oh and that means you can't shadow v 03:23:25 :( 03:23:33 ??? 03:23:38 yeah 03:23:42 in [abc|...|] 03:23:44 abc is a varname 03:24:08 oh, that stuff doesn't have its own namespace 03:24:09 ? 03:25:07 yeah 03:26:48 I think my favourite so far might be [vec| a, b |], in that case 03:28:00 vecSizeIsNat :: ((Nat n) => r) -> Vec n a -> r 03:28:01 vecSizeIsNat k V = k 03:28:01 vecSizeIsNat k (_ :- xs) = vecSizeIsNat k xs 03:28:01 mah proofs,,, 03:32:50 :o 03:32:56 statically sized vectors, eh 03:33:01 I bet you need 03:33:04 THE PROOF WIZARD 03:33:08 -!- copumpkin has changed nick to ProofWizard. 03:33:12 YAAAAAAAAAAAY 03:33:19 I wish GHC had proper existential quantification, can you make this happen????????????????? 03:33:24 NO 03:33:39 I am all kinds of down on having to choose between continuation-passing style and a typeclass for my fromList, ProofWizard 03:33:40 All kinds of down 03:33:53 or just an existential wrapper 03:34:00 saves you from explicit continuations, at least 03:34:14 besides, things aren't all fun and games with real existentials 03:34:39 ProofWizard: Well, yeah. 03:34:44 And I know they aren't, but I can dream. 03:35:44 ProofWizard: I don't suppose proof wizards have an opinion on how to mitigate or avoid the ugly ":- V" in (a :- b :- c :- V) without resorting to an even uglier [vec| a, b, c |] 03:36:11 no 03:36:52 ProofWizard: You are the shittiest kind of wizard, man 03:36:56 :( 03:37:20 ProofWizard: I'm sorry :( 03:37:22 I take it back 03:37:56 ProofWizard: I don't suppose you know of any decent existing statically-sized vector packages on Hackage, though? I was incredibly surprised that I couldn't find a good one :-P 03:38:02 nope 03:38:09 Hmm, I'm still not happy with the name of http://esolangs.org/wiki/Wirefunge 03:38:15 most of the decent ones I've written live in dark corners of my hard drive or on hpaste 03:38:47 Patashu: Call it the wire-crossing problem 03:39:09 ProofWizard: You should join my (one-man) Bitter About All the Old Hpastes Being Lost Brigade 03:39:27 im join too 03:39:36 one time I couldn't find a hpaste I wanted to find 03:39:39 because it was lost 03:39:43 this upset me 03:41:20 lol 03:48:41 http://hpaste.org/49865 whats meant to be seemingly impossible about this.... 03:49:30 what do you call those, nondeterministic functions? 03:49:31 like in haskell 03:50:00 wat? 03:50:09 I saw one that made power sets in learnyouahaskell 03:50:28 what 03:52:48 > filterM (const [False, True]) "abcd" 03:52:49 ["","d","c","cd","b","bd","bc","bcd","a","ad","ac","acd","ab","abd","abc","... 03:52:52 that one? 03:52:56 that one yes 03:52:57 -!- ProofWizard has changed nick to copumpkin. 03:53:10 in that case, "list monad" 03:53:54 (diff) (hist) . . List of ideas‎; 03:03 . . (+504) . . Saulrh (Talk | contribs) (→General Ideas - Structifuck and Protofuck: create a spec for object-oriented Brainfuck, then write google protocol buffers using for it.) 03:53:57 kill dead 03:54:25 webscalefuck 03:54:30 cloudfuck 03:55:35 Everyone can provide their own implementation of '+' 03:55:51 Object-oriented..... 03:55:52 WHAT 03:55:54 hi 04:00:22 Insufficiently object. 04:00:54 I simply propose that everything is an object factory. 04:01:46 AdditionServerProxyRequestFactory 04:01:54 (am i doing it right?) 04:02:06 tc factories 04:02:22 oerjan: Except that you obviously also have an AdditionServerProxyRequestFactoryFactory. 04:02:32 And so on. 04:02:40 Hmm 04:02:49 What we need is something to dynamically create factory classes at runtime 04:02:54 Then we don't need to define them all \o/ 04:02:54 | 04:02:54 >\ 04:03:31 I think that's called "partial application". 04:04:25 -!- BeholdMyGlory has quit (Remote host closed the connection). 04:07:16 JustAnotherVirtualmachineApplicationFactory 04:07:25 -!- sebbu has joined. 04:07:26 -!- sebbu has quit (Changing host). 04:07:26 -!- sebbu has joined. 04:11:38 -!- myndzi has quit (Remote host closed the connection). 04:12:01 -!- myndzi has joined. 04:12:32 -!- myndzi has quit (Client Quit). 04:12:39 -!- myndzi has joined. 04:16:16 -!- MDude has changed nick to MSleep. 04:19:19 -!- oerjan has quit (Quit: Good night). 04:28:10 -!- CakeProphet has quit (Ping timeout: 240 seconds). 04:28:43 They did not "already do"; they made Unity the default, sure, but the old classic Gnome desktop is still an option in 11.04. 04:31:49 Right. 04:35:07 Though the "not an option in 11.10" seems to mean that it's not going to be on the CD; I suppose they'll still hae packages for it. 04:42:39 -!- CakeProphet has joined. 04:42:39 -!- CakeProphet has quit (Changing host). 04:42:39 -!- CakeProphet has joined. 04:52:56 http://www.4clojure.com/problem/26 < pfft, fail 04:52:58 Cheaty solution is shortest. 05:02:37 -!- lament has quit (Ping timeout: 240 seconds). 05:06:29 -!- CakeProphet has quit (Ping timeout: 255 seconds). 05:14:17 -!- itidus21 has joined. 05:17:47 -!- itidus20 has quit (Ping timeout: 246 seconds). 05:42:18 -!- quintopia has quit (Ping timeout: 258 seconds). 05:43:53 -!- quintopia has joined. 06:01:04 -!- angstrom has quit (Ping timeout: 252 seconds). 06:37:41 i just want to use old versions of netscape and fvwm all day, is that so wrong 06:39:05 sounds pretty wrong, yes 06:39:10 :( 06:43:50 My first window manager (IIRC): fvwm95. (Pretty sad.) 06:44:52 If you don't count the rather screwed-up "Workplace Shell" clone for Windows 3.1; http://toastytech.com/guis/wps.html 06:45:06 "It was created because people might find it useful if they used OS/2 and also had to use Windows 3.1, or for people who just wanted to learn about the OS/2 Workplace Shell without having to install OS/2." 06:46:22 fvwm95 is wonderful 06:46:25 im so happy for you fizzie 06:48:00 http://fvwm95.sourceforge.net/screenshot-full.gif OH IT LOOKS SO FAMILIAR 06:48:14 The dithered Netscape screen and all. 06:50:08 My first non-DE WM was IceWM, I think. 06:50:33 Still have a soft spot for IceWM, TBH. 06:51:07 I think I went with fvwm95 not because of some conscious choice, but because it was installed I-think-almost-by-default by the Slackware 7-point-something. 06:51:50 Later on Enlightenment was an order of magnitude prettier, but ran too slow on my hardware to really be usable. I can't quite recall what I was using at that point instead. 06:52:20 Window Maker, I think. 06:52:24 -!- elliott has quit (Read error: Connection reset by peer). 06:52:33 Yes, that. 07:13:32 -!- elliott has joined. 07:34:11 oh dear, the Lion installer repartitions the disk 07:34:18 this could get messy 07:35:32 what is this 07:35:44 oh mac 07:36:04 yes, im anticipating a horrific upgrade process 07:36:04 I forgot about their cat thing 07:36:07 lol 07:36:08 -!- NihilistDandy has joined. 07:36:24 in the meantime I'm entertaining myself by reading the Ars Technica review: "If you can imagine three dials labeled "color," "contrast," and "contour," Apple has been turning them down slowly for years. Lion accelerates that process." 07:36:36 more color, contrast and contour, only twenty-nine dollars 07:36:40 -!- Nihilist1andy has joined. 07:36:41 jobs hath spoken 07:37:28 "The new look is not a radical departure—everything hasn't gone jet black and grown fur, for example" this review is just gonna be a list of the ways in which apple are going to let me down with this upgrade 07:37:50 Which upgrade? 07:37:50 NihilistDandy: You have 1 new message. '/msg lambdabot @messages' to read it. 07:38:02 NihilistDandy: Jobs OS Lion 07:38:31 I rather like it. Then again, I've been playing with it since Dev 07:38:31 I'm on the less pleasant OS partition of my computer 07:38:37 (the one that isn't Linux) 07:39:03 @tell Phantom_Hoover I'm so proud of my meta-dwarf 07:39:03 Consider it noted. 07:39:28 "Finally, there's Apple's budding love affair with a particular linen texture." 07:39:36 tell me more 07:40:21 About the linen texture? 07:40:33 "Though I can assure you that Lion comes with more than eight applications, you wouldn't know it from looking at this screenshot." but it has chess and a dictionary, why would i need anything else.................. 07:40:37 It's just this gray thing on the login screen 07:40:44 why cna't there be only eight applications............... 07:40:48 NihilistDandy: im not talking to you :P 07:40:57 i'm having an imagined dialogue with sirawhatever 07:41:03 lol 07:41:23 "Apple isn't (yet) asking us to start poking our fingers at our Mac's screen" more disappointments 07:41:30 * elliott attacks his screen a few times in protest 07:42:03 "Lion further cements the dominance of touch by making all touch-based scrolling work like it does on a touchscreen." 07:42:14 "just rebooted into my other OS, time to learn how to scroll again" 07:42:29 elliott: You can shut that off 07:42:35 so I learned next paragraph 07:42:40 Ah 07:43:02 I'm not particularly tied to my scrolling direction. I go both ways, as the kids say 07:44:22 I wonder how you pirate the retail Lion, a .dmg with the installer .app in it? 07:44:29 (Not that I would ever commit such an abhorrent crime, of course.) 07:46:27 elliott: I have a pirated copy 07:46:31 But I also bought it 07:46:46 Shock! 07:46:52 You should be hung. 07:46:55 JUST LIKE FUCKING MINECRAFT 07:47:28 I've also decided I'm going to write a MIPS interpreter in Haskell 07:48:02 "Interpreter" :-D 07:48:10 Finally, formal semantics for MIPS 07:48:55 s/interpreter/simulator/ 07:48:59 I'm a touch drunk 07:49:26 Like spim, but in Haskell 07:49:37 I just need to come up with a pun suitable for hackage 07:49:39 I might have a go at it, too 07:49:43 Sounds like "fun" 07:50:05 NihilistDandy: Are you going to emulate a system, or just have the simulator provide its own syscalls a la JSMIPS? 07:50:07 Build an i386 CPU in Minecraft. 07:50:12 I'm gonna call mine "Elliottcraft" 07:50:57 elliott: Not sure, yet, but knowing me it could easily be the former 07:51:04 NihilistDandy: Gross :) 07:51:36 No one ever had fun staying clean 07:51:46 that is one hideous window-opening animation 07:53:24 http://i.imgur.com/RytKT.png <-- also something has gone terribly wrong with the player controls 07:53:38 Infinity:0NaN:0NaN is a good film length 07:53:49 Caption hilarity 07:54:30 god this review really is nineteen pages isn't it 07:54:55 Is it Ars Technica? 07:55:06 yes 07:55:10 Knew it 07:55:35 link me please 07:55:49 http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars 07:55:57 im reading it more out of principle than anything 07:57:22 http://static.arstechnica.net/2011/07/04/lion/ical-big.png suddenly i am puking 07:57:28 how did this happen 07:57:49 is that... wood grain? 07:57:50 I know, right? 07:57:55 Look at Address Book 07:57:58 wait no 07:58:05 it's... leather? or something 07:58:06 Patashu: leather 07:58:08 fucking leather 07:58:12 its a fucking leather diary thing 07:58:13 jesus christ 07:58:17 the first OS that vegans can't use 07:58:25 apple what are you DOING 07:58:30 i thought brushed metal was bad 07:58:45 srsly 07:58:55 I hope there's a skinning system on the way 07:58:59 this reminds me of the first few versions where the pinstripes were like 07:59:02 really dark 07:59:04 Or I just have to go an change the damn textures myself 07:59:09 *and 07:59:11 and so you couldn't read any window title or toolbar icon or anything 07:59:19 NihilistDandy: remember UNO? 07:59:39 Maybe? 07:59:49 http://gui.interacto.net/ 07:59:53 Oh, yeah 08:00:02 Now I've remembered it 08:00:13 i love how there was an application designed solely to stop the system having like ten wildly different themes 08:00:50 :D 08:01:18 Apple needs to stop hiring hipsters, or marketing to hipsters, or whatever caused this 08:01:32 Stop raping puppies 08:01:33 i love how leopard was like, fuck this, we're using exactly one theme from now on 08:01:37 then the itunes team went 08:01:43 "... hi we have a new theme :D :D :D :D :D :D" 08:01:56 and nobody shot them for some reason??? 08:02:00 i hate this os 08:02:10 why do you use it then 08:02:14 At least iTunes is finally 64-bit. 08:02:23 Patashu: i don't 08:02:24 i use linux 08:02:34 i boot into os x only when i need to use something that doesn't run on linux, or when i need to upgrade it 08:02:54 NihilistDandy: woo, now _there's_ a change that will have no conceivable effect on me whatsoever 08:02:58 hmm, wait, so they ported it to Cocoa? 08:03:04 Yeah 08:03:16 does it still have the fucking window management buttons vertically 08:03:20 Still pretty horrendous 08:03:30 because if it does 08:03:36 And no, the buttons are back to a sensible horizontal 08:03:36 i think i'll still avoid opening it for my sanity 08:03:40 oh good 08:03:45 does it... 08:03:48 ummm 08:03:49 like 08:03:51 what's the catch 08:04:01 It's actually unified fairly well, as they say 08:04:07 http://static.arstechnica.net/2011/07/04/lion/address-book.png 08:04:07 It's just also boring 08:04:09 oh my god 08:04:10 im actually laughing 08:04:19 Didn't I tell you? 08:04:27 yes but 08:04:30 i didnt know it would be that bad 08:04:38 I know 08:04:49 I mean, many iPad owners don't know what a book is 08:04:56 How will they know how to parse this design? 08:05:12 clicking that address book screenshot opens this: http://static.arstechnica.net/2011/07/04/lion/dangerous.html 08:05:41 :/ 08:05:53 "The three-pane view (groups → people → detail) is gone, presumably because a book can't show three pages at once." 08:06:11 Triptych 08:06:41 :DD 08:06:45 best address book format 08:07:07 on iCal, in March: "That pic has got to be fake, it's waaaaaay to different to the shots/video of DP1." 08:07:39 :D 08:07:44 "causes the current desktop picture to recede slightly into the center of the screen, revealing behind it our old friend the linen pattern." 08:07:46 i love you, linen pattern 08:09:42 "Holding down the option key makes all the icons sprout close widgets as they start to wiggle." 08:09:55 oh more linen. hi linen 08:12:33 -!- Nihilist1andy has quit (Ping timeout: 250 seconds). 08:12:44 monqy: oh that RDP 08:12:58 -!- Nihilist1andy has joined. 08:13:10 yes that rdp 08:13:35 And the main benefit to the iTunes 64 bit nonsense is that it stops me having a fit every time I look at System Monitor 08:13:49 monqy: dmbarbour rdp reactive demand programming thing 08:13:56 -!- NihilistDandy has quit (Ping timeout: 260 seconds). 08:13:59 elliott: I forget everything else about it 08:14:18 Nihilist1andy: I have a fit when I look at System Monitor because when I do that it means I'm trying to kill something that's about to hang the system because my OS sucks 08:14:56 http://static.arstechnica.net/2011/07/04/lion/save-a-version.png 08:15:04 THEY STOLE LEADEN'S CORE FEATURE 08:15:08 BASTARDS 08:15:15 I just use it to watch ghc blow up when I do odd things 08:15:21 -!- NihilistDandy has joined. 08:15:26 -!- Taneb has joined. 08:15:45 Hello! 08:15:48 -!- Nihilist2andy has joined. 08:16:30 Nihilist1andy: im glad that the review is basically advocating orthogonal persistence for an entire chapter 08:16:36 maybe i'll just throw it at people to convince them 08:17:13 I'm glad that Ars published a new version of War and Peace that's a little more Cupertino-flavored 08:17:25 :D 08:17:41 Nihilist1andy: this is shorter than the average length i think 08:17:47 the last one was over twenty pages 08:17:53 But about a fucking OS update? 08:18:09 Does Whiny Wombat get this kind of treatment? 08:18:53 Whiny Wombat? 08:18:58 "the OS may terminate applications that are not in use in order to reclaim resources—primarily memory, but also things like file descriptors, CPU cycles, and processes." yess keep arguing for things i've been arguing for for years 08:19:01 Are you one of them time travelling ubuntu users? 08:19:07 WHO'S THE CRACKPOT NOW ASSHOLES........................... 08:19:51 Nihilist1andy: Ubuntu users get OMG! Ubuntu!... this is one of the few superior points of OS X 08:19:58 Apparently according to Canadian law, in case of a riot the sheriff or mayor is required to go there if they have received notice, and tell them that the queen has authorized them to be imprisoned for life. However, the punishment for a riot is listed as only two years. Are they trying to confuse everyone? 08:20:44 Taneb: THERE'S STILL TIME 08:20:46 Them Canadians don't listen to the Queen much 08:20:50 -!- Nihilist4andy has joined. 08:20:53 They're more Rolling Stones fans 08:21:52 -!- Nihilist1andy has left ("http://haskell.org"). 08:22:04 -!- Nihilist1andy has joined. 08:22:13 What the hell, client :/ 08:22:14 Nihilist1andy: stop reproducing 08:22:16 brb 08:22:30 -!- Nihilist1andy has quit (Quit: leaving). 08:22:30 -!- NihilistDandy has quit (Quit: leaving). 08:22:30 -!- Nihilist4andy has quit (Client Quit). 08:22:57 -!- NihilistDandy has joined. 08:22:58 -!- Nihilist2andy has quit (Ping timeout: 252 seconds). 08:23:40 Is it just me, yet? 08:23:47 Christ on sale 08:24:08 My irssi bouncer and my head client appear to have been fighting after my connection died, there 08:24:28 And they're usually such a nice couple 08:25:01 "The previous release of Mac OS X focused on internal changes. My review did the same, covering compiler features, programming language extensions, new libraries, and other details that were mostly invisible to end-users." <-- i remember that, it was a nice review 08:25:10 like he talked about clang for at least a chapter 08:25:23 to an audience the vast majority of which has probably never written a single line of code in their life 08:26:13 So it's like reddit, only it's just a single voice 08:26:54 "Lion includes a trusted daemon process called Powerbox (pboxd) whose job is to present and control open/save dialog boxes on behalf of sandboxed applications." 08:27:06 i sure wish os x didn't suck or i'd be happy that someone is finally listening to good ideas 08:27:17 "Oh, and in case it doesn't go without saying, all sandboxed applications must be signed." 08:27:18 that's a good idea 08:27:19 s i g h 08:27:21 lol 08:28:03 ... *Why* would you require sandboxed applications to be signed, exactly? 08:28:17 Surely, surely sandboxing makes that even *less* useful. 08:28:21 So you can get developer's autographs? 08:28:23 because jobs must controleverything [insert picture of steve jobs with horns] 08:28:36 Ah, right, Jobs thinks the iPhone is the future of computing. 08:28:40 You know what's fun? 08:28:49 Asking random people for their autographs 08:29:03 When, at *best*, it's the future of small-device touchscreen UIs. 08:29:08 you're way too social, get out 08:29:32 pikhq: the iPhone, probably not; the iPad... well, it's closer than current desktop PCs 08:29:46 elliott: I did say "at best". 08:29:46 tthe future is a bad place 08:29:51 "Apple has decreed that all applications submitted to the Mac App Store must be sandboxed, starting in November." 08:29:52 oh 08:30:11 The only way to find out what the future's like is to go there 08:30:14 pikhq: I meant re computing 08:30:42 "What a developer can do instead is isolate the video decoding task in its own process with severely reduced privileges. A process that's decoding video probably doesn't need any access to the file system, the network, the built-in camera and microphone, and so on. It just needs to accept a stream of bytes from its parent process (which, in turn, probably used Powerbox to gain the ability to read those bytes from disk in the first pla 08:30:43 ce) and return a stream of decoded bytes. Beyond this simple connection to its parent, the decoder can be completely walled off from the rest of the system." 08:30:43 SOUNDS 08:30:44 LIKE 08:30:46 A 08:30:48 PURE 08:30:49 elliott: Ah. Yeah, the iPad is probably *closer*, but it feels almost like for every step forward they made a step back. 08:30:50 FUNCTION 08:30:52 TO 08:30:54 ME 08:30:58 FUCKIN' FUNCTIONAL SUPERIORITY SLAM DUNK 08:31:04 SHAZAAAAAAAAAAAM 08:31:12 * elliott plays air guitar 08:31:27 Is it lambda-shaped? 08:31:35 oh ym god 08:31:36 "Hmm. Some amount of orthogonal persistence... But you don't own the machine!" 08:31:45 i never knew i needed a lambda shaped electric guitar in my life until now 08:31:48 NihilistDandy 08:31:51 NihilistDandy i am going to start a band 08:31:53 and 08:31:54 lambda 08:31:54 shaped 08:31:55 guitars 08:31:57 only 08:31:57 YES 08:31:59 YES 08:32:03 YES 08:32:05 "Nice UI, but YOU NO GET COMPILER" 08:32:15 elliott: Is it just me, or have you not been sleeping again? 08:32:24 I'll bring the ellipses shaped drumkit 08:32:50 fizzie: I've not been awake for very long. 08:32:59 Less than fifteen hours, that's for certain. 08:33:06 I'm just this cool all the time. 08:33:14 Must be. 08:33:16 NihilistDandy: OK DO YOU WANT TO JOIN. 08:33:24 I'M SO FUCKING IN 08:33:27 You need to play an instrument shaped like some kind of ... thing. 08:33:43 Tambourines look like composition 08:33:44 Monadic bind xylophone???? 08:33:49 Also good 08:34:12 Identity function microphone? 08:34:12 Like, two lines of keys oriented vertically going diagonally that meet and then go horizontally 08:34:18 <$> What instruments look like this? 08:34:21 Except split into two when they meet I guess 08:34:22 ZIthers? 08:34:29 NihilistDandy: A... symmetrical triangle? 08:34:49 <=> Can this be made into an instrument 08:34:56 KEYTAR 08:35:12 We're called the Knights of the Lambda Calculus, no arguments. 08:35:20 I guess the real Knights might sue us but who cares. 08:35:55 Alternatively, theremin built into a frame with some shape 08:36:10 Why would they sue? 08:36:18 For using their name :-P 08:36:19 Would we not rock them purely and without side effects? 08:36:30 oh my god this is the best worst thing 08:36:46 We'll have a song called 08:37:12 @type curry . curry . uncurry 08:37:13 forall a b b1 c. ((a, b) -> b1 -> c) -> a -> b -> b1 -> c 08:37:15 That 08:37:25 Clearly we have to cover http://www.youtube.com/watch?v=HM1Zb3xmvMc. 08:37:39 Don't ask me Y 08:38:12 Genre: Funktional 08:38:13 This is so bad 08:38:14 We have to stop 08:38:35 NO 08:38:47 Also, related videos made me a pedophile :/ 08:38:48 http://www.youtube.com/watch?v=dLLDWw7r3nQ&feature=related 08:38:59 I thought she was gonna talk about parentheses 08:39:02 BUT NO 08:39:10 It is imperative that you listen to my band 08:39:36 Patashu: WE ARE BUSY CONSTRUCTING A NEWTYPE OF AWESOME 08:40:02 :D 08:40:17 A Newtype of Science. 08:40:43 Just "Dance" 08:40:58 That will be our single 08:41:11 Gotta get them out of their ergonomic desk chairs 08:41:47 As soon as you sellouts play at RailsConf I'm quitting. 08:42:21 The first track on the album should be called Cons 08:42:41 lol 08:42:54 @type uncurry. curry 08:42:54 forall a b c. ((a, b) -> c) -> (a, b) -> c 08:43:08 elliott: The headlines will read "eta reduction" as our record sales climb 08:43:19 NihilistDandy: idgi 08:44:07 I equate lambda expressions with obscurity, for this metaphor 08:44:11 heh 08:44:29 Slightly more sense 08:44:34 Not much, though 08:44:47 oh my god 08:44:55 he's explaining how you can't do precise garbage collection for C 08:45:02 because of the untypedness of memory 08:45:09 my hero 08:45:16 educate the masses....educate..... 08:45:31 Who is? 08:46:05 siracusa, the review-writer 08:47:10 Ah 08:47:32 "To ensure that ARC can do what it's designed to do in a correct manner, a few additional language restrictions have been added. Most of them are esoteric, existing on the boundaries between Objective-C and plain C code (e.g., C structs and unions are not allowed to contain references to Objective-C objects)." 08:47:35 huh 08:47:46 now the reverse just has to happen and they'll have two entirely separate data models :D 08:47:59 oh it's per-compilation-unit 08:49:33 Lol 08:49:37 The address book in lion is literally a book 08:49:39 THANKS 08:50:02 Patashu: welcome to five pages up :P 08:51:01 At least the videoconferencing app doesn't look like a phone. (Cf. http://homepage.mac.com/bradster/iarchitect/phone.htm ) 08:53:31 "and to top it off, normal Objective-C message sending is 33 percent faster." 08:53:38 how have they not eked every last bit of performance out of that code path yet? 08:53:46 I know it involves looking up a string in a hash table, but c'mon... 08:53:56 And the CD player probably doesn't look like http://homepage.mac.com/bradster/iarchitect/realcd.htm either; I've forgotten what it looks like if you try to play an audio CD in OS X. 08:54:25 fizzie: iTunes 08:54:44 So meh 08:54:52 fizzie: I note that QuickTime four is also on that site :-P 08:55:04 "Furthermore, ARC does very little to address the other pillar of modern, high-level programming: memory safety." 08:55:12 i wonder if most people reading this review just skip this section 08:57:01 ARC? 08:57:42 the only arc I know is that lisp dialect paul graham's was it whatever happened to that 08:57:42 monqy: automatic reference counting 08:57:44 ah 08:57:47 and it sucked 08:57:53 it continues to suck to the present day 08:57:55 (pg's that is) 08:58:13 yeah I never really understood the point 08:58:42 "When searching for unused nodes in a b-tree file, Apple's HFS+ implementation processes the data 16 bits at a time." 08:58:46 i cant believe os x still uses hfs+ 08:58:48 its amazing 08:58:57 "All HFS+ file system metadata read from the disk must be byte swapped because it's stored in big-endian form." 08:59:11 really, apple? 08:59:18 (ok ok so actually [dunno how to type an at symbol without number keys on os x] has this too) 08:59:21 Is wirefunge going to use the entire of Unicode? 08:59:28 (because the on-disk format has to be platform-independent) 08:59:40 nah 08:59:44 I can't think of enough uses anyway 08:59:48 "File system metadata structures in HFS+ have global locks. Only one process can update the file system at a time" 08:59:49 wow 09:00:05 though being able to embed a circuit in one cell and have it link to another file that implements the circuit wolud be nice 09:00:51 "Some of those features were an easy fit, but others were very difficult to add to the file system without breaking backwards compatibility. One particularly scary example is the implementation of hard links on HFS+. To keep track of hard links, HFS+ creates a separate file for each hard link inside a hidden directory at the root level of the volume. Hidden directories are kind of creepy to begin with, but the real scare comes when yo 09:00:51 u remember that Time Machine is implemented using hard links to avoid unnecessary data duplication. 09:00:51 Listing the contents of this hidden directory (named "HFS+ Private Data", but with a bunch of non-printing characters preceding the "H") on my Time Machine backup volume reveals that it contains 573,127 files. B-trees or no b-trees, over half a million files in a single directory makes me nervous." 09:00:53 oh apple 09:02:11 elliott, *ouch* 09:03:14 "The biggest is the introduction of Apple's first real crack at creating a logical volume manager: Core Storage." 09:03:16 oh boy 09:03:45 "At the very top level is the Logical Volume Group, which may contain one or more Physical Volumes. A Physical Volume provides storage; it may be a single physical disk, a disk image file, or even a RAID device. A Logical Volume Group exports zero or more Logical Volume Families. A Logical Volume Family contains one or more Logical Volumes, each of which presents a blank canvas onto which—finally!—a volume format like HFS+ may res 09:03:45 ide." 09:03:48 (because the on-disk format has to be platform-independent) <-- presumably this is the case for ext4 and so on too on some platforms 09:03:53 Vorpal: isn't this just lvm terminology lifted directly :D 09:04:06 Vorpal: also, yeah, but for [at] it's more pronounced 09:04:17 Vorpal: because, e.g. every integer, pointer, in every stored object, must be in one format 09:04:19 on all platforms 09:04:37 whereas file content can be whatever on a (big|little|whichever it is)-endian ext platform 09:04:42 elliott, I think apple added "logical volume families" step 09:05:06 elliott, LVM is just "volume group made out of physical volumes, from those volume groups you allocate logical volumes" 09:05:16 apple has at least one extra step of indirection there 09:05:17 "Lion's FileVault doesn't just encrypt users' home directories, and it doesn't use encrypted disk image files. Instead, it's Apple's implementation of whole disk encryption. This means that every byte of data that makes up the volume is encrypted. Furthermore, this encryption is completely transparent to all software (including the implementation of HFS+ itself) because it takes place at a layer above the volume format—a layer that 09:05:17 application software does not see at all." 09:05:18 good 09:06:13 http://static.arstechnica.net/2011/07/04/lion/file-vault-recovery-key.png 09:06:14 http://static.arstechnica.net/2011/07/04/lion/file-vault-apple-recovery-key.png 09:06:15 cool 09:06:25 so it constructs a private key where the password is the combination of the questions and answers, I guess 09:06:29 then encrypts the key with it 09:06:34 and throws away the questions and answers 09:06:50 Is FileVault finally unshitty enough to actually use is the question 09:07:07 elliott, ugh, fixed easy security questions suck 09:07:15 Vorpal: oh, agreed 09:07:19 Vorpal: I'm just talking about the mechanism 09:07:24 NihilistDandy: It's entirely reimplemented, so yes 09:07:29 Shweet 09:07:33 elliott, well they have fixed stupidly easy security questions there... 09:07:34 NihilistDandy: There can't be any compatibility problems because it's transparent 09:07:50 elliott, what algorithm does filevault use on the disk 09:07:51 Finally I don't have to use PGP, anymore 09:08:01 Vorpal: I'm talking about the mechanism by which Apple prevents themselves from being able to have your decryption key 09:08:03 And I don't know 09:08:18 Also :D at the Clarus reference in that screenshot 09:08:23 AES 09:08:26 By the way 09:08:27 (http://en.wikipedia.org/wiki/Dogcow for those not in the know) 09:08:41 NihilistDandy, that is not very specific 09:08:57 Not sure about the keys, themselves 09:08:59 Hang on 09:09:00 NihilistDandy, aes-cbc-essiv? 09:09:07 "Like any talented dog, it can do flips. Like any talented cow, it can do precision bitmap alignment." so good 09:09:20 NihilistDandy, I mean I can query my disk under linux and get that it uses aes-cbc-essiv:sha256 on my laptop 09:09:29 (device-mapper, crypsetup) 09:09:43 Oh, I haven't set it up, yet 09:09:48 cryptsetup* 09:09:54 So I couldn't do such a query even if I knew how 09:10:19 Vorpal: please don't do your standard "LOL [PIECE OF NON-OPEN SOFTWARE] ISN'T OPEN HOW WEIRD" routine :P 09:10:20 NihilistDandy, I wouldn't trust it if apple doesn't tell what mode they use aes in 09:10:31 I'll see if I can find out 09:10:43 Vorpal: You wouldn't trust OS X for anything in a million years, so that statement is misleading. 09:10:46 elliott, while I doubt they would use AES in counter mode, they should specify what mode they use 09:10:54 OK, or just keep trolling. 09:11:01 http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars/13 09:11:04 elliott, for cryptography it is very important to be open, so people can trust you 09:11:05 Vorpal: Grep /CoreStorage logical volume groups (1 found)/ and shut up 09:11:09 It shows the mode 09:11:27 ah, xts 09:13:23 Is this good news? 09:13:42 It looks fancy :-P 09:13:43 OpenBSD uses it 09:13:53 NihilistDandy, complicated, depends on how they do the key as far as I understood it. Which I don't see any info about ther 09:13:55 there* 09:14:03 Haha, did he really just paste a SQLite schema into one of the most widely-read OS X reviews on the internet 09:14:15 So awesome 09:14:15 Where? 09:14:19 http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars/14 09:15:01 He had to pad the article 09:15:29 This Mozilla technology evangelist guy (who's talking about doing multimeeediatic stuff in the interwebs; this is one of the Assembly 2011 seminar things) says "which is particularly exciting" of every sort of technology he's presenting. 09:15:44 I guess if your job title is "technology evangelist" you sort of have to be excited about everything. 09:16:13 especially teen ministers 09:17:44 You aren't excited about teen ministers? 09:17:59 They're particularly interesting 09:19:11 "Imagine taking a dish out of the dishwasher and then having it start flopping around like a fish in your hand." 09:19:15 Mostly it's just about WebGL. 09:20:06 Patashu: can I make a feature request for Wirefunge? 09:20:26 NihilistDandy: Does the Finder really open in All My Files by default rather than the home directory? 09:20:29 That's interesting. 09:20:43 It's a little unnerving 09:20:44 elliott, I can't believe apple is using sqlite for any sort of largish db 09:20:49 But you get used to it 09:20:53 Or you shut it off 09:20:58 Vorpal: Why? 09:21:09 They use sqlite for every damn thing 09:21:11 elliott, because sqlite scales badly in my experience 09:21:13 SQLite is incredibly well-written and I haven't heard anything concrete about it scaling badly. 09:21:28 "in my experience" is not really worth much, I doubt you've done a tenth of the testing they have :) 09:21:35 elliott, okay, lets say it doesn't scale as good as postgre then 09:21:42 Obviously it doesn't work well in multiple-user situations but that's irrelevant here 09:21:45 Vorpal: So? 09:21:50 hm 09:22:09 Vorpal: That's RAM and CPU being used all the time. 09:22:14 I think the server tools come with postgres now instead of MySQL 09:22:19 elliott, anyway computers are multi-user. Even if there is only one interactive human user, there are many daemons 09:22:22 For a probably unnoticeable performance increase. 09:22:28 Vorpal: They're not causing revisions to be made 09:22:32 ah 09:22:35 That's an act a human does by definition 09:22:39 (In OS X) 09:23:08 10:18 elliott: "Imagine taking a dish out of the dishwasher and then having it start flopping around like a fish in your hand." 09:23:10 this is a quote from the review btw 09:24:08 "Aesthetically speaking, the Finder, like the rest of Lion, has been visited by the color vampire." 09:24:12 scarry,,,, 09:24:44 I vant to suck your blue~ 09:25:28 the redesigned Mail looks nice 09:25:31 and finally has conversations 09:26:30 "Or rather, look at how much of the surrounding interface isn't there." Look how much code I'm NOT writing! 09:26:34 It is actually very nice 09:26:41 (Apologies if you get the reference.) 09:27:08 Sounds like the Agda lament 09:27:30 Hmm? Link? 09:27:43 I was referring to the insufferable Rails screencast of two-thousand-and-five yore. 09:27:58 NihilistDandy: Also, is that accordion effect as annoying as it looks? 09:28:04 I mean that's what Agda people say when they switch from Haskell :D 09:28:21 Which accordion effect? 09:28:33 If you're writing less code in Agda than in Haskell... then you were doing horrible things to Haskell. :p 09:28:36 *because no one ever writes any Agda, they just talk about it 09:28:39 NihilistDandy: On expanding quotes in Mail 09:28:40 And heh 09:28:50 Hmm, wait, does Mail actually support gmail-style conversations now? 09:28:51 I can't tell 09:29:24 elliott: Re accordion, it's not annoying so much as twee 09:29:31 Re conversations, yes. 09:29:40 Twee is a synonym for annoying :P 09:29:52 Only in some circles 09:29:52 Oh thank god, the Downloads window is gone. 09:30:18 elliott: Right, but god help you if you want to look at your downloads without an entire Safari window open 09:30:29 When do you ever not have an entire Safari window open 09:30:32 If you're a Safari user 09:30:46 Often 09:31:05 Usually when I'm done 09:31:06 Oh sweet, Terminal supports full-screen mode; now everybody can forget that the rest of the OS exists 09:31:33 I mentioned that ages ago 09:31:46 It's the best part, really 09:32:13 Yay, they've moved around the System Preferences icons again 09:32:17 I'd almost had them memorised 09:33:31 elliott, doesn't support text mode? 09:33:38 ? 09:33:51 Why full screen terminal instead of just not starting up the GUI. =p 09:33:57 http://static.arstechnica.net/2011/07/04/lion/system-preferences-time-zone.png Well that's an ugly square 09:33:59 Lymee: You can do that 09:34:05 Lymee: Well, text editing, for one :-P 09:34:10 NihilistDandy: You have to start in single-user mode, though 09:34:19 elliott: Or log in with >console 09:34:20 And then work upwards 09:34:25 NihilistDandy: Eh? 09:34:31 Fo to the login screen 09:34:32 http://static.arstechnica.net/2011/07/04/lion/auto-correction.png 09:34:35 Use the name >console 09:34:38 * elliott taps screen impatiently 09:34:45 IT ISN;T WORKING/ 09:35:00 NihilistDandy: That sounds like a nice security hole 09:35:01 Autocorrect is awesome and slightly unsettling 09:35:11 elliott: You still have to log in with an account 09:35:18 It's safer than that super user nonsense 09:35:21 Ah 09:35:28 s/super user/single user/? 09:35:34 Yes 09:35:42 I disabled it months ago 09:35:45 http://static.arstechnica.net/2011/07/04/lion/lock-screen-big.png Well, that's certainly the prettiest lock screen I've seen today 09:35:47 Years, even 09:35:51 Which isn't saying much 09:36:09 "FACE WITH NO GOOD GESTURE (U+1F645); MOON VIEWING CEREMONY (U+1F391); PILE OF POO (U+1F4A9)" <-- good image caption 09:36:28 Oh my god wait. 09:36:39 NihilistDandy: Do the emojis work in any application that displays Unicode text via the usual mechanisms? 09:36:44 Can you send them OVER IRC?? 09:36:50 Maybe 09:36:50 Do it now, send us a pile of poo. 09:36:53 Do it. 09:36:54 It'd be worth a shot 09:36:56 Go go go 09:37:00 THE WORLD IS WAITING 09:37:00 Okay, lemme look 09:37:06 http://static.arstechnica.net/2011/07/04/lion/emoji.png 09:37:06 HTH 09:37:20 http://static.arstechnica.net/2011/07/04/lion/terminal-blur.png Caption: "I want to know what's behind my terminal window, but I don't want to know every detail." 09:37:22 also good caption 09:37:36 "Just... gimme a VAGUE IDEA of what's behind here." 09:37:47 Ubuntu 11.10's swapping from GDM to LightDM for the login screen; wonder if it's really going to look any different. 09:37:52 "Terminal also—finally—supports 256 text colors with its new xterm-256color terminal type." Man, it still hasn't had them? 09:37:54 💩 09:37:56 Sent 09:38:01 NihilistDandy: Nice square 09:38:04 NihilistDandy: Work for you? 09:38:06 Yep 09:38:10 fizzie: "LightDM is a cross-desktop display manager that aims is to be the standard display manager for the X.org X server." 09:38:17 fizzie: Oh, freedesktop.org; does your hubris know no bounds? 09:38:32 fizzie: i'm fknthrilled for 11.10 09:38:34 Well of course they "aim" to be the standard everything of everything. 09:38:34 So you *can* send them over IRC 09:38:35 They could release literally any piece of software and say it should be the standard forever. 09:38:40 That was the poo, by the way 09:39:00 "fknthrilled": experts say, not strictly a word. 09:39:10 [01F4A5] (or something) as rendered by XChat. 09:39:22 innovation is often made by amateurs. 09:39:23 fkn- is totally a prefix 09:39:37 (At least it manages to put non-BMP characters in a bigger-than-four-digits box.) 09:39:43 Which amateur is innovating again 09:39:44 EXPERTS IN ARGUMENT. 09:39:51 Oh 09:39:54 You're being tedious 09:39:55 I see 09:40:07 as opposed to you being a breeze, yeah. 09:40:08 fizzie: That sort of looks like a pile of poo. 09:40:09 Does Font Book still suck according to the article? 09:40:28 I'm going to call PINs Personal PIN Numbers that Identify you 09:40:31 http://static.arstechnica.net/2011/07/04/lion/system-info-overview.png Well, umm, that's certainly a pretty System Profiler, I guess 09:40:50 http://static.arstechnica.net/2011/07/04/lion/system-info-storage.png Not sure what inspired that colour scheme 09:41:13 very coloure 09:41:15 Can't imagine~ 09:41:32 elliott: If you hit the case with a hammer, does it show the resulting bump in that System Profiler picture? 09:41:38 More good captioning: "Unfilled RAM slots are sinful. I am ashamed." 09:41:48 fizzie: Yes. (If we do not test it, we can continue to believe.) 09:42:10 "Want an eBook or PDF copy? Support Ars and it's yours." 09:42:16 Yes, I definitely want an eBook copy of this review. 09:42:20 I will enjoy it time and time again. 09:42:22 It is a classic. 09:42:44 I WILL PASS THIS FILE ONTO MY GRANDCHILDREN WHEN THEY ARE OLD ENOUGH 09:43:58 *ON TO 09:44:20 unto 09:44:59 "Mainstream reviews of software and hardware alike spend far less time pondering technical specifications and implementation details than they did only a few years ago." 09:45:06 I guess I'm definitely not reading a mainstream review, then 09:45:13 "This phenomenon extends even to the geekiest among us, those who didn't just skip to the conclusion of this review but actually read the entire thing." 09:45:16 Oops, I'm being branded. 09:45:27 Oh, it's finally over. 09:46:22 NihilistDandy: Hahaha, it really forces you to prove you know how to scroll in the new way before letting you in 09:46:27 That's amazing 09:46:41 "Okay, got i-" "I DON'T BELIEVE YOU. SCROLL FOR ME, CHILD." 09:46:41 lol 09:47:02 `addquote "Okay, got i-" "I DON'T BELIEVE YOU. SCROLL FOR ME, CHILD." 09:47:06 564) "Okay, got i-" "I DON'T BELIEVE YOU. SCROLL FOR ME, CHILD." 09:47:09 Better out of context 09:47:33 what's this new scrolling thing is it good 09:47:45 monqy: Aviator controls 09:47:51 im aviate 09:47:55 hlep i dont'e know aht that is helep 09:48:01 Plane 09:48:04 *s 09:48:05 http://static.arstechnica.net/2011/07/18/lion_finder_airdrop-4e24a31-intro.png THE POWERFUL SPHERE OF HARRIET 09:48:09 Go up to go down 09:48:12 monqy: up is down down is up 09:48:18 true is false,,,,,, two is nine,,,, 09:48:21 rite is rong,,, 09:48:27 just is injust,,, 09:48:28 why woudle thye do thate 09:48:29 x is unx,,,,, 09:48:32 elliott: AirDrop sadly doesn't work on mine 09:48:37 Too old 09:48:56 NihilistDandy: mine was new but then they came out with a new model seven months later,,,,, assholes, 09:49:37 are scrollbares inverted tooe 09:49:52 ill invert ur scrollbar . com 09:51:24 Apparently paintball games are technically illegal in Canada. Does anyone care? 09:52:09 paintballers 09:52:11 paintball always makes me think 09:52:14 extreme paintbrawl 09:52:18 http://www.youtube.com/watch?v=li5mXnHyg9w 09:52:36 best music best game 09:52:40 -!- FireFly has joined. 09:53:05 "tabs please?" "Are you serious? Drag your fingers across the frets and cluck like a chicken." 09:53:17 http://static.arstechnica.net/2011/07/18/lion_finder_airdrop-4e24a31-intro.png THE POWERFUL SPHERE OF HARRIET <-- ad-hoc wlan? or bluetooth? 09:53:28 Vorpal: radiant sun energy 09:53:33 Vorpal: Ad hoc 09:53:37 (visualised by bands of holiness) 09:53:38 NihilistDandy, wlan or bluetooth 09:53:45 wlan 09:53:48 ah 09:53:53 http://en.wikipedia.org/wiki/Extreme_Paintbrawl 09:53:54 wow 09:53:57 monqy: is it as good as it looks 09:54:01 NihilistDandy, then any card supporting ad-hoc should work 09:54:09 Vorpal: It doesn't. 09:54:17 I don't remember the specifics of why 09:54:19 NihilistDandy, but it would also disconnect you from any network you were currently connected to 09:54:24 elliott: confession time i have never played extreme paintbrawl 09:54:33 monqy: :( 09:54:35 Vorpal: Oh, I can do standard ad-hoc stuff 09:54:45 AirDrop operates differently, apparently 09:54:50 -!- Phantom_Hoover has joined. 09:54:51 Though similarly, as well :| 09:54:52 "Oh my god. 09:54:53 I now have the most glorious mental image of a paintball fight taking place in a barnyard with Frosty the Snowman systematically violating all the animals with akimbo electric banjos, and all of this is in a Benny Hill-style fast-forwarded scene with several dancing hillbillies and a single Mariachi in the background. 09:54:53 I am sincerely disappointed that I cannot convey this image through this text box. It's fucking fantastic. Probably make a great mural." 09:54:57 hi Phantom_Hoover 09:55:24 AirDrop operates differently, apparently <-- ouch, non-standard? 09:55:33 Let me look it up 09:56:06 NihilistDandy, what does it let you do? share files? 09:56:10 Vorpal: Radiant sun orbs are very standard 09:56:14 Yeah, basically 09:56:27 http://www.appleinsider.com/articles/11/03/10/inside_mac_os_x_10_7_lion_airdrop_local_file_sharing.html 09:56:38 NihilistDandy: I wonder how long until the zoom button on windows disappears 09:56:49 It does a pretty bad job of automatically sizing things 09:56:57 And with the magic wonder full-screen zoom button thing... 09:57:00 Only a matter of time 09:57:04 Exactly 09:57:36 I guess the zoom button will take its place, because just having two capsules on the left is really weird... except that that destroys the fact that the button to undo it is in the same place 09:57:45 And also undoes any conditioning of users 09:57:46 Hmmmmmmmm 09:57:56 Maybe the buttons will move to the right side :O :O :O 09:58:17 And get the same embossed look, I guess 09:58:32 Embossing is good 09:58:35 Or maybe minimised windows will just stop existing :-P 09:58:59 That at least has the nice sort of consistency that you could have an embossed X on the left to close, an embossed zoom-thing on the right, and nothing else 09:59:03 Kind of inconvenient though 09:59:10 As it happens, you can now set minized windows to disappear "in" the app on the Dock 09:59:16 *minimize 09:59:18 But hey, if Apple are dedicated to this orthogonal persistence thing, then you can just call the window up again if you need it again, who needs minimised windows? 09:59:19 *minimized 09:59:23 NihilistDandy: Default? 09:59:28 Sadly, no 09:59:38 But it's a checkbox 10:02:25 The persistence thing is surprisingly ungimmicky 10:04:02 When I accidentally hit Cmd-Q in Safari, it doesn't bother asking me if that's okay since I have all this shit open 10:04:06 It just goes away 10:04:12 And then I open Safari again 10:04:20 And there's all my shit, right where I left it 10:05:43 NihilistDandy: It should do the minimising animation, except every single window goes into the icon :-D 10:05:55 Actually, if it was fast enough, that would be a good cue, assuming it's the zoom minimise animation rather than the unbearable genie 10:06:00 Hmm 10:06:04 Cmd-H should disappear 10:06:09 Since it's literally the same as Cmd-Q now 10:06:23 Hopefully. Though I do use Cmd-H a lot. Or did 10:06:32 A windows move into Dock icon/windows burst out of Dock icon model seems like the best way to analogise it 10:06:35 I'd just alias Cmd-H to Cmd-Q 10:06:38 Now I just keep everything in its own space 10:06:40 Or vice versa 10:06:41 Fullscreened 10:06:42 Probably vice vesa 10:07:16 Also, you can turn off the "app is open" lights 10:07:46 YES I READ THAT IN THE REVIEW 10:07:54 I like it 10:08:37 So when are they going to fix real issues like the Dock being fucking hideous 10:09:04 elliott: That's what Alfred's for 10:09:20 Not another QuickSilver clone 10:09:24 s/Sil/sil/ 10:09:46 Better than QS, and actually still developed 10:10:01 NihilistDandy: QS is actively developed. 10:10:05 -!- monqy has quit (Quit: hello). 10:10:09 Since when? 10:10:19 I thought it died out after SL came out 10:10:19 Since recently. 10:10:24 Oh, neat 10:10:37 Quicksilver is now developed by a team of volunteers with work on the open source project increasing throughout 2010.[3] 10:10:37 In November 2009, development shifted to using GitHub.[4] 10:10:37 At the end of 2010, a new website QSApp.com was launched, with the aim of unifying and collating all of Quicksilver's fragmented builds, plugins and support groups. Since its launch, the site has included a new Plugins Repository, Wiki and Downloads section. After several months of development, Quicksilver version β59 was released; a marked point in the history of the application. 10:10:49 Last release was in June. 10:10:54 Ooh 10:11:01 I might have to switch back 10:11:10 Dunno if it's improved much, mind — it used to be so crashy. 10:11:19 Indeed 10:11:31 Have you tried Alfred? 10:11:54 elliott, what is quicksilver now again... the name sounds familiar? 10:11:59 No, I don't use OS X. :p 10:12:05 Vorpal: A... thing. 10:12:14 oh okay 10:12:20 It's sort of like an object-oriented linguistic user interface. 10:12:28 Most of the time it's just used as a launcher. :p 10:12:33 elliott, hah 10:13:23 hm so AirDrop is vendor specific. That is rather stupid of apple I think. 10:13:33 iphone + windows can't be too uncommon 10:13:45 and if iphone gets airdrop... 10:14:05 Have you seen what happens when Apple try to write Windows applications? 10:14:17 elliott, not in person no 10:14:22 Lucky. 10:14:24 is it terrible? 10:14:27 It is. 10:14:40 QuickTime is one of the most-hated pieces of crapware on Windows. 10:14:47 oh yes that 10:14:57 NihilistDandy: I wish I could turn off mouse acceleration and make my trackpad absolute-positioned. 10:14:59 That would be fun. 10:15:03 elliott, my point was that apple would probably gain more from using some technology for airdrop that would also work under windows 10:15:18 elliott: I'm sure there's a way to hack it :D 10:15:20 sure, maybe not as well-integrated sure... but would at least work 10:15:24 Apple don't care much about Windows users. 10:15:41 elliott, wait, isn't iphone + windows a very common combo? 10:15:47 more than iphone + mac possibly 10:15:53 Windows users, on the other hand, care very much about Mac users and their stupid smug faces 10:15:57 Vorpal: Yes. 10:15:59 elliott, they just ignore that market segment? 10:16:02 They get to suffer through iTunes for Windows. 10:16:06 It isn't pleasant. 10:16:22 iTunes is pretty much the only Windows application Apple cares about. I don't even know why they ported Safari. 10:16:24 elliott, how comes iphones still sell 10:16:36 Vorpal: Because other phones suck that much more. 10:16:40 ^^ 10:16:41 And, well, you only need iTunes for syncing. 10:16:45 elliott, android is worse? 10:16:46 I want an @phone 10:16:56 Vorpal: Android is... well, getting better. 10:17:02 Vorpal: Have you ever used Eclipse? 10:17:07 I have idea I wanted to make up some programming language that can do a few things including implement rules of Magic: the Gathering cards. I have a few ideas about it, including: 10:17:10 Android is worse 10:17:13 * First class functions and first class rules 10:17:27 My current solution to the problem of either buying a bad phone or contributing to the complete downfall of any kind of computing freedom is to... not use a phone. 10:17:30 NihilistDandy, for windows integration? 10:17:49 Another place in the interwebs says they support AirDrop only on hardware that has firmware that can do infrastructure and the AirDrop-used ad-hoc mode simultaneously. 10:17:53 Vorpal: No, for writing code on the platform 10:17:56 ah 10:17:58 11:16 NihilistDandy: I want an @phone 10:18:04 * Basic types: boolean, integer, static strings (usable only for comparison and that C codes can use directly) 10:18:06 I was going to mumble something about hardware requirements. 10:18:10 But, umm, phones are pretty fast aren't they. 10:18:14 They are 10:18:16 NihilistDandy, at least android can run java and flash, unlike iphone 10:18:31 * Other types: enumeration, tagged union, structure, function 10:18:32 Vorpal: Says the guy who doesn't use Flash. 10:18:33 Vorpal: Those are not laudable qualities 10:18:39 Anyway, Flash support on phones is laughable. 10:18:41 They have quad-core phones either out or coming-out-soonishly. 10:18:42 It's the laggiest piece of shit imaginable. 10:18:46 It's utterly unusable. 10:18:47 Dual-core ones they do at least have. 10:18:54 And... um, Java doesn't even exist any more for desktop applications. 10:18:56 elliott, indeed, but I know a lot of people do, which is what I'm talking about 10:19:00 Minecraft is the only Java program anyone uses. 10:19:05 * Function types are allowed to include themself or types including themself 10:19:13 elliott, I do not consider myself the typical case here 10:19:18 HTML5 video players abound, and you don't need Flash games 10:19:19 Vorpal: Well that's a change ;-) 10:19:25 elliott, har 10:19:26 Why is Flash necessary again? 10:19:33 NihilistDandy: You do need Flash games, you definitely do. 10:19:39 elliott, I know I would be most happy with something meego-based :P 10:19:39 iOS is just big enough to get them ported ;-) 10:19:51 elliott: Exactly :D 10:20:02 Vorpal: Yeah, MeeGo is totally dead. 10:20:07 elliott, sadly 10:20:10 :( 10:20:11 It just hasn't realised that yet. 10:20:20 * Procedural rulebooks 10:20:49 HTML5 video players abound, and you don't need Flash games <-- no one can agree on the format for the video though 10:20:52 * Rulebooks specifying reading/writing properties of an object 10:21:06 * Pure functions 10:21:22 I really wish they'd just release the patents to H.twosixfour and stop being jackasses. 10:21:41 Vorpal: Just because there's a hostage taker in the house doesn't mean you don't have a favorite child. 10:21:47 elliott, I forgot who "they" are here 10:22:04 NihilistDandy, err? 10:22:15 how is that relevant!? 10:22:29 * External access to/from C codes and other program 10:22:30 Vorpal: A bunch of people. 10:22:36 elliott, right 10:22:42 elliott, apple? 10:22:45 The "audio data" API (that lets you actually do stuff to it realtime, instead of just doing playback of existing samples like the HTML5