00:26:58 -!- FireFly has quit ("Later").
00:32:09 <oerjan> `.d`.c`.d`.c`.d`.c`.d``e`````````````.H.e.l.l.o.,. .W.o.r.l.dii```````````````iid.l.r.o.W. .,.o.l.l.e.H.`````````````e``d.`c.`d.`c.`d.`c.`d.`
00:33:16 <oerjan> don't try that in the unlambda interpreter in C, it revealed a bug in the e function...
00:34:10 <oerjan> mainly it uses . not just to print, but also to escape things that would otherwise be syntax errors
00:34:22 <ehird> oh it's palindromic
00:35:32 <oerjan> yeah i got inspired by the recent reddit post
00:35:42 <ehird> stackoverflow actually
00:37:43 -!- Dewio has joined.
00:41:41 <ehird> oerjan: Great, now i'm writing an unlambda interp.
00:43:46 <ehird> oerjan: In machinec ode.
00:43:57 <ehird> Unlambda is compilable, isn't it?
00:44:10 <oerjan> theoretically at least somewhat
00:44:21 <ehird> oerjan: er, the only oddity is just c isn't it?
00:45:32 * oerjan puts the palindrome on the wiki
00:45:37 <ehird> oerjan: is it not?
00:45:57 <oerjan> but i made a sort of compiler in ocaml
00:46:11 <ehird> oerjan: you can just treat d as
00:46:15 <ehird> a data structure (D <function>)
00:46:16 <oerjan> it's not really much more than a proof of concept
00:46:20 <ehird> it just makes ` a bit of a different operator
00:46:29 <oerjan> but then you get further from compilation
00:47:07 <ehird> oerjan: er, all that changes is `
00:48:14 <oerjan> oh and it's (D <expression>)
00:50:29 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
00:56:29 <oerjan> though `dd is equivalent to i
00:56:39 <ehird> it's equivalent to d
00:57:25 <oerjan> because the inner d is not evaluated until the whole of `dd is applied, by which time it is too late not to evaluate the argument
00:57:57 <oerjan> if x is an expression, that's not the same
00:58:10 <oerjan> it changes when x is evaluated
00:59:08 <oerjan> (1) when you evaluate `dd you get not d, but a (d <d>) thunk like you mentioned
00:59:30 <oerjan> this does _not_ compare equal to d, so it does not prevent evaluation of an argument
00:59:43 <ehird> are you sure this is spec behaviour?
00:59:49 <ehird> or just an implementation artifact
01:01:18 <oerjan> definitely, it's mentioned:
01:01:22 <oerjan> "Another point to note is that ``dd`ri prints a blank line: indeed, `dd is first evaluated, and since it is not the d function (instead, it is a promise to evaluate d), it does not prevent the `ri expression from being evaluated ..."
01:07:59 <ehird> Marginalia is a nice word.
01:08:45 <oerjan> it's not so much used, i think, it may be a little, you know ...
01:12:30 -!- Sgeo has joined.
01:14:18 <ehird> oerjan: Marginalic?
01:16:08 <oerjan> those words lack a certain heterologicality
01:17:17 -!- Slereah has joined.
01:20:56 <ehird> god I love WORDS and TYPOGRAPHY and <333
01:25:42 -!- olsner has quit ("Leaving").
01:26:18 <ehird> "I wonder what kind of developers here are trashing PHP?
01:26:18 <ehird> My guess is ASP and Java people, which explains their irrational hatred of all things relatively efficient and solid."
01:28:39 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
01:51:22 * comex wonders what he's going to do this summer
02:01:27 <oerjan> we're actually past the spring equinox, you know
02:01:49 <oerjan> DO YOU HEAR THAT, SNOW? GET OUT OF HERE!
02:04:54 <comex> and yet it's not far off
02:05:00 <comex> and I don't know what I'm going to do :u
02:17:04 -!- revcompgeek has joined.
03:00:52 -!- oklowob has joined.
03:01:33 <oklowob> that must be true because i believe it
03:02:45 <oklowob> this was pretty cool, i have about 4 hours of work to do by 8am, and i woke up at 4am
03:03:41 <oklowob> went to sleep at about 7pm, thought i'd take a tiny nap
03:13:08 <bsmntbombdood> i was thinking that you could fork(), mark-and sweep in the child, and then communicate back the set of unreachable objects to the parent
03:34:09 <oklowob> i saw this totally epic morphism yesterday
03:41:08 * oerjan swats oklowob -----###
03:43:01 <oerjan> incidentally that term has no google hits
03:50:44 <oklowob> In category theory an epimorphism (also called an epic morphism or an epi)...
03:51:09 * oerjan swats oklowob again -----###
03:51:17 <oerjan> "totally epic morphism"
03:52:09 <oklowob> because i started wondering whether there actually were any totally epic morphisms yesterday
03:52:10 <oerjan> you think i would have swatted you if i didn't get the pun? :[
03:52:31 <oklowob> and i just remember one trivial one
03:52:38 <oerjan> um and what's "totally" in this context?
03:52:47 -!- Dewio has changed nick to Dewi.
03:53:28 <oklowob> well i don't actually know what an epimorphism is, in the most general sense
03:53:36 <oklowob> just what it is in g and f theory
03:54:06 <oklowob> well you need to expand those
03:55:06 <oklowob> basically a surjective morphism?
03:55:37 <oklowob> and then the rest of that line
03:55:46 <oerjan> there are categories where epic morphisms don't need to be surjective
03:56:36 <oklowob> so what's the definition? i mean there's one on wp but i just can't
03:56:57 <oerjan> e is epic if e f = e g implies f = g for all morphisms f and g
03:57:30 <oklowob> what about if f e and g e imply f = g?
03:57:31 <oerjan> unless it's the other way around, i think notation is a bit inconsistent
03:57:41 <oerjan> the other way is "monic"
03:58:15 <oerjan> um wait am i speaking the truth
03:58:35 <oklowob> well i don't care whether you are, i like it anyway
03:59:29 <oerjan> ok it's true if i get the directions correctly
03:59:36 <oklowob> so what are morphisms exactly?
03:59:47 <oklowob> homomorphisms + possibly extra?
03:59:48 <oerjan> f o e = g o e => f = g, epic
04:00:13 <oklowob> or are there morphisms that are straight
04:00:14 <oerjan> nothing extra, in those categories of gs, fs and rs :D
04:00:50 <oklowob> by extra i meant epimorhisms and shit, which are homomorphisms plus a few extra things
04:01:06 <oerjan> morphism is a generalization of homomorphism, but to other categories
04:01:10 <oklowob> so i'm thinking morphism = function that has preserves behavior
04:01:26 <oklowob> when mapped over a structure
04:01:55 <oerjan> the thing is that what you choose as being morphisms _defines_ the category
04:02:20 <oklowob> grrr, no matter what i learn, there's always a higher truth :D
04:02:42 <oerjan> each of the categories of groups, rings and fields are _defined_ by making morphism = homomorphism
04:02:48 <oklowob> "well sure that's kinda correct but when you get to university, they teach you how this thing really works"
04:03:20 <oerjan> and that's common for algebraic structure categories
04:03:57 <oerjan> but you can define categories of other things, and also, you can define other categories on the same class of objects
04:03:58 <oklowob> i thought those groups were defined by their citizens and their operations :<
04:04:12 <oerjan> the groups themselves, yes
04:04:18 <oerjan> category is a technical term
04:04:29 <oklowob> well i don't know category theory
04:04:43 <oklowob> and i'm not even sure we have any here :|
04:04:56 <oklowob> well probably as one of the triannual courses
04:04:59 <oerjan> i never explained it to you before? i have this vague recall...
04:05:31 <oklowob> well clearly i didn't understand it then
04:05:47 <oerjan> to have a category, you need a class of objects and a class of morphisms between them
04:06:08 <oerjan> they need to satisfy a few extremely general rules
04:06:24 <oklowob> can you put that in group theory context
04:06:38 <oerjan> the groups themselves are the objects
04:06:55 <oerjan> the homomorphisms are the morphisms
04:07:47 <oklowob> or should i perhaps be able to guess
04:08:05 <oklowob> no probably not, i'm group biased
04:08:28 <oerjan> well you have a few maps.
04:09:18 <oklowob> hmm, need to start doing homewurk soon
04:09:18 <oerjan> for each morphism, you have a source object and a target object
04:09:24 <oklowob> this is of course very relevant to it
04:10:05 <oklowob> how is that a rule isn't it just part of the type of the operation
04:10:08 <oerjan> and for two morphisms, if the target of one is the source of the other, then you have their composition
04:11:18 <oerjan> for each object you have an identity morphism
04:11:43 <oerjan> id_A o f = f = f o id_B for any morphism f : B -> A
04:11:54 <oerjan> where A and B are objects
04:13:09 <oerjan> finally, if f : A -> B, g : B -> C and h : C -> D, then h o (g o f) = (h o g) o f
04:13:32 <oerjan> (f : A -> B means that A and B are the source and target of f)
04:14:11 <oerjan> that's the whole definition of a category, i think
04:14:13 <oklowob> what could A mean in group theory?
04:15:28 <oklowob> and not like the set of S_n for different n
04:15:43 <oerjan> each morphism has a unique source and target
04:15:58 <oklowob> well that's how homomorphisms work so i should know that
04:16:52 <oklowob> so you can actually get interesting theory out of this?
04:17:06 <oerjan> are you familiar with the category Hask? ;D
04:17:44 <Asztal_> in Haskell are the objects types and the morphisms functions?
04:17:46 <oklowob> but i'm sure i would be amused if i were
04:17:53 <oerjan> the objects are haskell _types_ and the morphisms are functions between them
04:18:41 <oerjan> oklowob: well categories are an extremely general thing
04:18:58 <oklowob> oerjan: that doesn't answer my question
04:20:43 <oerjan> sheesh students are so demanding these days
04:20:47 <oklowob> okay now that i know all category theory, should probably make some more coffee and start doing calculus with a different angle
04:21:03 <oerjan> that's just the definition of a category
04:21:20 <oklowob> teachers are so pedantic these days
04:22:08 <oerjan> the "interesting" stuff happens when you pile on other definitions by the bucketful, and then you discover that those definitions crop up in many of the example categories
04:22:19 <oklowob> i know the definition *and* that they are an extremely general thing.
04:22:35 <oerjan> epic and monic are just the tip of the iceberg
04:23:48 <oklowob> hmph, i hate this webirc thing
04:24:36 <oklowob> when i started group theory, i was like "can you seriously get something out of something *this* general"
04:25:59 <oklowob> after doing about 15 fully general proofs not related to any specific group i started believing maybe you can
04:26:09 <oklowob> then i heard there was a separate group theory course
04:26:31 <oklowob> maybe category theory would be a similar experience
04:28:22 <oklowob> so what's after category theory
04:28:46 <oerjan> i don't think it's so much after as inside
04:28:56 <oerjan> you very soon start going meta
04:29:33 <oerjan> i'm not sure if that's a term
04:29:48 <oklowob> conceptual morphism from anything more general than category theory to category theory
04:29:54 <revcompgeek> I just created a quine for Ans! http://esolangs.org/wiki/Ans#Quine
04:30:43 <oerjan> but you define a new category where the objects are categories, and the morphisms are something called functors
04:31:30 <oerjan> and then you define a category where the objects are _functors_, and the morphisms are something called natural transformations
04:31:55 <oklowob> and then transformations of order n
04:32:10 <oerjan> i recall John Baez the theoretical physicist does work on those order n things
04:32:27 <oklowob> order 8 being especially interesting, and studied extensively
04:33:17 <oklowob> do you have like separate mathematician mode and joker mode
04:33:30 <oerjan> i guess you are joking but if i thought you knew this stuff i wouldn't have dared assumed it :D
04:34:18 <oklowob> this is kinda embarrassing
04:34:28 <oerjan> but functors and natural transformations are actually fairly _basic_ concepts in category theory
04:34:40 <oerjan> *assume that you were joking
04:34:49 <oerjan> i mean it _could_ be true
04:35:38 <oerjan> then there are monads, which come out of certain pairs of functors
04:35:54 <oklowob> <oerjan> but functors and natural transformations are actually fairly _basic_ concepts in category theory <<< yeah okay i'm getting a boner here where can i learn this stuff 8|
04:36:24 <oklowob> okay tell me a bit about monads, then i'll go
04:36:25 <oerjan> oh not sure, i never had a formal course on just category theory
04:36:41 <oerjan> it was sort of baked into the homological algebra stuff
04:37:16 <oerjan> homology is a theory from topology
04:37:35 <oklowob> well. i don't know topology :<<
04:37:54 <oerjan> topology is about extremely generalized geometry
04:37:59 <oklowob> please swat me about being a noob
04:38:07 <oklowob> i don't even know much geometry really...
04:38:18 <oerjan> at least you know what it _is_
04:38:49 <oklowob> i guess that's how i defined knowing a subject earlier
04:39:11 <oerjan> homology theory was the main reason they developed category theory initially
04:39:28 <oklowob> i did read one article about topology, and how it's actually basically halting theory
04:39:41 <oklowob> and then one of the comments said something about uncountable sets
04:39:55 <oklowob> and that topology was more general, because of them
04:40:32 <oerjan> but as usual, there's probably some sense in which it is true
04:41:00 <oklowob> well i only understood the halting problem part of the text, and not where it was put in context
04:41:31 <oerjan> well there are unsolvable problems in topology, i've heard
04:42:17 <oklowob> well. i'm sure there's a morphism between those and halting then
04:42:36 <oklowob> look at me already making CT references
04:43:45 <oklowob> anyway, this has been mind blowing, but seriously need to go do my homework right about now
04:43:58 <oklowob> maybe watch an ep of sp first
04:44:00 <oerjan> seriously need to go bed, here
04:44:35 <oklowob> it's like sleeping on pigeons
04:44:57 -!- oerjan has quit ("Good night").
04:45:40 <oklowob> it's funny how different sleep cycles you see when talking with people from all over the world!
04:47:49 <Asztal_> you might find http://www.cs.utoronto.ca/~sme/presentations/cat101.pdf interesting
04:48:15 <Asztal_> I don't really know if it's any good because I know nothing about category theory, I was probably linked to it at some point
04:49:18 -!- pikhq_ has joined.
04:50:45 -!- pikhq has quit (Nick collision from services.).
04:50:47 -!- pikhq_ has changed nick to pikhq.
04:56:59 -!- oklowob has quit ("PJIRC @ http://webirk.dy.fi").
04:57:16 -!- oklowob has joined.
04:57:24 -!- GreaseMonkey has joined.
04:57:41 -!- revcompgeek_ has joined.
05:13:29 -!- revcompgeek has quit (Read error: 110 (Connection timed out)).
05:14:42 -!- revcompgeek_ has quit.
05:41:28 -!- revcompgeek has joined.
05:54:03 -!- revcompgeek has quit.
06:04:06 -!- rodgort has quit ("Coyote finally caught me").
06:04:18 -!- rodgort has joined.
06:08:23 -!- revcompgeek has joined.
06:20:39 -!- revcompgeek has quit.
07:40:39 -!- Slereah_ has joined.
07:52:58 -!- Slereah has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:54 -!- mtve has joined.
08:28:18 -!- FireFly has joined.
08:41:40 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
08:49:36 -!- BeholdMyGlory has joined.
09:07:43 -!- tombom has joined.
09:07:56 -!- BeholdMyGlory has quit (Remote closed the connection).
09:32:51 -!- neldoreth has joined.
09:35:23 -!- neldoret1 has quit (Read error: 113 (No route to host)).
09:38:09 -!- neldoret1 has joined.
09:38:22 -!- neldoreth has quit ("leaving").
09:39:34 -!- FireFly has quit ("Later").
09:58:47 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
10:03:06 -!- amca has joined.
10:36:50 -!- Judofyr has joined.
10:39:28 -!- Judofyr has quit (Client Quit).
10:55:54 -!- ehird has quit (Read error: 113 (No route to host)).
12:04:38 -!- bsmntbombdood has quit (calvino.freenode.net irc.freenode.net).
12:05:13 -!- bsmntbombdood has joined.
12:15:43 -!- ehird has joined.
13:09:21 -!- Slereah has joined.
13:21:26 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
13:27:41 -!- KingOfKarlsruhe has joined.
13:50:51 -!- nooga_ has joined.
13:55:00 <nooga_> %%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
13:58:05 -!- nooga has quit (Read error: 60 (Operation timed out)).
13:58:16 -!- amca has quit ("Farewell").
14:06:33 -!- KingOfKarlsruhe has quit (Remote closed the connection).
14:12:51 <nooga_> what's Finnish national dish? :D
14:20:23 <fizzie> I'm not sure we have anything that's so very Finnish. See http://en.wikipedia.org/wiki/Cuisine_of_Finland#Traditional_dishes and http://en.wikipedia.org/wiki/Mämmi though.
14:21:18 <fizzie> I really don't get the latter one. It's like they were trying to make as close a replica of excrement they could.
14:22:35 <fizzie> Love the Wikipedia article, though. "Interest in mämmi has risen even in non-Scandinavian settings, due to Finns' eager attempts to offer the idiosyncratic foodstuff to foreigners.[weasel words] Some have served it as an exotic specialty; others, a joky test (due to its superficially unappetizing appearance).[weasel words] The growing interest in reviving old recipes and the general enthusiasm for past ages and local things in these international times may a
14:22:35 <fizzie> lso play a part in this.[weasel words]."
14:25:23 <fizzie> "In 2007, it [http://en.wikipedia.org/wiki/Karjalanpaisti] was selected as the national dish of Finland by the readers of the Finnish newspaper Iltalehti." That's not very official, but I guess it's as close as it gets.
14:25:47 <fizzie> It's not as strange as the mämmi thing, though.
14:26:33 <nooga_> my grandma cooks something quite simmilar
14:27:19 <fizzie> This place is not really known for the cuisine.
14:28:26 <nooga_> http://en.wikipedia.org/wiki/List_of_Polish_cuisine_dishes mehehehehe
14:32:01 <nooga_> im huuuuuuuuungryyyyyyyy :C
15:41:25 <ehird> 02:13 bsmntbombdood: i was thinking that you could fork(), mark-and sweep in the child, and then communicate back the set of unreachable objects to the parent
15:41:28 <ehird> that is basically the idea
15:41:32 <ehird> you start a new thread
15:41:39 <ehird> mark, send back unreachable objs
15:41:45 <ehird> then that thread in the parent frees them
15:41:47 -!- oerjan has joined.
15:41:55 <ehird> it gets more complicated for non-mark-and-swee
15:42:03 <ehird> also, you can multithread the marking and the sweeping, for extra multicore powah
15:46:22 <ehird> "Anyhow when your UI freeze, it's often due to programs who are camping the Kernel CPU time somehow having an *exclusive usage of the machine, hence the freezings (usually it's a sign of a badly written software).
15:46:23 <ehird> if it's window you could have been unlucky and your machine could be loaded with malwares *
15:46:25 <ehird> (my two cents where wrong there)"
15:47:24 <oerjan> <fizzie> I really don't get the latter one. It's like they were trying to make as close a replica of excrement they could.
15:47:34 <oerjan> isn't that generally the case for national dishes?
15:48:14 <oerjan> also, the finnish national dish is of course koskenkorva, duh
15:48:21 <ehird> 03:35 oklowob: <oerjan> but functors and natural transformations are actually fairly _basic_ concepts in category theory <<< yeah okay i'm getting a boner here where can i learn this stuff 8|
15:48:25 <ehird> functors are liek trivial
15:51:22 <ehird> okay so I'm a try compile ghc once mores
15:51:38 <ehird> oerjan: where did nomic come from
15:52:28 <ehird> Proposal: oerjan must properly justify his use ofthe word nomic.
15:53:01 <oerjan> Vote AGAINST: it's obvious
15:53:14 <oerjan> especially when you know i said it
15:53:28 <ehird> oerjan: HA! I have tricked you!
15:53:38 <ehird> You have played nomic once more just now!
15:54:14 <ehird> Hokay, mkdir ghc, cd ghc.
15:54:15 * oerjan does a rotating ehird swat ###-----.-----###
15:54:22 <ehird> Time to fail in ~/ghc.
15:54:45 <ehird> oerjan: now all I have to do is ask if you could email me to test my new mail server, and have it forward the message to agora-business!
16:00:15 <ehird> i don't care if I die from compiling ghc
16:00:23 <ehird> if it's the last thing I doooooooooooooooo
16:00:26 <ehird> oooooooooooooooooo
16:00:49 -!- ehird has set topic: topic ain't done changed since 2009-03-17 | http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
16:01:06 <oerjan> oh dear famous last words
16:01:11 <ehird> oooooooooooooooooooooooo
16:02:00 <oerjan> interesting, by putting it in the topic it becomes a lie
16:02:54 <ehird> If I don't say "CREAMPUFF" in the next 5 seconds, this sentence is false.
16:05:06 <oerjan> and thus the universe disappears in a, um, well.
16:06:31 <ehird> ) wget http://haskell.org/ghc/dist/6.8.2/ghc-6.8.2-darwin-i386-leopard-bootstrap.tar.bz2
16:17:51 -!- Sgeo has joined.
16:27:25 -!- ais523 has joined.
16:31:02 <ehird> Very few things are hilarious
16:31:27 <AnMaster> ehird, this one was if you have followed that theme since the start (which was IWC strip 1)
16:32:01 <AnMaster> oerjan, oh was the quest introduced in strip 3?
16:32:25 <AnMaster> oerjan, ah... which was first then?
16:34:34 <ais523> oerjan: is that palindromic Unlambda hello, world yours?
16:34:51 <ais523> that's pretty impressive
16:35:47 <ais523> http://esolangs.org/wiki/Unlambda
16:38:06 <oerjan> i think the method can be used for a general program, after some substitution of .x and ?x to prevent reverse syntax errors
16:39:25 <oerjan> in the wiki program i just made sure most of the .x'es were consecutive.
16:40:30 <ais523> and isn't a syntax error when reversed, as long as you can deal with matching the backquotes somehow
16:40:38 <oerjan> actually ``k.x.i is simpler
16:42:40 <oerjan> the method for matching the backquotes has a strange parity problem, which leads to an extra i in that program
16:43:11 <ais523> oh yes, I was too fixated on the i.x.i pattern to realise you could get rid of an i in the result
16:43:14 <oerjan> basically `.d is neutral on the left while d.` adds two functions on the right
16:43:33 <ehird> it SOUNDS like an idiom.
16:45:29 <ehird> since when have IWCs have license watermarks
16:48:43 <oerjan> 2000 has a straight copyright
16:50:12 <oerjan> 2209 starts with the license thing
16:52:43 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
16:55:23 <ehird> There should be an editor that is a bunch of decoupled shell commands.
16:55:29 <ehird> Not like sed, that's way too bloated.
16:58:58 <ehird> So, my ghc compilation appears to be working so far.
16:59:28 <ehird> TECO is one big program…
16:59:39 <nooga_> but it's funny, so what's the problem?
17:00:18 <ehird> "Like, this Chicken?" "bwuk bwuk bwuk bwuk"
17:00:21 <ehird> "That's a chicken..."
17:00:25 <ehird> "But it goes bwuk, so what's the problem?"
17:00:35 <nooga_> that was exactly my point
17:02:54 <oklowob> i only see what is seen to me
17:05:33 <nooga_> oh the whitest boy alive is so cash
17:09:48 <nooga_> ehird: that kind of editor probably could be coded using bash and sed
17:09:58 <ehird> but sed is too bloated for that
17:10:09 <nooga_> aliasing sed shit with bash commands
17:12:12 <ehird> nooga_: does your brain operate only with inane memes?
17:14:11 <nooga_> probably it operates on cigarettes, gas, alcohol and abstract cucumbers
17:14:24 <ehird> abstract cucumbers.
17:14:41 <ehird> not real cucumbers?
17:16:13 <nooga_> idk, but if I imagine one it seems to be made of aluminium
17:19:11 <ehird> ghc is the slowest compilation process I can possibly imagine
17:22:13 <ehird> http://blog.fishsoup.net/2009/03/26/reinteract-0-5-0/ this looks awesome
17:22:39 <ehird> ais523: you should look at it
17:22:42 <ehird> it's like mathematica for python
17:23:05 <ehird> ais523: err, not the buggy slow part
17:23:21 <ehird> non-textual output, reevaluatingt
17:23:23 <ehird> that sort of stuff
17:24:37 <ais523> it doesn't seem to have a Mathematica-style stdlib
17:24:41 <ais523> which is the only good thing about Mathematica
17:24:44 <ehird> ais523: it had play()
17:24:50 <ehird> mathematica has that sort of stuff
17:24:56 <ais523> it appears to just be a UI library
17:25:03 <ehird> it's not a ui library
17:25:12 <ais523> as in, a way to output python stuff as graphs or sounds or whatever
17:25:20 <ais523> rather than for actually doing the processing, that appears to be all python
17:25:29 <ehird> ais523: http://fishsoup.net/software/reinteract/reinteract-demo.png
17:25:37 <ehird> if you can't see the resemblence to mathematica there you must be blind
17:25:39 <ais523> ehird: did you click onto the reinteract wbsite?
17:25:53 <ais523> what's there is a resemblance to mathematica's /output/
17:26:06 <ehird> ais523: yes, but you can also modify lines and have later lines recalculate
17:26:08 <ehird> just like mathematic
17:26:15 <ais523> you are missing the point of mathematica, again
17:26:33 <ehird> I don't care; I found those features useful
17:26:33 <ais523> it's not going to have all the super-optimised mathematica pi-calculating and integrating and cellular-automating stuff
17:26:37 <ehird> more useful than the stdlib
17:26:45 <ais523> yes, but you can get them anywhere more or less
17:26:53 <ais523> if you aren't using mathematica for the stdlib, why buy it?
17:26:54 <ehird> ais523: you CAN—but I've never seen it
17:27:06 <ais523> I've seen it in MathCAD, which is a commercial applicatoin
17:27:09 <ais523> but it's the same stuff as that
17:27:28 <ais523> tbh, even Excel has all the features you ask for, apart from the sound
17:27:35 <ais523> it has re-evaluation when you change things, and graphs
17:28:03 <ehird> ais523: show me a repl that has those features for an open-source, general-purpose programming language
17:28:22 <ais523> well, Mathematica doesn't, so it's a bad comparison
17:28:27 <ais523> (I wouldn't call it general-purpose)
17:28:32 <ehird> ais523: well, not general purpose
17:28:35 <ehird> just not restricted
17:28:44 <ehird> Excel is certainly useless in that respect
17:30:11 <ehird> http://programmersdiary.today.com/2009/03/27/core-war-the-king-of-programming-games/
17:30:19 <ehird> impomatic just can't stop writing the same introductory article about core war
17:30:21 <ehird> over and over again
17:30:25 <ehird> on different blogs
17:31:45 <ais523> well, that's one way to spread the word
17:32:01 * ais523 thinks someone should implement a RL microprocessor that uses redcode as machine language
17:32:08 <ais523> as it's a pretty good asm
17:32:29 -!- nooga_ has quit.
17:34:31 <ehird> http://cybernetnews.com/2006/12/06/cybernotes-200-firefox-extensions-installed-at-one-time/
17:50:50 -!- olsner has joined.
18:03:10 -!- zzo38 has joined.
18:04:08 <zzo38> I just want to try some of the features of PocketMonsterIRC. Send a message to it with a command that you want. Only some command support so far: + - * / rnd
18:04:16 <zzo38> And also the CTRL+A VERSION command should work
18:04:36 <ais523> zzo38: what's its nick?
18:04:47 <zzo38> ais523: PocketMonsterIRC
18:05:30 <zzo38> For example: PRIVMSG PocketMonsterIRC :rnd 2d6+1
18:05:33 <ais523> hmm... it uses forward-polish
18:05:41 -!- FireFly has joined.
18:05:55 <ais523> it doesn't seem to have anything to do with pokémon, though
18:06:11 <zzo38> Actually it uses only one calculation at a time. So you can do "+ 2 2" but you can't do something like "+ * 3 4 + 2 2" because that won't work
18:06:41 <zzo38> It will support pokemon later. I already made the element table so far and a few things having to do with pokemon, but not enough that it will work yet.
18:07:46 <zzo38> I also implemented the "ro" command which is a public dice-roll (useful for D&D and other dice games over IRC), but unfortunately I have not yet implemented the command to tell them what channel you want so it won't work yet. But I will implement that feature very soon.
18:08:05 <ais523> the usual method to run a bot is to get the bot to join a channel
18:08:10 <ais523> and to respond to messages there in a certain format
18:08:15 <ais523> ^bf ,[.,]!This is a test.
18:08:22 <ais523> the ^ tells fungot that the message is destined for it
18:08:23 <fungot> ais523: ice boxes keep your food fresh. to the sea; there's no point in crying over a hundred pounds. his eyes, by w.b. yeats), which means the exalted one, two! and never use a pick-axe because his armor is light and hot; that region is glowing and burning, and no wasps. if she kills the lynx, she accidentally turned her skin green, and scholars, by w.b. yeats)
18:09:38 <zzo38> There are reasons I don't. But when you tell the bot what channel you want it will automatically join any channels that any users have told PocketMonsterIRC to join (for public dice rolls or for watching a pocket monster game going on between two users)
18:10:40 <zzo38> So it doesn't interfere with other bots on the same channel. Also because I find my way more reasonable. But I will post the source-codes for this program under GNU GPL so if you want to, you can make your own version doing whatever you want it to do, of course (once it is at least half finished)
18:10:58 <ehird> zzo38: you add a prefix
18:11:01 <ehird> so that it doesn't conflict
18:11:05 <ehird> like #foo instead of foo
18:11:07 -!- olsner has quit ("Leaving").
18:11:12 <ehird> also, the IRC spec says you should reply like:
18:11:14 <ehird> NOTICE #channel :foo
18:11:16 <ehird> instead of PRIVMSG
18:11:17 <ais523> see, #foo is olsner's quit command
18:11:21 <ehird> because bots aren't supposed to respond to PRIVMSG
18:11:27 <ehird> so if you use NOTICE it won't interfere
18:11:33 <ais523> ehird: PocketMonsterIRC already replies with NOTICE
18:11:44 <ehird> ok, so what's the problem?
18:11:50 <zzo38> The bot does respond with NOTICE, doesn't it? And you try sending a NOTICE to it, it won't respond.
18:12:01 <ehird> so how would it interfere?
18:12:44 <zzo38> I find it better if messages are specifically addressed the program you want to send it to.
18:13:12 <ehird> zzo38: but other people should see the results
18:13:32 <zzo38> But maybe I will implement the public prefix option too, maybe not. If I do it is likely to be something that a user tells the bot they want to be able to use that prefix on a channel they have told it to join in order for it to work
18:13:59 <zzo38> If you use the "ro" command the other people will see the results. (Once I implement the "join" command, of course.)
18:14:25 <zzo38> And I will implement the join command as soon as this testing session is finished (which shouldn't take long)
18:15:09 <zzo38> So far it only understands two IRC commands PING and PRIVMSG and it only understands one CTRL+A command VERSION
18:16:15 -!- zzo38 has quit ("I told PocketMonsterIRC to also quit.").
18:30:57 -!- Mony has joined.
18:33:41 -!- zzo38 has joined.
18:33:53 -!- PocketMonsterIRC has joined.
18:35:27 <zzo38> Now I implemented "join" in PocketMonsterIRC so you can roll publicly. Once I finished implement pocket monster game it will be you can watch the game also, but only the things that are allowed to be public (for example, percentage of HP but not the exact value, unless the option tells you that both players are allowed to know the exact value)
18:36:07 <zzo38> Just try PRIVMSG PocketMonsterIRC :join #esoteric
18:36:16 <zzo38> And then PRIVMSG PocketMonsterIRC :ro 2d6+1
18:36:31 <ais523> <-> PocketMonsterIRC> join #esoteric
18:36:51 <oklowob> zzo38: i tried proving the look-and-say thing, took about 5 minutes without paper
18:37:32 <ais523> zzo38: I'd suggest that the question should be sent to #esoteric, as well as the answer
18:37:41 <zzo38> You mean the look-and-say thing which does repeated run-length encoding. I prove it more quickly than that, but I still don't quite remember...
18:37:45 <ais523> so people on non-telnet clients don't have to type out /msg PocketMonsterIRC every time they say something
18:37:55 <ais523> and so logbots see the question
18:37:59 <oklowob> zzo38: i didn't exactly time it
18:38:18 <zzo38> I know the proof but not how long it took, but it was pretty quick and without paper (maybe 1 minute or 2 minutes)
18:38:31 <oklowob> and you don't really have to remember it, it's pretty much straight from the definition of a step
18:38:42 <zzo38> And PocketMonsterIRC will tell the type of dice to the channel if you do public roll dice
18:38:52 <ais523> it's still a pain to roll it
18:38:55 <ehird> zzo38: yeah it's hard
18:39:01 <ehird> you have to type /msg PocketMonsterIRC all the time
18:39:03 <ais523> it's about as difficult as doing it on telnet, whether you have a GUI client or not
18:39:13 <ehird> which is just one key
18:39:16 <ais523> whereas doing it to-channel would be slightly easier on telnet
18:39:20 <ais523> due to being easier to spell
18:39:24 <ais523> and much easier with an IRC client
18:39:34 <zzo38> If you have some real IRC client, wouldn't it like have some sort of window for private conversations? I don't know because I don't have any IRC client, I just use netcat
18:39:44 <ais523> and that's the problem
18:39:47 <ehird> It does but you have to switch a lot
18:39:50 <ais523> having to go to a separate window is annoying
18:39:53 <ehird> Which would be a pain when playing pokemon...
18:40:45 <zzo38> Ya maybe I will implement a prefix mode. However I will make it so that every user who wants to use it has to set the prefix they want to use
18:41:13 <ehird> that sounds irritating...
18:41:20 <ais523> more to the point, it could be very confusing
18:41:47 <ais523> also, we can't have botloops if the bot doesn't respond to a channel
18:41:58 <oerjan> oklowob: what proof? that it grows indefinitely? (i don't think the cosmological theorem would take that short to prove, you have to classify 92 atoms)
18:41:59 <ehird> We can't have botloops anyway ais523
18:42:07 <ehird> oerjan: that you can never have 333
18:42:09 <ehird> which is blindingly obvious
18:42:23 <ehird> in a literal sense
18:42:27 <ehird> I thought about it and I went blind :(
18:42:47 <zzo38> Just send something like "join channel" and "prefix ,," to PocketMonsterIRC, and then any message you send to that channel if it starts with two commas it will remove the two comma and handle it as a message from you.
18:42:52 <oerjan> well it's slightly less obvious if you are working in a base
18:43:03 <oerjan> since then it only applies "eventually"
18:43:11 <ais523> ehird: oh, ofc, it's actually complying with the RFC
18:43:47 <zzo38> What's ofc and what's complying with the RFC
18:44:04 <ehird> rfc=the irc RFC spec
18:44:12 <ehird> which says that bots should respond with NOTICE
18:44:22 <ais523> and complying with the RFC, in this case, using NOTICE for automated replies like you're supposed to, rather than PRIVMSG like everyone actually does
18:44:36 <ehird> it would help if NOTICE wasn't annoying in every client ever
18:44:37 <zzo38> And it does respond with NOTICE. Of course I read the RFC! How do you think I connected to this IRC?
18:44:49 <ehird> zzo38: trial and error...?
18:44:52 <oklowob> oerjan: has it been proven that's the shortest way to prove it?
18:44:54 <ehird> a tutorial/reference from google?
18:44:58 <ehird> i mean, that's how most people do it
18:45:12 <oerjan> oklowob: er what? i didn't give any proof
18:45:20 <zzo38> I proved it on my own and I think you should learn to do so also. It isn't that hard
18:45:26 <oklowob> are there any proofs of shortest proofs?
18:45:34 <ais523> oklowob: yes, but they're too long
18:45:39 <ais523> (sorry, couldn't resist)
18:45:48 <oerjan> oklowob: in principle that's undecidable
18:46:25 <zzo38> oklowob: Not sure. It is the repeated RLE that never has 4 or 333
18:46:59 <oklowob> <zzo38> I proved it on my own and I think you should learn to do so also. It isn't that hard <<< who was this addressed to?
18:47:08 <ehird> [please say oerjan]
18:47:23 <oklowob> oerjan: you said you need to classify 92 atoms
18:47:29 <zzo38> I won't tell you who that was addressed to
18:47:34 <oklowob> and i made a little joke out of that
18:48:02 <oerjan> oklowob: for the cosmological theorem, which says that everything splits into atoms
18:48:44 <oklowob> oerjan: do you need to classify the atoms to prove it splits into atoms?
18:48:46 <zzo38> And why are NOTICEs annoying in IRC clients? And how are NOTICEs annoying in IRC clients?
18:48:55 <ais523> NOTICEs aren't annoying in my client
18:48:56 <oklowob> zzo38: why won't you tell me that? you're a strange person.
18:49:02 <ais523> [17:34] [Notice] -PocketMonsterIRC to #esoteric- zzo38:ro 2d6+1 3 = 6; 4; 7
18:49:09 <ais523> that's what it looks like in my client
18:49:14 <ais523> as opposed to [17:48] <zzo38> And why are NOTICEs annoying in IRC clients? And how are NOTICEs annoying in IRC clients?
18:49:15 <oerjan> oklowob: no, i don't think so. i think i proved it. all you need is to show that you get boundaries that never collapse.
18:49:17 <ais523> which is what a privmsg looks like
18:50:03 <oklowob> oerjan: yeah that's the automaton way, i just feel like you could do it even simpler, somehow from the same thing that gives the no fours result
18:50:08 <zzo38> OK, well depending on the client you could modify the client to work better. But I want my program to work properly as long as it is compatible with IRC
18:50:21 <oklowob> zzo38: why won't you tell me why you won't tell me that?
18:50:53 <ehird> zzo38: why won't you tell oklowob why you won't tell oklowob why you won't tell oklopol who the message was addressed to?
18:51:00 <ehird> s/oklopol/oklowob/
18:51:17 <oerjan> oklowob: um it's fairly simple. and since _some_ boundaries _do_ collapse, it cannot be that much simpler
18:51:21 <ehird> zzo38: "why won't you tell oklowob why you won't tell oklowob why you won't tell oklowob who the message was addressed to" -- why won't you tell oklowob?
18:51:24 <ehird> oh this is endless fun
18:51:32 <zzo38> Please try to figure it out by yourself. That is why I don't tell you
18:51:41 <ehird> erm how can we infer that
18:51:54 <oerjan> 22|33 -> 2223, boundary destroyed
18:51:55 <ais523> ehird: why won't you tell me why zzo38 won't tell oklowob why he won't tell oklowob why he won't tell oklowob who the message was addressed to?
18:52:52 <zzo38> ("ro d" rolls 1d6+0)
18:52:54 <oklowob> i think zzo38 misunderstood this world
18:53:26 <ehird> GHC COMPILED!!!!!!!!!!!!!!!!!!!!!
18:53:26 <oklowob> also the reason is he wants me to figure it out for myself
18:53:28 <zzo38> oklowob: No I didn't embed any puzzle or anything. You have to figure it out by reading the other messages and infering the context, if you can do that.
18:53:32 <ehird> WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT
18:53:46 <ehird> oklowob: you have to figure it out
18:54:13 <oerjan> oklowob: iirc the clue is that certain strings that start with 1 or 3 tend to step to strings that keep starting with 1 or 3, and vice versa for 2.
18:54:32 <oerjan> and that prevents enough boundaries from collapsing
18:54:34 <oklowob> zzo38: it just makes no sense no matter who it was addressed to
18:55:08 <oklowob> zzo38: was that the correct answer?
18:55:43 <zzo38> Was what the correct answer, to what question? Do you mean something like "Prelude> 2+2 4 woot" or a different answer/question?
18:56:02 <oklowob> zzo38: what i've been talking about all this time, that one line of yours
18:56:08 -!- KingOfKarlsruhe has joined.
18:56:08 <ais523> well, in Haskell, 2+2 is indeed 4
18:56:13 <ais523> using the definition of + from the Prelude
18:56:18 <oklowob> i just don't see who you could possible have addressed it to, so i wanted to know if it was me
18:56:19 <oerjan> <ehird> [please say oerjan] <<< now don't be rude :D
18:56:21 <ais523> so I assume that was ehird's test that ghci was working
18:56:39 * ais523 catches zzo38 in a butterfly net -----\XXXXX/
18:56:47 <zzo38> My one line of mine was not addressed to anyone in particular. I hoped you would figure it out
18:57:51 <oklowob> zzo38: ah, i guess that makes the least sense, and you're kind of a cook.
18:58:19 <zzo38> I do cook sometimes but mostly I don't cook actually
18:59:01 -!- PocketMonsterIRC has quit (Read error: 104 (Connection reset by peer)).
18:59:09 -!- zzo38 has quit ("OK I will work on PocketMonsterIRC more").
18:59:43 <ehird> no that was intentional I believe
18:59:50 <ehird> [for hopefully obvious reasons]
19:03:55 <oklowob> that was mostly intentional
19:04:06 -!- impomatic has joined.
19:04:07 <oklowob> althought it was a mental premature ejaculation initially
19:04:22 <oklowob> but took me ages to figure out what you were correcting
19:04:37 <oerjan> i was trying not to be _too_ obvious
19:04:59 <oerjan> that actually was just poor luck
19:05:06 <oklowob> "why would he correct my cook into a cock"
19:06:12 <oklowob> so, should i go buy beer, drink it alone, and do math?
19:06:22 <oklowob> i've always wanted to try that
19:06:27 <AnMaster> wow I ran into a developer who rejected a patch on the grounds that it broke on BeOS...
19:06:39 <ehird> AnMaster: don't be dissin' BeOS!
19:06:39 <ais523> well, that's a good reason to reject a patch
19:06:52 <ais523> if it breaks on /anything/, it's probably nonportable in some way
19:06:52 <ehird> i mean, saying 'wow' at it
19:06:52 <oerjan> BeOS or not BeOS, that's *hit by anvil*
19:07:45 <oerjan> oklowob: why not? time to start on the path to ruin, i say!
19:09:33 <oklowob> hit by anvil or not hit by anvil, that's *BeOS*
19:09:38 <AnMaster> is BeOS POSIX? Or does it have a totally custom API?
19:10:03 <AnMaster> RIP oklowob\nhit by flyswatter
19:10:13 <oklowob> oerjan: already started, now i actually *got* my first 4
19:10:44 <AnMaster> ehird, ah interesting, then why on earth did the same developer suggest using POSIX threads for the same project in another place...
19:10:56 <ehird> It probably supports pthreads.
19:10:57 <oerjan> oklowob: wait, you can by beer while ircing?
19:11:01 <oklowob> no one out of the 20-30 or so got a 5 of course, but still
19:11:16 <AnMaster> ehird, someone else mentioned that didn't work on windows though.
19:11:41 <oerjan> alcoholism next, then.
19:13:39 <oklowob> how are you not interested in my beveragility!
19:14:05 <AnMaster> * ais523 catches zzo38 in a butterfly net -----\XXXXX/ <-- since when did you have a net ais523?
19:14:14 <ais523> AnMaster: the butterfly net's mine, I've had it for ages
19:14:15 <ehird> AnMaster: not paying attention since 2008
19:14:18 <oerjan> AnMaster: you haven't been paying attention
19:14:29 <ehird> guys has AnMaster not been paying attention?
19:14:32 <ehird> thought I should mention it
19:14:34 <ais523> it's a lot nicer than oerjan's swatter
19:14:37 <ehird> </channeling-oklopol>
19:14:47 * oerjan swats ais523 to compare -----###
19:15:02 <AnMaster> ais523, nicer how? For the netter or the netee?
19:15:19 <oklowob> i don't think AnMaster has really paid much attention
19:15:29 * oerjan catches ais523 in the saucepan ===\___/
19:16:24 <AnMaster> hm I always thought the "ee" ending to mean ~"a person at the receiving end of some action" was rather weird.
19:16:29 <oklowob> if you don't answer soon, i'm going to have to ask on my university project's channel, and get an unanimous yes.
19:16:44 <oerjan> AnMaster: probably from french
19:17:00 <oklowob> even the professors say drinking is an important part of university
19:17:22 <lament> that's just cause they don't smoke pot
19:17:32 <oklowob> (okay one of those professors does play WoW 14 hours a day)
19:17:38 <oerjan> feminine perfect participles often end with ée, afair
19:17:46 <oklowob> (actually probably not a professor anymore)
19:17:52 <ehird> 18:15 AnMaster: oklowob, don't drink alcohol!
19:17:55 <ehird> your arguments are convincing
19:18:18 <AnMaster> ehird, I didn't know I had to justify it. You could just ask for that
19:18:30 <ehird> AnMaster: linux sucks! stop using it
19:18:37 <oerjan> oklowob: it was that sweet taste of undetectable sarcasm
19:18:38 <oklowob> "you suck, so no one cares if you ruin your life", to paraphrase
19:18:46 <AnMaster> seriously, don't get drunk, know what alcohol does to your liver?
19:18:56 <lament> know what life does to you?
19:19:07 <AnMaster> ehird, justification? As you saw I'm prepared to do give it on demand
19:19:13 <AnMaster> so I assume the same from you now
19:19:25 <ehird> AnMaster: nope, sorry, try a £100 upgrade.
19:19:37 <ehird> 18:17 AnMaster: seriously, don't get drunk, know what alcohol does to your liver? <-- also, being alive has a 100% mortality rate
19:19:42 <ehird> very dangerous, don't do it
19:20:16 <AnMaster> ehird, sure, but alcohol has a potential to shorten your lifespan quite a bit
19:20:23 -!- oerjan has quit ("Later").
19:20:33 <oklowob> AnMaster: it damages the liver, thereby strengthening it
19:20:38 <ehird> consider, every second you live, you chop off one second from your life
19:20:41 <AnMaster> ehird, not compared to baseline
19:21:01 <AnMaster> ehird, your arguments aren't making any sense you know
19:21:01 <ehird> AnMaster: so in effect you're suggesting we all have incredibly boring lives for the sole purpose of being able to live them and be bored longer?
19:21:05 <ehird> that's shit logic.
19:21:34 <AnMaster> ehird, if you consider alcohol to be what makes life worth living and interesting... then go ahead
19:21:35 <oklowob> i'm not sure not drinking is that boring.
19:21:45 <ehird> AnMaster: some people like drinking alcohol
19:21:48 <ehird> that's their prerogative
19:22:00 <ehird> if you're not alcoholic I doubt it can majorly impact on your lifespan
19:22:01 <AnMaster> ehird, are you saying that is true for you personally?
19:22:07 <ehird> AnMaster: did I say that?
19:22:14 <ehird> I'm saying that telling people 'don't drink alcohol!' is silly.
19:22:15 <AnMaster> ehird, you seemed to be implying that
19:22:43 <ehird> justifying doing X != thinking X is a thing I personally like
19:22:54 <impomatic> I always wanted a NeXTcube, I wonder if there's anything on Ebay
19:23:02 <oklowob> telling people "don't drink alcohol" is better than telling people not to tell people not to drink alcohol
19:23:15 <ehird> oklowob: i just like irritating AnMaster
19:23:21 <oklowob> then again by extrapolating a bit i guess i'm being the master jackass here.
19:23:55 <oklowob> (that's the ad infinitum joke, if you didn't get it over all those made up terms)
19:24:17 <ehird> oklowob: did you make up jackass
19:24:20 <ehird> I've never heard that word :\
19:24:40 <lament> AnMaster: is your goal to live for as long as possible? Suppose you live to 80 rather than 70; are those ten extra years while already old, weak, and sick, worth having led a boring, shitty life?
19:24:43 <AnMaster> ehird, so.. from the same logic you recommend that people should take their own lives if they are depressed, rather than trying to get psychological (or whatever is relevant in the specific case) help?
19:25:00 <ehird> AnMaster: erm 'from the same logic' no I don't think that's the same logic at al
19:25:16 <ehird> argument ad i-said-so
19:25:17 <oklowob> lament: what if the last ten are shitty anyway?
19:25:21 <oklowob> then you'd just have more good years.
19:25:34 <lament> oklowob: that's not a reasonable what if.
19:25:41 <ehird> what if we all had a pony
19:25:45 <oklowob> lament: is that a yes btw? god it's hard to get others to decide stuff for me
19:25:47 <ehird> OPPC (one pony per child)
19:25:49 <lament> oklowob: the older you are, the shittier it gets - that seems a reasonable assumption to make
19:25:50 <AnMaster> lament, regular exercise (hopefully) keeps you healthy for longer, at least increasing the probability for it
19:26:06 <ehird> AnMaster: I think you totally misinterpreted him
19:26:17 <AnMaster> ehird, no you misinterpreted me
19:26:29 <AnMaster> ehird, it seems you need ~ to see sarcasm
19:26:35 <lament> AnMaster: your priorities in life seem really strange to me
19:26:37 <ehird> can you stop saying that?
19:26:42 <ehird> that was obviously not sarcasm
19:26:50 <ehird> I can't think of one person who would agree that was sarcasm in any way at all
19:26:54 <ehird> and if it was, it didn't even mean anything
19:26:59 <ehird> and nor was it funny
19:27:10 <ehird> it applies even less to irony.
19:27:14 <AnMaster> ehird, and I wasn't intending it as funny
19:27:25 <ehird> god talking to you rots my brain
19:27:59 <ehird> oklowob: fuck alcohol, just reserve 2 hours a day talking to AnMaster
19:28:01 <AnMaster> "<ehird> god talking to you rots my brain" <-- hearing voices in your head and believing them to be god.
19:28:10 <ehird> AnMaster: ...what?
19:28:11 <AnMaster> the problems with a missed comma
19:28:41 <AnMaster> "<ehird> god talking to you rots my brain" <-- I believe you meant a "," after "god"?
19:28:43 <oklowob> ehird: you actually didn't get that, or it was too obvious to believe to be a joke?
19:28:54 <oklowob> i don't really get how the joke was implemented
19:29:01 <oklowob> but it was so obvious you can get it anyway
19:29:03 <ehird> yeah, exactly, that made no fucking sense
19:29:10 <ehird> my brain filters out shit jokes from AnMaster
19:29:18 <ehird> because the probability he's just being serious and stupid is high
19:29:47 <AnMaster> ehird, ever heard of "dry humor"?
19:29:58 <ehird> AnMaster: please don't try, it's embarrasing.
19:30:14 <AnMaster> ehird, for you it must be. I understand that
19:30:32 <ehird> AnMaster: hey you've only used that one 70 times
19:30:36 <ehird> it might become funny soon
19:30:42 <ehird> hmm wait no probably not sorry.
19:30:48 <ehird> didn't mean to disturb you
19:31:01 <AnMaster> ehird, Your line was ambiguous.
19:31:08 <oklowob> so one pro, one con, can't i seriously get a third one?
19:31:10 <AnMaster> Maybe time to learn lojban I guess.
19:31:18 <ehird> oklowob: is it about you getting beer?
19:31:27 <ehird> magical voting powers
19:31:34 <ehird> now your imaginary friend can have some too
19:31:44 <oklowob> okay so one pro, one con, one failure to vote
19:31:49 <AnMaster> ehird, was that supposed to be a joke?
19:32:04 <ehird> oklowob: okay just pro
19:32:14 <ehird> AnMaster: bait to make you ask whether I was joking
19:33:05 <AnMaster> oklowob, indeed. dry irony was what I would have said it was. Except ehird didn't think it was before.
19:33:19 <ehird> he was talking about what i said.
19:33:59 <AnMaster> ehird, yes so was I. Both events were the same category. Except different persons said it. Now fuck off.
19:34:42 <oklowob> AnMaster: don't lose your cool, while you may not enjoy arguing with ehird, i love reading it, and hope you continue it.
19:34:47 <ehird> i think you have issues AnMaster
19:34:51 <ehird> oklowob: damn you :D
19:34:58 <AnMaster> oklowob, good thing I used ignore then.
19:35:14 <ehird> i love how he turns into everything he criticises me for when I anger him
19:35:15 <oklowob> AnMaster: well we all know how long declared ignores last
19:35:35 <AnMaster> oklowob, that is true. ehird too tends to unignore quickly
19:36:23 <oklowob> okay beer time before shoppes close up, wish me luck.
19:36:40 <AnMaster> oklowob, but currently I got more urgent issues than arguing with ehird to do. Like watching paint dry.
19:36:54 <ehird> will you marry me AnMaster?
19:36:56 <ais523> AnMaster: that's a great line
19:37:03 <ehird> oklowob: yeah I think it was an attempt
19:37:06 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:37:52 <ais523> well, I really enjoyed you saying it
19:38:05 <ais523> and laughed literally out loud for about 3 seconds, which is quite a lot
19:38:16 <ehird> we could sort of make a market for this
19:38:25 <ehird> like, just have a really unfunny guy talk into a keyboard for hours
19:38:33 <ehird> then we go through it and pick up the worst parts that are hilarious
19:38:35 <ehird> and publish themmm
19:38:35 <AnMaster> and I even think I used it before once...
19:38:56 <AnMaster> you must not have been there then I guess
19:39:03 <AnMaster> (or it wasn't this channel at all maybe)
19:39:16 -!- Mony has quit ("Quit").
19:39:16 <ehird> err you think you invented "paint drying" joke?
19:42:15 <AnMaster> ais523, hm I think IFFI will need readjustments soon, I have a feature branch I'm going to merge and then new cfunge release within a few days or so
19:42:24 <ais523> wow, I'm so busy in RL
19:42:32 <ais523> I'll even miss the 1 April typical release date
19:42:36 <ais523> today I'm having a day off
19:42:47 <AnMaster> ais523, I was planning to miss that too. releasing one day before
19:42:54 <ais523> maybe I'll work on C-INTERCAL today
19:43:29 <AnMaster> hm I wonder why removing one unneeded branch in a core part of the loop made the thing slower...
19:44:02 <AnMaster> I mean one test less every time a instruction is to be executed should not slow it down as far as I can see..
19:44:33 <ais523> it might be mispredicting
19:44:48 <ais523> I know that some JIT code nowadays adds extra jumps to the code
19:44:52 <ais523> so it can be predicted more easily
19:46:03 <AnMaster> ais523, gcc generated jump table both before and after... but now I moved all the "execute fingerprint instructions in A-Z range" into that jump table instead of having a test before if it instruction => 'A' && instruction =< 'Z'
19:46:19 <AnMaster> ais523, the generated asm had a jump table without holes in both cases
19:46:29 <AnMaster> as in a full jump table after even. GCC generated it that way
19:46:33 -!- MigoMipo has joined.
19:46:33 <ais523> holes in the jump table shouldn't matter
19:46:56 <ehird> ahh, plan9 is such a breath of fresh air
19:47:53 <AnMaster> ais523, exactly it basically masked the value to 8 bits and then bitshifted it and used that to jump forward from %RIP and then do an unconditional branch from there to the relevant code block
19:48:25 <ais523> well, a jump table will always be mispredicted, you can't do anything about that though
19:48:26 <AnMaster> ais523, and processor docs seems to indicate that those should be well predicted on both AMD64 and Intel's CPUs.
19:48:29 <ais523> unless you have a very advanced processor
19:48:37 <ais523> an unconditional jump is always predicted perfectl
19:48:47 <ais523> the jump table won't be though
19:52:26 <AnMaster> ais523, hm AMD docs indicate jump tables are recommended when there are a large number of branches
19:52:55 -!- kar8nga has joined.
19:52:56 <ais523> you're going to normally get one misprediction both ways around
19:53:13 <AnMaster> ais523, so what would be a way to avoid it? how about threaded funge space?
19:53:27 <AnMaster> actually that would probably not work well
19:53:59 <AnMaster> cache misses galore probably since you couldn't organise the code in a good way
19:54:12 <AnMaster> what with the 2D stuff and such
19:55:08 <AnMaster> and JITing it would make t impossible basically
19:56:15 <ais523> just design a CPU specifically for doing befunge
19:56:39 <AnMaster> ais523, I don't think "cache" was ever discussed for it
19:56:56 <ais523> no, I don't think it was
19:57:22 <AnMaster> ais523, + it would probably end up slower than mainstream general purpose CPUs running an interpreter around the time it was finished.
19:57:32 <ais523> depends on how it was fabricated
19:58:49 <AnMaster> ais523, what do you mean? I just mean that general purpose CPUs are getting improved so fast that even if your implementation was a lot faster when you started designing, when you were done it would be slower
19:59:11 <ais523> the design needn't take long
19:59:17 <ais523> it certainly wouldn't take years
20:00:25 <AnMaster> ais523, able to beat a JITing funge on a high end general purpose CPU? Say, Intel's or AMD's latest and greatest one
20:00:47 <ais523> well, if you make it using the same techniques as theirs, but have the funge interp hard-coded, it'll necessarily be faster
20:02:22 <ais523> yes, most people just don't notice because Windows deteriorates faster
20:02:50 <AnMaster> ais523, well a JITing one could potentially optimise easier than you could, turning some instructions into bulk instructions operating on multiple words in memory at a time. Optimising >:#,_ and other common idioms
20:03:25 <oklowob> ais523: i don't believe you
20:03:30 <AnMaster> oklowob, yes the new ones can wait twice as fast for one second!
20:03:31 <ehird> i dont' think AnMaster realises how fast silicon is
20:04:08 <oklowob> err so the cpu for befunge, first of all it would be stack based
20:04:17 <oklowob> that's been proven not to work
20:04:32 <AnMaster> oklowob, hm... stack in register file?
20:04:42 <ais523> oklowob: the stack would be stack-based
20:04:52 <AnMaster> I'm not sure how crazily expensive that would be
20:04:52 <ais523> if you're implementing befunge, you are going to model the stack using the stack anyway
20:05:24 <oklowob> ais523: with jitting you'd probably use registers
20:06:00 <ais523> you could do the jitting in hardware, though
20:06:11 <oklowob> also you can't really collapse loops or anything if you implement the funge space in hardwar
20:06:12 <ais523> that would make it much faster
20:06:16 <AnMaster> all modern CPUs do that already
20:06:29 <ais523> I imagine you'd have something similar to a real processor, but optimised for jitting befunge quickly
20:06:38 <oklowob> well yes, but then it's clear you could just use a general purpose computer in the first place
20:06:45 <AnMaster> oklowob, you can't really in befunge anyway if you implement t
20:07:03 <AnMaster> since that is one befunge instruction each before switching context between threads
20:07:07 <oklowob> AnMaster: yeah all modern cisc's do that
20:07:18 <ais523> AnMaster: you still can, you just figure out relative speeds
20:07:25 <oklowob> microcode is just simulating riscs, some modern cpu's just use a risc in the first place
20:07:35 <AnMaster> ais523, what if one ends up modifying the program path of the other
20:07:35 <ais523> oklowob: *simulating ciscs
20:07:40 <ais523> AnMaster: you have barriers for taht
20:07:55 <ais523> as in, each g or p instruction that could be problematic you make sure it runs at the right relative time
20:07:59 <AnMaster> ais523, ok we need a funge fingerprint with memory write barriers next...
20:08:04 <ais523> likewise, I/O would have to run at the right relative time
20:08:23 <AnMaster> ais523, saw my concurrent hello world?
20:08:46 <AnMaster> ais523, I have two versions, one using mutexes, the other wait free
20:08:46 <ehird> Deewiant: what's the shit you have to put in somewhere to get profiling & docs w/ cabal?
20:08:48 -!- Slereah_ has joined.
20:09:03 <AnMaster> #vtf2*2+"olleH">:#,_'>11p><a,0q
20:09:29 <Deewiant> Should have everything commented out at their default settings and be fairly self-explanatory
20:09:50 <oklowob> AnMaster: nm, how does t work?
20:10:41 <AnMaster> oklowob, create threads that run synced. As in one thread execute one instruction, then next thread executes one and so on following a round robin schedule
20:11:00 <oklowob> ofc, but is it fork or what?
20:11:30 <AnMaster> oklowob, t creates a new IP, inserting it ahead in the queue, child reflecting
20:11:35 <oklowob> stacks the same or different?
20:11:45 <AnMaster> err, behind? ahead? Or depending on which what you look at it?
20:11:47 <Deewiant> Copy of stack, possibly thread ID on top, I forget
20:11:57 <oklowob> thread id for other, nothing for other?
20:12:18 <oklowob> is there a concept of stack id?
20:12:30 <AnMaster> oklowob, yes, you can check it with y
20:12:38 <AnMaster> well one of the other things you can get with y
20:12:49 <AnMaster> oklowob, writing to memory reading from memory
20:13:05 <Deewiant> There are also fingerprints for direct messing out with other IPs
20:13:06 <AnMaster> Deewiant, didn't RCS define some IIPC too?
20:13:26 <AnMaster> if the set of loaded fingerprints are copied are copied or not is UNDEF
20:13:29 <Deewiant> Hmm, I wonder what that 'out' is doing in that sentence
20:14:14 <AnMaster> Deewiant, to make clean it wasn't "messing in"?
20:14:48 <oklowob> "messing out" sounds like two threads groping each other
20:15:16 <AnMaster> ais523, some fingerprint instructions would potentially be faster on GPCPUs
20:16:36 <AnMaster> ais523, consider those that benefit from SIMD for example. I think if you included all that the BCPU wouldn't be done in those few weeks you predicted
20:18:14 <AnMaster> Deewiant, How do you implement y? Any short cuts for low positive values to avoid pushing and popping as much?
20:18:48 <Deewiant> I do what the spec says: push the whole thing then pop up to some point, save the value, pop the rest, push the saved value
20:19:34 -!- Slereah has quit (Read error: 110 (Connection timed out)).
20:19:42 <AnMaster> Deewiant, that is a clear win in mycology I noticed, ay and fy seems very common. As well as some lower ones
20:22:41 -!- pikhq_ has joined.
20:22:57 <AnMaster> Deewiant, I already avoided those below 10 for ages since they are easy to map to values, but doing it even higher up, as far as you know, proved a clear win
20:24:54 <AnMaster> Deewiant, Err also y acting as pick doesn't do that correctly IIRC?
20:25:22 <AnMaster> you need to reach down and only pop back to the point before y, not pop down all the way
20:25:28 <Deewiant> Yeah, there's an 'if' somewhere before 'save the value'
20:25:28 <AnMaster> I remember us discussing this before
20:25:45 <Deewiant> I can't remember these things by heart :-P
20:25:57 <AnMaster> Deewiant, cfunge avoids popping by never pushing on the main stack :)
20:27:24 -!- tombom has quit ("Peace and Protection 4.22.2").
20:27:55 <AnMaster> Deewiant, yes, that is true, but you don't just push a fixed value. setting to 0 is even cheaper (by a few cycles) ~~~~~
20:28:08 <AnMaster> seriously, it did turn out faster, but for other reasons
20:28:14 -!- KingOfKarlsruhe has joined.
20:28:50 <AnMaster> cache I suspect is one of them, since the env here is huge. Another is probably that you often end up needing to expand stack
20:29:24 <AnMaster> especially bad in programs using t
20:29:26 <Deewiant> Well, the latter only happens once (per IP)
20:29:40 <Deewiant> But true, if a lot of IPs are spawned which only ever do ay or something
20:29:43 <AnMaster> Deewiant, true. Or when you do {y}{y}
20:30:01 <AnMaster> actually would need a 0 there to prevent { creating a mess
20:30:06 <Deewiant> Well your optimization doesn't help that case anyway
20:30:20 <AnMaster> Deewiant, sure does. My temp stack is only created once per run
20:30:35 <Deewiant> Oh, you have a single global stack for y values
20:30:51 <AnMaster> static funge_stack* restrict sysinfo_tmp_stack = NULL;
20:30:52 <Deewiant> I find that amusing for some reason :-P
20:30:53 <AnMaster> sysinfo_tmp_stack = stack_create();
20:31:14 <AnMaster> for mycology I should annotate that one as unlikely
20:32:07 <Deewiant> Do you have a lot of #if OPTIMIZE_FOR_MYCOLOGY ?
20:32:09 <AnMaster> Deewiant, and I don't even do that at all for low values to avoid having to even push and clear (since you can't reuse most of the y stack...)
20:32:32 <AnMaster> Deewiant, no. I try to profile mycolgy, fungot, life.bf and a few other programs and optimise for the average
20:32:32 <fungot> AnMaster: they say that a xorn knows of no obstacles when pursuing you.
20:32:43 <AnMaster> but some of the stuff is only used by mycology
20:33:28 <AnMaster> Deewiant, fungot uses surprisingly much of the stuff actually, apart from stack stacks
20:33:29 <fungot> AnMaster: mars: the wumpus, by j.r.r. tolkien), living in fresh water. there aren't any penguins this far inland. there's nothing to shoot him and miss, there's also a chance that he'll up and move himself into another gale of laughter. she heard the spring click. weight slapped into her hand. it was under the oak root. bearing it down so far as to sit on it on the astral plane.
20:33:34 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc lovecraft nethack* pa speeches ss wp
20:33:58 <AnMaster> Deewiant, I don't think I saw when fizzie added that one.
20:34:21 <Deewiant> I don't know which ones were there either, but I instantly recognized both of those as Nethack
20:34:23 <AnMaster> Deewiant, so I was wondering "what on earth, it looks like nethack"
20:34:44 <AnMaster> since I wasn't aware of that it had nethack
20:35:04 <AnMaster> fizzie, added nethack recently?
20:35:56 <AnMaster> Deewiant, anyway, there are some paths I can always optimise for. Like annotating foo = malloc(...); if (!foo) as unlikely to be the case
20:36:23 <ehird> why even check malloc
20:36:35 <ehird> have you ever got a NULL result from it legitimately w/ cfunge
20:36:40 -!- pikhq has quit (Read error: 110 (Connection timed out)).
20:36:48 <AnMaster> since that would end up as abort in the end in most cases (apart from stack stacks, where I reverse to comply with the standard, but in some cases reversing isn't sane, like before program started, or whatever)
20:37:27 <Deewiant> IP starts with the delta west if the whole source couldn't be loaded :-P
20:37:32 <AnMaster> Deewiant, also how many programs would except 7 to reflect due to OOM when trying to grow stack?
20:38:11 <AnMaster> most programs would look like #v7#v8#v+#v\ and so on
20:38:27 <Deewiant> If they know they're loading some potentially huge buffer to memory they might be careful about stuff like that
20:39:12 <AnMaster> Deewiant, you couldn't even know there was no way + could reflect. What if you the implementation was written in a language where all allocations of the interpreter are on the heap? Like quite a few byte code interpreter iirc.
20:39:31 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
20:39:52 <AnMaster> Deewiant, any instruction, even along the failure paths could potentially reflect then
20:40:30 -!- MizardX has joined.
20:41:15 <AnMaster> just consider in some such language: while(true) { try { value = fungespace[posx][posy]; dispatch[value]; } catch (e) { reflect(); } }
20:41:27 <AnMaster> Deewiant, what if allocating "value" ran out of space there?
20:41:52 <AnMaster> but it preallocated and reserved some memory for OOM exceptions
20:42:02 <Deewiant> Yes, that's a good reason for why the spec says something about OOM only for { :-P
20:42:55 <AnMaster> Deewiant, IMO y is more likely to cause OOM
20:44:21 <AnMaster> Deewiant, running with a clean env reduces mycology time by almost 0.010 seconds here
20:44:36 <Deewiant> Hmm, why is G_BROKEN_FILENAMES set
20:45:38 <AnMaster> my arch system is shut off atm
20:45:43 <AnMaster> http://bugs.archlinux.org/task/5487
20:46:26 <Deewiant> I see /etc/profile.d/glib2.sh is 'export G_BROKEN_FILENAMES=1'
20:46:54 <Deewiant> Although an update will bring it back I guess
20:47:37 <Deewiant> Hm, HUSHLOGIN=FALSE also seems useless
20:47:48 <ehird> hushlogin stops the 'Last login: ' line
20:47:55 <ehird> I have a ~/.hushlogin because I hate those
20:48:07 <AnMaster> Deewiant, trying to optimise CCBI mycology time by external means? ;P
20:48:28 <Deewiant> Nah, just cleaning up pointless crap from my environment
20:48:45 <AnMaster> Deewiant, for me $LS_COLOR is the single longest one
20:48:59 <Deewiant> I don't have LS_COLOR, I guess it'd be PATH
20:49:18 <AnMaster> no LD_LIBRARY_PATH or CLASSPATH here
20:50:09 <AnMaster> no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.svgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ac
20:50:10 <AnMaster> e=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35[cut off, too long to paste on irc, would be serveral lines]
20:50:31 <Deewiant> Hrmph, my LD_LIBRARY_PATH has everything twice
20:51:02 <AnMaster> Deewiant, my PATH used to have such a problem, I reported a bug on the gentoo bug tracker that the profile.d stuff was semi-broken when it came to that, it got fixed
20:51:41 <Deewiant> I would have though that it's because it refers to itself put PATH does also and is fine
20:52:50 <AnMaster> Actually PATH does have one duplicate entry. For a non existing directory. *greps*
20:54:56 <AnMaster> Deewiant, I also see a lot of stuff like KONSOLE_DCOP and such
20:55:14 <AnMaster> KONSOLE_DCOP_SESSION KDE_SESSION_UID...
20:55:49 <AnMaster> huh, related to gentoo's java stuff in some way
20:56:03 <AnMaster> they could have used a less general name at least
20:57:05 <Deewiant> Hmh, XDG_DATA_DIRS is also duplicated, I wonder why
20:57:32 <AnMaster> that is /usr/share:/usr/kde/3.5/share:/usr/local/share here
20:57:42 <Deewiant> XDG_DATA_DIRS=/usr/share:/usr/local/share:/usr/share:/usr/local/share
20:59:22 <Deewiant> As far as I can tell that really can't be happening
20:59:42 <AnMaster> Deewiant, grep /etc recursively
21:00:48 <Deewiant> It's in /etc/profile.d/xorg.sh which sets it to /usr/share:/usr/local/share if it's unset and prepends those if it's already set
21:01:08 <AnMaster> Deewiant, then it must be invoked twice somehow
21:01:09 <Deewiant> Actually, I guess that's been run twice
21:01:33 <Deewiant> I thought, for some reason, that another variable it sets in the same way was not duplicated
21:01:40 <Deewiant> It was just so short that I didn't notice :-P
21:02:40 <AnMaster> Deewiant, the gentoo system is easier, it just puts files in /etc/env.d a script (env-update, which also runs automatically if a package install/uninstall/upgrade changes any file in /etc/env.d) then collects the vars from all file there and put it in /etc/profile.env, which is sourced by /etc/profile.
21:03:13 <AnMaster> however some vars are treated specially, like instead adding entries to /etc/ld.so.conf if the var name is LD_PATH or something like that
21:03:23 -!- BeholdMyGlory has joined.
21:04:45 <AnMaster> hm... How insane would it be to use self modifying C code. In general I mean
21:04:58 <AnMaster> like overwriting something with NOP instead of testing every time
21:04:59 <Deewiant> Depends on what it modifies and how much
21:05:41 <AnMaster> Deewiant, branch that will only be taken initially when creating resource, in the future it will reuse static resource
21:05:52 <AnMaster> yet I don't want to create it on program startup if it is never used
21:06:13 <AnMaster> I'm aware of that I would need a pure C fallback since this would differ between platforms yes
21:06:40 <AnMaster> Deewiant, IIRC the linux kernel does something like that for dynamic trace points or whatever it is called
21:07:36 <ais523> sorry, I haven't been reading
21:08:01 <AnMaster> ais523, dynamically modifying the machine code on the fly to statically optimise away branches
21:08:30 <AnMaster> ais523, idea is to do it in cfunge for some stuff that won't change during program run more than once. I'm not sure how insane it is
21:09:00 <AnMaster> ais523, flags for stuff like "resource initialised" stuff basically
21:09:19 <AnMaster> is there any GCC extension to take the address of an inline ASM block
21:09:45 <AnMaster> and somehow the kernel manages to do it
21:09:48 <ais523> AnMaster: put a label inside the block
21:09:52 <ais523> and you can use the label outside
21:09:59 <ais523> I think you might have to declare it, though
21:11:14 <AnMaster> actually I have no idea how to take the address of a label...
21:11:33 <AnMaster> ais523, do you mean C label or asm label?
21:11:40 <ais523> in gcc, labels are of type void*, and you can take the address of a C label using the prefix-&& operator (which is a gcc extension)
21:11:44 <ais523> but I meant asm label in that case
21:12:00 <AnMaster> ais523, and how would you take the address of an asm label? or declare one
21:12:07 <AnMaster> that would be AT&T syntax for gas btw
21:12:23 <ais523> AnMaster: I'm not sure, I'd have to look it up
21:13:26 <AnMaster> Deewiant, hm. Ok. I guess a macro to generate the needed asm code would be a good idea. Both for creating such a branch and for turning one on/off
21:15:05 <Deewiant> But really, self-modifying code is slow
21:15:18 <AnMaster> Deewiant, oh? Not if you only do it once
21:15:26 <AnMaster> I mean, sure yes if you modify all the time
21:15:38 <AnMaster> but this would be "change once"
21:16:01 <AnMaster> Deewiant, It may be slow still, depends on cache effects, but worth investigating
21:16:20 <Deewiant> Here, let me quote from Intel's Optimization Reference Manual, Appendix E, Assembler/Compiler Coding Rule 57
21:16:23 <AnMaster> Deewiant, also you could just mprotect() it as writable as well as executable and readable *once*
21:16:31 <AnMaster> Deewiant, I'm much more interested in what AMD says
21:16:52 <Deewiant> "If code is to be modified, try to do it all at once and make sure the code that performs the modifications and the code being modified are on separate 4-KByte pages or on separate aligned 1-KByte subpages."
21:17:44 <AnMaster> Deewiant, Instruction L1 cache invalidation I'd assume
21:17:59 <Deewiant> I was asking you regarding AMD
21:18:25 <AnMaster> but my modern ones are all AMD
21:18:45 <Deewiant> Right, of course everyone optimizes for their own CPU ;-)
21:19:50 <AnMaster> Deewiant, I think AMD is more of the future than Intel. And yes avoiding self modifying code. Yet JIT compilers do it all the time, and some, like Java's JIT, optimise and inlines hot code sections on the fly
21:20:16 <AnMaster> Deewiant, AMD docs talk about 64 bytes instead of 4 KB though...
21:21:26 <ehird> AnMaster: more of the future than intel — seen nehalem?
21:21:34 <ehird> http://en.wikipedia.org/wiki/Nehalem_(microarchitecture)
21:21:47 <ehird> I'd say it's in Intel's ballpark right now
21:22:47 <Deewiant> What do you mean by more 'of the future'
21:23:20 <ehird> Deewiant: as in, the future is with AMD, not intel
21:23:27 <AnMaster> Deewiant, as in intel's designs still are quite bad compared to the ones of AMD..
21:23:30 <ehird> I don't think AMD has done anything comparable to Nehalem recently, so I disagree.
21:23:35 <Deewiant> As an aside, what level of x86 extensions support do you have?
21:23:47 <Deewiant> SSE, SSE2, SSE3, SSSE3, SSE4, SSE4.1, SSE4.2, POPCNT?
21:24:09 <AnMaster> Deewiant, personally MMX, SSE, SSE2, SSE3, 3dNow, 3dNow Extended
21:24:42 * Deewiant makes a mental note to use SSE4 just to spite you
21:25:01 <Deewiant> Just got mail from pyfunge's author: another interpreter being revived
21:25:01 <AnMaster> Deewiant, I use SSE2 in some places... With pure C fallbacks
21:25:23 <Deewiant> Passes Mycology according to him
21:25:59 <Deewiant> It used to fail to k IIRC, most semi-decent interpreters did
21:26:08 <Deewiant> AnMaster: An SSE4.2 instruction with a separate cpuid flag
21:26:27 <ais523> is there any fingerprint that changes the semantics of core instructions?
21:26:34 <ais523> I wonder what redefining k inside a k-loop would do?
21:27:42 <AnMaster> Deewiant, yes it changes semantics of output after jumping backwards iirc
21:28:17 <Deewiant> Also, pyfunge author says Mycology has a bug
21:28:32 <AnMaster> and what do you think of that bug
21:28:46 <Deewiant> But I also found that it reports that PyFunge uses buffered I/O, despite it is configured to use unbuffered I/O (N.B. it is temporarily disabled for code refactoring though) and returned 16 for first cell of "y" command. I traced back and once concluded that it works incorrectly when first cell is bit 0 and 1 unset and other bit (bit 3 in my case) is set, but I'm a bit unsure that my interpreter is correct so I mailed.
21:29:29 <Deewiant> AnMaster: mind testing it out for me? I don't have a funge-development environment properly set up
21:29:44 <AnMaster> Deewiant, cfunge doesn't have unbuffered IO
21:29:53 <AnMaster> it has line buffered and fully buffered only
21:29:58 <Deewiant> AnMaster: I know, just set the bit and see what Myco says
21:30:12 <Deewiant> Or rather, push the exact value he does :-P
21:30:15 <AnMaster> Deewiant, which value should I or in now again?
21:31:22 <Deewiant> Does your C compiler not accept non-hexadecimal integer literals? :-P
21:31:37 <AnMaster> Deewiant, yes it does, but my code currently uses hexadecimal ones there
21:31:38 <Deewiant> Try both 0x10 and 0x16 just in case
21:32:01 <Deewiant> You also realize that your code will continue to work if you change it to decimal? :-P
21:32:04 <AnMaster> BAD: 1y claims = is unimplemented, yet 5y claims to know what it does
21:32:18 <AnMaster> y claims all of the following:
21:32:18 <AnMaster> That buffered I/O is being used
21:32:18 <AnMaster> BAD: after y the top cell is greater than 15
21:32:38 <AnMaster> y claims all of the following:
21:32:38 <AnMaster> That buffered I/O is being used
21:32:40 <AnMaster> BAD: after y the top cell is greater than 15
21:32:47 <Deewiant> WTF is that BAD doing there :-D
21:33:22 <Deewiant> As for the un/buffered thing I think the logic is probably correct, the printing there is just something I've broken often
21:34:00 <AnMaster> 1 cell containing flags (env).
21:34:01 <AnMaster> Least Significant Bit 0 (0x01): high if t is implemented. (is this Concurrent Funge-98?)
21:34:01 <AnMaster> Bit 1 (0x02): high if i is implemented.
21:34:01 <AnMaster> Bit 2 (0x04): high if o is implemented.
21:34:01 <AnMaster> Bit 3 (0x08): high if = is implemented.
21:34:01 <AnMaster> Most Significant Bit 4 (0x10): high if unbuffered standard I/O (like getch()) is in effect, low if the usual buffered variety (like scanf("%c")) is being used.
21:34:04 <AnMaster> Further more significant bits: undefined, should all be low in Funge-98
21:34:44 <AnMaster> Deewiant, and I don't know why that BAD is there for 0x10 since it seems a valid way to say unbuffered IO
21:35:08 <Deewiant> Maybe it's just a brain fart and should say 31
21:35:57 <Deewiant> Okay, now I'm at 5 bugs and 4 TODOs for Mycology
21:36:08 <AnMaster> Deewiant, probably. Also I think your test for mycoinput would break on unbuffered IO
21:36:41 <AnMaster> Deewiant, btw what are those other 4 bugs?
21:36:43 <Deewiant> 'They each suspend the program and wait for the user to enter a value
21:36:46 <AnMaster> one would be R in some fingerprint iirc
21:37:12 <AnMaster> Deewiant, err it wouldn't wait for user to press enter would it with unbuffered?
21:37:30 <Deewiant> No, but that doesn't matter does it?
21:37:53 <AnMaster> Deewiant, yes it may do for multi-digit number input
21:38:07 <AnMaster> depending on how you interpret it
21:38:13 <Deewiant> No, since & just reads up to a non-numeric
21:38:22 <AnMaster> Deewiant, what about STRN I then?
21:38:24 <Deewiant> So '123x' with unbuffered would send the 123
21:38:34 <Deewiant> STRN is one of Mike's; all bets are off
21:38:47 <AnMaster> that's a nice way to express it
21:39:00 <AnMaster> it actually made me laugh out loud (to quote ais523)
21:39:12 <Deewiant> impomatic: ( -- 0gnirts)Input a string
21:39:33 <Deewiant> I pasted 'I( -- 0gnirts)Input a string'
21:39:46 <Deewiant> And evidently the tab character after the I decided to tab-complete
21:39:47 <AnMaster> Deewiant, your tab completion is totally bonkers then
21:40:03 <ais523> it must have been a literal tab in the original source
21:40:20 <Deewiant> That is the entirety of the docs for I
21:40:40 <AnMaster> ais523, well that would depend on client, if I use Emacs with X frontend that pastes as a literal paste in ERC, but in console I would get the effect Deewiant described
21:40:53 <Deewiant> AnMaster: The other bugs are FILE's 1R at EOF and STRN's opinionated G test
21:41:11 <AnMaster> Deewiant, that is two. You said 4 in total?
21:41:23 <Deewiant> I think I said 5 but I meant 4
21:41:32 <Deewiant> And the additional two are the two you confirmed regarding to 1y
21:42:35 <AnMaster> Deewiant, btw, your STRN I test is opinionated too iirc. for your mycology results page you said STRN I was BAD if it didn't use same input buffer as core input and BASE input
21:43:08 <Deewiant> The 5 TODOs are TIME's day-of-year not being output for local time; testing INDV with { properly (I think CCBI implements it improperly now); 3DSP; '<something above what fits in a signed octet>; mycoedge
21:43:09 <AnMaster> but using same buffer is probably saner yes
21:43:26 <Deewiant> I'm fine with being opinionated unless it's a stupid opinion
21:43:40 <AnMaster> Deewiant, it should be DISCOURAGED then or something
21:44:59 -!- oerjan has joined.
21:45:28 <Deewiant> Like I said, I'm fine with being opinionated
21:46:13 <AnMaster> Deewiant, I remember you saying that mycology didn't support unbuffered IO once in the beginning when I was working on cfunge
21:46:18 <oerjan> <Voltaire> It's a bunch of hogwash, but I support your right to say it </Voltaire>
21:46:20 <AnMaster> or maybe near the end of bashfunge
21:46:30 <Deewiant> Yes, I was thinking about something like that just now as well
21:46:43 <AnMaster> Deewiant, I still think you should support it
21:46:45 <Deewiant> But I couldn't think of any good reason for that
21:47:10 <AnMaster> Deewiant, I think the reason you used the reason "meh, too much work" or something like that back then
21:47:25 <Deewiant> So was I clueless then or am I now
21:47:44 <AnMaster> Deewiant, I'm still wondering about input on unbuffered
21:53:25 <oerjan> <ais523> yes, most people just don't notice because Windows deteriorates faster
21:53:41 <oerjan> http://en.wikipedia.org/wiki/Wirth's_law
21:56:51 -!- pikhq_ has changed nick to pikhq.
22:03:50 <AnMaster> oerjan, partly that is justifiable. But only part.y
22:04:29 <AnMaster> I mean, of course GUIs are more resource intensive than text only interfaces.
22:21:33 <oklowob> guis have changed from their early days?
22:22:03 <oklowob> you didn't actually imply that
22:29:02 <AnMaster> oklowob, well a bit, but not that much
22:29:09 <AnMaster> and you can pre-render parts of it
22:29:16 <AnMaster> and then just draw images where needed
22:29:32 <AnMaster> oklowob, or if you want those horrible 3D effects... Well I guess you need more computer then
22:29:47 <AnMaster> you can just choose to continue using a simpler GUI and it works fine
22:30:04 <AnMaster> of course if you use Windows you might be in trouble...
22:33:34 <oklowob> 3d effects are nice, but i don't actually want them, i want a good 3d ui
22:33:43 <oklowob> which has nothing to do with effects
22:34:23 <AnMaster> oklowob, I prefer a clean 2D UI with as few un-needed effects as possible. Feature rich: yes. Design bloat: no.
22:34:38 <oklowob> wow that's kinda surprising
22:34:55 <AnMaster> So I like KDE. But I use a graphically minimalistic theme.
22:35:11 <oklowob> anyway i just thought you said guis have gotten more resource intensive over the years, and i was like wut, they are exactly the same'
22:35:20 <oklowob> but then i realized i misread.
22:35:39 <AnMaster> oklowob, they have also got slightly more resource intensive
22:35:41 <oklowob> i thought that was gay slang for getting married :D
22:36:00 <oklowob> AnMaster: yes, but little enough for me to say they haven't changed at all.
22:36:26 <AnMaster> oklowob, yeah, basically black and white -> 8bpp -> 32bbp
22:36:33 <oklowob> the thing is, as you bluntly pointed out, there isn't really anything you can add, except useless effects (unless you come up with a drastic change)
22:37:36 <AnMaster> oklowob, you will still need a graphic card able to handle something better than 320xwhatever in more than 2 colors. Which was pretty rare 20 years ago or so
22:37:41 <oklowob> psygnisfive: i don't remember(/know?) what university you were in, so that's not as interesting as it should be, probably.
22:38:07 <psygnisfive> the important thing is, i got into a great graduate program. :)
22:39:34 <ehird> 21:32 AnMaster: oklowob, I prefer a clean 2D UI with as few un-needed effects as possible. Feature rich: yes. Design bloat: no.
22:39:35 <ehird> 21:33 oklowob: wow that's kinda surprising
22:39:43 <ehird> that's post-ironically funny
22:40:47 * oerjan wonders if there is a term for things that are almost, but not quite, non sequiturs
22:41:08 -!- KingOfKarlsruhe has quit (Remote closed the connection).
22:41:41 <AnMaster> "almost, but not quite, non sequiturs"
22:41:59 <AnMaster> or maybe "Dent non-sequiturs"?
22:42:01 * oerjan swats AnMaster -----###
22:42:11 <oklowob> i should probably eat some of this... whipped... porridge
22:42:36 <oerjan> i mean a highbrow term, of course
22:42:36 <ehird> oerjan: it's the obvious shit reference.
22:42:45 <AnMaster> oerjan, don't try to act like you never read HHGTTG.
22:43:02 <ehird> oerjan: shit isn't it
22:43:11 <oerjan> i was wonder if you were putting a non sequitur into your term
22:43:37 <AnMaster> oerjan, yes you made a reference to "almost, but not entirely unlike, tea" but turned it backwards
22:43:38 * oerjan swats ehird too -----###
22:43:54 <oerjan> oh i didn't notice i did
22:44:04 <ehird> oerjan: i said nothing.
22:44:37 <ehird> oerjan you lying lier
22:44:38 <oerjan> actually i just read the first two ones
22:44:50 <AnMaster> oerjan, oh? I recommend reading all of them
22:45:02 <oerjan> <ehird> oerjan: shit isn't it
22:45:03 <oklowob> AnMaster: oerjan took the high road and made a joke only people who see ehird would understand, while still telling you what happened
22:45:19 <ehird> oklowob: stop explaining it!!!!!!!
22:45:43 <oklowob> my fingers are good at drumming
22:46:01 <oklowob> they know what they feel so to speak
22:47:11 <oerjan> AnMaster: i vaguely read a rumor that the later books get more depressing
22:47:12 <AnMaster> http://www.svd.se/nyheter/inrikes/artikel_2657409.svd (in English). The actual petition is at http://expressen.wufoo.com/forms/free-dawit/http/true/
22:47:32 <ehird> oerjan: book 4 is cheerful
22:47:40 <ehird> oh shit, I am bleeding
22:48:30 <oerjan> ehird: nice to have known you
22:48:39 <ehird> its just my finger
22:48:39 <oerjan> i assume it's highly lethal
22:49:02 <oerjan> AnMaster: cut off his finger, i think
22:49:25 <AnMaster> oerjan, intentionally or by mistake? And how?
22:49:41 <oerjan> i think it was an accident, he said "oh shit"
22:49:58 <ehird> oerjan's campaign of misinformation is beautiful
22:50:31 <AnMaster> oerjan, Probability of it being a real accident? (In which case I hope he gets better but decides to spend more time away from the computer due to having issues writing with a missing finger)
22:50:49 <oerjan> AnMaster: <ehird> oh shit, I am bleeding
22:50:57 <oerjan> that certainly looked genuine to me
22:51:17 <oerjan> well let's not assume things
22:51:26 <ehird> oerjan: i feel faint
22:52:06 <AnMaster> :ehird!n=ehird@208.78.103.223 PRIVMSG #esoteric :XDD
22:52:23 <ehird> tha's all youf cuking say
22:53:18 <oklowob> i only feel pain when i consider it useful
22:53:40 <AnMaster> oerjan, now lend me your fly swatter so I can use it on you. You deserve it
22:53:41 <ehird> dude its not a fucking joke
22:53:50 <ehird> the bleeding it's gushing
22:54:14 <oklowob> oerjan: if AnMaster gets to then i wanna too
22:54:30 <oerjan> AnMaster: XDD is obviously a horrified scream
22:54:33 <oklowob> AnMaster: oerjan presumably
22:54:44 <AnMaster> oklowob, Do you have a reason for it?
22:55:00 <oklowob> i like swatting people with fly swatters.
22:55:19 <oklowob> ehird: that's what you get for preferring day over night
22:55:28 <oerjan> also, AnMaster, how do you get by with just a 5 line high irc window?
22:55:41 <oerjan> (it cannot be more than that)
22:55:48 <AnMaster> oerjan, who claimed I had such a small window?
22:56:01 <oerjan> AnMaster: it's obvious from your lack of context appreciation
22:56:07 <oklowob> i have a semitiny hunch he deduced it from something you did
22:56:33 <AnMaster> oerjan, what line in specific do you mean? My IRC window is closer to 50 lines I'd say
22:56:46 * oerjan hands oklowob his flyswatter to amuse himself with
22:56:59 <ehird> to appreciate the lack of comprehension
22:57:04 <ehird> why is life so torturous
22:57:10 <oerjan> ehird: yeah it usually stops eventually
22:57:26 <ehird> oklowob: well it was kind of umm
22:57:36 <ehird> oklowob: right okay so you know like 4 dimensions and 5 dimensions and stuff?
22:57:39 <AnMaster> oklowob, I would suggest asking about hell rather than heaven when it comes to ehird :P
22:57:45 <ehird> imagine 6 dimensions, then chop off the first 3
22:57:51 <oklowob> AnMaster: i did, but i did a small bit leading to it
22:57:52 <ehird> that's the basic geometry
22:58:07 <oklowob> you'd see it if you used a greater window than your 5 lines
22:58:17 <ehird> oklowob: also, no time
22:58:21 <AnMaster> oklowob, err yes you did a split second after I pasted that line
22:58:24 <AnMaster> <AnMaster> oklowob, I would suggest asking about hell rather than heaven when it comes to ehird :P
22:58:26 <ehird> you have to jog to keep upw ith time
22:58:37 <ehird> oklowob: ssh, he's on 56k
22:58:39 <AnMaster> oklowob, probably showed up in opposite order for you
22:58:40 <oklowob> AnMaster: i know, i was just doing another bit.
22:59:09 <oklowob> AnMaster: well your reply was about a minute late
22:59:17 <oklowob> because this is not my computer
22:59:26 <oerjan> AnMaster: wow you are lagged
22:59:31 <AnMaster> oklowob, I'm having lag issues atm though, so could be on my side
22:59:44 <oklowob> turns out i beat AnMaster even with a webirc
22:59:51 <oklowob> probably because i know category theory and he doesn't
23:00:30 * oerjan takes his swatter back from oklowob
23:00:32 <AnMaster> oklowob, or because your ISP doesn't suck as much?
23:00:38 <oklowob> oerjan: wait you gave it? :D
23:00:58 <oklowob> noooooooooooooooooooooooooooooooooooooooo
23:01:12 <oerjan> *sigh* oh well, here -----###
23:01:41 <ehird> so I am free of AnMaster
23:02:03 <oklowob> oerjan: that was pretty awesome
23:02:07 <AnMaster> aha! I just bought an IRC one line ASCII art weapon too
23:02:31 <ehird> oerjan hasn't enchanted it
23:02:33 <ehird> so it does nothing.
23:02:41 <ehird> and i don't think he'd enchant something just to hit me.
23:03:01 * oklowob doubleswats oerjan -----### ###-----
23:03:09 <oerjan> ehird: don't be silly, i didn't enchant ais523's butterfly net either
23:03:17 <ehird> oerjan: yes, but it was just a net
23:03:18 * AnMaster experiments, holding it like a sword o=========E
23:03:21 <ehird> nothing like a red hot poker
23:03:52 <oklowob> anyone wanna play red hot poker
23:04:08 <oklowob> it's a kind of strip poker except there's a lot of swatting involved
23:04:13 <AnMaster> oklowob, no thanks, I don't want to lend it yet, it is still new and shiny
23:04:15 <oerjan> anyway that weapon of AnMaster looks like it needs a demonic curse, not an enchantment.
23:04:46 <oklowob> okay now seriously ....whipped ...porridge
23:05:04 <oerjan> it's obviously a demon's fork
23:05:17 <oerjan> what are those called...
23:05:36 <AnMaster> oerjan, it could be a demonic enhanced rustproof +3 red hot fire poker of Munchkins?
23:06:14 <AnMaster> oerjan, how would a firepoker look then?
23:06:31 <ehird> xlogo window 'hget http://plan9.bell-labs.com/plan9/img/plan9bunnysmblack.jpg | page'
23:06:36 <ehird> — unix/plan9 equivalent commands page
23:06:39 <oerjan> oh fire poker, i guess that works
23:06:47 <AnMaster> oerjan, I said fire poker above
23:06:58 <oerjan> FireFly: sorry i cannot swat you, oklowob is borrowing the swatter
23:07:17 * AnMaster hits FireFly lightly with the poker o=========E
23:07:31 <ehird> FireFly: it isn't active
23:07:36 <ehird> it hasn't been cursed/chanted
23:07:57 <ehird> god ripping off oerjan's swatter is lame.
23:08:04 * FireFly hookshots AnMaster ~~~~~~~~~~{
23:08:12 <AnMaster> FireFly, also how would a fire poker ignite you?
23:08:17 <FireFly> At least I can steal things
23:08:33 <FireFly> If it'd be.. more devilish
23:08:40 <AnMaster> also did you check the grappling rule book?
23:08:53 <FireFly> I havn't been to hell, so I dunno
23:09:09 <FireFly> Nope, I use my Zelda LA experience
23:09:27 <AnMaster> FireFly, duh Dungeon and Dragons.
23:09:46 <AnMaster> the web comic Darth and Droids mentioned this recently
23:09:46 <FireFly> Well, Hookshot is more zelda style
23:09:56 * oerjan expected darths and droids, rather
23:10:14 <oerjan> someone swat me for reading context worse than AnMaster :D
23:11:02 <oklowob> too big a responsibility :|
23:11:14 <AnMaster> oerjan, you are aware of that a fire poker makes a much larger indent than a fly swatter, so my attack would be like the heavy artillery, while your fly swatter would be like a single person
23:12:03 <FireFly> Eg. swatting is more comfortable
23:12:04 * oerjan points out on AnMaster's head that he also has a saucepan. ===\___/
23:12:22 * AnMaster deflects the attack using his o=========E
23:12:43 <AnMaster> now your saucepan got a hole right through the bottom
23:13:04 <oerjan> at this rate we're going to need disarmament negotiations soon
23:13:11 <ehird> that's why you need to enchant i
23:13:14 <ehird> because people godmode.
23:13:52 <AnMaster> oerjan, well I'll help you mend it if you want, I know a blacksmith with a time limited discount thingy for mending saucepans
23:14:17 <AnMaster> FireFly, what are you talking about?
23:14:24 <FireFly> [23:11:13] <AnMaster> now your saucepan got a hole right through the bottom
23:14:29 <FireFly> http://en.wikipedia.org/wiki/Godmoding
23:14:50 <AnMaster> FireFly, s/Did/Had/ and it would make sense
23:15:06 <AnMaster> it got dents when he hit people
23:15:20 <oerjan> i don't think "had it" is common grammar
23:15:35 <FireFly> ..I'd say my reply was grammatically correct?
23:16:07 <AnMaster> maybe you are right about the grammar thing
23:16:29 <FireFly> Anyway, it'd still be godmoding saying "I do X and Y's Z broke"
23:17:16 <AnMaster> FireFly, Ok we need five 20d then and a rule book
23:17:39 <FireFly> I've only played D&D games on computer :(
23:17:59 <AnMaster> FireFly, same, but I read a lot about it so I'm not totally clueless
23:18:25 <FireFly> Well, I do know what a 20-sided die is
23:18:57 <AnMaster> FireFly, but you were unaware of the complex rules I mentioned above
23:18:59 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
23:19:19 <AnMaster> <AnMaster> also did you check the grappling rule book?
23:19:28 <AnMaster> <AnMaster> FireFly, duh Dungeon and Dragons.
23:19:28 <AnMaster> <AnMaster> the web comic Darth and Droids mentioned this recently
23:19:43 <FireFly> I didn't even know grappling hooks existed in the D&D universe
23:20:00 <AnMaster> FireFly, don't read Darth and Droids?
23:20:17 * oerjan tosses his saucepan and orders a new one from Acme Corporation.
23:20:22 <FireFly> I was using a Zelda Hookshot; Ninty rules applies to it :D
23:20:30 <AnMaster> oerjan, didn't you see my offer above...?
23:20:58 <AnMaster> FireFly, http://darthsanddroids.net/episodes/0232.html http://darthsanddroids.net/episodes/0233.html
23:21:31 <AnMaster> FireFly, while I like Zelda OOT I don't think it applies on IRC
23:21:56 <FireFly> Well, how does D&D relate to IRC swatting?
23:22:08 <AnMaster> FireFly, no more than Zelda rules do
23:22:11 <FireFly> oerjan, write a swatting rulebook, FAST!
23:22:43 <AnMaster> oerjan, would be a good idea. After proper consideration of the essies committee for 2006 I think :P
23:22:46 * oerjan hits AnMaster with his new Acme saucepan O==|__|
23:23:02 <AnMaster> oerjan, that feels like rubber?
23:23:13 <oerjan> i think it's cartoon material
23:23:55 <AnMaster> oerjan, still feels like rubber. It explains why the roadrunner always got away
23:24:08 <AnMaster> oerjan, not a good choice I'd say
23:24:24 <oerjan> hm actually i think it's a plastic explosive
23:24:30 <AnMaster> oerjan, well since you threw your old away....
23:24:41 * oerjan hits AnMaster again to test O==|__| *BOOM*
23:25:31 -!- k has joined.
23:25:42 * AnMaster picks up the old saucepan oerjan threw away ===\/ \/.
23:25:59 -!- k has changed nick to Guest21687.
23:26:10 * AnMaster takes oerjans saucepan to the local blacksmith and gets it mended ===\___/
23:26:22 <AnMaster> now if you want it back I suggest being nice!
23:26:34 * AnMaster keeps it away where oerjan can't steal it
23:26:39 -!- BeholdMyGlory has quit (Remote closed the connection).
23:27:53 <AnMaster> oerjan, btw I listened to the entire Peer Gynt today, SR P2 sent it in two parts during yesterday and the day before that
23:28:14 <oerjan> well then you know more of it than me
23:28:16 * AnMaster used mplayer -dumpstream on it
23:28:39 <AnMaster> oerjan, hah, I thought you would know a lot since you were from Norway
23:28:43 -!- Guest21687 has quit (Remote closed the connection).
23:29:07 <oerjan> hah, i bet you think i'm good at skiing, too
23:29:21 <oerjan> BUT YOU WOULD BE WRONG
23:29:39 <FireFly> I bet you're good at coding
23:29:44 <FireFly> At least better than.. me?
23:29:45 <oerjan> BUT YOU WOULD BE WRONG
23:31:09 <AnMaster> oerjan, Well for a Swede "gå på tur" sounds like archetypical Norwegian
23:31:41 <FireFly> I know what "tuller" is in norwegian
23:31:56 <AnMaster> FireFly, something you find at airports?
23:32:23 <AnMaster> oerjan, err... like you make clothes from wool
23:32:48 <oklowob> i'd probably beat even oerjan
23:32:56 <oerjan> oh right. i also avoid knitted woolen sweaters like the plague :D
23:33:25 <AnMaster> FireFly, as long as it isn't going up or down
23:33:35 <AnMaster> I prefer more horizontal skiing
23:33:50 <FireFly> I prefer downhill over cross-ocuntry
23:33:54 <oerjan> i thought i made it clear i don't ski unless my life depends on it
23:34:01 <AnMaster> FireFly, cross country definitely
23:34:15 <FireFly> Not if I'm the one choosing
23:34:25 <FireFly> oerjan, what's wrong with skiing
23:34:28 <AnMaster> what do you call it in English if things start going round when you are high up
23:34:30 <oklowob> oerjan: well yes but you're norwegian, your no skiing is more than our lotsa skiing.
23:34:54 <FireFly> For the record, BeholdMyGlory has an oerjanish alignment towards skiing
23:34:57 <oklowob> FireFly: i was talking cross-country
23:35:17 <FireFly> AnMaster; [23:32:21] <FireFly> I prefer downhill
23:35:26 <AnMaster> FireFly, "<AnMaster> what do you call it in English if things start going round when you are high up"
23:35:38 <AnMaster> FireFly, that is why I prefer cross country
23:36:41 <AnMaster> oerjan, ""Vertigo" is often used, incorrectly, to describe the fear of heights, but it is more accurately described as a spinning sensation, which may be caused by looking down from a high place, as well as by some other stimuli. Vertigo is qualified as height vertigo when referring to dizziness triggered by heights." <-- hm
23:36:47 <oerjan> http://en.wikipedia.org/wiki/Acrophobia
23:37:01 <AnMaster> oerjan, yeah found it. Read context....
23:37:01 <oklowob> AnMaster: how delightfully irrelevant
23:37:10 <oerjan> i thought of vertigo too
23:37:10 <AnMaster> anyway "height vertigo" would be what I suffer
23:37:12 <FireFly> The english language has a tendency to separate words :|
23:37:32 -!- kar8nga has quit (Success).
23:37:42 <AnMaster> and I was quoting from what oerjan posted a few seconds later
23:37:43 <oklowob> AnMaster: it was delightfully relevant
23:38:29 * oerjan is plenty acrophobic too
23:38:30 <oklowob> AnMaster: i have no idea, i'm asleep
23:38:32 <AnMaster> FireFly, a few degrees downwards is ok for me, just not too steep
23:38:54 <oklowob> the problem with downhill skiing is it's kinda trivial
23:39:17 <oklowob> sure you can get challenges, but they are more about risks than they are about skills
23:39:25 <AnMaster> oklowob, Not if you suffer from height vertigo... Then it is highly non-trivial I can tell you
23:39:54 <oklowob> i'm just saying there's not so much progress to do, you learn it, then you know it.
23:40:10 <oklowob> sure you can optimize, but... it's still the same thing
23:40:39 <oklowob> then again i probably think that about most sports
23:40:43 <FireFly> I like it when it's quite steep
23:40:57 <oklowob> FireFly: well yes it feels nice
23:41:01 <AnMaster> also I know technically how you do it, I can manage short and not to steep hills fine. and I know how you put your foots. never let the tips drift apart too much for example.
23:41:18 <AnMaster> rather keep them a bit closer than the back ends
23:41:33 <AnMaster> and avoid getting too much speed. VERY important.
23:42:12 <oklowob> falling isn't exactly that dangerous on a slope
23:42:31 <AnMaster> oklowob, well depend on which way you fall
23:42:42 <oklowob> well assuming at least a somewhat sensible speed
23:43:17 <FireFly> It's not like I've tried ski-jumping, that just looks crazy
23:43:23 <oklowob> well dunno i'm not an expert
23:43:38 <AnMaster> oklowob, I mean, minor bruises and such
23:44:15 <FireFly> But they survive well, since they land on such a steep slope, flatting out in a huge ... slope
23:44:29 <oklowob> i've tried ski-jumping from kiddie ramps
23:44:43 <FireFly> It's not like it's steep, and then suddenly totally flat
23:45:16 <AnMaster> FireFly, I still think you could hurt yourself though
23:45:22 <FireFly> I've jumped on some 2dm-or-so bumps
23:45:44 <FireFly> AnMaster, yeah, it looks crazy to me too
23:46:12 <AnMaster> FireFly, I would not do it still
23:46:14 <FireFly> Okay, maybe a couple of huger bumps
23:46:43 <FireFly> I did try this sports weekend, but failed
23:47:19 <oklowob> so does anyone do ...ice pool swimming here?
23:47:21 <AnMaster> also the weather have been crazy recently
23:47:40 <oklowob> my father keeps trying to get me back in the circle
23:47:42 <AnMaster> oklowob, that is even crazier than ski jumping...
23:47:48 <FireFly> It's totally white outside now :\
23:47:48 <oklowob> used to do that when i was little
23:48:16 <AnMaster> yellow... sodium based street lights
23:48:24 <FireFly> It'd be funny to try ice pool swimming some day, at my grandparents place
23:48:25 <AnMaster> otherwise it would be white yes
23:48:46 <FireFly> Close to a shallow sea, and they have a sauna :D
23:49:31 <AnMaster> too hot IMO (yeah, I know that is the point of them, I just don't like it)
23:49:42 <oklowob> heh i'm such a stereotypical finn, saunas are great
23:49:55 <AnMaster> oklowob, do you roll in the snow outside too?
23:50:12 <AnMaster> if yes you are definitely a stereotypical finn
23:50:23 <FireFly> Just the same way as I love having the sun gazing at my skin a hot summer day while drinking something cold
23:50:23 <oklowob> well sure if environment allows dat
23:50:52 <AnMaster> oklowob, I guess I'm just... lagom ;)
23:51:05 <AnMaster> I never liked extreme cold or extreme heat
23:51:10 <oklowob> well how about this, i occasionally go out without shoes in winter
23:51:35 <oklowob> also in the summer i occasionally take week-long streaks of not using any kinda protection for my feet
23:51:39 <AnMaster> oklowob, I tend to use some shoes all the year, sandals in the summer
23:51:49 <AnMaster> oklowob, how does that work on asphalt?
23:52:04 <FireFly> I like the burning feeling :D
23:52:13 <oklowob> AnMaster: there are worse things to walk on
23:52:30 <AnMaster> oklowob, grus yes.. Don't know English word
23:52:34 <oklowob> i have no quarrel against running on small stones without shoes
23:52:40 <FireFly> At our school we've got several houses, so we have to move between them
23:52:49 <oklowob> that's what i was going for too
23:52:57 <FireFly> And I seem to be the only one always walking in t-shirt
23:53:09 <oklowob> i used to use a t-shirt all year long
23:53:23 <FireFly> I don't mind if it's snowing, I like having bare arms
23:53:31 <oklowob> then i got old, now i also use a jacket :<
23:53:42 <ehird> FireFly: you live in sweden
23:53:52 <oklowob> although the zipper is broken so it's always open
23:54:22 <AnMaster> FireFly, I'm indoors, temperature ~18 C ... fleecetröja
23:54:24 <FireFly> It's not like it's that cold
23:54:41 <FireFly> I'm indoors, unknown temperature
23:54:55 <AnMaster> oerjan, ah yes that would fit better
23:54:56 <oklowob> i'm indoors, temperature about 20, totally naked
23:55:33 <FireFly> I'm usually going to my bed fetching the pyamas about this time at evenings
23:55:36 -!- neldoret1 has quit (Client Quit).
23:55:36 <AnMaster> also jeans and wollen "raggsockor", oh and "fårskinnstofflor"
23:55:42 -!- neldoreth has joined.
23:55:44 <AnMaster> no idea at all what they are in English
23:55:51 <FireFly> It's more.. chilling than jeans
23:55:57 <oerjan> i'm indoors, temperature about 23, wearing a sweater and _still_ feel cold
23:56:21 <FireFly> The stereotypical non-norwegian?
23:56:22 <oklowob> oerjan: probably from all the skiing
23:56:35 <AnMaster> oerjan, yes I still feel cold, that is why I also ended up with my "froteemorgonrock" on the top of it all
23:56:39 <oklowob> have you eaten your daily cod yet?
23:56:45 <AnMaster> and no clue about what that is in English
23:57:28 <FireFly> You learn lots of things by playing the PC H2G2 game :D
23:57:31 <AnMaster> maybe it is frotée or something
23:57:44 <AnMaster> FireFly, "raggsockor" and "fårskinnstofflor" then?
23:57:46 <FireFly> Mostly unneccecary things, though
23:58:33 <AnMaster> tofflor is not for outdoor use
23:58:37 <oerjan> i have raggsokker but not tøfler :D
23:59:25 <oklowob> anyway sleepies, probably, now
23:59:37 <AnMaster> still I much prefer the difference between anden and anden as well as tomten and tomten in Swedish
23:59:44 <AnMaster> that is a difference that really rocks :)