←2009-06-04 2009-06-05 2009-06-06→ ↑2009 ↑all
00:03:56 <pikhq> ehird: Good heater.
00:12:45 <psygnisfive> ehird: = no sex.
00:13:18 <jix_> i read that as ehrid = no sex
00:13:25 <jix_> only then noticing the = ????? above
00:13:33 <psygnisfive> well that too. he's underage remember
00:13:46 <jix_> how old is he?
00:14:03 <psygnisfive> oh god who knows. D:
00:14:28 <psygnisfive> ehird, are you still 14? when is your birthday?
00:16:30 <fizzie> [2008-08-02 02:14:21] < tusho> 13 in 20 days, though.
00:16:41 <fizzie> I guess it should be computable from that.
00:16:46 <psygnisfive> so august 22
00:16:57 <psygnisfive> oh, but hes not 14 yet? i thought he turned 14 last year
00:17:05 <psygnisfive> hm.
00:17:28 <fizzie> [2008-12-23 17:25:57] < ehird> I don't exactly have plans to try and see if they'd welcome a random 14 year old, no. :P
00:17:41 <fizzie> Inconclusive. Maybe the first one was a typo; it was just one line from grepping.
00:17:43 <psygnisfive> ehird is aliar! D:
00:18:44 <fizzie> No, the latter was referring one year to the future.
00:18:53 <psygnisfive> oh? hm!
00:19:05 <fizzie> According to the logs, he seems to claim 13ness still.
00:19:13 <oerjan> he's _actually_ a 65 year old grandmother
00:19:16 <jix_> where does he live?
00:19:27 <fizzie> oerjan: Wouldn't be too surprised.
00:19:31 <psygnisfive> do a whois!
00:19:50 <psygnisfive> oh. no good server info
00:19:53 <psygnisfive> lamehird
00:20:07 <psygnisfive> hes in zambia
00:20:35 <fizzie> The location's been mentioned in the logs too; somewhere in UK, anyway. Of course [citation needed].
00:20:35 <jix_> ok he is from the US (at least his internet connection is)
00:20:50 <psygnisfive> everyones internet is from the us.
00:20:54 <fizzie> That's just a bouncer. At least it was.
00:21:06 <jix_> psygnisfive: mine isn't
00:21:15 <psygnisfive> lies
00:21:23 <jix_> if you do a whois on me you'll see a .de there indicating that i'm connecting from germany
00:21:27 <jix_> which is indeed true
00:21:39 <psygnisfive> lies
00:21:45 <fizzie> True lies.
00:21:53 <psygnisfive> but lies nonetheless!
00:22:23 <oerjan> fizzie: hexham or something like that
00:23:51 <psygnisfive> a friend and i are going to be making a derivative version of linux. any suggestions?
00:24:03 <psygnisfive> (besides pre-installed BF support, i mean)
00:24:06 <fizzie> Based on grepping for "live in" in ehird's comments, he lives: (a) "a little hole"; (b) "in the shadow of his [tusho] memory"; (c) "BIZZARO BRITAIN"; (d) "21st century"; (e) "in a world of infinite memory".
00:24:18 <fizzie> oerjan: Yes, it had something to do with witches and livestock, so that sounds probable.
00:24:20 <pikhq> psygnisfive: Use Gregor's package manager.
00:24:20 <pikhq> GregorR: Link.
00:24:40 <psygnisfive> we probably wont be able to! D:
00:24:57 <jix_> psygnisfive: what are you aiming to do with it?
00:25:07 <psygnisfive> jix_ magic
00:25:25 <psygnisfive> tho also experiment with a different kind of way to use a computer
00:25:30 <jix_> and will you do a derivative version of linux or just a linux distribution?
00:25:42 <psygnisfive> one of the things were going to do is make it heavily data-oriented
00:25:49 <psygnisfive> so that applications are almost non-existant
00:25:58 <psygnisfive> atleast as much as possible
00:26:29 <jix_> will you need kernel support for that?
00:26:38 <psygnisfive> no, i dont think so
00:26:46 <jix_> as in a typed data sharing between processes or something like that
00:26:48 <psygnisfive> this is all going to be like... framework-stuff.
00:27:13 <psygnisfive> the stuff that surrounds the kernel.
00:27:33 <jix_> psygnisfive: that it would be better described as a linux distribution as you're just bundling linux with your frameworks rather than modifying linux itself
00:27:48 <psygnisfive> well yes, sure.
00:28:04 <psygnisfive> but linux often is seen as including much more than just, say, the kernel
00:28:10 <psygnisfive> its kernel + x11 + etc.
00:28:17 <psygnisfive> in most peoples minds, anyway.
00:28:33 <psygnisfive> hence why people talk about "the linux kernel" as distinct from other parts of linux
00:29:22 <jix_> psygnisfive: well people might talk about the vim text editor too
00:29:32 <jix_> that doesn't indicate that there is something of vim that isn't a text editor
00:29:40 <pikhq> psygnisfive: I just say "the Linux kernel" as disambiguation for those folk, but anyways...
00:29:52 <psygnisfive> anyway, the point is. :P
00:30:00 <psygnisfive> any suggestions
00:30:08 <psygnisfive> did i mention its going to have a ZUI. :D
00:30:20 <jix_> psygnisfive: don't use linux... everyone is doing that nowadays
00:30:35 <psygnisfive> jix_, that would require even more work. we're lazy! :D
00:30:38 <jix_> take some bsd or something....
00:31:06 <psygnisfive> its going to be *nix, of some flavor. maybe not linux itself, but thats irrelevant.
00:31:27 <oerjan> Z?
00:34:55 <jix_> zero user interface
00:35:04 <jix_> makes interaction with the user impossible
00:35:11 <oerjan> ah
00:35:15 <oerjan> makes sense
00:35:19 <jix_> but thereby allows very good optimization
00:35:35 <jix_> based on avoiding calculations with no visible effects
00:35:40 <oerjan> also avoids all PEBKAC errors
00:36:12 <oerjan> well, maybe not all
00:36:17 <psygnisfive> no jix :p
00:36:20 <psygnisfive> zooming ui
00:36:36 <oerjan> oh like Oberon
00:36:59 <psygnisfive> i dont know oberon, but i doubt its quite like what i intend
00:37:02 <psygnisfive> ill take a look at it tho
00:37:09 <jix_> zoom |zoōm| verb [ intrans. ] 1 (esp. of a car or aircraft) move or travel very quickly : we watched the fly zooming about | he jumped into his car and zoomed off.
00:37:28 <jix_> so the user interface allows you to travel very quickly?
00:37:39 <psygnisfive> uh
00:37:43 <psygnisfive> oberon does not have a ZUI
00:38:02 <jix_> so it could be a user interface for a car?
00:38:14 <psygnisfive> no. :P
00:38:18 <psygnisfive> http://en.wikipedia.org/wiki/ZUI
00:38:19 <oerjan> psygnisfive: http://ignorethecode.net/blog/2009/04/22/oberon/
00:38:48 <psygnisfive> everything being zoomable is not a ZUI
00:39:35 <psygnisfive> oh, but theirs is infact a zui! interesting
00:39:37 <psygnisfive> ok :D
00:39:47 <psygnisfive> zoming, like that, yes
00:39:54 <psygnisfive> tho not app oriented, as i said
00:39:57 <psygnisfive> anyway, im off
00:39:58 <psygnisfive> see ya
01:23:41 -!- olsner has quit ("Leaving").
01:38:22 -!- oerjan has quit ("Good night").
01:41:48 -!- inurinternet has joined.
01:48:09 -!- inurinternet has quit (Read error: 60 (Operation timed out)).
01:55:47 -!- amca has joined.
01:57:52 -!- inurinternet has joined.
02:35:32 -!- Patashu has joined.
02:36:59 -!- bsmntbombdood has joined.
02:37:26 -!- coppro has joined.
02:47:30 <nooga> wtf is oberon
02:47:36 <nooga> looks extremely exotic
02:49:54 <nooga> brb->sleep
02:51:18 <psygnisfive> sure then you wont be RIGHT back
02:51:21 <psygnisfive> its more like beb
03:23:47 <amca> psygnisfive: What does the 'e' in 'beb' stand for?
03:24:07 <psygnisfive> eventually
03:24:59 <amca> ah :)
03:37:58 <GregorR> 'energetically'
03:38:15 <GregorR> 'ephemerically'
03:38:39 <GregorR> 'equine'
03:40:06 <GregorR> 'ergonimically'
03:41:13 <GregorR> 'ecstatically'
03:43:53 -!- amca has quit ("Farewell").
03:47:00 <pikhq> Engorgédly.
03:47:40 <GregorR> D-8
03:51:34 <GregorR> E-8'ly
04:00:23 <pikhq> DEADBEEF
04:00:29 <pikhq> ...
04:00:34 <pikhq> DEADBEEF-8, rather.
04:25:51 -!- Corun has quit ("Leaving...").
04:31:04 <GregorR> Man, I just randomly remember "cat *ding* I'm a kitty cat, and I dance dance dance and I dance dance dance"
04:31:09 <GregorR> Pre-youtube flash videos.
04:31:11 <GregorR> Whoooooah
04:52:13 -!- coppro has quit (Remote closed the connection).
04:59:32 -!- inurinternet has quit (Read error: 110 (Connection timed out)).
05:29:58 -!- coppro has joined.
05:50:19 <GregorR> Shit man!
05:50:23 <GregorR> :P
06:56:26 -!- inurinternet has joined.
07:06:42 -!- fungebob has quit (Read error: 110 (Connection timed out)).
07:23:51 -!- coppro has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:32:37 <kerlo_> Neural net idea of the day: Neurons are strings. There are infinitely many of them. Connections between neurons are Thue rules.
08:33:54 <psygnisfive> elaborate
08:37:40 <kerlo_> Start with a Hopfield net. Tag every neuron with a string. If a neuron's activation goes too low, garbage collect it. If there are enough strong connections from neurons to a nonexistent neuron, create it.
08:38:13 <kerlo_> Connections are not between specific neurons; they're between any neuron containing one string to the corresponding neuron containing another.
08:38:29 <psygnisfive> ok.
08:38:46 <psygnisfive> so i had an idea for a pseudogenetic system. im not sure how much computation you could do with it tho.
08:39:59 <kerlo_> I demand that you ignore yourself and pay attention to me exclusively. :-P
08:40:10 <psygnisfive> 1: a sequence of "genes", 2: a global "signal environment", 3: "signals" ~ any integer
08:40:11 <kerlo_> Actually, I'm going to bed.
08:40:26 <psygnisfive> genes turn on or off in the presence of particular sets of signals in the signal environment
08:40:50 <psygnisfive> and in turning on, they begin transmitting a set of signals.
08:41:04 <psygnisfive> when on they emit the signals, rather.
08:41:46 <psygnisfive> night kerlo_
08:42:02 <kerlo_> Good night.
08:54:55 -!- lereah_ has joined.
09:19:46 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
09:42:52 <tetha> psygnisfive: sounds like a strange encoding of a grammar
09:43:17 <psygnisfive> its intended to mimic, to some extent, genetic processes
09:43:32 <psygnisfive> im just curious how much computation could actually be performed on such a machine
09:44:19 <tetha> well, as i said, it sounds like some unrestricted grammar, with the signal enviroment being the current string, the signals being the symbols of the grammar and the genome being the transition rules
09:44:30 <psygnisfive> really i guess you could even eliminate the sequence of the "genes" and leave them unordered
09:44:32 <tetha> so if genomes can do about anything to the signal enviroment, it should be pretty powerful
09:45:07 <psygnisfive> im not sure its unrestricted at all.
09:45:21 <psygnisfive> for one, signals can only be added.
09:45:37 <psygnisfive> sure, one gene can emit a signal that turns off another gene, thus turning off the other signal
09:45:46 <tetha> ah
09:45:47 <psygnisfive> but it must happen like that.
09:45:50 <tetha> so that would make it CSL
09:45:55 <psygnisfive> maybe.
09:45:58 <psygnisfive> i dont know.
09:46:11 <psygnisfive> and i dont think a proof is easy to come up with.
09:47:06 <psygnisfive> there is a potentially infinite number of signals, so ...
09:47:15 <tetha> do you have any document about this system?
09:47:26 <psygnisfive> no. i just made it up in about 10 seconds. :P
09:48:07 <psygnisfive> tho i think you could write an interpreter for it in a few minutes.
09:48:43 <Patashu> so all a gene has
09:48:48 <Patashu> is a list of signals that turn it off
09:48:49 <Patashu> and a list of signals it emits when on?
09:48:54 <psygnisfive> yes
09:49:11 <Patashu> oh wait
09:49:14 <Patashu> and a list of signals that turn it on
09:49:25 <Patashu> what about race conditions: let's say gene A turns on genes B and C which emit signals b and c respectively
09:49:25 <psygnisfive> right.
09:49:31 <Patashu> gene D turns on in the presence of b and off in the presence of c
09:49:32 <Patashu> is it on or off?
09:50:07 <psygnisfive> both! or maybe neither. maybe it fluctuates or maybe this is prohibited :P
09:50:44 <Patashu> maybe do something like this
09:50:53 <psygnisfive> see, these things never happen in the real world because its all molecules
09:50:56 <psygnisfive> but whatever :p
09:51:04 <Patashu> if a gene is receiving more turn-on signals than turn-off signals or vice versa it is turned on/off respectively
09:51:07 <tetha> hm, the crazy part of my mind thinks of encoding configurations of a turing machine as genomes and using signals as "hey, configuration c_1 is active", and then some genome for configuration c_123 things "cool, Im the follower of c_1" and activates itself
09:51:17 <Patashu> but if it's receiving equal amounts of both it is definitely off
09:51:18 <Patashu> or definitely on
09:51:21 <Patashu> whichever one you prefer
09:51:35 <psygnisfive> patashu: we could incorporate signal strengths, but equal strengths still results in a problem.
09:51:44 <Patashu> but it would all be stepwise, right? every tick you check every gene's status using the signals transmitted the previous round, then you take the new set of signals and check every gene again
09:51:48 <Patashu> right
09:51:55 <psygnisfive> right, step wise.
09:52:03 <Patashu> you could instead rank signal priorities
09:52:04 <Patashu> so they can never be equal
09:52:12 <psygnisfive> or it could be random.
09:52:21 <Patashu> haha
09:52:23 <Patashu> a way to introduce randomness? :P
09:52:24 <tetha> nondeterministic would be fun
09:52:25 <Patashu> interesting
09:52:41 <psygnisfive> or it could be both simultaneously and the state system would branch.
09:52:46 <tetha> that set of consistent genomes is activated such that the system reaches a fixed point
09:52:48 <Patashu> haha
09:52:53 <Patashu> many worlds model
09:53:00 <psygnisfive> yes
09:53:03 <psygnisfive> but more importantly
09:53:09 <Patashu> or when there's an inconsistency it halts :P
09:53:11 <Patashu> this special condition is fun
09:53:13 <psygnisfive> would it be possible to make a UTM in this
09:53:25 <tetha> then you'd even be able to model space-limited nondeterministic tm
09:53:29 <psygnisfive> oh yes, inconsistency = halting, thats possible
09:53:45 <Patashu> oh
09:53:50 <Patashu> if signal a is being emitted by multiple genes
09:53:56 <Patashu> does every gene count it multiple times?
09:54:03 <Patashu> when it's looking at number of signals turning it on vs number of signals turning it off
09:54:04 <psygnisfive> that depends on your system.
09:54:06 <Patashu> yeah
09:54:07 <psygnisfive> my initial idea was no.
09:54:14 <psygnisfive> but like i said, you can have signal strength.
09:54:32 <psygnisfive> the interpreter gets more and more complicated for each of these modifications.
09:54:39 <psygnisfive> experiment with the simple version first.
09:54:39 <Patashu> *grin* right
09:54:46 <tetha> heh
09:54:47 <psygnisfive> not MUCH more ocmplicated
09:54:52 <tetha> combine that with fuzzy logic
09:54:58 <psygnisfive> its the difference between a list of ints and a list of pairs of ints
09:55:01 <tetha> when the probability of an inconsistency is at least 2/3, half
09:55:02 <tetha> halt
09:55:16 <psygnisfive> i need to get to bed
09:55:17 <psygnisfive> night
09:55:28 <psygnisfive> code an interp! :D
09:55:38 <psygnisfive> smallest interp wins a prize
09:55:44 <tetha> I need one for my little backtracking language first :)
09:55:47 <psygnisfive> first metainterp wins a prize
09:55:48 <psygnisfive> :D
09:55:58 <Patashu> I might try one in java for the hell of it
09:56:00 <Patashu> it can't be -that- hard
09:56:10 <tetha> na, the very basic thing is pretty easy
09:56:11 <psygnisfive> its not
09:56:17 <psygnisfive> the basic one is like five lines of code
09:56:21 <tetha> just have the signal state and map the genome-functions on them to get the next state
09:56:25 <tetha> iterate until infinity
09:56:30 <Patashu> haha
09:56:35 <Patashu> woah
09:56:39 <Patashu> what would a genome function be
09:56:51 <tetha> genome_function :: [Signal] -> [Signal]
09:57:54 <psygnisfive> genome[n] = genome[n-1].map { |gene| gene.turn_on.subsetof?(environment) ? gene.on_version : gene.off_version }
09:58:04 <psygnisfive> sorry, environment[n-1]*
09:58:31 <tetha> jep
09:58:37 <Patashu> does |gene| mean something like 'for gene in genes'
09:58:38 <Patashu> or
09:58:39 <psygnisfive> environment[n] = genome[n].map { |gene| gene.signals }.reduce(concat)
09:58:46 <psygnisfive> its pseudoruby :P
09:58:50 <Patashu> ah
09:59:02 <psygnisfive> { |x| ... } is a block with arg x
09:59:03 <psygnisfive> anyway
09:59:15 <psygnisfive> that is roughly what it would require.
09:59:30 <psygnisfive> reduce { |a, b| a.concat b }, rather
09:59:39 <tetha> gen_fun g e = if (all (member e) (requirements g)) then output g else []
09:59:44 <psygnisfive> or a | b, even better
09:59:45 <tetha> that should kinda work in haskell
09:59:52 <psygnisfive> anyway, im off to bed.
09:59:55 <psygnisfive> night.
10:04:56 <psygnisfive> idea: a read head that goes back and forth over the genome processing the genes one at a time
10:05:13 <psygnisfive> ok im off to bed for real bye
10:05:19 <tetha> pff, read heads :)
10:09:33 -!- MigoMipo has joined.
10:12:12 <psygnisfive> no im not gone :p
10:12:22 <psygnisfive> to remove the nondeterminism problem
10:12:42 <Patashu> that would still be nondeterministic wouldn't it?
10:12:42 <psygnisfive> use the interp i described. no off signals, just on signals which must be maintained to keep a gene on.
10:12:43 <psygnisfive> bye
10:12:46 <Patashu> heh
10:13:13 <tetha> hehe
10:13:19 <tetha> that compiles into a nice dataflow-graph
10:14:13 <psygnisfive> no i think you have to have off signals
10:14:21 <psygnisfive> otherwise the signal state is always increasing.
10:14:26 <Patashu> as in
10:14:30 <Patashu> if there are any on signals be on
10:14:32 <Patashu> else turn off
10:14:43 <Patashu> hence have to be maintained
10:15:20 <psygnisfive> yeah but the only way the gene state can stop being maintained is if some signal vanishes
10:15:23 <psygnisfive> which only happens if...
10:15:29 <Patashu> oho
10:15:30 <Patashu> lol
10:15:35 <Patashu> you're right
10:15:48 <psygnisfive> yeah. because genes just add signal.
10:15:51 <psygnisfive> anyway, night :P
10:15:56 <tetha> uh, I could have genomes A, B, C, A turns on B, B turns on C and C turns of B
10:16:03 <psygnisfive> maybe anti signals!
10:16:05 <tetha> thus turning off B and thus turning off itself
10:16:11 <tetha> hehe
10:16:18 <psygnisfive> anti signals cancel other signals
10:16:23 <psygnisfive> oh god i need to sleep
10:16:26 <Patashu> I thought that earlier
10:16:27 <Patashu> actually
10:16:28 <Patashu> but didn't say it
10:16:29 -!- psygnisfive has changed nick to p5[sleep].
10:16:34 <p5[sleep]> do it!
10:16:37 <tetha> na, I think I will implement the on/off-output-version at first
10:16:45 <tetha> because anti-signals can be implemented in that, I think
10:20:18 <p5[sleep]> combine the read head with a limit to only one transmitted signal maybe.
10:20:49 -!- oerjan has joined.
10:29:36 -!- FireFly has joined.
10:31:47 -!- FireFly has quit (SendQ exceeded).
10:32:59 -!- FireFly has joined.
10:39:02 <AnMaster> <ehird> AnMaster's favourite storage mechanism <-- for backups yes.
10:40:12 <lereah_> I store all my data with cuneiform writing on a wax tablet
10:40:16 <AnMaster> <ehird> pikhq: http://www.rob-matthews.com/files/gimgs/5_wikipedia-1.jpg <-- wow
10:40:20 <Patashu> I store all my data in hand-written xml
10:41:02 <Patashu> and use OCD software that parses the xml visually
10:41:04 <Patashu> >:)
10:41:18 <Patashu> I store all my data as junk DNA in my body
10:43:41 <AnMaster> but seriously, tape is good for backups. Much easier to handle than cds for it.
10:44:47 <lereah_> Patashu : But what if you get corrupted data and then cancer
10:45:16 <Patashu> haha
10:45:18 <Patashu> data injection attack
10:45:25 <Patashu> put in the DNA to make cancer cells when I'm storing a backup
10:45:31 <Patashu> lol that's a great mental image
10:45:43 <Patashu> in the future when we have genetic engineering on demand, imagine the data injection attacks
10:46:09 <AnMaster> xkcd was great today
10:46:31 <Patashu> oh new xkcd
10:46:32 <Patashu> *checks*
10:47:41 <Patashu> haha
10:48:29 <lereah_> heh
10:48:31 <lereah_> cute.
10:49:21 -!- oerjan has quit ("leaving").
10:49:59 -!- Slereah_ has joined.
10:59:38 -!- Slereah has quit (Read error: 110 (Connection timed out)).
11:00:58 -!- MigoMipo has left (?).
11:09:40 -!- FireFly has quit ("http://www.mibbit.com ajax IRC Client").
11:16:19 -!- inurinternet has quit (Client Quit).
12:15:31 -!- fungebob has joined.
12:19:15 <AnMaster> hm
12:19:54 <AnMaster> So my bf optimiser ended up with this expression: p[8]=255 + 255*p[8]; I'm pretty sure this should map to something simpler, but I can't think of what
12:20:46 <AnMaster> p[8]=-p[8]-1 right? That operation seems strangely faimiliar...
12:22:29 <tetha> 255*(p[8]-1) -> 256*(p[8]-1) - (p[8] - 1) -> (p[8]-1)<<8 - p[8] - 1, so if your registers are 8 bit, yes
12:23:20 <AnMaster> tetha, tape cells are 8 bit unsigned yes
12:26:48 <nooga> uh.?
12:29:04 -!- Leonidas has quit (hubbard.freenode.net irc.freenode.net).
12:29:04 -!- mtd has quit (hubbard.freenode.net irc.freenode.net).
12:29:30 <AnMaster> nooga, what was the issue?
12:29:44 <nooga> nevermind
12:30:50 -!- mtd has joined.
12:30:50 -!- Leonidas has joined.
12:36:50 -!- fungebob has quit (Read error: 110 (Connection timed out)).
12:38:16 -!- tombom has joined.
12:39:28 <Patashu> 255*p[8] is like -p[8] cuz of the 256 mod arithmatic
12:39:30 <Patashu> arithmetic
12:39:44 <Patashu> and thus adding 255 is like -1
12:41:59 <tetha> :)
12:42:19 <tetha> more proofs of this?
12:42:35 <Patashu> I read the question before I decided to read any further
12:42:36 <Patashu> :)
12:44:26 <AnMaster> Patashu, I know that. My point was that the code x=-x-1; seems strangely familiar
12:45:05 -!- Leonidas has quit (hubbard.freenode.net irc.freenode.net).
12:45:05 -!- mtd has quit (hubbard.freenode.net irc.freenode.net).
12:45:56 -!- mtd has joined.
12:45:56 -!- Leonidas has joined.
12:53:26 -!- Leonidas has quit (hubbard.freenode.net irc.freenode.net).
12:53:26 -!- mtd has quit (hubbard.freenode.net irc.freenode.net).
12:55:22 -!- mtd has joined.
12:55:22 -!- Leonidas has joined.
12:55:28 -!- Corun has joined.
13:36:12 <AnMaster> Patashu, there still?
13:36:30 <AnMaster> p[3]=1 + 255*p[3]; -> p[3]-=1; is a valid transformation right?
13:36:45 <AnMaster> s/ / /
13:37:08 <Patashu> that would be
13:37:11 <Patashu> hmm
13:37:18 <GregorR> No, that's p[3]=-p[3]+1
13:37:19 <Patashu> that sets p[3] to 0
13:37:20 <Patashu> I think
13:37:28 <Patashu> oh
13:37:33 <Patashu> p[3]=1-p[3]
13:37:42 <GregorR> Remember, 255 == -1
13:37:45 <AnMaster> yes
13:38:15 <AnMaster> so is p[3]=1-p[3] same as p[3]-=1 then?
13:38:26 <AnMaster> or I'm I confused
13:38:50 <Patashu> no
13:38:53 <Patashu> because what it does
13:39:03 <Patashu> is set p[3] to be -p[3] but + 1
13:39:10 <AnMaster> hm right
13:40:02 -!- nooga has quit (Read error: 104 (Connection reset by peer)).
13:40:09 <tetha> this is the reason our programming language professor always writes assignement as := or <-
13:40:37 <AnMaster> tetha, However, the goal here is to output as compact C code as possible.
13:41:04 <Patashu> yeah
13:41:16 <Patashu> = as assignment is kinda gay
13:41:18 <tetha> AnMaster: I dont see the connection of removing an ambiguity of "equals" and "assigns to" with the goal you want to get?
13:41:54 <AnMaster> tetha, hm? Since I was working with C output I was comparing two C outputs. = vs. -=
13:42:19 <tetha> ah, yes. I misread a bit
13:42:47 <AnMaster> For example, turning p[2]=4*p[1] + 1*p[2]; into p[2]+=4*p[1];
13:43:29 <tetha> do you seek compactness as in: small source code, in order to have it small or do you try to achieve speedups?
13:44:13 <AnMaster> tetha, as in less confusing to read. If you saw "p[2]=4*p[1] + 1*p[2];" in hand written code you would be rather "WTF did the programmer think about when he wrote this". Right?
13:44:22 <tetha> hehe, indeed
13:44:50 <GregorR> You could translate the BF comments into C comments :P
13:45:02 <AnMaster> GregorR, possibly. If I knew where is the source it was
13:45:25 <AnMaster> GregorR, storing position info is useless when you reorder heavily by sorting by offset and so on
13:45:34 <GregorR> Yuh
13:45:38 <AnMaster> so likely it would end up way way off
13:46:44 <Patashu> so what are you going to do once you start handling [>]s? :P
13:47:11 <AnMaster> Patashu, you mean, when I start trying to figure out where it will end up?
13:47:29 <Patashu> *nodnods*
13:48:52 <AnMaster> hm... I will implement it (to begin with at least) in the constant folder. If it can prove that it will end at a specific place it will change it into a simple "move pointer fixed amount", which other passes will then eliminate (by shifting it forward while fixing up offsets of the instructions it is shifted past).
13:49:41 <AnMaster> if it can't prove it will end in a specific place, but can prove it will at least go x steps before the values are unknown it could be replaced with a constant move plus a seek from that new point I guess
13:50:08 -!- nooga has joined.
13:50:12 <AnMaster> it seems like the simplest way to implement some basic handling of it.
13:50:21 <AnMaster> possibly you could do more advanced stuff later.
13:50:29 <Patashu> right, and from then on you need to add a pointer offset to each position literal
13:50:38 <AnMaster> Patashu, hm?
13:50:42 <Patashu> well
13:50:47 <Patashu> let's say that you have a [>] in code that involves i/o
13:50:52 <AnMaster> yes.
13:50:55 <Patashu> and it passes over parts that have taken input
13:51:01 <AnMaster> indeed
13:51:06 <Patashu> oh like say you're reading in a string until you get a 0 and it stops
13:51:11 <Patashu> so you take that number as being a variable
13:51:23 <Patashu> and from thereon in you add that variable offset to the constant offsets
13:51:30 <Patashu> i.e. if you moved one space right it would be p[1+offset]
13:51:47 <Patashu> and any more offsets that are determined at runtime get put into offset
13:51:49 <Patashu> something like that
13:52:01 <tetha> hehe, kinky, but yes, something like that should be possible
13:52:25 <AnMaster> that seems a bit more high level. I was thinking more about cases like: >[-]+>[-]+>[-]<<<[>] could figure out it must end at "move pointer 3 steps"
13:52:42 <Patashu> right
13:52:50 <Patashu> if there's no i/o you can figure out what any code will do once
13:52:51 <Patashu> and then forget about it
13:53:07 <Patashu> you could just optimize it all into setting the final array values and ending
13:53:15 <AnMaster> Patashu, and weird code like that does exist in stuff like autogenerated output from bfbasic and similar
13:53:32 <AnMaster> Patashu, I would assume that bit was a fragment of some larger program.
13:54:28 <tetha> that was what I thought about todays morning.. if you can figure out the length of the subset of the tape on which a certain piece of code works, you probably can optimize it into some output and a large vector operation
13:56:15 -!- oerjan has joined.
13:56:15 <tetha> the crux of such an optimization would be input, though
13:56:25 <AnMaster> tetha, IO is always an issue.
13:56:36 <tetha> in this case, output would be less of an issue
13:56:39 <oerjan> bah no ehird
13:56:54 <AnMaster> oerjan, hi
13:57:05 <oerjan> hi AnMaster
13:57:21 * oerjan hurries again
13:57:40 <oerjan> poor Fireballs
13:58:08 <AnMaster> indeed
13:58:48 <AnMaster> oerjan, I don't understand the reference in sqrt(-garfield) today
13:59:24 <Patashu> hmm?
13:59:26 <Patashu> link?
13:59:36 <AnMaster> http://www.mezzacotta.net/garfield/
14:00:16 <Patashu> It just looks like it's a reference to that peanuts book
14:01:08 <Patashu> Haha this is a weird comic
14:02:31 <AnMaster> Patashu, "peanuts book"?
14:03:13 <oerjan> <AnMaster> So my bf optimiser ended up with this expression: p[8]=255 + 255*p[8]; I'm pretty sure this should map to something simpler, but I can't think of what
14:03:27 <oerjan> p[8]=255*(1+p[8])
14:03:55 -!- Corun has quit ("Leaving...").
14:03:58 <Patashu> Peanuts is another famous comic
14:04:08 <Patashu> replace every instance of 255 by -1
14:04:22 <Patashu> p[8] = (- 1 - p[8])
14:04:23 <oerjan> AnMaster: to be specific, peanuts is probably _the_ most famous comic in existence
14:04:50 <oerjan> or was, at any rate
14:05:04 <oerjan> probably called something else in swedish
14:05:21 <AnMaster> hm
14:05:44 <oerjan> "Snobben"
14:05:50 <AnMaster> aha!
14:05:56 <AnMaster> yeah I was just googling it
14:08:44 <oerjan> Patashu: the point _still_ remains that AnMaster cannot use negative numbers in his setup, because erlang's remainder function doesn't handle them correctly
14:09:01 <AnMaster> oerjan, well, I can't use them easily
14:09:08 <Patashu> don't write it in erlang then?
14:09:16 <AnMaster> I could theoretically use them of course. Just would be more work
14:09:29 <oerjan> AnMaster: are you guaranteed that p[8] is between 0 and 255, literally? if so you might _still_ use p[8]=255 - p[8]
14:10:12 <AnMaster> oerjan, well since p is unsigned char* and I make sure that CHAR_BIT is 8...
14:10:29 <nooga> erwhat?
14:11:02 <oerjan> AnMaster: also, that is bitwise negation
14:11:16 <AnMaster> oerjan, I knew I had seen the pattern before :)
14:11:19 <oerjan> if erlang has that
14:11:30 <AnMaster> oerjan, it does. x bnot y
14:12:06 <AnMaster> oerjan, anyway I don't know the current value of p[8] there, otherwise it would had been constant folded anyway.
14:12:26 <oerjan> wait, two arguments to bnot?
14:12:31 <AnMaster> oerjan, my fault
14:12:34 <AnMaster> one of course
14:12:43 <AnMaster> 1> bnot 2.
14:12:43 <AnMaster> -3
14:13:07 <oerjan> it _is_ a special case of xor (with 255)
14:14:13 <AnMaster> oerjan, transforming some arithmetic operations into bitwise ones might be useful. Hm
14:15:02 <oerjan> -1-x and 2*x are the ones that come to mind
14:15:52 <oerjan> elsewhere you get carry which doesn't translate that easily
14:16:54 <AnMaster> oerjan, I'm pretty sure that even GCC will translate 2*x into either bitshift or add to self, depending on what is best for the target cpu. -1-x I'm not sure if it will handle.
14:17:37 <AnMaster> oerjan, since I'm outputting to C I can leave some of the work to the C compiler. And concentrate on BF specific optimisations that a C compiler can't easily handle.
14:18:04 <AnMaster> of course this might become more relevant once I add other backends (still planned, just don't know to what languages...)
14:18:44 <oerjan> mm
14:23:19 * AnMaster wonders how many lines of C would have been needed for this:
14:23:20 <AnMaster> [true] = lists:usort([ -1 - X =:= bnot X || X <- lists:seq(0,256) ]).
14:24:20 <nooga> i don't get that code
14:24:23 <Patashu> http://www.mezzacotta.net/garfield/?comic=34 best one so far
14:24:23 <nooga> what it does
14:24:34 <AnMaster> this might be easier to read:
14:24:36 <AnMaster> [true] = lists:usort(lists:map(fun(X) -> -1 - X =:= bnot X end, lists:seq(0,256))).
14:24:52 <AnMaster> the first one use a list comprehension instead of mapping a function
14:25:20 <AnMaster> nooga, understand that better?
14:25:24 <nooga> mhm
14:25:44 <nooga> what's bnot ?
14:25:52 <AnMaster> nooga, bitwise not
14:26:59 <oerjan> Patashu: you realize there is a hidden message in that?
14:27:11 <Patashu> that's why
14:27:40 <AnMaster> but what it does is, generate a list with 0,1,2,...,254,255,256. Then compare for each value that "-1 - X" is same as "bnot X". Generating a new list of true and false. Then unique-sort it (easiest way to merge all duplicate elements, not most efficient though)
14:27:51 <AnMaster> then it pattern matches the result against the list [true]
14:28:00 <AnMaster> that is a list with one element, that element being the atom true
14:28:20 <AnMaster> of course a more efficient algorithm would stop on first false (which would never happen)
14:28:32 <AnMaster> possibly using lists:foreach
14:29:21 <AnMaster> and then if false throwing the exception "math_laws_corrupted_please_restart_universe" ;P
14:31:00 <AnMaster> even better would be a simple tail recursive function with a simple counter, thus avoiding building a list at all.
14:31:08 <AnMaster> But that would be much less elegant ;P
14:31:56 -!- KingOfKarlsruhe has joined.
14:32:10 -!- oerjan has quit ("leaving").
14:33:57 -!- fungebob has joined.
14:38:55 -!- tombom_ has joined.
14:40:14 <AnMaster> (of course it might be a short (or shorter) in other functional languages, but probably not in anything C-like)
14:55:09 -!- tombom has quit (Read error: 101 (Network is unreachable)).
14:55:10 -!- tombom_ has changed nick to tombom.
15:19:23 -!- Patashu has quit ("Patashu/SteampunkX - MSN = Patashu@hotmail.com , AIM = Patashu0 , YIM = Patashu2 , Googletalk = Patashu0@gmail.com .").
15:22:07 <nooga> AnMaster: unique sort does something like: "t,t,t,t,f,f,f,t,t,t,f,f" -> "t,f,t"
15:22:31 -!- FireFly has joined.
15:25:33 <AnMaster> nooga, no. "t,f"
15:25:39 <AnMaster> unique *sort*
15:25:54 <nooga> (0..256).to_a.map {|X| -1 - X == bnot X}.unique.sort
15:25:55 <AnMaster> or possibly "f, t"
15:26:09 <AnMaster> sort.unique
15:26:24 <nooga> but why do that
15:26:33 <AnMaster> nooga, well that is what it did above
15:26:52 <AnMaster> nooga, anyway, what language is that
15:26:56 <nooga> ruby ofc
15:27:17 <nooga> (0..256).to_a.map{|X| -1 - X == bnot X}.unique.sort
15:27:19 <AnMaster> nooga, it uses "bnot" too?
15:27:20 <nooga> ouch
15:27:29 <nooga> (0..256).to_a.map({|X| -1 - X == bnot X}).unique.sort
15:27:40 <nooga> no, i just don't know the operator :D
15:27:42 <nooga> sec
15:28:16 <nooga> ah yes
15:28:22 <nooga> (0..256).to_a.map({|X| -1 - X == ~X}).unique.sort
15:28:55 <nooga> sort.unique
15:30:25 <AnMaster> nooga, that misses the matching against a list containing one element though
15:30:40 <AnMaster> that element being true (or whatever the language uses to represent true)
15:31:08 <nooga> weird
15:31:14 <AnMaster> nooga, ?
15:31:22 <AnMaster> you missed that bit in your ruby version
15:31:25 <AnMaster> that was my point
15:31:27 <nooga> it pops out [true]
15:31:35 <AnMaster> nooga, it should.
15:32:09 <AnMaster> [true] = lists:usort([-1 - X =:= bnot X || X <- lists:seq(0,256)]).
15:32:28 <AnMaster> that will throw an exception if the list isn't exactly "true"
15:32:42 <nooga> >> (0..256).to_a.map{|x| -1 - x == ~x}.uniq == [true]
15:32:42 <nooga> => true
15:32:50 <AnMaster> [true] =:= lists:usort([-1 - X =:= bnot X || X <- lists:seq(0,256)]).
15:32:50 <AnMaster> true
15:32:54 <AnMaster> that would be the same
15:33:10 <nooga> map is awesome
15:33:21 <AnMaster> nooga, list comprehensions are even better.
15:33:23 <AnMaster> :P
15:34:37 <AnMaster> nooga, how would you square every number in a list? I would do [X*X||X<-List]
15:34:49 <AnMaster> where List is a variable holding the list
15:34:54 <nooga> list.map!{|x| x**2}
15:34:59 <nooga> or x*x
15:35:33 <nooga> i don't get that syntax with <-
15:36:14 <AnMaster> <nooga> or x*x <-- a list multiplied by a list returns the the the list with each member multiplied by the corresponding member of the other list? Huh?
15:36:41 <AnMaster> nooga, Hm. Do you know list comprehensions at all?
15:36:49 <AnMaster> I think haskell for example has them too
15:36:50 <nooga> i mean ...| x*x }
15:36:55 <AnMaster> ah
15:37:17 <nooga> AnMaster: i don't know them
15:37:55 <AnMaster> hm
15:39:48 <AnMaster> not sure how to explain it
15:39:57 <AnMaster> nooga, it is somewhat like map
15:40:09 <nooga> but?
15:40:10 <AnMaster> except you can also have several input lists.
15:40:19 <AnMaster> and you can have filters
15:40:22 -!- lereah_ has quit ("Leaving").
15:40:42 <nooga> in ruby filters are done by .reject
15:41:02 <nooga> like
15:41:28 <nooga> [1,3,2,4,1].reject {|x| x > 2} #=> [1,2,1]
15:41:48 <AnMaster> 8> [ X || {a, X} <- [{a,1},{b,2},{c,3},{a,4},hello,"foo"]].
15:41:48 <AnMaster> [1,4]
15:41:57 <AnMaster> that is a literal list in there
15:42:51 <nooga> hm
15:43:39 <AnMaster> 9> [{X,Y}||X<-[a,b,c],Y<-[x,y,z]].
15:43:40 <AnMaster> [{a,x},{a,y},{a,z},{b,x},{b,y},{b,z},{c,x},{c,y},{c,z}]
15:43:43 <AnMaster> is another example
15:46:54 <AnMaster> 12> List = [a,b,c].
15:46:58 <AnMaster> 13> [{X,Y}||X<-List,Y<-List].
15:46:58 <AnMaster> [{a,a},{a,b},{a,c},{b,a},{b,b},{b,c},{c,a},{c,b},{c,c}]
15:47:06 <AnMaster> 14> [{X,Y}||X<-List,Y<-List,X=/=Y].
15:47:06 <AnMaster> [{a,b},{a,c},{b,a},{b,c},{c,a},{c,b}]
15:47:20 <AnMaster> =/= in Erlang is the same thing as C's !=
15:47:44 <AnMaster> nooga, see how they work now?
15:47:59 <AnMaster> http://erlang.org/doc/reference_manual/expressions.html#6.22 is the doc for it btw.
15:48:01 <nooga> uhm
15:48:19 <AnMaster> not sure if it is understandable without knowing other parts of erlang
15:49:21 <nooga> erlang looks cool, but exotic
15:49:44 <AnMaster> nooga, you just aren't used to functional languages.
15:49:59 <nooga> i bet it's not like: download ruby interpreter, write a script, run $ ruby script
15:50:09 <nooga> ruby is more casual
15:50:34 <nooga> i like it bcs it mixes paradigms
15:50:52 <nooga> it's strictly object oriented (even literals or code blocks are objects)
15:50:53 <AnMaster> nooga, hm? Well depends. There is two ways. 1) Erlang, you compile things to byte code, then run in the VM. 2) escript. Basically files run as script, doesn't need to be compiled
15:50:59 <AnMaster> haven't used the escript thing
15:51:26 <nooga> but it doesn't look like strict oo it lets you to write scripts that looks as if they were procedural
15:51:38 <nooga> + it has closures, lamda, map and such
15:51:50 <AnMaster> and erlang isn't object oriented at all. I guess you could call it functional with process-orientation.
15:51:52 <nooga> and things like
15:51:58 <tetha> hehe, I'm myself currently switching from python to haskell
15:52:01 <nooga> 5.times { block of code }
15:52:31 <AnMaster> nooga, hm? Erlang uses tail recursion for looping of course :P
15:54:37 <nooga> hm
15:54:39 <nooga> impractical
15:54:54 <nooga> f = lambda {print "lala"; f.call}
15:55:06 <AnMaster> nooga, in general however, erlang is more useful for applications that run for extended periods than for quick scripts. One reason is because erlang's VM tends to have a rather long shutdown time when it shuts down the various subsystems (a second or so). escript doesn't have that issue.
15:55:32 <AnMaster> startup and while it is running is fast enough.
15:55:43 <nooga> i've heard that erlang is nice for distributed computing
15:56:10 <AnMaster> so it is
15:57:00 <tetha> interesting enough, states in here are monoids
15:57:00 <tetha> er, in this little language
15:57:15 <AnMaster> tetha, haskell?
15:57:20 <AnMaster> wait, "monoids"?
15:57:31 <nooga> MONADS
15:57:38 <tetha> AnMaster: I am implementing that genome language from earlier today in haskell, yes
15:57:42 <nooga> NOMADS
15:57:43 <nooga> :D
15:57:52 <tetha> AnMaster: and the states of active, inactive genomes and signals form a monoid, yes :)
15:57:55 <AnMaster> tetha, genome language? I'm not aware of what that is
15:58:25 <tetha> AnMaster: you have signals and genomes; genomes turn on if a specific set of signals is active and off if another specific set of signals is active
15:58:26 <nooga> tetha: example
15:58:26 <AnMaster> genetic programming I guess
15:58:32 <tetha> AnMaster: and genomes output signals, ofc
15:58:42 <tetha> AnMaster: that is the current state of idead, kinda
15:58:50 <AnMaster> tetha, this sounds like an esolang that is a parody of DNA?
15:58:56 <tetha> AnMaster: pretty much, yes
15:59:02 <nooga> example
15:59:03 <tetha> AnMaster: it halts once a contradiction occurs :)
15:59:14 <AnMaster> tetha, hm... Is it TC?
15:59:18 <tetha> nooga: there is no syntax yet
15:59:29 <tetha> AnMaster: I am pretty sure that it can compute CSL at least
15:59:50 <AnMaster> CSL?
15:59:58 <tetha> the set of context sensitive languages
16:00:03 <tetha> space-bounded turing machines
16:00:22 <AnMaster> hm..... google fails at it.
16:01:24 <tetha> basically one step below actual turing machines
16:01:29 <tetha> or aequivalent to any existing computer
16:03:02 <nooga> so it's turing incomplete
16:03:11 <nooga> cause it lacks that one step :D
16:03:27 <tetha> well it might be, depending on how I model signal access
16:03:32 <AnMaster> aequivalent?
16:03:53 <tetha> in this context: same computational power as
16:04:02 <AnMaster> so the "a" wasn't a typo?
16:04:10 <tetha> eh, yes
16:04:14 <AnMaster> ah
16:05:30 <AnMaster> tetha, when done you should implement a genetic algorithm for outputting hello world in it.
16:05:39 <AnMaster> to make the parody even better
16:06:00 <tetha> hehe
16:06:01 <AnMaster> or, doesn't it have IO?
16:06:11 <tetha> IO was not defined yet
16:06:13 -!- Slereah has joined.
16:06:13 <AnMaster> ah
16:06:57 <tetha> however, I might define something as "IO-Genomes", which don't output further signals, but rather print stuff on the console
16:07:08 <tetha> opposed to the "Signal-Genomes", which transform signals
16:07:31 <AnMaster> tetha, what about input as radiation causing "random" changes to genoms?
16:07:34 <AnMaster> genes*
16:07:41 <tetha> haha
16:07:49 <tetha> that sounds fun :)
16:08:01 <tetha> we even thought about nondeterminism
16:08:03 <AnMaster> tetha, needs to not be completely random, otherwise it would be pretty much useless
16:08:04 <tetha> as semantics
16:08:26 <tetha> "exactly that state transformation occurs which leads into an inconsistent state in the smallest number of steps"
16:08:40 <tetha> but implementing that would be nontrivial
16:08:43 <AnMaster> hm
16:09:07 <tetha> but anyway, I need to dig into this university-project further at first
16:09:14 <AnMaster> tetha, shouldn't it be "signal-genes" rather than "signal-genomes"?
16:09:26 <tetha> I think so
16:09:58 -!- KingOfKarlsruhe has quit (Remote closed the connection).
16:10:18 <tetha> bear with me, I am tired and my brain is kind of overloaded with akward java code
16:10:23 <AnMaster> ouch
16:11:36 <AnMaster> hm
16:11:45 <AnMaster> pikhq, there? I can't find PEBBLE by googling
16:11:52 <AnMaster> nor on the wiki?
16:12:11 * AnMaster wonders if he typoed it
16:14:24 <pikhq> AnMaster: My host is t3h down.
16:14:27 <AnMaster> or maybe your website is dead, found some mention of http://pikhq.nonlogic.org/. But that give me timeout
16:14:31 <pikhq> Like, fell apart entirely.
16:14:47 <AnMaster> pikhq, any idea when it will be back up so I can get hold of pebble?
16:15:01 * AnMaster wanted to read the source for optimisation purposes
16:15:07 <pikhq> I'll have a website next time I have the money for one.
16:15:09 <AnMaster> like figuring out what idioms you use and such
16:15:24 <AnMaster> pikhq, can you filebin pebble + docs for it or something then please?
16:15:24 <pikhq> Would you like me to DCC the pebble 1.0 tarball to you?
16:15:40 <AnMaster> pikhq, dcc is semibroken for me. So filebin would probably work better
16:15:49 <pikhq> Mmkay.
16:17:17 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
16:17:52 <pikhq> http://filebin.ca/ekvsh/pebble-1.0.tar.bz2
16:17:55 <AnMaster> thanks
16:18:31 <AnMaster> pikhq, I thought you preferred lzma due to size?
16:18:33 <AnMaster> ;P
16:18:56 <pikhq> Shaddup, that tarball's a few years old.
16:19:04 <AnMaster> brainfucktopebble.tcl ? A decompiler? Interesting
16:19:19 <pikhq> It's trivial.
16:19:22 <AnMaster> hm
16:19:36 <AnMaster> pikhq, no examples included? Oh well
16:19:51 <pikhq> Would you like a copy of pfuck?
16:20:02 <AnMaster> pikhq, what is pfuck
16:20:22 <pikhq> Brainfuck->C compiler written in PEBBLE.
16:20:28 <AnMaster> yes thanks
16:20:31 <AnMaster> err
16:20:34 <AnMaster> yes please*
16:20:47 <AnMaster> (same word for "please" and "thanks" in Swedish...)
16:20:54 <pikhq> XD
16:21:27 <nooga> what is peeble?
16:21:35 <AnMaster> no idea.
16:21:39 <nooga> "ja tak" ?
16:21:50 <nooga> tack?
16:21:51 <AnMaster> nooga, err.. that is "yes roof"
16:22:04 <AnMaster> tack is thanks/please
16:22:05 <AnMaster> indeed
16:22:07 <nooga> tack sounds like polish tak
16:22:07 <AnMaster> but tak is roof
16:22:12 <AnMaster> mhm
16:22:15 <tetha> maybe we should reduce all polite phrases to a single grunting noise
16:22:17 <pikhq> http://filebin.ca/euhscg/pfuck-1.1.tar.lzma
16:22:25 <tetha> that would simplify a lot of things
16:22:36 <AnMaster> tetha, how to spell it on irc though
16:22:42 <tetha> mrh.
16:22:52 <nooga> "ja tak" means "me yes" (I do???)
16:23:04 <nooga> in Polish :D
16:23:07 <AnMaster> heh
16:23:21 <nooga> and sounds exactlylike Swedish "ja tack"
16:23:44 <nooga> it's fun when you say "tak tak tak tak tak" to swede
16:24:09 <AnMaster> in Swedish "ja tak" is "yes roof/ceiling" (same word for those, except if you want to say which you mean you would add a qualifier like "outer/inner" (yttertak and innertak)
16:24:13 <AnMaster> )
16:24:29 <pikhq> The optimize pass, BTW, is ridiculously simple.
16:24:42 <AnMaster> pikhq, in which?
16:24:51 <pikhq> PEBBLE.
16:24:57 <AnMaster> ah not in pfuck then
16:25:05 <nooga> tryck for karta
16:25:22 <pikhq> PFUCK just does RLE. PEBBLE... It has dead-code elimination and language-specific macros.
16:25:22 <nooga> or slut
16:25:38 <AnMaster> pikhq, heh
16:25:54 <AnMaster> nooga, ?
16:26:18 <nooga> AnMaster: i've seen these on a map dispenser
16:26:25 <pikhq> Makes for rather good output C from PEBBLE code, but it's not all that complex.
16:26:29 <AnMaster> I have no idea what language you tried to say that in. Probably not Swedish since that would have been för not for
16:26:42 <nooga> i don't have ö
16:26:51 <AnMaster> well. Then you end up with a different word
16:27:04 <nooga> weird
16:27:29 <AnMaster> "tryck för karta" == press [some button or such implied] for map
16:27:43 <nooga> dzwigac means nothing, but when you write in on the internet pll instantly know that you've meand dźwigać (to carry something heavy)
16:28:13 <AnMaster> nooga, "tryck for karta" = "press travelled map" or something like that.
16:28:21 <nooga> uh
16:28:41 <nooga> can't you detect context and rule out ridiculous statements?
16:28:46 <AnMaster> "for" is past tense of "fara" meaning travel (when used as a verb)
16:29:16 <AnMaster> nooga, sure, but I have seen quite a few cases where it isn't clear what was meant.
16:29:29 <AnMaster> this one was clear
16:29:44 <nooga> is it true that slut means end?
16:29:46 <AnMaster> as for "<nooga> or slut", that can't be Swedish...
16:30:07 <nooga> w/o or
16:30:19 <AnMaster> "ör slut" doesn't make sense either
16:30:28 <nooga> "slut"
16:30:37 <AnMaster> slut means end yes
16:30:42 <nooga> COOOOL
16:30:47 <AnMaster> depending on context you might want to use a different word
16:30:59 <nooga> i'll replace every 'end' with 'slut' in my ruby code
16:31:00 <AnMaster> like "no items left in dispenser"
16:31:07 <AnMaster> might be a better translation for that case
16:31:25 <nooga> and patch the interpreter
16:31:31 <AnMaster> so would indicate someone need to refill the map dispenser
16:31:48 <AnMaster> bbl food
16:31:51 <nooga> i see
16:34:22 <FireFly> [17:30:59] <nooga> i'll replace every 'end' with 'slut' in my ruby code
16:34:28 <FireFly> What if it takes it as an insult?
16:35:20 * pikhq washes down a cup of coffee with a can of mountain dew
16:36:03 <pikhq> EXTREEEME! caffeine.
16:36:15 <nooga> pikhq: i drink coke with coffee
16:37:05 <nooga> do ... slut
16:37:09 <nooga> if .... slut
16:37:14 <nooga> while .... slut
16:37:16 <nooga> YEAH!
16:37:27 <FireFly> gör ... slut
16:37:30 <FireFly> om ... slut
16:37:38 <FireFly> så länge som ... slut
16:37:58 <FireFly> Or..
16:38:01 <FireFly> medan ... slut
16:38:08 <FireFly> I guess would work for while ... end
16:38:40 <Asztal> meðan x lykkja ... lykkjulok
16:39:56 <nooga> ?:O
16:40:41 <pikhq> Cocaine? Hard core.
16:43:11 <nooga> ?
16:43:16 <nooga> no no
16:43:18 <nooga> the drink
16:43:24 <nooga> cocaine is yuck
16:43:43 <pikhq> Ah.
16:49:26 -!- nooga has quit (Read error: 104 (Connection reset by peer)).
16:49:44 -!- nooga has joined.
16:57:56 <nooga> Asztal: icelandic?
16:58:04 <Asztal> nooga: yep
16:58:10 <nooga> with x do ... done ?
16:59:03 <Asztal> "while x loop ... pool", I think
16:59:23 <nooga> google translate
16:59:24 <nooga> :D
17:00:19 <FireFly> While, medan :D
17:00:42 <nooga> !show sadbf
17:00:42 <EgoBot> sadol :M$0 :d:i,45000@>i-01(2]M0:i-i1:S$0:C;3:l#C-01:p:m0@<pl(2?=#Cp"1+:#Mm%+#Mm1,3255?=#Cp"1-:#Mm?<-#Mm10,3254-#Mm1?=#Cp"1>:m%+m1d?=#Cp"1<:m?<-m10-s1-m1?=#Cp"1.!'2#Mm?=#Cp"1,:#Mm'1;0?=#Cp"1[]S-p1?=#Cp"1]?=#Mm00:p[S0:p+p1
17:09:44 -!- nooga has quit ("Leaving...").
17:18:44 <AnMaster> pikhq, where is the code generated in pebble?
17:18:54 <AnMaster> as in. Where do I look to see what you translate "if" to and such
17:19:16 <AnMaster> if-1? ift?
17:19:43 <AnMaster> ah found if-1
17:25:16 <GregorR> Would people pronounce my name differently if I spelled it Gregör? :P
17:25:33 <AnMaster> GregorR, Very differently.
17:25:35 <tetha> I would
17:25:58 <AnMaster> GregorR, since that would make me pronounce it in Swedish.
17:26:03 <GregorR> Also, no non-ASCII unicode characters are significant on a GNU/Linux-mounted ext3 filesystem, right? That is, if I wanted to allow unicode in filenames given to EgoBot, I could blindly accept all non-ASCII?
17:26:12 <GregorR> (Assuming UTF-8)
17:26:16 <tetha> hehe, german pronounciation over here
17:26:20 <GregorR> Hah
17:26:30 <GregorR> Need some Scots in here.
17:26:36 <AnMaster> GregorR, um? I'm pretty sure you can have files called "ö" on Linux
17:26:46 <AnMaster> just by default ls would show ? instead
17:26:47 <tetha> scots are scary :P
17:27:12 <tetha> heh, so I could have a folder with contents ??? ??? ??? and ??? and they all are different?
17:27:22 <tetha> (according to ls, of course)
17:27:38 <AnMaster> GregorR, or wait you mean allowed chars? Well iirc only the null byte and possibly forward slash are forbidden
17:27:44 <GregorR> tetha: Presumably.
17:27:46 <AnMaster> actually forward slash might be valid, not sure
17:28:07 <GregorR> AnMaster: I'm talking about for safety. I reject '.' for safety reasons.
17:28:13 <AnMaster> tetha, you can tell ls to "show me non-printable chars" iirc
17:28:25 <AnMaster> it is by default based on current locale I think
17:28:35 <AnMaster> GregorR, oh?
17:28:49 <AnMaster> I can't see . would be a problem...
17:28:52 <AnMaster> !help
17:28:52 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
17:28:55 <AnMaster> !help languages
17:28:56 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
17:29:02 <AnMaster> and for intercal it would be important
17:29:24 <AnMaster> !cintercal http://example.org/triintercal.3i
17:29:25 <EgoBot> ICL778IUNEXPLAINED COMPILER BUG
17:29:34 <GregorR> ...?
17:29:45 <AnMaster> GregorR, the extension determines what sort of intercal it is
17:29:48 <AnMaster> like binary, or ternary
17:29:58 <AnMaster> up to .7i is allowed
17:30:03 <AnMaster> yet you said you reject dots?
17:30:22 <GregorR> Well f*** that. Those filenames /never/ survive 'til they're passed to the compiler.
17:30:22 <GregorR> They're downloaded as /tmp/$$.input
17:30:22 <GregorR> I was referring to names e.g. in !bfjoust
17:30:27 <AnMaster> so presumably that file would be stored as triintercal_i then
17:30:30 <AnMaster> GregorR, ^
17:30:40 <GregorR> No, that file would be stored as /tmp/input.$$
17:30:46 <AnMaster> GregorR, hm I'm not sure what ick would do with .input
17:30:55 <GregorR> I'm talking about when I actually use filenames from the user, I don't use filenames from URLs.
17:30:57 <AnMaster> GregorR, you have "c" there
17:31:03 <AnMaster> do you do that as gcc -x c then
17:31:09 <GregorR> Yes.
17:31:11 <pikhq> AnMaster: Forward slash and NULL.
17:31:18 <AnMaster> pikhq, right
17:31:45 <AnMaster> GregorR, you couldn't do erlang btw, since if module declaration doesn't match filename then it won't compile :)
17:32:05 <AnMaster> like if the file is foo.erl the first non-comment in the file must be -module(foo).
17:32:17 <pikhq> !asm foo: jmp foo
17:32:19 <AnMaster> and I think it will barf on invalid extension too
17:32:20 <GregorR> Things like userinterps, bfjoust files, etc all get actual filenames, which I whitelist. I'm just wondering if I can blindly whitelist all >=128 characters without consequence.
17:32:33 <pikhq> GregorR: Yes.
17:32:35 <GregorR> I DON'T CARE
17:32:41 <AnMaster> GregorR, well, I'm not sure if all interpreters would handle it properly
17:32:56 <pikhq> The worst case scenario is that you get some filenames that look a lot like other ones.
17:32:58 <AnMaster> they should, but who knows
17:33:16 <GregorR> pikhq: Not /hugely/ concerning, though not great :P
17:33:38 <AnMaster> GregorR, as long as it is UTF-8 and not, for example UTF-16 I think most programs will cope
17:34:00 <pikhq> (ä and ä are different characters, before normalisation. ;))
17:34:03 <AnMaster> I'm pretty sure cfunge would fail badly on UCS-4. Since iirc UCS-4 can contain literal null bytes.
17:34:14 <AnMaster> and that messes up string handling in C
17:34:40 <AnMaster> utf-8 should work as far as I know yeah
17:35:28 <AnMaster> um
17:35:34 * GregorR bashes his head into a wall.
17:35:39 <AnMaster> one thing
17:35:48 <AnMaster> pikhq, what about the surrogate pairs area
17:35:58 <GregorR> I am proposing SOLELY to accept all >=128 character values in filename strings.
17:35:59 <AnMaster> isn't that invalid in UTF-8 iirc
17:36:00 <GregorR> That's it.
17:36:09 <GregorR> That has the consequence of accepting all UTF-8, latin-1 etc.
17:37:10 <pikhq> AnMaster: What about it?
17:37:28 <AnMaster> GregorR, as long as the encoding is UTF-8 it would work fine I assume. Most interpreters probably aren't encoding aware, so if file ends up as latin-1 but it gets the filename as UTF-8 it most likely won't work
17:37:44 <AnMaster> pikhq, hm?
17:37:58 <pikhq> Surrogate pairs area?
17:38:29 <AnMaster> pikhq, the think reserved to make utf-16 able to encode chars from the higher planes
17:38:32 <AnMaster> thing*
17:38:55 <pikhq> *facepalm*
17:39:05 <pikhq> Damned UTF-16.
17:39:13 <AnMaster> pikhq, you didn't know about it?
17:39:15 <AnMaster> bbl
17:39:38 <pikhq> I try to ignore UTF-16 whenever possible.
17:40:02 <GregorR> UTF-8 is the only acceptable UTF :P
17:40:21 <pikhq> GregorR: Eh, there's arguments for UCS-4.
17:40:28 <GregorR> Bad ones :P
17:40:43 <pikhq> Mostly for in-library use.
17:41:06 <GregorR> In-library use should be int *, which is /arguably/ UCS-4, but I'd call it "not encoded".
17:41:31 <pikhq> That's considered UCS-4.
17:41:42 -!- Slereah has quit (Read error: 60 (Operation timed out)).
17:41:55 <pikhq> BTW, every single representation of Unicode is considered an encoding. :p
17:43:27 <GregorR> http://www2.dse.unibo.it/midic/ // laaaaaaaaawl, I can't imagine any degree sounding less like a degree than this one :P
17:43:49 -!- Slereah has joined.
17:44:13 <pikhq> I think we can all agree that UTF-EBCDIC is the single most evil Unicode encoding, though.
17:45:11 <pikhq> (fortunately, the few systems that *use* UTF-EBCDIC use UTF-16 instead)
17:45:18 <pikhq> Erm.
17:45:24 <pikhq> (that use EBCDIC)
17:52:56 -!- AnMaster has quit (Success).
17:55:56 -!- AnMaster has joined.
17:59:22 <AnMaster> pikhq:
17:59:34 <AnMaster> $ ./pebble.tcl
17:59:36 <AnMaster> can't find package cmdline
17:59:38 <AnMaster> while executing
17:59:40 <AnMaster> "package require cmdline"
17:59:42 <AnMaster> (file "./pebble.tcl" line 23)
17:59:46 <AnMaster> what do I do about that
17:59:48 <AnMaster> as in, what do I emerge
18:00:12 <AnMaster> (iirc you use gentoo too)
18:01:01 <pikhq> emerge tcllib.
18:01:36 <pikhq> It includes a bunch of stuff that should've been in the Tcl standard library, but isn't.
18:03:04 <AnMaster> mhm
18:03:22 <AnMaster> nooptimize.tcl nostrip.tcl optimize.tcl strip.tcl
18:03:34 <AnMaster> hm
18:03:46 <AnMaster> why a nooptimise.tcl? wouldn't it be an identity transformation?
18:04:02 <GregorR> ln -s /bin/cat nooptimize.tcl
18:04:21 <pikhq> Strips out some optimiser-pass pragmas.
18:04:29 <pikhq> GregorR: ... nooptimize.tcl gets sourced.
18:05:20 <AnMaster> hm
18:05:22 <AnMaster> pikhq, strip/nostrip?
18:05:23 <GregorR> source /bin/cat
18:06:11 <pikhq> Poorly named.
18:06:40 <pikhq> nostrip sticks in some debugging info, so I can get a clue what the compiler was thinking.
18:08:26 <AnMaster> pikhq, how do you map memory? Do you do it like gcc-bf and such with every other cell or similiar?
18:08:29 <AnMaster> similar*
18:08:57 <pikhq> ... *Map* memory? I think you overestimate the sophistication of PEBBLE.
18:09:05 <pikhq> It's a macro language.
18:09:37 <pikhq> It gets mapped however the fuck the developer wants it mapped.
18:12:20 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
18:24:39 -!- inurinternet has joined.
18:26:22 -!- bsmntbombdood has joined.
18:42:45 -!- jix_ has quit (Read error: 104 (Connection reset by peer)).
18:48:16 -!- jix has joined.
19:00:38 -!- oerjan has joined.
19:01:04 <oerjan> still no ehird :(
19:02:10 <oerjan> <AnMaster> (of course it might be a short (or shorter) in other functional languages, but probably not in anything C-like)
19:02:43 <oerjan> and [-1-x == complement x | x <- [0..256::Word8]]
19:03:05 <oerjan> needs a couple of imports though
19:03:05 <AnMaster> oerjan, what if you wanted bignum there instead.
19:03:16 <oerjan> ::Integer
19:03:21 <AnMaster> oerjan, and the line I mentioned worked right on the REPL
19:03:28 <AnMaster> ;P
19:03:33 <AnMaster> in*
19:03:47 <AnMaster> oerjan, btw, what about the pattern matching against [true] bit?
19:03:50 <AnMaster> is that in the line above
19:04:05 <oerjan> AnMaster: the and function takes care of that
19:04:08 <AnMaster> ah
19:04:20 <AnMaster> lisp-like and it seems
19:04:24 <oerjan> and also stops at the first inequality
19:04:35 <oerjan> (due to laziness)
19:06:43 <oerjan> i am not sure but i think it works straight from repl in ghc if you add module qualifiers
19:07:01 <oerjan> Data.Bits and Data.Word
19:12:12 <oerjan> also if you really want to pattern match against [True], the equivalent to usort is (nub . sort) or just nub
19:14:07 <GregorR> NUB NUB NUB
19:14:18 <oerjan> A DUB DUB
19:15:27 <oerjan> nub is a little inefficient though since it doesn't make use of the list being sorted
19:15:45 -!- ais523 has joined.
19:15:51 <GregorR> http://dominion.thruhere.net/koen/images/20090605-IMG_1486.jpg
19:17:26 <tetha> what? that poor chip!
19:17:33 <oerjan> a hamburger with chips, i take
19:18:11 <GregorR> I have no explanation :P
19:18:20 <GregorR> koen posted it on #beagle
19:18:28 <tetha> thats just cruel :(
19:18:35 * oerjan assumes they were going for that pun
19:23:17 <GregorR> oerjan: It was labeled "hambeagle"
19:23:30 <oerjan> o_O
19:24:03 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
19:24:05 <oerjan> is this #beagle channel about something other than dogs, then?
19:24:35 <GregorR> ...................... Beagleboard, the thing on that sandwich :P
19:24:37 <AnMaster> I would assume it would be about the beagle search thingy for gnome
19:24:41 <oerjan> ic
19:24:45 <AnMaster> or whatever the name was
19:24:52 <pikhq> AnMaster: Beagle's for more than just Gnome.
19:25:04 <AnMaster> pikhq, maybe. I don't use it anyway. I use locate
19:25:12 <AnMaster> and find and grep
19:25:14 <GregorR> Beagle is in .SHIT, so I don't use it :P
19:25:15 <pikhq> Beagle's like locate, but more sophisticated.
19:25:27 <pikhq> GregorR: The Gnome frontend is.
19:25:33 <AnMaster> pikhq, I don't need that it very often
19:25:37 <oerjan> GregorR: is that an official designation? :D
19:25:38 <GregorR> Well, yeah, that's what I mean.
19:25:55 <AnMaster> since I always used a very well organised directory structure
19:26:01 <pikhq> The KDE frontend is MOC-C++.
19:26:09 <pikhq> AnMaster: ... Organised? LMAO
19:26:14 <AnMaster> heh read that as "MOCK"
19:26:28 <pikhq> ls ~|wc -l
19:26:29 <pikhq> 832
19:26:40 <AnMaster> pikhq, yes for example ~/irc/freenode/esoteric/pikhq/pebble/
19:26:40 <AnMaster> :P
19:26:45 <ais523> pikhq: how many of the files in your ~ have newlines in their names/
19:26:52 <AnMaster> hi ais523
19:26:52 <pikhq> ais523: None.
19:26:59 <ais523> hi AnMaster
19:27:21 <AnMaster> pikhq, sounds like a mess...
19:27:29 <AnMaster> ls ~ | wc -l
19:27:29 <AnMaster> 30
19:27:40 <AnMaster> with dot files it would be much more
19:27:41 <AnMaster> of course
19:27:46 <pikhq> AnMaster: It is.
19:27:58 <AnMaster> $ ls -A ~ | wc -l
19:27:58 <AnMaster> 318
19:28:02 <AnMaster> so yes quite a few dotfiles
19:28:06 <ais523> capital A?
19:28:12 <ais523> I thought it was a lowercase a to get dotfiles
19:28:13 <AnMaster> ais523, skips . and ..
19:28:17 <ais523> AnMaster: oh
19:28:20 <ais523> well, they're dotfiles too
19:28:21 <pikhq> ls -A ~ | wc -l
19:28:22 <pikhq> 1186
19:28:23 <AnMaster> ais523, got to love GNU?
19:28:24 <AnMaster> ;P
19:28:30 <AnMaster> (or maybe that is standard, no idea)
19:28:41 <AnMaster> ais523, they are pseudo-files
19:28:56 <AnMaster> or pseudo directories rather
19:29:05 <AnMaster> pikhq, insane
19:29:18 <pikhq> Yes.
19:29:34 <pikhq> ... I <3 locate. :p
19:29:44 -!- impomatic has joined.
19:30:05 <AnMaster> pikhq, that is only useful if you know filename
19:30:12 <AnMaster> also it takes way too long to index ~ for me
19:30:22 <AnMaster> since I have mostly lots and lots of small files
19:30:25 <AnMaster> very few large ones
19:30:43 <pikhq> ... You know how long it takes to index?
19:30:44 <impomatic> Hi :-)
19:30:50 <pikhq> You mean you *don't* have it in a cron job?
19:30:51 <AnMaster> pikhq, so I make it skip ~/src and ~/local entirely
19:31:06 <AnMaster> pikhq, yes I have. But it is disk trashing for hours then
19:31:22 <AnMaster> even when it starts at 02:00 it is running when I wake up at 08:00..
19:31:28 <AnMaster> which is kind of insane
19:31:38 <pikhq> Jeeze, your hard drive is slow.
19:31:42 <AnMaster> pikhq, it is possibly some of the mount --binds I have does mess it up
19:32:16 <pikhq> I'm pretty sure locate indexing takes about 10 minutes on my system.
19:32:32 <AnMaster> pikhq, sure it does about that once I skip ~/src and ~/local
19:32:36 <pikhq> (I gather from the disk thrashing at 2-ish and stopping 10 minutes later)
19:33:01 -!- M0ny has joined.
19:33:56 <AnMaster> ~/src contains amongst other things svn check outs of wesnoth and osg, cvs checkout of flightgear source and data (data checkout is about 1.1 GB... mixed file sizes)
19:34:09 <AnMaster> oh and I think the 17 GB of flightgear scenery is mount --binded into there
19:34:11 <AnMaster> yes it is
19:34:28 <AnMaster> pikhq, each file from the flightgear scenery is about 1-4 KB
19:34:37 <AnMaster> in total it is rougly 17 GB
19:34:46 <AnMaster> there are a few larger ones at 10 KB or so
19:34:49 <pikhq> ln -s, man! locate handles softlinks much, much, *much* better than it does mount -o bind!
19:35:08 <AnMaster> pikhq, other stuff that I need doesn't properly handle the softlinks, so not an option
19:35:23 <AnMaster> locate isn't the priority there, flightgear and the various tools are
19:35:28 <pikhq> Other stuff you need is fatally broken.
19:35:32 <AnMaster> s/the var/it's var/
19:36:18 <AnMaster> pikhq, yes I guess svn is broken then, it doesn't like svn:external when the external dir is a symlink. Thus I need a mount --bind
19:36:27 <AnMaster> but yeah I agree in general that svn is broken
19:36:35 <pikhq> Indeed, SVN is broken in that regards.
19:36:36 <AnMaster> long live bzr!
19:36:55 <pikhq> Especially since mount -o bind only really works on Linux, IIRC.
19:36:58 <AnMaster> pikhq, in fact, all VCSes I know of that support something like svn:externals are broken when it comes to this
19:37:16 -!- impomatic has left (?).
19:37:31 <AnMaster> pikhq, they handle symlinks separately from directories
19:37:36 <AnMaster> and there is no sane workaround
19:37:43 <AnMaster> since you might want to check in a symlink
19:37:50 -!- bsmntbombdood has joined.
19:37:57 <AnMaster> perfectly reasonable thing to do
19:38:59 <pikhq> EVERYTHING IS BROKEN ON UNIX!!!
19:39:08 * pikhq joins the cult of Plan 9
19:39:40 <AnMaster> pikhq, also, doesn't bind mounts work on FreeBSD iirc?
19:39:45 <AnMaster> pretty sure they do
19:39:52 <pikhq> Possibly.
19:39:53 <AnMaster> since I used them a lot to share ports tree between jails
19:39:55 <AnMaster> and such
19:40:05 <AnMaster> you can even ro-bind-mount
19:40:12 <pikhq> It's still a non-POSIX extension, I'm pretty sure...
19:40:16 <AnMaster> something linux only supports since 2.6.24 or something like that
19:40:46 <AnMaster> pikhq, good thing that I never planned to use this setup on anything but my current OS
19:40:56 <pikhq> Yeah.
19:41:01 <AnMaster> heck, ext3 isn't portable either is it :P
19:41:04 <AnMaster> not POSIX
19:41:23 <AnMaster> xfs is portable to IRIX iirc (or was it JFS that was?)
19:41:29 <pikhq> ext3 handles most POSIX semantics.
19:41:35 <AnMaster> ext3 and xfs are the two FSes I use
19:42:08 <pikhq> POSIX doesn't specify what filesystem should be used, it specifies what the filesystem should support. ;)
19:42:25 <AnMaster> pikhq, btw, I'm pretty sure "mount" isn't specified by POSIX
19:42:27 <AnMaster> either
19:42:32 <pikhq> Yes it is.
19:42:40 <AnMaster> "mount point" is defined as something implementation defined iirc
19:42:48 <pikhq> Maybe not POSIX.1, but there's more to POSIX than that.
19:42:50 <AnMaster> pikhq, I'm looking in POSIX.1-2008 atm...
19:43:01 <AnMaster> pikhq, SuS != POSIX
19:43:02 <pikhq> POSIX.1 is a small portion of POSIX.
19:43:11 <AnMaster> err
19:43:12 <AnMaster> SUS*
19:43:14 <AnMaster> possibly
19:43:30 <pikhq> Windows implements POSIX.1. ;)
19:43:40 <AnMaster> pikhq, so what are the other sections? IIRC POSIX.2 and such were unified into a single POSIX.1 in the 2001 version?
19:44:03 <pikhq> Hrm. Really?
19:44:12 <AnMaster> not 100% sure
19:44:18 -!- tetha has quit (Nick collision from services.).
19:44:27 -!- tetha has joined.
19:44:40 <pikhq> I might just have to stab the POSIX standard.
19:44:48 <pikhq> (not specifying *mount*?!?)
19:45:19 <AnMaster> pikhq, mount point is defined in some general terms iirc that leaves it partly implementation defined
19:46:20 <pikhq> So, SuS > POSIX. Got it.
19:47:09 <AnMaster> hm
19:48:37 <AnMaster> pikhq, I'm not sure if SuS specifies it
19:48:43 <AnMaster> but I do know POSIX doesn't
19:48:57 <pikhq> That's just dumb.
19:49:01 * AnMaster looks in SuS03
19:49:19 <AnMaster> pikhq, not really. POSIX is meant to be possible to implement on embedded systems
19:50:02 <pikhq> No, it's meant to specify UNIX.
19:50:49 <AnMaster> pikhq, ...
19:50:57 <AnMaster> it does have an embedded "profile"
19:51:23 <AnMaster> btw checked SuSv3, can't find mount there either
19:52:30 <AnMaster> in POSIX.1-2008
19:52:33 <AnMaster> 1993 3.227 Mount Point
19:52:33 <AnMaster> 1994 Either the system root directory or a directory for which the st_dev field of structure stat differs
19:52:33 <AnMaster> 1995 from that of its parent directory.
19:52:33 <AnMaster> 1996 Note: The stat structure is defined in detail in <sys/stat.h>.
19:52:40 <AnMaster> those are line numbers btw
19:54:32 -!- pikhq has quit (Read error: 54 (Connection reset by peer)).
20:02:18 -!- pikhq has joined.
20:08:36 <oerjan> !userinterps
20:08:38 <EgoBot> Installed user interpreters: bc bct bfbignum brit chiqrsx9p choo dc echo google gregor hello num ook plot rot13 sadbf slashes swedish yodawg
20:29:53 <GregorR> !swedish This is the best userinterp ever.
20:29:54 <EgoBot> Thees is zee best usereenterp ifer. Bork Bork Bork!
20:34:25 <pikhq> !gregor What, pray tell, does this do?
20:34:25 <EgoBot> What, pray tell, does this do?
20:34:40 <ais523> !hello hhh
20:34:41 <EgoBot> Unknown command (hhh) encountered
20:34:44 <ais523> !hello h h h
20:34:45 <oerjan> !show gregor
20:34:45 <EgoBot> sh sed 's/þ/th/g ; s/Þ/Th/g ; s/ſ/s/g ; s/æ/ae/g ; s/Æ/Ae/g ; s/œ/oe/g ; s/Œ/Oe/g'
20:34:46 <EgoBot> Unknown command (h h h) encountered
20:34:48 <pikhq> !gregor What, pray tell, doþ þis do?
20:34:48 <EgoBot> What, pray tell, doth this do?
20:34:52 <ais523> !hello h
20:34:53 <EgoBot> Hello World
20:34:55 <pikhq> Ahah.
20:35:09 <ais523> !show hello
20:35:10 <EgoBot> c char buf[1024]; int i; fgets(buf, 1024, stdin); for (i=0;buf[i];i++)buf[i]=(buf[i]=='\n')?'\0':buf[i]; if (!strcmp(buf, "h")) printf("Hello World\n"); else printf("Unknown command (%s) encountered\n", buf);
20:35:16 * pikhq really needs to finish off his Brainfuck specialiser
20:36:04 <pikhq> !c main();
20:36:05 <EgoBot> Does not compile.
20:36:18 -!- BeholdMyGlory has joined.
20:36:21 <ais523> !c int main=42;
20:36:29 -!- Slereah_ has joined.
20:36:32 <AnMaster> ais523, is that valid?
20:36:43 <AnMaster> and
20:36:43 <ais523> AnMaster: it's syntatically correct but segfaults
20:36:44 <AnMaster> hm
20:36:45 <pikhq> Technically, yes.
20:36:57 <oerjan> i believe !c puts things as an expression inside the real main()
20:37:00 <AnMaster> ais523, segfaults because no return value or?
20:37:12 <ais523> because it tries to interpret 42 as an address
20:37:12 <pikhq> oerjan: Unless main is defined.
20:37:15 <ais523> where main is stored
20:37:22 <oerjan> !c int main=42; printf("%d\n", main);
20:37:23 <EgoBot> 42
20:37:23 <AnMaster> ais523, but this is inside main? as oerjan said?
20:37:27 <ais523> ah, ok
20:37:29 <pikhq> !c int main(){main();}
20:37:31 <EgoBot> ./interps/gcccomp/gcccomp: line 52: 1184 Segmentation fault /tmp/compiled.$$ 2>&1
20:37:37 <ais523> stack overflow
20:37:43 <pikhq> \o/
20:37:51 <ais523> obviosuly it isn't optimising tail calls
20:37:56 <AnMaster> gcccomp?
20:38:03 <pikhq> !c int main(){printf("%p", main);}
20:38:04 <EgoBot> 0x4004cc
20:38:09 <AnMaster> that means GNU Compiler Collection Compiler?
20:38:10 <ais523> print("%d",__GCC_VERSION);
20:38:11 <AnMaster> or what
20:38:18 <ais523> printf("%d",__GCC_VERSION);
20:38:20 <ais523> !c printf("%d",__GCC_VERSION);
20:38:22 <EgoBot> Does not compile.
20:38:28 <ais523> !c printf("%d",__GNUC_VERSION__);
20:38:30 <EgoBot> Does not compile.
20:38:32 <ais523> !c printf("%d",__GNUC_VERSION);
20:38:33 <EgoBot> Does not compile.
20:38:34 <AnMaster> what about include
20:38:44 <AnMaster> !c printf("%d",__GNUC__);
20:38:45 <EgoBot> 4
20:38:48 <AnMaster> :P
20:38:56 <AnMaster> ais523, I never seen the other one before
20:39:00 <ais523> ah, ok
20:39:05 <ais523> I probably got confused with something else
20:39:15 <ais523> !c printf("%d",__GNUC_MINOR);
20:39:16 <EgoBot> Does not compile.
20:39:19 <ais523> hmm...
20:39:23 <AnMaster> !c printf("%d.%d",__GNUC__,__GNUC_MINOR__);
20:39:25 <EgoBot> 4.3
20:39:25 <pikhq> !c int main(){printf("%p", main);int foo(){return 0x10;};main = foo;printf("%p %p", main, foo);printf("%i", main());return 0;}
20:39:26 <EgoBot> Does not compile.
20:39:32 <ais523> ah, that's it
20:39:39 <AnMaster> !c printf("%d.%d.%d",__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__);
20:39:40 <EgoBot> 4.3.3
20:39:42 <pikhq> Aaaw, I tried doing fancy stuff.
20:40:19 -!- MigoMipo has joined.
20:40:20 <pikhq> !c int main(){int foo(){return 0x10;};printf("%p %p", main, foo);}
20:40:22 <EgoBot> 0x4004cc 0x4004ef
20:40:24 <AnMaster> !c printf("%d", __STDC_VERSION__);
20:40:25 <EgoBot> Does not compile.
20:40:26 <AnMaster> huh
20:40:33 <AnMaster> oh not C99 I guess
20:40:38 <pikhq> AnMaster: __STDC__
20:40:41 <pikhq> :p
20:40:46 <AnMaster> pikhq, C99 defines the latter too
20:40:50 <pikhq> !c printf("%d", __STDC__);
20:40:51 <EgoBot> 1
20:40:57 <pikhq> Ah, right. Must be GNU90.
20:41:07 <AnMaster> C89/90 doesn't
20:41:19 <AnMaster> !c printf("%d", __SSE__);
20:41:20 <EgoBot> 1
20:41:25 <AnMaster> !c printf("%d", __amd64__);
20:41:26 <EgoBot> 1
20:41:27 <AnMaster> hm
20:41:30 <AnMaster> !c printf("%d", __k8__);
20:41:32 <EgoBot> 1
20:41:34 <AnMaster> heh?
20:41:59 <AnMaster> !c printf("%d", __x86_64__);
20:42:00 <EgoBot> 1
20:42:01 <AnMaster> mhm
20:42:25 <pikhq> !c asm("jmp $0");
20:42:26 <EgoBot> Does not compile.
20:42:31 <AnMaster> !c printf("%d", __OPTIMIZE__);
20:42:31 <EgoBot> Does not compile.
20:42:38 <AnMaster> so -O0 then
20:43:00 <pikhq> !asm jmp $0
20:43:01 <EgoBot> Does not compile.
20:43:17 <AnMaster> pikhq, due to what reason?
20:43:29 <AnMaster> !c __asm__("jmp $0");
20:43:30 <EgoBot> Does not compile.
20:43:32 <pikhq> ... Hmm. I'm not sure why I'm doing jmp $0, actually.
20:43:47 <AnMaster> <EgoBot> perl: warning: Please check that your locale settings:
20:43:47 <AnMaster> <EgoBot> LANGUAGE = (unset),
20:43:48 <AnMaster> what?
20:44:00 <pikhq> ... That's... Unique.
20:44:02 <AnMaster> GregorR, I think you fail
20:44:09 <AnMaster> pikhq, it goes on for several lines
20:44:14 <AnMaster> not sure how it is related to GCC...
20:44:50 <AnMaster> http://pastebin.ca/1449019
20:44:52 <AnMaster> is the full output
20:44:59 <GregorR> AnMaster: How did you cause that?
20:45:05 <GregorR> !c __asm__("jmp $0");
20:45:07 <EgoBot> Does not compile.
20:45:10 <AnMaster> GregorR, !c __asm__("jmp $0");
20:45:11 <AnMaster> indeed
20:45:20 <GregorR> I don't get that.
20:45:23 <AnMaster> GregorR, if you are going to use locales, install them in the chroots
20:45:26 <AnMaster> just an idea
20:45:28 <GregorR> Although !c seems fekky :P
20:45:31 <AnMaster> something like locale-gen iirc
20:45:33 <GregorR> I /don't/ use locales.
20:45:42 <GregorR> And I don't have that output.
20:45:49 <AnMaster> GregorR, you do if you use anything by all LC_* set to C
20:45:52 <oerjan> !slashes Is this working now?
20:45:53 <EgoBot> perl: warning: Setting locale failed.
20:45:53 <AnMaster> or POSIX
20:45:54 <ais523> Perl often complains if it doesn't see locales
20:46:05 <AnMaster> GregorR, LANG = "en_US.UTF-8" <-- you use locales
20:46:05 <oerjan> GregorR: that too ^
20:46:05 <ais523> although just setting them all to LC_C works
20:46:20 <AnMaster> ais523, LC_C?
20:46:31 <GregorR> AnMaster: Oh, that must have been set because I ran EgoBot from a shell instead of init.d this last time X_X
20:46:59 <AnMaster> GregorR, possibly. Either way it is broken now
20:47:04 <pikhq> ais523: Setting them to "" or "C", thou meanſt.
20:47:08 -!- EgoBot has quit (Remote closed the connection).
20:47:13 <ais523> pikhq: ah, good point
20:47:25 -!- EgoBot has joined.
20:47:29 <GregorR> !c __asm__("jmp $0");
20:47:30 <EgoBot> Does not compile.
20:47:38 <AnMaster> GregorR, oh and if locales aren't set up to a lot of programs will probably fail to handle those file names you mentioned. Heck, java will probably at least
20:47:44 <GregorR> !slashes Is this working now?
20:47:44 <EgoBot> Is this working now?
20:47:45 <AnMaster> so !bf_txtgen may break
20:47:56 <AnMaster> !c __asm__("jmp $0");
20:47:57 <EgoBot> Does not compile.
20:48:10 <pikhq> AnMaster: He should probably install en_US.UTF-8 at bare minimum.
20:48:11 <AnMaster> <EgoBot> ./interps/gcccomp/gcccomp: line 52: /tmp/compiled.2420: No such file or directory
20:48:13 <AnMaster> what
20:48:19 <AnMaster> GregorR, that doesn't make sense
20:48:22 <AnMaster> as the error for that
20:48:25 <GregorR> PATIENCE
20:48:26 <GregorR> PATIENCE
20:48:43 -!- Slereah has quit (Read error: 110 (Connection timed out)).
20:48:44 <oerjan> !slashes Is this working now?
20:48:44 <EgoBot> Is this working now?
20:48:52 <oerjan> well that improved
20:48:53 <AnMaster> !c puts("hi");
20:48:54 <EgoBot> hi
20:49:09 <oerjan> !slashes Is this \\\working?
20:49:10 <EgoBot> Is this \working?
20:49:22 <AnMaster> !asm mov %rax,%rax
20:49:29 <AnMaster> !asm jmp $0
20:49:30 <EgoBot> Does not compile.
20:49:46 <AnMaster> ..
20:50:14 <AnMaster> !asm jne $0
20:50:15 <EgoBot> Does not compile.
20:50:23 <AnMaster> hm
20:50:24 <GregorR> !c printf("Hello world!")
20:50:25 <EgoBot> Hello world!
20:50:31 <GregorR> It works, those legitimately don't compile :P
20:50:40 <AnMaster> !asm jmp 0
20:50:41 <EgoBot> ./interps/gcccomp/gcccomp: line 52: 2776 Segmentation fault /tmp/compiled.$$ 2>&1
20:50:44 <AnMaster> ah
20:50:55 <AnMaster> pikhq, you fail at gas ;P
20:51:00 <AnMaster> I guess
20:51:02 <AnMaster> not sure why
20:51:12 <AnMaster> I prefer to jump to labels...
20:51:21 <AnMaster> tends to work better you know ;P
20:51:51 -!- ehird has left (?).
20:51:53 <AnMaster> !asm jmp %rax
20:51:54 <EgoBot> ./interps/gcccomp/gcccomp: line 52: 2843 Segmentation fault /tmp/compiled.$$
20:52:07 <AnMaster> !c __asm__("jmp %rax");
20:52:08 <EgoBot> ./interps/gcccomp/gcccomp: line 52: 2886 Segmentation fault /tmp/compiled.$$
20:52:11 <AnMaster> !c __asm__("jmp %%rax");
20:52:12 <EgoBot> Does not compile.
20:52:14 <AnMaster> err
20:52:19 <AnMaster> the latter one _is_ valid
20:52:22 <AnMaster> the former one isn't
20:52:33 <GregorR> !c asm("jmp %rax");
20:52:34 <EgoBot> ./interps/gcccomp/gcccomp: line 52: 2958 Segmentation fault /tmp/compiled.$$
20:52:44 <AnMaster> ais523, right?
20:52:47 <GregorR> Wrong.
20:53:08 <AnMaster> GregorR, so why do I need to use double %% for registers in inline asm in cfunge?
20:53:15 <ais523> I can't remember how asm statements in gcc work
20:53:27 <ais523> I've only ever written two, and neither used a literal register
20:53:39 <GregorR> AnMaster: I have no idea how inline asm works in cfunge.
20:53:43 -!- ehird has joined.
20:53:47 <ehird> 16:17:28 <fizzie> [2008-12-23 17:25:57] < ehird> I don't exactly have plans to try and see if they'd welcome a random 14 year old, no. :P
20:53:50 <ehird> 16:17:41 <fizzie> Inconclusive. Maybe the first one was a typo; it was just one line from grepping.
20:53:52 <ehird> was talking about future event
20:53:54 <ehird> 16:20:07 <psygnisfive> hes in zambia
20:53:56 <ehird> uk
20:54:00 <ehird> 16:20:35 <jix_> ok he is from the US (at least his internet connection is)
20:54:01 <ehird> bouncer
20:54:05 <ehird> as was said
20:54:11 <ehird> 16:22:23 <oerjan> fizzie: hexham or something like that
20:54:12 <ehird> yes
20:54:15 <fizzie> ehird: Yes, I mentioned the futureness of the event later on when I noticed it.
20:54:21 <ehird> fizzie: rite
20:54:31 <AnMaster> !c int a = 0; __asm__("mov $2, %var" : [var] "=m"(a)); printf("%d", a);
20:54:32 <EgoBot> Does not compile.
20:54:34 <AnMaster> ...?
20:54:34 <ehird> 16:24:06 <fizzie> Based on grepping for "live in" in ehird's comments, he lives: (a) "a little hole"; (b) "in the shadow of his [tusho] memory"; (c) "BIZZARO BRITAIN"; (d) "21st century"; (e) "in a world of infinite memory".
20:54:39 <ehird> i can't remember saying any of those
20:54:44 <ehird> apart from 21st century
20:54:46 <ehird> i say that a lot
20:54:56 <AnMaster> GregorR, why isn't it DCCing me any more
20:55:03 <fizzie> I had to interpret a bit. It was something like "I prefer to live in a world of infinite memory" and so on.
20:55:06 <ais523> unless he's been constantly lying, though, he lives in Hexham
20:55:11 <AnMaster> !c int a = 0; __asm__("mov $2, %[var]" : [var] "=m"(a)); printf("%d", a);
20:55:11 <EgoBot> Does not compile.
20:55:12 <GregorR> AnMaster: It has no further output.
20:55:18 <ais523> and the IP evidence implies somewhere nearby
20:55:20 <GregorR> AnMaster: Before it was trying to run the file it failed to compile.
20:55:22 <ehird> ais523: i once knew a guy who claimed he lived in hawaii
20:55:23 <GregorR> AnMaster: Now it's not :P
20:55:28 <ehird> he actually lived in Pennsylvania
20:55:29 <AnMaster> GregorR, if it doesn't compile it needs a error message
20:55:30 <ehird> go figure
20:55:39 <GregorR> AnMaster: E_IDONTGIVEAFUCK
20:55:41 <AnMaster> GregorR, the GCC error message
20:55:46 <AnMaster> hm
20:55:46 <ais523> what a pointless lie...
20:55:54 <GregorR> The GCC error output is too long and annoying.
20:56:20 <ehird> ais523: yeah, totally
20:56:36 <ehird> i think i joked to him about SPAM at one time, haha
20:56:41 <GregorR> !c is not meant to be a way to debug your C code :P
20:56:42 <EgoBot> Does not compile.
20:57:03 <ehird> fizzie: context for those live-in lines? i'm grepping myself but slow
20:57:15 <ehird> 16:25:42 <psygnisfive> one of the things were going to do is make it heavily data-oriented
20:57:15 <ehird> 16:25:49 <psygnisfive> so that applications are almost non-existant
20:57:19 <ehird> linux is a terrible platform for that
20:57:21 <AnMaster> tmp.c:2: Error: no instruction mnemonic suffix given and no register operands; can't size instruction
20:57:21 -!- GregorR has set topic: <ehird> i'm grepping myself but slow | http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
20:57:21 <AnMaster> aha
20:57:24 <AnMaster> that is why
20:57:30 <ehird> it's completely against its philosophy
20:58:42 <AnMaster> ah
20:59:02 <AnMaster> you only need double % for registers when you have constraints
20:59:05 <AnMaster> like shown above
20:59:23 <AnMaster> !c int a = 0; __asm__("mov $2, %[var]" : [var] "=r"(a)); printf("%d", a);
20:59:25 <EgoBot> 2
20:59:29 <AnMaster> there we go
20:59:37 <fizzie> ehird: (all these in some freaky EET/EEST) little hole 2007-11-21 20:43:18, memory-shadow 2008-10-02 23:15:38, bizzaro 2008-10-15 17:46:20, 21st 2008-12-30 01:41:42, infmem 2009-01-18 19:39:21; those should help limit grepping.
20:59:46 <GregorR> How pointful :P
21:00:00 <GregorR> !sh find / | xargs echo
21:00:00 <EgoBot> /usr/bin/find: `/': Function not implemented
21:00:04 <AnMaster> GregorR, who were you talking about?
21:00:15 <GregorR> AnMaster: <AnMaster> !c int a = 0; __asm__("mov $2, %[var]" : [var] "=r"(a)); printf("%d", a);
21:00:25 <AnMaster> ah
21:00:26 <GregorR> AnMaster: Because "a = 2" is so tough :P
21:00:33 <ehird> 10:43:15 <ehird`> yes, 186!
21:00:33 <ehird> 10:43:18 <ehird`> i live in a little hole
21:00:35 <GregorR> !sh find /* | xargs echo
21:00:35 <EgoBot> /usr/bin/find: `/dev': Function not implemented
21:00:36 <AnMaster> GregorR, it was rather to test if it worked
21:00:40 <ehird> that's, uh, delightfully nonsequitur
21:00:41 <AnMaster> GregorR, a simple test case
21:01:16 <AnMaster> GregorR, normally you would use inline asm for other stuff of course .P
21:01:18 <AnMaster> :P*
21:01:26 <AnMaster> like SSE or whatever
21:01:55 <AnMaster> or stuff that has no mapping in C
21:02:33 <AnMaster> (like "restore FPU register from register save" in the kernel when context switching)
21:02:38 * pikhq observes that there is not a Brainfuck Forth.
21:02:41 * pikhq notes that there should be one.
21:02:49 <oerjan> ehird: did #haskell say anything about your Mirror functions?
21:02:50 <AnMaster> pikhq, how would it work
21:02:58 <ehird> oerjan: mauke got confused
21:02:58 <pikhq> AnMaster: Poorly!
21:03:01 <ehird> 'part from that...
21:03:03 <oerjan> :D
21:03:22 <oerjan> ehird: i had some thoughts. this could be sort of like a hsJoust...
21:03:35 <ehird> oerjan: ah! I was thinking about how to do tht
21:03:37 <ehird> *that
21:03:43 <ehird> detecting your opponent is an excellent way
21:03:45 <ehird> very functional
21:03:52 <ehird> (hsjoust in general that is)
21:03:57 <ehird> pikhq: I started to write one
21:04:18 <oerjan> Suggested scoring: (1) if runM m m does not return True, m is disqualified
21:04:27 <ehird> 16:29:40 <pikhq> psygnisfive: I just say "the Linux kernel" as disambiguation for those folk, but anyways...
21:04:38 <ehird> GNU/Linux/X11/cron/init
21:04:56 <ehird> oerjan: ah, I don't think it should be that
21:05:00 <ehird> oerjan: I think it should be detecting your opponent
21:05:03 <ehird> of course, that's much harder
21:05:06 <ehird> probably impossible
21:05:07 <pikhq> Cron, init, and X11 are generally considered part of GNU. :p
21:05:12 <oerjan> ehird: er that's just the start
21:05:26 <ehird> oerjan: i know
21:05:38 <ehird> oerjan: i meant it should be runM warrior1 warrior2
21:05:51 <oerjan> that's step 2
21:06:05 <ehird> oerjan: oh
21:06:09 <ehird> oerjan: say the whole rules
21:06:42 <oerjan> (2) then for qualifying m1 and m2, runM m1 m2 and runM m2 m1 are both evaluated
21:07:12 <oerjan> if one returns False but not the other, that one wins
21:07:36 <oerjan> if one of them doesn't return, there are a number of options i guess
21:07:49 <ehird> oerjan: unfortunately the practical way is real-time-limited
21:07:53 <ehird> which is TEH LAME
21:08:00 <oerjan> if they both do the same thing, a tie naturally
21:08:25 <oerjan> ehird: well yeah but that might not be that bad
21:08:32 <ehird> it's so impure
21:08:37 <ehird> if the server gets loaded you could lose
21:08:40 <ehird> as opposed to winning normally
21:08:46 <ehird> yeah yeah cpu time w/e
21:08:51 <oerjan> of course one could respond with an undefined for efficiency, if it wants the other one to fail that way
21:09:52 <oerjan> well to win either you must return False or your opponent must return True, so if both loop it's not a problem
21:10:13 <AnMaster> ehird, these mirror functions? What are they
21:10:22 <ehird> AnMaster: the chance of you getting it unless you know haskell is about 0
21:10:30 <ehird> but newtype Mirror = Mirror (Mirror -> Bool).
21:10:44 <AnMaster> ehird, is that "but" part of the code?
21:10:50 <oerjan> :D
21:10:50 <ais523> what's this about? monad jousting?
21:10:58 <ehird> AnMaster: No.
21:11:02 <AnMaster> ehird, ok
21:11:04 <oerjan> ais523: well it's only the -> monad at worst
21:11:06 <ehird> ais523: no, Haskell self-detectors and now applying that as Haskell joust
21:11:11 <ais523> ehird: ah
21:11:15 <ais523> I think I had a similar idea here earlier
21:11:30 <ehird> i think self-detectors could turn into a very interesting subject
21:11:38 <ehird> you can do them in the lambda calculus, even
21:11:39 <ehird> easily
21:11:44 <ais523> but making it self-detectors instead of other-detectors is clever
21:11:48 <oerjan> ehird: also if no looping happens, there is a simple way to beat any finite list of opponents
21:11:54 <AnMaster> ehird, Some sort of recursive type? That is my best guess for that code.
21:11:57 <ehird> AnMaster: Yes.
21:12:09 <ehird> AnMaster: Beyond that, first read a bunch of CS literature, then try again.
21:12:12 <AnMaster> ehird, and it can be turned into bool?
21:12:15 <ehird> AnMaster: No.
21:12:19 <AnMaster> ah well
21:12:21 <ehird> -> is a function. That's all I'll say.
21:12:25 <ehird> oerjan: btw Peter Landin died yesterday
21:12:39 <ehird> if you didn't know
21:12:49 <oerjan> ehird: Mirror (\(Mirror f) -> not $ any f opponent_list)
21:12:51 <ehird> (of the next 700 programming languages, ISWIM, J operator)
21:13:01 <oerjan> ehird: not exactly a close friend, there
21:13:03 <ehird> oerjan: opponent_list is of course not available
21:13:04 <AnMaster> Mirror -> on -> the -> wall?
21:13:18 * AnMaster wonders if you would write a haskell poem
21:13:18 <ehird> oerjan: also, sure, but you wouldn't have Haskell without him :-)
21:13:23 <ehird> AnMaster: haskell code is poetry
21:13:24 <oerjan> ehird: i mean if there was a hill with disclosed opponents
21:13:28 <oerjan> ah
21:13:28 <ehird> ((unlike wordpress) ← you won't get this)
21:13:29 <ehird> oerjan: ah
21:13:35 <ehird> oerjan: well hrmph
21:13:55 <AnMaster> ehird, I mean as in the normal form of code poetry. Something that is both an English poem and a computer program
21:13:56 <AnMaster> ...
21:13:56 <ehird> oerjan: J is the predecessor to call/cc, ISWIM inspired all Miranda-family languages
21:14:01 <oerjan> ehird: however there may be ways to get around it with looping and cooperation
21:14:19 <ehird> oerjan: and The Next 700 Programming Languages was a hugely influential escape from the FORTRAN monopoly
21:14:21 <ehird> so, yeh
21:14:34 <oerjan> basically if you have warriors cooperating by both looping on the other, the list strategy fails
21:14:38 <AnMaster> <ehird> ((unlike wordpress) ← you won't get this) <-- was that directed to me? If so I know wordpress is awful.
21:14:50 <ehird> AnMaster: it was directed to anyone; and you didn't get it
21:15:10 <AnMaster> anyone? everyone?
21:15:11 <ehird> the wp site has always had "CODE IS POETRY" as a footer
21:15:15 <ehird> AnMaster: both
21:15:42 <AnMaster> ehird, ah I didn't remember that footer. I meant that the wordpress software in general is a piece of shit.
21:15:51 <ehird> AnMaster: you're so observant
21:15:59 <ehird> what would we ever do without you pointing things out? :)
21:18:33 <pikhq> AnMaster: They exist in Perl.
21:18:34 <pikhq> ;)
21:18:47 <AnMaster> pikhq, which ones?
21:19:23 <AnMaster> wordpress footers? anyone? everyone? code poetry?
21:19:39 <AnMaster> pikhq, or what do you mean
21:20:03 <ehird> pikhq: bwahaha, you confusor!
21:20:33 <AnMaster> <ehird> what would we ever do without you pointing things out? :) <-- you would have to use C++ references instead. Which would be horrible.
21:20:49 <oerjan> AYEEH
21:20:52 <ehird> AnMaster: that joke was funny 0.5 times btw
21:20:54 -!- tombom_ has joined.
21:22:26 <fizzie> Huginized together another panoramey picture out of the Circus Maximus grasslands from the Rome trip. That thing is really pretty good at seam-removal, at least when I scale the output to more sensible size (7914x1939 -> 4898x850) there's not very much brokenness: http://zem.fi/~fis/panorama-1.jpg
21:22:27 <pikhq> ALL OF THE ABOVE!
21:22:38 <AnMaster> pikhq, ..
21:22:40 <pikhq> (and more!)
21:23:25 <AnMaster> fizzie, I assume you used a tripod?
21:23:40 <ehird> AnMaster: er, what kind of question is that
21:23:53 <fizzie> AnMaster: No, just random off-hand snapping; 13 source pictures.
21:24:03 <AnMaster> fizzie, wow, really?
21:24:19 <ehird> fizzie: pretty photo
21:24:42 <fizzie> Yes, really. mooz has a really funky tripod attachment for "real" panorama photographery, something like that would sure make the software's job easier.
21:24:54 <AnMaster> fizzie, how many degrees does it cover?
21:25:11 <AnMaster> that panorama
21:25:29 <ehird> with a 360 deg panorama you can do 3d right?
21:25:39 <fizzie> I think the program's guess was 157, but I'm not really sure how it arrived at that number. It should make some sort of sense, since it knows about the lens and therefore the fov of a single image.
21:25:55 <AnMaster> ehird, Hm Does apple still have "quicktime vr"? I remember it from OS 9 and such
21:25:59 <AnMaster> some thing for panorams
21:26:00 <ehird> AnMaster: yes
21:26:02 <AnMaster> eh
21:26:03 <AnMaster> ahÄ
21:26:03 <ehird> AnMaster: well not for panoramas
21:26:04 <AnMaster> *
21:26:07 <ehird> just 3d object stuff
21:26:13 <ehird> like, the ipod site used it i think
21:26:15 <AnMaster> ehird, panorams and 3d objects. iirc it did both
21:26:16 <ehird> so you could rotate it and shit
21:26:52 -!- tombom has quit (Nick collision from services.).
21:26:53 -!- tombom_ has changed nick to tombom.
21:26:53 <AnMaster> fizzie, I think that any tripod capable of keeping the camera roughly level would be an improvement over free-hand
21:27:00 <AnMaster> though it seems it managed well anyway
21:27:09 <ehird> hahahahahahaa
21:27:12 <ehird> astalavista got hacked
21:27:18 <ehird> Oh the irony
21:27:54 <fizzie> Well, I had to crop quite a bit since the direction was a bit wonky; the program itself twiddles with the orientation, and there's a after-preliminary-stitching thing where you can correct a swiggly horizon.
21:28:21 <tombom> i read that as "altavista" and was shocked it still existed
21:28:28 <ais523> it does still exist
21:28:39 <ais523> but they tried to copy Google, rather than sticking with their own strenghts
21:28:42 <ais523> *strengths
21:28:47 <tombom> insane
21:28:51 <tombom> what strengths
21:28:51 <ais523> so it's useless nowadays, Google is better at being Google than they are
21:28:59 <ehird> they had no strengths
21:29:02 <AnMaster> fizzie, hm. a further improvement would a "vattenpass" (what ever that is in English. One of those things filled with water and an air bubble that you use to figure out if something is level)
21:29:06 <ehird> they were just better than google for a while
21:29:08 <tombom> yeah that was what i thought
21:29:14 <ehird> btw altavista are mainly known for babelfish although now yahoo acquired that
21:29:16 <AnMaster> mounted on the camera mounting of the tripod
21:29:22 <AnMaster> I have seen that
21:29:23 <ehird> also google translate it better
21:29:25 <ehird> *is
21:30:34 <AnMaster> ehird, link to this news about it being hacked
21:30:41 <AnMaster> I have no idea what the website should look like
21:30:48 <ehird> AnMaster: ehm it's just a cracker site
21:30:56 <ehird> serials, warez, general reverse engineering
21:31:00 <ehird> but http://news.ycombinator.com/item?id=642671; via reddit
21:31:05 <ehird> by some antisec guys it seems
21:31:17 <ehird> (anti security industry guys; they hate open exploit info and shit — stark raving mad)
21:32:08 <AnMaster> hm their website is in german?
21:32:27 <ehird> its not .com
21:32:39 <AnMaster> hm?
21:32:42 <ehird> hm wajit
21:32:44 <AnMaster> I'm using the .com one
21:32:55 <ehird> ok, it is astalavista.com
21:33:01 <ehird> but hm
21:33:03 <ehird> ah
21:33:10 <ehird> AnMaster: astalavista.com has been redirected to a different astalavista
21:33:13 <ehird> post-hack, it seems
21:33:17 <AnMaster> ehird, hm?
21:33:21 <AnMaster> that sounds odd
21:33:23 <ehird> dude, are you listening to me?
21:33:32 <AnMaster> so the hackers did it?
21:33:35 <AnMaster> or?
21:33:36 <ehird> I DON'T KNOW
21:33:39 <ehird> I'M NOT PSYCHIC GODDAMMIT
21:33:39 <AnMaster> k
21:33:55 <AnMaster> ehird, you read reddit. Isn't that basically the same thing?
21:34:00 <oerjan> just psycho
21:34:01 <ehird> >_
21:34:02 <ehird> >_<
21:34:09 <AnMaster> oerjan, that was an even better reply!
21:34:28 <oerjan> i used my psycho powers
21:34:46 <ehird> AnMaster: ah
21:34:51 <ehird> astalavista.com != astalavista.box.sk
21:34:54 <ehird> the latter is the warez site
21:35:01 <ehird> the former stole their name (ok, so the name is stolen already, but...)
21:35:02 <ehird> to cash in
21:35:06 <AnMaster> ehird, so none was hacked?
21:35:13 <ehird> ..............
21:35:15 <ehird> where did i say that
21:35:19 <AnMaster> just someone confused about domain name?
21:35:27 <ehird> ...................
21:35:28 <ehird> no
21:35:37 <oerjan> the plot thickens
21:35:44 <AnMaster> ok. So someone who wasn't the warez group got hacked?
21:35:50 <ehird> sfksdfjsdfdsf
21:35:52 <ehird> read for yourself
21:36:04 <AnMaster> ehird, 1) did the .com or .sk get hacked
21:36:19 <ehird> la la la i've given you a link use it i am not your web browser
21:36:26 <AnMaster> ehird, I looked at that link
21:36:30 <ehird> look again, then
21:36:33 <AnMaster> AND I'M STILL CONFUSED
21:36:56 <ehird> OH NO
21:36:58 <oerjan> ehird: the link hacked his brain
21:37:08 <ehird> oerjan: i see no change
21:37:25 <oerjan> oh true
21:37:52 <oerjan> ehird: his brain's antivirus system refuses to let it ingest the site
21:37:55 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
21:38:08 <ehird> oerjan: norton, I take it
21:39:02 <oerjan> when the evil AI singularity happens, AnMaster will be immune to its mind-alteration. he'll still be confused, though.
21:39:28 <AnMaster> oerjan, I read the link and it isn't clear to me if the .com one got hacked or the .sk one did
21:39:31 <ehird> oerjan: sweet, that means he'll stay mortal
21:39:34 <AnMaster> and if it was the .com one, what is it then
21:39:40 <ehird> if we're evil we could even off him!
21:39:42 <ehird> AnMaster: READ THE COMMENTS
21:39:43 <oerjan> ehird: _evil_ AI, i said
21:39:43 <AnMaster> since clearly it means .sk is the warez one
21:39:44 <ehird> THEY EXPLAIN IT
21:39:50 <ehird> oerjan: 21:39 ehird: if we're evil we could even off him!
21:39:56 <AnMaster> ehird, I read about 2/3rd of them
21:39:59 <ehird> AnMaster: no, .com is an exploit site too
21:40:02 <ehird> and evidently you didn't
21:40:13 <ehird> try reading slowly, it might enter your brain
21:40:14 <oerjan> ehird: it won't be us any more. our brains will have been absorbed and reprogrammed.
21:40:23 <ehird> oerjan: that's ok, i can deal with that compromise
21:41:14 -!- Slereah has joined.
21:41:59 <oerjan> ehird: yeah it's when it decides octopi are more worthy and starts feeding our brains to them that we want to complain
21:42:36 <AnMaster> octopi? Is that really the correct plural of octopus?
21:42:44 <oerjan> hm no
21:42:50 <Slereah> Octopussy
21:42:54 <AnMaster> isn't it octopuses?
21:43:08 <Asztal> octopodes
21:43:24 <ehird> Slereah: kitty cat
21:43:25 <ehird> !
21:43:27 <Slereah> Octocat
21:45:11 <oerjan> "There are three forms of the plural of octopus; namely, octopuses, octopi, and octopodes. Currently, octopuses is the most common form in the US as well as the UK; octopodes is rare, and octopi is often objectionable."
21:46:47 <ehird> LOL, astalavista stored user passwords in plain text
21:46:54 <ehird> amazing
21:47:43 <ehird> sh-3.2# cat .bash_history
21:47:43 <ehird> /usr/bin/mysqladmin -u root password PoliuJhytg67
21:47:47 <ehird> just keeps getting better and better
21:48:00 <oerjan> a ... cracker ... site ... stores user passwords in plain text????
21:48:10 <ehird> oerjan: they're posers
21:48:17 <ehird> not the original astalavista
21:48:28 <oerjan> ic
21:48:29 <ehird> oerjan: also they charge $6.66 (edgy) a month for that forum
21:48:38 <ehird> devil dollars to have your password in plaintext ahahaha
21:48:54 <oerjan> well it _is_ rather evil....
21:49:10 <ehird> dayum, the thing after mysql> select iss_description from eventum_issue where iss_id = 43; is sick
21:49:14 <ehird> moneygrabbing bitches
21:49:29 <ehird> | Website guidance | Virtual Girl which guides you trought the website.
21:49:30 <ehird> ahahahah
21:49:47 <ehird> [list of backups on their external server]
21:49:48 <ehird> ftp> mdelete *
21:50:03 <ehird> this guy's vicious
21:50:12 <ehird> sh-3.2# rm -rf /home/*
21:50:14 <ehird> owwch
21:50:19 <ehird> omg
21:50:24 <AnMaster> ehird,
21:50:27 <AnMaster> "| system | 0defe9e458e745625fffbc215d7801c5 | info@comvation.com |"
21:50:28 <AnMaster> from there
21:50:30 <ehird> mysql> drop database astanet_membersystem;
21:50:34 <ehird> (repeat for every db in the system)
21:50:36 <AnMaster> that seems like encrypted password?
21:50:40 <ehird> AnMaster: read on
21:50:43 <AnMaster> ah
21:50:49 <ehird> it's their forum site that does it plaintext
21:51:00 <ehird> that was fun to read
21:51:09 <ehird> poke around, oh shit they're so stupid, boom, all gone
21:51:29 <ehird> good riddance :)
21:52:08 <ehird> "supposed to not be a litespeed vuln its actually an ntp daemon vuln just changed the name to confuse people."
21:52:09 <ehird> :-D
21:53:42 -!- M0ny has quit ("Read error: 182 (Connection reset by beer)").
21:56:23 <AnMaster> ehird, ah yes that ntp issue recently... ? Mhm
21:56:31 <AnMaster> ehird, where is that quote from btw
21:56:37 <ehird> news.yc
22:00:47 -!- jix has quit ("Lost terminal").
22:02:36 <ehird> "6 monitor setup = 4960 x 2800"
22:02:38 <ehird> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
22:02:44 <ehird> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfkhdkjfhsgkjhgkdsfgsfdghdsfghsfgdsfg
22:02:47 <ehird> Want.
22:03:03 * ehird splutter.
22:03:17 <AnMaster> ehird, link?
22:03:22 <ehird> (same person with the Zalman TNN 500AF totally passive heatpipe computer)
22:03:29 <ehird> AnMaster: w/ comp: http://silentpcreview.com/forums/viewtopic.php?p=467672&highlight=#467672
22:03:31 <ehird> er
22:03:33 <ehird> AnMaster: w/ comp: http://silentpcreview.com/forums/viewtopic.php?p=467672&highlight=
22:03:38 <ehird> thread for displays: http://silentpcreview.com/forums/viewtopic.php?t=54003
22:04:09 <ehird> the problem with xinerama-type setups
22:04:12 <ehird> is the fucking black lines
22:04:23 <ehird> cut off edges of some monitors and place them over the lines on the other one
22:04:25 <ehird> that could help
22:04:35 <ehird> but I could never use xinerama as-is
22:04:41 <ehird> even so— want.
22:05:51 * ehird uses mathematica to search for exactly-96dpi display sizes ^_^
22:06:09 <Slereah> neeeeeeerd
22:06:51 <ehird> Slereah: :)
22:07:07 <AnMaster> ehird, hm?
22:07:07 <ehird> ais523: how can I assign a variable in a mathematica function
22:07:08 <ehird> ?
22:07:16 <ehird> foo[bar_] := x=bar;x;
22:07:17 <ehird> for instance
22:07:22 <ehird> AnMaster: hm what
22:07:28 <ais523> ehird: I suspect it's possible, but I never managed how
22:07:37 <ais523> you could use reap/sow and do the assignments at the end, I suppose
22:07:38 <ehird> ais523: so uh, is there anything like "let"?
22:07:45 <AnMaster> ehird, how do you mean black lines?
22:07:52 <AnMaster> the monitor frames?
22:07:52 <ehird> ais523: reap/sow?
22:07:54 <ehird> AnMaster: yes
22:07:59 <ehird> AnMaster: completely ruins the experience
22:08:09 <AnMaster> ehird, depends on how you use them
22:08:14 <ehird> AnMaster: xinerama-style
22:08:18 <AnMaster> ehird, and O
22:08:21 <ehird> multiple-root-windows is fine
22:08:23 <ehird> also, O?
22:08:24 <AnMaster> I'm* not 100% sure what you mean
22:08:28 <ehird> AnMaster: erm
22:08:30 <AnMaster> I and O are next to each other
22:08:31 <ehird> look at the pictures i linked to
22:08:39 <ehird> black bars
22:08:42 <ehird> monitor frames
22:08:42 <AnMaster> ehird, yes, displaying one picture across isn't nice
22:08:44 <ehird> terribly ugly
22:08:49 <ehird> AnMaster: that's what xinerama is for...
22:08:55 <AnMaster> but what I mean is, you can use one root window and then place one window on each or such
22:09:04 <AnMaster> that is what I have done
22:09:09 <AnMaster> when I used two monitors
22:09:09 <ehird> AnMaster: that's not xinerama
22:09:14 <ehird> well
22:09:16 <ehird> yes it is
22:09:18 <AnMaster> ehird, correct. It was "nvidia TwinView"
22:09:21 <ehird> but it's = to using separate root windows
22:09:23 <AnMaster> which ends up as the same thing
22:09:26 <ehird> i was complaining about xinerama
22:09:27 <fizzie> Xinerama is also for sensible window-migration.
22:09:30 <ehird> overlapping stuff
22:09:31 <ehird> fizzie: well yes
22:09:34 <AnMaster> fizzie, indeed
22:09:34 <ehird> still
22:09:44 <AnMaster> how would you move the mouse between multiple root windows
22:09:45 <AnMaster> at all
22:09:49 <ehird> if i could take one side off one of the monitors and overlap it with one of the others' borders
22:09:50 <ehird> that'd be great
22:09:51 <AnMaster> or move windows between them
22:09:57 <ehird> AnMaster: err, you can do it
22:09:59 <ehird> hotkey or sth
22:10:04 <AnMaster> ehird, that seems irritating
22:10:18 <AnMaster> much easier if you can just drag things between the monitors
22:10:20 <ehird> AnMaster: use your wm to add an action to swoop-to-side
22:10:24 <ehird> to switch windows
22:10:30 <AnMaster> ehird, was using KDE at that point
22:10:34 <ehird> so?
22:10:43 <ehird> ais523: reap/sow?
22:10:44 <AnMaster> ehird, and as I said, nvidia twin-view setup
22:12:12 <ais523> ehird: sort of like throwing exceptions
22:12:17 <ehird> ais523: o_O
22:12:19 <ais523> except the program continues on afterwards
22:12:24 <ais523> so you just throw data
22:12:29 <ais523> and pick it up later when control flow reaches the reap
22:12:50 <AnMaster> ais523, is this intercal?
22:12:59 <ais523> AnMaster: no, Mathematica
22:13:07 <ais523> you don't know how insulted Wolfram would be if he heard that comparison
22:13:07 <AnMaster> I mean, sow/reap for throw/catch... very intercal-ish
22:13:22 <AnMaster> ais523, I wouldn't care.
22:15:42 <ehird> you're so EDGY, AnMaster.
22:15:58 <ehird> News flash! The exact 96dpi size for a 1920x1200 monitor is 23.585"
22:16:01 <AnMaster> hm. It is odd. But when I look at "consumer" headphones there seems to be no information about frequency range, ambient noise reduction and so on...
22:16:04 <oerjan> ehird the edge detector
22:16:08 <ehird> (Or -23.585" says Mathematica)
22:16:15 <ehird> (If you're into that sort of negative space stuff)
22:16:22 <ehird> AnMaster: erm, guess way
22:16:24 <ehird> *why
22:16:29 <ehird> Because consumers don't give a shit about that stuff.
22:16:34 <AnMaster> ehird, because the values would be sucky?
22:16:45 <ehird> Maybe. But because consumers don't give a shit about that stuff.
22:17:09 <AnMaster> ehird, they don't care if the sound quality is good?
22:17:17 <ehird> You're a riot, AnMaster
22:17:19 <ehird> A riot.
22:17:40 <AnMaster> ehird, or they don't care about the exact numbers saying how good it is? Like noise level and such
22:17:46 <ehird> Mainly that.
22:17:50 <ehird> But the values probably suck too.
22:17:57 <ehird> AnMaster: Most people can't distinguish good/bad audio.
22:18:00 <AnMaster> ehird, possibly due to not knowing what the values would mean?
22:18:05 <ehird> So price & comfort is the priority.
22:18:10 <tetha> how many consumers actually know what a frequency range is, and how many do know that a *good* frequency range is? :)
22:18:12 <ais523> AnMaster: just due to not hearing it
22:18:12 <ehird> And, also, that.
22:18:29 <AnMaster> ehird, surely most people can distinguish good and bad audio. But probably not good/better.
22:18:42 <ehird> It occurs to me that AnMaster will be among the crowd claiming that he can distinguish a 128kbps MP3 from the original source (using the latest LAME release)
22:18:53 <ehird> (aka the crowd of 99% liars)
22:19:02 <ehird> (or rather, not liars; just self-deceptionists)
22:19:04 <AnMaster> <ehird> It occurs to me that AnMaster will be among the crowd claiming that he can distinguish a 128kbps MP3 from the original source (using the latest LAME release) <-- no probably not
22:19:09 <ehird> AnMaster: Okay, then I was wrong.
22:19:10 <AnMaster> but I do know some who can.
22:19:14 <ehird> No you don't.
22:19:20 <AnMaster> I actually did a blind test.
22:19:25 <ehird> Unless you know very, very odd people.
22:19:26 <ehird> AnMaster: Blind tests are not enough.
22:19:29 <ehird> Was it a double-blind ABX test?
22:19:38 <ehird> That's the only acceptable test
22:19:41 <ehird> for audio purposes
22:20:17 <AnMaster> ehird, yes it was.
22:20:21 <tetha> most music I listen to doesnt even have enough tiny little tone differences for quality to matter that much, heh
22:20:25 <ehird> AnMaster: Was it _specifically_ ABX?
22:20:29 <AnMaster> ehird, oh and he works as a musician
22:20:50 <AnMaster> ehird, I don't know what you imply with that "_specifically_" there.
22:20:58 <ehird> http://wiki.hydrogenaudio.org/index.php?title=ABX
22:21:59 <AnMaster> I know what ABX is.. But I don't know what you mean with "_specifically_" there
22:22:11 <ehird> AnMaster: Was it an ABX double-blind test or some other sort.
22:22:28 <ehird> Also, what version of LAME was used? What command-line options?
22:22:28 <AnMaster> double-blind.
22:22:32 <ehird> What equipment was used?
22:22:36 <ehird> AnMaster: was it ABX double blind
22:22:38 <ehird> or another double blind
22:22:53 <AnMaster> ehird, as for command line options and version I don't remember, it was about a year ago with last release at that point.
22:23:08 <ehird> Welp, delightfully unscientific results there. Filed under unreliable.
22:23:27 <AnMaster> ehird, and yes it was ABX double blind I said. 5 times or so by now I think?
22:23:34 * ehird grumbles that all 23.5" monitors are 1920x1080 instead of 1920x1200
22:23:39 <ehird> AnMaster: You said "double blind".
22:23:42 <ehird> Not "ABX".
22:24:03 <AnMaster> <AnMaster> ehird, yes it was.
22:24:04 <AnMaster> sure I did
22:24:13 <ehird> Yes, I was confirming.
22:24:42 <ehird> By the way, if anyone cares:
22:24:47 <ehird> dpi[w_, h_, diag_] := w/Sqrt[(diag^2)/(1 + ((h/w)^2))]
22:24:47 <ehird> N[Solve[dpi[1920, 1200, h] == 96, h]]
22:25:56 <tetha> I like how h denotes the diagonal in the second line :)
22:26:09 <ehird> tetha: ups
22:26:12 <ehird> s/h/d/ :-)
22:26:36 <tetha> :)
22:27:48 <AnMaster> ehird, anyway I *can* hear the difference between high quality headphones and mid-range consumer ones. Probably not between high end consumer ones and professional ones. But I'd still go for the pro ones because they tend to last longer.
22:27:53 <AnMaster> break less easily.
22:28:08 <ehird> hmm it's 23.58
22:28:14 <ehird> so I guess 23.6 is the ideal diag
22:28:24 <AnMaster> ehird, why not .58?
22:28:27 <ehird> AnMaster: most people won't spend £100+ on headphones
22:28:33 <ehird> also, because monitor makers chop off after one digit.
22:28:38 <AnMaster> ehird, I have no idea how much that is in SEK
22:28:46 <ehird> 1244
22:28:48 <ehird> use google
22:28:52 <ehird> http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=2010190020%201309846872&name=23.6%22
22:28:55 <ehird> all 1080p
22:28:56 * ehird stab.
22:29:03 <ehird> well i say all, I mean "both"
22:29:04 <tetha> even though expensive headphones are worth it
22:29:12 <ehird> tetha: for some.
22:29:30 <ehird> SAMSUNG 2343BWX High Glossy Black 23" 5ms 16:9 Widescreen LCD Monitor - Retail
22:29:30 <ehird> Maximum Resolution: 2048 x 1152
22:29:31 <ehird> Recommended Resolution: 2048 x 1152
22:29:33 * ehird gawps
22:29:41 <AnMaster> ehird, but I had consumer high end headphones that broke after a few years, and were constructed so it was impossible to repair basically. After that I got pro ones that were about 500 SEK more expensive. Same audio quality, but much more rugged, and easy to repair.
22:29:46 <ehird> that's 102dpi, nice.
22:29:56 <AnMaster> ehird, result: I will not have to spend as much as often, thus in the long run a lower cost
22:30:27 <AnMaster> higher initial investment yes, but in the long run, say 5-10 years, a lower total cost for headphones
22:31:02 <ehird> yeah uh, consumers don't care.
22:31:15 <ehird> they have N money atm, they want some headphones, so they'll buy headphones whose cost is <N
22:31:17 <ehird> simple
22:31:41 <tetha> usually even whose cost is minimal, well, because ... the current cost is minimal
22:31:43 <GregorR> Lesse ...
22:31:46 <GregorR> I have $10,000
22:31:48 <AnMaster> ehird, ok I happened to have a large enough N due to being careful with money in general. Buying stuff that lasts
22:31:48 <pikhq> Most consumers see the initial cost, not long-term cost.
22:31:49 <GregorR> And I want some headphones.
22:31:55 <GregorR> So I need some headphones with cost <$10,000
22:31:58 <ehird> GregorR: given reasonable definition of with
22:32:00 <GregorR> Looks like I'll be buying Bose.
22:32:01 <ehird> er, have
22:32:15 <ehird> AnMaster: list your sources of income
22:32:18 <AnMaster> My desk is from the 30s, bought for ~400 SEK, then spent maybe ~300 SEK to renovate it
22:32:19 <pikhq> So, they prefer to get the cheapest headphones possible, even if they end up purchasing them every month.
22:32:37 <AnMaster> (this was over 10 years ago, so don't remember exact consts, since my parents paid it)
22:32:43 <ehird> 22:32 AnMaster: (this was over 10 years ago, so don't remember exact consts, since my parents paid it)
22:32:45 <ehird> DING!
22:32:50 <AnMaster> ehird, for the desk yes
22:32:54 <AnMaster> as I mentioned
22:32:57 <ehird> Seemingly Endless Supply Of Money detected.
22:33:03 <AnMaster> ehird, but I have been doing the same myself more recently
22:33:06 <ehird> You are disqualified. :)
22:33:12 <AnMaster> read on
22:33:12 <AnMaster> duh
22:34:13 <AnMaster> ehird, that desk I got when I was about 8 years old or so. It has lasted ever since. And before it lasted for years too
22:34:21 <AnMaster> Plus 400 for a desk is cheap
22:34:23 <AnMaster> even if it is new
22:34:26 <ehird> i'd hate a 30s desk
22:34:31 <GregorR> !google 400 sek in usd
22:34:31 <EgoBot> http://google.com/search?q=400+sek+in+usd
22:34:40 <ehird> since it will inevitably have a cluttered, arcane design
22:34:50 <AnMaster> GregorR, too lazy to type it in browser, so you have to click?
22:35:00 <GregorR> Must not have Wal-Mart in Sweden :P
22:35:03 <GregorR> AnMaster: Pretty much.
22:35:10 <ehird> GregorR: AnMaster's far too high-class for that.
22:35:18 <AnMaster> ehird, Hm. Simple design, You could describe it in a few geometric forms.
22:35:27 <AnMaster> <GregorR> Must not have Wal-Mart in Sweden :P <-- indeed there is no Wal-Mart here
22:35:36 <ehird> AnMaster: is it made out of olde-looking wood?
22:35:38 <GregorR> How about IKEA? X-P
22:35:54 <AnMaster> ehird, you mean a drak wood type?
22:35:58 <AnMaster> ehird, no, brich I think
22:36:07 <AnMaster> but I'm not good at the English names for it
22:36:12 <ehird> AnMaster: i mean anything that isn't painted with some colour that doesn't look exactly like wood
22:36:14 <GregorR> AnMaster has a sticky 'r' finger.
22:36:17 <ehird> :)
22:36:33 <AnMaster> ehird, it is wood look. As in just some glossy transparent thing on to make it last
22:36:36 <AnMaster> no coloured paint
22:36:43 <AnMaster> not sure what you call "fernissa" in English
22:36:43 <ehird> AnMaster: distracting :)
22:36:48 <AnMaster> ehird, oh?
22:37:02 <ehird> yes, though it has to be said I have a tendency to be distractec.
22:37:05 <ehird> *distracted
22:37:26 <AnMaster> ehird, so do I. Which is why I have a single coloured desktop bg
22:37:36 <GregorR> AnMaster: I assume you're talking about varnish. Sounds like a cognate.
22:37:39 <AnMaster> and a non-nonsense KDE theme
22:37:46 <AnMaster> GregorR, that sounds right
22:37:51 <AnMaster> "cognate"?
22:37:55 <AnMaster> no idea about that though
22:38:01 <AnMaster> varnish I heard before I remember now
22:38:15 <GregorR> Ooooh, "distractec". That would be a great terrible name for a software/technology company.
22:38:48 <tetha> such a company should produce useless gadgets
22:38:50 <GregorR> AnMaster: "Cognate" is a word for words which are nearly the same in two languages due to both words being derived from the same root language.
22:39:22 <AnMaster> GregorR, hm. varnish != fernissa. In any way whatsoever.
22:39:34 <GregorR> Are you kidding me? It's practically identical.
22:39:36 <AnMaster> Assuming varnish is pronounced similar to how it is spelled
22:39:57 <GregorR> Change a voiced consonant for an unvoiced one, swap a vowel and you're done.
22:40:01 <AnMaster> GregorR, depends on if you use English of Swedish rules for pronouncing
22:40:46 <AnMaster> GregorR, and even spelling-wise they are more different than that
22:41:06 <ehird> anyone have a pixel pitch to dpi thang/
22:41:09 <GregorR> Spelling is the /worst/ way to measure cognates.
22:41:10 <AnMaster> but "fernissa" sounds like it come from German
22:41:23 <GregorR> AnMaster: How is "fernissa" pronounced?
22:41:29 <AnMaster> GregorR, don't have a mic.
22:41:47 <GregorR> AnMaster: Rough description in IPA or English-like?
22:41:54 <AnMaster> wikipedia says it comes from French not German.. Hm
22:41:55 <GregorR> (Well, IPA would be an exact description :P )
22:42:09 <AnMaster> GregorR, I don't know IPA.
22:42:39 * GregorR just looks up Swedish on Wikipedia to get pronunciation info X-P
22:42:55 <GregorR> (I assume Swedish is substantially more phonetic than English)
22:43:04 <AnMaster> GregorR, huh?
22:43:14 <AnMaster> "phonetic"?
22:43:20 <AnMaster> is that "sounds like spelled"?
22:43:21 <AnMaster> then no
22:43:51 <AnMaster> well. to a certain degree. But not at all like you would expect in English
22:44:05 <AnMaster> and there are plenty of exceptions
22:44:34 <GregorR> No, it means something more like "the mapping from spelling to pronunciation is consistent and well defined"
22:44:56 <AnMaster> GregorR, not really. Example: hade is pronounced like "hadde" But spelled "hade".
22:44:59 <oerjan> "1341, from O.Fr. vernis "varnish" (12c.), from M.L. vernix "odorous resin," perhaps from Late Gk. verenike, from Gk. Berenike, name of an ancient city in Libya (modern Bengasi) credited with the first use of varnishes."
22:45:01 <AnMaster> and there are lots more like that
22:45:11 <AnMaster> oerjan, so it comes from that then
22:45:23 <AnMaster> but really it sounds nothing like the English "varnish"
22:45:23 <oerjan> that's varnish
22:45:35 <GregorR> Oh of course it does, you're splitting hairs X_X
22:45:42 <oerjan> i haven't looked up fernissa yet
22:45:47 <AnMaster> GregorR, I'm what?
22:45:47 <ehird> fernissa is exactly like varnish
22:45:51 <ehird> unless you're on crack
22:45:51 <oerjan> (ferniss in norwegian)
22:46:03 <oerjan> ehird: there do exist false cognates too
22:46:04 <AnMaster> isn't the "a" in "varnish" long?
22:46:11 <ehird> oerjan: i know
22:46:18 <AnMaster> oerjan, ah yes, like "karrot" and "carrot" you mean?
22:46:20 <AnMaster> :)
22:46:37 <oerjan> AnMaster: you seem not to understand phonetic change...
22:46:37 <AnMaster> (no karrot is not the same as carrot at all...)
22:46:44 <AnMaster> oerjan, probably not
22:46:46 <GregorR> AnMaster: It's like the 'a' in 'farming', oh mighty hair-splitter.
22:47:08 <AnMaster> GregorR, the only common bit seems to be "nis"
22:47:11 <AnMaster> in it
22:47:38 <AnMaster> GregorR, yeah long
22:47:52 <AnMaster> GregorR, and what the hell is a "hair splitter"
22:48:21 -!- Slereah_ has joined.
22:48:56 <oerjan> AnMaster: for one thing, cognates don't need to be similar at all, they just need to be inherited from the same word in an ancestor language
22:49:27 <oerjan> some can be completely obscured by phonetic changes that you need careful linguistics to recognize
22:49:36 <AnMaster> oerjan, so what are "false cognates"?
22:49:42 <oerjan> also, cognate /= borrowing
22:49:51 <pikhq> Words that sound like they are cognate, but aren't.
22:49:56 <AnMaster> oerjan, /= Divided by?
22:50:01 <AnMaster> is this the C /=
22:50:07 <AnMaster> if so it doesn't make sense
22:50:11 <GregorR> 'f' and 'v' vary only in voice, then there's a vowel, then the sounds 'r', 'n' and probably a similar 'i' but certainly a vowel, then a voiceless fricative that may be alveolar or postalveolar. Swedish then has another vowel which English doesn't. Why look, they vary in only tiny ways.
22:50:13 <AnMaster> and I don't know any other meaning of /=
22:50:15 <oerjan> well for example the latin "habere" means the same thing as english "have", but they are _not_ cognates
22:50:22 <tetha> AnMaster: unequal (haskell)
22:50:26 <AnMaster> oerjan, oh?
22:50:39 <AnMaster> tetha, ah =/= (Erlang) or != (C)
22:50:45 <AnMaster> right
22:50:54 <ehird> /= is just ascii mathematics
22:51:09 <GregorR> Or C division-and-assignment X-P
22:51:13 <oerjan> because english "h" and latin "h" do not come from the same sounds in indo-european
22:51:21 <ehird> GregorR: AnMaster thought it really was that...
22:51:24 -!- tombom has quit ("Peace and Protection 4.22.2").
22:51:27 <ehird> 22:49 AnMaster: oerjan, /= Divided by?
22:51:27 <ehird> 22:50 AnMaster: is this the C /=
22:51:29 <ehird> 22:50 AnMaster: if so it doesn't make sense
22:51:30 <AnMaster> ehird, there is an unicode symbol for it
22:51:35 <oerjan> english/germanic "h" frequently corresponds to latin "c", though
22:51:35 <AnMaster> so why not use it
22:51:38 <ehird> AnMaster: fuck that
22:51:39 <ehird> more work
22:51:41 <ehird> who cares
22:51:54 <oerjan> so latin "capere" may in fact be a cognate of "have"
22:51:55 <AnMaster> ehird, well, it would have reduced ambiguity
22:51:59 * oerjan should check that
22:52:01 <ehird> >_<
22:52:20 <tetha> I somehow have to think of some C++-proposal that argued to limit all variable names to a single character because we now have UTF and thus, we can use little symbols for everything
22:52:25 <AnMaster> oerjan, Is the Swedish "ha" related to the English "have"? I would assume so
22:52:25 <oerjan> "have
22:52:27 <oerjan> O.E. habban "to own, possess," from P.Gmc. *khaf- (cf. O.N. hafa, O.S. hebbjan, O.Fris. habba, Ger. haben, Goth. haban "to have"), from PIE *kap- "to grasp" (see capable). Not related to L. habere, despite similarity in form and sense; the L. cognate is capere "seize." "
22:52:36 <oerjan> AnMaster: yes, those are both from germanic
22:52:50 <AnMaster> oerjan, where is that from? Some online dict?
22:52:59 <AnMaster> I assume you didn't have time to type all that in
22:53:02 <oerjan> http://www.etymonline.com/index.php?search=have&searchmode=none
22:53:11 <AnMaster> hm
22:53:34 <Asztal> tetha: http://www.research.att.com/~bs/whitespace98.pdf? ♥
22:53:38 <AnMaster> oerjan, hm. English only /
22:53:49 <oerjan> while french "avoir" _is_ from the latin "habere"
22:54:09 <oerjan> since french is a romance language
22:54:19 <AnMaster> Asztal, ah that one. Remember reading it before
22:54:24 <tetha> Asztal: precisely
22:54:47 <AnMaster> Asztal, wasn't it some 1 April joke or such?
22:54:59 <ehird> no, AnMaster
22:55:03 <ehird> it was totally serious.
22:55:13 <ehird> your sense of humour sucks tbh, you can't even detect jokes from non-jokes
22:55:19 <ehird> everyone knows that paper was serious
22:55:27 <ehird> why wouldn't it be? I don't get it
22:55:51 <AnMaster> ...
22:56:38 <AnMaster> ehird, don't be daft
22:56:44 <ehird> huh?
22:56:53 <AnMaster> see the "overloading missing white-space" section.
22:56:59 <ehird> what about it
22:57:18 <AnMaster> even a C++ programmer couldn't be that mad
22:57:21 <tetha> theres an entire language about the semantics of whitespace
22:57:24 <tetha> so why not?
22:57:27 <ehird> AnMaster: you're stupid
22:57:27 <tetha> :)
22:57:32 <ehird> it makes perfect sense
22:57:36 <AnMaster> ehird, so when was it published
22:57:42 <ehird> 1998
22:57:50 <AnMaster> ehird, date
22:58:05 <ehird> april 1; are you so immature that everything on that date must be a joke?
22:58:12 <tetha> and also: once you looked enough into templates and boost, you will never ever think 'no c++-programmer is mad enough to do this' again
22:58:34 -!- inurinternet has quit (No route to host).
22:58:48 <AnMaster> ehird, get lost
22:58:58 <ehird> AnMaster: wtf is your problem
22:58:59 <AnMaster> tetha, I carefully avoided boost
22:59:06 <oerjan> AnMaster: http://runeberg.org/svetym/0222.html
22:59:25 <ehird> AnMaster: well?
22:59:29 -!- Slereah has quit (Success).
22:59:53 <AnMaster> ehird, I don't think this "anti-joke" you are trying is fun at all.
23:00:13 <oerjan> AnMaster: so they are the same originally, although not strictly cognates, since there is a lot of borrowing involved
23:00:15 <ehird> AnMaster: wow, you're really immature— how ironic. so hypocrite, is that how you dismiss people?
23:00:16 <AnMaster> oerjan, hm I wonder about "vernisage"?.. Hrrm...
23:01:02 <oerjan> http://runeberg.org/svetym/1200.html
23:01:55 <AnMaster> ehird, There is one major difference: When you aim a joke at one person, or a whole group. If you aim it at a group it is reasonable to take the "average humour" of that group (I don't know how to describe this concept in English really), when you aim it at a single person it might be reasonable to consider what that person thinks is fun.
23:02:02 <AnMaster> something I try to do
23:02:08 <AnMaster> of course you can't be perfect always
23:02:08 <ehird> AnMaster: erm do you want to translate that to english?
23:02:12 <ehird> i don't get what you're on about
23:02:19 <ehird> are you ranting?
23:02:24 <AnMaster> ehird, then forget it. I don't plan to waste time on you
23:02:33 <ehird> ...
23:02:36 * oerjan swats both AnMaster and ehird -----###
23:02:40 <ehird> ais523: could you tell me how I pissed AnMaster off?
23:02:41 <ehird> i don't get it
23:04:59 <oerjan> AnMaster: hm apparently cognates can include borrowings as well
23:09:07 -!- fungebob has quit ("ChatZilla 0.9.84 [Firefox 3.0.10/2009042316]").
23:18:14 <fizzie> Well, since I adddvertized the first one too: http://zem.fi/~fis/panorama-3.jpg (That's the "view" from the hotel room balcony.)
23:18:33 <ehird> adddddddddddddddddddddddddddddddddddddddddddddddvertized
23:18:38 <ehird> advertisized
23:22:27 -!- p5[sleep] has quit ("Leaving...").
23:26:22 <GregorR> My dictionary doesn't think that "advertized" is spelled with a 'z', even in American English :P
23:26:42 <ehird> it's adddvertized
23:26:44 <ehird> three Ds
23:27:01 <fizzie> There's more piZZaZZ if you zpell it with an ezzz.
23:27:35 <ehird> fizzie: XXXtreme.
23:33:04 <GregorR> This is stuuuuuuuuuuuuuuuuupid.
23:33:14 <GregorR> But then, sooooooooooo's your faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeces.
23:33:33 <ehird> butts
23:36:44 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
23:44:23 <GregorR> I'm looking for a good list of adjectives.
23:44:29 <GregorR> Every one I find doesn't have "ridiculous".
23:44:33 <GregorR> Which is ridiculous.
23:48:23 <oerjan> they don't have "gullible" either
23:49:01 <ehird> <AnMaster> oerjan: I just checked my full Oxford English Dictionary collection. Gullible is in there.
23:49:28 <oerjan> LOL
23:49:52 <ehird> <AnMaster> oerjan: So what do you mean?
23:49:52 <ais523> you know, some dictionary maker should actually remove "gullible"
23:50:07 <ais523> both to make the joke funnier, and because they wouldn't get in trouble because nobody would believe them
23:50:16 <ais523> well, nobody would believe it had happened
23:50:21 <ehird> ais523: I support
23:51:38 <ais523> heh, I was just looking at my updates
23:51:41 <ais523> one of them is fixing a bug in file
23:51:53 <ais523> apparently, it's confusing Erlang files with PostScript files created on Tuesdays
23:52:06 <oerjan> :D
23:52:17 <pikhq> ais523: That's impressive.
23:52:18 <ehird> ais523: hahaha
23:52:31 <ehird> ais523: paste the diff?
23:52:50 * ais523 looks for the diff
23:52:53 <ais523> (binary distro...)
23:53:15 <ais523> even better, here's the bug report: https://bugs.launchpad.net/ubuntu/+source/file/+bug/248619
23:53:52 <ais523> <Steve> This bug is causing printing using the brother cups drivers to fail on Tuesdays. I am attaching a sample PostScript file which file 4.21 misidentifies.
23:54:01 <ais523> brilliant
23:54:42 <pikhq> I especially love that it's Tuesday-only.
23:55:32 <ais523> just like a crash in NetHack that only happened during full moons
23:55:34 <ehird> ais523: compiled erlang file
23:55:42 <ais523> ehird: yes
23:55:43 <ehird> also, wasn't that in a rng?
23:55:46 <ehird> like that conditioned on full moons
23:55:52 <ais523> and it was in the code for prayer
23:55:59 <ais523> prayer's more successful by 1 during full moons in NetHack
23:56:04 <ehird> right
23:56:11 <ehird> it's not impressive if you explicitly branch on it
23:56:12 <ais523> and it was overflowing a switch statement
23:58:40 -!- BeholdMyGlory has quit (Remote closed the connection).
23:59:31 -!- Corun has joined.
←2009-06-04 2009-06-05 2009-06-06→ ↑2009 ↑all