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