←2011-07-31 2011-08-01 2011-08-02→ ↑2011 ↑all
00:06:46 -!- oerjan has quit (Quit: Good night).
00:12:55 <Patashu> cheater_ your god won't give you pets
00:13:04 <Patashu> you need to cause the 'charm' effect on a monster
00:13:26 <Patashu> 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 <cheater_> Patashu, hmm, let me read up on treats
00:22:30 <cheater_> 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 <Patashu> are you wearing armour?
00:25:16 <lament> stop playing nethack and your spells will be 0%
00:30:34 <NihilistDandy> Ohai
00:35:05 <cheater_> ah yeah, it was all that metal i was wearing
00:35:30 <NihilistDandy> 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 <evincar> 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 <NihilistDandy> Meh
02:22:09 <evincar> Appropriate, considering Sgeo's realisation of the true nature of Lewis Carol [sic].
02:22:14 <NihilistDandy> Hofstadter's too talky
02:22:24 <evincar> So far he certainly seems to be.
02:22:33 <evincar> But I'm a quick reader, so I'm not too troubled by it.
02:22:44 <NihilistDandy> He doesn't exactly display much in the way of attention span, either :D
02:23:07 <NihilistDandy> And I'm leery when people start talking about Zen and Gödel in the same book O.o
02:24:22 <Vorpal> NihilistDandy, considering the number of pages that isn't a major issue
02:24:28 <evincar> Only a computer scientist. :P
02:26:00 <NihilistDandy> I always feel like the odd one out because I'm a computer scientist but not a mystic :D
02:26:33 <Vorpal> NihilistDandy, haha
02:27:37 <evincar> There are those would say you've just not yet fully appreciated the magic of computation.
02:28:12 <Vorpal> yeah, whatever
02:28:25 <NihilistDandy> I'm a mathematician, too. There's no magic over here :P
02:28:38 <NihilistDandy> You just don't appreciate the model :D
02:28:51 <Vorpal> hah
02:30:08 <evincar> Maybe I just have modesty enough to admit that computation is at that magical level of "sufficiently advanced".
02:30:33 <evincar> Mathematics too.
02:31:15 <NihilistDandy> I don't have a model for modesty. Is it published?
02:31:39 <NihilistDandy> -_-
02:31:57 <Vorpal> evincar, hm... I'm not sure I agree
02:32:03 <Vorpal> evincar, transistors are pretty simple
02:32:15 <Vorpal> and so are logic gates made out of transistors (CMOS at least)
02:32:34 <Vorpal> and making up simple circuits is easy
02:32:39 <evincar> Sure, but that's a particular implementation of computation.
02:32:40 <Vorpal> and combining those is easy
02:32:45 <evincar> I'm talking about the topic as a whole.
02:32:53 <Vorpal> and thus making a CPU is easy, since it combines
02:32:56 <Vorpal> and so on
02:33:20 <Vorpal> evincar, however if you try to look at transistors to full CPU in one go, then yes, it is pretty magical
02:33:40 <Vorpal> you just have to break it down info the layers of abstraction used
02:33:57 <Vorpal> evincar, and hm. Not sure I agree :P
02:35:08 <pikhq> Vorpal: Your computer does more calculations in an hour than all of humanity could do in a year.
02:35:13 <evincar> I really jumped straight into the deep end. What is the nature of computation, does it have intrinsic meaning, etc.
02:35:19 <Vorpal> pikhq, indeed
02:35:19 <pikhq> Yes, it's sufficiently advanced mathematic.
02:35:22 <pikhq> Erm.
02:35:23 <pikhq> Magic.
02:35:43 <Vorpal> pikhq, the thing is, when you consider each layer of abstraction alone then it doesn't seem very magic
02:35:51 <Vorpal> while for the whole, it is
02:36:51 <evincar> 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 <NihilistDandy> And the more exposure you get, the more "magic" slides up the scale
02:37:08 <evincar> It's not about not understanding them.
02:37:17 <Vorpal> evincar, indeed
02:37:19 <NihilistDandy> evincar: Only if you ascribe meaning to random/deterministic events
02:37:20 <evincar> It's about appreciating their self-evident beauty.
02:37:34 <Vorpal> blergh
02:37:58 <NihilistDandy> That's random *or* deterministic. I haven't fully decided which view of the universe I find most pleasant
02:38:06 <NihilistDandy> Free will's right out, though, obviously
02:38:23 <evincar> NihilistDandy: Why not deterministic behaviour emergent from a nondeterministic substrate? It works.
02:38:44 <NihilistDandy> Elaborate
02:39:02 <evincar> 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 <pikhq> evincar: It really gets down to what you mean by "free will".
02:39:30 <evincar> In any case, random input + deterministic rules = deterministic emergent behaviour.
02:39:58 <NihilistDandy> But there may be no rules
02:40:06 <pikhq> NihilistDandy: Physics?
02:40:28 <evincar> Yeah, that's the trump card. Physics is sort of the essential ruleset of the universe.
02:40:32 <NihilistDandy> Maybe
02:40:40 <NihilistDandy> It appears that way
02:40:51 <evincar> Alright, go faster than light. Right now.
02:40:57 <NihilistDandy> I don't know how
02:41:07 <evincar> Do you need to?
02:41:13 <NihilistDandy> Not really
02:41:27 <NihilistDandy> But I also don't really need to go faster than light
02:41:36 <evincar> If physical law were breakable by mere disagreement, the universe wouldn't be nearly so interesting. :P
02:42:01 <evincar> 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 <NihilistDandy> But think about who devised the rules. Animals possessed of self-designed logical systems, attributing phenomena to objects in those systems
02:42:25 <NihilistDandy> The reliability is tenuous at best
02:43:04 <NihilistDandy> Or just random brain signals
02:43:12 <NihilistDandy> No way of telling, really
02:43:26 <evincar> Well, that's the basis of science. You can't really prove anything true.
02:43:32 <NihilistDandy> Right.
02:43:38 <evincar> But you can demonstrate that it's reliably true under given circumstances.
02:43:53 <evincar> And that's a pragmatic attitude.
02:44:01 <evincar> So I don't really care if things don't work the way they seem to.
02:44:04 <NihilistDandy> Pragmatism has no place in #esoteric
02:44:05 <evincar> Because we'll never find out.
02:44:06 <NihilistDandy> gtfo
02:44:08 <NihilistDandy> :D
02:44:45 <evincar> 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 <evincar> Therefore anything that doesn't seem isn't observable or understandable.
02:45:24 <evincar> s/Therefore/In other words/.
02:45:34 <Vorpal> <evincar> But you can demonstrate that it's reliably true under given circumstances. <-- or at least we think so
02:45:38 <Vorpal> can we trust our brains?
02:45:52 <Vorpal> are we just having an illusion of that our brains exist?
02:46:05 <evincar> Doesn't matter. We rely on them implicitly, so transitive reliances are inevitable.
02:46:21 <Vorpal> evincar, can we however rely on them at all?
02:46:34 <evincar> Again, doesn't matter. Pragmatically we have to.
02:46:35 <Vorpal> there is no choice
02:46:37 <Vorpal> but can we really
02:46:53 <evincar> We do, so yes. Should we? Don't know. Don't care.
02:47:01 <NihilistDandy> Pragmatism really has no place in a universe without free will
02:47:37 <evincar> 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 <NihilistDandy> Why must something deny you free will?
02:48:02 <evincar> So in practical terms we do have free will.
02:48:04 <NihilistDandy> You may just not have it
02:48:12 <evincar> I was trying to find a better word.
02:48:19 <evincar> The opposite of "give".
02:48:23 <evincar> "Not give".
02:48:32 <NihilistDandy> If some neurobiologists are correct, the idea of free will may be generated ex post facto
02:52:41 <NihilistDandy> Now we're going to talk about cats
02:52:50 <NihilistDandy> Do you have a cat, evincar
02:52:51 <NihilistDandy> ?
02:52:53 <evincar> Is there a reliable means of counting characters in a Unicode string?
02:53:13 <evincar> Code points aren't characters, so even UTF-32 is variable-width wrt characters. :(
02:53:25 <NihilistDandy> eek
02:55:04 <evincar> 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 <NihilistDandy> http://stackoverflow.com/questions/4579215/cross-platform-iteration-of-unicode-string-counting-graphemes-using-icu
02:55:26 <evincar> s/mice/anything that moves, even if she is absurdly outclassed/
02:55:43 <NihilistDandy> Neato
02:56:12 <evincar> Bluh. I don't really want to use ICU.
02:58:45 <Vorpal> evincar, "doesn't afraid"?
02:58:46 <Vorpal> what
02:58:58 <Vorpal> you mean "isn't"?
02:58:59 <NihilistDandy> Internet speak
02:59:09 <NihilistDandy> You aren't familiar with it?
02:59:12 <olsner> Vorpal: wtf, you haven't heard this meme before?
02:59:16 <Vorpal> olsner, nope
02:59:25 <Vorpal> so it means "isn't"?
02:59:27 <NihilistDandy> http://knowyourmeme.com/memes/pretty-cool-guy#.TjYWeXOX0y4
02:59:30 <Vorpal> how confusing
02:59:54 <evincar> "I think Halo is a pretty cool guy. eh kills aleins and doesn't afraid of anything..."
03:00:22 <NihilistDandy> I kind of want to watch Red vs. Blue, now
03:00:38 <olsner> 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 <Vorpal> ah
03:01:43 <evincar> Speaking of thinking about grammar, I'm thinking about thinking about grammar.
03:01:48 <evincar> Specifically working on another conlang.
03:02:05 <NihilistDandy> What properties would it have?
03:02:16 <olsner> I'd think again about thinking about thinking about grammar
03:02:52 <NihilistDandy> You think so? WELL THINK AGAIN
03:03:38 <evincar> 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 <olsner> NihilistDandy: think again about thinking again? THINKCEPTION
03:03:59 <evincar> Programming has made me drool over analytic languages.
03:04:05 <evincar> BWAAAAH
03:04:16 <NihilistDandy> olsner: FWAABUMBAHBAHBOOSH
03:04:22 <NihilistDandy> evincar: http://ithkuil.net/
03:04:34 <evincar> NihilistDandy: I know about that, actually.
03:04:39 <NihilistDandy> One of my favorites
03:04:47 <evincar> I don't know what the fuck he was thinking borrowing a consonant inventory from Ubykh.
03:04:50 <NihilistDandy> He's doing a big update, actually
03:04:59 <NihilistDandy> Making the whole thing a bit easier to pronounce
03:05:07 <NihilistDandy> Though the pronunciation was the easy part, really
03:05:11 <evincar> Of all the languages NOT to borrow a consonant inventory from. God.
03:05:33 <evincar> I do appreciate the scope of the work, though.
03:06:17 <evincar> But then again I don't believe in philosophical or logical languages.
03:06:33 * NihilistDandy is not surprised
03:06:36 <NihilistDandy> :D
03:06:53 <evincar> I'm fine with a posteriori, but a priori is preferable.
03:06:59 <evincar> I like mostly original works.
03:07:11 <evincar> Even if it means I'm not going to be able to read an example text right away.
03:08:01 <evincar> Besides, authors often unwittingly make reference to their native tongues.
03:08:16 <NihilistDandy> I also state obvious facts. :D
03:08:24 <itidus20> i think of languages as navigating on a 2d plane
03:08:30 <NihilistDandy> I can't tell you how many Latin clones I've read
03:08:32 <evincar> If your word for "book" is "htap", I'm betting you're from India or thereabouts.
03:09:08 <evincar> Ugh, I know. Esperanto at least has a nice community.
03:09:47 <evincar> We don't need another Interlingua or Latine Sine Flexiones or [insert variation on "Lingua International" here].
03:10:01 <NihilistDandy> Though most Esperantinos I know are insufferable
03:11:21 <itidus20> i think words divide conceptual space up in such a way that each concept is concise
03:11:39 <NihilistDandy> itidus20: Square
03:11:51 <NihilistDandy> Not a concise concept
03:12:15 <NihilistDandy> Unless you talk about squareness
03:12:16 <evincar> Except words don't divide conceptual space at all. Consider synonyms and homographs.
03:12:44 <evincar> Many words overlap, and most regions of conceptual space aren't covered by individual words.
03:13:00 <NihilistDandy> Some whole regions aren't covered at all, depending on language
03:13:05 <itidus20> oh humm
03:13:14 <evincar> Don't tell me you're a linguistic relativist, NihilistDandy.
03:13:20 <NihilistDandy> evincar: Never
03:13:40 <NihilistDandy> I blanch at the very idea
03:13:48 <evincar> (Although Spanish speakers are more likely to give a female voice to a cartoon character that is a table.)
03:13:59 <NihilistDandy> mesa
03:14:13 <NihilistDandy> Sounds like a girl's name to me, mang
03:15:07 <evincar> So I guess natural language does affect the way we think about the world, but in insignificant ways.
03:15:34 <evincar> Programming languages, on the other hand, have ridiculously high influence on problem decomposition strategies.
03:15:50 <NihilistDandy> Quite true
03:15:50 <evincar> There's a thesis someone should do, and probably has.
03:16:30 <NihilistDandy> Programming language all speak the same base language, though, English. A subset thereof, at least.
03:16:57 <NihilistDandy> So the differences are of a higher order, so the underlying language is secondary to the problem solving method
03:17:16 <evincar> Not all programming languages are English-based.
03:17:21 <NihilistDandy> Well, most of them :P
03:17:23 <evincar> Not in word order, nor in keywords.
03:17:31 <NihilistDandy> I shouldn't say mosty
03:17:33 <NihilistDandy> *most
03:17:46 <NihilistDandy> Many, and a large portion of the "major" languages
03:17:47 <evincar> Well, "most" is "more than half", so yeah, that's valid.
03:18:03 <NihilistDandy> evincar: Think of how many esolangs there are floating around
03:18:49 <evincar> I stand corrected.
03:18:55 <NihilistDandy> :D
03:18:56 <evincar> Odd place for me to be.
03:19:19 <evincar> Considering the room we're in. :/
03:19:22 <Sgeo> Dangit, there is a nail in my keyboard
03:19:23 <NihilistDandy> Haha
03:19:24 <itidus20> evincar: perhaps another way to word what i said is that words are imprecise tools which lack the precision of numbers
03:20:20 <itidus20> with numbers you can add a decimal point and seek out greater and greater precision
03:20:44 <NihilistDandy> 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 <itidus20> to be fair though, numbers have limits especially irrational ones
03:21:12 <NihilistDandy> itidus20: You're using two different meanings of precision
03:21:55 <evincar> We're dangerously close to a discussion of Gödel numbering.
03:22:27 <coppro> Gödel numbering :(
03:22:29 <NihilistDandy> I LIVE ON THE EDGE, EVINCAR
03:25:34 <itidus20> i think of programming languages as being designed to be comprehendable by humans
03:25:48 <NihilistDandy> itidus20: What about Malebolge?
03:26:06 <itidus20> i think a lot of crap
03:27:12 <evincar> Mmm...male bulge.
03:28:12 <evincar> If I wrote a language called Male Bulge...
03:28:20 <NihilistDandy> You'd get a lot of attention
03:28:22 <evincar> ...I'd release my Male Bulge and encourage people to wrap their heads around it?
03:28:36 <NihilistDandy> And I'd have to respond with camlToe
03:28:42 <evincar> (read: incredibly contrived oral sex pun)
03:29:07 <NihilistDandy> And encourage others to implement your Male Bulge in my camlToe
03:30:28 <Sgeo> evincar, I think everyone got the joke
03:30:43 <NihilistDandy> Not lately
03:30:48 <NihilistDandy> T_T
03:30:52 <evincar> I'm not trying to be funny, I'm trying to be pathetic.
03:31:05 <evincar> Pointing out my own bad jokes is my strategy.
03:31:21 <Sgeo> Like Tara?
03:32:51 <NihilistDandy> You'll have to be more specific
03:32:59 <evincar> ¯\(°_o)/¯
03:33:28 <Sgeo> http://tvtropes.org/pmwiki/pmwiki.php/FanFic/MyImmortal?from=Main.MyImmortal
03:33:38 <evincar> Oh, that piece of garbage.
03:33:51 <NihilistDandy> Oh, lol
03:34:08 <evincar> HER NAME ISN'T MARY SUE. EBONY'S NAME IS ENOBY.
03:34:08 <NihilistDandy> 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 <evincar> I forget how far I made it...less than halfway.
03:34:43 <NihilistDandy> I read it all
03:34:44 <NihilistDandy> I had to
03:34:51 <NihilistDandy> "I was walking outside Hogwarts. It was snowy and rainy at the same time."
03:34:51 <evincar> I was going to. I really was.
03:35:25 <NihilistDandy> "Im good at too many things! WHY CAN'T I JUST BE NORMAL? IT'S A FUCKING CURSE!"
03:35:30 <NihilistDandy> I feel for you Enoby
03:35:44 <NihilistDandy> I identified with the main character
03:35:54 <NihilistDandy> 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 <NihilistDandy> Totes me~
03:36:10 <NihilistDandy> Emphasis mine
03:36:28 <evincar> Damn. I bet all the other girls be jelly.
03:36:48 <NihilistDandy> So jelly, bro
03:36:59 <evincar> Das da kine.
03:37:28 <NihilistDandy> lol
03:39:51 <NihilistDandy> Their jst jelly abot how totly goffik i am
03:43:58 <NihilistDandy> "But da ballet could not kill u since u were form anodder time."
03:45:38 <evincar> Going back to my conlang, I was thinking of setting up a weird vowel system with unvoiced and ingressive vowels.
03:46:30 <evincar> So say [a i u] times those four possible qualities.
03:46:40 <NihilistDandy> lol
03:46:53 <evincar> Also ingressive fricative consonants.
03:46:59 <evincar> Just for consistency.
03:47:04 <NihilistDandy> Of course
03:47:18 <evincar> There would have to be air harmony, of course, or else words would be imbalanced.
03:47:59 <NihilistDandy> Euphony seems difficult. Japanese may have some pointers
03:48:06 <evincar> I admit I'm only doing this so I can come up with a cool writing system for it. :P
03:48:37 <NihilistDandy> lol
03:48:45 <NihilistDandy> You and every other conlanger evar
03:50:10 <evincar> Come on, phonetics is easy. Typography is the fun part.
03:50:32 <evincar> Also grammar and morphology. Vocabulary not so much.
03:50:56 <NihilistDandy> Vocabulary is the worst part
03:51:43 <NihilistDandy> Unless you make your grammar really really expressive
03:53:16 <evincar> 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 <lament> design a conlang with grammar so expressive that you only need one word.
03:53:44 <evincar> That's the problem that I have with philosophical languages...
03:54:01 <evincar> lament: Define "word".
03:54:38 <lament> root morpheme
03:54:48 <evincar> Because you could easily have a language with one lexeme.
03:54:53 <NihilistDandy> evincar: Right, but one person coming up with the thousands of lexemes needed to make a non-philosophical language usable...
03:54:56 <NihilistDandy> Ouch
03:55:12 <evincar> Ouch indeed.
03:55:56 <NihilistDandy> That's why most of my conlangs end during the honeymoon period while I'm still fussing over grammar and typography
03:56:13 <evincar> 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 <NihilistDandy> Then I make up a thousand words and want to die
03:56:52 <NihilistDandy> I could argue that, but it needs more syntactic sugar :D
03:56:52 <evincar> Start with aardvark and go.
03:57:20 <evincar> No thanks. I'm sweet enough.
03:58:46 <NihilistDandy> The joke, you see, is that I said "sugar", and sugar is sweet
03:59:13 <lament> evincar: don't argue it, design it
03:59:41 <evincar> It's not possible.
03:59:46 <NihilistDandy> Why not?
03:59:53 <lament> then die trying
03:59:58 <evincar> I'm not capable of decomposing the universe into a perfect taxonomy.
04:00:59 <NihilistDandy> Math alone leaves us ruined
04:01:08 <NihilistDandy> Damnable infinity
04:10:22 <evincar> Sigh. It's nice to have someone to miss, but not nice to have to miss that someone.
04:11:00 <NihilistDandy> Get a better scope
04:13:23 <evincar> You mean get a better perspective, or physically move?
04:13:44 <NihilistDandy> No, I mean buy a new scope
04:13:53 <NihilistDandy> As in rifle
04:15:40 <evincar> Well, that would offer me a better perspective on certain matters, to be sure.
04:18:08 <NihilistDandy> The heart is located conveniently in CBM
04:18:41 <evincar> Je me fabrique un cœur de pierre, pour devenir un grand garçon.
04:19:01 <evincar> I'm not being emo, that's just from a song I like. :P
04:19:47 <NihilistDandy> ha
04:20:37 <NihilistDandy> It's a neat lyric, I gues
04:20:39 <NihilistDandy> *guess
04:21:27 <evincar> "Tais toi mon coeur", by Dionysos. Good music video as well.
04:21:39 <evincar> I dunno how well you grok French.
04:21:43 <NihilistDandy> I made a joke about Forth to no avail. In fairness, it was just a lisp joke, so...
04:22:05 <NihilistDandy> evincar: Well enough. Not fluently, but proficiently.
04:22:14 <evincar> "May the Forth be with you" is a Lisp joke. ;)
04:22:23 <NihilistDandy> Exactly of that sort
04:22:32 <evincar> Figured.
04:23:10 <NihilistDandy> <[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 <NihilistDandy> <NihilistDandy> [redacted]: Well, we're not going to Forth you to do anything you don't want to
04:23:59 <NihilistDandy> I wonder if there are any Lisp-agnostic Forth jokes
04:25:09 <evincar> Go Forth and prosper.
04:25:45 <evincar> I wrote the program in three different languages, but the Forth one was the best.
04:26:10 <evincar> (More historically accurate from what I remember.)
04:26:22 <NihilistDandy> Ha
04:27:23 <evincar> Those don't deserve a whole "Ha".
04:27:32 <evincar> Maybe a third of a "ha" each.
04:28:12 <NihilistDandy> I
04:28:50 <NihilistDandy> 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 <Sgeo> 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 <fizzie> I vaguely recall trying Quassel a year or so ago, and it was very crashy.
06:21:55 <fizzie> But maybe it was just bad luck.
06:26:20 -!- Sgeo has quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.).
06:26:50 <fizzie> 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 <Sgeo> Ok, I think I can deal with this
06:42:38 <fizzie> Sounds like the bestest client, if it barely can be "dealt with".
06:43:00 <Sgeo> fizzie: what I'm having to "deal with" is mostly the different look
06:46:53 <fizzie> 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 <fizzie> In other news, it might have been Smuxi which I tried and found sucky, instead.
06:49:25 -!- Taneb has joined.
06:49:58 <Taneb> Well, my Facebook got hacked.
06:50:35 <fizzie> Isn't everyone's Facebook the same Facebook?
06:50:42 <Taneb> Yes
06:50:49 <Taneb> Facebook got hacked
06:50:51 <NihilistDandy> 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 <Taneb> And I was the target
06:51:33 <fizzie> 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 <Sgeo> 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 <Sgeo> But I'm not even using it that way
06:52:03 <NihilistDandy> Sgeo: That sounds like *one* convenience :D
06:52:12 <NihilistDandy> fizzie: That's a bit silly
06:52:41 <fizzie> 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 <Sgeo> Also, I like that it remembers which channels I'm in for when I close it
06:53:11 <Sgeo> Strange, I _hate_ that sort of thing on desktop environments and web browsers
06:53:17 <Sgeo> But I think I'll like it here
06:59:12 <Sgeo> Testing, testing, 1 2 3
06:59:49 <fizzie> 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 <Taneb> I really should try to read all the letters in a word and all the words in a sentence
07:01:50 <Taneb> Misread "Obama announces US deficit deal" as "Obama announced dead"
07:02:15 <NihilistDandy> WOW
07:02:18 <NihilistDandy> Hell of a misread
07:03:30 <Taneb> Also, I've had an idea for an esoteric programming language
07:03:44 <Taneb> None so far are based on L-systems
07:04:08 <Taneb> 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 <Lymee> Taneb, would /// qualify?
09:16:33 <fizzie> 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 <Taneb> 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 <coppro> guys I have a great idea for PHPJAVA
11:07:33 <coppro> 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 <coppro> good news: my program works
11:33:30 <coppro> bad news: it's slow as hell
11:33:36 <Patashu> what does your program do?
11:33:51 <coppro> although it's probably just half that it involves iterating over powersets
11:34:03 <Patashu> sour about that O(2^n)
11:34:07 <coppro> indeed
11:34:18 <coppro> you are familiar with the game of life, yes?
11:34:21 <Patashu> yup
11:34:24 <Patashu> whatcha looking for?
11:35:03 <coppro> 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 <coppro> 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 <coppro> i.e. an island has no eden predecessor
11:35:58 <Patashu> find any?
11:36:08 <coppro> How many islands are there on a w by h torus?
11:36:28 <coppro> Now, since we're on a torus, we can eliminate symmetries from the calculation
11:36:36 <coppro> but there are a lot of symmetries
11:36:59 <coppro> and my poor inefficient program is trying to calculate them rather naively
11:37:23 <coppro> by iterating over each possible pattern and its symmetries
11:37:31 <coppro> this is the most elegant approach, but is clearly utterly ridiculous
11:37:52 <coppro> as, for instance, the singleton pattern has w*h /translational/ symmetrical patterns alone
11:38:33 <coppro> really what I should be doing is starting from one pattern, add all its symmetries to a set
11:38:40 <coppro> pick the next pattern
11:38:44 <coppro> add it to the set of results
11:38:54 <coppro> and add it and its symmetries to the set of visited patterns
11:39:15 <coppro> and repeat until there are no more unvisited patterns
11:39:21 -!- Taneb has quit (Ping timeout: 260 seconds).
11:39:31 <Patashu> it'd still be O(2^n) unfortunately
11:39:57 <coppro> yeah, but I'd be able to reasonably calculate, say, 4x4
11:40:26 <Patashu> for 4x4 it'd be a speedup of something like 128 times?
11:40:37 <coppro> no more than that
11:40:55 <coppro> there are more symmetries
11:41:10 <Patashu> all the translationals * flip horizontal * flip vertical...flip diagonal too?
11:41:42 <Sgeo> Grah. In the channel list, Quassel uses for regular incoming chat the color that XChat used for pings
11:41:47 <coppro> flip diagonal, plus, in the case of a square, rotation
11:41:53 <coppro> by either 90 or 270 degrees
11:41:56 <Patashu> ah good point
11:42:04 <coppro> PLUS the translations of each flip and rotation
11:42:10 <Patashu> yeah, hence * and not +
11:42:43 <coppro> it becomes w * h * (6 if square, 4 otherwise)
11:42:52 -!- augur has quit (Remote host closed the connection).
11:43:18 <coppro> now do that redundancy 2^wh times
11:43:20 <coppro> and you're in trouble
11:44:52 <coppro> also I need to deal with the fact that such large numbers are simply damn difficult to manage
11:45:13 <Patashu> is this an open problem or some personal curiousity thing
11:45:31 <coppro> the latter, possibly the former
11:45:53 <coppro> it would be really nice if I could design something that didn't require creating a set of 2^wh elements
11:45:59 <Patashu> that would be n ice
11:46:30 <coppro> the main issue, really, is enumerating the patterns
11:47:43 <coppro> Sgeo: we're talking about the script for islands in GoL
11:47:54 <Sgeo> coppro: ooh, cool
11:48:21 <coppro> I suppose I could try only storing the canonical values
11:48:30 <coppro> also crud
11:48:32 <coppro> edens is broken
11:48:45 <coppro> two things to fix@
11:48:48 <Sgeo> We still haven't proven anything other than that for at least some size finite GoL boards, there are stranded oscillators?
11:48:58 <Sgeo> Or did we prove something recently?
11:49:23 <Patashu> idea:
11:49:25 <Patashu> use night and day instead of GoL
11:49:30 <Patashu> that way you have another symmetry, flipping 0s and 1s
11:49:34 <Patashu> 2* speedup
11:50:05 <Sgeo> Results in Night & Day may not necessarily apply to GoL. Does Night & Day have that "Easy predecessor" thing?
11:50:16 <Patashu> no clue
11:50:23 <Patashu> I was about to ask if night and day has interesting edens or not
11:51:55 <coppro> Sgeo: I'm working on the script to calculate all islands of a given size
11:52:07 <coppro> err, all islands on a torus of a given size
11:52:21 <Patashu> the torus is for the w*h speedup
11:52:31 <Sgeo> Patashu: Huh?
11:52:43 <Patashu> he can use translational symmetries on a torus
11:52:55 <Patashu> 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 <itidus20> is it meaningful to describe a single celled torus? :D
11:53:55 <Patashu> I pictured a directed graph
11:54:02 <Sgeo> itidus20: yes
11:54:07 <itidus20> it would kind of defeat the purpose but.. ya know.. its funny
11:54:13 <Patashu> it would be its own neighbor
11:54:15 <Patashu> ALL OF THEM
11:54:22 <itidus20> FFFFFFFUUUUUUUUUUUUU
11:54:23 <Patashu> talk about a multiple personality disordered CA
11:54:26 <Patashu> he makes friends with himself
11:54:29 <Patashu> all 8 of himself
11:54:38 <Patashu> he gradually goes insane and kills himself
11:54:51 <Patashu> next iteration, only an empty space was found on the crime scene
11:54:57 <Patashu> RIP little buddy
11:55:25 <itidus20> hahaha
11:55:38 <Patashu> if cellular automata was night and day this not happen :(
11:56:07 <Sgeo> Patashu: I'm a little unfamiliar with directed graphs
11:56:20 -!- MDude has joined.
11:56:25 <Patashu> sgeo: as in, you'd list every distinct pattern, iterate them once, and link them to the distinct pattern they become
11:56:38 <Sgeo> Ah
11:56:39 <Patashu> that way you can see which patterns (call them islands) are not on a graph with an eden in them
11:57:17 <Sgeo> ...wait, how does that help?
11:57:34 <Patashu> it might not
11:57:34 <Sgeo> An oscillator with period... wait, n/m
11:57:38 <Patashu> you could use it to find edens though
11:57:51 <Patashu> every pattern that has no pattern pointing to it is an eden
11:57:59 <Patashu> then, iterate each eden until it loops.
11:58:03 <Patashu> all patterns left over are islands
11:58:09 <coppro> ooooooohhhhh
11:58:13 <coppro> no wonder it wasn't working
11:58:26 <coppro> the inefficiency may have been related to this bug
11:58:39 <coppro> Sgeo: straned cycles ~= islands
11:58:55 <Sgeo> Don't even need to do that, if all possible patterns are represented, you have all iterations
11:59:44 <Sgeo> Iterating is just the same as finding what .. wait,
11:59:50 <Sgeo> I think I'm too tired and hungry for this
12:00:10 -!- boily has joined.
12:01:00 <coppro> k, I'm downgrading it from "fucking slow and a horrible space leak" to "goddamn slow"
12:01:21 <Sgeo> coppro: What language is it?
12:01:23 <coppro> oh wait derp derp
12:01:24 <coppro> Sgeo: haskell
12:01:29 <coppro> forgot something important
12:01:44 -!- cheater_ has quit (Ping timeout: 255 seconds).
12:02:04 <coppro> wait no I didn't
12:02:27 <coppro> now I only calculate the canonical form for each pattern
12:02:43 -!- ais523_ has joined.
12:02:46 <coppro> I could change it to eat space instead of time
12:02:53 <Sgeo> How do you only calculate canonical forms?
12:03:07 <ais523_> it'd pretty much destroy the universe either way, wouldn't it?
12:03:07 <Sgeo> I can only imagine determining all forms, then comparing :(
12:03:13 <coppro> Sgeo: I mean for each pattern, I calculate it's canonical form and get on with my life
12:03:16 <coppro> ais523_: yeah
12:03:32 <coppro> 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 <coppro> *its
12:04:13 <ais523_> coppro: I only go there for the LP subforum
12:04:23 <ais523_> although I post there every now and then
12:04:24 <Patashu> let's plays?
12:04:25 <coppro> 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 <coppro> ais523_: Yeah, I noticed
12:04:32 <ais523_> Patashu: yes
12:04:37 <coppro> I read through the MMBN thread
12:04:49 <ais523_> their IRC channel is weird, more or less everyone there seems to know each other in real life
12:04:53 <coppro> Sgeo: the problem is you're dealing with expoential growth either way
12:04:56 <ais523_> and I stopped going there as a result
12:05:28 <Patashu> Is there a certain kind of pattern that is never useful to consider?
12:05:33 <Patashu> Maybe the 4x4 case could shed light on it
12:05:33 <coppro> 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 <coppro> Patashu: Well some patterns always are islands in some circumstances
12:06:15 <coppro> notably, an alternating pattern in a 1-by-n torus is stable
12:06:36 <coppro> and quite clearly an eden
12:06:47 <coppro> but really the 1-by-n case is degenerate
12:06:52 <coppro> so you're dealing with a different CA
12:06:56 <Sgeo> 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 <coppro> Sgeo: The current algorithm is this:
12:07:14 <coppro> start at n = 0
12:07:23 <coppro> determine the pattern for n
12:07:28 <coppro> compute its canonical form
12:07:50 <Patashu> lol @ sets can only store 2^32 elements
12:08:00 <coppro> insert into the set
12:08:13 <Patashu> so you're going to be stuck at 6x6 with a naive algorithm
12:08:16 <coppro> go for n + 1
12:08:23 <coppro> Patashu: yeah
12:08:31 <coppro> Patashu: if I choose space consumption
12:08:51 <ais523_> wow, IE8 is annoying me already
12:08:55 <Sgeo> coppro, see if there are any set libraries in Haskell that don't have that limitation?
12:09:05 <coppro> if I go time, I can do it in space proportional to the number of symmetry groups
12:09:19 <coppro> 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 <coppro> 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 <Sgeo> Fit several ns into one number, store that number
12:10:04 <ais523_> hmm, I haven't checked the context of this conversation at all
12:10:12 <ais523_> but given Sgeo's involvement, I'm guessing it's the Game of Life
12:10:16 <coppro> Sgeo: That's just a hack around the limitation
12:10:22 <coppro> you still have N bits of data to store
12:10:22 <Patashu> why not store a set of sets
12:10:23 <coppro> ais523_: yeah
12:10:27 <Patashu> then you get 2^32 squared storage
12:10:41 <coppro> Patashu: again, hacking around limitations does not remove the fundamental space problem
12:10:52 <Patashu> I know, I'm just lolling at the thought of it
12:11:12 * Sgeo likes Patashu's hack better
12:11:34 <coppro> an interesting question is how many different symmetry groups there are for grids on a x by y torus
12:11:43 <coppro> does it have a succinct generating series?
12:11:50 <coppro> Oooh!
12:11:53 <Sgeo> ais523_, I wish I wasn't too tired to be involved in an actually useful way
12:12:06 <coppro> my code found two islands for 4x3, allegedly
12:12:21 <Sgeo> symmetry _groups_?
12:12:38 <coppro> Sgeo: yes
12:12:39 <Sgeo> Any canonical pattern should have at least 4xy ... thingies, possibly more
12:12:55 <Sgeo> Some of which may be identical, but whatever
12:12:57 <coppro> Sgeo: Not all unique
12:13:30 <coppro> equivalence classes is a better term
12:13:32 <coppro> let's use that
12:13:42 <Sgeo> I should go eat
12:14:10 <coppro> interesting
12:14:32 <coppro> the block in a corner is an island in a 4x3 torus
12:14:33 -!- cheater_ has joined.
12:14:44 <coppro> actually wait that's just any block
12:15:20 <ais523_> wow, I just got a ridiculous notification popup from the /browser/
12:15:25 <ais523_> I thought that was the system tray's job
12:15:45 <fizzie> They do "download completed" notifications often.
12:17:36 <coppro> the other is an s shape
12:17:52 <coppro> which is also stable
12:18:05 <coppro> interesting that no island I know of has period greater than 1
12:19:07 <ais523_> 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 <fizzie> 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 <ais523_> fizzie: oh, Microsoft are aware that that sort of notification shouldn't exist in the first place
12:21:48 <ais523_> 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 <fizzie> 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 <ais523_> it never was called the system tray, officially
12:26:10 -!- copumpkin has joined.
12:26:15 <ais523_> the name came about because the program responsible for it is called SYSTRAY.EXE
12:26:22 <ais523_> but it always was the notification area
12:29:35 <fizzie> 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 <ais523_> heh
12:30:35 -!- augur has joined.
12:31:55 <coppro> Ooh, 4x2 has a period 2 island
12:32:14 <coppro> (actually let's call that an archipelago)
12:32:17 <Patashu> LOL
12:34:14 <coppro> oh god
12:34:18 <coppro> this is like number theory
12:34:21 <ais523_> 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 <coppro> since any island can be repeated in a torus that its own divides into evenly to produce another island
12:34:50 <coppro> thus you have 'prime' islands
12:36:12 <fizzie> 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 <ais523_> hmm, unexpected flamewars to find on the Internet: an argument over whether BT (the telecomps company) is/are singular or plural
12:39:11 <fizzie> 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 <coppro> fizzie: Islands are necessarily closed loops
12:39:44 <Sgeo> 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 <ais523_> fizzie: ah, OK
12:39:57 <coppro> fizzie: In 4x3's case, because of the wrapping, there are no pre-blocks
12:40:07 <ais523_> does that explain why a tab group arbitrarily changes color within itself?
12:40:16 <coppro> Sgeo: dunno
12:40:16 <ais523_> as in, one of these groups was previously green and is now blue
12:40:37 <Sgeo> <coppro> Ooh, 4x2 has a period 2 island
12:40:39 <Sgeo> Didn't see that
12:40:53 <coppro> Sgeo: s tetronimo
12:41:23 <ais523_> 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 <coppro> it also has 2 period 1 islands, modulo symmetry
12:41:33 <ais523_> because I was offline for a few days, and when I come back, suddenly none of it makes sense
12:41:53 <coppro> ais523_: current status is an agreement has been reached between political leaders
12:42:04 <coppro> and everyone's hoping it will meet the approval of Congress as a whole
12:42:10 <ais523_> ah, OK
12:42:12 <fizzie> 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 <ais523_> is the agreement particularly sane?
12:42:57 <Sgeo> coppro, what oscillators have non-changing bounding boxes?
12:43:15 <coppro> fizzie: No, because the cell (0, 1) will come to life
12:43:29 <coppro> Sgeo: another excellent question
12:43:41 <coppro> Sgeo: wholly unrelated, of course
12:43:56 <Patashu> sgeo, I've seen oscillators with external framework and internal action
12:44:00 <Patashu> they have non-changing boundary boxes
12:44:18 <Sgeo> 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 <coppro> often you get an oscillator that spits a cell or two which dies promptly
12:44:30 <fizzie> coppro: Which cell is (0, 1)?
12:44:46 <coppro> err, (1, 0), (x, y) counting from the bottom left
12:45:11 <coppro> actually wait that whole two columns goes on
12:45:23 <coppro> and then the thing starts oscillating
12:46:09 <fizzie> Oh, right, it's really that non-tall. What's the word. Short.
12:46:28 <Sgeo> I wonder if it's possible to prove that all islands meet that spec, or a slightly enlarged version of it
12:47:02 <coppro> the one I just pointed out has a changing bounding box
12:47:12 -!- Taneb has joined.
12:47:37 <Sgeo> Oh
12:47:44 <Sgeo> Changing how?
12:47:55 <Sgeo> I should probably open Golly
12:48:52 <Sgeo> Meh, can't do it
12:49:19 <Sgeo> Still think no-5x5 no-bounding-change is an easy way to find islands
12:51:50 <coppro> it moves
12:52:08 <coppro> it shifts itself halfway around the torus in one generation in both dimensions
12:52:23 <Sgeo> But the bounding box doesn't change in size, just in location?
12:52:48 <Sgeo> Hmm, thought I discarded that direction due to other considerations
12:52:51 * Sgeo slaps self
12:53:03 <coppro> two islands detected in 5x3
12:54:55 <coppro> both are stable
13:02:14 <ais523_> hmm, opinions on Java 7 miscompiling code?
13:02:28 <ais523_> in a way that comes up a lot in real projects (it affects at least Lucene)?
13:02:32 <fizzie> "Sounds like a good idea to me."
13:02:36 <Patashu> what?
13:02:40 <Patashu> miscompiling code?
13:02:43 <fizzie> "Will teach those programmers to behave themselves."
13:02:48 <ais523_> apparently one of the optimisations that's on by default is broken
13:03:00 <ais523_> and can cause SIGSEGV or silently give wrong results
13:03:10 <Patashu> which one?
13:03:16 <fizzie> It *is* very new.
13:03:41 <ais523_> -XX:UseLoopPredicate
13:03:59 <ais523_> Oracle discovered five days before release, and did the release anyway without even changing the default setting
13:04:06 <Patashu> what
13:04:39 <ais523_> it just seems out of character for them
13:04:51 <ais523_> I mean, it probably affects their own software too
13:04:55 <fizzie> 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 <coppro> dammit
13:05:28 <coppro> I openend my old email archive for a reason
13:05:36 <coppro> now I haven't a clue what that reason is
13:07:27 <Patashu> '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 <Patashu> Code without any loops however is A-OK!
13:07:42 <coppro> Patashu: recusive code!
13:08:14 <ais523_> oh, code I'm annoyed at having to write: (void*)(int)0
13:08:23 <ais523_> because I want the value of 0, stored in a pointer
13:08:26 <ais523_> not a null pointer
13:08:39 <ais523_> (and ofc, this is in x86-specific code anyway and NULL == 0 there, so it's all pointless anyway)
13:08:40 <coppro> haha
13:08:51 <coppro> you could also use a non-constant expression for 0
13:08:51 <Patashu> why do you need 0 as a pointer
13:08:57 <ais523_> also, it's been some of the most cast-heavy code I've ever written
13:08:59 <coppro> int i = 0; (void*)i
13:09:20 <ais523_> Patashu: because the x86 does not care whether its registers are holding pointers or integers
13:09:26 <ais523_> so any declaration for an x86 register is going to be wrong
13:09:36 <Patashu> aah
13:09:54 <ais523_> 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 <coppro> 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 <ais523_> and there's been a lot of casting for signedness and bitwidth too
13:11:41 <ais523_> coppro: it doesn't say that in sys/user.h
13:11:50 <ais523_> (the include file which has a big notice saying that it exists only for GDB)
13:11:58 <coppro> haha
13:12:49 <ais523_> at least I've more or less figured out what it's for, now
13:13:04 <fizzie> 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 <ais523_> bleh
13:13:39 <fizzie> I believe even "(void *)(int)0.0" gives you a null pointer.
13:13:44 <ais523_> I deleted that bit of code anyway, though
13:13:54 <ais523_> hmm, what about (void*)*""
13:14:04 <Patashu> I have an idea
13:14:06 <Patashu> subtract a pointer from itself
13:14:07 <Patashu> bam, 0
13:14:12 <Patashu> NULL-NULL ?
13:14:17 <Patashu> maybe NULL-(int)NULL
13:14:24 <ais523_> Patashu: that's a ptrdiff_t, not a (void*)
13:14:37 <ais523_> and NULL-(int)NULL quite possibly gives SIGSEGV
13:14:42 <ais523_> the mere subtraction
13:14:46 <Patashu> really?
13:14:49 <Patashu> you're not even dereferencing it
13:14:53 <ais523_> yep
13:14:56 <Patashu> then why...
13:15:00 <ais523_> pointer values must point to actual objects, or one past
13:15:02 <ais523_> at all times
13:15:12 <ais523_> and must point to an object and not be one-past if you dereference them
13:15:13 <Patashu> what part of the architecture checks?
13:15:26 <ais523_> I can easily imagine a VM for C checking that
13:15:37 <ais523_> depending on what pointers are in it
13:15:49 <fizzie> 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 <coppro> it's also incredibly useful for the optimizer
13:16:19 <Taneb> I've had an idea
13:16:39 <coppro> since it allows to eliminate all code that would lead to invalid pointers
13:17:34 <Taneb> An esolang that is to Iota what Smalltalk is to Haskell
13:17:39 <coppro> 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 <coppro> moreover, if lto is used
13:17:58 <coppro> it can assume that any caller of foo will have i in that range
13:18:04 <Patashu> object oriented iota?
13:18:27 <Taneb> Pretty much
13:18:33 <Taneb> Actually, Jot.
13:18:52 <ais523_> I find Smalltalk : Haskell :: X : ? pretty difficult to calculate for any X but Smalltalk
13:18:59 <coppro> yeah
13:19:09 <ais523_> as in, I can't visualise the operator that transforms Smalltalk into Haskell or vice versa
13:19:12 <ais523_> they're pretty different
13:19:41 <Taneb> Haskell is the archetypical functional language
13:19:52 <Taneb> Smalltalk is the archetypical object orientated language
13:19:53 <coppro> no it's not
13:19:58 <Patashu> iota is functional
13:20:05 <Patashu> so it's some kind of object oriented lambda calculus i guess
13:20:13 <fizzie> 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 <coppro> The archetypical functional language is lisp
13:20:22 <Taneb> Okay, fine
13:20:31 <ais523_> Haskell is quite unusual as functional languages go
13:20:35 <Taneb> This language will be to Jot what Smalltalk is to Lisp
13:20:38 <Taneb> That better?
13:20:40 <ais523_> and Common Lisp isn't even particularly be functional
13:20:47 <ais523_> certain subsets of Scheme are
13:20:50 <Taneb> ...
13:21:11 <Sgeo> be functional?
13:21:12 <ais523_> fizzie: well, *"" is a constant, and an integer
13:21:33 <ais523_> Sgeo: I'm tired, and I forget where I am in the parse tree halfway through sentences sometimes
13:21:37 <ais523_> I closed a " with a ) a few days ago
13:21:45 <Taneb> You get the point, though
13:22:00 <Taneb> It's going to be an entirely object orientated turing tarpit
13:22:15 <Sgeo> Like Glass?
13:22:15 <Patashu> How do you make an object oriented turing tarpit?
13:22:20 <Patashu> Glass is the opposite of a tarpit I thought
13:22:25 <Sgeo> Oh
13:22:27 <fizzie> ais523_: Yes, but it's not an integer constant expression.
13:22:31 <Sgeo> I just know it's an OO esolang
13:22:37 <ais523_> fizzie: fair enough
13:22:39 <Patashu> Glass is the really verbose one iirc
13:22:51 <fizzie> ais523_: Alternatively, (void *)(1-1) is okay too.
13:22:54 <Sgeo> Single letters are verbose?
13:22:59 <ais523_> Patashu: no, that's ORK
13:22:59 <Patashu> Hmmm
13:23:01 <Patashu> Right
13:23:15 <Taneb> I'll start with an anonymous generic superclass object
13:23:29 <fizzie> Or (void *)(0?0:0).
13:24:01 <Patashu> Glass looks cool
13:24:21 <ais523_> 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 <fizzie> Or maybe not. It speaks of allowed operands; maybe it allows operators too.
13:24:46 <ais523_> 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 <Patashu> LOL ais
13:25:19 <fizzie> Anyway, string literals aren't not in the list of allowed operands, so *"" is very safe.
13:25:31 <ais523_> I'm glad it can be fixed with a simple if statement, at least
13:25:33 <Patashu> what's the value of *""
13:25:36 <ais523_> my earlier workaround was much worse
13:25:37 <ais523_> Patashu: 0
13:25:38 <fizzie> Patashu: 0.
13:25:47 <Patashu> why...oh, I get why
13:25:50 <ais523_> because "" is a zero-length string, so its first character is the end-of-string marker
13:25:54 <fizzie> You can write it as ""[0] if it's clearer that way.
13:26:03 <fizzie> Or 0[""] if you're feeling especially perverse.
13:26:06 <Patashu> LOL
13:26:09 <ais523_> you can write it like that even if it isn't clearer that way
13:26:28 <Patashu> how about *&*""
13:26:35 <ais523_> 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 <ais523_> I'm not convinced &* works
13:26:46 <fizzie> &* is not kosher, no.
13:26:49 <ais523_> although I'm not convinced it doesn't either
13:26:54 <fizzie> Can't take an address of non-lvalue.
13:26:58 <fizzie> Or something.
13:27:00 <ais523_> but *x is an lvalue
13:27:05 <fizzie> Right.
13:27:05 <ais523_> that why I wasn't sure
13:27:09 <fizzie> Maybe it actually does.
13:27:29 <angstrom> **&"" should work, though
13:27:40 <Patashu> !c printf("blah");
13:27:42 <fizzie> It was either the *& or &* pair that you were explicitly allowed to completely remove.
13:27:49 <Patashu> what's the c interpreter again
13:27:51 <angstrom> *& iirc
13:28:07 <ais523_> yep, *& wouldn't do anything
13:28:07 <Patashu> think we're missing an egobot actually
13:28:24 <ais523_> yay, my BF Joust record is safe
13:28:34 <fizzie> Right, it is &* that you can remove without evaluating.
13:29:00 <fizzie> "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 <ais523_> heh, so you can't do &**x = 6;
13:31:15 <ais523_> 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 <ais523_> 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 <ais523_> and it couldn't be killed, not even as root, not even with -9
13:32:00 <ais523_> and it was apparently being ptraced by init (the real init)
13:32:15 <ais523_> I'm not sure when it happened, I just found it lying around in top
13:32:17 <fizzie> &'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 <fizzie> But the *&*"" should be acceptable.
13:33:23 <angstrom> makes sense, yeah
13:34:00 <ais523_> 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 <ais523_> 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 <Patashu> (a, b) > c
13:35:12 <Patashu> how is that valid C++
13:35:15 <Patashu> I don't undertand , I guess
13:35:17 <coppro> what language?
13:35:40 <ais523_> C
13:35:51 <coppro> oh right /that/
13:36:00 <coppro> I remember now
13:36:00 <ais523_> and the comma operator evalutes its left argument, then ignores it and returns the value of its right argument
13:36:07 <coppro> yeah yeah
13:36:10 <coppro> this came up on clang
13:36:17 <ais523_> well, it came up on all the compilers they tested
13:36:25 <ais523_> as they couldn't tell which behaviour was correct by majority vote
13:36:30 <coppro> well I mean development discussion
13:36:56 <coppro> it seemed to me relatively clear that the only reasonable reading of the standard had , preserve bit-fieldness
13:36:57 <Patashu> so what's the quote unquote right answer
13:37:22 <coppro> C++ also noticed this issue long ago and resolved it in that fashion
13:37:57 <Taneb> So, what happens if the left argument has IO
13:38:04 <ais523_> Taneb: then the IO gets done
13:38:07 <coppro> it is evaluated and discarded
13:38:11 <ais523_> that's part of the reason you might want to use ,
13:38:24 <ais523_> although more often, you do a side effect that changes local or global state than IO
13:38:40 <Patashu> I never think about using ,
13:38:46 <ais523_> e.g. using i++,j++ as the third argument to for
13:38:55 <Patashu> oh except for for loop updates
13:40:10 -!- ais523_ has left.
13:40:15 -!- ais523_ has joined.
13:42:34 <Taneb> I think my spec for Smallertalk is using to many regexes
13:42:52 <Patashu> can never use too many regexes
13:43:26 <coppro> this does not sense the make :/
13:43:50 <Taneb> (Hint: it's a BMW)
13:44:30 <fizzie> 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 <Patashu> but isn't it possible they'll be inlined?
13:45:08 <ais523_> &"foo" is the same address as "foo", though? just a different type and size?
13:45:09 <coppro> 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 <coppro> ^ set of sets of points on a 4x4 torus that are in archipelagos
13:45:43 <coppro> which is exactly the set that are in islands
13:45:48 <coppro> so 4x4 has no stable islands, apparently
13:46:20 <fizzie> 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 <ais523_> hmm, doesn't char[4] decay into char* in all contexts in which its value matters?
13:47:14 <ais523_> the only places it doesn't are metadata checks
13:49:06 <fizzie> 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 <fizzie> That is rather funny, though:
13:50:06 <fizzie> `run echo -e '#include <stdio.h>\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 <HackEgo> 2 8 2
13:51:13 <Patashu> Huh
13:51:14 <Patashu> It works
13:51:15 <ais523_> tmp.tmp is a weird temporary filename
13:51:18 <ais523_> I normally use /tmpt/
13:51:21 <ais523_> * /tmp/t
13:51:53 <Deewiant> I tend to use tmp or tmp.tmp for files in the cwd, /tmp/x otherwise
13:51:53 <fizzie> I didn't really recall what sort of file system it has visible there, so thought "." might be safest.
13:52:16 <fizzie> `run pwd
13:52:17 <HackEgo> ​/tmp/hackenv.17687
13:52:23 <fizzie> That looks quite autocleaned.
13:52:35 <Patashu> try using reserved words
13:52:41 <Patashu> you can deduce what file system it is
13:52:51 <Patashu> and then bust out the mad file system exploits and get root !!
13:52:57 <ais523_> wait, that filename has a space in?
13:53:01 <ais523_> or, rather, dirname?
13:53:13 <ais523_> "/ tmp/hackenv.17867"
13:53:18 <Patashu> I don't see it
13:53:21 <fizzie> I don't see a space there either.
13:53:34 <ais523_> hmm, this client must be mad
13:54:14 <fizzie> 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 <ais523_> meanwhile, did you know that BSD have standardised exit codes for commands?
13:55:56 <ais523_> and that the standardisation covers some relatively unlikely events, but not some relatively common ones?
13:56:12 <ais523_> `run readlink /proc/self/fd/0
13:56:13 <HackEgo> pipe:[4783072]
13:56:38 <ais523_> hmm, I wasn't expecting that, but I suppose it's inevitable
13:56:43 <ais523_> I'm trying out things that caught my program out
13:56:52 <ais523_> but I haven't found many
13:57:11 <ais523_> I also wrote an execbomb, just for fun
13:57:44 <ais523_> 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 <fizzie> 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 <ais523_> (also, I thought it'd help me track down a bug, but it didn't)
13:58:07 <ais523_> fizzie: probably PTRACE_SYSCALL, that's what I'm using
13:58:21 <ais523_> disallowing arbitrary syscalls or faking them is quite easy like that
13:58:32 <ais523_> also, turns out that _newselect does do something, I caught a program using it
13:58:36 <ais523_> as far as I can tell, it's identical to select
13:58:45 <fizzie> 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 <Deewiant> for (;;) execv("/proc/self/exe", argv); ?
13:59:33 <ais523_> fizzie: I'm not using a fake libc, so that I can handle arbitrary executables, no matter how insane
13:59:51 <ais523_> although I'm surprised at some of the insanity I've seen running it on random programs I had lying around
14:00:16 <ais523_> 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 <fizzie> `run readlink /proc/self/exe
14:00:23 <HackEgo> ​/usr/bin/python2.5
14:00:26 <fizzie> That was a bit funny.
14:01:18 <ais523_> (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 <ais523_> I also have a regular file that I'm pretending is actually a character device
14:01:46 <ais523_> for /dev/fb0
14:01:56 <Patashu> what's personality for?
14:02:01 <ais523_> I actually got Wesnoth to run and produce graphical output
14:02:05 <ais523_> Patashu: mostly, it changes syscall numbers
14:02:24 <ais523_> 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 <ais523_> but you can also use it to turn ASLR on or off
14:02:36 <ais523_> and a few other things too
14:02:37 <fizzie> 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 <ais523_> 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 <fizzie> Oh, you're actually letting the process to mmap it and then reading the graphics from the file?
14:04:01 <ais523_> yep
14:04:08 <fizzie> Nifty.
14:04:20 <ais523_> and then repacking the data into a PNG
14:05:54 <ais523_> it'd have been hilarious if I could just get it to operate on the data section of a bitmap directly
14:06:03 <ais523_> but that wouldn't allow for screen resolution changes
14:06:29 <ais523_> I also disguise a pty as a vt, but that's not all that surprising
14:07:50 <ais523_> oh, and /dev/input/mice is actually a FIFO
14:08:04 <ais523_> how many types of file do I have left to disguise as character devices?
14:08:18 <ais523_> directory could be a little hard, block device would probably be a bad idea
14:08:23 <fizzie> A Door.
14:08:28 <fizzie> (That's a Solaris thing.)
14:08:36 <ais523_> and things like doors and whiteouts, I don't know what they're for
14:08:39 <ais523_> (whiteouts are BSD)
14:09:40 <fizzie> Doors are some sort of IPC thing, you can register them, and then get invoked by other processes.
14:10:12 <ais523_> oh, I forgot sockets
14:10:26 <ais523_> (AF_UNIX sockets, that is, the ones that can be implemented inside a sandbox without going insane)
14:10:31 <ais523_> at least PulseAudio is trying to use them
14:10:52 <ais523_> (am I insane for wanting to get a copy of PulseAudio running inside this sandbox?)
14:11:08 <fizzie> I guess it depends on what you actually need the sandbox for.
14:11:31 <fizzie> D-Bus runs on Unix domain sockets (IIRC) and it's quite widely used.
14:11:57 <fizzie> Well, I guess it can run over TCP too.
14:12:03 <ais523_> well, any dependency of anything, in theory
14:12:17 <ais523_> so far, most of the dependencies have been reasonably sane
14:12:23 <ais523_> although seeing the internals of how SDL works worries me
14:13:02 <ais523_> (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 <ais523_> (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 <fizzie> 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 <ais523_> there's something about a loop that /just/ contains nanosleep and gettimeofday that makes me angry
14:15:13 <ais523_> I mean, why wouldn't you just sleep for the amount of time you want to sleep for?
14:15:33 <fizzie> nanosleep provides no guarantees on how long it actually ends up sleeping.
14:15:39 <ais523_> it provides a minimum
14:15:58 <fizzie> No, it can easily be interrupted in the middle.
14:16:10 <fizzie> (Though you can of course notice that.)
14:16:14 <ais523_> oh right, but its third argument tells you how much time it has left
14:16:22 <ais523_> and its return value says it's happened, too
14:16:30 <fizzie> Does it at least call nanosleep with different values, or just some fixed small offset?
14:16:43 <ais523_> and even then, the only things that interrupt it are signal /handlers/ (not general signals)
14:16:47 <ais523_> small fixed offset
14:16:55 <ais523_> 1 millisecond, IIRC
14:17:00 <fizzie> Heh-eh.
14:17:06 <fizzie> I guess they don't trust their nanosleep.
14:17:07 <ais523_> but I get confused counting zeros
14:17:35 <ais523_> especially because most things my code does are in nanoseconds internally, in one place even picoseconds
14:17:49 <coppro> woo
14:17:54 <coppro> I pulled an all-nghter
14:17:58 <coppro> *nighter
14:18:32 <fizzie> 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 <ais523_> (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 <ais523_> yep, I can understand a gettimeofday check to work out how long to sleep for
14:19:34 <ais523_> (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 <ais523_> also, wow, Python is older than PHP?
14:20:14 <ais523_> I hadn't realised that
14:21:13 <ais523_> and they both predate Java?
14:22:04 <coppro> ais523_: don't start telling me that COBOL predates C now
14:22:13 <ais523_> that doesn't surprise me
14:22:30 <coppro> I have no clue if it's true
14:22:35 -!- cheater_ has quit (Ping timeout: 255 seconds).
14:22:44 <ais523_> most popularish languages were created in the chronological order that I expected them to have been created in
14:22:47 <coppro> Wikipedia says COBOL is 13 years the junior
14:22:50 <ais523_> but those relationships surprised me
14:22:56 <coppro> *senior
14:23:02 <ais523_> coppro: phew at that fix
14:23:07 <coppro> haha
14:23:25 <ais523_> I'm not sure of the relative age of COBOL and Algol
14:23:38 <ais523_> 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 <ais523_> ooh, Java 7 lets you catch multiple specific types of exception in one catch block
14:31:42 <ais523_> that'd be really useful if it got loops right
14:32:12 <coppro> link?
14:32:37 <ais523_> I don't have something that's more than a bare explanation and a code example
14:32:53 <ais523_> try { ... } catch (FooException | BarException ex) { ... }
14:33:34 <ais523_> 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 <ais523_> 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 <coppro> eww
14:35:51 <coppro> to both
14:36:11 <coppro> also requireNonNull is more like an assertion
14:36:14 <ais523_> the first is useful if there are a set of exceptions that have to be handled the same way
14:36:16 <coppro> except that in Java you don't assert
14:36:17 <coppro> you throw
14:36:19 <ais523_> requireNonNull I'm fine with
14:36:37 <ais523_> although, it'd be hilarious if it threw a NPE on failure (I haven't looked at it)
14:36:55 <ais523_> oh wow, it does as well
14:37:04 <coppro> of course it does
14:37:08 <coppro> what else would it do?
14:37:09 <coppro> crash?
14:37:20 <ais523_> throw some other sort of exception, I suppose
14:37:30 <coppro> 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 <Sgeo> Gah
14:45:31 <Sgeo> 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 <ais523_> including IRC?
14:46:52 <Sgeo> Except for IRC. Although hmm
14:48:09 <itidus20> whats a Nook?
14:48:12 <itidus20> is it an ebook reader?
14:48:18 <ais523_> yes
14:48:23 <itidus20> ok heres the reason why.
14:48:39 <ais523_> 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 <ais523_> but forget why
14:48:45 <itidus20> computers have resolutions like 1920x1080 or whatever...
14:48:53 <ais523_> (as in, they were buying them even though they didn't need them)
14:49:18 <itidus20> e-ink has huge resolutions bringing the system more in line with things like print
14:49:45 <itidus20> also,(good) ebook readers presumably don't have an annoying refresh rate which you can't really see conciously
14:50:17 <itidus20> low-res bothers the eyes, refreshes bother the eyes, bright light bothers the eyes
14:50:21 <Sgeo> http://www.theregister.co.uk/2011/04/27/barnes_and_noble_response_to_microsoft_suit/ is this related?
14:51:02 <Sgeo> 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 <ais523_> Sgeo: probably
14:51:22 <ais523_> if they're standing up to Microsoft, people will like them because of that
14:51:35 <itidus20> i didnt just make up these beliefs... they stress your eyes
14:51:41 <itidus20> whether you conciously care about it or not
14:53:42 <itidus20> software patents strike again
14:54:13 <ais523_> that's got to be at least three times, now
14:54:16 <ais523_> are they out yet?
14:55:22 <coppro> `addquote <itidus20> software patents strike again
14:55:23 <HackEgo> 556) <itidus20> software patents strike again
14:55:24 <coppro> dammit
14:55:26 <coppro> `revert
14:55:26 <HackEgo> Done.
14:55:42 <ais523_> wrong line?
14:55:46 <coppro> `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 <HackEgo> 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 <itidus20> 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 <ais523_> (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 <ais523_> itidus20: I think in the UK, it's theoretically impossible for the Queen to commit murder
14:57:02 <itidus20> And they are protected by the laws so long as those same laws benefit the giant commercial businesses
14:57:06 <ais523_> although if she tried, no doubt the law would be changed, or at least she'd be forced out of office
14:57:41 <Taneb> The Queen is not subject to the law of the United Kingdom
14:57:49 <Taneb> Because she /is/ the United Kingdom
14:57:53 <coppro> Yes she is
14:58:16 <ais523_> IIRC she can't commit crimes, though, there's some sort of royal exception
14:58:49 <itidus20> But... how to nintendo-ize this idea of the enemy bound by its own laws and turn it into a game.
14:58:54 <coppro> I know she can't go around killing people either
14:59:03 <Sgeo> I wonder how much of my Nook usage is just me playing with my new toy
14:59:22 <itidus20> coppro: i ain't gonna say another god damn thing lest i commit some kind of treason
14:59:26 <itidus20> being in australia and all
14:59:38 <itidus20> lol
15:00:27 <Taneb> The Queen is theoretically allowed to prevent the Parliament from passing a bill
15:00:41 <Taneb> However, the last time this power was utilized was 1704
15:00:44 <ais523_> Taneb: she still has to sign them, but she's allowed to sign them by default nowadays
15:01:03 <ais523_> 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 <ais523_> so she'd have to go to the effort of telling them not to
15:01:46 <itidus20> 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 <Taneb> So... it's kinda like Nomic?
15:02:19 <itidus20> 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 <itidus20> but then.. you would have to avoid the ground
15:02:38 <ais523_> it'd be really easy to create loopholes
15:02:46 <ais523_> unless the set of laws you could create were really restricted
15:02:53 <itidus20> hmm..
15:03:02 <itidus20> also..
15:03:12 <itidus20> the game would have to be continuous...
15:03:20 <itidus20> er hmm...
15:03:24 <itidus20> i dunno how..
15:03:30 <coppro> this reminds me of that hilarious state where the governor was allowed to veto individual words
15:03:50 <itidus20> most of the ideas i discuss have been bouncing around in my head for ages
15:03:55 <coppro> and one crafty governor rewrote a bill by vetoing all be the words he wanted
15:04:01 <itidus20> this is no exception. i just never said it this way
15:04:13 <ais523_> coppro: reminds me of italicisation scams in BlogNomic
15:04:15 <fizzie> ais523_: 7 also adds that one typing-saver (that IDEs I guess generally autocomplete), you can write Map<Long,Set<Of<Types>>> map = new HashMap<>(); without having to repeat the parameters.
15:04:23 <ais523_> fizzie: I like that one too
15:04:38 <ais523_> although generally speaking it's not too bad even in 6 with the sort of generic uses I mostly write
15:05:08 <itidus20> 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 <Taneb> ...Anyone up for Nomic?
15:05:50 <itidus20> ais523_: loopholes would be ok so long as the game doesn't reach a stalemate.
15:06:17 <fizzie> ais523_: And strings in switch() cases done using .hashCode() + comparisons internally.
15:06:18 <ais523_> Taneb: I'm a player of Agora, and so are several other members of this channel
15:06:26 <ais523_> fizzie: that's a sensible way to do it, isn't it?
15:06:26 <itidus20> actually.. in the scenario example i gave..
15:06:30 <MDude> I'm guessing laws wouldn't be able to refer to teams directly?
15:06:38 <Taneb> Hmm...
15:06:51 <itidus20> MDude: yeah thats the catch...! it's meant to reflect the real world in that sense
15:07:08 <ais523_> it's basically impossible to word a restriction like that and have it work
15:07:18 <ais523_> referring to teams indirectly is very easy
15:07:31 <fizzie> ais523_: Yes, and it'd be really quite verbose when done explicitly.
15:07:33 <coppro> http://en.wikipedia.org/wiki/Frankenstein_veto
15:07:53 <MDude> What do you mean by inderect?
15:08:19 <MDude> Because stupid quine stuff still seems pretty direct for the purpose of game rules.
15:08:38 <itidus20> by the way.. in my head this is an arcade game side scroller
15:08:45 <itidus20> that is where i differ with this room :D
15:09:04 <itidus20> but yeah, i appreciate text games too.. and natural language games
15:09:06 <ais523_> itidus20: heh, that's an interesting juxtaposition
15:09:08 <itidus20> and whatever
15:09:17 <ais523_> it'd be unsual as nomics go
15:09:42 <ais523_> MDude: things like giving everyone on the other team a token, then killing everyone with a token
15:09:46 <itidus20> "<itidus20> 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 <itidus20> ais523_: hmm.... oh gosh i see..
15:10:19 <itidus20> hahahah....
15:10:36 <ais523_> or just giving /everyone/ a token, then dropping your own token before the enemies can react
15:10:39 <itidus20> the juxtaposition helps in that regard... since an arcade game is a finite system
15:10:40 <ais523_> then killing everyone with a token
15:10:48 <ais523_> yep, I think a finite system would work best
15:10:56 <ais523_> the issue would be to prevent the game feeling restrictive
15:11:04 <itidus20> well
15:11:13 <itidus20> ok maybe it wouldn't be finite
15:11:28 <itidus20> you could spawn things (gets nervous)
15:11:53 <itidus20> I mean.. if you can declare that the ground kills people... theres really no limits on what you can declare
15:12:02 <itidus20> you can certainly declare someone has a token
15:12:26 <itidus20> ermm.. yeah.. i will stop talking for a moment and chill
15:12:53 <itidus20> When mexicans enter america, and get on welfare... this is what i believe is happening
15:12:59 <ais523_> this problem is probably unsolvable
15:13:01 <ais523_> but if you do solve it, the resulting game will be great
15:13:04 <itidus20> that is my explanation, represented as a game
15:13:28 <itidus20> so who does usa have to blame for it
15:13:30 <itidus20> ya know
15:13:40 <itidus20> they wrote their own friggen laws
15:14:50 <itidus20> ie "anyone on the ground heals their health"
15:17:14 <itidus20> ais523_: i tried writing up a game based on pennymatching... it just wouldn't click right..
15:17:22 <MDude> Would the laws be written as the side scroller is being played, or between rounds?
15:17:25 <itidus20> the answer is that games don't need to be resolved
15:17:37 <itidus20> MDude: while being played.. well it could be any kind of game
15:18:30 <ais523_> competitive Pokémon reminds me of pennymatching, but there's too much randomness in it to fit your criteria
15:18:58 <itidus20> pennymatching is probably ok... i just haven't cracked how to make it work as a game
15:19:48 <itidus20> my head is full of fallacies and misconceptions, and overanalysis...
15:19:53 <itidus20> whats the other side of my brain
15:19:56 <itidus20> what can it do :-s
15:20:07 <MDude> 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 <itidus20> i need to try them both in more balance
15:21:16 <itidus20> I'm writing up a lot of my ideas in an open office document tonight
15:22:04 <MDude> Well I guess it wouldn't be based on it exactly.
15:24:09 <itidus20> 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 <itidus20> An amusing narrative to accompany an otherwise direct rendition of pennymatching.
15:25:39 <MDude> 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 <Sgeo> gift
15:26:00 <Sgeo> Never played
15:26:07 <ais523_> itidus20: you probably need more than two options to make it work as a game
15:26:12 <MDude> The penny matching would be used to decide who wins when units of the same type fight.
15:26:15 <ais523_> any even number would do
15:26:41 <itidus20> ais523_: i spent hours playing with the idea. im letting it go for now
15:26:54 <ais523_> fair enough
15:26:58 <itidus20> hehehehe
15:27:12 <ais523_> oh no, I just realised that if you become a game dev, you're probably going to have to learn C++
15:27:35 <Taneb> Unless he makes Java or Flash games
15:27:40 <Taneb> Or HTML5 + Javascript
15:28:02 <itidus20> i worked out the 16 possible rulesets for pennymatching, and wrote up a scenario for each one...
15:28:14 <itidus20> 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 <MDude> I don't think it'd be much of a game by itself.
15:29:10 <itidus20> then i started to abstract out the flags
15:29:28 <MDude> But it's a nice thing to use wherever you want to prevent ties in a non-deterministic game.
15:29:37 <itidus20> 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 <MDude> Or pseudo-non-deterministic, anyway.
15:29:57 <itidus20> i really did spend hours on it
15:30:08 <itidus20> but i had to stop somewhere
15:30:44 <itidus20> I realized then and there that Nash Games doesn't equate to Fun Games
15:31:09 <itidus20> You don't play a Nash Game for fun... you play it as part of life
15:31:53 <itidus20> They can be incorporated etc
15:32:13 <itidus20> But theres a reason that noone has released a book of Nash Games Children's Edition
15:33:21 <itidus20> Ok I went a bit far there.. They can be fun of course, or pennymatching wouldn't exist
15:33:48 <itidus20> But in general it's not a motherlode of fun.
15:34:45 <itidus20> 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 <Taneb> Well, it's tipping it down
16:25:31 -!- pumpkin has changed nick to copumpkin.
16:26:08 <Taneb> I hope Elliott doesn't get caught outside
16:28:11 <itidus20> 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 <Sgeo> Gregor is already here
16:36:56 <Sgeo> ...dammit, that joke is a lie
16:37:24 <itidus20> The joke, is in your pants.
16:37:33 <itidus20> oops
16:37:41 <itidus20> 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 <itidus20> I'm feeling too tired to read my own typing. Maybe I am actually tired.
16:43:15 -!- ais523 has joined.
17:07:28 <itidus20> 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 <itidus20> They have to take objects like pillars and throw them as projectiles.
17:08:17 <Taneb> But by one of Newton's laws, I think it's the third one
17:08:32 <Taneb> They can throw a clump of air with equal mass to themselves downwards
17:08:34 <itidus20> I haven't studied it in depth though. I was just guessing there.
17:08:36 <Taneb> And ascend
17:09:20 <itidus20> 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 <Taneb> Yes
17:09:31 <Taneb> Ish
17:09:35 <Taneb> Well, no
17:09:36 <itidus20> thats an interesting idea
17:09:39 <Taneb> But that has a similar effect
17:09:55 <Taneb> He could do that force headstand
17:10:04 <itidus20> oh wait i forgot
17:10:27 <itidus20> he DID levitate ..............oh man i forgot i forgot.. he levitated C3p0 on the chair
17:10:39 <itidus20> it was a robot
17:10:43 <itidus20> hence
17:10:50 <MDude> What wasn't himself, though.
17:10:59 <itidus20> i mean.. a robot is inorganic
17:11:16 <MDude> Levitating other people would be different, I think.
17:11:19 <Taneb> And in the prequels, everyone was doing stupid force backflips everywhere
17:11:21 <itidus20> so he was able to raise c3po in the air on the chair
17:11:26 <MDude> Though it would mean two people could fly together.
17:11:45 <itidus20> 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 <itidus20> :D
17:12:11 <itidus20> think of it.. luke had to cling for dear life at cloud city
17:12:36 <Taneb> Maybe he had put on weight?
17:12:56 <MDude> I tihnk part of it is that you need deep concentration to do lift stuff.
17:13:17 <itidus20> well whether the reasons are secret or not.. it is clear that you cannot fly
17:13:20 <MDude> Though I guess he'd have enough time if he was jsut hanging there.
17:13:57 <itidus20> even yoda can't fly
17:14:06 <MDude> Yeah, I haven't seen anyone just sailing through the air.
17:14:18 <itidus20> i have been thinking about this for quite some time :P
17:15:24 <itidus20> So he can make robots fly if they are sitting on a chair... he demonstrated that
17:15:50 <itidus20> presumably he could have made him float too... but he was trying to trick them into thinking c3po was a god
17:16:05 <Taneb> It worked, too
17:16:51 <itidus20> its surely no coincedence.. this emphasis on levitating the spacecraft in the swamp... and then not being able to fly
17:17:44 <MDude> I remember the Yoda says something about not being too reliant on force powers.
17:18:05 <itidus20> I havent seen number 3 yet
17:18:11 <itidus20> but i know a lot about it
17:18:27 <MDude> Or someone who teahces force stuff said it.
17:19:07 <MDude> I think making a momentary jerk at something might be a lot easier than a sustained hovering.
17:19:15 <MDude> Hence why they can jump usper high.
17:20:05 <itidus20> anakin was super badass and could choke you..
17:20:13 <quintopia> it's simple: the force makes no sense!
17:20:21 <itidus20> it seems that you need a lot of power to choke someone with the force
17:20:21 <MDude> Maybe they have a feild around themselves that needs to be anchored to the ground or whatever.
17:20:41 <itidus20> noone else ever used the force as a melee weapon
17:20:49 <itidus20> except anakin
17:21:10 <Taneb> He was a dick
17:21:17 <itidus20> he can punch you with the force
17:21:21 <MDude> Well the main three mvoies only have the two evil force users.
17:21:21 <itidus20> he is the only one i think
17:21:34 <itidus20> he can rain fists down on your ass
17:21:44 <Taneb> WITH HIS MIND
17:21:45 <itidus20> but that seems to depend how weak you are
17:22:43 <MDude> Yoda did move the X-Wing, but it wasn't really that far of a distance.
17:22:54 <MDude> Maybe the difficulty of lift increases with fligth time.
17:22:57 <itidus20> MDude: they can move inorganic objects
17:23:12 <itidus20> the point is the inorganicness
17:23:21 <itidus20> i dont know which scene you mean though re: xwing
17:23:26 <MDude> I don't see how they can't lift organics.
17:23:29 <Taneb> What about Darth Vader squishing people's necks?
17:23:33 <itidus20> thats the whole topic man
17:23:35 <MDude> The one where it's lifted form the swamp.
17:23:58 <itidus20> Taneb: well.. he is applying pressure like a choke
17:24:25 <itidus20> he can't actually control the guys neck.. only choke it
17:24:45 <itidus20> maybe its partial control cos anakin is so strong with the force
17:24:48 <MDude> Maybe it isn't purly an issue of being able ot grab.
17:25:02 <itidus20> yeah true
17:25:13 <MDude> It might be that organic stuff damages too easily
17:25:17 <Taneb> brb
17:25:22 <itidus20> Taneb: well i derived the fact he could punch from the fact he could choke
17:25:28 <MDude> WIth an X-Wing, you jsut pull on the metal frame and there you go.
17:25:31 <itidus20> even though he never used such punches
17:25:53 <MDude> With a human you need ot make sure not to dislucate the squishy innards.
17:26:04 <itidus20> 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 <itidus20> or something like that
17:27:16 <MDude> 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 <itidus20> :-D
17:27:43 <quintopia> the dark side is more powerful, obviously
17:27:43 <quintopia> at least when it comes to accomplishing violence
17:28:24 <ais523> perhaps it's more flexible
17:28:32 <ais523> the reason the light side is so much harder to use is that it's a tarpit
17:28:41 <ais523> and the dark side actually has useful primitives
17:28:52 <itidus20> but you pay a price for the power of the dark side
17:28:59 <quintopia> have you ever considered that all the force is just jedi mind tricks...persistent illusions of sights and sensations...
17:29:03 <ais523> lack of referential transparency?
17:29:08 <itidus20> or do you?
17:29:20 <itidus20> 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 <ais523> 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 <ais523> umm
18:43:01 <ais523> 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 <Deewiant> You can use e.g. http://koti.kapsi.fi/jpa/stuff/other/epsilon/zizzo.cgi to generate that programmatically
18:44:30 <ais523> heh, it's already been thought of?
18:44:38 <ais523> or is it a sequence guesser?
18:44:42 <Deewiant> The latter
18:44:52 <Deewiant> (from http://www.ohjelmointiputka.net/kilpa.php?tunnus=alyot )
18:45:25 <itidus20> i knew a haskell guy who wrote some kind of arithmetic sequence guesser
18:45:47 <ais523> the thing is, after a while they'd probably guess the definition of S
18:45:52 <ais523> and it has to be higher by 1 even allowing for that
18:46:40 <itidus20> so its a sequence based on human nature?
18:46:53 -!- Guest63017 has changed nick to Gregor.
18:47:04 <itidus20> did you have the idea that lots of people would add numbers to it blind?
18:47:13 <itidus20> or am i reading this all wrong?
18:47:37 <ais523> itidus20: well, I think they'd stop being blind after a while
18:47:44 <ais523> and that is also accounted for by the sequence
18:47:49 <ais523> so, yes, human nature is involved
18:48:12 <itidus20> ais523: i know what you should do with this idea
18:48:26 <itidus20> that random anonymous text chat website
18:48:35 <itidus20> i forget its name
18:48:40 <ais523> no, that's unlikely to be a good use for it
18:48:48 <itidus20> you could just show the sequence to random people and wait for a number
18:48:54 <itidus20> and then build it up in that way
18:50:18 <itidus20> ok i presented a random human being with a "1"
18:50:26 <itidus20> they are mulling it over
18:52:35 <itidus20> "You: 1 Stranger: hi Stranger: asl? You: ok which number comes next, given: 1" -- didn't go so well
18:53:09 <ais523> I didn't think it would
18:53:20 <itidus20> however...
18:54:38 <oerjan> 1,3,6,11 is the first terms i get by introspection
18:55:40 <oerjan> but i have no obvious "would guess" for the next term
18:56:07 <itidus20> "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 <oerjan> itidus20: no!
18:56:23 <itidus20> am i doing it wrong?
18:56:31 <itidus20> lol
18:56:39 <oerjan> yes. after he answers 2, you should do 1, 3
18:57:16 <fizzie> oerjan: I'd go with 18 to your "1,3,6,11," -- it looks like the partial sums of primes.
18:57:28 <oerjan> ah.
18:58:07 * oerjan swats fizzie for suggesting 1 is a prime -----###
18:59:08 <fizzie> 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 <fizzie> And it leaves the starting point of 1 a bit arbitrary.
18:59:36 <oerjan> ok.
19:00:31 <oerjan> hm OEIS sorted on relevance doesn't look good for this
19:00:34 <itidus20> 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 <oerjan> (it gives 1, 5, 20, 70, 240, 810, as the first result for "1")
19:00:51 <itidus20> i know it could be googled but meh
19:01:27 <oerjan> eek sorting by references gives the _prime numbers_
19:02:25 <oerjan> ok at least 1,3,6 gives the triangle numbers
19:03:13 <oerjan> fizzie: heh OEIS went with 19 for 1,3,6,11 :P
19:03:38 <oerjan> (Fibonacci(n+3) - 2)
19:04:17 <ais523> so clearly the best next element is actually 20
19:06:04 <oerjan> which gives 2^n + n, next element becomes 38
19:06:32 <oerjan> OEIS gave up on 1,3,6,11,20,38
19:06:43 <ais523> clearly, it needs to contain /this/ sequence
19:06:49 <ais523> and increment numbers in it on every pageview
19:06:57 <oerjan> XD
19:08:00 <oerjan> ok if i accept OEIS's 1, 5, suggestion for a starting 1...
19:08:01 -!- Taneb has joined.
19:08:34 <oerjan> eek. pascal's triangle read by rows.
19:08:37 -!- hagb4rd has joined.
19:09:04 <oerjan> in particular, the 1,6,15 ... row
19:09:58 <oerjan> this time OEIS gave up on 1,6,16,32,385
19:11:29 <oerjan> ais523: i suspect humans might not do much better than OEIS.
19:14:26 <ais523> indeed
19:17:20 -!- hagb4rd has quit (Ping timeout: 250 seconds).
19:17:35 <Deewiant> Humans can understand lots of stuff like 1,2,3,15,16,17, OEIS can't
19:17:49 <Taneb> Until someone adds it
19:18:16 <Deewiant> I don't think you can add just any kind of triviality to OEIS, or can you?
19:18:23 <Taneb> You can
19:18:43 <oerjan> 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 <Taneb> (n-(n mod 3))*11+ n
19:28:45 <oerjan> > 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 <lambdabot> [0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,...
19:29:18 <Deewiant> > map (pred . (2^)) [0..]
19:29:19 <lambdabot> [0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,...
19:30:33 <oerjan> heh, so attempting the procedure with the simplified guess of "use simplest polynomial fit" just gives 2^n-1
19:31:06 <ais523> haha
19:31:12 <oerjan> ...i guess that's a consequence of pascal's triangle, really
19:31:17 <ais523> that's kind-of neat, actually
19:32:01 <oerjan> or of the binomial expansion of (1+1)^n
19:32:15 <ais523> oh, putting it like that makes it obvious
19:32:18 <ais523> but it's still neat
19:33:42 <quintopia> 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 <Taneb> 1,negative infinity?
19:35:07 <quintopia> *greater than the previous term
19:35:09 -!- NihilistDandy has quit (Read error: Operation timed out).
19:35:23 <quintopia> (note that i would guess negative infinity just to mess with you)
19:35:34 <ais523> negative infinity plus 1!
19:36:01 -!- cheater_ has joined.
19:36:10 <Taneb> Which is convenientally equal to negative infinity
19:36:16 <oerjan> ais523: Esolang talk:Site support appears to be spam
19:37:11 <ais523> I'll check the recent changes in a bit
19:37:19 <ais523> but it'll be dealt with
19:37:37 <ais523> need to give elliott a chance to userfy it first :)
19:37:41 <oerjan> well the danger here is that elliott might squat it be... right
19:37:59 <oerjan> i mean, WRONG
19:39:32 <ais523> it's happened before
19:39:37 <oerjan> 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 <Taneb> I was wrong
19:40:00 <Taneb> It's still in user section, it can be changed
19:40:29 <oerjan> well i would think you'd have trouble whenever they can overlap, anyhow.
19:40:47 <Taneb> Yeah, that's what I thought
19:41:22 -!- cheater__ has joined.
19:42:17 <itidus20> Sighs, wondering if I would understand my own ideas better if I had learned Haskell yet.
19:42:33 <oerjan> how's the haskell going?
19:42:41 <itidus20> Haven't got back to it yet
19:43:38 <itidus20> But I am intrinsically about game creation.. and Haskell would only serve that end for me in some level
19:44:09 <oerjan> well there are games in haskell, at least.
19:44:12 -!- cheater_ has quit (Ping timeout: 250 seconds).
19:44:47 <itidus20> 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 <Taneb> Does anyone have any idea if Luigi is Turing Complete?
19:45:26 <itidus20> And it wouldn't add any value of its own.
19:45:30 <ais523> Lua is possibly the only language with a large amount of reverse library support
19:45:48 <Taneb> Reverse library?
19:45:53 <ais523> 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 <oerjan> Taneb: i was thinking about that. i think you can do a CA in it...
19:46:47 <oerjan> let's say you follow the convention of using disjoint alphabets for odd and even positions
19:47:25 <oerjan> then you can easily make something resembling a 1d margolus rule, i think
19:47:35 <oerjan> while still being deterministic
19:47:47 -!- cheater__ has quit (Ping timeout: 240 seconds).
19:48:34 <oerjan> or put a different way, each CA cell is represented by _two_ luigi letters, one from each subalphabet.
19:49:25 <oerjan> so 0010 would be represented something like aAaAbBaA
19:49:37 <oerjan> with some marker at the end
19:49:44 <itidus20> I would rather use (looks up it's name) ORK than Lua as a scripting language for a game.
19:50:27 <oerjan> hm wait this doesn't work that way
19:50:42 <oerjan> need to keep the margolus idea
19:51:17 <oerjan> basically, each cell would interact with a different neigbor on odd and even generations
19:52:26 <oerjan> 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 <oerjan> 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 <fizzie> 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 <fizzie> ls at the beginning and end of the string.)
19:54:01 <ais523> fizzie: that's basically encoding a Turing machine in rewrite rules
19:54:03 <oerjan> fizzie: oh hm right that's the TM way. i was sort of fixated on doing something parallel.
19:54:06 <ais523> and yes, it is pretty standard
19:54:23 <fizzie> oerjan: Oh, you can be honest, I won't feel hurt: just say "the boring way".
19:54:50 <oerjan> my idea has the "advantage" that every cell can get touched by some rule each generation
19:55:19 <oerjan> fizzie: i honestly forgot about it :P
19:55:51 -!- monqy has joined.
19:56:12 <oerjan> Taneb: ok fizzie's method pretty obviously works to encode a TM rather directly.
19:57:05 <fizzie> That 1D CA in "parallel" sounds intuitively speaking doable too.
19:57:42 <oerjan> yes i would think so
19:58:18 <Taneb> 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 <Taneb> Or seen anyone ever try to prove it
19:58:33 <Taneb> But still a possible
19:58:34 <Taneb> way
19:58:34 <oerjan> indeed
19:59:01 <oerjan> but sometimes it _is_ the simplest way
20:02:36 -!- olsner has joined.
20:08:24 <Taneb> 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 <Taneb> That will simulate the example Turing Machine on the Wikipedia page
20:08:49 <Taneb> When converted to Luigi notation
20:08:57 <MDude> I would think the most obvious way to make things deterministic would be to just check shorter rules first.
20:09:21 <monqy> but restrictions are fun
20:09:22 <oerjan> ...
20:09:47 <oerjan> MDude: actually that doesn't work with the overlapping ones
20:10:08 <MDude> I guess that dones't, by itself, remove the ambiguity of when sch alterations should be applied.
20:10:21 <monqy> aren't they supposed to be in paralel too
20:10:21 <MDude> Things can overlap without being subsets, though.
20:10:35 <monqy> as in, checking them sequentially is hilariously against the point
20:10:51 <itidus20> (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 <Taneb> ;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 <itidus20> this may be a vice versa thing, i forget
20:11:13 <Taneb> Ah
20:11:27 <Taneb> Just found a major restriction in the Turing Machine emulation
20:11:27 <MDude> Neither wba or bac are subsets of the other, but they have subsets that match, so wabc would be a problem.
20:11:32 <Taneb> finite initialisation
20:11:36 <oerjan> itidus20: well it depends on whether your non-deterministic universe can make reliable components, i assume
20:11:55 <itidus20> oerjan: I can freely pretend to have no free will :>
20:12:06 <itidus20> or that is.. i cannot say that for sure!!
20:12:26 <Taneb> So, I don't think direct emulation of a Turing Machine works
20:12:51 <itidus20> You cannot prove my determinism is not a choice
20:12:53 <itidus20> :D
20:13:20 <Taneb> That's philosophy, not computer science.
20:13:28 <itidus20> i know
20:13:35 <oerjan> Taneb: um ordinary TMs just need finite initialization
20:14:09 <Taneb> They operate on an infinite tape
20:14:15 -!- olsner has quit (Ping timeout: 276 seconds).
20:14:30 <oerjan> Taneb: expanding a tape with rewriting is not hard
20:14:41 <Taneb> True, hmm
20:15:21 <Taneb> ;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 <Taneb> Okay, that expands the tape quicker than it can be accessed
20:15:55 <Taneb> Which isn't the most memory efficient of techniques, but we're dealing theoretically here
20:16:15 <MDude> Is there a way to implement stacks in it?
20:16:28 <oerjan> you don't need to expand unless the tape head is going into unitialized territory
20:16:45 <Taneb> oerjan: but this is easier and for a proof just as good
20:16:56 <Taneb> MDude: almost certainly, but not trivially
20:19:03 <oerjan> well two stacks, one at each end pointing inwards, would seem pretty trivial
20:20:05 <oerjan> for more, you get to move information around a lot
20:25:13 <oerjan> MDude: also, you can implement a stack in any thing TC. just not necessarily easily. :P
20:25:23 <oerjan> *anything
20:25:46 -!- olsner has joined.
20:25:53 <oerjan> BCT is gonna take a bit of work, i'd say
20:26:06 <Taneb> Brainfuck even more
20:26:16 <oerjan> um, no?
20:26:28 <Taneb> Sorry, in my own conversation
20:26:35 <Taneb> Don't mind me
20:26:38 <oerjan> i'm pretty sure a stack in brainfuck is easier than in BCT :P
20:27:17 <Taneb> I was thinking it'd be pretty hard to implement anything much in Luigi
20:27:38 <oerjan> well brainfuck is easy to compile to a TM, i think, and then to Luigi.
20:27:58 <oerjan> apart from IO
20:28:37 <oerjan> hm actually it'll be a lot of rules if the cell size is big
20:28:49 <oerjan> boolfuck, though, shouldn't be too hard
20:29:13 <Taneb> P′′ is Turing Complete with a cell size of three, possibly two, I believe
20:29:32 <oerjan> or you could do BF more directly with a unary representation of cells
20:29:47 <oerjan> Taneb: um is this a known result? i was sort of thinking about doing it with 3
20:30:04 <oerjan> oh wait you said cell _size_, never mind.
20:30:20 <oerjan> cell size two is just boolfuck, which is TC, yes
20:30:22 <Taneb> Cell size is a lot harder than tape length in Luigi
20:30:35 <oerjan> Taneb: not if you do it with unary, i think
20:30:55 <Taneb> That's a possibility, but not one I'm going to look into tonight
20:31:26 <oerjan> Taneb: or even binary might not be too hard, actually, i've had some thoughts about /// and this would be similar
20:32:12 <Taneb> 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 <Taneb> Okay, okay, I changed my mind
20:40:06 -!- Phantom_Hoover has joined.
20:40:09 <oerjan> always get your full eight minutes of sleep
20:40:19 <Phantom_Hoover> Back to civilisation /o/
20:40:20 <lambdabot> Phantom_Hoover: You have 22 new messages. '/msg lambdabot @messages' to read them.
20:40:20 <myndzi\> |
20:40:20 <myndzi\> /|
20:40:26 <Phantom_Hoover> Dammit lambdabot.
20:40:31 <Phantom_Hoover> Twenty...
20:40:32 <Taneb> Popular guy, PH
20:41:08 <Phantom_Hoover> @tell elliott FFS, I've told you already that lambdabot breaks if there are more than 10 or so.
20:41:09 <lambdabot> Consider it noted.
20:41:24 <monqy> a time in which im especially glad not to be popular
20:42:46 <Phantom_Hoover> @tell elliott I hope you still have the scrollback for the last 14 of those.
20:42:46 <lambdabot> Consider it noted.
20:43:18 <Phantom_Hoover> Sgeo... didn't... know... that...
20:43:22 <Phantom_Hoover> I...
20:43:34 <oerjan> his mind is going, he can feel it
20:43:41 -!- elliott has joined.
20:43:48 <Phantom_Hoover> Speak of the devil.
20:43:57 <monqy> what i was going to say
20:44:06 <oerjan> no, _i_ was going to say it
20:44:15 <elliott> wat
20:44:16 <lambdabot> elliott: You have 3 new messages. '/msg lambdabot @messages' to read them.
20:44:17 <Phantom_Hoover> (Also, from PH Reads Logs To Offset Suicide: 03:00:18: <pikhq> Sgeo: The movie.)
20:44:31 <Phantom_Hoover> This year's blockbuster!
20:44:38 <elliott> 20:40:20: <lambdabot> Phantom_Hoover: You have 22 new messages. '/msg lambdabot @messages' to read them.
20:44:40 <elliott> :DDDDDdddddddddddddddddddd
20:45:13 <Phantom_Hoover> 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 <Taneb> I'm going to move Luigi from my user space now
20:45:31 <monqy> i want an itidus movie too
20:45:43 <Taneb> Also, I used to get mixed up with CS Lewis and Lewis Carrol
20:45:46 <olsner> Alice in Wondernarnia
20:45:49 <Phantom_Hoover> monqy, did it get even better in the week I was gone?
20:45:53 <Phantom_Hoover> *week and a half
20:46:40 <monqy> I haven't been keeping track, but he's still itidus20
20:47:17 <itidus20> hmm
20:47:21 <itidus20> oh ok.. hold on
20:47:35 <itidus20> i'll hook you up
20:48:01 <monqy> one time he put clothes and hair on an elliott in a hole drawn by elliott
20:48:51 <Phantom_Hoover> monqy, pics or it didn't happen.
20:48:51 <itidus20> http://www.youtube.com/watch?v=NzMEQlK1EBA
20:49:03 <elliott> 02:22:14: <NihilistDandy> Hofstadter's too talky
20:49:03 <elliott> also he says nothing interesting
20:49:12 <elliott> 02:26:00: <NihilistDandy> 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 <NihilistDandy> Quite so
20:49:14 <elliott> NihilistDandy: what, in here?
20:49:40 <Phantom_Hoover> itidus20, no, I mean of the elliott thing.
20:50:07 <NihilistDandy> elliott: No, not here, generally. Among perl programmers, mostly :D
20:50:24 <monqy> Phantom_Hoover: 05:37:27: <itidus20> elliott_: i did an edit of it: http://oi51.tinypic.com/34h0z.jpg
20:50:45 <Taneb> Okay, it's official, Luigi is an esoteric programming language
20:50:54 <NihilistDandy> PERL = Programmable Eschatology from Religious Loons
20:50:55 <Phantom_Hoover> monqy, that's... wow.
20:51:06 <monqy> amazing
20:52:12 <elliott> Phantom_Hoover: the artefacts are my fault mind you
20:52:43 <NihilistDandy> So elliott plays baseball and is a Saiyan?
20:52:52 <Phantom_Hoover> Yes.
20:53:11 <Phantom_Hoover> In other news, the Guide claims that Edinburgh is full of giant seagulls.
20:53:13 <NihilistDandy> This is in line with my conception of him
20:53:33 <NihilistDandy> Phantom_Hoover: Quick, make some giant french fries!
20:53:33 <Phantom_Hoover> I am sceptical of this claim, but I do not know how big a normal seagull is.
20:53:48 <elliott> Which Guide.
20:53:58 <Phantom_Hoover> The Guardian one.
20:54:02 <elliott> 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 <elliott> 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 <elliott> oerjan: go correct chris about two cells
20:55:40 <Phantom_Hoover> Also: oko explains integration with infinite bounds
20:55:48 <Phantom_Hoover> 23:03:22: <oerjan> the bounds are infinite however.
20:55:48 <Phantom_Hoover> 23:03:26: <SevenInchBread> .....
20:55:48 <Phantom_Hoover> 23:03:43: <oklopol> well, true, you need a big calculator
20:55:51 <NihilistDandy> Speaking of #esoteric
20:55:51 <NihilistDandy> http://arstechnica.com/science/news/2011/07/how-an-argument-with-hawking-suggested-the-universe-is-a-hologram.ars
20:56:13 <oerjan> elliott: well i haven't finished showing that 3 are sufficient yet...
20:56:28 <Taneb> I reckon four wouldn't be too difficult
20:56:37 <olsner> NihilistDandy: how appropriate, speaking of #esoteric *in* #esoteric
20:56:45 <NihilistDandy> olsner: SO META
20:56:48 <elliott> oerjan: that's what I mean, two almost certainly aren't, right?
20:56:53 <elliott> because bf doesn't have the same operations as minsky machines
20:56:56 <Phantom_Hoover> olsner, it's the least fixed point of off-topicness.
20:57:30 <oerjan> 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 <elliott> oerjan: right
20:57:47 <elliott> oerjan: I'm just saying that "theoretically, two (cf minsky)" doesn't hold
20:57:50 <elliott> :P
20:57:54 <oerjan> indeed
21:00:10 <Taneb> Why does Polish have to look so much like polish?
21:00:44 <Taneb> Polish as in the nationality of someone from Poland, polish as in make shiny
21:01:36 <NihilistDandy> Because English is stupid
21:01:43 <NihilistDandy> Or maybe Poles are just shiny
21:01:52 <NihilistDandy> Hence, pole-ish
21:02:24 <monqy> poleish
21:03:12 <oerjan> 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 <elliott> oerjan: :D
21:03:30 <oerjan> *all becomes
21:03:55 <oerjan> to such a degree that it looks simplest to just compile fractran to BF
21:03:56 <olsner> meh, these polish puns are neither bad or good enough to be funny
21:07:40 <Phantom_Hoover> 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 <Taneb> Doo eet
21:09:14 <NihilistDandy> Excuse me, I'm looking for some Kiwi Polish
21:09:35 <oerjan> get your kiwis all nice and shiny
21:09:38 -!- pingveno has quit (Ping timeout: 252 seconds).
21:10:21 <NihilistDandy> I knew a Kiwi Polish girl once :D
21:11:58 -!- FireFly has quit (Quit: swatted to death).
21:12:56 <elliott> 02:52:53: <evincar> Is there a reliable means of counting characters in a Unicode string?
21:12:56 <elliott> 02:53:13: <evincar> Code points aren't characters, so even UTF-32 is variable-width wrt characters. :(
21:12:56 <elliott> define character
21:13:39 <pikhq> elliott: I do believe he's meaning "glyph".
21:14:19 <elliott> pikhq: I think he means grapheme.
21:14:44 <Taneb> I think he means printing character
21:14:47 <pikhq> So, "glyph".
21:14:57 <Phantom_Hoover> <NihilistDandy> I knew a Kiwi Polish girl once :D
21:15:02 <Phantom_Hoover> Was she nice and shiny?
21:16:07 -!- elliott has quit (Remote host closed the connection).
21:16:07 <NihilistDandy> 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 <Taneb> You know what would be interesting?
21:21:36 <Taneb> A Brainfuck or Lazy K or something Rubik's Cube solver
21:22:15 <Phantom_Hoover> Taneb, $algorithm in $language is normally not terribly interesting.
21:22:34 <Taneb> Okay, how about the reverse
21:22:45 <Taneb> A Brainfuck solver in a Rubk's Cube
21:22:51 <Phantom_Hoover> Hmm...
21:23:01 <monqy> how does one solve brainfuck
21:23:03 <oerjan> a tricky one, Taneb is
21:23:11 <Phantom_Hoover> There are Turing-equivalent decision problems...
21:24:39 <monqy> are there any languages based on rubik's cubes
21:25:34 <Phantom_Hoover> 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 <monqy> hm
21:26:00 <Phantom_Hoover> So perhaps there's something similar with Rubik's cube.
21:26:02 <NihilistDandy> monqy: Some subsets of group theory could reasonably be said to be "based on Rubik's cubes"
21:29:10 <Taneb> 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 <oerjan> ah yes, the word problem for groups is undecidable, so most likely TC...
21:34:46 <oerjan> iirc
21:36:25 <oerjan> of course rubik's cube itself is finite, so pretty decidable i should think
21:37:46 <Phantom_Hoover> nxnxn, of course.
21:38:49 <monqy> rubik's hypercube
21:38:50 <oerjan> 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 <elliott> infinitely big rubiks' cube
21:39:17 <elliott> discuss
21:39:41 <Phantom_Hoover> elliott, infinite from a particular corner, or along all sides?
21:39:51 <elliott> all sides
21:39:54 <oerjan> someone should make a physical puzzle whose symmetry group was the monster
21:40:05 <elliott> you can still do all the turns, ofc
21:40:46 <oerjan> *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 <elliott> Oh what, the Humble Bundle now includes /another/ game?
22:06:06 <elliott> 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 <NihilistDandy> FINE
22:42:55 <oerjan> 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 <Phantom_Hoover> oerjan, YES YOU DO
22:46:46 <oerjan> YOU CANNOT PROVE IT
23:37:15 <itidus20> "Paradoxes make physicists happy."
23:42:18 <Phantom_Hoover> itidus20, they do?
23:43:18 <itidus20> so someone found an exploit in some apple laptops.. which means the battery can be killed
23:43:49 <itidus20> it's pretty bad....
23:43:51 <Phantom_Hoover> And the physicists are overjoyed?
23:44:02 <itidus20> champagne corks
23:44:40 <itidus20> bottoms up you old bastards
23:44:54 <itidus20> putting on the ritz
23:47:56 <Phantom_Hoover> This film will be the best.
23:48:16 <Phantom_Hoover> itidus20, struggling young artist and renaissance man...
23:48:52 <Phantom_Hoover> It can tie in with Sgeo: the Movie!
23:49:00 <Phantom_Hoover> But who would be cast as who...
23:49:55 <Phantom_Hoover> (I would played by David Tennant, as the villain trying to murder KT-AT.)
23:50:13 <Phantom_Hoover> elliott can be Christopher Eccleston, because they're both from the North.
23:50:31 <elliott> I'm not nearly camp enough.
23:51:03 <Phantom_Hoover> Christopher Eccleston is camp?
23:51:15 <elliott> That's pretty much what he's famous for as the Doctor, yes.
23:51:25 <elliott> It's sort of a... mild camp.
23:51:26 <elliott> Except amplified.
23:51:42 <elliott> Like turning down your speakers really low, playing something, recording it, and then amplifying that.
23:51:45 <elliott> This is logical.
23:52:17 <Phantom_Hoover> 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 <Phantom_Hoover> cpressey would obviously be played by Ian McKellen.
23:53:48 <Phantom_Hoover> elliott, also who else is famous, and actor and From the North?
23:53:55 <Phantom_Hoover> (Not from the North, that's entirely different.)
23:54:23 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
23:54:32 <elliott> Phantom_Hoover: Me.
23:54:38 <Phantom_Hoover> *an actor
23:54:42 <elliott> Phantom_Hoover: Me.
23:54:47 <elliott> Vorpal can be played by Vorpal because nobody else can be that boring.
23:54:56 <Phantom_Hoover> elliott, have you *seen* Wallander?
23:54:59 <elliott> 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 <Phantom_Hoover> (It's impossible, such is the boredom.)
23:55:41 <Phantom_Hoover> http://www.reddit.com/r/askscience/comments/j54n4/if_plants_are_constantly_exposed_to_the_sun_why/
23:55:47 <Phantom_Hoover> Why do I read /r/AskScience.
23:57:38 <pikhq> Because you like stupid questions?
←2011-07-31 2011-08-01 2011-08-02→ ↑2011 ↑all