00:00:05 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
00:00:24 <ais523> stupid time.gov missed the leap second
00:00:34 <ais523> I think it stayed on 23:59:59 for two seconds
00:00:39 <ehird> eklw;rlewjkljfksldffd
00:00:39 <ais523> I know, I was refreshing really quickly
00:00:45 <ais523> that site's clearly badly written
00:00:47 <ehird> ais523: it has a java applet.
00:00:51 <AnMaster> ais523, ntp.lth.se had 59 for 2 seconds
00:00:54 <ehird> also, it's the official site.
00:01:02 <ais523> ehird: but I don't have javascript on
00:01:11 <ehird> lern2differenciate
00:01:17 <ais523> I refreshed more than once a second for the relevant period, and it never said 23:59:60
00:01:20 <ais523> ehird: I know the difference
00:01:31 <ais523> but if I don't even turn JS on, what's the chance I run Java?
00:01:58 <ehird> gah, I had all the computery time-keeping devices all loadde
00:02:01 <ehird> and I bloody missed it.
00:02:56 <AnMaster> ehird, look there will be another leap second in a few years
00:03:03 -!- oerjan has set topic: Logs: http://tunes.org/~nef/esoteric/ | WE SURVIVED THE LEAP SECOND AND ALL WE GOT WAS ... WAIT, WHERE IS MY T-SHIRT? | HAPPY NEW YEAR ICELAND.
00:03:06 <ehird> which I'll miss. again.
00:04:05 <Warrigal> Is there a leap second tonight?
00:04:42 <AnMaster> why didn't anyone say: "Happy leap second"
00:04:58 <Warrigal> I'll have to wait until... not many years from now.
00:04:59 <oerjan> <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
00:05:19 <oerjan> it was that bad. just be glad you missed it.
00:05:28 <ais523> AnMaster: because time.gov missed it
00:08:30 -!- Mony has joined.
00:21:12 -!- moozilla has joined.
00:29:18 <oerjan> beware of the mööse for they are böse
00:32:31 <Warrigal> oerjan, is that your final answer?
00:32:36 <Warrigal> You may want to consider "si" instead.
00:33:39 <fizzie> Despite the superficial similarity, I think it was established that moozilla and mooz are completely separate people.
00:33:50 <ehird> start using lowercase again
00:34:03 <ehird> atm you're one of two fizzies, one was in 2002/2003
00:34:09 <ehird> and this one is in now
00:34:13 <oerjan> fizzie: do they look similar except for glasses?
00:36:06 <fizzie> Happy new; although this time zone had it quite a while ago.
00:36:15 <fizzie> I don't think I'll go back to lowercase, though.
00:38:46 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
00:38:52 -!- moozilla has joined.
00:40:04 <AnMaster> /var/log/kern.log:Jan 1 00:59:59 tux [903182.515007] Clock: inserting leap second 23:59:60 UTC
00:40:32 <AnMaster> how did the kernel know how to do it?
00:40:37 <ais523> it inserted the leap second at 00:59:59 so it was there at 00:59:60
00:40:39 <AnMaster> does it contain a database or something
00:40:50 <ehird> just tried it locally
00:40:52 <AnMaster> ais523, oh? a special system call or?
00:40:52 <ehird> leap second just delays
00:41:00 <ehird> AnMaster: no, just ntp
00:41:04 <ais523> Jan 1 00:00:00 dell kernel: [ 9654.690507] Clock: inserting leap second 23:59:60 UTC
00:41:05 <ehird> it just delays the clock
00:41:09 <ais523> there's something wrong about the timing there...
00:41:12 <ehird> it doesn't actually hit 23:59:60
00:41:16 <ehird> it emulates the leap second
00:41:23 <ais523> yes, POSIX leap seconds are broken
00:41:24 <ehird> it actually repeats the second
00:41:29 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
00:41:34 -!- metazilla has joined.
00:41:42 <AnMaster> the message did not come from ntp, but from the kernel
00:41:46 <Warrigal> What Unix time were the leap second and its twin sister?
00:41:58 <ehird> AnMaster: the kernel would never do leap seconds if ntp didn't tell it to.
00:42:09 <ehird> as they're set arbitrarily by humans
00:42:18 <AnMaster> ehird, yes but what system call...
00:43:03 <ais523> there is a system call in there somewhere, almost certainly
00:43:03 <Warrigal> The twin sister is 00:00:00 on January 1, 2009. So 2009 - 1970 plus leap years, times 86400.
00:43:05 <AnMaster> %S Seconds [00,60]. The range goes to 60 (rather than stopping at 59) to allow positive leap seconds to be expressed. Since leap
00:43:06 <AnMaster> seconds cannot be predicted by any algorithm, leap second data must come from some external source.
00:43:16 <ehird> AnMaster: yes, but it's not actually used.
00:44:00 <ehird> http://cr.yp.to/proto/utctai.html
00:44:53 <AnMaster> that is text copied from posix standard
00:44:54 <ehird> yeah its localtime() that's fucked
00:45:20 <ais523> AnMaster: it's adjtimex(2)
00:45:26 <ais523> that deals with leap seconds
00:46:43 <ais523> yes, that puzzled me too
00:46:53 <ehird> i wonder how much yp.to costs djb
00:47:10 <ais523> I think it's one of the possible options for the "mode selector" option in the struct
00:47:25 <AnMaster> ais523, well the mode selector doesn't define such an option there
00:47:50 <AnMaster> ais523, that could be ntp doing "jump time" and it may do that for lots of other reasons
00:47:51 -!- GreaseMonkey has quit ("You only need one wheel. Bikers are just greedy.").
00:48:06 <AnMaster> which happens most of the time at boot
00:48:41 <AnMaster> and I don't get leap seconds then
00:49:17 <AnMaster> int status; /* clock command/status */
00:49:33 <AnMaster> can't find a description of it there
00:52:29 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
00:52:36 -!- moozilla has joined.
00:55:14 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
00:55:22 -!- moozilla has joined.
00:58:35 -!- atrapado has quit ("Abandonando").
01:05:13 <GregorR> Argh, I'm being defeated by plastic
01:06:45 <flexo> idsnrt ibepm zu b eutrjne
01:06:48 <flexo> ,..,,,,,,,,,,,,,
01:06:53 -!- oerjan has set topic: Logs: http://tunes.org/~nef/esoteric/ | WE SURVIVED THE LEAP SECOND AND ALL WE GOT WAS ... WAIT, WHERE IS MY T-SHIRT? | HAPPY NEW YEAR AZORES.
01:07:02 <ehird> flexo: you're drunk
01:07:04 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
01:07:17 <ehird> flexo: you might want to avoid irc :P
01:07:37 -!- moozilla has joined.
01:07:46 <flexo> this might be just noehtier
01:07:49 * oerjan doesn't have _that_ much trouble typing on irc when drunk. admittedly that's not often.
01:07:52 <ais523> hapy new years eve, flexo
01:07:59 <ehird> esoteric langwuaflege. :D
01:08:06 <ais523> which it probably is, at least to me
01:08:14 * ais523 is not drunk, just tired
01:08:53 <ehird> no, i assure you you are typing badly
01:09:24 <ehird> flexo: write an esoalng interpreter while drunk
01:09:27 <ehird> it will be amazing
01:09:40 <flexo> i'm jus t deayoing
01:09:41 <oerjan> it will cmolipe pfercetly
01:11:41 <ehird> i'm going to ping AnMaster now so I can laugh at him ranting against alcohol, twice the fun
01:11:45 <flexo> gotta eat some paracetamol
01:11:58 <flexo> a nd i stole some..d
01:12:05 <flexo> dont know the name
01:12:12 <flexo> christmas tree balls?
01:12:39 <ais523> ehird: why is it AnMaster you expect to rant against alcohol?
01:12:42 <ais523> why not me, for instance/
01:12:46 <ehird> ais523: because he always does
01:12:50 <ehird> whenever alcohol is mentioned
01:12:57 <ais523> ehird: well, I haven't drunk in years
01:13:05 <flexo> but i only got threee
01:13:14 <ehird> flexo: only three?! ;'(
01:13:14 <flexo> other balls were too risky
01:13:51 <flexo> i'm getting sobar eninga
01:14:15 <ehird> flexo: are yuo sure? yuo seem a bdrit drunnnnkkkkkk
01:14:29 <AnMaster> ais523, also I never ever drunk alcohol
01:14:43 <flexo> AnMaster: i invedted the brainfuck module divission aivleorighe :(
01:14:51 <AnMaster> but talking to a currently drunk person about it would be useless
01:15:02 <ehird> AnMaster: talking to drunk people is easy.
01:15:06 <ais523> AnMaster: I used to, but I haven't for years
01:15:10 <ais523> because I realised I didn't like it
01:15:14 <AnMaster> ehird, what he says make no sense
01:15:21 <ehird> sure it does, he's just making typos.
01:15:22 <flexo> no it makes all sense
01:15:31 <flexo> i wrote a setence without errors
01:16:35 <flexo> d*b stil sinst here
01:16:45 <flexo> wjat am i doing here
01:17:22 <flexo> can solve my.. rjomg
01:17:48 <ehird> isn't that a sub-tc thingy?
01:18:02 <ehird> http://billglover.com/software/toadskin/ hm
01:18:03 <flexo> if TC hat no ring-buffer
01:18:04 * ais523 gives themself a link: http://esolangs.org/wiki/Toadskin
01:18:12 <flexo> nd the accumulator was stored on the callstack
01:18:36 <flexo> figure it out plz, thanks
01:19:00 <flexo> i think it woudl be
01:19:11 <ais523> the Toadskin page says it's TC; is it lying?
01:19:11 <flexo> but it's just an assumption
01:19:38 <flexo> the referene tc interpreter it so buggy, it's not usable
01:19:42 <ais523> well, its only unlimited-size storage is a single stack
01:19:53 <flexo> [] is broken in the rereference interpreter
01:19:54 <ais523> which just screams "PDA" to me
01:20:24 <flexo> and even if it was implemented correctly its still not TC
01:20:25 <ais523> it also has a "ring buffer" for the arguments
01:20:31 <ais523> but the spec doesn't explain how that works
01:20:38 <flexo> because it's jujst a stimple 1 stackmachine
01:20:40 <ais523> and IME ring buffers have been finite-sized
01:20:51 <flexo> if you remove the stupid ringbbuffer
01:20:59 <flexo> and add the accumulator to the callstack
01:21:08 <flexo> i thing it *might* m
01:21:16 <ais523> flexo: can you get variables unlimitedly deep in the callstack?
01:21:27 <ais523> if there's any limit at all, it can't be TC without some other sort of data storage
01:21:52 <flexo> ais523: well, as long as the callstack and the argstack are not limited....'
01:21:56 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
01:22:03 -!- moozilla has joined.
01:22:08 <ais523> flexo: wait, would there be two stacks then?
01:22:09 <flexo> the problem is that the ampoutnt of words you can define are limited
01:22:13 <ais523> and could you pop one whilst pushing the other?
01:22:17 <ais523> in that case, it might work
01:22:28 <flexo> but the amount of words are limied
01:22:43 <flexo> the question is if the amount of words are enough to prove TC
01:23:01 <flexo> (in my "enhanced" TS)
01:23:06 <ehird> write a bf interp in them.
01:23:21 <ehird> flexo: alternatively, turing machine
01:23:28 <ehird> the possibilities are endless
01:23:33 <ehird> 2,3? thank ais523 for that
01:23:41 <ehird> if he hadn't proved it was TC that might not be enough ;-)
01:23:43 <ais523> don't try to implement the 2,3 to prove TCness
01:23:55 <ais523> because you need some way to set up the input tape correctly
01:24:06 <ehird> sure, but as long as you can prove its the right 2,3...
01:24:07 <flexo> famous people in here
01:24:10 <ais523> most programming languages don't like handling an infinite amount of input
01:24:33 <ais523> and "this program is TC, but it takes infinitely long to run" tends not to ring well with programmers
01:24:43 <ehird> a program cannot be tc...
01:24:53 <ais523> well, it could be an interpreter for a TC language
01:25:13 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
01:25:14 -!- metazilla has joined.
01:25:44 <flexo> ais523, being my personal god
01:25:54 <flexo> is my enhanced TS TC?
01:26:06 <ais523> flexo: I admit I don't understand exactly how it works
01:26:09 <ais523> I think it's likely to be, though
01:26:22 <ais523> as you have recursion to manipulate the function stack
01:26:26 <ais523> and < and > to manipulate the arg stack
01:26:28 <ais523> it'll look weird, though
01:26:37 <flexo> yes.. but a limited amount of words
01:26:49 <flexo> so you cant go as deep in the callstack as you want
01:26:50 <ais523> you don't normally need many if it's TC at all
01:26:55 -!- LinuS has quit ("Puzzi. S, parlo proprio con te. Puzzi.").
01:26:58 <ais523> it might be doable even with 1
01:27:18 <ais523> although when I've done TCness proofs before normally about 5 or 6 of what corresponds to a Toadskin function is enough
01:27:23 <ais523> do you have a fixed interp I could tinker with?
01:27:38 <flexo> but only for the "described" TS
01:27:43 <flexo> not for my improved one
01:27:53 <flexo> but it should be easy to extend
01:28:12 <flexo> my interpreter doesnt push acc to cs
01:28:42 <flexo> http://flexotec.eu/~flexo/toadskin.rbhttp://flexotec.eu/~flexo/toadskin.rb
01:28:50 <flexo> http://flexotec.eu/~flexo/toadskin.rb
01:29:09 <flexo> that one is not TC for sure
01:29:21 <flexo> just a simple stackmachone
01:30:10 <flexo> i just got to the point
01:30:19 <flexo> phoning ex-gilfrirends
01:30:46 <flexo> luckily i rembembered to get my phone off the cord a couple o ouard ago
01:31:28 <ehird> flexo: you said you were getting sober :P
01:33:00 <flexo> "the requested .. thinge.. doesnt ajsnwer"
01:33:03 -!- KingOfKarlsruhe has quit (Remote closed the connection).
01:33:56 <flexo> i think i should tkae some paracetammal
01:35:52 <flexo> i cant talk to ##c without being id.djd
01:36:08 <flexo> this kinda makes a ponit for paracetmaotl
01:37:13 <flexo> i dont wanna annoy them... butl... but!
01:37:36 <oerjan> ^ul (sl)S(e)(:^)(::::^^^^)^^S(p)S
01:37:38 <flexo> what about the last one?
01:38:12 <oerjan> ^ul (sl)S(e)(:*)(::::****)^^S(p)S
01:38:12 <fungot> sleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeep
01:38:15 * ais523 tries to figure out what oerjan was doing
01:38:18 <ehird> flexo: sleep so you don't regret it tomorrow. :P
01:38:29 <ais523> and ah, it becomes a lot more obvious once I see the corrected program
01:42:42 <oerjan> ^ul (sl)S(e)(:*)(:*)(::**)^^^S(p)S
01:42:42 <fungot> sleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeep
01:42:45 <flexo> gave root-access o my servers to some scriptkiddie
01:42:49 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
01:42:52 <flexo> reaylly time to go now#
01:43:12 <flexo> no. known him for like... 8 years
01:43:18 -!- metazilla has joined.
01:43:20 <ehird> some script kiddie
01:43:24 <flexo> he's okay. somewhat:)
01:43:42 <flexo> he just wants to flood some servers
01:43:58 <oerjan> friends help you move. real friends help you move bodies.
01:43:58 <flexo> my ones being hosted in .nl i'm okay with that
01:44:35 <ehird> script kiddie friends ask you to help them flood servers
01:45:01 <flexo> worst case scenario - my ex-gf can no longer convert youtbue videos to mp3 with that box
01:45:07 <flexo> i suppose i can live with that
01:45:21 <ehird> aren't you, y'know, legally liable?
01:45:55 <ehird> it's legal to ddos in .nl? er, k.
01:45:58 <flexo> even if ".nl" is not so much of a legally argument
01:46:00 <oerjan> so tomorrow we wake up to learn someone nuked the netherlands. nothing to worry about.
01:46:12 <flexo> the people hes attacking are scrkiptkiides aswell ;)
01:46:28 <ehird> the only winning move is to kill yourself.
01:47:00 <flexo> i'm way to drunk to think about these things
01:47:09 <flexo> the funny thing is
01:47:25 <flexo> that guy got some other guy to got me drunk in the first place
01:47:33 <flexo> and i know that before i got there
01:48:16 <flexo> but i demolished a bank before that
01:48:26 <flexo> i got other stuff to worry about
01:48:42 <flexo> (you know, with video surveilannce and stuff)
01:48:58 <ehird> ah. had you mentioned the bank demolishing
01:49:06 <ehird> i don't thikn i would have worried about the script kiddie root access.
01:49:17 <ais523> note that I cannot condone any illegal behaviour
01:49:28 <ehird> ais523: what, is silence implicit consent now?
01:49:36 <oerjan> depends. did the script kiddie help him with the bank demolishing?
01:49:39 <ehird> rapists all around the world are excited
01:50:02 <ehird> how do you demolish a bank anyway
01:50:18 <flexo> nah, just the stuff you can access
01:50:23 <flexo> like the doors, ATMs and stuff
01:50:40 <ehird> new year sure does bring out the best in everyone.
01:51:08 <flexo> living in a hicksville
01:51:18 <flexo> moving to munich tomorrow
01:51:35 <flexo> i'm failry certain noone will ever trace this to me :)
01:51:56 <oerjan> i suggest you make a new year's resolution not to demolish any more banks.
01:58:56 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
01:59:03 -!- moozilla has joined.
01:59:41 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
01:59:45 -!- metazilla has joined.
02:02:26 -!- oerjan has set topic: Logs: http://tunes.org/~nef/esoteric/ | WE SURVIVED THE LEAP SECOND AND ALL WE GOT WAS ... WAIT, WHERE IS MY T-SHIRT? | HAPPY NEW YEAR SOUTH GEORGIA.
02:03:15 <ehird> i want to be drunk without the drunkness
02:03:19 <ehird> therefore I will pretend to be drunadjsh
02:04:10 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
02:06:40 <oerjan> a itn of drynkent meoer jut anpone
02:07:03 <ehird> i k;'' think i should lslepp
02:07:10 <ehird> i murederjded thre r dogs
02:08:27 <oerjan> i tnink yno sjoukd bt jubd to amimajs
02:09:08 <oerjan> imless tgir trsllt annyiobd
02:09:26 <ehird> sory, i have iouhr no ufkcings iodea what you are talking abtiuuuuu
02:09:56 <oerjan> i guess typing with one finger without looking at the keyboard is sorta overdoing it
02:10:49 <Warrigal> I will type with one finger without looking at the keyboard now.
02:12:57 <Warrigal> I was consistently too far right.
02:13:13 <ehird> aopky doooooooooooo
02:13:16 <Warrigal> Just like [disliked right-leaning political group]!
02:13:20 <ehird> dhave you demofloished
02:13:23 <ehird> ttttttttttttttttttttttttttttttttttttttttttttttttttt
02:13:28 <ehird> a]]]at onnnnnnkewsyears
02:13:35 <ehird> ]]]]]]]]]]]]I Aowojjjjjjist u kinda lisloiding ojver thek eynabrbod
02:13:40 <oerjan> in soviet russia, banks demolish YOU
02:15:04 <oerjan> once mire eoth geekunf
02:15:28 <oerjan> geekunf is such a household word
02:15:59 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
02:16:08 -!- moozilla has joined.
02:16:20 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
02:16:28 -!- moozilla has joined.
02:17:57 <oerjan> hmph 2009 is not prime. i want my money back!
02:20:10 <Warrigal> 2009 -> 2030 -> 203 -> 210 -> 21 -> eh, that's a multiple of 7.
02:20:27 <oerjan> i guess we'll have to wait until 2011.
02:22:25 <Warrigal> Not divisible by 7, or 11... I'm bored.
02:33:11 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
02:33:11 -!- metazilla has joined.
02:33:31 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
02:33:37 -!- moozilla has joined.
02:36:57 -!- oerjan has quit ("You Maya KEEPA YOUR 2012").
02:51:08 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
02:51:20 -!- moozilla has joined.
02:55:29 <GregorR> SO CLOSE TO HEAD MOUNTED DISPLAY
03:10:28 <psygnisfive> the mayan writing system has got to be the best example of an esoteric writing system
03:10:56 <GregorR> Idonno, Linear-A is pretty esoteric (by the actual meaning of the word)
03:11:00 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
03:11:05 -!- moozilla has joined.
03:12:04 <psygnisfive> mayan glyphs are mostly phonemic so they represent sounds
03:12:16 <psygnisfive> but they have crazy rules for how you write the sounds
03:12:37 <psygnisfive> and not only that but each sound has something like an average of 15 ways it can be written, simply for diversity's sake
03:13:19 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
03:13:27 -!- moozilla has joined.
03:19:46 -!- Mony has quit ("Quit").
03:35:46 -!- moozilla has quit (Connection reset by peer).
03:44:26 -!- kar8nga has joined.
04:00:40 <bsmntbombdood> don't they say that C isn't turing-complete because you can do sizeof(int*)?
04:00:52 <bsmntbombdood> but you don't need pointers to be turing complete do you?
04:01:10 <bsmntbombdood> you can just use recursion and allocate as much as you need on the stack
04:02:27 <psygnisfive> any given C program as compiled at any given moment cannot be turing complete because of that
04:02:38 <psygnisfive> but the same is true of any program period, since no computer has infinite memory
04:03:02 <bsmntbombdood> i'm talking about C the language, not an implementation thereof
04:03:41 <psygnisfive> the argumentation for saying that C as a language isn't turing complete comes from the fact that sizeof(int*) is defined at compile time for the intended machine its supposed to run on
04:04:38 <psygnisfive> furthermore, since sizeof(int*) can never be infinite, you never can address infinite memory
04:05:31 <psygnisfive> listen, im just telling you what they say :)
04:05:42 <GregorR> Yes, C minus pointers is TC.
04:05:51 <psygnisfive> the argument is irrelevant anyway since all programming languages are like that in some regard
04:05:55 <bsmntbombdood> <bsmntbombdood> don't they say that C isn't turing-complete
04:06:05 <GregorR> C with pointers is not. Just choosing not to use pointers is not sufficient, since by the definition of C everything is addressable, even if you don't use the address.
04:06:36 <psygnisfive> furthermore, any program imaginable can infact be run so C-as-a-whole (INCLUDING compile-time definition of sizeof(int*)) is turing complete
04:08:42 <psygnisfive> because if your machine doesnt have enough memory you do what everyone does, add more, then try again.
04:08:54 <psygnisfive> (actually i think i misspoke, i think sizeof(int*) is run-time defined not compile time)
04:10:00 <psygnisfive> the language is TC if you talk about C as a whole, not just C-as-it-is-wrought-with-some-particular-sizeof(int*)
04:22:22 -!- kar8nga has left (?).
04:40:44 <Ilari> Err... How one would store the potentially unbounded amount of data in C without using pointers (assuming elements don't have to have valid addresses)?
04:42:38 <Ilari> The call stack could store unbounded amount of data, but its just one LIFO stack, which is not sufficent for TC.
04:58:12 -!- Warrigal has left (?).
05:24:44 <psygnisfive> sure it is, ilari. functional programming languages do it perfectly well.
05:24:59 <psygnisfive> granted you dont use just a stack. you do all sorts of substitution stuff as well in that model
05:25:23 <psygnisfive> but thats not the same as just stack machine
05:44:57 <GregorR> Step one of my wearable computer is done :)
06:18:16 <GregorR> I've converted a Myvu Crystal into a compact one-eye version for mounting onto glasses.
06:35:32 -!- moozilla has joined.
06:35:35 <GregorR> http://www.facebook.com/photo.php?pid=30230927&l=7b22a&id=1055580469
06:38:07 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
06:38:08 -!- metazilla has joined.
06:49:52 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
06:49:55 -!- metazilla has joined.
06:52:36 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
06:52:55 -!- metazilla has joined.
07:04:48 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
07:04:50 -!- moozilla has joined.
07:07:29 -!- metazilla has joined.
07:07:34 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
07:07:39 -!- metazilla has changed nick to moozilla.
07:22:23 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
07:22:49 -!- moozilla has joined.
07:40:23 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
07:40:49 -!- moozilla has joined.
07:41:07 -!- SpaceManPlusPlus has joined.
07:42:03 -!- SpaceManPlusPlus has quit (Client Quit).
07:58:20 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
11:26:41 -!- moozilla has joined.
11:37:14 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
12:03:56 -!- ais523 has joined.
12:04:17 <ais523> is the new year counter still going?
12:39:49 -!- DonQuijote has joined.
12:41:20 -!- DonQuijote has left (?).
12:50:36 -!- moozilla has joined.
13:02:17 -!- metazilla has joined.
13:02:17 -!- moozilla has quit (Connection reset by peer).
13:02:29 -!- metazilla has changed nick to moozilla.
13:04:38 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
13:20:07 -!- oerjan has joined.
13:20:29 <oerjan> it's STILL on South Georgia? how disappointing
13:20:42 <ais523> well, I don't think there are any countries at -13
13:20:52 <ais523> so we've reached the end of our new year updater
13:21:52 <ais523> oerjan: it's having a sort of Y2K bug
13:21:55 <ais523> but with hours rather than years
13:21:56 -!- oerjan has set topic: Logs: http://tunes.org/~nef/esoteric/ | WE SURVIVED THE LEAP SECOND AND ALL WE GOT WAS ... WAIT, WHERE IS MY T-SHIRT? | HAPPY NEW YEAR EARTH.
13:26:04 -!- KingOfKarlsruhe has joined.
14:13:59 -!- oerjan has quit ("leaving").
14:30:39 -!- moozilla has joined.
14:31:38 -!- ehird has left (?).
14:31:40 -!- ehird has joined.
14:31:42 -!- ehird has left (?).
14:31:46 -!- ehird has joined.
14:31:48 -!- ehird has left (?).
14:31:52 -!- ehird has joined.
14:31:54 -!- ehird has left (?).
14:31:58 -!- ehird has joined.
14:32:00 -!- ehird has left (?).
14:32:04 -!- ehird has joined.
14:32:06 -!- ehird has left (?).
14:32:10 -!- ehird has joined.
14:32:12 -!- ehird has left (?).
14:32:16 -!- ehird has joined.
14:32:24 -!- ehird has left (?).
14:32:28 -!- ehird has joined.
14:32:30 -!- ehird has left (?).
14:32:34 -!- ehird has joined.
14:32:36 -!- ehird has left (?).
14:32:40 -!- ehird has joined.
14:32:42 -!- ehird has left (?).
14:32:46 -!- ehird has joined.
14:32:48 -!- ehird has left (?).
14:32:52 -!- ehird has joined.
14:32:54 -!- ehird has left (?).
14:32:58 -!- ehird has joined.
14:33:06 -!- ehird has left (?).
14:35:42 -!- ehird has joined.
14:36:06 <ehird> that was some _nasty_ bouncerfuckage
14:36:14 <ehird> that was some _nasty_ bouncerfuckage
14:36:21 <ais523> ehird: you're repeating yourself
14:36:32 <ehird> ais523: the logs didn't show me as saying that yet
14:36:36 <ais523> I'm not sure if it's deliberate or more bouncer weirdness
14:36:45 <ehird> happy mailman lists reminder day
14:37:02 <ais523> why is the Australian reminder day /after/ the European and American ones today?
14:37:17 <ehird> because australia went forward in time or sth
14:38:54 <ehird> http://www.facebook.com/photo.php?pid=30230927&l=7b22a&id=1055580469
14:39:07 <ehird> it looks like 2000 as seen from 1970
14:43:59 -!- ehird has set topic: Logs: http://tunes.org/~nef/esoteric/ | WE SURVIVED THE LEAP SECOND AND ALL WE GOT WAS ... WAIT, WHERE IS MY T-SHIRT? | HAPPY BIRTHDAY EARTH.
14:44:10 -!- ehird has set topic: LOGS: HTTP://TUNES.ORG/~NEF/ESOTERIC/ | WE SURVIVED THE LEAP SECOND AND ALL WE GOT WAS ... WAIT, WHERE IS MY T-SHIRT? | HAPPY BIRTHDAY EARTH.
14:47:45 <GregorR> Yes, because the world was "born" on New Years day :P
14:48:16 <ais523> GregorR: there's about a 1 in 365.2422 chance...
14:48:24 <ehird> GregorR: If you prefer, I could change it to "HAPPY BIRTHDAY CALENDAR".
14:49:15 <ais523> ehird: what makes you think the calendar was started on january 1?
14:49:19 <GregorR> ais523: No. No there is not. As the formation of a planet takes substantially longer than a day, and there's no agreement on what exact moment the planet is considered to be a planet rather than a ball of primordial ooze.
14:49:21 <ais523> especially as new year used to be march 1
14:49:40 <ais523> GregorR: hmm... you could take the median opinion, or something
14:49:55 <ais523> and I think the exact moment is the moment it pulls itself into an approximate sphere under its own gravity
14:50:17 <ais523> I think it's a mathematical fact whether an object is doing that or not
14:51:11 <ehird> not mathematical fact, surely
14:51:25 <ais523> ehird: if you have accurate enough measurements of the location of all the relevant rocks
14:51:35 <ais523> and their velocities and weights
14:51:49 <ais523> you can determine via simulation if they're pulling themselves into a sphere under their own gravity or not
14:53:13 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
14:53:21 -!- moozilla has joined.
14:53:53 <ehird> I want to build a full universe simulator. (For a quantum Infinity Machine, naturally.)
14:55:46 -!- metazilla has joined.
14:55:46 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
14:55:56 -!- metazilla has changed nick to moozilla.
15:01:31 <ais523> ehird: not a multiverse simulator?
15:01:37 <ais523> you'll need one to simulate quantum stuff
15:01:37 <ehird> ais523: Just run multiple instances.
15:01:50 <ehird> Also, isn't that only with many worlds?
15:02:06 <ehird> Many Worlds would be fun though. I'd tune into the world where everything was batshit insane.
15:08:04 <ehird> You know, I never thought I'd come up with an actual use for markov chains.
15:08:29 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
15:08:39 <ehird> LZMA compresses with markov chains?
15:08:52 <ais523> it doesn't exactly use markov chains
15:08:57 <ais523> not random ones, anyway
15:09:19 <ais523> I think recording the 'random' numbers needed to generate the actual text is shorter than recording the text itself
15:09:24 <ais523> and that's how the trick works
15:09:41 <ehird> but no, that's not it
15:09:53 <ais523> ofc it's not that simple
15:11:29 <ehird> now I will wait for someone to ask me what
15:12:09 <AnMaster> and my tests shows it is slightly better than bzip2
15:12:19 <ais523> more than slightly better IME
15:12:20 <AnMaster> for your average tar file at least
15:12:42 <AnMaster> ais523, may depend on size I guess, for example gzip is better than bzip2 at really small files
15:12:52 <AnMaster> I guess bzip2 has more header overhead
15:13:01 <ais523> lzma compresses really slowly but decompresses quickly
15:13:20 <AnMaster> ais523, isn't it what 7zip use too?
15:13:33 <ehird> the reference lzma impl is from 7zip iirc
15:14:00 <ehird> thing about windows archivers (not 7zip):
15:14:02 <AnMaster> ehird, 7zip compresses very well, even for zip and such too
15:14:06 <ehird> they all give you like a 1000 day trial
15:14:10 <ehird> LET YOU KEEP USING IT
15:14:25 <AnMaster> advpng uses 7zip's deflate compression implementation to shrink pngs by quite a bt
15:14:27 <ehird> they just make you wait $days_product_has_been_used settings before de-graying "Continue"
15:14:41 <ehird> it's like 5 seconds per year.
15:15:24 <AnMaster> also I never used those windows compression programs
15:15:32 <AnMaster> and 7zip has been ported to *nix too
15:15:35 <ais523> ehird: that's because they can't compete against each other if they try to charge
15:15:41 <ehird> ais523: well, exactly
15:15:43 <AnMaster> ehird, oh yes windows xp has zip built in
15:15:43 <ehird> but it's ridiculous
15:15:48 <ehird> AnMaster: yeah, it's awful.
15:16:17 <ais523> p7zip is the Unix port of 7-Zip, a file archiver that archives with
15:16:18 <ais523> very high compression ratios.
15:16:22 <AnMaster> ehird, I just use tar.bz2 since it support for opening it is way more common than tar.lzma
15:16:30 <ais523> although they just ported the algo, not the interface
15:16:36 <AnMaster> ais523, I have it installed if I need to use it
15:16:40 <ehird> AnMaster: And much less common than tar.gz & .zip
15:16:50 <AnMaster> ehird, depends on your audience
15:16:51 <ais523> I think it's best to offer in multiple formats
15:16:58 <ais523> ideally ones that people haven't heard of but can open anyway
15:17:02 <ehird> I download code in tar.bz2, offer it in tar.gz, and offer other things in .zip
15:17:24 <AnMaster> ehird, I see no reason to use zip
15:17:38 <ehird> yes because you live in a world where everyone uses linux.
15:17:53 <AnMaster> also I know OS X can open them
15:17:56 <ais523> ehird: it's not like the average Windows user can't open a .gz nowadays
15:18:00 <ehird> yes, it would help if your world was less of a fantasy
15:18:03 <ehird> ais523: can winzip do it?
15:18:09 <ais523> on most of the random cybercafe Windows computers I find, double-clicking a .gz works
15:18:16 <ehird> I regularly encounter people asking what a .rar is, and afaik only 7zip/winrar are the common archivers that can do .gz on windows
15:18:22 <ais523> all sorts of random programs open them, I think winzip might be one
15:18:37 <ehird> AnMaster: it is useful for certain cases
15:18:44 <ais523> actually, IIRC winzip decompresses .tar.gz into .tar
15:18:47 <ais523> and can also open .tar
15:18:48 <ehird> due to its built-in split-archive-in-multiple-parts and verification stuff
15:18:50 <ais523> so you have to run two nested instances
15:18:56 <AnMaster> ehird, oh? compression ratio is less than 7zip iirc
15:19:04 <ehird> compression ratio isn't always everything
15:19:06 <ais523> also, IE saves .tar.gz files as .tar.tar because it confuses the file associations
15:19:38 <ais523> I had great fun after downloading CLC-INTERCAL
15:19:46 <ais523> because the uncompressed files ended .tar
15:19:55 <ais523> the compressed files ended .tar
15:19:59 <ais523> and the uncompressed files ended .gz
15:20:05 <ais523> for some reason I fail to figure out
15:20:11 <ehird> i think that the separation of tar and gzip/bzip2/etc is a problem
15:20:16 <AnMaster> ais523, err the reason: it's intercal
15:20:26 <ehird> if the compression format knows more about the structure of the directory tree, surely it could do a better job?
15:20:56 <AnMaster> ehird, on the other hand separating them follows the unix philosophy
15:21:05 <ais523> AnMaster: no, it was browser+decompresser borkage
15:21:10 <ehird> the unix philosophy isn't exactly ideal in all cases.
15:21:24 <ais523> I thought CLC had done it deliberately, but it turned out he hadn't
15:21:27 <ehird> and I highly doubt anyone here uses a machine that actually subscribes to it
15:21:39 <AnMaster> ais523, is that the usual result of .tar.gz?
15:21:40 <ais523> although with a note that he might have done it if he thought of it
15:21:45 <ehird> a kitchen sink program if I ever saw one
15:21:50 <ais523> AnMaster: I don't think so, it depends a lot on what's in the registry
15:21:57 <ais523> which rather depends on the order in which you installed things
15:21:59 <ehird> $any_desktop_environment_ever
15:22:04 <AnMaster> ehird, I use find a lot and yes it is too complex
15:22:20 <ais523> ehird: find is actually a generalised iteration command
15:22:32 <ais523> it's sort of like the loop construct in MAGENTA
15:22:33 <ehird> not only does it dump a directory tree, it also filters based on a myriad of things, executes programs, and its command-line syntax is different from just about every other unix command
15:22:45 <ais523> which IIRC can take while and if and do and for and until and unless and foreach all at the same time
15:22:47 <ehird> heck, it even bloody has boolean operations with parenthical grouping!!
15:22:59 <ehird> ais523: and it's not unixy either
15:23:19 <ais523> would you call awk unixy?
15:23:29 <ehird> that's different, they're metaprograms
15:23:32 <ehird> they're minilanguages
15:23:42 <ehird> ais523: yes, but it's an unneeded one
15:23:45 <ehird> because it integrates into sh
15:23:50 <ehird> and yet disobeys sh's general principle
15:23:54 <ehird> AnMaster: yes it does
15:23:59 <ehird> you're meant to use it in a shell script or from the command line
15:24:03 <AnMaster> ehird, no it is a separate program, not a builtin
15:24:12 <ais523> ehird: would you be happier if find were a shell builtin?
15:25:02 <AnMaster> ais523, I think he would be happier if find read the parameters from stdin
15:25:27 <ais523> ehird: would you consider ls -R | grep to be more unixy?
15:25:45 <AnMaster> ais523, I would consider it to be buggy for edge cases and a lot slower
15:25:47 <ehird> It does one thing, does it well, and slots into other programs in a pipe.
15:25:48 <ais523> ehird: the problem is that it runs kind-of slowly on a large directory tree
15:25:55 <AnMaster> just consider newlines in filenames
15:25:57 <ehird> Although `ls -R` is a bit suspicious.
15:26:03 <ehird> yes, of course it's freaking slow
15:26:06 <ais523> AnMaster: ls -R0, then
15:26:13 <ehird> unix-philosophy-compliant software _is_ slo
15:26:16 <ehird> that's why it's not always ideal
15:26:19 <ais523> AnMaster: no, it's GNU
15:26:25 <ehird> but that does not change the fact that find is not UNIXy
15:26:44 <ais523> ehird: do you think it's OK to have non-UNIXy things in UNIX, as an optimisation?
15:26:57 <ais523> which does the same as a unixy thing would, but faster and more reliably?
15:26:58 <AnMaster> ehird, also you could do find . -name 'foo' | xargs foo
15:27:11 <ehird> GregorR: Plz look up the UNIX philosophy. ais523: Yeah. I don't like how find does it, though.
15:27:24 <AnMaster> ehird, how do you dislike find?
15:27:30 <ehird> I've already listed that.
15:27:42 <ais523> ehird: I think the UNIX philosophy is at least partially to do with not allowing philosophy to get in the way of useful productivity
15:27:52 <ehird> ais523: no, that's worse is better
15:27:54 <GregorR> ehird: So is test un-unixy?
15:28:06 <ehird> AnMaster: You can do a non-unixy program and still have it look like other unixy programs.
15:28:11 <AnMaster> it is a mini language like sed
15:28:11 <ais523> ehird: what about pcregrep?
15:28:11 <GregorR> ehird: I'd love to see your if expressions in sh scripts X_X
15:28:13 <ehird> Also, I believe he addressed _me_.
15:28:22 <ehird> GregorR: I am not advocating for the unix philosophy.
15:28:33 <ehird> Find is useful. I use it.
15:28:33 <ais523> ehird: Just because someone asks you a question, does that mean that other people can't answer/
15:28:35 <ehird> But it's not UNIX-y.
15:28:54 <ehird> ais523: when it's a totally subjective question addressed to a person on one side of an argument, the other side butting in with an answer without reasoning is pretty stupid.
15:29:04 <ais523> ehird: I was hoping someone else would answer
15:29:17 <AnMaster> <AnMaster> it is a mini language like sed
15:29:17 <GregorR> ehird: Is /lib/ld.so UNIXy?
15:29:28 <ehird> Your mom is UNIXy.
15:29:31 <ehird> Apart from the "do it well part".
15:29:37 <ehird> s/well part"/well" part/
15:29:59 <AnMaster> GregorR, ls: cannot access /lib/ld.so: No such file or directory
15:30:09 <GregorR> AnMaster: On Linux it's ld-linux.so
15:30:13 <AnMaster> GregorR, here it is /lib/ld-linux-x86-64.so.2
15:30:13 <GregorR> I was using the classic UNIX name :P
15:30:17 <ais523> personally, I think the main /practical/ implications of the UNIXy philosophy is to have a breakable pipe
15:30:28 <ais523> so you can look at intermediate state anywhere, and tinker
15:30:29 <AnMaster> GregorR, that is yet another one
15:30:33 <ehird> ls: cannot access /lib: No such file or directory
15:30:35 <ais523> * fix the grammar in that
15:30:38 <ehird> Look at me! My system is different too!
15:30:46 <ais523> ehird: Mac OS, or GoboLinux?
15:30:55 <ehird> GoboLinux br0ked up.
15:31:02 <ais523> actually, GoboLinux probably has a /lib, just it's full of symlinks to where everything actually is
15:31:03 <GregorR> /AbsurdLibraryDirectoryName
15:31:14 <ehird> [ehird:/] % ls -l .|grep etc
15:31:15 <ehird> lrwxr-xr-x 1 root admin 11 2006-12-14 12:34 etc -> private/etc
15:31:18 <ehird> WHAT IS THIS HERESY
15:31:51 <AnMaster> iirc it has a /lib symlink too
15:32:01 <ehird> It has /usr/lib, but not /lib.
15:32:08 <ehird> what the fuck did I just paste?
15:32:11 <ehird> 15:31 <ehird> [ehird:/] % ls -l .|grep etc
15:32:12 <ehird> 15:31 <ehird> lrwxr-xr-x 1 root admin 11 2006-12-14 12:34 etc -> private/etc
15:32:24 <AnMaster> <ehird> [ehird:/] % ls -l .|grep etc
15:32:24 <AnMaster> <ehird> lrwxr-xr-x 1 root admin 11 2006-12-14 12:34 etc -> private/etc
15:32:34 <AnMaster> so I thought you were shocked at your find
15:32:44 <ehird> /Library/Frameworks/Python.framework/Versions/2.6/bin/python
15:33:28 <ehird> 304 but I have a bunch of unrelated crap in it that i used ages ago
15:34:01 <ehird> [ehird:/] % ls -l /usr/local/bin/python
15:34:01 <ehird> lrwxr-xr-x 1 root wheel 24 2008-12-15 16:57 /usr/local/bin/python -> /usr/local/bin/python2.6
15:34:02 <ehird> [ehird:/] % ls -l /usr/local/bin/python2.6
15:34:04 <ehird> lrwxr-xr-x 1 root wheel 63 2008-12-15 16:52 /usr/local/bin/python2.6 -> /Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6
15:34:16 <AnMaster> ehird, tell me, why is the first one not a relative symlink?
15:34:26 <AnMaster> Asztal, err going low was the goal
15:34:32 <ehird> Yes, he was being sarcastic.
15:34:47 <ehird> ehird@rutian:~$ echo $PATH
15:34:47 <ehird> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
15:34:57 <ehird> /usr/games should be at the start :|
15:34:58 <ais523> here's a good way to chear
15:35:03 <AnMaster> /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
15:35:07 <ehird> the single most important directory on a unix system
15:35:07 <ais523> $ PATH=""; echo $PATH | wc -c
15:35:14 <ais523> guess what that prints (where the $ is the prompt)
15:35:17 <ehird> ais523: YOU ONLY CHEAT YOURSELF
15:35:26 <ehird> zsh: command not found: wc
15:35:34 <ehird> that's a base 255 number
15:35:40 <ais523> well, yes, although not zsh for me
15:35:41 <AnMaster> ais523, "sh: command not found"
15:35:56 <ehird> >>> sum(map(ord,a))
15:36:02 <ehird> that can't be right
15:36:26 <ehird> 178431884530883387476741383738549825960794060434521223987627869
15:36:29 <ehird> that's how long my PATH is.
15:36:41 <ais523> AnMaster: ehird interpreted their path as a base 255 number for some reason
15:36:48 <ehird> I did ais523's command
15:36:49 <ais523> given that there are 256 possibilities for bytes
15:36:50 <ehird> zsh: command not found: wc
15:36:56 <ehird> so that's obviously my path length as a base 256 number
15:37:05 <ehird> oh wait it's actually 196770863739160564595263608359723940742411945884540670408947555
15:37:16 <ais523> btw, you'd probably better restart that shell
15:37:16 <ais523> unless you have some way to get your path back to normal
15:37:29 <ehird> "source .zshrc" would do it.
15:37:32 <ehird> but I just closed it.
15:37:50 <AnMaster> ais523, you could just do it in a subshell
15:37:51 <ehird> fun fact: my .zshrc loads my .bash_profile
15:37:54 <ehird> and that's where my PATH is.
15:38:04 <ehird> i don't know why either
15:38:10 <ais523> I thought the joke was funnier this way
15:39:04 <ehird> "zsh: command not found: wc"
15:39:06 <ehird> that's a sequence of bytes.
15:39:19 <AnMaster> ehird, yes but notice all are below 127
15:39:24 <Asztal> heh, 879 characters in MSYS. :)
15:39:29 <ehird> that's a base 5 number
15:39:30 <AnMaster> so I suggest they are in fact signed
15:39:34 <ehird> because it has no digits above 4.
15:39:43 <ais523> AnMaster: in fact, all are below 126
15:39:51 <ais523> also, balanced base 256?
15:39:56 <ais523> that would be ridiculous
15:40:19 <AnMaster> ais523, but how would it work?
15:40:39 <ais523> AnMaster: the same way as balanced base 3
15:40:56 <ais523> just like any well-behaving 8-bit signed char
15:41:25 <ehird> incidentally, did you guys hear about the zune bug?
15:41:28 <AnMaster> hm what is it for base 4.. quaternary?
15:41:33 <ehird> all first generation 30gb zunes broke at exactly the same time
15:41:40 <ehird> well, within an hour or so of each other
15:41:50 <ais523> ehird: yes, because the firmware didn't take the possibility of a leap year into account
15:41:53 <ehird> http://www.zuneboards.com/forums/zune-news/38143-cause-zune-30-leapyear-problem-isolated.html
15:41:56 <ehird> the code that caused the problem
15:42:03 <AnMaster> ais523, will they unbrick them?
15:42:13 <ehird> AnMaster: just reset the clock
15:42:26 <ehird> so it doesn't go into that code path
15:42:31 <ais523> AnMaster: apparently you can get them working again by draining the battery, then turning them on some time that isn't in 2008
15:42:42 <AnMaster> ais523, and update the firmware?
15:42:42 <ehird> ais523: which amounts to resetting the clock.
15:42:48 <ehird> AnMaster: they haven't released a fix yet
15:42:52 <ehird> i guess they're waiting until tuesday :-P
15:42:55 <ais523> ehird: actually, that is the fix they released
15:43:05 <ehird> they have 4 years to fix it
15:43:10 <ehird> although wait that'll be 2012
15:43:14 <ehird> we'll be dead by the time it matters.
15:43:26 <ehird> destroys the universe
15:43:33 <ehird> like, they power the dyson sphere we're in
15:43:35 <ehird> and it like explodes
15:43:37 <ehird> and the universe ends
15:43:38 <ais523> ehird: or maybe the universe doesn't end in 2012?
15:44:02 <GregorR> Badger: Badger Badger Badger Badger Badger Badger Badger Badger Badger Badger Badger
15:44:06 <ais523> IIRC Discordianism says it'll end in 9661, they thought it was 1996 but they were reading it upside-down
15:44:07 <ehird> GregorR: MUSHROOM MUSHROOM
15:44:08 <Badger> GregorR: GregorR GregorR GregorR GregorR GregorR GregorR GregorR GregorR GregorR
15:44:14 <AnMaster> some simple math would be way faster
15:44:20 <ehird> AnMaster: it's embedded software.
15:44:23 <ehird> who knows what the fuck it's for.
15:44:29 <AnMaster> ehird, it lacks integer division?
15:44:37 <ehird> i bet it ends up as more efficient than arithmetic
15:45:05 <ehird> although "year += 1"? please, everyone knows "++year" is faster</troll>
15:45:31 <ais523> ehird: year += 1 is equivalent to ++year
15:45:34 <AnMaster> ehird, only if the compiler really really sucked at optimising
15:45:36 <Asztal> no, you have to do asm("inc year") if you want the real power!
15:45:38 <ehird> jesus fucking christ
15:45:42 <ais523> but in theory, both are faster than year++ without optimisation
15:45:44 <ehird> it means i'm making a goddamn JOKE
15:45:52 <ais523> ofc, everyone optimises it away in practice
15:45:56 <ehird> AnMaster: no, no you weren't
15:45:57 * Badger whacks ehird with a cluebat
15:45:58 <ehird> playing along wiould be
15:46:01 <ehird> 15:45 <Asztal> no, you have to do asm("inc year") if you want the real power!
15:46:01 <ais523> well, every even slightly optimising compiler
15:46:07 <ehird> 15:45 <AnMaster> ehird, only if the compiler really really sucked at optimising
15:46:08 <ehird> is not playing along
15:46:09 <AnMaster> <ais523> but in theory, both are faster than year++ without optimisation <-- hm?
15:46:29 <ais523> AnMaster: year++ has to initialise a temporary register to hold the old value of year, in theory
15:46:39 <ais523> in practice it makes no difference as any sane compiler notices it isn't used
15:46:49 <ehird> Note to self: never, ever make a joke in #esoteric.
15:46:59 <ais523> ehird: why not, I enjoy the resulting discussions
15:47:05 <Badger> crazy people have no sense of humou
15:47:07 <ehird> it's not a discussion, it's tedious crap that we all know
15:47:16 <ehird> we all know it's optimized to be the same
15:47:19 <ehird> that's why it's a joke
15:47:29 <ehird> unless someone is confused, it can be taken as read that we get the bloody context
15:47:46 <ais523> the context can still be interesting, though
15:47:56 <ais523> and just because you get it, doesn't mean that clog does. Or fungot.
15:47:56 <fungot> ais523: man, this fucking sucks. teddy rubskin also has a presentation on wheat that i think about it.
15:48:16 * ais523 tries to figure out whether that's an argument for or against
15:48:43 <ehird> ais523: fungot never gets anything though.
15:48:44 <fungot> ehird: hey, i brought you here today. sonic heroes sucks. teddy rubskin also has a presentation on wheat that i think we're the only people who give two shits about you. do you ever think maybe it was your problem? maybe you just can't handle all the data i'm sending you.
15:48:53 <fungot> Badger: i mean, there's a huge grasshopper in here and he's flying all around! somebody get this grasshopper out of here, or is it just me?
15:48:54 <ehird> fungot: that is a lot of data.
15:48:55 <fungot> ehird: listen. that ball thing hurts. and that suit? it never comes off.
15:48:58 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc lovecraft pa* speeches ss wp
15:49:02 <ehird> i guessed it was PA
15:49:08 <fungot> Selected style: pa (around 1200 transcribed Penny Arcade comics)
15:49:28 <ehird> "sonic heroes sucks." and the apparent large-amounts-of-verbatim-text tipped me off
15:49:43 <fungot> Selected style: discworld (a subset of Terry Pratchett's Discworld books)
15:49:46 <ehird> i am the master of fungot
15:49:46 <fungot> ehird: " oook?" said nanny, running along behind. he had a fnord look.
15:49:49 <fungot> Badger: a flicker made her turn her head. the world isn't always as people see it." vimes hesitated. " i never said he was always the first to bustle up to vimes was mr boggis of the thieves' guild this morning?"
15:50:05 <fungot> Selected style: speeches (misc. speeches from Project Gutenberg)
15:50:16 <fungot> AnMaster: a popular origin cannot therefore be the characteristical distinction of a popular representative. this belongs equally to all parts of legislature the most odious and imbecile misgovernment. but, if i could say one word out of my wits. i don't allow any ghosts to bite me, and i do not remember that in speaking to you with a text, and i bless god for my safe fnord i know of no set of men living. these he does not unde
15:50:26 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc lovecraft pa speeches* ss wp
15:50:33 <fungot> Selected style: ic (INTERCAL manual)
15:50:39 <ehird> PLEASE NOTE FUNGOT
15:50:40 <fungot> Badger: e017 do you expect the logical and orthogonal behaviour?)
15:50:44 <ehird> PLEASE NOTE fungot
15:50:44 <fungot> ehird: the first intercal compiler apart from constant folding optimization). whitespace is ignored nearly everywhere; the only potential problems may be missing the shell `bash' which can be considered to be abstained from and therefore problems may be able to concatenate together your input is being linked to the optimizer can't guarantee at compile time in some ways than some other languages.
15:50:58 <ehird> ais523: plz use this as the c-intercal manual
15:51:10 <ais523> ehird: I could just run it through M-x dissociated-press
15:51:14 <ais523> but it might garble the formatting
15:51:21 <ais523> besides, I like the manual to actually be useful
15:51:21 <AnMaster> ais523, wtf is M-x dissociated-press
15:51:25 <ais523> AnMaster: what fungot does
15:51:26 <fungot> ais523: there are more limited.) he also invented in 1972, but you use, you can uninstall it by using an appropriate logic operation on them; and sets it to unweave from all other threads that is, 16- or 32-bit).
15:51:29 <fungot> Selected style: ff7 (Full script of the game Final Fantasy VII)
15:51:30 <ais523> if I've got the name right
15:51:34 <fungot> Badger: spying, murder... you just might be pretty exciting. i almost fell over....
15:51:36 <fungot> GregorR: please help me! the power of science.
15:51:36 <ehird> actually ais523 dissociated-press is letter based
15:51:42 <ais523> ehird: I think it has the option
15:51:43 <ehird> those two were great
15:51:51 <fungot> Available: agora alice darwin discworld europarl ff7* fisher ic irc lovecraft pa speeches ss wp
15:51:57 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
15:52:01 <fungot> GregorR: it's an example
15:52:11 <fungot> AnMaster: name ' n' and skipping it... not sure i have a problem with
15:52:17 <fungot> Badger: it hurts." minutes ago! :p)
15:52:23 <fungot> Selected style: agora (a large selection of Agora rules, both current and historical)
15:52:24 <fungot> AnMaster: each player has not made before the start of the voting period.
15:52:26 <fungot> ehird: that the parties) a successful revolt has been a player ceases to be
15:52:31 <ehird> fungot: ha, Revolution
15:52:31 <fungot> ehird: the recordkeepor of a currency, and the
15:52:34 <fungot> ehird: the assessor is responsible for communicating the group's vizier.
15:52:35 <AnMaster> ehird, nah that one isn't good
15:52:41 <fungot> Selected style: ss (Shakespeare's writings)
15:52:41 <ehird> 15:52 <fungot> ehird: the assessor is responsible for communicating the group's vizier.
15:52:42 <fungot> ehird: par. good, my lord, and master
15:52:47 <fungot> AnMaster: immortal gods, i am no fighter: i am
15:52:47 <fungot> Selected style: agora (a large selection of Agora rules, both current and historical)
15:52:53 <fungot> ehird: ( +k) when a player is electee to that office during that month, every player's lobbying strength of
15:52:57 <fungot> ehird: b) if this rule defers to all active sentences. the
15:53:01 <fungot> ehird: the speaker publicly announces that e
15:53:04 <fungot> ehird: 7) a list of all players
15:53:07 <ehird> fungot: MAKE UP YOUR MIND
15:53:10 <ehird> I think it's treating \n as \n
15:53:13 <ehird> and the word wrapping messes it up
15:53:24 <fungot> Available: agora* alice darwin discworld europarl ff7 fisher ic irc lovecraft pa speeches ss wp
15:53:31 <fungot> Selected style: wp (1/256th of all Wikipedia "Talk:" namespace pages)
15:53:45 <ehird> someone else say hi to fungot
15:53:58 <fungot> AnMaster: the explanation of the elijah story doesn't hold up, but to index other articles sorted, perhaps, for those pictures available, perhaps this one straight from the souls of black folk. but, i think
15:54:07 <ehird> fungot: you think what
15:54:07 <fungot> ehird: if you have any questions please ask them at the wikipedia:media copyright questionsmedia copyright questions page. thank you.!-- template:missing rationale2
15:54:14 <ehird> ais523: sentient templates!
15:54:16 <fungot> ehird: the plan is to move forward. thanks user:naadapriyanaadapriya ( user talk:naadapriyatalk) 22:24, 19 may 2005 ( utc)
15:54:24 <ehird> fungot: what plan ey?
15:54:25 <fungot> ehird: and, dab, words like pop-culture should not be present because other neighbourhoods are not add the article about most existentialists being atheistic seems to be a calming grounding influence, a bit of old-fashioned stunt casting, spiner downplays the timing.
15:54:58 <ais523> fungot doesn't really seem to strip MediaWiki markup well
15:54:58 <fungot> ais523: apparently she wasn't the first person to discover something is in some kind new to me, deserve to be listed in wikipedia.
15:57:25 -!- ais523 has quit (Remote closed the connection).
16:11:48 -!- KingOfKarlsruhe has quit (Remote closed the connection).
16:51:20 -!- Judofyr has joined.
17:25:08 -!- moozilla has joined.
17:41:46 * AnMaster just got a few of them from various freebsd lists
17:45:19 -!- metazilla has joined.
17:45:20 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
17:45:27 <ehird> AnMaster: I beat you to it.
17:45:28 <ehird> "If this design sounds familiar it’s probably because it’s exactly like Lucene. "
17:45:31 -!- metazilla has changed nick to moozilla.
17:46:14 <AnMaster> ehird, didn't see you saying it
17:46:30 <ehird> a bit after I came in here first
17:47:36 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
17:47:43 -!- moozilla has joined.
17:55:42 <AnMaster> ehird, hm you were disconnected today?
17:55:54 <ehird> My bouncer thought it was in #esoteric, it wasn't.
17:56:09 <ehird> http://tunes.org/~nef/logs/esoteric/09.01.01
17:56:12 <AnMaster> * ehird (n=ehird@eso-std.org) has left #esoteric ("Furthermore,")
17:56:12 <AnMaster> * ehird (n=ehird@eso-std.org) has joined #esoteric
17:56:12 <AnMaster> * ehird (n=ehird@eso-std.org) has left #esoteric ("Furthermore,")
17:56:12 <AnMaster> * ehird (n=ehird@eso-std.org) has joined #esoteric
17:56:12 <AnMaster> <ehird> that was some _nasty_ bouncerfuckage
17:58:47 <AnMaster> <ais523> especially as new year used to be march 1 <ehird> it wasn't <ehird> duh <ehird> :P <-- if it had been me you would have said something about my lack of humor
17:59:05 <ehird> AnMaster: your lack of humour is a running joke.
17:59:22 <AnMaster> ehird, yes right, except only for you
17:59:22 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
17:59:28 -!- moozilla has joined.
17:59:32 <ehird> but i am hilarious
18:00:02 <AnMaster> Monty Python is a good example of "sometimes hilarious"
18:00:53 <ehird> no, I'm very hilarious
18:01:34 <AnMaster> GregorR, oh http://www.facebook.com/photo.php?pid=30230927&l=7b22a&id=1055580469, wtf is the thing on the side of the glasses?
18:02:07 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
18:02:12 -!- moozilla has joined.
18:02:13 <AnMaster> ehird, maybe you know? You linked it
18:02:24 <ehird> AnMaster: those glasses are a SCREEN
18:02:45 <AnMaster> such glasses with built in displays
18:03:22 <ehird> more like HACKING INTERFACE
18:03:39 <AnMaster> ehird, don't be silly, this isn't some low budget movie
18:04:02 <AnMaster> well yes, but it doesn't mean Holy Wood is right
18:04:16 <AnMaster> if they were it would emit light
18:04:19 <ehird> they are always right
18:04:22 <ehird> it's just invisible light
18:11:21 <ehird> I should be boring and write another markov chain. i think I know enough now to get it to handle punctuation correctly.
18:11:41 <ehird> I'm not sure how to handle nested punctuation though.
18:11:43 <AnMaster> ehird, how does lzma use it btw?
18:11:48 <ehird> That is, how can I make sure parentheses are always balanced?
18:11:51 <ehird> Without just adding them to the end.
18:11:55 <ehird> I guess I could recurse or something.
18:12:32 <AnMaster> ehird, they aren't always balanced on irc normally
18:13:06 <ehird> so what, i always balance my parens :P
18:13:14 <ehird> but :) is a seperate token
18:13:52 <AnMaster> ehird, and variants like ;) and such
18:14:12 -!- metazilla has joined.
18:14:18 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
18:14:22 -!- metazilla has changed nick to moozilla.
18:14:33 <AnMaster> ehird, still recursion sounds like it could work as long as you somehow limit the depth
18:14:50 -!- metazilla has joined.
18:14:51 <AnMaster> would be nasty if it got stuck
18:14:51 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
18:15:02 -!- metazilla has changed nick to moozilla.
18:15:11 <AnMaster> heh, "in the deep lands of recursion"?
18:15:21 <ehird> AnMaster: problem is, when you reach EOF to stop recursing, that's end of messag
18:15:26 <ehird> so it won't work parenthically
18:15:41 <ehird> Hello, who are you? I am cool (a word for being awesome. Anyway, I must go now. Bye.) Actually wait, I'm not going.
18:15:44 <AnMaster> ah you mean you get lots of end of sentences then?
18:15:47 <ehird> ^ that's not the best usage of parentheses
18:15:54 <ehird> but if you just wait until ), that rarely happens
18:16:05 <ehird> as a close parenthesis rarely follows another word compared to, you know, other words
18:16:13 <ehird> maybe I could use a weighted markov chain like bayes does
18:16:18 <ehird> comex coded it I don't know how it works
18:16:26 <ehird> (it "directs" it to a certain token)
18:16:36 <AnMaster> could be used to *GENERATE* spam
18:16:37 <ehird> bayes is a nomic-playing bot
18:16:46 <ehird> it's called so because it votes using a bayesian spam filter
18:16:49 <ehird> anyway, unfortunately it takes like
18:16:57 <ehird> (n!)^2 or something storage space
18:16:59 <ehird> for the directed stuff :-P
18:17:07 <ehird> well, not that bad
18:17:59 <AnMaster> ehird, well what is the value of n
18:18:27 <ehird> all I know is it's way bigger than the actual chain
18:20:11 <AnMaster> ehird, hm it would be cool if you could make your mail server somehow return "no such user" to spammers *after* you received it..
18:20:28 <ehird> most mail servers silently accept bad addresses :\
18:20:31 <AnMaster> you can reject with no such user
18:20:41 <ehird> i once made a plan for an elaborate spam-fighting system
18:20:46 <AnMaster> ehird, reject with no such user and they will think the email is invalid
18:20:48 <ehird> but i was too lazy to writ eit
18:21:03 <ehird> you know those honeypot scripts
18:21:07 <ehird> that give a bunch of fake emails
18:21:08 <ehird> and a link for more
18:21:13 <ehird> it'd that, but improved by loads
18:21:19 <ehird> on domain foobar.com
18:21:28 <ehird> dsfjeii@honeypot.foobar.com
18:21:36 <ehird> whenever a spambot sent mail to one of those
18:21:47 <ehird> it'd ban them from the mail server
18:21:48 <AnMaster> well it wouldn't contain honeypot hopefully
18:21:50 <ehird> and mark them as spam
18:22:03 <AnMaster> ehird, yes that is how honeypots work
18:22:16 <ehird> honeypot cgi scripts generally just give fake addresses
18:22:18 <ehird> to pollute their database
18:22:31 <ehird> this one waits for them to actually spam, and then permanently marks them as a spammer
18:22:33 <AnMaster> ehird, oh I have mine set up to give emails to a special blackhole server
18:23:02 <AnMaster> ehird, I placed it in the footer on the supertux website iirc
18:23:26 <ehird> note that my real solution for such things is to let google figure it out for me. :P
18:23:41 <ehird> http://supertux.lethargik.org/ I don't see it
18:24:13 <ehird> lol, old supertux is so cheesy
18:24:27 <AnMaster> ehird, http://supertux.lethargik.org/development/information.php
18:24:50 <ehird> AnMaster: that doesn't work, that license thing
18:25:07 <ehird> but I mean the license notice
18:25:16 <ehird> if that works, the batshit insane lady who sued archive.org for copying her web pages when her page footer forbid it in english is RIGHT
18:25:40 <ehird> also, needs moar emails
18:25:47 <ehird> to give a higher chance of being spammed
18:26:02 <AnMaster> ehird, anyway the emails in it are valid, there is a global project for this
18:26:31 <ehird> i'm pretty sure project honeypot is different
18:26:32 <AnMaster> ehird, it basically does what you suggested
18:26:46 <ehird> http://www.spampoison.com/ t his is the most common anti-spam thing i've seen
18:29:26 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
18:31:37 <ehird> AnMaster: great now you've got me playing supertux
18:31:51 <ehird> only because I don't have super mario bros to hand though :P
18:32:11 <ehird> i am awful at supertux
18:32:14 <ehird> can't beat level 5 :||||||
18:32:56 <ehird> heh the older version is better?
18:33:15 <AnMaster> ehird, we adopted an odd/even versioning scheme
18:33:26 <AnMaster> so that is why there is no 0.2
18:33:35 <ehird> right, but 0.1.3 is better?
18:33:51 <AnMaster> ehird, currently it is more balanced yes
18:34:02 <AnMaster> 0.3.1 has lots of cool new features, but some are a bit buggy
18:34:15 <ehird> also, there is not enough fuel in my body to describe my hatred of odd/even versioning systems.
18:34:18 <AnMaster> and the game isn't always well balanced when it comes to speed and jumping force and such
18:34:53 <AnMaster> ehird, "the somewhat smaller bath"?
18:35:20 <AnMaster> for some odd reason I don't see the numbers here
18:35:54 <ehird> AnMaster: the frosted fields
18:37:01 <AnMaster> was a while ago I played 0.1.x
18:39:29 <ehird> i was standing on air
18:39:41 <AnMaster> ehird, could be invisible secret block
18:40:16 <AnMaster> just screenshot and I can tell you if that was the case
18:41:03 <ehird> level 1: http://xs435.xs.to/xs435/09014/picture1775.png
18:41:24 <AnMaster> screenshots work for me here on supertux
18:41:29 <ehird> the bunch of block
18:41:32 <ehird> with coins in them
18:41:40 <ehird> third from the right box, I had destroyed
18:41:43 <ehird> and I could walk over it
18:41:47 <ehird> but I dropped down a tiny bit but stayed there
18:41:49 <ehird> stopped when I jump
18:41:53 <ehird> Collision box thing I think
18:42:33 <AnMaster> did you have a block on either side
18:42:53 <AnMaster> ehird, known 0.1.3 bug, that one is fixed in 0.3.x
18:43:03 <AnMaster> along with support for slope added
18:43:38 <ehird> is there a debug mode that unlocks all the levels? :D
18:43:57 <AnMaster> there is a debug mode with cheat keys
18:44:04 <AnMaster> as a side effect it draws collrects
18:44:28 <AnMaster> ehird, 0.3.x have a console however
18:44:50 <AnMaster> since it has a scripting language built in for cut scenes and switches in levels and such
18:45:12 <AnMaster> like lua but less known and fewer features
18:45:18 <ehird> first rule of scripting languages: write your game in an existing one with eval and use that :P
18:45:36 <ehird> also wtf you can do small jumps if you don't hold space down
18:45:37 <AnMaster> ehird, heh, it is using an existing scripting language
18:45:56 <ehird> if you hold space down for a millisecond more you go high
18:45:58 <ehird> but otherwise you just hop tiny bit
18:46:33 <AnMaster> ehird, yes that makes sense, if you had a joystick it would be related to the axis
18:46:52 <AnMaster> or wait, joystick is 0.3.x only?
18:47:04 <AnMaster> ehird, anyway it is a feature and useful
18:47:25 <AnMaster> if you want to take a small jump, like cave and low ceiling
18:47:40 <AnMaster> if you hit your head then it will be harder to make a long jump
18:49:26 * ehird tries his new play style: hold down control and jump everywhere and never hit any enemies
18:49:33 <ehird> if you do, only hit them without trying to
18:50:25 <AnMaster> ehird, the egg looks like a snowball though
18:54:47 -!- kar8nga has joined.
19:00:11 <AnMaster> ehird, also project honeypot is like that: http://www.projecthoneypot.org/httpbl_api
19:01:55 -!- Asztal has quit (Remote closed the connection).
19:02:06 -!- Asztal has joined.
19:08:00 <GregorR> AnMaster: Presently the display doesn't display anything, I don't have the computer :P
19:08:06 <GregorR> AnMaster: But it will be a general-purpose computer.
19:08:16 <GregorR> A GPS-powered map would be one excellent use for it.
19:08:41 <AnMaster> GregorR, yes but with an antenna
19:08:41 <GregorR> The computer I'm hooking it to has wifi and bluetooth
19:08:58 <AnMaster> GregorR, how large is the computer?
19:09:37 <GregorR> Whole setup should cost me ~$700
19:09:40 <AnMaster> GregorR, but yes gps + map would rock
19:09:47 <AnMaster> and something to calculate best route
19:10:25 <AnMaster> GregorR, a pitty you won't be able to overlay the directions directly on the perspective
19:10:36 <ehird> that would be awesome, walking gps with overlayed directions
19:10:39 <AnMaster> like arrow showing what door to actually enter
19:10:43 <ehird> I'd never have to ask for directions!
19:11:08 <AnMaster> ehird, indeed, and not just directions on a map like in a car navigator, but directions pointing to the actual features in the real view
19:11:22 <AnMaster> that would be impossible though
19:11:30 <ehird> why impossible tho
19:11:48 <GregorR> It would definitely be possible, but probably not with this setup.
19:11:49 <AnMaster> correction: virtually impossible
19:12:10 <AnMaster> ehird, you would need to identify the features of the view, like street corners, and so on
19:12:28 <AnMaster> and figure out current exact orientation of the head
19:12:37 <ehird> that's not impossible. that's hard, but robots DO exist you know
19:12:41 <ehird> with, you know, sensors.
19:12:43 <ehird> that process image data.
19:12:51 <ehird> so in the future, yes, it'd/it'll be possible
19:12:56 <ehird> its not that unfeasable :)
19:13:11 <AnMaster> ehird, it is infeasible for GregorR with his current setup
19:13:53 <AnMaster> GregorR, should also have restaurant advice, oh and hat shop locations
19:15:27 <ehird> it should update him with choosemyhat.com results in REAL TIME
19:18:50 <AnMaster> GregorR, do people often comment on your hats when they meet you
19:25:05 <AnMaster> GregorR, I listened to some of your music pieces btw, quite good
19:25:56 <ehird> i've heard the Kill Yourself song and that's about it XD
19:26:48 <AnMaster> GregorR, I believe those 3 for a game would fit quite well into a fantasy game, say wesnoth or something like that
19:27:54 <AnMaster> haven't listened to 9 yet, 6 or below
19:29:42 <GregorR> People often comment on my hats, yes.
19:29:57 <GregorR> The comments are very varied, and different hats get different amounts of comments, often not in line with what you might think.
19:30:08 <GregorR> For example, the red fez gets tons of comments, but the green fez gets virtually none.
19:30:19 <AnMaster> GregorR, now that I hadn't expected
19:30:35 <GregorR> I guess, Idonno, I'm not psychic :)
19:31:10 <GregorR> At a certain point of strangeness people just stop talking at me at all ... when it gets really cold outside I wear a cape, and at that point people just don't look at me unless they know me :P
19:31:38 <AnMaster> GregorR, the recording of op 7 sounds a bit low quality, not sure how to define it
19:31:44 <AnMaster> also what about the game question
19:31:51 <GregorR> That recording is really old, yeah, it sucks :(
19:31:56 <GregorR> And the game was Battle for Wesnoth
19:32:02 <GregorR> I was making a campaign which I've since abandoned :P
19:32:16 <AnMaster> GregorR, I like wesnoth, and I like the game music for it
19:32:27 <AnMaster> GregorR, anyway I like 7, but not that recording of it
19:32:28 <GregorR> So do I, I just wanted unique music for my campaign *shrugs*
19:33:02 <AnMaster> GregorR, and your game music for it is quite good, is it recorded real life or with really high quality soundfont?
19:34:09 <AnMaster> GregorR, I would really wish a sound font with a good piano, too few free ones available though :/
19:34:45 <GregorR> I recorded it on my keyboard, I didn't write it as a MIDI, I just played it.
19:35:55 <AnMaster> GregorR, one thing about your opus 9, you seem to change style a bit in it to more bass chords (not sure if that is the right English terminology... I'm not a native speaker as you know).
19:36:11 <AnMaster> I think it may be the recording, or it is a bit heavy on the bass chords
19:36:32 <AnMaster> but overall I like it very much
19:37:05 <AnMaster> GregorR, can we here you play "Eine kleine Nachtmusik" at some point? :D
19:37:10 <GregorR> Opus 9 was a tune that was stuck in my head ... I didn't write it in the same way as I write most of my pieces, as the entire tune from beginning to end had just evolved as this weird tune I whistled.
19:38:57 <AnMaster> GregorR, well I don't have good soundfont
19:39:15 <AnMaster> so opus 9, well maybe you should upload an ogg of it with a good soundfont?
19:39:50 <GregorR> Only if you can provide a soundfont better than the one I already used :P
19:40:10 <GregorR> I forgot to provide a link to the ogg D-8
19:40:10 <AnMaster> oh you misread what I said I bet
19:40:19 <GregorR> There actually is a .ogg version already, made with freepats
19:41:06 <AnMaster> GregorR, one things that confuse me about your music is that you suddenly change tempo and style in the middle at some point where I wouldn't have expected it
19:42:21 <AnMaster> GregorR, I'm more used to classical music that doesn't do that. Anyway what about you playing (on a real piano preferably :) "Eine kleine Nachtmusik"?
19:42:26 <GregorR> I try to write in a stream-of-thought style ... I rarely repeat anything more than twice, I reuse themes but only in totally different contexts, and as a result it takes me a very long time to write anything.
19:42:42 <GregorR> I could do that, but I don't have a real piano :P
19:42:55 <ehird> I love music that changes style and tempo unexpectedly for no reason
19:43:13 <AnMaster> GregorR, ah, what about something by Liszt then? :P
19:43:39 <GregorR> So, Eine kleine Nachtmusik is acceptable only on a real piano, but Liszt can be played on whatever shitty keyboard I can dredge up? :P
19:43:54 <AnMaster> GregorR, both both are acceptable on keyboard
19:44:01 <GregorR> Oh, you might be interested, http://codu.org/music/GRegor-op10-beta2.ogg
19:44:02 <AnMaster> but I think making good recordings would be quite fun
19:44:12 <GregorR> Not my final recording of that (probably), not "released" per se
19:45:10 <AnMaster> GregorR, anyway Liszt would be extremely hard...
19:45:53 <AnMaster> say "La Campanella" (originally for violin, but at least Liszt made a piano version, no idea if it differs much)
19:46:38 <AnMaster> so far much less random changes in style
19:47:21 <ehird> what's wrong with those
19:47:31 <ehird> music should be surprising :D
19:47:32 <AnMaster> ehird, it is a matter of taste
19:47:45 <GregorR> The first section is 7/8, then 6/8, then 7/8, don't those count for anything? :P
19:48:17 <AnMaster> GregorR, hm when did the first change happen
19:48:32 <AnMaster> I might not have reached it yet
19:48:39 <GregorR> IT WAS SO SUBTLE YOU DIDN'T EVEN NOTICE IT
19:48:54 <AnMaster> GregorR, I'm around 2 minutes and 30 seconds into it
19:49:13 <GregorR> It's at around 1:15, you're well into the 6/8 section
19:49:38 <AnMaster> GregorR, or it seemed natural maybe
19:50:00 <AnMaster> GregorR, some differences I noted but they seemed to fit in there very well :)
19:50:27 <AnMaster> GregorR, plan to become a composer?
19:51:10 <GregorR> Yes, that's why I'm at graduate school for CS, it fits right into my music plans :P
19:51:25 <AnMaster> ok so you don't plan that then
19:52:14 <AnMaster> ah it was the end somehow, ok then that worked
19:52:44 <AnMaster> GregorR, yes I like that op 10 :)
19:52:46 <GregorR> Yeah, the 6/8-to-7/8 change is just a BAM
19:53:10 <AnMaster> GregorR, you play the piano very well
19:54:19 <GregorR> But I'm far better at CS, it's just a less visible skill :P
19:55:33 <AnMaster> GregorR, just wondering, would you be able to perform something like this: http://upload.wikimedia.org/wikipedia/commons/c/ca/Liszt-La_Campanella-Greiss.ogg
19:56:15 <AnMaster> if yes you should maybe consider playing piano instead of cs ;P
19:56:24 <GregorR> The usual answer is "with enough practice" :P
19:56:34 <AnMaster> GregorR, and that would be "a lot"?
19:56:43 <ehird> This is #esoteric.
19:56:54 <ehird> Suggesting someone do music instead of CS is unlikely to be fruitful.
19:57:03 <GregorR> From what I've heard so far, probably not /so/ much of a lot.
19:57:12 <GregorR> One sec, I'll get a recording of the most complicated thing I've played.
19:59:17 <GregorR> http://www.youtube.com/watch?v=u4iaugs_6uQ (This is not me, and no, I haven't played this as /well/ as this guy, I've just played it :P )
20:00:28 <GregorR> (By the way, it only gets difficult after a couple minutes)
20:01:16 <GregorR> I love nocturnes, by the way :P
20:01:58 <AnMaster> then "Eine kleine Nachtmusik" should fit you well
20:06:05 <GregorR> Note the small "related videos" links on the right, in particular the ones where the guy is wearing an unfortunate choice of clothing colors and so it looks like he's performing nude in the small pic :P
20:06:30 <GregorR> I just found that amusing :P
20:07:27 <AnMaster> GregorR, hm... quite nice that http://www.youtube.com/watch?v=u4iaugs_6uQ
20:13:13 <GregorR> That means I have to remember to mark my files every time I edit them for a while :P
20:13:46 <AnMaster> GregorR, I just sed them to update copyright header once at the start of the year
20:16:08 <ehird> uh, you should just put the copyright of when you wrote them.
20:17:02 <AnMaster> but I mean updating to say 2007-2009 instead of 2007-2008
20:17:28 -!- moozilla has joined.
20:23:51 <AnMaster> what do you think of these http://www.tangento.net/FaeriesAireandDeathWaltzGIF1.gif and http://www.tangento.net/FaeriesAireandDeathWaltzGIF2.gif
20:24:53 <ehird> AnMaster: those are two seperate pieces
20:25:55 <ehird> I know this because i've seen it 50 times.
20:26:03 <ehird> your source is... a filename.
20:26:32 <GregorR> I like "Cool timpani with small fan" :P
20:26:47 <AnMaster> ehird, possible, what is the name of the second one then?
20:27:36 <AnMaster> GregorR, in the first image there are some made up notes: half notes with flags
20:27:50 <ehird> the whole thing is invalid
20:27:59 <ehird> (wrong number of notes for a bar or sth IIRC)
20:28:10 <AnMaster> ehird, the second one is correct for number / bar for many parts at least
20:28:17 <AnMaster> I entered some of it into a midi program
20:28:25 <ehird> what does it sound like?
20:28:55 <AnMaster> was the bit below "With much passionfruit"
20:29:32 <AnMaster> ehird, if you like a rosegarden file I could upload it somewhere
20:29:53 <ehird> AnMaster: a midi would be nice.
20:30:10 <Asztal> obviously the MIDI rendering didn't follow the all-important "through the frog" and "whip it good" instructions
20:31:40 <AnMaster> ehird, http://omploader.org/vMTJ4Nw
20:32:06 <ehird> I've heard a full recording of that.
20:32:09 <AnMaster> it is just one instrument, and two bars
20:32:16 <ehird> AnMaster: a full midi
20:32:19 <ehird> I'd need to find it
20:32:44 <ehird> also, I LIKE the sound of that
20:32:52 <AnMaster> ehird, it doesn't sound too bad
20:33:04 <GregorR> Do they make multi-port USB wall chargers ...?
20:33:34 <AnMaster> I didn't even know there was anything called "usb wall charger"
20:33:52 <AnMaster> GregorR, idea: attach a powered hub to it?
20:34:23 <GregorR> I wouldn't trust that. The USB wall chargers are totally non-standards-compliant, they just dump as much power as they can manage at the USB device, so any device not intended for them can get zapped.
20:34:40 <GregorR> Plus, the powered USB hub would actually speak USB, so it would be unwilling to charge at the full rate.
20:35:22 <ehird> AnMaster: http://10e.org/file/death.mid incorrectly calls it the death waltz one, but oh well
20:35:29 <ehird> it actually sounds nce
20:35:34 <ehird> as in, it has actual structure and melody
20:38:35 -!- Warrigal has joined.
20:39:09 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
20:39:34 <Warrigal> I think the good old days of bsmnt_bot are over.
20:39:41 <AnMaster> ehird, I actually prefer more mainstream classical music
20:39:49 <ehird> AnMaster: It still sounds nice.
20:40:22 <ehird> AnMaster: it has melody and form.
20:40:24 <AnMaster> Warrigal, what did the bot do now again?
20:40:29 <ehird> it's better than a lot of stuff.
20:40:32 <AnMaster> ehird, true, but could any human play it?
20:40:32 <Warrigal> And a simpler one, with none of this chroot jail nonsense.
20:40:33 <ehird> also, it evaluated python.
20:40:43 <ehird> Warrigal: you need that if you want python
20:40:52 <ehird> but hey, I'm totally happy to remove your home directory.
20:41:29 <Warrigal> I'd rather just create a new user. :-P
20:41:46 <ehird> AnMaster: I have a normish user account.
20:41:57 <ehird> I could already do anythign I could do with a user on normish.
20:42:02 <ehird> I'm assumign Warrigal is goign to put it up on normish.
20:42:32 <ehird> Warrigal is connected via it.
20:42:43 <AnMaster> oh so it won't be in this channel then
20:42:53 <ehird> Warrigal is connected via normish.
20:43:16 <Warrigal> The bot would run on normish.org, yeah.
20:43:33 <AnMaster> Warrigal, no that would be too evil
20:43:41 <ehird> I'll be happy to redirect your homepage to Last Measure.
20:43:41 <Warrigal> Since, um, /var/www is world-writable and anyone can run anything as www-data.
20:43:45 <ehird> AnMaster: anyone can write to /var/www.
20:43:53 <ehird> But via a bot i'm less likely to lose my account.
20:44:16 <AnMaster> ehird, depends on who does it via that bot, you could still see who placed the bot there
20:44:25 <ehird> what bsmntbombdood said
20:44:28 <ehird> there is only one true bsmnt_bot
20:44:32 <ehird> and bsmntbombdood must run it.
20:44:41 <ehird> anything else is Right Bad Sacrelige.
20:45:16 <ehird> bsmntbombdood: I has a server.
20:45:42 <ehird> bsmntbombdood: ? :3
20:45:53 <Warrigal> I think I'll create a Normish proposal to give me a puppet.
20:45:55 <ehird> I WOULD BE MOST HONORED TO HOST EL "BS MNT BOT".
20:46:16 <AnMaster> you could make it into one of those machines where the wheels with symbols spins and you get 3 in a row or whatever, but with smilies instead
20:46:17 <Warrigal> And create an empty file in /var/active-players so it can't be an active player, of course.
20:46:26 <AnMaster> so you should get specific combos
20:46:36 <ehird> bsmntbombdood: only if you put it up. Anything else is great sacrelidgdgdgdge.
20:47:06 <ehird> bsmntbombdood: I could do that part.
20:47:14 <Warrigal> im gonna appropriate normish, k?
20:47:53 <ehird> bsmntbombdood: Shall I give you a shell account, then?
20:49:59 <AnMaster> you could use some sudo trick to do a safe transfer into the chroot ehird
20:50:09 <AnMaster> I got this set up for 32-bit chroot at home
20:50:14 <ehird> Yes, I probably will.
20:50:53 <Warrigal> We want adduser with --disabled-login and --no-create-home...
20:51:10 <AnMaster> in /etc/sudoers: anmaster ALL = NOPASSWD: /usr/bin/chroot /mnt/gentoo32 /usr/bin/sudo -u anmaster /bin/bash -c ( cd ~ ; /bin/bash )
20:51:43 <AnMaster> for /mnt/gentoo32/etc/sudoers it is enough to have the allow everything for root default line
20:52:05 <AnMaster> then the user just runs: linux32 sudo /usr/bin/chroot ${JAIL_DIR} /usr/bin/sudo -u "anmaster" /bin/bash -c "( cd ~ ; /bin/bash )"
20:52:38 <AnMaster> where JAIL_DIR is set in the script I copied the line from...
20:53:08 <AnMaster> sudo in jail doesn't even need to be suid, since only root runs it, it could be executable by root only
20:54:06 <Warrigal> Our activate script, http://normish.org/root/usr/bin/nomic/rtbls/activate, is... rather convoluted, I find.
20:54:12 <AnMaster> ehird, *as far as I know* this is safe
20:54:20 <ehird> Yes, yes, yes, yes, yes.
20:54:46 <ehird> Warrigal: it was written by ais523 to prove me wrong, are you surprised?
20:55:15 <Warrigal> Does that pretty much mean "the number of files in this folder, plus one, divided by two, rounded down"?
20:55:36 <Warrigal> I wonder if I can change ls -1 . to list only directories.
20:56:08 <AnMaster> no idea why ls is needed there
20:56:19 <AnMaster> ehird, prove you wrong about what?
20:56:26 <ehird> bsmntbombdood: what command are you using?
20:56:41 <ehird> the whole thing :|
20:57:13 <ehird> bsmntbombdood: std-eso.org
20:58:44 <ehird> bsmntbombdood: I assume the chroot is 32-bit? then I'd better install linux32
20:59:14 <ehird> linux32 solves all issues everywhere
20:59:21 <ehird> like aids and cancer. just apply linux32.
20:59:22 <Warrigal> (echo */ | wc) instead of (ls -1 . | wc -l)?
21:00:15 <ehird> this is a VPS, it's some weird shit, apparently it's shared between all of the servers
21:00:43 <ehird> i am too poor to afford a dedi :} but this is functionally equivalent for 99% of stuff so.
21:00:58 <ehird> this is one huge bot tarball you've got here
21:01:45 <ehird> one slow upload, wonder if that's you or the server
21:12:35 -!- oerjan has joined.
21:12:50 <ehird> bsmntbombdood: woohoo
21:13:09 <ehird> bsmntbombdood: is it all ready?
21:14:22 <ehird> python2.4, oldschool
21:15:06 <ehird> bsmntbombdood: can't you use emacs locally and tramp to connect via ssh?
21:15:09 <ehird> I'm sure I've done that.
21:15:22 <oerjan> i'd like to point out that the logs link in the topic is incorrect. only the part up to the host is case insensitive.
21:15:38 <ehird> your mom is insensitive
21:17:05 <ehird> bsmntbombdood: fine i'll install eamcs
21:17:22 <ehird> well actually mg because I hate you <.<
21:17:51 <ehird> bsmntbombdood: you have your wish.
21:18:01 <oerjan> <GregorR> ais523: No. No there is not. As the formation of a planet takes substantially longer than a day, and there's no agreement on what exact moment the planet is considered to be a planet rather than a ball of primordial ooze.
21:18:27 <oerjan> i'd also like to point out that when the earth was created, the day/year ratio was probably different
21:19:12 <oerjan> s/created/formed/ in case someone thinks the former has connotations
21:20:14 -!- bsmnt_bot has joined.
21:20:18 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
21:20:22 <GregorR> WHEN JESUS CAME FROM HIS SPACESHIP AND SPAT INTO SPACE, THE SPITWAD FORMED A BALL AND EVENTUALLY BECAME EDEN
21:20:27 <GregorR> WHEN EVE FUCKED IT UP EDEN BECAME EARTH
21:20:30 <ehird> bsmnt_bot has no help
21:20:38 <ehird> bsmntbombdood: did it?
21:20:50 <ehird> :ehird!n=ehird@eso-std.org PRIVMSG #esoteric :~exec print 2+2
21:21:04 <ehird> do infiniloops still break it?
21:21:10 <ehird> ~exec while True: print 'a'
21:21:19 -!- bsmnt_bot has quit (Remote closed the connection).
21:22:07 -!- bsmnt_bot has joined.
21:22:08 -!- bsmnt_bot has quit (Remote closed the connection).
21:22:19 <bsmntbombdood> ehird: redirect stdout and stderr to ~bsmnt/output plox
21:22:30 <ehird> bsmntbombdood: how about using nohup
21:23:27 <ehird> bsmntbombdood: put it back?
21:23:49 -!- bsmnt_bot has joined.
21:24:17 <ehird> ~exec sys.stdout.write('yoyo')
21:24:22 <ehird> ~exec sys.stdout.write('i am green')
21:24:29 <ehird> ~exec sys.stdout.write(repr(self))
21:24:29 <bsmnt_bot> <__main__.IRCbot instance at 0xf7cb86ec>
21:24:34 <ehird> bsmntbombdood: no.
21:24:45 <bsmnt_bot> NameError: name 'a' is not defined
21:24:59 <ehird> bsmnt_bot: GLAD TO HAVE YOU BACK, YOUR BUGGINESS <3
21:25:00 -!- bsmnt_bot has quit (Remote closed the connection).
21:26:01 <ehird> root@rutian:/home/bsmnt# nohup ~bsmnt/python_chroot/bot/start.sh >output 2>&1 &
21:26:05 <ehird> 's how i started it
21:26:26 <ehird> bsmntbombdood: look at start.sh
21:26:29 <ehird> why would it restatr
21:27:23 <ehird> i'll fix it later ;)
21:27:37 -!- bsmnt_bot has joined.
21:31:26 <oerjan> <ehird> are you all DENSE
21:31:36 <oerjan> YOU are dense. you are a black hole, remember?
21:31:51 -!- bsmnt_bot has quit (Excess Flood).
21:33:01 <oerjan> bsmntbombdood: iirc you only did that for individual sys.stdout() calls
21:36:59 <oerjan> <ehird> unless someone is confused, it can be taken as read that we get the bloody context
21:37:17 <oerjan> yes, but it's still obscure to bring up unicorns
21:37:52 -!- KingOfKarlsruhe has joined.
21:38:52 <bsmntbombdood> iirc there are some pretty cool python hacks in that bot
21:43:58 * ehird makes it run in a while tru
21:44:16 <bsmntbombdood> ehird: wrap start.sh in something like while [ -f keep_running]; do start.sh; done
21:44:28 <ehird> # (while true; do nohup ~bsmnt/python_chroot/bot/start.sh >output 2>&1; done) &
21:44:32 -!- bsmnt_bot has joined.
21:44:39 <bsmnt_bot> NameError: name 'random' is not defined
21:44:45 <ehird> ~exec while 1: sys.stdout('i like big butts and I cannot lie')
21:44:45 -!- bsmnt_bot has quit (Excess Flood).
21:44:46 -!- kar8nga has left (?).
21:44:48 -!- bsmnt_bot has joined.
21:45:00 <Warrigal> ~exec sys.stdout(__import__('random').random())
21:45:09 <Warrigal> ~exec sys.stdout(__import__('random').randomInt())
21:45:10 <bsmnt_bot> AttributeError: 'module' object has no attribute 'randomInt'
21:45:13 <bsmnt_bot> NameError: name 'random' is not defined
21:45:16 <ehird> Warrigal: lern2python
21:45:17 <ehird> ~exec __import__('socket')
21:45:20 <Warrigal> ~exec sys.stdout(dir(__import__('random')))
21:45:23 <ehird> ugh we need an auto-print
21:45:25 <bsmnt_bot> ['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', 'WichmannHill', '_BuiltinMethodType', '_MethodType', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '_acos', '_cos', '_e', '_exp', '_hexlify', '_inst', '_log', '_pi', '_random', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'ch
21:45:27 <ehird> ~exec print __import__('socket')
21:45:30 <bsmnt_bot> oice', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'jumpahead', 'lognormvariate', 'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'uniform', 'vonmisesvariate', 'weibullvariate']
21:45:34 <ehird> ~exec sys.stdout(repr(__import__('socket'))
21:45:34 <bsmnt_bot> SyntaxError: unexpected EOF while parsing
21:45:36 <ehird> ~exec sys.stdout(repr(__import__('socket')))
21:45:41 <ehird> hellllllooooooooooo
21:45:44 <Warrigal> ~exec sys.stdout(__import__('random').randint(5))
21:45:46 <bsmnt_bot> <module 'socket' from '/usr/lib/python2.4/socket.pyc'>
21:45:52 <bsmnt_bot> TypeError: randint() takes exactly 3 arguments (2 given)
21:46:00 <ehird> Cool, we have sockets.
21:46:01 <Warrigal> ~exec sys.stdout(__import__('random').randint(1,5))
21:46:11 <ehird> ~exec sys.stdout(repr(open('start.sh').read()))
21:46:11 <bsmnt_bot> IOError: [Errno 2] No such file or directory: 'start.sh'
21:46:28 <ehird> ~exec sys.stdout(repr(open('bin').read()))
21:46:29 <bsmnt_bot> IOError: [Errno 21] Is a directory
21:46:33 <Warrigal> ~exec self.randint = __import('random').randint
21:46:34 <bsmnt_bot> NameError: name '__import' is not defined
21:46:35 <ehird> ~exec sys.stdout(repr(open('bot/start.sh').read()))
21:46:39 <Warrigal> ~exec self.randint = __import__('random').randint
21:46:44 <bsmnt_bot> '#! /bin/bash\n\nCHROOT=/home/bsmnt/python_chroot/\n\nif grep bot/files.img /etc/mtab\nthen\n echo\nelse\n mount $CHROOT/bot/files.img $CHROOT/bot/scripts -o loop,noexec,nodev,nosuid\nfi\n\nchroot $CHROOT /usr/bin/nice -n 7 /usr/bin/python2.4 /bot/ircbot.py\n'
21:46:48 <ehird> bsmntbombdood: can it write to itself?
21:47:02 <ehird> bsmntbombdood: Couldn't I destroy its python file right now?
21:47:18 <Warrigal> ~exec self.blah = lambda: self.randint(1,5)
21:47:37 <ehird> it's a bit flaky ain't it
21:47:55 <Warrigal> ~exec blah = self.blah; sys.stdout([blah(),blah(),blah(),blah(),blah(),blah(),blah(),blah()])
21:47:56 <bsmnt_bot> NameError: global name 'self' is not defined
21:48:19 <KingOfKarlsruhe> ~exec map(lambda x, y: x ^ y, list('ABCDEF'), (list('CFGHJK'))
21:48:19 <bsmnt_bot> SyntaxError: unexpected EOF while parsing
21:48:23 <Warrigal> ~exec blah = bot.blah; sys.stdout([blah(),blah(),blah(),blah(),blah(),blah(),blah(),blah()])
21:48:26 <bsmnt_bot> NameError: global name 'self' is not defined
21:48:38 <ehird> Warrigal: try #bsmnt_bot_errors
21:49:02 <bsmnt_bot> <__main__.IRCbot instance at 0xf7c616ec>
21:49:21 <ehird> ~exec sys._exit(0)
21:49:21 <bsmnt_bot> AttributeError: 'module' object has no attribute '_exit'
21:49:46 <Warrigal> ~exec sys.stdout([self.blah() for n in [1,2,3,4,5,6,7,8,9,10])
21:49:46 <bsmnt_bot> SyntaxError: unexpected EOF while parsing
21:49:52 <Warrigal> ~exec sys.stdout([self.blah() for n in [1,2,3,4,5,6,7,8,9,10]])
21:49:53 <bsmnt_bot> NameError: global name 'self' is not defined
21:50:00 <Warrigal> ~exec sys.stdout([bot.blah() for n in [1,2,3,4,5,6,7,8,9,10]])
21:50:07 <bsmnt_bot> NameError: global name 'self' is not defined
21:50:26 <bsmnt_bot> NameError: global name 'self' is not defined
21:50:35 <bsmnt_bot> AttributeError: IRCbot instance has no attribute '__sys'
21:50:50 <ehird> 21:47 <Warrigal> ~exec self.blah = lambda: self.randint(1,5)
21:50:58 <ehird> (It needs "lambda self: ...")
21:51:03 -!- psygnisfive has quit ("Leaving...").
21:51:11 <ehird> ~exec self.blah = lambda self: self.randint(1,5)
21:51:17 <ehird> ~exec sys.stdout(self.blah())
21:51:17 <bsmnt_bot> TypeError: <lambda>() takes exactly 1 argument (0 given)
21:51:28 <ehird> Warrigal: solution:
21:51:44 <ehird> ~exec self.blah = (lambda this: (lambda: this.randint(1,5)))(self)
21:51:48 <ehird> ~exec sys.stdout(self.blah())
21:51:51 <Warrigal> ~exec sys.stdout([__import__('random').randint(1,5) for n in [1,2,3,4,5,6,7,8,9,10]])
21:52:00 <Warrigal> I think it generates a random integer from 1 to 5.
21:52:21 <ehird> ~exec self._ = (lambda this: (lambda l: l(this)))(self)
21:52:24 <KingOfKarlsruhe> ~exec map(lambda x, y: chr(ord(x) ^ ord(y)), list('Hello'), list('jtcvb'))
21:52:32 <Warrigal> ~exec self.raw('JOIN ##nomic')
21:52:36 <ehird> ~exec self.blahhy = self._(lambda this: this)
21:52:40 <ehird> ~exec sys.stdout(self.blahhy)
21:52:40 <bsmnt_bot> <__main__.IRCbot instance at 0xf7c616ec>
21:52:42 <ehird> ~exec sys.stdout(self.blahhy())
21:52:43 <bsmnt_bot> AttributeError: IRCbot instance has no __call__ method
21:52:54 <KingOfKarlsruhe> ~exec sys.stdout(map(lambda x, y: chr(ord(x) ^ ord(y)), list('Hello'), list('jtcvb')))
21:52:55 <bsmnt_bot> ['"', '\x11', '\x0f', '\x1a', '\r']
21:53:08 <ehird> ~exec self._ = (lambda this: (lambda l: lambda *a, **k: l(this, *a, **k)))(self)
21:53:16 <ehird> ~exec self.blahhy = self._(lambda this, a: (this,a))
21:53:19 <Warrigal> ~exec self.raw('PRIVMSG ##nomic :%n' % __import__('random').randint(1,5))
21:53:19 <bsmnt_bot> ValueError: unsupported format character 'n' (0x6e) at index 18
21:53:21 <ehird> ~exec sys.stdout(self.blahhy(2))
21:53:22 <bsmnt_bot> (<__main__.IRCbot instance at 0xf7c616ec>, 2)
21:53:26 <ehird> Warrigal: I made defining functions easy.
21:53:30 <ehird> 21:53 <ehird> ~exec self.blahhy = self._(lambda this, a: (this,a))
21:53:38 <Warrigal> ~exec self.raw('PRIVMSG ##nomic :%d' % __import__('random').randint(1,5))
21:56:37 <KingOfKarlsruhe> ~exec sys.stdout([ i for i in map(lambda x, y: chr(ord(x) ^ ord(y)), list('Hello'), list('jtcvb')) ])
21:56:38 <bsmnt_bot> ['"', '\x11', '\x0f', '\x1a', '\r']
21:56:45 <ehird> KingOfKarlsruhe: What are you doing?
21:59:01 <KingOfKarlsruhe> ~exec sys.stdout(map(lambda x, y: chr(ord(x) ^ ord(y)), ['"', '\x11', '\x0f', '\x1a', '\r'], list('jtcvb')))
21:59:41 <ehird> KingOfKarlsruhe: Ah, http://monolith.sourceforge.net/?
22:00:08 <bsmntbombdood> i'm just surprised that bsmnt_bot worked on the first try
22:02:33 <Warrigal> Haskell: {decode ('#':x:xs) = x `asciiXOR` ' ' : decode xs; decode ('$':x:xs) = x `asciiXOR` '@' : decode xs; decode ('%':x:xs) = x `asciiXOR` '`' : decode xs; decode (x:xs) = x : decode xs; decode [] = []}
22:02:47 <Warrigal> Where asciiXOR converts characters into numbers, bitwise XORs them, and converts them back.
22:02:52 <Warrigal> How would you do that in Python?
22:02:55 <ehird> that's nothing remotely like KingOfKarlsruhe's...
22:03:12 <Warrigal> Yes, but KingOfKarlsruhe's reminded me of this.
22:08:33 <KingOfKarlsruhe> ~exec sys.stdout(__import__('md5').md5.md5('Hello world!').hexdigest())
22:08:34 <bsmnt_bot> AttributeError: 'builtin_function_or_method' object has no attribute 'md5'
22:09:45 <KingOfKarlsruhe> ~exec sys.stdout(__import__('md5').md5('Hello world!').hexdigest())
22:11:02 <ehird> bsmntbombdood: i can't fix you.
22:12:20 <bsmntbombdood> ~exec self.add_callback(".*foofoo.*", lambda *args:self.raw("PRIVMSG #esoteric :%s" % "fofofofofofof"))
22:12:21 <bsmnt_bot> AttributeError: IRCbot instance has no attribute 'add_callback'
22:12:35 <ehird> what's up with that
22:13:28 <bsmntbombdood> ~exec self.register_raw(".*foofoo.*", lambda *args:self.raw("PRIVMSG #esoteric :%s" % "fofofofofofof"))
22:13:36 <bsmnt_bot> NameError: global name 'self' is not defined
22:13:45 <bsmntbombdood> ~exec self.register_raw(".*foofoo.*", lambda *args:bot.raw("PRIVMSG #esoteric :%s" % "fofofofofofof"))
22:13:45 <bsmnt_bot> NameError: global name 'self' is not defined
22:14:05 <bsmnt_bot> NameError: global name 'self' is not defined
22:14:33 -!- bsmnt_bot has quit.
22:14:35 -!- bsmnt_bot has joined.
22:14:52 <ehird> bsmntbombdood: oh, no persistence?
22:14:56 <ehird> persistence is for weenies
22:16:20 <ehird> bsmntbombdood: why doesn't it work
22:22:26 <bsmntbombdood> i can see why they say it's good to comment your code
22:23:08 <ehird> bsmntbombdood: why not use betterbot then
22:23:44 <bsmntbombdood> because the startup script has stuff that i added later
22:24:07 <ehird> i can see bsmnt_bot is a well-maintained piece of software
22:24:16 -!- KingOfKarlsruhe has quit (Remote closed the connection).
22:24:59 * ehird note to self: never let bsmntbombdood touch code
22:26:41 <Warrigal> Boss, I think there's something wrong with that programmer you hired.
22:26:54 <Warrigal> He doesn't actually do anything; he just sits around and eats carrots.
22:27:55 <Warrigal> When I told him to write a program for me, he just brayed at me.
22:31:28 -!- psygnisfive has joined.
22:32:12 <oerjan> Warrigal: don't give him any more carrots until his program compiles successfully. i'm sure you can take it from there.
22:33:01 <oerjan> also, wear protective clothing when you tell him about this policy
22:33:39 <ehird> stop making me sad oerjan
22:36:03 <bsmntbombdood> ehird: want kind of loser doesn't have libevent installed
22:36:16 <ehird> bsmntbombdood: one whose server has absolutely nothing on
22:36:23 <ehird> what do you want libevent for ey
22:36:31 <oerjan> now now i didn't say the program had to actually _work_
22:36:42 <oerjan> we're not complete sadists here
22:37:47 <ehird> you don't mean my server?
22:37:48 <ehird> i was just guessing
22:38:31 <ehird> oh jeez, bsmntbombdood,
22:38:34 <ehird> output is in ~ehird
22:38:49 <ehird> a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), not stripped
22:38:58 <ehird> that's why it doesn't work
22:39:14 <ehird> ^@Welcome, Your nick: ^@<^@> ^@Thank you ^@
22:39:15 <ehird> Active users: ^@, ^@*system*: ^@ has joined
22:41:19 <ehird> how did you run it
22:41:38 <ehird> o, we have linux32
22:42:05 -!- dkoder has joined.
22:42:49 <ehird> bsmntbombdood: Welcome, Your nick: ^[[A^[[A
22:43:13 -!- dkoder has left (?).
22:43:27 * Warrigal ponders the use of production rules in compiling
22:43:59 <ehird> all yur messages are blank
22:44:45 <Warrigal> <expression with variables X> -> lambda <variable Y not in X> -> <expression with variables X union {Y}>
22:45:55 <ehird> bsmntbombdood: sorry
22:45:58 <ehird> i'll connect properly now
23:17:53 -!- Judofyr has quit.
23:28:24 <ehird> Sure, iMovie as a web app. Uh-huh. Slogan: “And you thought USB was slow.” -- John Gruber
23:42:31 <oerjan> steel is fine, the others i'm not quite as fond of
23:42:40 <oerjan> (yeah i know it's a book title)
00:09:31 <ehird> should I feel guilty about coding a bsmnt_bot competitor
00:18:34 <Warrigal> "No," says my Adam Smith puppet.
00:18:55 <Warrigal> I think he's saying that to ehird.
00:19:16 * oerjan hits the Adam Smith puppet over the head with the saucepan of nations ====\___/
00:23:57 <ehird> The nice thing about my bot is that it'll have eval, but it won't be able to break the bot.
00:24:02 <ehird> But you'll be able to fiddle with it
00:24:06 <ehird> Also, it'll have esolang interps and stuff.
00:24:09 <ehird> Also, a babble generator.
00:24:16 <ehird> In short, a nice respectable #esoteric bot, with fun Python evaluation.
00:26:53 <ehird> Also, mine will log this channel.
00:27:00 <ehird> So you don't have to use the awful tunes.org log interface.
00:27:20 <Warrigal> I've always wanted to make a fake bashbot.
00:28:33 <Warrigal> An IRC bot that looks like bash but isn't.
00:29:35 <Warrigal> I don't think I know of any other bashes.
00:31:22 <ehird> Message('PRIVMSG', '#esoteric', 'Hello, world!')
00:32:41 <ehird> >>> botte.message.Message('PRIVMSG', '#esoteric', 'Hello, world!')
00:32:41 <ehird> PRIVMSG #esoteric :Hello, world!
00:32:46 <ehird> Phear my 1337 skillz.
00:33:55 * Warrigal ponders what programs a person could possibly want
00:34:56 <Warrigal> A few: cat, chmod, chown, irc, mkdir, rm, rmdir
00:36:25 <Warrigal> I suppose some commands to interact with running processes would be nice. bash itself would also be useful, of course.
00:36:45 <ehird> oerjan: yes, botte is sucha nice name
00:37:29 <Warrigal> Then again, I don't want to go overboard with trying to be like a Unix system. So no fancy process interaction that wouldn't be easy to implement anyway.
00:37:38 <ehird> Warrigal: what are you doing?
00:37:48 <Warrigal> Wanting to make a fake bashbot.
00:38:02 <ehird> oerjan: will you be friends with botte?
00:38:32 <Warrigal> I guess I would also include echo.
00:47:18 <ehird> botte.bot.Bot().plugins['karma'].commands[0].handle(bot, botte.message.Message('PRIVMSG', '#esoteric', '.hello'))
00:47:21 <ehird> ^ worse than java :D
00:48:34 <oerjan> this will be the botte of our jokes
00:49:29 <ehird> oerjan: i love you.
00:51:50 <oerjan> no, _this_ beats you ====\___/
00:52:01 <ehird> botte should have a .swat
00:52:07 <ehird> so oerjan doesn't have to do any work
00:52:21 * oerjan never does any work anyhow
00:53:06 <ehird> swatting is hard work!
00:55:56 <ehird> hmm I have a bit of a possible bottleneck here
00:56:06 <ehird> possibly parsing the input stream for a command -everysingletime- isn't so clever
00:59:55 <ehird> hmm, I'll compile everything down to regexps...
01:05:29 <ehird> i'm... so decisive
01:05:38 <ehird> whoa holy shit, oklopol moment coming on.
01:08:02 <oerjan> it's because oklopol isn't here
01:08:19 <oerjan> his spirit is possessing you
01:09:23 * oerjan bringeth forth ye holie exorcising swatter -----###
01:10:26 <oerjan> please do not resist, or we'll have to do ye holy hand grenade next
01:11:47 * oerjan watcheth ye eville daemone runne away in ye form of a rabbite
01:30:42 * ehird decides that one match of a regex then a dictionary lookup is faster than many matches of a regex.
02:28:31 <Warrigal> I love Ye Olde Butcherede Englifhe.
02:50:06 -!- CakeProphet has quit (Remote closed the connection).
02:50:44 <psygnisfive> i hope you dont think that "ye olde butcherede englifhe" is the same as "old english"
02:51:26 <oerjan> i hope psygnisfive knows the meaning of the word "butchered[e]" :D
02:51:48 <psygnisfive> i do, but i mean the general "ye olde englifhe" type stuff
02:53:00 * oerjan trieth to use -th correctly, at least
02:53:36 <oerjan> the rest - not so much
02:53:39 <psygnisfive> the thing with older -th is that its basically where we use -s today
02:54:28 <psygnisfive> but yeah, "ye olde englifhe" is not Old English
02:54:49 * oerjan assumeth it is closer to Middle
02:54:49 <psygnisfive> if anything its early modern english before the standardization of spelling
02:57:57 <psygnisfive> Hw<CTCP>æt! Wē Gār-Dena in geār-dagum, þeod-cyninga, þrym gefrunon, hu ða æþelingas ellen fremedon. Oft scyld scefingsceaþena þreatum, monegum mægþum, meodosetla ofteah, ogsode eorl.
03:04:34 -!- CakeProphet has joined.
03:23:38 <Warrigal> Speaking Old English be all about using the subjunctive.
03:24:16 <Warrigal> Saying "That were hard to compass." instead of "That is hard to compass." make all the difference.
03:24:54 <oerjan> Warrigal speak much nonsense
03:25:10 <Warrigal> It be only the subjunctive, my friend.
03:25:46 <Warrigal> Anyway, no more complete sentences for me. Shunning verbs, and all. Much more flexible this way.
03:26:18 <Warrigal> Peculiar or just iffy tendency, perhaps, but no problem to understand.
03:26:27 <Warrigal> Remind me of palindromes, actually.
03:26:32 <oerjan> Warrigal spækas myki baldurdashi
03:27:09 <Warrigal> Ah, the wonders of speaking entirely in incomplete sentences...
03:27:35 <oerjan> I accidentally complete sentences too
03:27:40 -!- GregorR has set topic: Logs are here: `wget http://tunes.org/~nef/logs/esoteric/08.12.29 -O - 2> /dev/null | grep 'logs >>>' | sed 's/.*logs >>> \(.*\) <<<.*/\1/'`.
03:28:01 <oerjan> ack, new year topic accidentally over
03:28:50 <oerjan> well yeah i accidentally that earlier
03:28:55 <Warrigal> Bah, verb omission. Ungrammatical.
03:29:10 <Warrigal> Unlike omitting the subject, which I assure you is completely grammatical.
03:29:28 <oerjan> Warrigal: i accidentally your viewpoint
03:30:06 <Warrigal> Wait, "much more flexible" to avoid complete sentences completely? Yeah, right.
03:30:17 <oerjan> i would guess in old english as well, since they had more personal verb endings
03:31:04 <oerjan> istr old norse could leave out subjects, although it's been a while
03:32:37 <oerjan> i may adopt an egoistic grammar where i use only one subject for all sentences
03:33:33 <oerjan> after i drive everyone crazy with it, i will rule the world
03:34:19 <oerjan> or should we adopt a royal we, hm...
04:03:02 -!- psygnisfive has quit (Read error: 54 (Connection reset by peer)).
04:04:24 -!- psygnisfive has joined.
04:26:43 -!- Warrigal has changed nick to kerlo.
04:44:07 -!- kerlo has changed nick to Warrigal.
04:52:05 -!- Warrigal has changed nick to kerlo.
05:20:34 -!- Asztal has quit (kornbluth.freenode.net irc.freenode.net).
05:20:34 -!- sebbu2 has quit (kornbluth.freenode.net irc.freenode.net).
05:20:35 -!- psygnisfive has quit (kornbluth.freenode.net irc.freenode.net).
05:20:36 -!- flexo has quit (kornbluth.freenode.net irc.freenode.net).
05:20:36 -!- Dewi has quit (kornbluth.freenode.net irc.freenode.net).
05:20:37 -!- ehird has quit (kornbluth.freenode.net irc.freenode.net).
05:20:38 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
05:20:38 -!- puzzlet has quit (kornbluth.freenode.net irc.freenode.net).
05:20:39 -!- rodgort has quit (kornbluth.freenode.net irc.freenode.net).
05:20:39 -!- decipher has quit (kornbluth.freenode.net irc.freenode.net).
05:20:41 -!- Badger has quit (kornbluth.freenode.net irc.freenode.net).
05:20:41 -!- AnMaster has quit (kornbluth.freenode.net irc.freenode.net).
05:20:42 -!- lament has quit (kornbluth.freenode.net irc.freenode.net).
05:20:42 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
05:20:43 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net).
05:24:24 -!- Asztal has joined.
05:24:24 -!- ehird has joined.
05:24:24 -!- sebbu2 has joined.
05:24:24 -!- rodgort has joined.
05:24:24 -!- GregorR has joined.
05:24:24 -!- puzzlet has joined.
05:24:24 -!- SimonRC has joined.
05:24:24 -!- decipher has joined.
05:24:24 -!- lament has joined.
05:24:24 -!- mtve has joined.
05:28:24 -!- Asztal has quit (kornbluth.freenode.net irc.freenode.net).
05:28:24 -!- sebbu2 has quit (kornbluth.freenode.net irc.freenode.net).
05:28:25 -!- puzzlet has quit (kornbluth.freenode.net irc.freenode.net).
05:28:25 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
05:28:26 -!- ehird has quit (kornbluth.freenode.net irc.freenode.net).
05:28:26 -!- decipher has quit (kornbluth.freenode.net irc.freenode.net).
05:28:26 -!- rodgort has quit (kornbluth.freenode.net irc.freenode.net).
05:28:26 -!- lament has quit (kornbluth.freenode.net irc.freenode.net).
05:28:27 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
05:28:27 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net).
05:30:50 -!- Asztal has joined.
05:30:50 -!- ehird has joined.
05:30:50 -!- sebbu2 has joined.
05:30:50 -!- rodgort has joined.
05:30:50 -!- GregorR has joined.
05:30:50 -!- puzzlet has joined.
05:30:50 -!- SimonRC has joined.
05:30:50 -!- decipher has joined.
05:30:50 -!- lament has joined.
05:30:50 -!- mtve has joined.
05:31:05 -!- AnMaster has joined.
05:31:05 -!- Badger has joined.
05:31:24 -!- psygnisfive has joined.
05:31:24 -!- flexo has joined.
05:31:24 -!- Dewi has joined.
05:42:07 -!- oerjan has quit ("Good night").
06:57:22 <GregorR> Argh, tools are chrome-plated.
07:53:23 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
07:54:27 -!- puzzlet has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:28:11 <CakeProphet> GregorR: in bf, does - wrap back around to 255?
08:53:38 -!- Mony has joined.
08:56:18 <GregorR> CakeProphet: Depends on the implementation.
08:56:28 <GregorR> CakeProphet: In most implementations it raps around.
08:56:52 <CakeProphet> my Haskell implementation will freestyle upon decrementing a 0
08:57:24 <CakeProphet> well, unless you mean something else by "raps around".
08:57:43 <GregorR> I mean that when you subtract from 0, it goes to MAXVAL.
09:01:26 <GregorR> http://smg.photobucket.com/albums/v47/BenMaras/?action=view¤t=ijoystick.png (NSFW, NSF-sanity)
10:44:34 -!- M0ny has joined.
10:53:17 -!- Mony has quit (Read error: 145 (Connection timed out)).
11:03:11 -!- M0ny has quit ("Quit").
11:06:31 -!- KingOfKarlsruhe has joined.
11:36:03 -!- Judofyr has joined.
12:15:35 -!- puzzlet has quit (Remote closed the connection).
12:15:40 -!- puzzlet has joined.
13:09:57 -!- KingOfKarlsruhe has quit (Remote closed the connection).
13:51:27 -!- ehird has left (?).
13:51:31 -!- ehird has joined.
13:51:44 -!- ehird has left (?).
13:51:49 -!- ehird has joined.
14:13:06 <ehird> you know what i like
14:13:19 <ehird> ~exec sys.stdout('why thank you')
14:13:28 <ehird> so good to have you back old chap
14:22:19 -!- oerjan has joined.
15:11:25 -!- puzzlet has quit (Remote closed the connection).
15:11:30 -!- puzzlet has joined.
15:18:42 <ehird> Pop quiz: how long do you think it'd take to match 100 short regexps against a short text?
15:20:24 <oerjan> finally a question within my expertise - oh wait
15:20:50 <oerjan> but if i may guess: "not very long"
15:24:02 <ehird> oerjan: how much faster than matching 1 short regexp against the same text, then doing a hashtable lookup on one of the groups?
15:24:14 <ehird> i imagine the answer is "0.5ms"
15:24:39 <oerjan> now we're _really_ out of my expertise
15:26:24 <oerjan> although hm, you should be able to do 100 regexps in parallel by merging the finite state automata. that would be assuming they're actually implemented that way
15:27:02 <oerjan> or maybe the number of states will blow up exponentially (^100)
15:27:22 <ehird> oerjan: I think python regexps are less speedy than FSAs
15:27:25 <ehird> because of backrefs
15:28:08 <oerjan> yeah regexps mean more than the CS definition these days
15:28:33 <oerjan> i think optimizing it can depend a lot on the form of the regexps
15:29:17 <oerjan> and did i mention my lack of expertise?
15:29:44 <ehird> oerjan: what's worth noting is that these regexps are matching a line from irc.
15:29:50 <ehird> to choose which command to run.
15:29:55 <ehird> very speed-sensitive,
15:31:13 <oerjan> um how many thousand channels are you watching? O_O
15:31:57 <ehird> oerjan: well, my initial deployment is 5,000 worldwide
15:32:10 <ehird> then I think I'll run a few instances but with shared memory
15:32:14 <ehird> long-term, about 100,000 channels
15:32:22 <ehird> which get 100 messages/sec each
15:33:21 <ehird> hopefully I will then implement bot procreation
15:33:27 <ehird> and all bots will eventually become botte
15:34:50 <oerjan> anyway i think you should do the hashtable thing until you know you need more speed
15:36:33 <ehird> oerjan: wut? the hashtable one is the slower one
15:36:50 <oerjan> yes but it sounds like it is simpler
15:36:59 <oerjan> also, are you _sure_ it's slower
15:37:17 <ehird> 99% sure, dictionary lookup is like THE most optimized thing in python
15:37:20 <ehird> (because obj.foo does it)
15:37:31 <ehird> and the re module is written in pure python, IIRC
15:37:43 <ehird> regex is almost certainly slower
15:37:44 <oerjan> that would mean hashtable should be faster
15:37:56 <oerjan> er you said the opposite
15:38:00 <ehird> 15:36 <ehird> oerjan: wut? the hashtable one is the slower one aemn
15:38:04 <ehird> 15:36 <ehird> oerjan: wut? the hashtable one is the faster one
15:38:29 <oerjan> well then not a problem
15:38:53 <oerjan> or rather, you have only two problems, while with 100 regexps you would have 101 problems
15:40:05 <ehird> its a pain to implement
15:48:41 -!- KingOfKarlsruhe has joined.
16:30:01 -!- Judofyr has quit.
16:56:44 -!- oerjan has quit ("Cubus").
17:09:17 -!- Slereah has joined.
17:19:57 -!- Hiato has joined.
17:20:57 <Hiato> \me pokes a bit more
17:21:32 <Hiato> confused windows directory tree with IRC there :P
17:25:34 -!- Judofyr has joined.
17:31:56 -!- Judofyr has quit (Read error: 60 (Operation timed out)).
17:35:12 * SimonRC wonders if people are listening here
17:38:15 <Hiato> \me wonders in response
17:38:20 * Hiato wonders in response
17:39:38 <Hiato> SimonRC, would you mind shedding some light on a certain problem for me?
17:40:44 <SimonRC> ok, but I am busy right now
17:42:11 <Hiato> Ok, thanks. In your opinion, what would the best way be to grow massive numbers, quickly. That is, can you suggest/demonstrate a method that will do so.
17:42:41 <Hiato> All of this in light of my realisation that my method is not actually as large as I thought it would be - all for a little game on the xkcd fora
17:44:06 <SimonRC> busy beaver numbers are a good choice
17:44:17 <SimonRC> they grow uncomputably fast
17:44:46 <Hiato> yeah, they're perfect, but unfortunately the number has to be finite and computable. The latter cancelling out that option
17:45:37 -!- KingOfKarlsruhe has quit (Remote closed the connection).
18:10:02 -!- ais523 has joined.
18:16:34 <ehird> 18:14 <Sfan00> Besides 12 year olds aren't supposed to use the Internet
18:16:50 <ehird> 18:14 <dungodung> in what universe?
18:16:57 <ehird> 18:15 <Sfan00> dungodung: A universe in which there are appropriate safeguards
18:24:02 <ehird> they need appropriate safeguards.
18:24:10 <ais523> 13 is the COPPA age, isn't it?
18:24:12 <ehird> in case they learn anything about the real world.
18:24:37 <psygnisfive> so noone cares about his protection and privacy
18:24:37 <ehird> do my "yes I am over 13" clicks on registration forms retroactively become legal when I turn 13?
18:25:26 <ehird> it's ok I have green.
18:25:29 <ehird> the power of green.
18:25:31 <ais523> nah, that's a civial violation not a criminal one
18:25:37 <ais523> so ehird can't be imprisoned, just fined lots
18:25:54 <ehird> ais523: I say I'd have clicked, hmm, at least 500 such yes links.
18:25:57 <ehird> How much can I be fined? XD
18:26:01 <psygnisfive> whatve you been looking at that requires you be 13 ehird?
18:26:07 <ehird> psygnisfive: registration forms have it.
18:26:16 <ais523> ehird: I'm not at all sure, damage calculation is something i'm rubbish at guessing
18:28:05 <ehird> now that I'm over 13? XD
18:28:27 <psygnisfive> no, ever. porn for children is full of annoying kids doing annoying things
18:28:47 <ehird> this is some odd new definition of porn for children that I was previously unaware of
18:28:54 <psygnisfive> because theyre all kids, the whole "fake story" thing is always like
18:29:09 * ehird thinks psygnisfive is in bizarro world
18:29:41 <SimonRC> is is paedophilia if the child in question is older than you
18:29:57 <ehird> i don't think being attracted to people of your own age is paedophilia.
18:30:07 <psygnisfive> or a boy is riding his bike too fast, a girl police officer pulls him over
18:30:24 <ehird> and rides his bike?
18:30:29 <ehird> instantrimshot.com
18:30:32 <ehird> you can all go home now
18:30:34 <psygnisfive> do you realize how fast you were going? // uh no.. its a bike.. i dont have a speedometer. maybe 10 miles an hour?
18:31:21 <psygnisfive> / YOUVE GOT A CARD IN YOUR SPOKES DO YOU REALIZE HOW DANGEROUS THAT IS? im going to have to place you under arrest!
18:31:41 <SimonRC> different topic: # There once lived a man name Oedipus Rex // You may have hear about his odd complex // His name appears in Freud's index // because he loved his mother. #
18:32:39 <psygnisfive> theres some humor in the oedipus story vs the oedipus myth in that it was all unknown to him and once it was he gouged out his eyes and ran away from being king
18:33:04 <psygnisfive> whereas i think a lot of people unfamiliar with the myth believe that he was a case of oedipal complex
18:33:20 <ehird> doesn't freud say that _everyone_ is a case of that?
18:34:01 <psygnisfive> Freudian Slip: When you say one thing and mean your mother.
18:35:04 <ehird> asdjkladjhksfkjaljeoiajvog9irhbrt
18:35:06 <ehird> dfkljna'∂fgjlsk;fmbdt[;lkb;lkytdmbkntldh ,mfl,ujh
18:35:22 <ehird> I was playing my keyboard
18:35:39 <ais523> you have a ∂ on your keyboard?
18:35:40 <ehird> worst innuendo ever
18:35:45 <ehird> ais523: option-d = d
18:51:18 -!- Judofyr has joined.
19:19:58 -!- LinuS has joined.
19:21:38 <ehird> grrrrrrrr fuck relational databses
19:22:59 <ehird> graphs are awesome, however.
19:23:00 <CakeProphet> wooo... I've finally gotten truly familiar with a second programming language.
19:23:06 <ehird> CakeProphet: which two?
19:23:28 <ehird> CakeProphet: good taste. now learn smalltalk, lisp and c. :P
19:23:31 <CakeProphet> though technically I'm familiar with C... but I never use it unless someone needs me to.
19:24:02 <CakeProphet> I also /know/ the syntax/semantics of smalltalk and lisp
19:24:07 <CakeProphet> just don't have the experience to program things in it
19:24:53 <ehird> they're useful to know, conceptually
19:26:58 <ehird> http://ogdl.sourceforge.net/
19:27:07 <ehird> see, I basically have to serialize a bunch of shit as that
19:27:18 <ehird> well, it could do with non-string types.
19:27:48 <ehird> http://ogdl.sourceforge.net/spec/ogdl-schema.htm this could work but it's just so non-automatic.
19:27:56 <ehird> serializing arbitrary objects to a graph. hmm.
19:31:25 <ehird> pickle is 1. python-specific 2. doesn't serialize to a graph
19:35:43 * SimonRC dislikes arguing on the internet
19:35:56 <CakeProphet> SimonRC: I personally enjoy arguing on the internet.
19:36:11 <CakeProphet> it's fun, there are no consequences, and you sometimes learn things
19:36:19 <CakeProphet> why do /you/ not like arguing on the internet?
19:37:15 <ehird> SimonRC: which argument?
19:37:57 <SimonRC> I keep finding people that seem to have a crazy idea that they won't shift on
19:38:51 <SimonRC> for example, in this: http://news.bbc.co.uk/1/hi/programmes/more_or_less/7798152.stm
19:38:51 <ehird> SimonRC: THERE IS A SUPERNATURAL BEING WHO WATCHES OVER US AND SENDS US TO PARADISE OR A PLACE OF FIRE AND EVIL DEPENDING IF HE LIKES US OR NOT
19:39:17 <SimonRC> the brain teaser's answer is not AFAICT right
19:39:50 <SimonRC> "a random number" doesn't say what distribution to use
19:40:07 <SimonRC> and once you pick a distribution, information leaks out
19:40:27 <SimonRC> a little of information at least
19:47:57 -!- ais523 has quit (Client Quit).
19:49:40 <AnMaster> <ehird> grrrrrrrr fuck relational databses
19:50:19 <ehird> postgresql is a great implementation of the relational paradigm, which is shit.
19:50:35 <AnMaster> ehird, so what sort of database do you suggest instead?
19:50:51 <ehird> read up. I'm writing a database that serializes arbitrary objects to a graph. :D
19:51:05 <AnMaster> ehird, how fast and scalable will it be?
19:51:31 <ehird> AnMaster: there's not really anything in its theoretical model that would cause it to be anything but blazing, but since I'm writing the implementation in Ruby -- not very fast.
19:51:45 <ehird> the question is, are your datasets large enough to worry about that?
19:52:15 <ehird> AnMaster: probably take like 500 hours to import, but I don't care :)
19:52:54 <AnMaster> ehird, is there any tutorial or introduction for graph based db?
19:53:10 <ehird> AnMaster: sure. it's a graph, and it's on disk.
19:55:29 <AnMaster> ehird, well I don't see how it works for say this: SELECT pages.title AS title, revisions.text AS text FROM (pages LEFT JOIN text (pages.revision = revisions.id)) WHERE pages.protected = true;
19:55:50 <ehird> and I don't see what your point is at all.
19:55:55 <ehird> that's SQL. SQL is a relational language.
19:55:59 <ehird> why are you talking about it?
19:56:06 <AnMaster> ehird, how would you represent something like that with graph db
19:56:19 <ehird> AnMaster: you wouldn't. that's a query.
19:56:24 <ehird> databases don't store queries.
19:56:31 <AnMaster> ehird, true, but a database isn't useful if you can't query it
19:56:41 <AnMaster> so how would you represent the data and how would you query it
19:56:44 <ehird> that's completely separate to the actual database
19:56:51 <ehird> AnMaster: 1) as a graph. 2) by querying it as a graph
19:57:01 <AnMaster> ehird, can you give some example
19:57:45 <AnMaster> of something equivalent to the SQL query I wrote above. I assume you wouldn't represent it as tables like that, but in some other format instead
19:58:00 <AnMaster> so I can't really ask more specific, than that
19:58:07 <ehird> it's abstract, it's just like how you could query a relational DB with any language, not just sql
19:58:15 <ehird> so I can't exactly give you a concrete example...
19:58:20 <AnMaster> but how does the model differ?
19:58:30 <AnMaster> would you store it as 2 tables?
19:58:32 <ehird> one's tables with columns, rows and relations, one's a graph
19:58:47 <ehird> http://en.wikipedia.org/wiki/Graph_(mathematics)
19:59:13 <AnMaster> yes I know about that, but: I don't know how it would be a db that could store pages with revisions
19:59:36 <ehird> 19:55 <AnMaster> ehird, well I don't see how it works for say this: SELECT pages.title AS title, revisions.text AS text FROM (pages LEFT JOIN text (pages.revision = revisions.id)) WHERE pages.protected = true;
19:59:40 <ehird> let's invent an arbitrary query format
19:59:51 <AnMaster> I'm find with custom query formats
19:59:51 <SimonRC> I have a list of names and adresses of customers. How would that be stored?
20:00:02 <ehird> SimonRC: i'll answer AnMaster's question first
20:00:47 <ehird> page = pages.select(p -> p.protected = true)
20:00:53 <ehird> revision = page.revisions[page.revision]
20:00:58 <AnMaster> SimonRC, I could answer for relational db, since there is a 1-to-1 mapping there need not be more than 1 table, probably with a primary key to use as a table elsewhere
20:01:05 <ehird> it essentially comes down to OOP
20:01:18 <ehird> since an OOP system is a huge object graph, in essence
20:01:22 <AnMaster> ehird, right, there is a 1-to-many-mapping there
20:01:31 <AnMaster> ehird, yes there was in my example
20:01:40 <ehird> there's no such thing as a 1-to-many mapping
20:01:42 <ehird> there's an ordered list.
20:01:51 <AnMaster> ehird, each page can have 1 or more revisions
20:01:57 <ehird> AnMaster: 1-to-many mapping is relational speak.
20:02:05 <AnMaster> ehird, well, how would that translate then?
20:02:14 <ehird> 20:00 <ehird> page = pages.select(p -> p.protected = true)
20:02:14 <ehird> 20:00 <ehird> revision = page.revisions[page.revision]
20:02:26 <ehird> p.protected == true
20:02:29 <ehird> since I used = for assignment
20:02:47 <AnMaster> ehird, if I want to get a set of revisions related to the set of protected pages?
20:03:02 <ehird> I fucking pasted it
20:03:10 <ehird> have it three times
20:03:11 <ehird> 20:00 <ehird> page = pages.select(p -> p.protected = true)
20:03:12 <ehird> 20:00 <ehird> revision = page.revisions[page.revision]
20:03:14 <ehird> 20:00 <ehird> page = pages.select(p -> p.protected = true)
20:03:16 <ehird> 20:00 <ehird> revision = page.revisions[page.revision]
20:03:18 <ehird> 20:00 <ehird> page = pages.select(p -> p.protected = true)
20:03:20 <ehird> 20:00 <ehird> revision = page.revisions[page.revision]
20:03:23 <AnMaster> pages = pages.select(p -> p.protected = true)
20:03:34 <AnMaster> protected_pages = pages.select(p -> p.protected = true)
20:03:45 <ehird> protected_pages = pages.select_all(p -> p.protected == true)
20:03:46 <AnMaster> since there would be more than one protected page :)
20:03:56 <AnMaster> ehird, your use of singular confused me
20:04:15 <ehird> revisions = protected_pages.fold([], r,p -> r.concat(p.revisions))
20:04:27 <ehird> where the fold is just regular code
20:04:30 <ehird> instead of anything graph-specific
20:04:52 <ehird> in ruby, it'd look like this
20:05:32 <ehird> revisions = Page.find_all { |p| p.protected? }.inject([]) { |r, p| r + p.revisions }
20:06:53 <ehird> 19:59 <SimonRC> I have a list of names and adresses of customers. How would that be stored?
20:07:00 <ehird> it'd be stored as a graph :-P
20:07:53 <AnMaster> ehird, none of this really help us get an understanding of what you mean
20:08:03 <ehird> there's nothing to explain
20:08:13 <AnMaster> there seems to be no wikipedia article on it, at least not with the name graph database or anything like that
20:08:38 <ehird> because a graph database is just _a graph_
20:08:49 <ehird> http://en.wikipedia.org/wiki/Graph_(mathematics)
20:08:56 * AnMaster looked at http://en.wikipedia.org/wiki/Database_models and
20:09:09 <AnMaster> and http://en.wikipedia.org/wiki/Category:Databases
20:09:18 <ehird> http://en.wikipedia.org/wiki/Graph_(mathematics)
20:10:53 <AnMaster> ehird, would this imply that different objects of the same type can have different connectors, so not all pages need to link revisions, some could link something else instead
20:11:27 <ehird> type information will be stored, but it won't be used to enforce data structure
20:11:36 <AnMaster> ehird, because relational model is pretty much a graph where each node is a table and the links are on field basis
20:12:20 <AnMaster> you can visualise the foreign key constraints as a graph
20:12:26 <AnMaster> it is rather common to do so even
20:12:50 <ehird> sure, but it's not just an arbitrary graph
20:13:33 <AnMaster> you mean the other object doesn't need a special field to act as a "connector"+
20:16:29 -!- ais523 has joined.
20:16:38 <GregorR> OK, I need to counterbalance these glasses.
20:16:47 <GregorR> What should I mount to the left side? Taking all votes! :P
20:17:17 <ais523> that topic's ridiculous, surely?
20:17:22 <ais523> it's grepping the logs for a link to the logs?
20:17:39 <GregorR> AnMaster: I could do that, but that's /awfully/ pointless X-D
20:17:51 <GregorR> Plus, would half the battery life of the whole system.
20:18:00 <AnMaster> GregorR, why? doesn't it mean you will have stereo vision?
20:18:56 <ehird> I HOPE YOU BURN IN A FIREY PIT OF DEATH
20:19:11 <GregorR> AnMaster: Can't use them both at once, the display is far outside of the center of my vision.
20:19:26 <ehird> i tried to download something and had to nab the direct link before they started automatically downloading it (FUCKERSFUCKERSFUCKERS) and then had to close that window and get it in wget
20:19:31 <AnMaster> GregorR, oh it doesn't act like a HUD for the entire field of view?
20:19:47 <GregorR> AnMaster: That's the difference between $250 and $2500
20:19:57 <AnMaster> ehird, eh just cancel the automated download?
20:19:59 <ehird> i'm not your friend any more.
20:20:05 <ehird> AnMaster: no, fucking annoying
20:20:20 <AnMaster> ehird, I mean before you selected where to save it
20:20:28 <ehird> i auto-download to the desktop
20:20:28 <AnMaster> and the dialog for that isn't even modal
20:20:36 <ehird> and then put it where I want if I want to keep it
20:20:39 <ehird> or delete it if I don't
20:20:41 <ehird> AnMaster: wtf, how
20:21:04 <AnMaster> "go to this link" then what if it starts to auto download lots of crap
20:21:18 <ehird> and send a mail saying "fuck you" to the site owner.
20:21:33 <AnMaster> ehird, well if you have auto download turned on it is your own fault
20:21:48 <ehird> it's the site's fault for downloading 100 pieces of useless crap
20:22:02 <ehird> just like it's the site's fault for having javascript that bounces the window around the screen
20:22:04 <AnMaster> ehird, err it only tries to download the one you selected for download
20:22:18 <ehird> AnMaster: i'm talking about this hypothetical: 20:21 <AnMaster> "go to this link" then what if it starts to auto download lots of crap
20:22:24 <ehird> you might want to upgrade to a memory longer than 4 seconds
20:22:38 <AnMaster> ehird, in fact I was jumping back more than 4 seconds
20:22:59 <AnMaster> if you don't want auto download on sf.net, turn it off for that site then
20:23:11 <ehird> i can't. and I'd rather not use sf.net
20:23:14 <ehird> which I don't. unless I have to.
20:23:30 <ehird> then how do you propose I download software hosted there.
20:23:33 <AnMaster> really I think this is a non-issue
20:23:44 <AnMaster> because I just click cancel when it asks me where to save
20:23:59 <AnMaster> if you auto download you asked for it
20:24:06 <ehird> no, I didn't, you're an idiot
20:24:14 <ehird> "This site does something really fucking annoying. It's the user's fault!"
20:24:57 <ais523> I think that browsers auto-downloading is a configuration mistake
20:25:08 <ehird> I think it's convenient.
20:25:11 <ais523> if only because it renders people open to accidenrally clicking on links to massive things
20:25:33 <ehird> yeah, you know, I do have a cancel button
20:26:14 <AnMaster> ehird, let me get this straight:
20:26:25 <AnMaster> 1) you think auto download is convenient
20:26:33 <ehird> 20:26 <ehird> no, let's not
20:26:34 <ehird> 20:26 <ehird> I don't care
20:26:36 <AnMaster> 2) you think auto download at sf.net isn't convenient
20:26:56 <ehird> 20:26 <ehird> no, let's not
20:26:56 <ehird> 20:26 <ehird> I don't care
20:26:58 <ehird> 20:26 <ehird> no, let's not
20:27:00 <ehird> 20:26 <ehird> I don't care
20:27:02 <ehird> 20:26 <ehird> no, let's not
20:27:04 <ehird> 20:26 <ehird> I don't care
20:27:06 <ehird> 20:26 <ehird> no, let's not
20:27:08 <ehird> 20:26 <ehird> I don't care
20:27:10 <ehird> 20:26 <ehird> no, let's not
20:27:12 <ehird> 20:26 <ehird> I don't care
20:27:14 <ehird> 20:26 <ehird> no, let's not
20:27:16 <ehird> 20:26 <ehird> I don't care
20:27:31 <AnMaster> ais523 well as usual he is going mad when he notices he contradicted himself...
20:27:43 <ehird> i just really don't give a shit about what you have to say on the subject
20:28:11 <ais523> ehird never contradicts himself, his viewpoints are always perfectly consistent and he always finds a loophole to show that that's what he meant all along
20:28:36 <ehird> that's nice. back when you're actually discussing something ->
20:28:37 -!- ehird has left (?).
20:37:12 <CakeProphet> being lazy and finding bots in this channel that I can play with instead of checking the user list
20:40:39 <ais523> CakeProphet: it's just fungot here atm
20:40:39 <fungot> ais523: ' ' ' :image:voom fnord'" is being used under wikipedia:fair usefair use but there is
20:40:57 <ais523> although running thutubot would be easy enough locally, it used to run on eso-std.org until ehird wiped it
20:46:09 -!- kar8nga has joined.
20:52:55 -!- Hiato has quit ("Leaving.").
20:53:39 <AnMaster> ais523, run it on eso-std again?
20:54:29 <ais523> I don't even know if it has Perl installed
20:54:42 <ais523> there's less on there atm than there is in a default clean install...
20:55:00 <AnMaster> ais523, no aptitude, ehird told me that
21:11:43 <kerlo> I seem to remember ehird being less bitter.
21:22:00 <ais523> it's a recent thing, due to happenings in nomic AFAICT
21:28:40 -!- Corun has joined.
21:31:03 <AnMaster> ais523, well nomic isn't good for him
21:47:52 <AnMaster> something very strange just happened
21:48:07 <AnMaster> someone named xlq, asked on another network if I knew "ais523"
21:48:22 <ais523> AnMaster: oh, I know xlq on another network
21:48:24 <AnMaster> then he went on talking about same school or something *shrug*
21:48:30 <ais523> hmm... maybe I should ask him if he knows AnMaster
21:48:59 <ais523> <xlq> ais523: do you know AnMaster?
21:49:07 <AnMaster> ais523, how did he find out I know you?
21:50:46 -!- KingOfKarlsruhe has joined.
21:51:09 <AnMaster> ais523, any response from him yet
21:51:29 <ais523> some oblique references I don't get, he asked if I knew FlightGear and I said no
21:51:58 <AnMaster> ais523, well I know him from irc.flightgear.org
21:52:15 <AnMaster> a very good open source flight simulator
21:52:48 <ais523> [21:52] <xlq> No, it's just interesting
21:52:49 <ais523> [21:52] <xlq> when two seemingly unrelated people you know or half-know, turn out to know each other
21:57:29 * ais523 only just now figures out that kerlo = ihope
22:12:50 -!- LinuS has quit ("Puzzi. S, parlo proprio con te. Puzzi.").
22:13:22 -!- Corun has quit (Read error: 60 (Operation timed out)).
22:37:25 <AnMaster> ais523: ihope use lots of different nicks
22:37:40 <ais523> I should /whois people I don't recognise more often
23:02:08 -!- ehird has joined.
23:15:22 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
23:15:31 -!- psygnisfive has joined.
23:20:26 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
23:20:34 -!- psygnisfive has joined.
23:23:15 -!- Sgeo has joined.
23:38:16 -!- oerjan has joined.
23:56:42 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
00:16:33 -!- puzzlet_ has joined.
00:23:34 -!- ais523 has quit (Client Quit).
00:28:27 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
00:39:03 -!- KingOfKarlsruhe has quit (Remote closed the connection).
00:50:04 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
00:56:14 -!- KingOfKarlsruhe has joined.
00:57:44 -!- KingOfKarlsruhe has quit (Remote closed the connection).
01:00:37 -!- GregorR has quit (Remote closed the connection).
01:04:14 -!- GregorR has joined.
02:06:11 -!- CakeProphet has quit (kornbluth.freenode.net irc.freenode.net).
02:19:28 -!- CakeProphet has joined.
02:38:47 -!- Judofyr has quit.
03:29:12 -!- oerjan has quit ("Good night").
03:31:03 <GregorR> http://www.facebook.com/photo.php?pid=30234793&l=8428a&id=1055580469
03:41:31 -!- Sgeo has joined.
04:03:22 -!- Sgeo has quit ("Ex-Chat").
04:11:41 <psygnisfive> we should have an #esoteric facebook group
04:23:09 <GregorR> psygnisfive: Oh, that's who that is :P
04:23:19 <GregorR> psygnisfive: I got a friend request and was about to send a message "Uh, do I know you?"
04:24:00 <GregorR> bsmntbombdood: Is the debris shaped like a large piece of plastic, glass and metal?
04:24:54 <Asztal> there's already a http://www.facebook.com/groups.php?ref=sb#/group.php?gid=2410064537
04:25:34 <Asztal> uh, two '?' in a URL? is that even a valid URI?
04:31:26 <Asztal> yeah, I just checked... I thought URI fragments were far more restricted :(
04:43:55 -!- Sgeo has joined.
05:05:18 -!- Sgeo has quit (Remote closed the connection).
05:42:03 <kerlo> GregorR is on Facebook?
05:42:47 <kerlo> Hey, I do recognize that face.
06:00:33 <GregorR> I don't recognize that nick ...
06:01:52 -!- Vendan has joined.
06:32:53 <Vendan> Whee! SNUSP interpreter, made in Second Life
06:32:55 <Vendan> http://files.vendaria.net/snusp_sl_001.png
07:06:54 -!- seveninchbread has joined.
07:07:27 -!- CakeProphet has quit (Nick collision from services.).
07:07:29 -!- seveninchbread has changed nick to CakeProphet.
07:17:04 -!- Vendan has quit ("User pushed the X - because it's Xtra, baby").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:59 -!- Corun has joined.
08:56:57 -!- Corun has quit ("This computer has gone to sleep").
08:59:36 -!- oklodol has joined.
09:00:18 <oklodol> anything interesting happen while i was gone?
09:00:33 -!- oklodol has changed nick to oklorol.
10:47:33 -!- Judofyr has joined.
11:12:46 -!- decipher has quit (kornbluth.freenode.net irc.freenode.net).
11:12:46 -!- rodgort has quit (kornbluth.freenode.net irc.freenode.net).
11:14:16 -!- rodgort has joined.
11:14:16 -!- decipher has joined.
11:24:36 -!- KingOfKarlsruhe has joined.
11:53:50 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
12:01:27 -!- Judofyr has joined.
12:58:08 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
13:12:55 -!- Mony has joined.
13:55:03 -!- jix has joined.
13:55:53 -!- jix has quit (Client Quit).
13:55:58 -!- jix has joined.
13:58:17 -!- jix has quit (Client Quit).
13:58:25 -!- jix has joined.
13:59:25 -!- jix has quit (Client Quit).
13:59:30 -!- jix has joined.
14:42:01 -!- puzzlet has joined.
14:50:52 -!- oerjan has joined.
14:54:22 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
15:09:07 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:22:52 -!- ais523 has joined.
15:25:23 <Slereah> The Kool Aid man is here D:
15:26:03 <psygnisfive> http://www.youtube.com/watch?v=IcMHAM0cUbY
15:26:11 <Slereah> Did you look desperatly for it while in Fronce?
15:27:19 <oerjan> they probably have it but l'Academie Francaise has demanded they call it something french
15:27:59 <psygnisfive> "we do not have ze yellow here.... eeeeeh zey are sweess!"
15:28:56 * oerjan realizes yello is not a soft drink
15:29:13 <psygnisfive> oerjan, did you watch that video i just linked to?
15:30:26 <Slereah> Although it does make me thirsty for a good old Duff.
15:31:31 <psygnisfive> the video will basically just confuse the fuck out of you
15:31:59 <Slereah> http://img.lulz.net:8080/src/1229358859089.jpg
15:32:25 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
15:32:29 -!- puzzlet has joined.
15:37:31 <oerjan> a veritable snorgasbord
15:38:06 <psygnisfive> that unifies old timey with esoteric programming
15:38:29 <Slereah> It already exists, psygnisfive.
15:38:54 <psygnisfive> we can build an analytical engine and then dress up in old timey outfits!
15:39:25 <oerjan> yeah but where do we get the steam-powered death rays?
15:40:34 <kerlo> I prefer to call her Lady Ada.
15:40:40 <psygnisfive> then use it to calculate the plans for a deadly corpuscular wave projector!
15:40:54 <kerlo> Lada Ada the Lovelace Lady.
15:41:32 <kerlo> Or the Countess of Lovelace if you so prefer.
15:41:35 <oerjan> also, afaik the analytical engine has _not_ been built.
15:41:50 <Slereah> oerjan : There's a program simulation
15:41:57 <psygnisfive> Lady Ada Countess Lovelace is how her name would've been said
15:42:16 <psygnisfive> i believe. british titles are weird in how they're used
15:42:32 <psygnisfive> they're preposed before the last name when reading someones full name
15:44:13 <psygnisfive> how do we know the government hasnt constructed dozens of these calculating machines and used them to tabulate thousands of units of data about the citizenry?!
15:44:38 <Slereah> But they used regular calculating machines
15:45:34 <Slereah> What would you say about a jolly old round of rogering?
15:45:51 <psygnisfive> oh splendid idea my good fellow, splendid idea!
15:46:46 <kerlo> I have the honour to remain, Madam, Your Majesty's most humble and obedient servant!
15:47:34 <psygnisfive> http://community.livejournal.com/steamfashion/374499.html
15:47:46 <psygnisfive> that guy with the cyberpunk hair? i want his outfit
15:47:48 <oerjan> kerlo: Watt. specifically, his steam engine.
15:48:30 <oerjan> well you don't want to come too early
15:48:38 <psygnisfive> alexander had hes little steam striven ball, be it a toy, and the venicians were using steam turbines for centuries before watt
15:48:56 * oerjan sometimes doesn't believe himself
15:53:03 <oerjan> that's what i thought i was just dreaming
16:30:14 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
16:30:25 -!- psygnisfive has joined.
16:33:34 -!- ehird has left (?).
16:33:38 -!- ehird has joined.
16:59:22 <ehird> Who wants to join my 'never check the return result of malloc()' club?
17:00:27 <ais523> ehird: they aren't here, their clients crashed
17:00:45 <ehird> ais523: Their IRC clients use all their fucking memory?
17:00:47 <ehird> They have bigger problems.
17:01:06 <ehird> Also, I assume YOUR irc client gracefully recovers from out of memory, ey?
17:01:18 <ehird> (Exiting is not a recovery.)
17:01:25 <ehird> (Exiting in that case = crashing.)
17:01:40 <ais523> actually, it depends on the OS
17:01:52 <ais523> checking malloc's return value is pointless on Linux nowadays unless you're doing very big allocs
17:02:03 <ais523> because it's more likely to return a false value or kill your process than it is to return null
17:02:36 <ehird> as far as I'm concerned, if there isn't enough memory to run my program, then that's the rest of the system's problem
17:03:59 <ais523> some programs can recover sanely on out-of-memory
17:04:11 <ehird> ais523: yes, about 3 of them.
17:04:13 <ais523> by not doing whatever was using the memory
17:04:16 <ehird> most of the time, it's not worth the trouble
17:04:21 <ais523> ehird: Perl is one, if you compile it with special flags
17:04:32 <ehird> ais523: it shouldn't, though
17:04:49 <ehird> sure, you CAN go into StrippedDownMode, but if the computer has no memory left, I doubt using your program will be possible anyway.
17:06:22 <ais523> ehird: just think about what's using the memory, and don't
17:06:30 <ais523> for instance, say you're trying to open a file and it doesn't fit in memory
17:06:42 <ais523> it would be graceful to just not open that file and let people continue editing the other files they have open
17:06:52 <ehird> ais523: yes, that is one of the rare cases
17:06:53 <ais523> or at least give them a chance to save them
17:07:03 <ehird> I'm talking in general, here
17:07:09 <ehird> the regular memory that your program uses for stuff
17:07:24 <ehird> don't even bother wrapping it, it doesn't even buy you anything, it's such an edge case
17:40:55 <oerjan> yes, hindley-milner is a good idea. if you can pull it off.
17:42:06 <ehird> grrrrrrrrrrr the next person that calls a language unreadable
17:42:08 <ehird> will eat my fucking toes
17:46:53 * oerjan doesn't find Unreadable on the wiki
17:47:28 <oerjan> of course it would take something to beat the competition
17:48:21 <ais523> whitespace-encoded Unlambda would take quite some reading
17:48:28 -!- CakeProphet has quit ("lol").
17:50:34 <Slereah> Well, whitespace is already unreadable.
17:50:47 <ehird> I decree that foobar.
17:51:03 <Asztal> you just need good syntax colouring.
17:52:20 <ais523> there are editors to syntax-colour Whitespace
17:52:27 <ais523> but even with syntax colouring, Whitespace is hard to read
17:58:42 <psygnisfive> whitespace can surely be trivially ciphered into something more readable
18:00:30 -!- oerjan has quit ("leaving").
18:04:49 <oklorol> well isn't it just a stack thingie
18:05:42 <ais523> the ok and the use of several os have been pretty much the only stable part of oklorol's nick
18:05:54 <ais523> although I still think of them as oklopol, probably because that's the most common one
18:06:13 <psygnisfive> did you know the piraha change names every few months?
18:06:14 <oklorol> well i agree with psygnisfive, "rol" just doesn't work that well.
18:06:50 <oklorol> yes, but could've been a typo.
18:07:24 <oklorol> i know you don't. it was a pretty surreal joke.
18:07:56 <psygnisfive> and not necessarily like.. "I am now Bob!"
18:08:06 <psygnisfive> "You dont feel like a Jack any more.. you're more of a Bob."
18:08:47 <oklorol> DO THEIR SOULS CHANGE TOO?
18:09:51 <oklorol> are they trying to make up for that with all the names?
18:10:16 -!- oklorol has changed nick to oklosol.
18:12:07 <oklosol> i should probably do something soon
18:12:16 <oklosol> been awake for 12 hours, done nothing yet :-)
18:15:13 <psygnisfive> im probably going to go to bed for another hour or two
18:16:18 <psygnisfive> oklokok and oklohol. its what you use to oklofok
18:17:16 <oklosol> oklohol sounds more like an alcoholic beverage to me.
18:23:17 <oklosol> hmm. actually i think i'll just sleep a mo
18:28:08 <kerlo> oklosol is a solution.
18:28:22 <kerlo> Wait, no, it isn't.
18:28:36 <kerlo> It's a suspension of fine solid particles or liquid droplets in oklopol.
18:32:56 -!- psygnisf_ has joined.
18:33:04 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
18:33:42 -!- psygnisf_ has changed nick to psygnisfive.
18:35:35 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
18:35:44 -!- psygnisfive has joined.
18:52:15 -!- Mony has quit ("Quit").
18:52:37 -!- puzzlet has quit (Remote closed the connection).
18:52:42 -!- puzzlet has joined.
19:07:50 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
19:09:54 -!- puzzlet has joined.
19:16:08 -!- Corun has joined.
19:19:42 -!- KingOfKarlsruhe has joined.
19:21:57 -!- LinuS has joined.
19:43:09 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:49:38 -!- kar8nga has joined.
21:46:31 -!- LinuS has quit ("Puzzi. S, parlo proprio con te. Puzzi.").
21:55:11 <ais523> ehird: I'm reading through the happy-hour PAM and other useful programs thing you linked earlier
21:55:18 <ais523> I especially like the block-device version of /dev/null
21:55:25 <ehird> cdrewind is brilliance
21:55:33 <ehird> http://www.brendangregg.com/Specials/cdrewind
21:55:36 <ais523> in theory, you could use that to test mke2fs or similar programs which work best on block devices
21:55:40 <ais523> and yes, I like it too
21:55:57 <ais523> hmm... mightn't it cause the CD to always be the right way up when you take it out of the drive?
21:56:06 <ais523> it's annoying to take out a CD and see it has an upside-down logo
21:56:15 <ais523> it's like the thing rotates inside the drive
21:56:31 <ehird> my cd blunder is putting it in wrong side up
21:56:46 <ehird> this imac could do with a little form over function in that area, there's no eject button...
21:56:59 <ehird> i got it ejected once from the os, I don't recall how
21:57:07 <ais523> /dev/notrandom is kind-of fun
21:57:18 <ais523> also, I have 5 ways to eject on here
21:57:19 <ehird> i like how it consists of infinite bleeps
21:57:23 <ehird> to simulate catting /dev/random
21:58:03 <ehird> does it delay every few seconds like random?
21:58:04 <ais523> eject button, Fn-F10, eject from command-line, eject icon on Nautilus that's utterly ripped off from Mac OS X, right-click and choose eject
21:58:17 <ais523> (that's one of Mac OS X's better ideas, though, I'm glad Ubuntu shamelessly stole it)
21:58:44 <ehird> i'm pretty sure every gui environment since the macintosh has stolen from it :P
21:58:46 <ehird> except maybe plan 9.
21:59:12 <ais523> but this was a newish idea they stole, not an old one
21:59:15 <ais523> also, what about Smalltalk?
21:59:26 <ehird> well, I was about to say the macintosh stole wholesale from xerox parc.
21:59:59 <ehird> and they did both the Alto and Smalltalk
22:00:09 <ais523> I think it's a bad idea for much the same reason as gvim, by the way
22:00:15 <ehird> Much later, in the midst of the Apple v. Microsoft lawsuit in which Apple accused Microsoft of violating its copyright by appropriating the use of the "look and feel" of the Macintosh GUI, Xerox also sued Apple on the same grounds.
22:00:20 <ais523> I like vi, but think gvim is kind-of missing the point
22:00:29 <ais523> and yes, that is brilliant
22:01:18 <ehird> ais523: the sam editor for plan9 is basically multi-document ed
22:01:20 <ehird> it has a top command pane
22:01:23 <ehird> and little file windows
22:01:42 <ehird> the file windows are just for seeing what you're doing :P
22:01:51 <ehird> iirc, ken thompson uses it as his main editor
22:02:53 <ais523> I've edited with sed before now
22:03:02 <ais523> ed is similar but more interactive-friendly
22:03:50 -!- bloreg has joined.
22:04:14 -!- Ilke has joined.
22:04:46 -!- Ilke has set topic: YOU'RE AWAKE MOTHERFUCKER??? GET A REAL LANGUAGE! GET LAID! GET OFF THIS CHANNEL DIPSHIT.
22:04:49 -!- Ilke has left (?).
22:07:35 <ehird> what a sad fucker :)
22:07:43 -!- jkele has joined.
22:07:54 -!- ais523 has set topic: Logs are here: `wget http://tunes.org/~nef/logs/esoteric/08.12.29 -O - 2> /dev/null | grep 'logs >>>' | sed 's/.*logs >>> \(.*\) <<<.*/\1/'`.
22:08:00 -!- jkele has set topic: ehird sad is your momMOTHERFUCKER!!! GET A REAL LANGUAGE! GET LAID! GET OFF THIS CHANNEL DIPSHIT.
22:08:03 -!- jkele has left (?).
22:08:10 -!- ais523 has set topic: Logs are here: `wget http://tunes.org/~nef/logs/esoteric/08.12.29 -O - 2> /dev/null | grep 'logs >>>' | sed 's/.*logs >>> \(.*\) <<<.*/\1/'`.
22:08:13 <ehird> hahaha, what a fucking retard
22:08:18 <ais523> also, yay for a client that stores topic history
22:08:37 <Slereah> jkele No such nick/channel
22:08:45 <ais523> well, we have the whois data
22:08:48 <ehird> woah, wait, "ehird sad is your mom"?
22:08:50 <ais523> and jkele = Ilke, pretty obviously
22:08:57 <ais523> given the identical whois
22:09:01 <ais523> and behaviour similarity
22:09:13 <ehird> the previous troll.
22:09:16 <ehird> who came in 3 seconds before him.
22:09:18 <ais523> cheriire@cpe-76-87-77-169.socal.res.rr.com
22:09:21 <ehird> and did the same thing.
22:09:32 <ais523> may as well preserve the whois for the logs, in case anyone decides to google it or whatever
22:09:36 <ehird> now the question -
22:09:37 <Slereah> Yes, but I was mostly looking for where he hangs out
22:09:44 <ehird> where did he come from, why did he do that, and who is he?
22:10:02 <ehird> i really can't think why you'd do that, i mean, it's just a stupid little channel that nobody really cares about
22:10:04 <ais523> it's someone who at least knows a bit about what the channel's for
22:10:08 <ais523> given what he put in the topic
22:10:22 <Slereah> His mom was raped by Brainfuck
22:10:26 -!- klslss has joined.
22:10:31 <ehird> klslss: not you again
22:10:40 -!- klslss has set topic: EHIRD WILL SUCK MY BALLS AND HIS MOM's! Slereah will do the same because he's a opwhore! REST OF YOU FUCKWITS GET A REAL LANGUAGE, LEARN A REAL LANGUAGE AND STOP BEING WUSSIES FROM START TREK!.
22:10:41 <ehird> and why are you targeting this tiny place.
22:10:42 -!- klslss has left (?).
22:10:57 <Slereah> He is on no other channel.
22:11:03 <ehird> ahahahahahgahahahahahahaha
22:11:03 -!- ais523 has set topic: Logs are here: `wget http://tunes.org/~nef/logs/esoteric/08.12.29 -O - 2> /dev/null | grep 'logs >>>' | sed 's/.*logs >>> \(.*\) <<<.*/\1/'`.
22:11:10 <Slereah> A sockpuppet just to troll our little place?
22:11:12 <ehird> how old are you, log-reading troll?
22:11:18 <ehird> can't be much more
22:11:56 <Slereah> Well, here's one for our log reading troll then.
22:11:57 <Slereah> http://membres.lycos.fr/bewulf/Argh/1221655091974.jpg
22:12:05 <ais523> Slereah: what's that a link to?
22:12:14 <ehird> ais523: don't click.
22:12:16 <ais523> I'm obviously not planning to click on it given content
22:12:17 <Slereah> ais523 : Something you'd better not click
22:12:32 <ais523> oerjan: don't click on the above link
22:12:38 <ais523> I know you aren't here, but IIRC you logread
22:12:47 <ehird> EVERYONE: don't click on the above link.
22:12:58 <ais523> Slereah: just don't paste that sort of link in
22:13:06 <ehird> I subtract the troll from EVERYONE
22:13:47 * ais523 wonders if the troll actually deduced the logs from the topic
22:13:52 <ais523> by running the resulting program
22:14:32 -!- klslvoeoe has joined.
22:14:38 -!- klslvoeoe has set topic: you can subtract your mom from my dick because she's old and you're a stupid fuckface! now LEARN C or say perl! stop being esoteric asswads.
22:14:39 -!- klslvoeoe has left (?).
22:15:00 <ehird> How can someone know what C and Perl is and be so absolutely fucking braindead?
22:15:08 -!- ais523 has set topic: Logs are here: `wget http://tunes.org/~nef/logs/esoteric/08.12.29 -O - 2> /dev/null | grep 'logs >>>' | sed 's/.*logs >>> \(.*\) <<<.*/\1/'`.
22:15:20 <ehird> i wonder why he thinks we even care.
22:15:22 <ais523> do we have any live ops?
22:15:33 <ehird> he'll give up eventually.
22:15:42 <ehird> unless he's I_RULE in disguise.
22:15:54 <ehird> which is...very possible
22:16:00 <ais523> well, telling freenode might help stop them trolling other channels that care more
22:16:09 <Slereah> Maybe he comes from /prog/ :o
22:16:10 <ehird> freenode don't do that kind of thing.
22:16:32 <ehird> I_RULE claimed to have been "harrassed and threatened" by me over /msg in #freenode, they just told him to ignore me.
22:16:36 <ehird> (Of course, the whole thing was made up.)
22:16:47 <ehird> for specific channels, they tell you to take it up with that channel's op
22:17:10 <ehird> alive: lament, fizzie.
22:17:25 <ehird> ~exec sys.stdout('pew pew pew')
22:17:48 -!- JSKSKSLVE has joined.
22:17:51 -!- JSKSKSLVE has set topic: NO LIVE OPS!!! get with the program! C or perl!.
22:17:52 -!- JSKSKSLVE has left (?).
22:18:01 -!- Slereah has set topic: NO LIVE OPS!!! get with the program! Python!.
22:18:05 <ehird> Hey, he stopped insulting our mothers.
22:18:06 -!- ais523 has set topic: Logs are here: `wget http://tunes.org/~nef/logs/esoteric/08.12.29 -O - 2> /dev/null | grep 'logs >>>' | sed 's/.*logs >>> \(.*\) <<<.*/\1/'`.
22:18:28 -!- ehird has set topic: NO DEAD OPS!!! get out of the program! Brainfuck! http://tunes.org/~nef/logs/esoteric/.
22:18:32 <Slereah> I'm shocked that this man would claim that C is a real language.
22:18:49 <ais523> C and Perl are pretty different in philosophy...
22:18:55 <ehird> with c you can be a real man.
22:18:57 <ais523> and both are arguably esoteric
22:19:02 <ehird> and allocate memory with your huge manly manliness.
22:19:02 -!- jkvkasas has joined.
22:19:05 <ais523> although not as esoteric as most of the stuff we discuss here
22:19:06 -!- jkvkasas has set topic: BRAINFUCK IS NOT WHAT EVERYBODY WANTS OR USES! you fucking cunts, learn a real language!.
22:19:07 -!- jkvkasas has left (?).
22:19:15 -!- ais523 has set topic: Logs are here: `wget http://tunes.org/~nef/logs/esoteric/08.12.29 -O - 2> /dev/null | grep 'logs >>>' | sed 's/.*logs >>> \(.*\) <<<.*/\1/'`.
22:19:18 <ehird> does he realise we just do this for fun?
22:19:28 <ehird> "BRAINFUCK IS NOT WHAT EVERYBODY WANTS OR USES! " -- sounds like an enterprise idiot
22:19:42 * ehird waits for his delayed topic-response.
22:20:02 <ais523> ehird: can you easily bring back optbot?
22:20:07 <ais523> 'twould seem to be the perfect response
22:20:21 -!- jvkdkdke has joined.
22:20:25 -!- jvkdkdke has set topic: enterprise idiot? OH AND YOU GUYS AREN'T AND ARE SUPPOSED TO GET A BIGGER PAYCHECK BECAUSE OF THOSE REASONS? LOLOLOL, YOU SOUND LIKE A VB SCHMUCK!.
22:20:28 -!- jvkdkdke has left (?).
22:20:29 -!- optbot has joined.
22:20:29 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | Rule: You must violate this rule..
22:20:30 <Slereah> He can be programmed to hunt him down with his laser.
22:20:30 <ais523> besides, nobody's forcing anyone to use BF
22:20:48 <ehird> we're not doing this for a paycheck, you retard.
22:20:56 <ais523> ehird: two log links? optbot cares about them even more than I and oklosol do
22:20:56 <optbot> ais523: http://tunes.org/~nef/logs/esoteric | Rule: You must violate this rule.
22:21:08 <ais523> oh, you've only given it one line of input
22:21:10 <optbot> ais523: http://tunes.org/~nef/logs/esoteric | Rule: You must violate this rule.
22:21:15 <ehird> are you so insecure that you can't deal with a bunch of people - many of whom, in fact, I believe have been "laid" - messing around with computation?
22:21:16 -!- optbot has quit (Remote closed the connection).
22:21:19 <ehird> The answer, is yes.
22:21:47 -!- optbot has joined.
22:21:47 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | I doubt it's like that.
22:21:52 <ehird> I think it is, optbot.
22:21:53 <optbot> ehird: sounds pimpcash
22:21:58 <ehird> Yes. Very pimpcash, optbot.
22:21:58 <optbot> ehird: really isn't? damn :\
22:22:04 <optbot> ehird: just as long as it doesn't involve smurfs. FOR MERCY'S SAKE, NO SMURFS
22:22:06 -!- KVDLWW has joined.
22:22:08 <ehird> optbot: okay, okay, no smurfs.
22:22:09 <optbot> ehird: d(4/b(4))-4/4 = 80
22:22:09 -!- KVDLWW has set topic: THEN WHAT DO YOU CARE ABOUT? USE A REAL LANGUAGE! SERIOUSLYT! AND IF YOU'RE USING BRAINFUCK AS A HOBBYIST, YOU CAN START OFF BY GETTING a different hobby like maybe going out and getting laid like NORMAL PEOPLE?!.
22:22:11 <ehird> optbot: say hi to KVDLWW
22:22:12 -!- KVDLWW has left (?).
22:22:15 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | no.
22:22:33 <ais523> troll: how do you think we implement BF, if not in real languages/
22:23:03 <ehird> Dear anonymous coward troll: Why don't you go get laid like NORMAL PEOPLE, instead of trolling an IRC channel?
22:23:03 <ais523> well, in reality we implement it in esolangs
22:23:03 <ais523> but that's because we're us
22:23:05 <ehird> After all, the two are obviously mutually incompatible.
22:23:08 <ehird> Just as with esolangs, right?
22:23:40 <Slereah> Like, actually not caring.
22:23:46 <ehird> Because he's an idiot.
22:24:39 * ais523 deplores the current decline in the quality of internet trolling
22:24:46 <ais523> trolls used to actually be good back decades ago
22:24:52 <ais523> and not be recognised as trolls for weeks
22:24:54 <Slereah> Yeah, where are the 50 Hitlers?
22:24:59 <ehird> Heck, I'd prefer the GNAA or 4chan to this moron.
22:25:10 -!- Slereah has changed nick to Epic_Fail_Guy.
22:25:11 <ais523> then, when the conversation got interesting and bizzare, you got the YHBT. YHL. HAND.
22:25:37 <ehird> Epic_Fail_Guy: no, you have to start 100 clones and spam the channel with "FUCK"
22:25:39 -!- Epic_Fail_Guy has changed nick to Slereah.
22:25:53 <Slereah> ehird : I used to have a program like that
22:26:00 <ais523> Slereah: what's the point?
22:26:10 <ais523> all IRC networks ban clonebots nowadays anyway
22:26:25 <ehird> ais523: I've ran clonebots in #esoteric-blah for an okoplay.
22:26:33 <ehird> they spammed fast and weren't banned
22:26:37 <ais523> that was only 2 of them, not hundreds
22:26:43 <ehird> i had another variation
22:26:56 <ais523> hmm... there should be a mode on channels meaning "this channel allows clonebots and spamming"
22:27:09 <ais523> hmm... maybe a +trolling/-trolling mode too
22:27:21 <ais523> not entirely sure what would happen if a troll came in and it was turned off
22:27:29 <ehird> It ought to be noted that despite the pseudo-mathematical styling of this formulation, it is mathematically equivalent to saying "Sometimes people make comparisons involving Nazis or Hitler," and thus means pretty much nothing.
22:27:34 <ehird> -- Encyclopedia Dramatica on Godwin's Law
22:27:55 <ais523> ehird: it actually means "the longer a thread gets, the more likely it is that someone will make a Godwin comparison"
22:27:55 -!- Corun has quit ("This computer has gone to sleep").
22:28:01 <ais523> but that comes to much the same thing
22:28:12 -!- kskskssldlld has joined.
22:28:16 -!- kskskssldlld has set topic: /quit fuckers.
22:28:18 -!- kskskssldlld has left (?).
22:28:19 <ais523> there are some bizzare potential counterexamples, say the law would be false if the first message in a thread had a 50% chance of mentioning hitler
22:28:21 <ais523> but none of the others did
22:28:27 -!- ais523 has set topic: Logs are here: `wget http://tunes.org/~nef/logs/esoteric/08.12.29 -O - 2> /dev/null | grep 'logs >>>' | sed 's/.*logs >>> \(.*\) <<<.*/\1/'`.
22:28:42 <ehird> gee troll you sure are making our lives hard
22:28:48 <ais523> kskskssldlld: you're doing it wrong, if you want to quit someone else from IRC you type /quit name into your client, not into the topic
22:28:52 <ais523> besides, fuckers isn't in here atm anyway
22:29:09 <ehird> i like the part where he's getting more and more lazy
22:29:14 <ehird> right now I long for the days of me sucking balls.
22:29:39 <ais523> ehird: that sounds wrong
22:30:34 -!- alexholowczak has joined.
22:30:45 <ehird> alexholowczak: hi, are you the troll?
22:30:51 <Slereah> The spamming program is not on Partyvan.
22:30:54 <ais523> he knows me from another channel
22:31:00 <ais523> he's never seen a troll, so he came to watch
22:31:00 <Slereah> Maybe it was on Patriotic Nigra.
22:31:11 <ehird> alexholowczak: be braced for topic profanity.
22:31:16 <ehird> he'll be back in a minute...
22:31:20 <alexholowczak> (22:30:38) ehird: alexholowczak: hi, are you the troll? <- What would you have done if I said "yes"? :-P
22:31:37 <ehird> alexholowczak: commended you for having actually said something in the channel :P
22:31:40 -!- Judofyr has joined.
22:31:46 <ais523> and Judofyr isn't the troll either
22:31:52 <ehird> or... maybe he is!
22:32:02 <alexholowczak> ehird: Yes, I know that IRC has a reputation for not having anything happen... ever.
22:32:04 <ais523> either that, or being very clever with proxies
22:32:23 <Judofyr> gah. Colloquy won't let me see what you write!
22:32:24 <ehird> alexholowczak: this troll delivers messages by coming in with a dsfkjsdfkj-style nick, setting the channel, and parting again
22:33:05 <ais523> well, you can see what we're saying now
22:33:53 <Judofyr> I can read the raw IRC-stream, though
22:34:07 <ehird> alexholowczak: he'll be back
22:34:12 <ehird> he was away for quite a bit last time
22:34:14 <ais523> alexholowczak: trolls aren't used to people reacting intelligently, we must have confused them
22:34:40 <ehird> quick, ais523, talk about computation
22:34:40 <Judofyr> good IRC client for mac, anyone?
22:34:55 <ais523> Judofyr: ehird should know one, he used one for ages
22:34:59 <ehird> http://limechat.net/mac/
22:34:59 <ais523> and probably still does
22:35:02 <alexholowczak> Somebody poke me if the troll returns... Indeed it may not be your priority... But it'd be appreciated. :-P
22:35:11 -!- VKDKAKKE has joined.
22:35:14 -!- VKDKAKKE has set topic: HAHAHAHAHAHAHAHHAHA get a realLLLLLLLLLLLLLLLLLLLLL LANGUAGE.
22:35:15 <ehird> alexholowczak: he's back
22:35:18 -!- VKDKAKKE has left (?).
22:35:30 <ehird> like... retarded fireworks!
22:35:40 -!- ais523 has set topic: Logs are here: `wget http://tunes.org/~nef/logs/esoteric/08.12.29 -O - 2> /dev/null | grep 'logs >>>' | sed 's/.*logs >>> \(.*\) <<<.*/\1/'`.
22:35:58 <ehird> for some values of intelligent
22:36:06 <ais523> he insulted BF earlier, but not on any particularly insightful grounds
22:36:24 <ehird> alexholowczak: it's worse because he's shown a cursory knowledge of the existence of C, Perl and brainfuck
22:36:25 <ais523> he's just jealous of a channel where you can do this:
22:36:30 <Slereah> Hey, guy, what do you think of Lazy K?
22:36:31 <ais523> ^bf ,[.,]!Look at this!
22:36:38 <ais523> you can't easily do that with C
22:36:42 <alexholowczak> Yes, but by doing it by insulting a programming language is... not usual.
22:36:43 -!- casmith_789 has joined.
22:36:55 <ais523> help, we're being invaded by troll-watchers
22:37:02 <ehird> .c printf("hello world\n"); /* don't tempt me ais523 */
22:37:05 <ais523> casmith_789: how long until the whole of the rest of the channel turns up?
22:37:21 <ehird> we should have people come in and fake trolling
22:37:23 <Slereah> He's a valuable asset to this communauty.
22:38:15 <ais523> ^bf >,[>,]<[.<]!Playing around with BF is fun.
22:38:15 <fungot> .nuf si FB htiw dnuora gniyalP
22:38:19 <casmith_789> I'm worried - is that programming language I see c?
22:38:25 <ehird> casmith_789: that was :-P
22:38:29 <ais523> ehird pasted a line of C above
22:38:30 <Judofyr> brb, switching to LimeChat :-)
22:38:32 -!- Judofyr has quit.
22:38:32 <ais523> but there isn't a Cbot in here
22:38:42 <ehird> ais523: I was threatening to add that to botte.
22:38:51 <ais523> ehird: it would be hard to get it working correctly
22:38:54 <Slereah> Hey, guy, why don't you take up Python?
22:38:59 <ais523> although writing .c #define NULL argv would be fun
22:39:06 <ehird> ais523: not really, import standard headers, wrap in main(void) { ... }
22:39:15 <ehird> int main(void) { ...; return 0; }
22:39:25 <ehird> and run in sandbox
22:39:28 * ais523 waits for AnMaster to wonder wtf is going on
22:39:42 <alexholowczak> Slereah: He's someone who I know... Who always goes on about how great python is.
22:39:48 -!- Judofyr has joined.
22:39:53 <ais523> Perl vs. Python is one of the big Holy Wars
22:39:59 <ais523> just like emacs vs. vi
22:40:06 <ais523> or 1tbs vs. BSD-style indentation
22:40:08 <Slereah> So I'll just go PYTHON ACKBAR >:|
22:40:22 <ehird> Judofyr: limechat is written in ruby FWIW :P
22:40:41 <ais523> looks like time to go home, anyway
22:40:42 -!- casmith_789 has quit (Client Quit).
22:40:44 <ehird> hmm on further inspection the site says that
22:40:50 <ais523> you'll have to have fun troll-watching on your own
22:40:55 <ais523> AnMaster: someone mentioned xlq
22:40:55 <ehird> AnMaster: we have a troll.
22:41:02 <ehird> ais523 pinged you for some reason
22:41:07 -!- JKLELVE has joined.
22:41:10 -!- JKLELVE has set topic: befunge!!!!!!!!!!!!!!!!!!!! ftw! and its not some stupid python vs perl flame war! it's about being rational on what languages can be used and what hobbies you people need to revaluate!.
22:41:12 -!- JKLELVE has left (?).
22:41:23 <ehird> Isn't this guy anti-eso/
22:41:30 <Slereah> Everyone <3 Befunge, ehird
22:41:34 <ehird> AnMaster: apparently I suck balls!
22:41:37 <ehird> alexholowczak: He log watches, duh.
22:41:43 <ehird> http://tunes.org/~nef/logs/esoteric/09.01.03
22:41:43 <AnMaster> ehird, report to opers and/or chanops
22:41:46 -!- ais523 has quit (Client Quit).
22:41:47 <ehird> AnMaster: there are none, stupid
22:41:56 <ehird> also, freenode oeprs don't deal with cahnnel-specific thngs
22:42:00 <ehird> lament is never here
22:42:09 <ehird> besides, he'll tire soon enough
22:42:11 <Judofyr> Camping is probably the framework for you guys: http://github.com/why/camping/tree/master/lib%2Fcamping.rb
22:42:15 <ehird> meanwhile, he's amusingly idiotic
22:42:16 -!- jvkelfoe has joined.
22:42:19 -!- jvkelfoe has set topic: report?! LOLOLOLOL suck it up and accept the fact i'm right here! esosteric languages suck monkey balls!.
22:42:20 -!- jvkelfoe has left (?).
22:42:22 <ehird> Judofyr: i love camping, it's ridiculous
22:42:30 <AnMaster> ehird, yes he is, he made a zen comment just a few a weeks ago
22:42:33 <ehird> troll: like we'd dignify you with a reporting.
22:42:41 <ehird> AnMaster: whatever
22:42:42 <Judofyr> in my local repo I've manged to get it below 3k
22:42:51 <ehird> he's been here for hours XD
22:42:52 <fizzie> Maybe I should do at +t, then.
22:43:06 <AnMaster> anyway going afk again, studying for test
22:43:10 <Slereah> Maybe he'll talk to us for reals :D
22:43:11 -!- ehird has set topic: TAKE THIS | http://tunes.org/~nef/logs/esoteric/.
22:43:16 <ehird> and force him to USE MESSAGES
22:43:23 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric/.
22:43:58 <AnMaster> and he can even edit access list it seems
22:44:07 <Judofyr> ehird: hm... I can't see when other talks in other channels, though :/
22:44:11 <ehird> fizzie has been an op since like 2003
22:44:13 <ehird> Judofyr: yes you can
22:44:17 <ehird> and comes on the console
22:44:30 -!- iivkee has joined.
22:44:32 <fizzie> 00:44:20 [freenode] -ChanServ(ChanServ@services.)- The KEEPTOPIC flag has been set for channel #esoteric.
22:44:32 -!- iivkee has set topic: +t? HAHAHAHAHAHHAHAHAHAHA no this is what you do, type /j #C.
22:44:34 -!- iivkee has left (?).
22:44:43 <ehird> that's a chanserv thang
22:44:44 <fizzie> I have no idea what that does.
22:44:47 <ehird> Judofyr: it's just like colloquy
22:44:50 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric/.
22:44:52 <fizzie> Freenode is so confusing!
22:45:00 <ehird> /mode +t #esoteric :P
22:45:16 -!- ChanServ has set channel mode: +o fizzie.
22:45:21 -!- fizzie has set channel mode: +t.
22:45:22 -!- viekwke has joined.
22:45:25 -!- viekwke has left (?).
22:45:28 -!- ChanServ has set channel mode: -t.
22:45:28 -!- ChanServ has set channel mode: -t.
22:45:39 -!- VKEKWEKW has joined.
22:45:43 -!- VKEKWEKW has set topic: what it does is YOU CANT CHANGE THE FUCKING TOPIC YOU FUCKING CUNTS WASTING TIME ON LANGUAGES THAT HAVE 0 VALUE {}.
22:45:46 -!- VKEKWEKW has left (?).
22:45:48 <fizzie> Heh, modelocked to not have +t. Freenode, how silly you are.
22:46:00 <AnMaster> fizzie, keep topic means the topic will be restored after a netsplit or such
22:46:03 -!- Slereah has set topic: Woooo, ghost blowjob!.
22:46:14 <AnMaster> fizzie, do you have +s in flags?
22:46:16 -!- ehird has left (?).
22:46:18 -!- ehird has joined.
22:46:24 -!- ChanServ has set channel mode: +t.
22:46:25 <AnMaster> then you can change the modelock
22:46:40 -!- fizzie has set topic: http://tunes.org/~nef/logs/esoteric/.
22:46:40 <ehird> fizzie: add +t to the modelock, then.
22:46:44 <AnMaster> he uses the same ip all the time
22:46:48 <fizzie> Yes, that sounds like a good idea.
22:47:03 -!- fizzie has set channel mode: +b *!n=checker@c-68-55-8-210.hsd1.md.comcast.net.
22:47:09 <fizzie> Let's start with something that exact.
22:47:15 <fizzie> At least there's something to evade.
22:47:21 <ehird> fizzie: I like our new permanent topic.
22:47:31 <ehird> nooooooooooooooooooooo
22:47:37 <ehird> trollwatching is fun.
22:47:40 <ehird> he's used a different ident.
22:47:46 <ehird> hey troll, come troll #esoteric-SANS-FASCISM
22:48:17 <AnMaster> changing the topic is censorship
22:48:18 <fizzie> It's a fair chance he'll bother evading at least that particular ban.
22:49:24 <ehird> troll please come back with a different ident
22:49:26 <ehird> i miss you already.
22:49:42 <ehird> you scared him away
22:49:54 -!- ehird_Im_here has joined.
22:50:05 <Slereah> Why hello, man who's ehird
22:50:11 -!- ehird_Im_here has left (?).
22:50:19 -!- optbot has quit (Remote closed the connection).
22:50:23 <ehird> won't need him for a while
22:50:25 <Slereah> Just ban him, he's not dedicated to entertain us.
22:50:39 <ehird> he is my new lover.
22:50:43 <fizzie> See, you got what you asked for. And it was even a different IP.
22:50:54 <ehird> he's so dedicated<333
22:51:10 <AnMaster> it is way out of my scrollback by now
22:51:12 <Judofyr> I got 4-5 WEP-encrypted networks ATM
22:51:17 <ehird> AnMaster: he came in and asked if anyone was ther
22:51:23 <ehird> he changed the topic to tell us to get laid
22:51:29 <ehird> then he started doing this, basically.
22:51:37 <AnMaster> ehird, wonder why he started doing that
22:51:42 <ehird> AnMaster: he wants us to use real languages, like C and Perl, apparently
22:51:50 <ehird> and wants us to change our hobby to 'getting laid'
22:51:57 <ehird> whereas he's content himself with 'trolling IRC channels'
22:52:04 <AnMaster> ehird, well we do use such languages, to write interpreters in
22:52:14 <ehird> ais523 already said that,
22:53:09 -!- alexholowczak has quit ("Leaving.").
22:53:47 <fizzie> I can understand the "you should use real languages" thing, but he/she seems so uncommonly... intense about it.
22:54:36 <ehird> AnMaster: from #chess
22:54:41 <ehird> ais523 invited him to troll watch
22:54:53 <ehird> fizzie: he desperately cares that we are all laid
22:55:26 -!- kveiwekw has joined.
22:55:33 -!- kveiwekw has left (?).
22:55:34 <Slereah> Well, mister troll, send me a picture and I'll see if I can give you some loving
22:55:50 <AnMaster> hm, if I pull this lever on the office chair I'm in I do tilt backwards, so I guess that means that I'm almost lying back, thus "getting laid"
22:56:16 <ehird> troll, let's have sex. then we'll -both- lose our virginity!
22:56:25 <AnMaster> ehird, thanks, I prefer those jokes
22:56:43 <Slereah> ehird : Hey, we can share him.
22:56:49 <Slereah> Are you more of a top or a bottom?
23:02:02 <fizzie> I would assume trolling would be more "fun" somewhere where people would take it more seriously. Trolling esoteric language enthusiasts about their tastes in programming languages is like trying to annoy a duck by pouring water on it (i.e. you need to do it a whole lot).
23:02:28 <Slereah> He does not have the dedication or strength of a nigra.
23:02:42 <ehird> i think Slereah is actually a troll
23:03:18 <Slereah> Sure, I may talk about gay sex.
23:03:26 <Slereah> But only for the eyes of augur.
23:03:29 <AnMaster> fizzie, you verified that scientifically? About the duck I mean.
23:04:40 <ehird> Judofyr: ITYM sex in the city space shuttle
23:05:01 <ehird> for the hopeless outsiders: http://hackety.org/2007/08/10/myCompleteListOfSubstitutePhrasesForTheActWeNowKnowToBeMonkeypatching.html
23:05:02 <fizzie> Actually I spent a whole lot of time to think of a better simile, with no luck; had to go with the "like water off a duck's back" idiom.
23:05:09 <AnMaster> ehird, huh, what is a "city space shuttle"?
23:05:19 <ehird> AnMaster: I think it parses as ((sex in the city) space shuttle)
23:05:31 <AnMaster> ehird, that doesn't make much sense
23:05:42 <Judofyr> more like, Attempting To Exercise Just A Fraction Of The Lawlessness And Lack Of Discipline Which We All First Learned From Why The Lucky Stiff
23:05:42 <ehird> _why doesn't make much sense
23:05:53 <AnMaster> ehird, unless "sex in the city" was a name or such.
23:06:45 <AnMaster> hm googling seems to indicate it is a movie or something such, so ok, I guess that parsing would make sense then
23:06:57 <Judofyr> still, I think _why is a genius!
23:07:11 -!- oerjan has joined.
23:07:15 <fizzie> (Curiously in Finnish it's "kuin vesi hanhen selästä", lit. "like water off a geese's back"; I'm not sure why they've used a bit different waterfowl there.)
23:07:51 <ehird> typography is annoying
23:07:59 * oerjan wonders if this means the same as norwegian "som vann på gåsa" (also goose)
23:08:26 <fizzie> oerjan: Like water off a duck's back; yes, I think it's the same thing.
23:08:34 <AnMaster> fizzie, well that exists in Swedish too, except it uses goose instead
23:08:42 <AnMaster> "som att hälla vatten på en gås"
23:09:04 <fizzie> The Nordic countries seem all to be very goose-friendly.
23:09:20 <fizzie> It's a duck in English.
23:09:20 <AnMaster> doesn't something similar exists for there
23:09:37 <oerjan> no, we just have intensive knowledge in how to torture geese, and know that water doesn't work
23:09:59 <AnMaster> fizzie, that depends on what it is in Denmark and on Iceland
23:10:25 <oerjan> Judofyr: already mentioned
23:10:26 <AnMaster> Judofyr, that is what oerjan said
23:11:01 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
23:11:10 <oerjan> danish: "som at slå vand på en gås"
23:11:35 <AnMaster> oerjan, ok, then geese is in clear majority even if Icelandic (sp?) use something else
23:12:16 <AnMaster> maybe geese were more common here? And ducks more common in UK?
23:12:34 -!- kar8nga has joined.
23:12:48 <oerjan> we are just a giant petroleum platform in the north sea, with a giant hedge fund
23:13:20 <AnMaster> oerjan, wait what, I visted Oslo this summer, looked at Fram and such things...
23:13:31 <fizzie> It's done with mirrors, I guess.
23:13:58 <oerjan> that's our park area, it's inside the platform
23:14:15 <AnMaster> fizzie, must be a lot of mirrors then, because I traveled by train from Sweden to Olso, and we seemed to travel for several hours through wilderness
23:14:25 <AnMaster> I guess they did it when passing through one of the mirrors
23:14:54 <fizzie> Yes, then they run the train in a circle and use their anti-gravity thingamajicks to keep you from noticing.
23:15:04 <AnMaster> you know, like just a km or 2 on the edge of Sweden, then through a long tunnel, and somehow using mirrors to make it not look like the tunnel was that long
23:15:07 <fizzie> It's the simplest way!
23:15:17 <oerjan> AnMaster: the wilderness is just CGI
23:15:18 <AnMaster> fizzie, you still need a tiny strip of land there
23:15:34 <AnMaster> oerjan, well it can't be before the first tunnel I think
23:15:50 <AnMaster> so I'd say there is a tiny strip of real norway there
23:16:00 <fizzie> They do have a "wild goose chase" in English; I'm not sure we have an equivalent one here.
23:16:00 <ehird> norway -does- -not- -exist-
23:16:19 <oerjan> um the train windows are actually plasma screens
23:16:34 <AnMaster> oerjan, oh? really? They put them up during the travel then?
23:16:44 <AnMaster> or somehow faked the view when inside Sweden?
23:16:56 <oerjan> they're just programmed to show a camera view while in sweden
23:17:07 <fizzie> AnMaster: "a lengthy or useless pursuit or task whose execution requires inordinate resources and circuitous execution" is the wikipediaic definition.
23:18:11 <fizzie> And actually the interwebs tell me the Vietnamese water-duck idion is literally "like pouring water on a duck's head", instead of back. Their methods for animal torture are obviously different.
23:19:17 <AnMaster> fizzie, we don't specify a part in Sweden
23:19:23 <AnMaster> we just talk about the duck in generic
23:19:37 <fizzie> AnMaster: At the bottom of http://www.cjvlang.com/Birds/duck4.html
23:19:42 <AnMaster> same for that Norwegian phrase oerjan used.
23:20:04 <fizzie> AnMaster: The Finnish variant mentions the back, like the English one.
23:20:15 <oerjan> and the danish doesn't either
23:20:29 * oerjan fails at guessing how to find the icelandic equivalent
23:23:55 <oerjan> ah, "að kasta vatni á gæs"
23:25:14 <fizzie> That's not in wiktionary's "Icelandic idioms / similes" lists, but those aren't very long anyway. Sounds goose-ish, anyway.
23:25:40 <oerjan> well i started by translating water and goose with wiktionary
23:25:47 <oerjan> then googled the combination
23:28:48 <oerjan> http://www.ms.is/Islenska/Fernuflug/Fernuflug-II/ordtok/ has it
23:29:42 <oerjan> skvette is the norwegian verb too
23:30:50 <oerjan> oklosol: feeling particularly bright today?
23:30:53 <fizzie> I shouldn't be too surprised if they had something more common with a vaguely similar meaning; they are such purists. Well, maybe they don't mind idioms so much.
23:31:16 <oerjan> those are all good icelandic words
23:31:34 <AnMaster> oerjan, Swedish has skvätta, which is close
23:31:47 <oerjan> (stökkva instead of skvetta was also mentioned)
23:34:20 <AnMaster> they son't just use -son style names, they use -dóttir too
23:36:15 <oerjan> moreover, they don't inherit them
23:37:14 <oerjan> i've heard/read this weird story about an icelandic woman who moved to swedish but was allowed to keep her -dóttir name
23:37:25 <oerjan> the problem occured when she got a son...
23:37:41 <AnMaster> but you can keep your name when you move
23:37:55 <AnMaster> I can't imagine it not being the case
23:38:00 <oerjan> yes. as i said the problem happened when she got a son.
23:38:33 <oerjan> and the government insisted he had to have her surname
23:38:42 <AnMaster> oerjan, what happened in the end?
23:39:04 <oerjan> i don't remember, it may be a fake anecdote for all i know
23:39:26 <AnMaster> oerjan, it may be real, sounds like usual Swedish gov
23:39:41 <AnMaster> incompetent if you want to put it nicely
23:40:15 <oerjan> the nothing is possible unless there is a rule allowing it kind, i assume
23:40:36 <ehird> AnMaster: can't be more incompetent than the uk
23:40:54 <AnMaster> ehird, I think around the same level probably
23:41:00 <oerjan> i expect that's global, at least in those countries that _have_ rule by law
23:41:07 <ehird> AnMaster: almost impossible
23:41:11 <ehird> do you guys have cctv everywhere?
23:41:56 <AnMaster> ehird, no but we have the FRA law and the IPRED law, though those met a storm of protests in media so the gov is finally starting to retreat
23:42:21 <ehird> ah, intellectual property.
23:42:31 <ehird> AnMaster: what about a national, required ID card scheme?
23:42:49 <ehird> AnMaster: a required government-assigned identification card for every citizen
23:42:56 <ehird> "fascism" is an understatement
23:42:59 <AnMaster> ehird, that you have to carry on you!?
23:43:08 <ehird> the gov is pushing it for 2012
23:43:10 <AnMaster> ehird, how the heck would that work for child?
23:43:30 <oerjan> AnMaster: they just tattoo it on, duh
23:43:31 <ehird> AnMaster: i'm not sure it applies to minors
23:43:38 <ehird> AnMaster: but, delegated to the parent
23:44:01 <AnMaster> ehird, well no we don't have that, not yet at least
23:44:10 <fizzie> Maybe they could stick an implant in, that'd be the neat.
23:44:13 <ehird> proposal: the id card is chip-implanted into their brains
23:44:23 <ehird> it allows for easy termination of dissenting citizens!
23:44:54 <AnMaster> ehird, you know this sounds like 1984 somehow
23:45:09 <ehird> It _is_ an instruction manual, right? :-)
23:45:30 <ehird> AnMaster: we also require ISPs to censor the internet
23:45:55 <fizzie> There is a crazy crank Finnish page about how the current Finnish ID card (which has a chip in it for RSA signatures or some-such, but is in no means obligatory) is a tool of the devil, the mark of the beast.
23:46:16 <fizzie> It's at http://www.varo666siru.net/ and has some English and Swedish content too.
23:46:25 <AnMaster> ehird, I think the gov makes our ISPs block child porn sites, optional though, but with a loaded gun pointed at those who disagree
23:46:51 <ehird> AnMaster: The centralized UK provider that handles the block blocked this page recently: http://en.wikipedia.org/wiki/Virgin_Killer [you might not want to click]
23:47:02 <ehird> there was a load of hoohah about it recently
23:47:07 <fizzie> "When a person has this chip in them, they can be located in any part of the world and by a press of a button, be activated! This chip is microscopically small; it is of the size of the tip of an ordinary syringe needle."
23:47:11 <ehird> in that it's not actually illegal
23:47:32 <ehird> AnMaster: the album cover.
23:47:44 <AnMaster> ehird, never heard of it, *loads page with tor*
23:47:47 <ehird> [NSFW, NMS (Not Mind Safe)]
23:48:17 <fizzie> "The Bible says that at some point this ”biochip” will be offered to all people. It is better to die than to receive a mark that makes a human being a robot."
23:48:49 <ehird> fizzie: where is this chip put?
23:49:47 <AnMaster> fizzie, sounds like a mild version of time cube
23:49:53 <fizzie> "Under the skin." And the current chip in the ID card is a "prototype" for it.
23:49:59 <AnMaster> oh damn, now I got eh... started...
23:50:17 <ehird> fizzie: Ah. So it doesn't actually exist. AnMaster: Me? :P
23:50:36 <fizzie> ehird: Oh, no, it already exists, it's just not yet forcibly installed in everyone.
23:50:44 <fizzie> "Today at least 6,000 people in Sweden have taken that mark and they are being followed all the time.Their location can be displayed on a TV screen any time."
23:50:51 <fizzie> (I'm not sure what Sweden has to do with this.)
23:50:53 <ehird> fizzie: I mean, an under-the-skin chip exists?
23:51:15 <fizzie> Yes. It's a CIA project. Or something.
23:51:21 <fizzie> It's a bit confusing, to tell the truth.
23:51:28 <ehird> Ah. So it doesn't actually exist.
23:51:29 <AnMaster> fizzie, how is it related to 9/11?
23:52:03 <oerjan> under-the-skin chips probably exist, for medical uses
23:52:23 <fizzie> "Manipulated by the chip, one person became like a Nazi of former times, a superman bubbling over with zeal. When the stimulus was further slightly increased, everything was over."
23:53:10 <fizzie> Anyway, this text was from a "an abridged version of a 3-hour speech of Dr. Colin Sanders, D. Sc. (Tech), USA"; and that site is collecting all kinds of stuff that says "micro-chip" in it as "evidence" that the Finnish government is planning some dastardly thing like this too.
23:53:45 <ehird> On December 20, 2007, Scorpions played at a concert for the elite of Russia’s security forces in the Kremlin. The concert celebrated the 90th anniversary of the founding of the Cheka - predecessor of the KGB. Members of the audience included President Vladimir Putin.
23:53:51 <ehird> -- about the band with the censored colour
23:53:55 <oerjan> if you believe literally in Revelation then you'd have to believe something like that
23:54:11 <ehird> oerjan: if you literally believe in any part of the bible you have to be a crackpot by obligation...
23:54:46 <oerjan> oh there are probably sections that are literally true
23:54:59 <oerjan> maybe not a whole book though
23:55:12 <ehird> oerjan: name one :P
23:55:21 <fizzie> Some parts of that page make me think it's parody, though. (My translation this time) "There are also rumours of so-called blue tooth, that would be used in the EU area [for passport/identification/etc]" which sounds too much like a joke, given... well, you know, bluetooth.
23:55:45 <ehird> i bet the bears mauling the teenagers who called the guy baldie is true
23:55:48 <ehird> it's too good not to be
23:55:56 <ehird> fizzie: that's not much of a stretch for a crackpot
23:56:02 <oerjan> ehird: i didn't say i could say which are true.
23:56:54 * oerjan used that story to make a Jehovah's Witness give up on him once, ihrc
23:57:22 <fizzie> The basic gist seems to be that all kinds of (medical or other) implants make it possible to control (via satellites!!1) you like a robot.
23:58:17 <fizzie> (Gene-tweaked grain is also somehow related.)
23:58:30 <ehird> i want a jehovah's witness to bother m
23:58:37 <ehird> I'd come out with The Origin of the Species
23:58:43 <ehird> and ask if I could help them
23:59:18 <fizzie> We used to get them semi-regularly (not more than something like once/year, though) in the university student village.
00:00:08 <fizzie> Oh, there are details, too. Motorola is building these chips; the model number is "BT 952000".
00:01:52 <oerjan> do they come with that leap year bug that Zune got from that Motorola spinoff?
00:02:32 <ehird> BT 952000 --http://www.hiddenmysteries.org/themagazine/vol8/articles/montex.shtml
00:02:38 <ehird> so, some consistency'
00:03:12 <fizzie> Yes; I didn't know that the corporation called "Lucent" got its name from "LUCifer ENTerprises".
00:03:17 <fizzie> One would think that's not very good PR.
00:03:24 -!- Judofyr has quit (Remote closed the connection).
00:06:11 * oerjan now wants to look up dev.* corporation names :D
00:08:22 <oerjan> i suggest staying away from Canada's DEVCO
00:10:35 -!- fizzie has set channel mode: -o fizzie.
00:10:49 <fizzie> Incidentally, have to sleep; do you want me to leave that +t on or what?
00:12:24 <kerlo> -t is nice when you have no trolls.
00:15:28 <fizzie> I'm not that sure that particular topic-sillitude will not come back, but I guess there's not much Real Talk during the "night-time" anyway.
00:15:43 -!- ChanServ has set channel mode: -t.
00:15:52 <fizzie> Sleepitude, now; g'night.
00:16:51 <oerjan> WE ARE DOOMED! DOOMED, I SAY!
00:21:53 <ehird> I just made a great misreading
00:21:57 <ehird> "with enough bugs, all eyes are shallow"
00:22:23 <oerjan> THEY ARE EATING OUR EYES! AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
00:29:09 -!- bloreg has quit.
00:29:09 -!- puzzlet_ has joined.
00:29:17 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
00:31:49 -!- kar8nga has left (?).
00:34:11 -!- puzzlet_ has joined.
00:36:33 * ehird puts a black background on everythin before his eyes cave in
00:38:03 <oerjan> BLACK IS THE (NON-)COLOR OF EVIL
00:39:25 <ehird> dear apple: i would like a free leopard upgrade so that I don't get ugly white window mesh clashing with my ultimat blakk
00:42:00 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
00:47:53 -!- GreaseMonkey has joined.
01:08:43 <AnMaster> ehird, can't you change theme in OS X?
01:08:51 <ehird> Not the window chrome, no.
01:08:59 <ehird> Didn't you know that Apple is always right? :-P
01:09:08 <AnMaster> ehird, you just said they weren't?
01:09:17 <ehird> Steve Jobs would disapprove of your sacrelige of his perfect design.
01:09:21 <ehird> You uncouth savage. :D
01:10:03 <AnMaster> NEWS: Today ehird was making fun of Apple. Read more on page 7, 9, 12-13 and 17
01:10:06 -!- Vendan has joined.
01:10:29 <ehird> I'm sure I've done that before :|
01:10:49 <AnMaster> no you complained when I was doing it!
01:11:38 <ehird> I wonder if Apple stopped disobeying their own HIG in 10.5.
01:11:40 <AnMaster> ehird, anyway, iirc you can change theme even on windows xp
01:11:57 <ehird> AnMaster: Human Interface Guidlines
01:12:29 <ehird> They sa(y|id) metal chrome should be used only for apps that are similar to real-world devices
01:12:37 <ehird> but I don't think Safari, a web browser, fits that definition.
01:12:47 <ehird> maybe it's imitating a refridgerated-mounted browser 2000
01:12:48 <AnMaster> ehird, oh? iirc finder had the metal look in 10.4
01:13:03 <AnMaster> what on earth is it in real world?
01:13:10 <ehird> Uh. A filing cabinet? XD
01:13:16 <ehird> about the only time where apple listens to that guideline is with calculator.
01:13:20 <ehird> Which looks like ar eal calculator at a glance.
01:13:45 <ehird> I mean Calculator.app.
01:13:53 <AnMaster> ehird, ok, maybe they are separate
01:14:03 <ehird> One is a graphing calculator, one is a regular calculator :P
01:14:12 <AnMaster> ehird, well I have no regular calc
01:14:15 <ehird> Although Grapher.app is metal in 10.4, too...
01:14:39 <ehird> I want a TI-83 & an HP. Because that's like using both vi and emacs.
01:15:31 <AnMaster> ehird, had to replace the batteries once the in the ~6 years or so that I had it
01:16:35 <AnMaster> doesn't use much power at all since those are 4 AAA
01:17:29 * ehird examines how hard it'd be to rescheme cgit to fit with the rest of his design
01:17:49 <ehird> http://hjemli.net/git/cgit/about/
01:18:14 <ehird> ... yes, yes it is.
01:18:24 <AnMaster> ehird, do you re-scheme google?
01:18:36 <ehird> It's a piece of software.
01:18:38 <ehird> That you install on your server.
01:18:40 <ehird> To view repositories.
01:18:50 <AnMaster> but you talked about desktop apps
01:19:01 <ehird> I know. It was a seperate musing.
01:19:02 <AnMaster> I thought you planned to use greasemonkey or something
01:19:23 <AnMaster> change the layout of every page you visit
01:19:29 <ehird> http://userstyles.org/
01:19:35 <ehird> The interwebs are way ahead of you, mon.
01:19:48 * AnMaster doesn't use greasemonkey himself
01:20:04 <ehird> GreaseMonkey: If you don't want to be pinged, stop infringing on intellectual property. :P
01:20:18 <ehird> I was being sarcastic.
01:20:23 <AnMaster> I would assume greasemonkey is GPL
01:21:07 <ehird> hmm. making cgit fit into a 33em (base = 16px) layout could be hard.
01:21:11 <ehird> Solution: expand the width for those pages.
01:21:27 <ehird> GreaseMonkey: Quite.
01:21:35 <ehird> It is also a monkey. That is greasy.
01:21:45 <GreaseMonkey> anyways, back to what i was doing (teaching starnes how to rickroll on a keyboard)
01:22:15 <ehird> "I learned a song yesterday, come see!"
01:22:20 <ehird> "Dun dan dun dun dan dun-dun-dun"
01:22:21 <GreaseMonkey> AnMaster: there's more horrible songs than that
01:22:26 <ehird> "Dun dun dun dun dun, dun-dah-dah-dah!"
01:23:21 * ehird likes how his irc bouncer + client handle logging the whole of #wikipedia and playing it back immediately on reconnect with only a few seconds of lag
01:24:32 <ehird> also, I propose this become the next rick roll: http://uk.youtube.com/watch?v=nuyY9WjNpgs
01:24:54 -!- jix has quit ("Computer has gone to sleep").
01:30:54 * oerjan didn't notice the # on wikipedia first, and was sorta skeptic
01:32:13 -!- Sgeo has joined.
02:04:34 <AnMaster> <GreaseMonkey> GbMaj7, Ab, Fm, Bbm <-- chords?
02:04:50 <kerlo> GbM7 isn't much of a note.
02:05:20 <AnMaster> GreaseMonkey, so what about the actual melody?
02:05:26 * kerlo thinks, "G flat? What kind of crazy key is this?"
02:05:40 <AnMaster> <kerlo> GbM7 isn't much of a note. <-- several
02:06:23 <GreaseMonkey> also, the melody is covered by a different instrument, i think
02:06:30 <kerlo> Let's see. A minor, five fifths down...
02:06:52 <kerlo> That's B flat minor, all right.
02:07:52 <AnMaster> kerlo, I was trying to figure out the chord too
02:08:27 <AnMaster> no I fail at this time of the night
02:08:31 <kerlo> Now someone quickly get me a program or an applet or something that can play me those chords. I don't want to wake anyone up with the piano and I'm not very good at sonification.
02:08:49 <AnMaster> kerlo, well I connected my headset to my synth
02:09:06 <AnMaster> though it probably uses samples
02:10:02 <AnMaster> hm the keyboard claims that is Ebm(add9)
02:10:06 <kerlo> Yell if you see a Cb or an Fb in any of these.
02:10:30 <kerlo> Ebm(add9)? It doesn't even *have* an Eb, does it?
02:11:02 * AnMaster pulls the power plug and hopes it helps to reset it
02:11:31 <kerlo> Ebm(add9) is Eb, Gb, Bb, F.
02:12:17 <AnMaster> ok my fault, I hit the wrong key -_-
02:13:00 <AnMaster> kerlo, does that match better? :P
02:13:17 <kerlo> Ab is Ab, C, Eb; Fm is F, Ab, C; Bbm is Bb, Db, F.
02:13:37 <kerlo> F#M7 is enharmonic to GbM7.
02:14:00 <kerlo> I loathe treating enharmonics as the same, but only a little.
02:14:39 <AnMaster> kerlo, depends on which way you take it
02:25:40 -!- Sgeo has quit (Remote closed the connection).
04:36:03 -!- Sgeo has joined.
05:19:48 -!- Sgeo has quit (Remote closed the connection).
05:29:11 -!- oerjan has quit ("Good night").
05:48:34 -!- Sgeo has joined.
06:57:00 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:31 <oklosol> lol. my dream just reminded me i need to renew my library books xD
08:01:42 <oklosol> also i slept like 13 hours
08:05:05 <oklosol> ais523: also, yay for a client that stores topic history <<< yeah i wish mine did, i mean when someone changes the topic, there's essentially no way to get the old one back.
08:09:19 <oklosol> ehird: freenode don't do that kind of thing. <<< freenode k-lined my friend, many times.
08:14:53 <oklosol> ehird: ais523: I've ran clonebots in #esoteric-blah for an okoplay. | ehird: i had another variation | ehird: with like 30 <<< dear fuck i wanna see
08:33:19 <oklosol> AnMaster: you've never heard about sex in the city? god i envy your style
08:37:30 <oklosol> oerjan: oklosol: feeling particularly bright today? <<< actually, yes. well. not the day you asked, but now.
08:39:37 <oklosol> AnMaster: s/the/then/? <<< no, parses as "oerjan: the (nothing is possible unless there is a rule allowing it) kind, i assume"
08:42:04 <oklosol> 01:46… ehird: AnMaster: The centralized UK provider that handles the block blocked this page recently: http://en.wikipedia.org/wiki/Virgin_Killer [you might not want to click] <<< i still think blocking a page containing child porn as an album cover is not as bad as blocking a thousand pages of normal porn
08:42:19 <oklosol> (we looked through the whole finnish list, 5 pages of cp, rest was just porn.)
08:42:39 <oklosol> (also the 5 needed a few links forward, nothing was cp to begin with)
08:52:06 <oklosol> AnMaster: GreaseMonkey, so what about the actual melody? <<< 02307..7..5.....b02b5..5..3..20.02303..5..2..0b...b.5...3....... repeat iirc
08:53:35 <oklosol> kerlo: Ebm(add9)? It doesn't even *have* an Eb, does it? <<< it has all but it.
08:54:03 <oklosol> ebadd9 just drops gb a third down
08:54:14 <oklosol> also why am i commenting this part, you're obviously noobs :-)
08:54:41 <oklosol> nice. could do that without anyone commenting back
08:55:02 <oklosol> and took only an hour, should really get back to only taking a glance at the logs.
09:02:13 -!- oklosol has changed nick to oklopol.
09:04:02 -!- kar8nga has joined.
09:29:11 -!- tyrelle has joined.
09:35:53 <oklopol> psygnisfive: sorry i missed you
09:36:02 <oklopol> that i missed your comment, didn't see it
09:40:08 <psygnisfive> and i know you missed me darling dont worry
09:41:25 <oklopol> you were going to sleep when i was
09:41:32 <oklopol> and you're going to sleep again.
09:41:51 <oklopol> tyrelle: i've had two courses!
09:47:44 -!- Corun has joined.
09:51:40 <tyrelle> #lisp has some opinionated ops
10:11:27 -!- GreaseMonkey has quit ("You only need one wheel. Bikers are just greedy.").
11:47:26 -!- Corun has quit ("This computer has gone to sleep").
12:26:40 -!- judotest has joined.
12:32:57 -!- judotest has changed nick to Judofyr.
12:33:30 <Judofyr> that's why the smilie didn't show up in MSN :P
12:46:29 -!- Corun has joined.
12:48:42 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
12:49:04 -!- kar8nga has joined.
12:51:11 -!- jix has joined.
12:53:18 -!- jix has quit (Client Quit).
13:30:31 -!- moozilla has joined.
13:32:42 -!- metazilla has joined.
13:32:48 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
13:32:52 -!- metazilla has changed nick to moozilla.
13:45:20 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
13:45:37 -!- Judofyr has joined.
13:55:04 -!- metazilla has joined.
13:55:04 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
13:55:14 -!- metazilla has changed nick to moozilla.
13:55:52 -!- jix has joined.
13:57:42 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
13:57:45 -!- metazilla has joined.
14:06:23 -!- Judofyr_ has joined.
14:10:18 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
14:10:23 -!- moozilla has joined.
14:12:57 -!- metazilla has joined.
14:12:57 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
14:13:05 -!- metazilla has changed nick to moozilla.
14:22:04 -!- ais523 has joined.
14:24:35 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
14:24:36 * ais523 wonders how the trolling went yesterday
14:24:36 <ais523> hmm... I wonder if that's interesting enough to actually open up logs to read
14:27:44 -!- metazilla has joined.
14:27:44 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
14:27:54 -!- metazilla has changed nick to moozilla.
14:29:29 <ais523> <fizzie> Trolling esoteric language enthusiasts about their tastes in programming languages is like trying to annoy a duck by pouring water on it
14:30:20 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
14:30:23 -!- moozilla has joined.
14:38:08 <ais523> I should read the logs more often
14:47:50 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
14:47:50 -!- moozilla has joined.
14:47:57 -!- Judofyr_ has changed nick to Judofyr.
14:50:40 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
15:22:06 <ais523> ehird will like this quote: "MySQL is a very fast database because it takes out the parts of a database that make it a database."
15:22:19 <ais523> which explains why lots of people don't like it, and also why lots of people use it
15:42:19 -!- ehird has left (?).
15:42:24 -!- ehird has joined.
15:42:26 -!- ehird has left (?).
15:42:29 -!- ehird has joined.
15:43:16 <ehird> graph serialization for the fecking win
15:43:26 <ehird> graph serialization for the fecking win
15:44:11 <ehird> 00:14:53 <oklosol> ehird: ais523: I've ran clonebots in #esoteric-blah for an okoplay. | ehird: i had another variation | ehird: with like 30 <<< dear fuck i wanna see
15:44:13 <ehird> im sure i showed you
15:45:23 <ehird> also, our troll was awesomely bad.
15:57:26 <oklopol> and yes, you probably showed me, i just don't remembe
15:57:27 <ais523> yes, I read the logs too
15:57:57 <oklopol> ehird: well i thought you were telling about the troll from last night
15:58:37 <ehird> was replying to ais523's logmsg
15:59:06 <ais523> what do you think of the quote about MySQL/
16:00:10 <ehird> 15:42 <ehird> graph serialization for the fecking win
16:00:43 <ais523> actually, viewing MySQL as not a database, but still useful for certain tasks, is probably best
16:00:50 <oklopol> ehird: yes, i know, you told that with your wat.
16:00:52 <ais523> even if it isn't a database, it seems to have found itself a niche
16:01:17 <ehird> oklopol: just about everything
16:01:22 <ehird> until recently, it had no transactions
16:01:44 <ais523> oklopol: it's sort of the C of databases, it lets you do stupid and nonsensical things without complaining, and most high-level features have to be written by hand
16:01:47 <oklopol> transactions are one of the crucial things about irl databases that are not a part of databases as such
16:01:58 <ehird> oklopol: er yes they are
16:02:05 <ais523> of course, this means it's very fast
16:02:17 <ehird> i don't actually think mysql did any of ACID until recently
16:02:42 <ehird> they started a project recently, Drizzle, which aims to.. make it even less of a database, for the "web 2.0" crowd
16:02:45 <ehird> i'm wondering what it'll have left
16:03:01 <oklopol> ehird: they aren't an inherent part of databases.
16:03:17 <ais523> cool, what does it do?
16:03:17 <ais523> I actually think they're onto something here
16:03:17 <ehird> printf("hello world\n")?
16:03:19 <ehird> ais523: barely anything
16:03:31 <ehird> http://en.wikipedia.org/wiki/Drizzle_(database_server)
16:03:31 <ais523> hmm... this morning I was thinking about an esolang idea I haven't thought about in ages, and realised I hadn't told you lot about it
16:03:41 <ehird> i bet it ends up as PERSISTENT MEMCACHED
16:03:50 <ais523> basically, it's an attempt to create a programming language which is as computationally powerful as possible without being TC
16:04:02 <ais523> the highest "named" class in common use seems to be linear bounded automaton
16:04:09 <ais523> so I thought I'd make an Ackermann-function-bounded automaton
16:04:19 <ehird> i've always thought that most real world programming need not use a turing complete language
16:04:31 <ehird> and that the static-verification gains you could get from using a sub-TC language
16:04:34 <ehird> would be highly useful
16:04:44 <ais523> Slereah: they do, just the interps are buggy
16:04:44 <ehird> Slereah: they use TC languages
16:04:46 <ehird> just not on TC machines
16:04:50 <Slereah> Yes, but they don't need to
16:05:00 <Slereah> Because the languages can't be use to their fullest
16:05:07 <ehird> Slereah: ok, lower than "TC bar memory storage"
16:05:08 <ais523> incidentally, I was also wondering about whether it was possible to actually get a true-TC interp in the real universe
16:05:17 <ais523> I think you need the universe to not expand
16:05:23 <oklopol> ehird: i mean, i do agree transactions are a crucial part of a real database system, because you need it, in practise; i'm just you could just have the database not have any errors or synchronization problems, and get by without transactions.
16:05:27 <ais523> but apart from that there are no obvious obstacles
16:05:27 <ehird> you need it to expand to grow the tape
16:05:38 <ais523> ehird: having it infinitely large to begin with
16:05:45 <ais523> and free-energy, I meant
16:05:47 <ehird> ais523: that's Impossible, though
16:05:50 <ais523> which is sort of the opposite of entropy
16:05:58 <ais523> ehird: the universe is only finitely large because it's expanding
16:06:00 <Slereah> Entropy isn't really a law
16:06:05 <ais523> the expansion of the universe causes it to get smaller
16:06:15 <Slereah> But you're screwed anyway on infinite time
16:06:18 <ais523> which is counterintuitive, but so is most of physics
16:06:23 <ehird> i'm physics-retarded, I htink
16:06:31 <Slereah> ais523 : What are you talking about
16:06:32 <Judofyr> ehird: limechat is awesome! thanks for the tip :-)
16:06:36 <ais523> basically, the expansion is homogenous, so the speed at which a particular point is receding depends on its distance from you
16:06:43 <ais523> the further away it is, the faster it recedes
16:07:00 <ais523> if a point is so far away it's moving away faster than the speed of light, it's technically outside the universe
16:07:03 <Slereah> That makes it bigger, not smaller :o
16:07:05 <ais523> that's how the boundary of the universe is defined
16:07:06 <ehird> i still can't think how a universe expanding gets smaller.
16:07:09 <ehird> that makes no sense.
16:07:22 <Slereah> I think you mean "visible universe"
16:07:29 <Slereah> Which is irrelevant to the discussion
16:07:37 <Slereah> Also the visible universe gets larger also
16:07:49 <ais523> clearly you can't use data outside the visible universe for calculation
16:07:56 <oklopol> i'm with ais523 on this one
16:08:20 <ais523> Slereah: well, technically, but everything else expands at the same rate too, so it gets smaller compared to all the objects inside it
16:08:21 <Slereah> If you use a TC machine, it will need to move to read the data anyway
16:08:35 <ais523> Slereah: its horizon always moves inwards
16:08:38 <Slereah> It doesn't get smaller, it gets emptier.
16:08:47 <ais523> you can't move the horizon outwards except by moving faster than the speed of light, or using time travel
16:08:52 <ais523> and both are believed impossible
16:09:03 <ais523> (not to mention time travel gives you computational classes above TC)
16:09:04 <Slereah> What are you talking about.
16:09:14 <Slereah> Just moving will move your horizon
16:09:29 <ais523> Slereah: yes, but the horizon moves inwards at the speed of light
16:09:33 <ais523> so we're just lucky it's so far away
16:09:41 <ais523> the horizon's getting smaller, all the time
16:09:48 <ais523> at least, if the universe keeps expanding
16:10:09 <ais523> Slereah: less distance to it
16:10:19 <Slereah> I'm afraid I must disagree then
16:10:19 <ais523> and so a smaller surface area, because it's spherical
16:10:35 <ais523> you may be thinking of it getting /older/ over time
16:10:36 <ehird> "Programming language authors image gallery" <-- I thought this was a sentient language that authored a web gallery script...
16:10:57 <Slereah> The horizon increases in size just with time.
16:11:16 <Slereah> I'm not sure if it also increases with expansion, but it also might
16:11:31 <ais523> does anyone want to write up a well-worded and thought-provoking seed to a Usenet flamewar, on this?
16:11:34 <ais523> so we can see who's right?
16:11:35 <Slereah> (Doing the speed of light + enlarged metric isn't easy to do in your head)
16:12:01 <oklopol> Slereah: well technically not, say the universe consisted of cells of some size that was constantly getting bigger
16:12:08 <oklopol> and it grew faster than light would let us see
16:12:21 <ais523> ehird: as for Drizzle, they're taking out all the features that you don't technically have to use in a MySQL database AFAICT
16:12:27 <ais523> they seem to be making some form of tarpit
16:12:34 <ehird> i still love this http://www.malevole.com/mv/misc/killerquiz/
16:12:34 <oklopol> so once in a while, even though we're seeing farther and farther, the cell size would let us see less and less cells
16:12:39 <ais523> e.g. you don't actually need prepared statements, you can just send the statement each time
16:12:57 <Slereah> oklopol : Except the universe doesn't do that.
16:12:58 <oklopol> i mean i don't know or care whether this is what actually happens, i'm just saying that's what i though ais523 meant.
16:13:03 <Slereah> You see more cells, not bigger cells.
16:13:06 <ais523> yes, that is what I meant
16:13:22 <ais523> and no, expansion of the universe doesn't create more cells, at least not in the popular theories
16:13:26 <oklopol> Slereah: explain to ais523, not me.
16:13:28 <ais523> I think steady-state theory has it doing that
16:13:43 <Slereah> What does "more cells" mean anyway.
16:13:53 <Slereah> It's continuous in general relativity
16:13:57 <ais523> well, the cells are just a way of thinking about it, given they're infinitely small
16:14:02 <ais523> do you know about the delta function?
16:14:09 <oklopol> Slereah: planck's constant or something like that getting bigger?
16:14:24 <ais523> well, how do you know it integrates to 1, given that it's 0 everywhere and infinity at one point
16:14:27 <Slereah> oklopol : Not proved in any way
16:14:34 <oklopol> AnMaster: much colder here.
16:14:34 <AnMaster> <oklosol> AnMaster: you've never heard about sex in the city? god i envy your style <-- my style?
16:14:43 <ais523> the cell-size thing is sort of like that
16:14:48 <ais523> there are no actual cells, and they're infinitely small
16:14:51 <ais523> yet they're getting bigger
16:15:11 <oklopol> Slereah: don't respond to that "i'm sure", it was an accidental message :)
16:15:13 <ehird> you know who we need in here?
16:15:23 <ais523> why, does he know about this sort of thing?
16:15:32 <ais523> or just because it would be great to have such a prominent esolanger?
16:15:42 <AnMaster> <oklosol> AnMaster: GreaseMonkey, so what about the actual melody? <<< 02307..7..5.....b02b5..5..3..20.02303..5..2..0b...b.5...3....... repeat iirc <-- what on earth is that notation?
16:15:51 <oklopol> AnMaster: being completely ignorant about popular culture
16:15:54 <ehird> i mean, he made befunge
16:15:57 <ehird> what more do you want?
16:16:15 <ehird> but he made befunge :P
16:16:22 <AnMaster> oklopol, sure, I don't care about popular culture
16:16:22 <ehird> actually, I think AnMaster would scare him away
16:16:25 <ais523> and lots of others, too
16:16:30 <AnMaster> I don't even HAVE a tv since a few months
16:16:42 <ehird> AnMaster: http://www.theonion.com/content/node/28694
16:16:43 <oklopol> what i use for melodies, a subset that explains that little melody, "z-a0-9A-Z" are notes, from left to right, "."'s are pauses
16:16:47 <ais523> AnMaster: wow, you sound just like me
16:16:55 <AnMaster> if I want to watch the news of the public service TV I can just go to their website
16:17:03 <oklopol> AnMaster: i haven't watched tv in years
16:17:03 <AnMaster> I think UK users can do the same for BBC
16:17:15 <ais523> oklopol: I'd guessed hexadecimal with . to continue notes
16:17:19 <oklopol> and i don't care about *physics*, let alone pop culture
16:17:27 -!- oerjan has joined.
16:17:36 <oklopol> and still i know what sitc is
16:17:39 <ais523> <oklopol> and i don't care about *physics*, let alone pop culture
16:17:40 <AnMaster> <oklopol> what i use for melodies, a subset that explains that little melody, "z-a0-9A-Z" are notes, from left to right, "."'s are pauses <-- left to right of what?
16:17:43 <oerjan> <oklosol> and took only an hour, should really get back to only taking a glance at the logs.
16:17:48 <oerjan> that may be for the best.
16:17:57 <ais523> oklopol: that has to be one of my favourite lines of yours ever
16:18:00 <ais523> it sums you up so well
16:18:10 <oklopol> but that's the main melody
16:18:15 <oklopol> who cares what the instrument is
16:18:33 <ehird> i don't believe in existence
16:18:44 <oklopol> caring about instruments is for people who don't understand music, you know, the kind of people who like music that "sounds good"
16:18:52 -!- Epic_Fail_Guy has joined.
16:18:53 <Epic_Fail_Guy> ais523 : It's not, it's just defined like that, not by infinity.
16:19:15 <oklopol> ais523: heh, thanks, i liked that line too
16:19:19 <oerjan> ehird: don't put descartes before the horse
16:19:20 <AnMaster> oklopol, well 1) I can't sing, but I can play the piano a bit 2) If I could sing I would be really low bass I think
16:19:28 <ais523> Epic_Fail_Guy: if you're talking about the delta function like that, you're missing its essential esoness
16:19:49 <ehird> AnMaster should have a Standard Context pack of lines which he just links to so he doesn't have to say the same things
16:19:51 <ehird> every five seconds
16:19:54 <ais523> did you have that pun prepared?
16:20:22 <oklopol> AnMaster: i know all that, like ehird pointed out. my point is, just use any instrument
16:20:27 <oklopol> it's the same melody no matter what you use
16:20:37 <ehird> * AnMaster has a really low voice <-- one of your standard lines
16:20:46 <ehird> along with "i recommend emacs"
16:20:46 <ais523> oklopol: in some cases the instruments can affect the harmony
16:20:56 <oklopol> if it's correct, i just woke up and didn't really try playing it in my head to check it or anything.
16:20:59 <ais523> such as an organ with a 3/7 stop, or one of the other silly ones
16:21:21 <oerjan> ais523: no, but it was recycled of course
16:21:28 <oklopol> ais523: umm. what do you mean?
16:21:37 <AnMaster> ehird, I said it just once the last 3 months, and that was the instance I said just now
16:21:38 <ais523> oklopol: gggggggggggggggggggggggg
16:22:05 <ais523> wait, sorry, cleaning my keyboard
16:22:05 <ais523> oklopol: I meant, organs have 'stops' which let you automatically add harmony
16:22:05 <oklopol> it's alright if organs have a 3/7 stop, unless of course it's the heart
16:22:12 <ais523> a 3/7 stop will add a note whose frequency is 3/7 higher than the one you play
16:22:30 <ais523> it's one of the silly ones, most of the stops are at frequencies which actually correspond to chords
16:23:11 <oklopol> ais523: right. i didn't know it does that
16:23:20 -!- jix has quit ("...").
16:23:27 <ais523> gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg
16:23:31 <ais523> ugh, my g key is still dirty
16:23:36 <ais523> anyone here know how to clean keyboards?
16:23:45 -!- jix has joined.
16:23:51 <oerjan> ais523: i thought you were grinning widely
16:23:58 <ehird> ais523: use water :P
16:24:10 <oklopol> anyway, something played with an instrument will always just be an approximation of the pure sine/square wave melody
16:24:12 <ais523> not in a position to do that easily right now
16:24:16 <ais523> although I may try when I get home
16:24:30 <oklopol> if you have a 3/7 stop there, it will be closer to being an approximation of having that higher note there.
16:24:31 <ais523> although square waves aren't exactly pure
16:24:34 -!- Slereah2 has joined.
16:24:34 <ehird> ais523: take the key out and figure something out
16:24:54 <ais523> ehird: I've never tried to remove a keycap from this laptop, I have no idea how securely or not they're glued on
16:24:59 <ais523> and I don't want to break it
16:25:08 <ais523> I know they just come off on desktops, not sure about laptops though
16:25:16 <ehird> ais523: well, it'll almost certainly come off OK
16:25:18 <ehird> but it might be a bit tricky
16:25:27 <ais523> oklopol: actually, organs are pretty similar to additive synthesizers
16:25:33 <ais523> ofc they don't manage perfect sine waves to add together
16:25:44 <ais523> but you get to add together a lot of organ-waves to create the timbre you want
16:25:44 <oerjan> my organs synthesize things, then add them
16:27:17 <oerjan> organ waves are all in the blood
16:27:19 <oklopol> ais523: i don't like timbres. i'm more of a theoretical musician, so i prefer keeping it all pure and ...sinous? yes, that must be it.
16:27:35 <ehird> who wants to help me write a Magenta compiler?
16:27:36 <ehird> yes, I know about the curse :-P
16:27:57 <ais523> oklopol: sinusoidal is the real word, but I prefer yours
16:28:06 <oerjan> i am already cursed. i wouldn't want to add to it.
16:28:07 <ais523> and no, I don't want to help
16:28:26 <ais523> mostly because if you succeed, you'll break the curse, then Magenta won't be so interesting to talk about
16:28:39 <ais523> in a way, I'd prefer you to fail so we can all have a laugh about it and talk about how Magenta is truly cursed
16:28:49 <ais523> but if I want you to fail, then I shouldn't really work on the project, that wouldn't work out well
16:28:51 <oklopol> sine -> sinusoidal? does sine come from a longer word i don't know or whazz thaddabout?
16:29:09 <ais523> English makes no sense, but it might be fun to look up
16:29:30 <oerjan> oklopol: sine <- sinus, latin
16:29:38 <ehird> ais523: i think it's interesting :P
16:29:46 <oerjan> adding -oid to that is probably not very classical
16:29:50 <oklopol> oerjan: and what's this oidal subbic?=
16:29:52 <ais523> hmm... Wiktionary doesn't know, but apparently "sinusoidal" is "sinimuotoinen" in Finnish
16:29:58 <ais523> and that's the only translation given
16:30:19 <oklopol> sinimuotoinen = of sinusoidal form
16:30:26 <ais523> hmm... an ellipsoid is a 3D shape which corresponds to what an ellipse is in 2D
16:31:04 <oerjan> -oid is a greek suffix i think, put on things to make family names in biology. like hominoid
16:31:11 <oklopol> well. "of sine form", we don't want recursive translations
16:31:25 <AnMaster> ais523, hm what is a 3/7 stop on an organ? I have no clue how organs work apart from blowing air through pipes
16:31:25 <oerjan> oh it may be -o + ides
16:31:36 <oerjan> the latter meaning offspring
16:32:05 <oklopol> ais523: well yes, i know what oid *means*, i just meant what's it doing there
16:32:07 <ais523> AnMaster: organs are so complicated because they have one pipe for each stop/note combination, more or less
16:32:19 <oklopol> hmm. i didn't really ask it that way.
16:32:21 <AnMaster> ais523, I thought it was one pipe / note?
16:32:23 -!- Slereah has quit (Connection timed out).
16:32:24 <ais523> and all the stops basically multiply or divide the frequency of a note by a given value
16:32:37 <ais523> stops you can either turn on or off, they're like booleans
16:32:48 <ais523> and when you play a note, you get the sound of that note for each stop that's on
16:32:55 <oklopol> AnMaster: stops flow of air, presumably
16:33:01 <ais523> normally organs have multiple keyboards, and stops can be on or off for individual keywords
16:33:02 <AnMaster> hm reminds me of the university organ in Discworld, with "silly fam animal sounds"
16:33:13 <oerjan> http://en.wikipedia.org/wiki/-oid
16:33:14 <ais523> and I think that's the etymology
16:33:40 <ais523> it goes all the way from 1/16 stops which are so low that you can't actually hear them, just annoy the Headmaster because for some reason the pipes come out directly behind his chair
16:33:44 <oklopol> err. oerjan: what does sinus mean?
16:33:48 <ais523> to stops with numbers like 4
16:33:53 <oklopol> i mean i thought it meant what "oid" meant
16:33:54 <oerjan> AnMaster: s/fam/farm/ ?
16:33:54 <AnMaster> ais523, hm I see, I thought the multi-keyboard thing was due to having such a large range
16:34:03 <oklopol> which is why i didn't understand why the suffix
16:34:22 <oerjan> oklopol: "bukt" although it is a mistranslation from arabic iirc
16:34:28 <ais523> oklopol: sinuses are the parts of the human body which connect the nose to the back of the mouth, IIRC
16:34:32 <ais523> or possibly to the ears
16:34:38 * oerjan doesn't remember the english word
16:34:42 <ais523> but I think that's irrelevant, at least I hope it is
16:35:10 <AnMaster> ais523, you could hear 1/16 for the notes at the upper end of the range
16:35:13 <oklopol> lol i thought -oid meant like "ball" :D
16:35:32 <oklopol> i've probably reverse-engineered it from ellipsoid
16:35:59 <oklopol> also explains monoids and the like
16:36:05 <ehird> i've always wanted a language that can jump through the calls tack
16:36:06 <ais523> so "like a sine", in this case
16:36:16 <AnMaster> ais523, also do you know what the similarity is between organs and MRI scanners?
16:36:25 <ais523> AnMaster: is this an attempt to make a pun?
16:36:31 <ais523> if so, I utterly fail to get it
16:36:37 <oklopol> also "asteroid" could have a ball etymology
16:36:43 <oerjan> oklopol: oh, "bay" in english
16:36:58 <oklopol> oerjan: bay? you mean sinus?
16:37:16 <ais523> according to Wiktionary, the Latin word "sinus" has loads of meanings
16:37:19 <ais523> all of which seem to be irrelevant
16:37:19 <oerjan> yes. but the use for trigonometric sines is a mistranslation from arabic
16:37:34 <ais523> ok, that would explain a lot
16:37:34 <oerjan> ais523: the "See also: sine" at the bottom
16:37:44 <ehird> guess what b(3) returns
16:37:48 <oklopol> also i've known what sinuses are like forever
16:38:01 <AnMaster> ais523, what is the thing about bays and sin() that you are discussing
16:38:05 <ehird> in a, "x" is now a reference to the first local var
16:38:07 <AnMaster> I'm unable to figure out what the topic is
16:38:13 <ais523> ehird: ick_ec can do that
16:38:13 <ehird> and b has a var in the same position
16:38:16 <ehird> so it ends up accessing that
16:38:36 <ehird> basically, i'm trying to make a language where you can goto/comefrom ----anywhere-----
16:38:47 <ehird> even in <condition> in while (<condition>)
16:38:52 <ais523> oklopol: don't worry, people on IRC are there to help when you're too lazy to do your own remembering
16:38:57 <ais523> I know it helps me when I'm in that state
16:39:11 <ais523> ehird: well, famously asm works like that
16:39:22 <oklopol> well i just had 6 hours of band training
16:39:28 -!- Epic_Fail_Guy has quit (Read error: 110 (Connection timed out)).
16:39:41 <ais523> oklopol: I'm not criticising you, it happens to everyone
16:39:42 <oklopol> well of course asm works like that
16:39:45 <ais523> just most people don't admit it
16:40:08 <oklopol> well yes, but i'm very insecure about my intelligence.
16:40:44 <ais523> <Slashdot> But how many of us actually run an operating system that Richard Stallman would consider free?
16:40:53 <ehird> while (A: (x -= 1) > 0) {
16:40:54 <ehird> printf("hello world\n");
16:40:58 <ais523> oh dear, someone mod the article flamebait again
16:41:06 <ehird> printf("x = %i\n", x);
16:41:18 <ehird> and yes, that -actually works-
16:41:28 <ais523> ehird: would the comefrom only happen if you called B, not A directly?
16:41:38 <ais523> also, what's the precedence of label vs. >
16:41:38 <ehird> ais523: i think so, yes
16:41:40 <AnMaster> ais523, how many gNewSense users are there?
16:41:46 <ehird> also, label is high precedence
16:41:47 <AnMaster> and how many Hurd users are there?
16:41:53 <ais523> AnMaster: I don't know, but I'd guess less than use Ubuntu
16:42:00 <oklopol> haha, "dynamic comefrom scope"
16:42:10 <AnMaster> ais523, well that is the answer to <ais523> <Slashdot> But how many of us actually run an operating system that Richard Stallman would consider free?
16:42:16 <oerjan> AnMaster: latin "sinus" means "bay"
16:42:29 <ehird> i like how you have to do the goto B; thing so that you never land on it directly
16:42:30 <ais523> AnMaster: I was commenting more on the fact that Slashdot are trying to inspire debate about a contentious topic, than the actual question
16:42:38 <oklopol> ehird: please use that term in the spec like it's a standard term, not explaining further.
16:42:39 <ehird> I should have no return
16:42:44 <ais523> ehird: what happens if you hit a comefrom directly? Nothing, like in INTERCAL?
16:42:48 <ehird> just a way to get a reference to the label of the caller
16:42:55 <oerjan> also, "pocket", "curve", or "bosom", says wp
16:42:56 <ehird> and a way to assign to the right variable in the caller
16:43:00 <ais523> also, gerund comefroms plz
16:43:11 <AnMaster> <ehird> i like how you have to do the goto B; thing so that you never land on it directly
16:43:19 <ehird> ais523: hitting {comefrom A;} directly goes to A
16:43:25 <ehird> so that the rest runs, but you do _come from_ A
16:43:44 <ais523> ehird: no, that's what I meant by gerund comefroms
16:43:54 <ehird> ais523: i dont' get it
16:43:57 <ais523> gerund nextfrom would be more useful, actually
16:44:08 <ais523> nextfrom +; number_of_additions++; resume 1;
16:44:13 <AnMaster> I know ick has computed come from
16:44:18 <ehird> AnMaster: just put your comefrom in an if ()
16:44:25 <ais523> ehird: that doesn't work
16:44:28 <AnMaster> ehird, really? that will work?
16:44:33 <ais523> because you want to be able to jump into the body of ifs, don't you?
16:44:36 <ehird> (warning: this is perverse...)
16:44:47 <ais523> oh, comefroms only become active inside the block they're in
16:44:55 <ais523> ugh, that's worse than INTERCAL
16:45:04 <ais523> although arguably leads to more maintainable code
16:45:12 <ais523> AnMaster: yes, but comefroms are dynamically scoped
16:45:16 <ais523> so they're not active all the time
16:45:27 <oklopol> ais523: well you can probably comefrom into inside a block, if the label is inside the block from where the coming occurs
16:45:36 <ais523> sort of if you write {int a;} {a=1;} in C, you get an error
16:45:47 <ehird> ais523: nah, you will be able to jump into them manually
16:45:49 <oklopol> i mean { ... conditional comefrom A: ... } ... A: ...
16:45:50 <ehird> it just won't happen automatically
16:46:07 <ehird> isn't this _awful_? :D
16:46:11 <ais523> ehird: nextfrom too, plz
16:46:16 <ehird> dijkstra is cutting himself in his grave
16:46:19 <ais523> it's just as useful in practice
16:46:22 <AnMaster> ais523, what is nextfrom in ick now again?
16:46:28 <ais523> AnMaster: like comefrom, but saves return address
16:46:38 <ehird> ais523: oh so comefrom with a stack?
16:46:40 <ais523> CLC-INTERCAL had it first
16:46:52 <ehird> ais523: all of my gotos/comefroms/function calls have a "stack"
16:47:00 <ehird> in that they can get a reference to the right place to goto
16:47:00 <oklopol> ais523: i think it's already with a stack, although locals overwrite the top of it
16:47:03 <ehird> from whence you came
16:47:09 <AnMaster> *stack++ = &this_function_name_goes_here; goto ...
16:47:10 <ehird> thats how you return a value
16:47:34 <ehird> looks something like this:
16:47:41 <AnMaster> well different syntax than that I gues
16:47:47 <ehird> a(x) { x = x + 5; goto ->; }
16:48:01 <ais523> so how do you undo the previous comefrom?
16:48:01 <ais523> in intercal, it would be RESUME #4 to undo the last 4 nextfroms, for instance
16:48:01 <ehird> a(1) evaluates to 6
16:48:05 <ais523> oh and yes the #4 can be computed
16:48:15 <ais523> ehird: uh-oh, that's exactly how gcc-bf actually implements function calls
16:48:35 <ehird> I call goto ->; the "finnish maneuver"
16:48:46 <ehird> because you do it when you "finnish" your function!
16:48:48 <ais523> AnMaster: what, how would you do it?
16:48:52 <ehird> somebody call the pun police
16:49:12 <ais523> AnMaster: well, I had to implement function calls somehow
16:49:13 <AnMaster> ais523, well I haven't considered that
16:49:18 <AnMaster> I though you used a switch case
16:49:32 <ais523> yes, that's how goto is implemented
16:49:41 <ais523> what was above is how function calls are implemented in terms of goto
16:49:45 <ais523> so there isn't a contradiction
16:50:15 <AnMaster> ehird, yes but I didn't understand it
16:50:19 <ehird> -> is a label reference to the exact point one up in the goto stack
16:50:31 <ais523> ehird: does it pop the stack at the same time, or does the goto do that?
16:50:31 <ehird> ->+1 is two levels up
16:50:35 <ehird> ->+10 is ten levels up
16:50:37 <ais523> actually, does the goto pop two levels when returning?
16:50:38 <oklopol> ehird: will the local variable x, after goto ->;, overwrite whatever local was created last in the calling function?
16:50:39 <ehird> yes, overloading addition on label references
16:50:42 <ehird> it works on every label reference
16:50:52 <ehird> and yes, that means you can do A-2 even if you haven't gone anywhere near A
16:50:59 <ais523> ehird: heh, finds the label in the stack, then moves 2 away from it?
16:51:00 <ehird> and get a reference to the point two levels up from A
16:51:04 <AnMaster> ehird, why do you have functions at all?
16:51:06 <ehird> ais523: something like that
16:51:11 <ehird> AnMaster: well, good point
16:51:15 <ehird> just do it all with labels
16:51:26 <ais523> AnMaster: presumably the functions are to generate infinite data storage
16:51:28 <ehird> they're nested, scoped labels.
16:51:41 <ais523> well, you need infinite data somehow
16:51:48 <ehird> nested scoped labels, hmmmmm
16:51:51 <oklopol> { var a = 0; var b = 0; call smth } { smth: var x = 5; goto -> }, what will a and b be after that?
16:51:58 <ais523> AnMaster: that's only one stack
16:51:59 <ehird> oklopol: lemme look
16:52:10 <AnMaster> ais523, you need to have local variables somewhere
16:52:10 <ehird> oklopol: a will be 5
16:52:17 <ehird> because it's on the same position in the local variable storage as a
16:52:18 <ais523> and it should be common knowledge here what happens if you only have one stack, and no way to index arbitrarily deep into it so it isn't really a stack
16:52:20 <AnMaster> ais523, also you could just add array variables
16:52:25 <ais523> AnMaster: that's cheating
16:52:34 <ehird> in fact, this thing really fucking confuses me
16:52:38 <ehird> i don't get the semantics at all
16:52:43 <ehird> I think it's a huge heap of special cases
16:52:43 <ais523> besides, you can't have infinitely large arrays without bignum dimensions
16:52:46 <oklopol> ehird: why a? i mean wouldn't b be on top of the stack
16:52:53 <ais523> or bignum numbers of dimensions, I suppose
16:53:05 <ehird> I think we strayed away from this a bit
16:53:07 <ehird> when we got into ->
16:53:12 <ais523> I can imagine a lang where all arrays were indexed 0 to 1, but could have bignum numbers of dimensions
16:53:13 <ehird> let's rewind a bit to the while (A: ...) & comefrom example
16:53:22 <oklopol> ehird: no, it's just starting to get interesting
16:53:23 <ais523> and anyway, you're just reinventing INTERCAL with a different syntax
16:53:30 <AnMaster> ehird, what is the name of the language?
16:53:33 <ehird> ais523: i'm not now, i'm rewinding
16:53:38 <ehird> oklopol: yes, but let's rewind to get a better picture
16:53:41 <ehird> AnMaster: i don't know!
16:54:05 <AnMaster> like goto and comefrom combined
16:54:32 <AnMaster> { A: foo; } { B: bar; } { C: A cometo B }
16:54:54 <AnMaster> so that means it will act as if there had been a "comefrom A" at B
16:55:07 <oklopol> 18:52… ais523: and it should be common knowledge here what happens if you only have one stack, and no way to index arbitrarily deep into it so it isn't really a stack <<< what do you mean not really a stack?
16:55:08 <AnMaster> ehird, what do you think of that idea?
16:55:08 <ais523> AnMaster: code injection?
16:55:15 <oklopol> that's pretty much the definition of a stack
16:55:30 <ais523> oklopol: if you can index arbitrarily deep without popping, it's basically an array which also has stacklike operations
16:55:39 <oklopol> AnMaster: that doesn't really work, it doesn't scale, semantically, methinks
16:55:44 <oklopol> will not have any uses, that is
16:55:49 <ais523> ehird: AnMaster; I've been looking for a way to do that in INTERCAL for a while
16:55:54 <ais523> it's possible to do it right now, but hacky
16:56:09 <oklopol> AnMaster: what does it mean exactly to act as if it came from A?
16:56:12 <ais523> just adding it as a new command didn't actually cross my mind for some reason
16:56:30 <ehird> while (A: (x -= 1) > 0) {
16:56:32 <ehird> printf("hello world\n");
16:56:34 <ais523> oklopol: it's effectively self-modifying code, just dynamically scoped
16:56:39 <ais523> so it unmodifies itself when you leave the block
16:56:44 <ehird> printf("x = %i\n", x);
16:56:44 <oklopol> ais523: oh, i guess i misread your negations then
16:56:50 <ehird> let's go from thar
16:56:52 <AnMaster> oklopol, like if C had comefrom A; goto B; but C will never end up on the stack
16:56:54 <oklopol> thought you said it's not a stack if you can't access all indices
16:57:08 <ehird> http://www.cobolportal.com/index.asp?bhcp=1
16:57:19 <AnMaster> oklopol, also if something was comefrom C it wouldn't affect it
16:57:36 <oklopol> yeah that's an awesome instruction
16:57:47 <ehird> cometo should be an unary operation
16:57:51 <oklopol> well i thought hitting that instruction would somehow flip A on top of stack, then call B
16:58:01 <AnMaster> ehird, well it would be hard to do
16:58:13 <oklopol> but yeah, it just says "if, while this block is on stack, you hit A, goto B"
16:58:32 <ais523> I must get back to thinking about DO INEVITABLY
16:58:40 <ais523> which was a primitive which let you implement that sort of thing and more
16:58:48 <ais523> it basically meant "do this statement, but not quite yet"
16:58:50 <ehird> comefrom A; goto B;
16:58:56 <AnMaster> oklopol, no no, that would be: "C: camefrom A to B"
16:58:58 <ais523> the statement ran, but delayed a couple of cycles
16:59:02 <AnMaster> ehird, what do you think of that one then?
16:59:03 <ehird> listen tomeeeeeeeeeee
16:59:15 <ehird> comefrom A; goto B;
16:59:21 <ais523> ehird: that was the hack I was planning to use
16:59:26 <ehird> ais523: that's not a hack :P
16:59:28 <ais523> it doesn't work, because it disrupts the callstack
16:59:34 <ehird> ais523: ok, use nextfrom them
16:59:34 <ais523> you end up with two entries rather than 1
16:59:40 <AnMaster> ehird, 1) that will put the location of "goto B;" on the stack frame
16:59:52 <ehird> well that's easy, just destackerize it or whatever
16:59:52 <ais523> if you have separate comefrom/nextfrom, it works
16:59:54 <AnMaster> ehird, 2) it will be affected by any comefrom at the location of comefrom A
17:00:17 <ais523> except in INTERCAL it still doesn't work in all cases, it works for fixed labels A but not for gerunds
17:00:23 <ais523> which is why you need hacks
17:00:28 <AnMaster> ehird, 3) wouldn't this goto B when it was first executed?
17:00:34 <AnMaster> since it is dynamically scoped
17:00:34 <ehird> AnMaster: just goto out of it
17:00:41 <ais523> hmm... you might be able to manage it for cometo by mixing nextfrom and forget, but not for nextto
17:00:41 <ehird> { goto X; comefrom A; goto B; X: }
17:00:51 <ehird> you don't create a new block of scope
17:00:55 <ehird> so it still applies
17:01:07 <oklopol> just have a way to write "stack functions", that don't work on the normal stack, and that can be called to alter it
17:01:10 <ehird> isnce there's a comefrmo
17:01:13 <ehird> it'd actually goto A
17:01:14 <AnMaster> ehird, still the return issue is unsolved
17:01:35 <AnMaster> { goto X; comefrom A; goto B; goto ->; X: }
17:01:42 <ais523> oklopol: INTERCAL solves that problem by making all stack manipulation implicit
17:01:44 <ehird> that's what I was thinking AnMaster
17:01:54 <ehird> you could just make it a function
17:02:06 <AnMaster> ehird, still this wouldn't work for goto ->+2
17:02:11 <ehird> cometo(A,B) { goto X; comefrom A; goto B; goto ->+1; X: }
17:02:11 <oklopol> ais523: and i'm essentially saying maybe you could try making it explicit
17:02:25 <AnMaster> ehird, err, what if B does goto ->+10
17:02:33 <ehird> AnMaster: modify ->
17:02:35 <oklopol> just have it be implicit for the functions that have an explicit view of the stack under them
17:02:36 <AnMaster> since that code would be skipped
17:02:43 <AnMaster> ehird, what if you can't modify B's code?
17:02:46 <ehird> cometo(A,B) { goto X; comefrom A; -> = -> + 1; goto B; goto ->; X: }
17:02:56 <ehird> AnMaster: MWAHAHAHAHAHA :D
17:03:03 <ehird> cometo(A,B) { goto X; comefrom A; -> = -> - 1; goto B; goto ->; X: }
17:03:11 <ehird> i think my brain just broke
17:03:22 <ehird> AnMaster: well, -1
17:03:28 <ehird> since the stack goes downwards
17:03:31 -!- ais523 has quit (Remote closed the connection).
17:03:33 <ehird> but seriously, what
17:03:38 -!- ais523 has joined.
17:03:41 <ehird> cometo(A,B) { goto X; comefrom A; -> = -> - 1; goto B; goto ->; X: }
17:03:44 <ehird> THAT JSUT DOES NOT MAKE SENSE
17:03:47 <ais523> <ais523> and even that doesn't solve the problem, because what if the code at B wants to return more than one level at once? It'll have to add 1 to the distance to return, for no reason obvious to it
17:03:52 <ehird> cometo(A,B) { goto X; comefrom A; -> = -> - 1; goto B; goto ->; X: }
17:03:56 <AnMaster> ehird, I think the goto -> will never be executed
17:04:03 <ehird> AnMaster: oh, right
17:04:05 <ais523> you've just added yet another INTERCAL operator
17:04:06 <ehird> cometo(A,B) { goto X; comefrom A; -> = -> - 1; goto B; X: }
17:04:09 <ais523> that's "FORGET #1" in INTERCAL
17:04:12 <ehird> I'm generalizing the whole control flow thing
17:04:22 <ehird> also, intercal isn't quite as hectic as this
17:04:26 <ais523> I still think you're reinventing INTERCAL, though
17:04:27 <ehird> this is completely freeform
17:04:43 <AnMaster> ehird, what about return values?
17:04:49 <ehird> INTERCAL has no label refs apart from constant ones and ->
17:04:50 <ais523> and it's completely freefrom in INTERCAL too, if only because it's sufficiently low-level that "inside expressions" in your lang = "between statements" in INTERCAL
17:04:56 <ehird> as my cometo shows, they can be passed around
17:04:57 <AnMaster> ehird, you could use a global variable for it
17:05:10 <ais523> and you can do computed gotos too
17:05:16 <ehird> you make it so that the func you returns to
17:05:16 <ais523> it takes a few statements
17:05:20 <ehird> on the top of the stack
17:05:30 <ehird> givemeatwo() { a = 2; goto -> }
17:05:32 <ais523> ehird: well, yes, that's the normal way to do call/return in INTERCAL
17:05:33 * oerjan belatedly puts ehird in handcuffs for punning without a license
17:05:37 <ehird> since a resides on the top of the stack
17:05:42 <ehird> givemeatwo() evaluates to 2
17:05:46 <ehird> because when you go back, it's still on the top of the stack
17:05:49 <ehird> :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
17:05:52 * oerjan then gives up reading the channel again
17:05:57 <ais523> only difference is that scoping is explicit
17:05:57 -!- ais523 has quit (Remote closed the connection).
17:06:03 <AnMaster> the goto -> will have popped it
17:06:10 <ehird> not using a stack there
17:06:11 <AnMaster> or is the call stack separate?
17:06:14 <ehird> the value stack stays the same
17:06:16 <oklopol> oerjan: the beginning was actually pretty interesting
17:06:18 -!- ais523 has joined.
17:06:25 <ais523> [17:05] <ais523> ehird: well, yes, that's the normal way to do call/return in INTERCAL
17:06:27 <ais523> [17:05] <ais523> only difference is that scoping is explicit
17:06:36 <AnMaster> ehird, ouch that means you will have to remember to pop the stack of any local variables before returning
17:06:40 <oklopol> of course, i now believe ais523 in that all this is already intercal 101
17:06:46 <ais523> my connection must have dropped for recieve but not send, for some reason
17:06:53 <ehird> AnMaster: um, let me think
17:07:01 <ehird> just don't do that
17:07:03 <ais523> AnMaster: RETRIEVE .2 + .3 + .4
17:07:10 <ehird> we're talking about my language, ais523
17:07:20 <ais523> ehird: ok, well INTERCAL gives each variable name its own stack
17:07:24 <AnMaster> ehird, it would make variables kind of useless
17:07:25 <ais523> so you can use them all synchronized for scoping
17:07:34 <ehird> just take the variables from your caller
17:07:36 <ais523> or you can have two different interlocking scoping schemes, if you like
17:07:37 <ehird> and put them back before returning
17:07:41 <ehird> you could write a function to do it
17:07:49 <ehird> just do ->-2 in the function, and examine the variables
17:07:50 <AnMaster> ehird, you need to know who your caller is
17:07:51 <ehird> put them on the stack
17:07:57 <AnMaster> to know what number of variables it has
17:08:04 <ehird> -> is the reference to your caller
17:08:15 <ais523> imagine C where you could write { braceint a = 2; /* a valid */ [ bracketint b = 3; /* a and b valid */ } /* b valid */ ] /* neither valid */
17:08:51 <ais523> INTERCAL's like that, except you can have a practically unlimited number of independent scoping mechanisms
17:08:59 <ais523> (although there are only finitely many variable names)
17:09:03 <ehird> WHAT. A ONE CHARACTER DOMAIN NAME.
17:09:25 <AnMaster> ais523, believe it or not, but I actually wanted something like that when doing "serious" programming recently
17:09:47 <oklopol> ehird: plz show me i can't see.
17:09:51 <ehird> oklopol: look closer
17:10:04 <ais523> AnMaster: I've said several times before that INTERCAL's control flow is really nice and actually suited to serious programming, just the lang isn't because its expressions are bad and string handling is awful
17:10:10 <ais523> only I didn't think anyone was listening
17:10:22 <AnMaster> ehird, what tld? There are so many now when since ICANN did that thing with them... I can't find witch one
17:10:24 <ais523> ehird: is it a whitespace character, by any chance?
17:10:41 <ais523> also, whose was .cx originally?
17:10:47 <ais523> before it got taken over by goatse?
17:11:05 <ehird> http://en.wikipedia.org/wiki/Christmas_Island
17:11:10 <ais523> AnMaster: that isn't even a real country any mroe
17:11:17 <ehird> - 2006 estimate1,493 (n/a)
17:11:21 <ais523> and all country codes are two chars
17:11:22 <ehird> AnMaster: tat makes no sense :P
17:12:17 <AnMaster> ehird, hm for balance I still think you need cometo and gofrom
17:12:23 <ehird> quick! what's your favourite shade of gray?
17:12:40 <ais523> and I said 192 before you said in hex
17:13:23 <oklopol> why would you ask grey especially in hex?
17:13:40 <oklopol> because you don't want people to do it the hard way?
17:13:49 <ais523> AnMaster: that's pretty light
17:14:00 <ehird> fefefe shows as white on every screen
17:14:00 <AnMaster> ais523, yes I prefer white over grey
17:14:04 <oklopol> that just about sums up me and AnMaster
17:14:04 <ais523> so light that it would probably go out the other side of white on my screen at some angles
17:14:13 <oklopol> 19:12… oklopol: 010101 || 19:13… AnMaster: #fefefe
17:14:34 <oklopol> WE'RE THE SAME ONLY OPPOSITES
17:14:39 <ais523> my screen's weird, it gets darker and darker as you adjust the angle (or lighter and ligher in the other direction), until it goes past the blackest or whitest colour and comes out the other side
17:14:43 <AnMaster> oklopol, oh hm, this is some classical symbology(sp?) in that I think
17:14:50 <ehird> ais523: that's not odd
17:14:53 <ehird> that's typical LCD behaviour
17:15:01 <ais523> typical LCD behaviour is weird, though
17:15:07 <ais523> (I even know how it happens, to some extent)
17:15:25 <oklopol> yes, 010101/fefefe is one of the texts in those jing-jang t-shirts
17:15:36 <ais523> AnMaster: do you know how an LCD works?
17:15:38 <AnMaster> oklopol, "jing-jang t-shirts"?
17:15:46 <ais523> AnMaster: it's ying/yang in English, if that helps
17:15:48 <oklopol> AnMaster: t-shirts with the symbol.
17:16:08 <ais523> AnMaster: well, it's to do with the screens not being infinitely thin
17:16:26 <ais523> so if you see them at an angle, the polarisation twisting isn't lined up perfectly
17:16:44 <ais523> different voltages affect the amount of twisting to produce different colours, so it's possible you can twist more than 90 degrees and come out the other side of black
17:16:45 <oklopol> i don't believe in polarization, i think.
17:16:47 <AnMaster> that I know of, though this one has a pretty good viewing angle
17:16:59 <ais523> if a weird viewing angle is rotating it too far
17:17:07 <AnMaster> I need to go around 80 degrees before I notice anything
17:17:08 <oklopol> i haven't decided really, but that sounds like something i don't have to believe in
17:17:15 <ais523> AnMaster: it must be a good thin one then
17:17:20 * ehird licenses his stuff under Creative Commons Attribution 1.0 Generic
17:17:22 <ehird> because he is oldschool
17:17:24 <ais523> oklopol: do you have a calculator?
17:17:26 <ehird> and because newer versions are useless
17:17:43 <ais523> oklopol: if you don't believe in polarisation, how can you see the numbers on it/
17:17:51 <AnMaster> ais523, also it isn't inverted video even at 90 degrees
17:18:04 <ais523> oklopol: have you ever looked at your calculator through a polarising filter?
17:18:05 <oklopol> doesn't involve polarizing anything afaik!
17:18:08 <ehird> oklopol: don't ever start making sense <3
17:18:15 <oklopol> ais523: think i believe in those?
17:18:17 <ais523> from inside another calculator would do, although it's a bit hard to climb inside them
17:18:25 <oklopol> they're just slightly shaded glass
17:18:47 <ais523> oklopol: if you have two polarising filters next to them, and start rotating them
17:18:52 <ais523> then it becomes clear they aren't shaded glass
17:19:08 <AnMaster> ais523, you think oklopol is serious?
17:19:17 <AnMaster> actually, that would be ehird's comment to me
17:19:27 <ehird> oklopol is serious
17:19:29 <oklopol> ais523: well. that's a bit hard to explain ;=)
17:19:38 <oklopol> I GUESS WE'LL NEVER KNOW WHY THAT HAPPENS.
17:19:48 <ais523> there are lots of things you can more or less get away with not knowing, or not agreeing with whilst being wrong
17:19:48 <oklopol> maybe i should open my rwh now
17:19:55 <AnMaster> oklopol, do you believe in Star Trek?
17:20:39 <oklopol> ais523: true. but science isn't exact, knowing it might be useless if it happens to be wrong.
17:20:46 <ehird> real world haskell
17:20:57 <AnMaster> oklopol, do you believe in Star Trek?
17:21:08 <oklopol> well okay, i guess i should believe in polarization, because it's so effing cool
17:21:12 <ais523> anyway, I'm an engineer, and engineers know things that tend to work in practice are often useful even if they are wrong
17:21:19 <oklopol> i'll believe it's a close approximation of how light works
17:22:03 <oklopol> ais523: well, an abstraction can't really be "wrong"
17:22:06 <AnMaster> ais523, anyway the color issue is much larger on laptops than desktop TFTs in my experience
17:22:17 <oklopol> you might just realize it's a bad abstraction
17:22:30 <oklopol> but if it was once useful, probably it's still useful
17:22:35 <ais523> polarisation's just statistical behaviour anyway
17:22:39 <ais523> but one which is nice to know about
17:22:51 <ais523> AnMaster: I'd guess the screens are better-quality on desktop TFTs
17:23:58 <AnMaster> ais523, I do notice colour shift at the edge for certain slightly off white values, need to be around 254,254,254 before I notice it though
17:24:21 <ehird> who wants to stop things sucking?????
17:24:24 <AnMaster> ais523, in other aspects this monitor is really low quality :(
17:24:35 <AnMaster> ais523, like the foot of it, not very well adjustable
17:24:47 <AnMaster> or the fact it is VGA only, no DVI
17:24:55 <oklopol> ais523: do you play chess?
17:25:02 <ais523> I used to, although I haven't for ages
17:25:19 <ais523> I was the captain of the house chess team, and played for the school first team
17:25:24 <ais523> but I haven't played for about 4 years now
17:25:34 <ais523> my brother's much better than I am
17:25:42 <ais523> and sort of lapsed-decent, rather than awesome
17:25:48 <ehird> I'm awful at chess.
17:25:49 <ais523> really out of practice
17:26:11 <ehird> oklopol: you're not perfect at something?
17:26:14 <ais523> you can get a lot better at chess by not making mistakes
17:26:28 <ais523> in fact, I think that gets you right up above grandmaster level
17:26:34 <ais523> the mistakes just get more subtle as time goes on
17:26:37 <oklopol> ehird: i'm actually relatively bad at games where every move can get you killed
17:26:41 <ais523> hmm... chess is like NetHack in that respect
17:26:48 <oklopol> the more robust the better i get
17:26:54 <oklopol> i'm like an anticomputer at games
17:27:00 <ehird> proto: chess, the FPS
17:27:17 <ehird> ais523: if i knew that it wouldn't be a proto
17:27:22 * ais523 games little enough that they had to think about the acronym...
17:27:35 <ais523> ehird: even you aren't that fast at coding
17:27:36 <oklopol> ais523: oh, that wasn't a joke?
17:28:25 <oklopol> the reason i can't do chess is
17:28:34 <ais523> it wasn't much of a joke
17:28:36 <oklopol> i think like 7 plies ahead
17:28:45 <oklopol> then move the last piece in my train of thought
17:28:46 <ais523> generally speaking, the person who loses a game of chess is the first to make a mistake
17:28:50 <ais523> unless the other makes a bigger mistake later
17:28:51 <oklopol> because at that point i've solved the situation
17:28:56 <ais523> and heh, I do that as well
17:29:19 <oklopol> 7 was just a random number
17:29:24 <ais523> I'm no good at visualising more than about 2 plies
17:29:31 <ehird> I -can't- think ahead. :P
17:29:51 <ehird> heh, once I wrote a tic tac toe solver whose objective was to beat itself
17:29:55 <ais523> ehird: you're forked, then
17:29:56 -!- kar8nga has quit (Connection timed out).
17:30:01 <ehird> (when it looked ahead (brute-force), it played against itself)
17:30:12 <oklopol> ehird: that's how you always do it
17:30:13 <ehird> naturally, it was pretty awful
17:30:23 <ehird> because it only ever tried to be better than itself
17:30:24 <oklopol> that's the way to brute-force games
17:30:27 <ehird> it's a recursive issue
17:30:47 <ais523> oklopol: it depends on what the evaluation function was
17:30:56 <ais523> but for noughts-and-crosses, you can analyse until the game ends
17:31:12 <ehird> ais523: basically, "if I beat or tie myself, this is a good solution"
17:31:20 <ehird> but since that's the definition of itself, it kind of sucked
17:31:44 <AnMaster> I think it would always end at a draw
17:31:49 <ais523> ehird: that's actually the best possible (if not fastest) algorithm if you brute-force to the end and know whether a position's won, lost, drawn or unfinished
17:31:52 <oklopol> hmm. i don't understand how that's different from just brute-forcing the perfect solution
17:32:02 <ehird> ais523: i think you misunderstand :D
17:32:08 <ehird> oklopol: because it doesn't fight against every possibility
17:32:11 <ehird> just every possibility that is tried
17:32:18 <ehird> and yet that's how you determine what to try...
17:32:26 <ais523> ehird: if it's brute-forcing, it does try every possibility
17:32:30 <oklopol> so what does top-level try?
17:32:35 <ehird> ais523: nope, it didn't
17:32:41 <oklopol> what happens when first move happens?
17:32:46 <ais523> then you aren't brute-forcing, so what are you doing?
17:32:50 <ehird> ais523: i wish I knew
17:33:02 <ehird> hmm, cgit's template files are c files
17:33:06 <ehird> that's disappointing
17:33:14 <AnMaster> isn't taking the middle square the best first move in tic tac toe?
17:33:20 <oklopol> well. the idea is brute-forcing, maybe you're just fucking it up somehow ;)
17:34:20 <ehird> http://hjemli.net/git/cgit/tree/ui-log.c :(
17:34:25 <ais523> AnMaster: it doesn't matter which square you take
17:34:36 <ehird> ais523: errr yes ti does?
17:34:37 <ais523> it's a draw for all 9 possible starting moves
17:34:53 <ais523> although if you start in a corner, the opponent has to reply in the middle to avoid losing
17:34:58 <ehird> right but with the middle you have more of a chance of -winning- against an idiot
17:35:17 <ais523> ehird: only if you assume the idiot plays in the middle given the chance
17:35:26 <ehird> even idiots do that.
17:35:26 <ais523> if you play in the corner, the idiot has 7 losing moves and only 1 drawing move
17:35:33 <ais523> if you play in the middle, the idiot has a 50/50 chance
17:35:37 <ais523> same if you play at an edge
17:36:29 <AnMaster> how many possible tic tac toe games are there?
17:36:37 <ehird> few hundred thousand
17:36:42 <ehird> less if you discard symmetrical ones
17:36:48 <ais523> so yes, about a few hundred thousand
17:36:56 <ais523> if you discard symmetry, it's less than 100 IIRC
17:36:57 <oklopol> nine factorial is an upper bound
17:36:58 <ehird> less if you discard duplicates.
17:37:12 <ais523> oklopol: oh, because the games can end before all the squares are filled/
17:37:16 <oklopol> not all games only after last move
17:37:28 <AnMaster> ais523, even when the other person don't play perfect? and when you consider taking a first then b or b first then a different?
17:37:30 <oklopol> not all games *fucking end* only after last move
17:37:36 <AnMaster> though both could lead to the same end result
17:38:02 <oklopol> AnMaster: the one that was incorrect or the one with fuck?
17:38:04 <ais523> AnMaster: yes and no to your two questions
17:38:37 <oklopol> i mean if you meant the first one, why would you quote a broken sentence? and if you meant the latter one, please don't swear, it's not your style
17:39:10 <ehird> AnMaster: say fuck
17:39:22 -!- tyrelle has left (?).
17:39:30 * ais523 wonders whether to surprise everyone by saying lol
17:39:33 <oklopol> yes of course nine factorial is a pretty loose upper bound also because the order doesn't matter
17:39:46 <AnMaster> ehird, not when you told me to
17:39:49 <ais523> AnMaster: I've typed it before, but only in quoted contexts
17:39:51 <ehird> AnMaster: don't say fuck
17:39:56 <ais523> I haven't actually used it, just mentioned it
17:40:00 <oklopol> not taking order into account isn't even much harder than taking the factorial
17:40:01 <AnMaster> ehird, too late, I don't fall for that trick
17:40:16 <oklopol> you just take 4 out of 9...
17:40:20 <AnMaster> I only ever quote the word too
17:40:24 <ais523> of course I know of the existence of lol
17:40:29 <AnMaster> I think I used "lol" once really
17:40:32 <ais523> just people don't use it with its intended meaning
17:40:37 <ais523> so it's become meaningless recently
17:41:04 <ais523> sometimes I do laugh out loud; I have been for about 5 minutes now (good thing there's nobody else in here)
17:41:13 <ais523> but "lol" is no longer a good way to express that
17:41:32 <AnMaster> "as long as there are humans or other creatures to play it there can be more"
17:41:33 <ais523> AnMaster: Of course it isn't, there are more than 9 games!
17:41:50 <AnMaster> ais523, that was ! as in factorial
17:41:59 <ehird> way to ruin his joke
17:42:46 <oklopol> 9 choose 4, *not* nine factorial
17:43:04 <ais523> you can tell I was joking due to the capital letter at the start of the sentence, the joke didn't work without it
17:43:07 <oklopol> it's like one character longer, and seven billion times smaller.
17:43:12 <ais523> and I rarely do that normally
17:43:40 <ais523> hmm... maybe we should come up with a new IRC convention, which states that correct capitalisation and punctuation indicates sarcasm
17:43:45 <ehird> 17:19:29 <Sgep> PESOIX?
17:43:45 <ehird> 17:19:33 <Sgep> <-- new
17:43:49 <oklopol> ais523: it already does imo
17:43:50 <ais523> I mean, completely correct, initcaps and fullstop at the end
17:44:24 <oklopol> well, not completely correct, but that's one standard way to indicate you're not being serious, if you don't do that normally
17:45:53 <ehird> oklopol: teach me j
17:46:06 <AnMaster> what is the ORDER BY to sort backwards
17:46:35 <oklopol> actually that upper bound actually isn't correct
17:46:38 <ais523> but for a moment, I thought you were correcting ehird, saying that ehird really meant to ask oklopol to teach him J in SQL
17:46:41 <oklopol> once you take into accound games can end prematurely
17:47:04 <ehird> ais523: i thought AnMaster thought oklopol was showing AnMaster some code that he'd asked for
17:47:05 <oklopol> blah. is suck at translating reality into math
17:47:08 <ehird> and he wanted it in sql instead
17:47:37 <oklopol> also ais523 said that already
17:47:43 <ais523> wait, I'm trying to follow the threads of conversation here
17:47:46 <AnMaster> great it didn't sort correctly when selecting from the sorted view
17:47:56 <ais523> it's almost feels as if there are two conversations
17:47:59 <ais523> only they're impossible to separate
17:48:04 <oklopol> ais523: there are always multiple
17:48:10 <ais523> yes, but rare for them to get this intertwined
17:48:20 <ehird> 21:04:58 <heatsink> It would be more esoteric to make pop-from-empty-stack read from stdin :)
17:48:51 <ais523> what, on division by 0?
17:48:57 <oklopol> "why not have the arguments of the program in the stack!!"
17:49:06 <ais523> and <> reads from stdin on Perl when it runs out of argv
17:49:07 <ehird> oklopol: thats not related
17:49:13 <oklopol> but if you consider stdin the args to the program
17:49:19 <ehird> "The stack is empty. What value should be on top?> "
17:49:54 <AnMaster> is INNER JOIN or LEFT JOIN fastest in general?
17:50:01 <AnMaster> all those join types confuse me
17:50:03 <oklopol> well then that's just an object that has two separate uses, which are intertwined to make it very error-prone
17:50:10 <ais523> because it doesn't have to compare against NULL
17:50:14 <ais523> but they do different things
17:50:30 <AnMaster> ais523, all columns are NOT NULL, and in my case they end up doing the same result
17:50:30 <ais523> if you're asking which is fastest, either you're doing something really weird or you aren't thinking about the problem
17:50:36 <ehird> you know what sucks?
17:50:39 <ais523> oh, then they should take exactly the same length of time
17:50:45 <ehird> navigation should be implicit
17:50:46 <ais523> if you have at least a half-decent database engine
17:51:06 <ais523> inner is faster for the same reason ++i is faster than i++
17:51:17 <AnMaster> ais523, except this is mysql (eww yes I know, I hate it, not my choice), and EXPLAIN says INNER JOIN here doesn't use the indexs
17:51:23 <ehird> the question is how you implicitify navigable aids without making a separate form for them.
17:51:31 <ais523> AnMaster: MySQL's optimiser is strange, it seems to pick at random
17:51:37 <ais523> what happens if you add a FORCE INDEX to it?
17:51:48 <AnMaster> ais523, SQL error... let me try again
17:52:01 <ais523> I never can remember exactly where you're supposed to put it
17:52:35 <ehird> i don't think form is inherently navigable.
17:52:36 <AnMaster> ais523, actually if I add a WHERE <primary key of first table> = <some integer> first explains says they are the same
17:53:39 <ais523> AnMaster: is it a small table?
17:53:53 <AnMaster> ais523, currently yes, expected to grow a lot in the future
17:53:54 <ais523> on small tables, MySQL sometimes randomly decides that using an index isn't worth the bother
17:53:58 <ais523> and often it's actually right
17:54:11 <ais523> it would be nice to have an EXPLAIN ON HYPOTHETICAL BIG TABLE SELECT
17:55:01 <AnMaster> 1 SIMPLE history ref tid,pid pid 4 const 2 Using where
17:55:31 <ais523> AnMaster: well, const is a pretty useful join type to have
17:55:41 <ais523> it's the second-fastest
17:55:53 <AnMaster> ais523, which one is the fastest then? PRIMARY I assume?
17:56:01 <ais523> AnMaster: no, the type where the table only has one row
17:56:06 <AnMaster> well thing is... I *only* select on primary keys
17:56:14 <ais523> PRIMARY's not a join type, it's a key type
17:56:25 <AnMaster> and join on "not primary -> primary"
17:56:35 <AnMaster> but primary index should be the fastest
17:56:43 <ais523> AnMaster: not on MyISAM
17:56:52 <ais523> all indexes are equally fast there IIRC
17:57:00 <AnMaster> ais523, innodb since I need foreign key constraints
17:57:06 <ais523> oh, primary is fastest there
17:57:15 <AnMaster> SELECT history.revid, history.tid, text.uid, text.timestamp, text.title, user.realname FROM (history INNER JOIN `text` ON (history.tid = text.tid) INNER JOIN user ON (text.uid = user.uid)) WHERE history.pid = 4 ORDER BY history.revid DESC
17:57:22 <ais523> InnoDB is too much trying to be like other database engines, IMO
17:57:34 <AnMaster> ais523, I would much prefer postgresql
17:57:38 <ais523> they should stick to MyISAM which is not a database in the conventional sense, but is nonetheless useful
17:57:55 <AnMaster> ais523, anyway can you see anything obviously stupid in the above query?
17:58:15 <AnMaster> I guess I can let this pass for now...
17:58:20 <ais523> that should be 3 const lookups, one using where
17:58:23 <ais523> which should be very fast
17:58:32 <ais523> unless you have duplicate pids in the history table
17:58:42 <ais523> or duplicate tids in text, or duplicate uids in user
17:58:56 <AnMaster> pids in history can be duplicate
17:59:08 <AnMaster> no other key I'm testing on can be
17:59:11 <ais523> in that case, it should be const/const/const, with affected rows (small number), 1, 1
17:59:27 <ais523> so no, nothing looks wrong with that
17:59:32 <AnMaster> id select_type table type possible_keys key key_len ref rows Extra
17:59:32 <AnMaster> 1 SIMPLE history ref pid pid 4 const 2 Using where
17:59:32 <AnMaster> 1 SIMPLE text eq_ref PRIMARY PRIMARY 4 vcms.history.tid 1
17:59:32 <AnMaster> 1 SIMPLE user eq_ref PRIMARY PRIMARY 4 vcms.text.uid 1
18:00:01 <AnMaster> ais523, and sorry, text.uid and history.pid can be dup
18:00:08 <ais523> ref const, eq_ref primary, eq_red primary
18:00:17 <ais523> three O(1) queries joined
18:00:21 <ais523> well, O(number of results)
18:00:26 <AnMaster> ais523, where are those abbreviations explains
18:00:31 <ais523> which is much faster than O(size of database), which is what slow queries are
18:00:37 <AnMaster> also number of results depend on number of edits on the page
18:00:43 <ais523> AnMaster: there's a whole chapter of the MySQL docs about it
18:00:54 <ais523> also, you can't possibly get faster than O(n) in the number of results, for obvious reasons
18:01:15 <AnMaster> ais523, I expect at least quite a few results.
18:01:38 <ais523> you can't optimise that any faster in computational class terms, so don't try
18:01:50 <ais523> micro-optimising is just not worth it
18:02:23 <AnMaster> I was just confused why it didn't want to use indexes sometimes
18:02:37 <ais523> AnMaster: because the table was so small that a full table scan was faster than loading the indexes
18:03:44 <AnMaster> ais523, true I don't have a lot of entries yet since I'm continually changing the schema when I find bugs
18:03:57 <AnMaster> so I have an sql file that I change then import that resets the database
18:04:15 <AnMaster> ais523, also what about longtext type, is it sane for using to store pages in?
18:04:27 <ehird> longtext is too long
18:04:29 <AnMaster> I have been unable to find info about that in the mysql docs
18:04:31 <ais523> I'm not sure, but I think so
18:04:36 <oklopol> err left join was join + keep all entries of leftie, inner was just join?
18:04:37 <ais523> longtext is for pretty massive pages
18:04:47 <ais523> oklopol: yes, pretty much
18:04:48 <AnMaster> ehird, hm isn't text like 32 kb?
18:05:11 <ais523> as MySQL like using whole numbers of bytes
18:05:28 <ehird> what are you storing
18:05:30 <ais523> and 64 KiB = a two-byte length
18:05:45 <ehird> if it isn't, fix your pages :P
18:05:54 <AnMaster> ehird, well ever looked at gentoo wiki?
18:05:57 <ais523> ehird: what if they have embedded data: URLs to images?
18:06:01 <ehird> yes, and I never looked again, AnMaster
18:06:30 <AnMaster> well, long text it is, though this isn't gentoo wiki
18:07:00 <oklopol> sql doesn't have an infinitely extending type?
18:07:07 <oklopol> or am i completely out of context
18:07:27 <oklopol> (i don't really know much about practical db's, as should be obvious)
18:07:38 <ehird> oklopol: what do you think about my work in progress db?
18:07:41 <ehird> it serializes objects to a graph
18:08:04 <oklopol> (except queries, but of course just the actual query syntax)
18:08:43 <AnMaster> contact me the day when the product is ready :P
18:08:51 <ehird> go to hell, practical jackass. :|
18:09:25 <oklopol> yeah, who wants to finish a program when you already know how to do it
18:09:26 <AnMaster> ehird, hey I was all for your comefrom/goto lang
18:09:35 <kerlo> I hate doing things I already know how to do.
18:09:53 <oklopol> kerlo: yeah they're almost as bad as things i don't know how to do
18:10:03 <kerlo> Well, eating is an exception. It's an instant gratification thing.
18:10:26 <kerlo> I hate doing both. :-)
18:10:43 <ehird> I hate eating, sleeping and waking up, but not messing around on IRC
18:10:59 <kerlo> Yeah, messing around on IRC is fine because you don't have to actually do anything.
18:11:17 <oklopol> well at least you don't have to achieve anything.
18:11:21 <AnMaster> ok this is evil, a wiki that requires users to use valid xhtml 1.1 syntax (filtered to a safe set of whitelisted tags, attributes and attribute values)
18:11:37 <ehird> markdown isn't horrible
18:11:37 <kerlo> Unfortunately, I have obligations.
18:11:48 <AnMaster> ehird, well I was thinking of mediawiki syntax
18:11:57 <ais523> AnMaster: the requirement for valid xhtml 1.1 is so it can be filtered more easily?
18:11:58 <AnMaster> also for extra eww this is coded in php
18:12:11 <AnMaster> ais523, no because otherwise firefox renders it badly
18:12:20 <AnMaster> when you send the correct mime type
18:12:31 <ais523> but I mean, why did they pick XHTML
18:12:39 <ais523> my guess is so it's easier to filter
18:12:41 <ehird> ais523: AnMaster loves XHTML because it's newer.
18:12:47 <ehird> what am postel's law? what am server-side filtering?
18:12:51 <ehird> what am intelligence
18:12:55 <AnMaster> ais523, also it is easier to filter
18:13:06 <ais523> ehird: yes, what /am/ postel's law?
18:13:18 <ehird> ais523: what am google
18:13:20 <ais523> although "what am intelligence" seems surprisingly philosophical
18:13:51 <AnMaster> not even tables for form layout
18:14:02 <ais523> AnMaster: how do you enforce that rule?
18:14:03 <ehird> never mind that 500 other people do that.
18:14:16 <AnMaster> ais523, I don't, but I mean the software in itself
18:14:32 <AnMaster> iirc even mediawiki use(ed?) tables for login form
18:15:18 <AnMaster> <td class="mw-label"><label for='wpName1'>Username:</label></td>
18:15:18 <AnMaster> <input type='text' class='loginText' name="wpName" id="wpName1"
18:15:37 <ais523> not sure if it still does
18:15:56 <AnMaster> ais523, that was from en.wikipedia
18:16:13 <AnMaster> ais523, maybe it doesn't in trunk
18:16:46 <ais523> AnMaster: I doubt they've fixed it
18:16:59 <ais523> changing one CSS identifier in MediaWiki causes people to kick up a stink sometimes
18:17:09 <AnMaster> ais523, btw: http://rafb.net/p/LWWpzm49.html
18:17:12 <ais523> "You should have consulted the community before messing up all our non-robust scripts!"
18:17:22 <AnMaster> ais523, that is my login form, that renders the same way
18:17:33 <AnMaster> yes mediawiki themeing is a mess
18:17:39 <AnMaster> it should be just changing a css file
18:17:58 <AnMaster> ais523, for register there is such support, but register isn't coded yet
18:18:15 <ehird> AnMaster: you're actually building a wiki that requires completely valid, whitelisted xhtml 1.1 as its page input?
18:18:20 <AnMaster> as in, register.php is: <?php die("TODO"); ?>
18:18:20 <ehird> wow, you're more idiotic than I previously thought possible
18:18:33 <AnMaster> ehird, not my choice, this is for a school course
18:18:33 <ais523> actually, I like the idea
18:18:46 <ais523> although it would be for different purposes than Wikipedia, say
18:18:47 <ehird> AnMaster: I am sure "completely-valid XHTML 1.1" is your choice.
18:18:56 <ehird> Also, I really don't care who likes the idea, because it's a bad one.
18:19:03 <AnMaster> ais523, oh and it uses object orientation in php
18:19:04 <ais523> instead of a quick-edit anyone-can-join wiki, it would be a lets-use-this-to-maintain-a-website wiki
18:19:12 <ais523> AnMaster: so do lots of other PHP programs
18:19:19 <ehird> Maintaining a website in XHTML 1.1 is grounds for the death penalty.
18:19:35 <AnMaster> ais523, btw my login form css basically works similar to this: http://www.websiteoptimization.com/speed/tweak/forms/
18:19:37 <ais523> no, but I've tried to read code that uses it
18:19:45 <AnMaster> except not px but em for the sizes
18:19:53 <ais523> ehird: maintaining a website in XHTML is taking all the suffering onto yourself for the good of the rest of the world
18:19:58 <ais523> writing in plain HTML is being selfish
18:19:59 <ehird> ais523: no, there is no good
18:20:04 <ehird> there are no exceptions to postel's law
18:20:14 <ais523> ehird: writing in XHTML /is/ postel's law
18:20:33 <ais523> it is, because it's very strict and easy to parse for other programs
18:20:42 <ehird> valid, well-formed, XHTML 1.1 is no more cleaner and easy to process than the same with HTML 4.01
18:20:46 <ais523> AnMaster: check on Wikipedia, which calls it something else but has a redirect
18:20:47 <ehird> so sorry, that's just bullshit.
18:20:52 <ais523> ehird: and yes it is, you can't process HTML with CSLT
18:21:08 <ehird> except you shouldn't process with XSLT, one because it sucks ,and two because it violates postel's law
18:21:23 <AnMaster> ais523, I don't do that, but it would be nice to allow
18:21:56 <AnMaster> ehird, also the code is made so it would be easy to plug in a wiki-syntax engine
18:22:11 -!- Corun has quit (Read error: 110 (Connection timed out)).
18:22:26 <AnMaster> two places only, vcms_page->preview(); and vcms_render->render()
18:22:51 <AnMaster> oh and never touch page id -1 because that means it is some internally generated page, like the login page
18:24:51 <ais523> ehird: do you favour Postel's Law for everything, or only for internet communications?
18:24:59 <ais523> do you favour it for, say, functions inside a C program?
18:25:15 <ehird> ais523: It is complicated.
18:25:26 <AnMaster> ais523, I don't think so, he claimed he disliked "defensive coding" recetly
18:25:28 <ehird> For closed-world things -- e.g., functions inside a C program -- it doesn't apply.
18:25:41 <ehird> For open-world things -- e.g., the entry point of a C program, or a website -- it applies.
18:25:50 <AnMaster> and I tend to agree, though assert() is an exception.
18:25:57 <ehird> One is controlled, the other isn't.
18:26:24 <ais523> AnMaster: I'm currently trying to get a BF interpreter to pass splint strict mode
18:26:32 <ais523> it requires jumping through all sorts of hoops
18:26:34 <ehird> http://diveintomark.org/archives/2004/01/08/postels-law
18:26:35 <ehird> http://www.aaronsw.com/weblog/001025
18:26:37 <ehird> http://www.b-list.org/weblog/2008/jun/18/html/
18:26:41 <ehird> Read those (in order.)
18:26:43 <ais523> I have an auxiliary /function/ guarded by NDEBUG
18:26:58 <ais523> which checks if argc is larger than a certain value
18:27:02 <ais523> and takes argv as an argument and ignores it
18:27:22 <ais523> the function is expressing the fact that argv has argc elements, in a way that splint can understand and verify is correct
18:27:39 <AnMaster> I have a few NDBUG guarded funcs in cfunge, dumping functions, "clean up on exist to make valgrind output simpler, even though this could be left to the OS"
18:28:11 <AnMaster> ais523, but your sounds strange
18:28:20 <ais523> maybe I should paste it
18:28:25 <AnMaster> I would check argc in main() probably
18:28:32 <AnMaster> or actually, I would use getopt()
18:28:40 <ais523> oh, so do I, but Splint didn't notice it there
18:28:43 <AnMaster> yes it is POSIX, but I don't care about windows
18:28:45 <ais523> and I'm not even getting options
18:29:00 <ais523> I'm trying to persuade Splint that I can read the first command-line arg without buffer overflow
18:29:03 <ehird> The nice thing about dependently typed languages is that you can statically prevent incorrect data.
18:29:21 <ais523> the buffer-overflow checks are a bit primitive, you have to jump through loads of hoops to guarantee to it that you're doing things right
18:29:23 <AnMaster> ais523, hopefully the OS should leave a \0 at the end of it...
18:29:39 <ais523> AnMaster: again, it does
18:29:50 <ais523> but Splint doesn't have a "this is a null-terminated array of strings" annotation
18:30:04 <AnMaster> ais523, well paste that function then
18:30:28 <AnMaster> ais523, also does it have a "this is a null terminated string?" annotation?
18:30:34 <ehird> e.g., main :: [string] `ofLength` 2 -> io ()
18:30:47 <ehird> then (main a = print a) will fail
18:31:17 <ais523> strange, my web browser's going slow
18:31:21 <ais523> also, I don't think so, strange really
18:31:32 <ehird> because you need to _prove_ to the compiler that you can't pass it non-2 length arrays
18:31:32 <ehird> you have to prove to the compiler that the array you passed it is of length 2
18:31:35 <ehird> so in your entry point, you have to check the length of the array
18:31:41 <ehird> before calling main
18:31:51 <ais523> AnMaster: http://rafb.net/p/sRPjBK56.html is the whole program
18:31:56 <ehird> AnMaster: a hypothetical Haskell with dependent types
18:31:59 <ais523> check_argc_argv is the relevant function
18:32:19 <ehird> dependent types give you immense flexibility and awesome, at the expense of not being able to prove that your compilation will terminate
18:32:30 <ehird> (because the type system == the normal language, and is therefore TC)
18:32:39 <ais523> AnMaster: "This function does not modify any global variables"
18:32:49 <AnMaster> /* Splint seems not to know about assert... */
18:32:49 <AnMaster> if (argc < minlength) {abort();}
18:32:58 <AnMaster> if it doesn't know, why not remove it?
18:33:08 <ais523> it does know about assert, just doesn't notice it for some reason
18:33:45 <AnMaster> ais523, know what? I would give up on splint instead of doing that
18:33:56 <ais523> AnMaster: you don't understand, this is an eso project
18:34:03 <AnMaster> also the splint project was in practise dead last I checked
18:34:05 <ais523> I have splint's warning levels /way/ above the typical levels
18:34:14 <ais523> cfunge is designed to be as fast as possible
18:34:21 <ais523> this program is designed to be as Splintable as possible
18:34:27 <ais523> still not perfect, btw
18:34:42 <ais523> it thinks there are some potentially undefined structure fields, and I have to resort to /*@- on occasion and I don't want to
18:34:44 <ehird> i think you could get very far by hooking a dependent types layer onto C
18:34:50 <AnMaster> /*@requires maxRead(argv) == argc
18:34:51 <AnMaster> /\ maxRead(tape) >= 100663378;@*/
18:35:02 <ais523> AnMaster: it's from logic
18:35:23 <AnMaster> ais523, well the splint devs were making a program checking C source, maybe C notation would have made sense then
18:35:46 <AnMaster> also the logic notation is one symbol and not some sort of mini-ascii art of it
18:35:47 <ais523> don't ask me to make Splint make sense
18:35:56 <ais523> although Splint has inspired me to write an esolang, btw
18:35:59 <ehird> void real_main(int argc /**@ == length(array)*/, char **argv /**length(@) == 3 */)
18:36:06 <ehird> and then the layer requires you to prove it in calls
18:36:14 <ais523> which is like C, but impossible to write buggy programs in
18:36:20 <ais523> well, logic bugs still possible
18:36:28 <ehird> int main(int argc, char **argv) { if (argc != 3) { ...error... } else { real_main(argc, argv); } }
18:36:29 <AnMaster> also there are langs like that
18:36:30 <ais523> but memory leaks and buffer overflows and so on impossible
18:36:35 <ehird> and since argc == length(argv)
18:36:37 <ais523> and of course there are
18:36:38 <ehird> and argc is verified to be 3
18:36:40 <ehird> the preconditions are met
18:36:41 <ais523> but the point is, to do it in C
18:36:43 <AnMaster> ais523, BitCC and Cyclone may interest you
18:36:44 <ehird> and the program can compile
18:36:49 <ais523> so you still have to write the free()s and so on
18:36:54 <AnMaster> both are made to be hard to write buggy things in
18:36:55 <ais523> the compiler just verifies they're there
18:37:42 <AnMaster> ais523, could be done as a GCC middle end maybe?
18:37:50 <ais523> I didn't even know it had middle ends
18:37:59 <ais523> the problem is that the front end/back end transition is blurry
18:38:00 <AnMaster> ais523, note what I said after
18:38:10 <ais523> there's a chain of back ends, more or less
18:38:18 <ais523> and the various front ends filter into different places in it
18:38:28 <ais523> even gcc-bf has to interact with the front ends slightly
18:38:28 <AnMaster> ais523, where does mudflap in GCC insert it's calls?
18:38:37 <ais523> to tell them how to send data to the back ends
18:38:53 <AnMaster> ais523, I assume you know what -fmudflap is though?
18:38:57 <ais523> (gcc-bf has to request varargs calls to be sent a certain way, so it can handle them)
18:39:02 <ais523> AnMaster: I do, but not how it works
18:39:21 <AnMaster> ais523, inserting lots of canary values iirc and checking every read/write access
18:39:27 <ais523> yes, I mean inside gcc
18:39:30 <ais523> I don't know what it hooks into
18:39:31 <AnMaster> somewhat like valgrind except it can catch some stuff gcc doesn't
18:39:43 <AnMaster> err catch some stuff valgrind doesn't
18:39:52 <AnMaster> like 2 valid variables after each other
18:40:11 <AnMaster> if both are static valgrind can't check that access doesn't pass from one over to the other
18:40:51 <AnMaster> of course valgrind finds stuff mudflap doesn't
18:41:32 <AnMaster> /*@-retvalint@ We don't care if fputs fails, we can't do anything... */
18:41:40 <AnMaster> ais523, why not cast each to (void)
18:42:20 <ais523> AnMaster: hmm... I wonder if that works
18:42:25 <ais523> I've been casting to void elsewhere
18:42:32 <AnMaster> ais523, also: default: continue; /* a comment */
18:42:35 <ais523> but possibly Splint doesn't let you do that for non-printf functions
18:42:52 <ais523> I must have phased out there
18:42:57 <ais523> no idea what the comment was meant to say
18:43:09 <ais523> that case catches comments in the input BF
18:43:26 <ehird> Musings on a static analyzer for C: http://pastie.org/352320
18:43:52 <ais523> let's make something like Splint that actually works
18:43:58 <ehird> ais523: see http://pastie.org/352320
18:44:15 <ais523> that's very splint-like
18:44:21 <ehird> yes, but more general
18:44:23 <AnMaster> ais523, and can handle ## in macros
18:44:28 <ehird> [and compile-time turing complete :DDDDDD]
18:44:52 <ais523> AnMaster: and trigraphs?
18:44:59 <ais523> (N.B. I haven't tried to run Splint with trigraphs)
18:45:12 <ais523> besides, you're in C99, you have digraphs now
18:45:26 <AnMaster> ais523, I don't use digraphs either
18:45:26 <ais523> yes, they were added as they're easier to type than trigraphs
18:45:39 <ehird> oi, people, obsess over my awesome.
18:45:51 <ais523> AnMaster: they're useful if your character set doesn't have { in
18:46:03 <ais523> I mean, how else would you type C in such a character set?
18:46:12 <AnMaster> ais523, I'm not sure if it does, but I sure hope POSIX requires that
18:46:26 <ais523> AnMaster: there's a standard for which characters are guaranteed in a character set
18:46:37 <ais523> which is why C has digraphs
18:46:48 <ais523> (and formerly trigraphs)
18:46:49 <AnMaster> ais523, true, but I think all POSIX systems would have it or?
18:46:55 <ais523> does POSIX require ASCII/
18:47:41 <ehird> incidentally, you can take proves further
18:47:51 <AnMaster> Conforming implementations shall support one or more coded character sets. Each supported
18:47:51 <AnMaster> locale shall include the portable character set, which is the set of symbolic names for characters in
18:47:51 <AnMaster> Table 6-1. This is used to describe characters within the text of POSIX.1-200x. The first eight |
18:47:51 <AnMaster> entries in Table 6-1 are defined in the ISO/IEC 6429: 1992 standard and the rest of the characters |
18:47:51 <AnMaster> are defined in the ISO/IEC 10646-1: 2000 standard.
18:48:04 <ehird> void assert_not_empty(char *s) /*@ proves (strlen(s) > 0) */
18:48:10 <AnMaster> also those | are due to this being a "diff from 2001 edition"
18:48:13 <ehird> that's only useful if you roll your own logic in there though
18:48:14 <ais523> ehird: ok, that's clever
18:48:17 <ehird> assert(strlen(s) > 0)
18:48:20 <ehird> then it works anyway
18:48:24 <ehird> since assert(x) proves x
18:48:33 <ais523> would strlen be special-cased in the linter?
18:48:36 <AnMaster> ehird, the meaning of strlen is built in?
18:48:41 <ais523> or would it deduce strlen's properties from its source?
18:48:52 <ehird> well, it'd come with a standard block of definitions
18:48:56 <ehird> for the c standard library
18:49:03 <ehird> but you could easily add your own for any function
18:50:05 <AnMaster> so I think this means posix requires that
18:50:05 <AnMaster> <left-brace> { <U007B> LEFT CURLY BRACKET
18:50:05 <AnMaster> <left-curly-bracket> { <U007B> LEFT CURLY BRACKET
18:50:05 <AnMaster> <vertical-line> | <U007C> VERTICAL LINE
18:50:05 <AnMaster> <right-brace> } <U007D> RIGHT CURLY BRACKET
18:50:05 <AnMaster> <right-curly-bracket> } <U007D> RIGHT CURLY BRACKET
18:50:11 <AnMaster> several names for the same symbol?
18:50:17 <ehird> ais523: essentially, this system would be an extensible system for writing code checkers
18:50:22 <ehird> from inside the actual code
18:50:33 <ehird> with a large base checker built in
18:50:57 <ehird> i can forsee, e.g., people offering checker files for all sorts of libraries
18:51:04 <AnMaster> ais523, yes POSIX.1-2008 at least requires {}
18:51:06 <ehird> and you just import them and off you go, compile-time verification
18:51:51 <ehird> i think what i'm saying here, is that i am crazy, and awesome
18:52:34 <AnMaster> ehird, somewhere in between I think
18:52:51 <ais523> ehird: yep, pretty much what I was thinking too
18:52:59 <ais523> does it track memory allocation the same way?
18:53:13 <ehird> AnMaster: no, void assert_awesome(Person *person) /*@ need (is_crazy(person)); proves (is_awesome(person)) */
18:53:48 <ehird> ais523: i'm pretty sure you could write that to be non-core
18:53:57 <ehird> you'd need to put a property on (*x)
18:54:04 <ehird> need (valid_memory(x))
18:54:13 <AnMaster> ehird, I think ais523 meant tracking memory leaks
18:54:22 <ehird> i'm not sure I get what you mean
18:54:33 <ais523> yes, memory leaks and use after free
18:54:41 <ais523> what splint's meant to do but doesn't because the annotations are too general
18:55:00 <ehird> use after free is easy
18:55:11 <ehird> just add that property to (*x) and define free(x) as proves (!valid_memory(x))
18:55:12 <AnMaster> what about tracking when allocations go out of scope?
18:55:34 <ehird> AnMaster: like how
18:55:38 <AnMaster> ehird, also it need to track when pointers are copied and this one being applied to other copies of that pointer
18:55:54 <AnMaster> otherwise it wouldn't detect stuff like:
18:55:55 <ais523> ehird: int* foo (void) {int a = 4; return &a;}
18:55:56 <ehird> AnMaster: pointers are copied is just variable assignment
18:55:59 <ehird> and of course it'd track variable assignment
18:56:02 <ais523> that's an error, you should be able to detect it
18:56:16 <ehird> AnMaster: yep, that's variable assignment :P
18:56:22 <ais523> ehird: the problem is tracking what's aliasing what
18:56:25 <ehird> gcc already warns about that, does it not?
18:56:50 <AnMaster> so you need to treat that specially
18:56:58 <ais523> ehird: lots of things do
18:57:02 <ais523> but that's an obvious case
18:57:18 <ehird> ais523: right, but you can make gcc make just that an error can't you?
18:57:22 <ais523> consider {char* a = malloc(20); b = a; free(a);}
18:57:28 <ehird> i mean, this is really for the sort of non-trivial stuff, like hugely nested frees and such
18:57:32 <AnMaster> ehird, gcc is far from perfect
18:57:36 <ehird> ais523: right, it'll notice b is invalid
18:57:37 <ais523> but it's the same thing, really
18:57:41 <ehird> because it contains the same pointer as a
18:57:46 <ehird> and a is no longer valid_memory
18:57:50 <ehird> so b isn't, obviously
18:57:51 <AnMaster> ehird, all the sort of memleaks that valgrind can detect
18:57:54 <ais523> yes, that's the sort of tracking that I was talking about
18:58:02 <ehird> AnMaster: yes, hopefully
18:58:05 <ais523> now, suppose you have the C-INTERCAL Threading Structure
18:58:14 <ais523> how do you detect that memory's being freed exactly once there
18:58:16 <ehird> ais523: i don't want to suppose that :D
18:58:26 <AnMaster> ehird, I agree, thought it should try to do that
18:58:31 <ais523> AnMaster: it's the most complex memory structure I know of offhand
18:58:40 <ais523> and other interesting stuff
18:58:42 <AnMaster> ais523, I think runtime checking of it is the only sane way
18:58:50 <ehird> ais523: remember that it can't just magically infer stuff
18:58:53 <ehird> if you say a function proves (x)
18:58:54 <ais523> hmm... for something saner, what about a skiplist?
18:58:57 <ehird> then it takes your word for it
18:59:11 <ais523> you should state the proves by hand
18:59:16 <ais523> but it should verify that it is indeed proven
18:59:19 <ais523> that's what Splint does
18:59:23 <AnMaster> ehird, there should be a mode to check what you tell it
18:59:29 <ehird> that's halting problem impossible
18:59:33 <ais523> ehird: it's normally possible, though
18:59:42 <ehird> ais523: it's not even worth it
18:59:42 <ais523> just because it's halting impossible sometimes doesn't mean you can't do it in the general case
18:59:57 <ais523> and then, you just make programs where it can't prove compile errors
18:59:58 <ehird> the amount of functions you declare as proving things is a small amount compared to other types
19:00:01 <ehird> and you should check them carefully
19:00:13 <ehird> as, well, if it can't trust validators to validate, it can't do anything, can it?
19:00:29 <ais523> *it can't /trust/ anything
19:00:39 <ehird> no, it can trust this:
19:00:39 <ais523> it can trust + to add, for instance
19:00:46 <ais523> and the control variable of a while to be 0 when it ends
19:00:47 <ehird> void assert(int x)
19:00:52 <ehird> /* error out here... */
19:00:58 <ehird> that's one of the rare provers
19:01:00 <ehird> and it should be effectively foolproof
19:01:02 <ehird> there's not much room for error there
19:01:03 <AnMaster> ais523, unless you use while ++
19:01:12 <ehird> as a good rule of thumb, if you can't look at every line and certify that it works correctly
19:01:13 <ais523> ehird: it can easily deduce that that proves, though
19:01:14 <ehird> don't make it a prover :P
19:01:23 <ais523> you don't need to take the programmer on trust
19:01:27 <ehird> ais523: really, it's best to use discretion when defining provers.
19:01:32 <ehird> just don't, in general
19:01:33 <AnMaster> ais523: while (str[i] != 0) { ... }
19:01:34 <ais523> you know exit (or what ever you use) errors out permanently
19:01:35 <ehird> use assert(), or whatever
19:01:37 <ehird> make a primitive prover
19:01:38 <ais523> so the function never ends unless x is true
19:01:40 <ehird> and get its assurance
19:01:41 <ais523> so it does in fact prove
19:01:42 <AnMaster> ais523: while (str[i++] != 0) { ... }
19:01:51 <ehird> because that will work much better
19:01:55 <ehird> and it will edtect when it doesn't really prove it
19:02:00 <ehird> beacuse it uses an asserted-prover incorrectly
19:02:13 <ehird> that's the thing, provers should be rare and very carefully written and small
19:02:20 <ehird> everything else can be inferred on top of them
19:02:24 <ais523> ehird: what I'm saying is there should be /no provers/ under your definition
19:02:30 <ehird> ais523: yes, but that's shaky
19:02:32 <ais523> not just rare and carefully written and small
19:02:35 <ehird> and you could slip up
19:02:38 <ais523> you can infer everything from the lang itself
19:02:45 <ehird> because it's the fucking halting problem
19:03:04 <ais523> look at your assert above, for instance
19:03:08 <ehird> anyway, you CAN'T even inferr it, ais523
19:03:17 <ais523> it's very easily to statically prove that x is true if it ever reaches the end of the function
19:03:18 <ehird> it could print out to the screen
19:03:20 <ehird> it could set a toaster off
19:03:22 <ais523> and I'm assuming something like an abort here
19:03:23 <ehird> it could eat loads of memory on purpose
19:03:25 <ehird> it could play pacman
19:03:27 <ehird> ais523: aha, assuming
19:03:31 <ehird> so now you have a new class
19:03:39 <ehird> and you can't handle errors your own way
19:03:41 <ais523> ehird: yes, all static analysers use those AFAIK
19:03:49 <ehird> yes, but they shouldn't
19:03:55 <ais523> because that method is itself verifiable to abort
19:04:04 <ais523> if it doesn't abort, then the assert isn't actually proving anything
19:04:05 <AnMaster> idea: just use haskell, should be way easier to prove
19:04:05 <ehird> it's far more robust to have a few primitive provers that are carefully checked
19:04:09 <ehird> and rarely ever declare anything as a prover
19:04:15 <ais523> ehird: yes, it's called the operators of the language
19:04:15 <ehird> AnMaster: er, shut up, it's exactly the same for haskell
19:04:25 <ais523> those are your primitives
19:04:27 <ehird> ais523: have fun solving the halting problem
19:04:30 <AnMaster> ehird, excepts the dirty bits are all in monads
19:04:42 <ehird> AnMaster: stop bullshitting...
19:04:44 <ais523> ehird: it doesn't need to solve the halting problem, it's a static analyser by definition
19:04:48 <ais523> it only has to do a finite amount of work
19:04:59 <AnMaster> ehird, I meant nomads of course
19:05:01 <ais523> it may not be able to prove everything, but if it can't, that's a warning/error
19:05:17 <ais523> and the programmer should annotate the program defensively so it can
19:05:32 <ehird> ais523: if you think you can write a program that takes an arbitrary function and verifies whether it actually "proves" (where you don't know how it will handle success/failure of this proof) an arbitrary piece of code boolean condition
19:05:41 <ais523> for instance, you can get assert to find a counterexample to the Riemann hypothesis if it finds the assertion is false
19:05:43 <ehird> even though it may use different ways to say the same value than the prof
19:05:46 <ehird> then you're a crackpot
19:05:52 <ehird> and I'm not going to continue talking
19:05:53 <ais523> then, the static analyser will mark that code as buggy, even though it might not be
19:05:55 <ehird> if you don't believe that
19:05:59 <ehird> then provers are a better solution
19:06:36 <ais523> ehird: I think I can write a program that takes an arbitrary function, and a statement about what it's meant to prove, and either deduce (in the 99% of cases that matter in practice) that it does indeed prove that, or be unable to prove it proves that and errors out
19:06:55 <ais523> you can't solve the halting problem. But you can write a program in such a way that it can be verified that the program halts
19:07:06 <ehird> meanwhile i'll spend the extra 5 seconds when writing a program to make sure the provers are correct, after having saved 5 years that it'll take you to write your mythical program
19:07:22 <AnMaster> ehird, "<ehird> then you're a crackpot" <-- just remember he *did* win the wolfram price
19:07:25 <ais523> ehird: but then, it's theoretically possible that someone could write a buggy program
19:07:29 <ais523> AnMaster: yep, I'm a crackpot
19:07:32 <ehird> AnMaster: Argument to authority also makes you a crackpot.
19:07:33 <AnMaster> even if he *is* a crackpot as you say, he is a smart one
19:07:53 <ehird> ais523: there are always buggy programs.
19:07:57 <ehird> fuck, this checker will have like 500 bugs
19:08:04 <ehird> the point is mitigation to a reasonable level
19:08:15 <oklopol> [i for i in [1,2,3,4,5] while i<3] i'm sad this doesn't exist in python
19:08:15 <ehird> and since provers should be rare, you can mitigate their correctness almost 100%
19:08:20 <ehird> save things like the stdlib failing
19:08:24 <AnMaster> ehird, same as the difference between eccentric(sp?) and mad
19:08:26 <ehird> [i for i in [1,2,3,4,5] if i<3]
19:08:36 <oklopol> ehird: that's only the same in that case
19:08:55 <oklopol> i meant, you know [i for i in [1,2,3,4,5,4,3,2,1] while i<3] >>> [1,2]
19:09:34 <ais523> ehird: the thing is, I don't see why on earth you're saying that your assert needs to be marked as a prover, when it's trivially veifiable
19:09:43 <ais523> it's much easier to verify than most of the nonprover functions out there
19:09:55 <ais523> you're saying provers should be trivially verifiable. If it's so trivial, why not verify them automatically?
19:09:59 <AnMaster> ehird, it should have fewer bugs than qmail
19:10:01 <ehird> ais523: because assert is a trivial example
19:10:37 <ehird> and i really don't care what you think is theoretically possible because the difference in the two in practice is neligible except mine invites more careful checking of programs, and takes years less tow rite
19:10:55 <ehird> AnMaster: isn't qmail very bug-free?
19:10:56 <ais523> ehird: yours takes longer to write, and checks less of the program
19:11:06 <ehird> ais523: you're wrong.
19:11:59 <AnMaster> ehird, there hasn't been a bug for years iirc, and between 1.0 and now there has been less than 10 bugs iirc
19:12:10 <ais523> ehird: can you give an example of a complicated prover?
19:12:20 <ehird> Is qmail licensed yet?
19:12:37 <ehird> ais523: sure -- think about e.g. KDE/Qt
19:12:38 <AnMaster> ehird, public domain since some time iirc
19:12:52 <ais523> ehird: what would it be proving?
19:12:53 <AnMaster> ehird, that would involve proving X first
19:12:53 <ehird> they almost certainly have bulky assertion functions which do things like report the error to a gui
19:13:01 <ehird> ais523: who knows?
19:13:08 <ais523> ehird: yes, but it's trivial to verify that the functions in question exit
19:13:16 <ehird> exiting is NOT ALWAYS CORRECT
19:13:17 <AnMaster> ehird, and yet qmail is one of the most used (the most used?) MTAs out there
19:13:18 <ais523> you don't even have to analyse the whole function for that
19:13:24 <ehird> it could change the program to bug reporting mode instead
19:13:27 <ais523> ehird: do they exit the program, or do they continue it?
19:13:34 <ehird> ais523: continuing COULD BE CORRECT
19:13:35 <ais523> if they're changing to bug report mode, your assertion is in fact /false/
19:13:39 <ais523> you've proved something false in that case
19:13:45 <ais523> so your prover is actually buggy
19:13:58 <ehird> you've found that somethign is false, and you're handlnig that
19:13:59 <AnMaster> ehird, it is theoretically correct
19:14:01 <ais523> if continuing from an assert when the condition is false is /ever/ correct, it /hasn't proved what it's claiming to prove/
19:14:14 <ehird> your definition of prove is completely wrong in the context
19:14:16 <ais523> a more interesting case is if assert somehow alters the program's state so the condition becomes true
19:14:25 <ehird> i'm not even talking about it any longer because it's worthless
19:14:26 <oklopol> seems ehird is one of those people who take the halting problem as the end of topic of proving.
19:14:35 <ais523> ehird: using your method, assert(x != NULL); putchar(*x); could segfault
19:14:41 <ehird> ais523: no, it couldn't
19:14:48 <ehird> it could pop up a bug reporting window
19:14:51 <ais523> yes it could, if assert ever returned when x was null
19:14:53 <ehird> which then exit()s in itself
19:15:03 <ais523> in that case, it's trivial to determine that assert exits
19:15:03 <ehird> maybe the platform doesn't do exit()
19:15:05 <ehird> maybe it's embedded
19:15:09 <AnMaster> oklopol, oh yes, somewhat like a Godwin's law for TC discussions?
19:15:10 <ehird> maybe it goes into an infinite loop of flashing a warning light
19:15:25 <ais523> anything but a complicated infiniloop is relatively easy to analyse
19:15:27 <ehird> you can't fucking say that the program exiting is the only way it can handle a false proof
19:15:31 <ehird> because that is simply WRONG
19:15:41 <ais523> ehird: no, the only way it can handle it is /failing to continue past that point/
19:15:48 <ais523> there are only two ways to do that, exit and infiniloop
19:15:59 <ehird> and NEITHER HAS TO HAPPEN IN THE ACTUAL FUNCTION
19:16:06 <ehird> it could happen in a function in a binary blob that it calls
19:16:09 <ais523> that's what the static analyser is for!
19:16:10 <ehird> there's no way to prove THAT works
19:16:14 <ais523> you analyse the functions it calls
19:16:21 <oklopol> AnMaster: yes, kinda like tcness is for language discussions
19:16:22 <AnMaster> ais523, if another thread alters this thread
19:16:23 <ehird> ais523: except you can't assert that a function in a binary blob exits
19:16:29 <ehird> because it needs to fucking statically analyze the source for that
19:16:32 <ehird> beacuse it uses your retarded scheme
19:16:33 <ais523> ehird: well, those do need annotations as primitives
19:16:40 <ais523> but then, you're just taking the programmer on trust
19:16:41 <AnMaster> ais523, this gets hugely complicated if you use phtreads
19:16:42 <ehird> so now you have proves as an annotation
19:17:09 <ais523> ehird: yes, but you have to realise that you're sacrificing guaranteed correctness in that situation
19:17:17 <AnMaster> ais523, I'm uncertain you could prove anything in fact if the program was threaded
19:17:18 <ais523> in fact, trusting binary blobs to do anything particular at all is a bad idea
19:17:22 <ais523> if you want to make sure your program is gine
19:17:32 <ehird> arguing with you is so pointless, you just continually reassert that you're right immediately after admitting you're wrong
19:17:33 <ais523> AnMaster: you can, you just need to make assertions about how the threads affect each other
19:17:34 <AnMaster> ais523, also I would love to see what splint did on #pragma omp
19:17:50 <AnMaster> ais523, #pragma omp is OpenMP btw
19:17:56 <ais523> much the same way as you annotate how you affect global variables in SPlint
19:17:57 <oklopol> i didn't really read much of this, anyone feel like quickly explaining what the argument is about?
19:18:16 <AnMaster> oklopol, writing a static analyzer for a C like language that could verify the program
19:18:17 <ais523> oklopol: ehird's arguing that a static analyser should take the programmer on trust for things rather than verifying them itself
19:18:27 <ehird> that's not what i fucking said
19:18:35 <oklopol> ais523: that's what i thought he meant
19:18:37 <ais523> I'm arguing that a static analyser should in all cases possible determine things for itself
19:18:53 <GregorR> AnMaster: I'm popping some!
19:18:55 <ais523> please give an example of how that isn't your viewpoint
19:18:58 <oklopol> AnMaster: not yet, i want context before i start watching :P
19:19:10 <ehird> that's true IFF every function in every program is a prover.
19:19:16 <ehird> whereas barely any are.
19:19:16 <GregorR> AnMaster: I'm watching a cat fight :P
19:19:21 <ehird> and furthermore, this is tiring. goodbye.
19:19:22 -!- ehird has left (?).
19:19:28 <ais523> ehird: there is no difference between provers and nonprovers
19:19:33 <ais523> oklopol: an idea invented by ehird
19:19:47 <ais523> basically it's a function that the programmer asserts does something
19:19:54 <oklopol> special functions that can assert things the compiler then takes on trues?
19:20:01 <ais523> and the static analyser takes the programmer at their word
19:20:02 <ais523> rather than checking that it actually does that
19:20:04 <oklopol> ais523: right. that's an assert
19:20:12 <ais523> yes, assert was the example we were mostly using
19:20:17 <oklopol> it's just an assert that doesn't actually fail.
19:20:33 <ais523> I was arguing that it's better and more robust to get the compiler to look in the source of assert to make sure it actually does what it's supposed to dp
19:20:52 <AnMaster> ais523, well for assert() that is simple
19:20:57 <ais523> after all, ehird's idea was that provers should be so simple that they can be checked by hand to unambiguously make sure they always work
19:21:12 <ais523> no need to argue this point with me, I'm on the same side as you I think
19:21:22 <AnMaster> /usr/include/gentoo-multilib/amd64/assert.h:extern void __assert (const char *__assertion, const char *__file, int __line)
19:21:26 <ais523> well, if provers are so simple, just analyse them yourself like the rest of things
19:21:30 <oklopol> ais523: and what would their point be?
19:21:44 <ais523> oklopol: ehird had to resort to things like binary blobs which couldn't be statically checked
19:21:49 <ais523> or mentioining the halting problem
19:21:50 <oklopol> that the programmers would more easily believe the programmer is correct?
19:21:51 <AnMaster> : __assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION))
19:22:05 <oklopol> i mean, that's what modularity and asserts are for
19:22:20 <oklopol> and that whole idea is equivalent to the assert statement found in all languages
19:22:25 <AnMaster> ais523, can you prove it? I think it ends up calling a compiler built in
19:22:25 <ais523> oklopol: ehird thought it was impractical/impossible to verify that all provers worked statically
19:22:39 <ais523> AnMaster: you need to know what compiler builtins do to be able to analyse them, ofc
19:22:45 <oklopol> except in a round-about fashion that i don't really see a use for.
19:22:47 <ais523> there is a bottom level of provers as ehird calls them, obviously
19:22:56 <ais523> but they shouldn't be programmer-written functions
19:23:02 <AnMaster> ais523, a few standard C ones?
19:23:08 <ais523> they should be the primitives of the language, the operators, commands, functions and builtins
19:23:15 <ais523> you can either do it on libc
19:23:19 <ais523> or just look in the source of libc
19:23:34 <ais523> for instance, you can run through the source of newlib and determine that assert doesn't always assert
19:23:40 <AnMaster> ais523, gcc uses builtins for lots of things
19:23:43 <ais523> because it raises a SIGABRT, which might be masked
19:23:49 <oklopol> ais523: you could do that when proving something trivial that's hard to prove in the language of the prover
19:23:52 <ais523> AnMaster: this isn't really relevant...
19:23:59 <oklopol> assuming you're using a system where you can help the prover
19:24:01 <ais523> except I don't see this situation coming up
19:24:08 <AnMaster> ais523, also I believe assert() raises sigabort on glibc too
19:24:13 <AnMaster> ais523, since it drops you into gdb
19:24:15 <ais523> AnMaster: it does on all POSIX systems by default
19:24:21 <oklopol> ais523: proofs tend to get three times bigger when you get technical
19:24:25 <ais523> which means it's actually kind-of useless for asserting
19:24:49 <oklopol> i'm assuming there would be automatic proving too?
19:24:52 <ais523> maybe that's why Splint was complaining about my asserts!
19:24:56 <ais523> oklopol: yes, that's the whole point
19:25:02 <AnMaster> ais523, unless you prove SIGABRT isn't masked
19:25:03 <oklopol> yeah, that's why i assumed it
19:25:07 <ais523> AnMaster: ah, yes, ofc
19:25:13 <ais523> Splint isn't that sophisticated
19:25:17 <ais523> a good static analyser would be though
19:25:18 <oklopol> well i agree with ehird, that would be helpful
19:25:28 <AnMaster> ais523, you could see if there is any call to signal() or sigaction() involving sigabrt
19:25:31 <oklopol> although probably for a different reason than him
19:25:37 <AnMaster> for example cfunge only masks sigpipe
19:25:40 <ais523> oklopol: what in particualr are you agreeing with?
19:25:41 <oklopol> i'm thinking it would be useful for the trivial things, not the complicated ones.
19:25:49 <oklopol> ais523: that they would be useful
19:26:05 <oklopol> that you could tell the prover about a high-level idea
19:26:05 <ais523> oklopol: what sort of trivial things are you thinking of which couldn't just be static-analysed like the rest of the code?
19:26:09 <AnMaster> ais523, what would you do if the program used alarm() then everything is suddenly a timing issue
19:26:23 <ais523> AnMaster: bail out if you couldn't prove for certain that it worked
19:26:39 <AnMaster> ais523, well cfunge uses alarm() in fuzz testing builds
19:26:41 <oklopol> ais523: probably something that's intuitively clear, but the prover just happens not to get right, and you don't feel like explaining it to it
19:26:45 <ais523> I mean, you could write a program where on a failed assert it searched for a counterexample to the Riemann Hypothesis, then kept on going
19:26:48 <AnMaster> ais523, to run for a limited time
19:26:56 <ais523> oklopol: I'd call that a bug in the linter
19:27:17 <ais523> that's the sort of example that the linter couldn't prove correct
19:27:25 <ais523> but people don't do that in practice, and IMO shouldn't use it in maintainable code
19:27:31 <AnMaster> ais523, also you do need to trust the compiler to not have bugs in code generation
19:27:49 <ais523> the idea is to avoid bugs in the original source code
19:28:01 <ais523> bugs in the linter or in the compiler can still cause buggy output, of course
19:28:01 <AnMaster> ais523, and you couldn't just run it on the compiler to see if it found issues
19:28:04 <oklopol> ais523: i'm not saying there's any use with a good prover
19:28:14 <oklopol> i just don't know how good provers are.
19:28:17 <AnMaster> 1) You could have a buggy build of the linter
19:28:28 <AnMaster> 2) you could have logic bugs causing such issues in the compiler
19:28:38 <ais523> oklopol: not very good atm, but the whole idea was a project to build a good one
19:28:58 <ais523> and we got sidetracked over the issue of where the primitives should be
19:29:10 <AnMaster> ais523, well you got any idea how?
19:29:10 <oklopol> i mean some intuitively clear graph algorithms, even something as simple as dijkstra, aren't trivial to prove
19:29:25 <oklopol> well dijkstra is trivial to prove for a human, but an actual proof is pretty long
19:29:48 <AnMaster> oklopol, that things are harmful?
19:29:53 <ais523> oklopol: proving that it works, you mean?
19:29:54 <AnMaster> what has that got to do with it
19:30:11 <ais523> my vision is that you'd include a proof that it always returns the best answer
19:30:16 <oklopol> you might want to, even if your prover can't prove that part, to be sure about the parts it can prove
19:30:17 <ais523> a machine-readable one, in C
19:30:31 <ais523> and yes, a proves_unsafe pragma would be helpful during development
19:30:43 <ais523> but if I'm using such a superlinter as this, I wouldn't want any in a production build
19:30:48 <oklopol> ais523: yes, that's better, i'm just saying you might want to be able to skip some of the proof, for instance to be able to try it out
19:30:52 <ais523> (or, you could just do expected-error instead)
19:30:54 <AnMaster> ais523, also there will be programs where it would be useful to prove parts of the code even if you can never prove it all
19:31:11 <oklopol> assuming you couldn't compile a program that hasn't been proven to be correct or something
19:31:18 <AnMaster> ais523, for example you can't prove X ever since it depends hugely on agp card bugs
19:31:49 -!- oerjan has quit ("Bus").
19:31:50 <oklopol> but yes, of course, in the end, the proof should be given to the prover as steps in whatever system it uses for deduction itsel
19:32:25 <AnMaster> ais523, if you can write this linter it would rock
19:32:28 <oklopol> and i think ehird fails to realize most of the "intuitively clear" things you'd end up telling the prover like by trust, are exactly things that are trivial to prove in its own language
19:32:33 <AnMaster> but I certainly know I couldn't help you
19:32:37 <ais523> oklopol: that was my main point
19:32:46 <ais523> anyway, it seems assert crashes the program even if SIGABRT is masked
19:32:55 <ais523> according to man assert, it unmasks SIGABRT first
19:33:23 <AnMaster> If the SIGABRT signal is ignored, or caught by a handler that returns, the abort() function will still terminate the process. It does
19:33:24 <AnMaster> this by restoring the default disposition for SIGABRT and then raising the signal for a second time.
19:33:24 <ais523> you can longjmp out of a signal handler
19:33:50 <ais523> if you don't longjmp out, though, it ensures that the code nevertheless terminates
19:34:04 <ais523> now, this is the sort of thing it would be great to have an automatic verifier for
19:34:12 <ais523> assert isn't nearly as simple as I thought it was
19:34:26 <AnMaster> ais523, one issue, consider the infiniloop way of exiting you mentioned
19:34:26 <oklopol> ais523: well, i agreed with you all along, but i still also agree with ehird's idea's possible usefulness, although for just getting the prover to skip some unproven part for now.
19:34:30 <ais523> and really I wasn't confident that assert(0) always exits, but I am now
19:34:33 <AnMaster> ais523, what if there are other threads
19:34:43 <AnMaster> and they modify the first threads program memory
19:34:45 <ais523> AnMaster: they'd need pointers into the program to change stuff in it
19:34:54 <AnMaster> ais523, sure, what about proving a jit compiler!
19:35:03 <ais523> heh, that would be fun
19:35:13 <ais523> we can certainly prove that it jumps into memory it's just modified
19:35:18 <ais523> but not really what's happened from there
19:35:27 <ais523> but at least we'd know there was something we couldn't handle
19:35:30 <AnMaster> ais523, and if it is multi-threaded
19:35:36 <ais523> multithreading isn't so bad
19:35:45 <ais523> as you can analyse which threads can access what in which other threads
19:35:56 <ais523> but still the variable execution times between the threads is still a pain
19:35:58 <AnMaster> ais523, if you believe the valgrind docs: they are
19:36:11 <AnMaster> apart from condition variables
19:36:17 <ais523> that's an issue for the wider linter though, not for the recent me/ehird argument
19:36:34 <ais523> AnMaster: by the way, you have a tendency of focusing on points on the wrong level during these debates
19:36:51 <oklopol> yes, i actually was about to point that out too
19:36:55 <ais523> it gets annoying sometimes when you're focusing on a corner case that isn't part of the main debate, for instance
19:37:04 <ais523> and not even the program we're originally planning to write
19:37:06 -!- ehird has joined.
19:37:20 <oklopol> but i'm assuming that's at least partly on purpose
19:37:41 <ehird> 11:32:25 <AnMaster> ais523, if you can write this linter it would rock <-- I see i'm getting all the credit for, you know, actually formulating this thing.
19:37:50 <ais523> ehird: you weren't in-channel
19:37:56 <ais523> and we both had similar ideas for it independently
19:38:05 <ehird> interesting, I cease to exist when I leave.
19:38:06 -!- ehird has left (?).
19:38:27 <AnMaster> oklopol, wrong, you should have said "who was who?"
19:38:38 * oklopol is pretty sure ehird is getting younger as time goes by :D
19:39:19 <oklopol> AnMaster: a guy i once knew
19:39:50 <ais523> AnMaster: you can drop the joke now
19:40:02 <oklopol> ais523: stop being an ehird :D
19:41:32 <AnMaster> ais523, the prover the way you plan it sounds cool, but I think there needs to be some kind of override mechanism when the program can't prove something but a human can verify easily
19:41:43 <AnMaster> I don't know what it would look like
19:41:50 <ais523> expected warnings, I think, just like in every other linter ever
19:41:59 <ais523> you tell it "don't complain about this, I know you think it's wrong"
19:42:28 <AnMaster> ais523, unless this means it doesn't know if other memory is invalid any more
19:42:56 <ais523> AnMaster: well, my idea is pretty similar to ehird's, in that you can tell it "this function is meant to prove that strlen(x) >= 5", for instance
19:43:04 <AnMaster> ais523, just consider for example that memory pool system I wrote, I was unable to express with valgrind annotations if the memory was valid or not
19:43:06 <ais523> if it can't prove that, that's a warning
19:43:10 <ais523> but it can assume it elsewhere
19:43:20 <ais523> and I didn't even know there was such a thing as valgrind annotations
19:43:23 <AnMaster> ais523, due to it being used internally in the allocator as a linked list of blocks after freeing
19:43:45 <AnMaster> so memory was legally accessed as something else after the allocator_free() call
19:43:53 <oklopol> ais523: so like an assert?
19:43:56 <AnMaster> basically all memory blocks were like this:
19:43:57 <ais523> AnMaster: ah, you weren't using malloc/free?
19:44:01 <ais523> oklopol: yes, pretty much
19:44:09 <ais523> in fact, just adding assert statements would be a good solution to that
19:44:16 <oklopol> i mean isn't it exactly that, except that you don't specify what happens when the expression is false
19:44:28 <AnMaster> ais523, union memblock { union memblock *nextfree; struct datatype; }
19:44:42 <oklopol> because you except it to be true even more than with an assert, in a way.
19:44:44 <AnMaster> ais523, it allocated from a pool and returned to a free list
19:44:44 <ais523> in actual code, that is a good place to put an actual assert statement though
19:44:52 <AnMaster> ais523, single linked free list
19:45:01 <ais523> I generally don't put in assert statements if I ever expect them to be triggered
19:45:08 <ais523> if an assertion is false, it's a bug in the program
19:45:12 <ais523> and you can NDEBUG them out anyway
19:45:18 <AnMaster> ais523, thus the memory is to be considered "inaccessible" outside the allocator functions but "accessible" inside it
19:45:47 <ais523> oklopol: #define NDEBUG turns off all the assert statements in the program
19:45:57 <ais523> and other assert-like code is normally conditioned on NDEBUG by hand
19:46:05 <oklopol> i thought you meant you can autoprove them out :D
19:46:12 -!- ehird has joined.
19:46:24 <ais523> oklopol: that would be good, warning if you can't prove an assert statement always has a true assertion
19:46:39 <AnMaster> ais523, so could you handle that memory accessibility definition? even valgrind can't
19:46:43 <ais523> that's a different kind of proving, it's "proving this program won't abort out with an assertion" rather than "proving this program won't work"
19:46:47 <ehird> 11:42:56 <ais523> AnMaster: well, my idea is pretty similar to ehird's, in that you can tell it "this function is meant to prove that strlen(x) >= 5", for instance
19:46:51 <ehird> you win the completely missing the point award
19:46:55 <ehird> void atleast5(char *s) { assert(strlen(s) >= 5); }
19:47:01 <ehird> but assert itself has to be tagged proves
19:47:03 <ehird> because it's a primitive
19:47:13 <ais523> ehird: my argument is you're putting the primitives on the wrong level
19:47:23 <ais523> for instance, does assert always exit?
19:47:23 <ehird> yes, you're wrong though.
19:47:30 <ehird> that is irrelevant.
19:47:34 <ais523> no, it definitely isn't
19:47:44 -!- ehird has left (?).
19:47:45 <ais523> I don't know all the details of the system library
19:47:46 <ais523> I had to look it up just now
19:48:12 <AnMaster> to me it sounds highly relevant
19:48:17 <ais523> because ehird wants the programmer to arbitrarily declare it irrelevant
19:48:30 <ais523> I'm arguing that they shouldn't have to, and that way is likely to lead to buggier code
19:48:37 <ais523> as it's definitely relevant in the bigger scheme of things
19:50:03 -!- ehird has joined.
19:50:18 <oklopol> ais523: hmm. i think you'd need two different asserts, ones that specify what you want it to do, ones that specify what you know it does
19:50:48 <ehird> readers are advised to not trust any results of ais523's mind-reading ability, as it has never been shown to be correct.
19:50:49 -!- ehird has left (?).
19:51:02 <ais523> hmm... joining, making a few comments than parting before anyone can reply
19:51:08 <ais523> wasn't someone doing that yesterday?
19:51:14 <oklopol> well you can reply, he's just making a statement
19:51:28 <ais523> and also reading the logs, clearly
19:51:31 <oklopol> but yeah, i get your reference
19:51:34 <ais523> which rather misses the point of parting the channel
19:51:54 <ais523> as for your two asserts thing, I'm not quite sure I know what you mean
19:52:13 <oklopol> ones that say "this is true, assume it in your proofs"
19:52:21 <oklopol> and ones that say "this must be true"
19:52:29 <ais523> well, assert() is the second sort
19:52:40 <oklopol> i mean, you have to have some way to tell the program what you want it to do, obviously
19:52:42 <ais523> because it bails out if the statement is in fact false, thus forcing it true if the program continues
19:53:07 <ais523> the first sort is what ehird wanted all primitives to be
19:53:15 <ais523> and the question is: what to do if it is in fact false?
19:53:20 -!- decipher has quit (kornbluth.freenode.net irc.freenode.net).
19:53:20 -!- rodgort has quit (kornbluth.freenode.net irc.freenode.net).
19:53:21 -!- psygnisfive has quit (kornbluth.freenode.net irc.freenode.net).
19:53:23 -!- Dewi has quit (kornbluth.freenode.net irc.freenode.net).
19:53:23 -!- flexo has quit (kornbluth.freenode.net irc.freenode.net).
19:53:25 -!- Badger has quit (kornbluth.freenode.net irc.freenode.net).
19:53:25 -!- AnMaster has quit (kornbluth.freenode.net irc.freenode.net).
19:53:26 -!- Slereah2 has quit (kornbluth.freenode.net irc.freenode.net).
19:53:26 -!- Vendan has quit (kornbluth.freenode.net irc.freenode.net).
19:53:26 -!- Asztal has quit (kornbluth.freenode.net irc.freenode.net).
19:53:26 -!- sebbu2 has quit (kornbluth.freenode.net irc.freenode.net).
19:53:28 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
19:53:30 -!- lament has quit (kornbluth.freenode.net irc.freenode.net).
19:53:31 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
19:53:31 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net).
19:53:33 <ais523> if that's a programmer bug if it's false, you may as well use the second sort of assert
19:53:33 <oklopol> but the first one would be for skipping proofs of trivialities you don't feel like translating into the language of the prover, the thing you call ehird's idea, even though i guess he says it's not
19:53:39 <ais523> as otherwise you're just going to have a mysterious crash later on
19:54:13 * ais523 points and laughs at christel
19:54:33 <ais523> although it's not all that bad a netsplit
19:54:49 <oklopol> ais523: well this is what you and ehird were arguing about (i think), i just just now realized they are both asserts, in a way, just different
19:54:50 <ais523> oklopol: well, the whole point is that the prover language == the language you're writing in
19:55:06 -!- Slereah2 has joined.
19:55:06 -!- Vendan has joined.
19:55:06 -!- psygnisfive has joined.
19:55:06 -!- decipher has joined.
19:55:06 -!- rodgort has joined.
19:55:06 -!- GregorR has joined.
19:55:06 -!- Dewi has joined.
19:55:06 -!- flexo has joined.
19:55:06 -!- Badger has joined.
19:55:06 -!- AnMaster has joined.
19:55:06 -!- Asztal has joined.
19:55:06 -!- sebbu2 has joined.
19:55:06 -!- SimonRC has joined.
19:55:06 -!- lament has joined.
19:55:06 -!- mtve has joined.
19:55:09 <ais523> thus there's no need to translate, unless you have a triviality that can't easily be asserted in C
19:55:10 <oklopol> lol that changes everything
19:55:28 <oklopol> then of course just the second kind is needed
19:55:33 <oklopol> and ehird's idea has nothing to do with it
19:56:10 <oklopol> also the netsplit report came after everyone had already rejoined
19:57:55 <oklopol> actually of course it doesn't make ehird's idea irrelevant, i somewhat misunderstood
19:58:10 <ais523> no, it doesn't; I just think ehird's putting the primitives at the wrong level
19:58:17 <ais523> it's a minor argument really which blew up somehow
19:58:32 <oklopol> well if he thinks all proofs should have primitives with the programmer asserting something
19:58:46 <oklopol> then he if obviously wrong
19:59:21 <ais523> I agree with the idea of only using a few well-checked primitives; but I think they should be the language's primitives themselves, not some layer the programmer puts on top of things
19:59:43 <ais523> AnMaster: what do you think of bfrle.c, by the way? It's a BF interp designed specifically to debug gcc-bf
19:59:46 <oklopol> ais523: well those are really two different ideas
20:00:15 <ais523> they are different ideas, but I think they should be the same operators/commands/functions/whatever to reduce the chance of error
20:00:20 <ais523> AnMaster: http://rafb.net/p/sRPjBK56.html
20:00:32 <ais523> same one as before, just a different context for linking
20:00:44 <ais523> it's not quite ESO-standard brainfuck
20:00:56 <ais523> partly because ESO still hasn't started, and partly because it gives special meanings to % and *
20:01:09 <ais523> * because run-length-encoded BF is so much shorter
20:01:15 <ais523> +*6 is equivalent to ++++++
20:01:26 <ais523> and % followed by a number means "assert the pointer is here"
20:01:36 <ais523> so %80 means that the pointer should be on the 80th cell
20:01:43 <ais523> not sure offhand if it's 0-based or 1-based
20:01:52 <ais523> oklopol: to prevent mysterious crashes later
20:02:06 <ais523> if the pointer isn't where it thinks it is, it's basically UB
20:02:09 <ais523> which makes it hard to debug
20:02:39 <ais523> the pointer not being where it thinks it is means there's a bug somewhere, at that point it dumps tape so I can debug what caused it
20:03:01 <AnMaster> ais523, what about proving for programs like cfunge, what could you prove about it?
20:03:09 <ais523> AnMaster: you could prove the state of globals
20:03:16 <ais523> and that you neve read past the null terminator of a string
20:03:24 <ais523> and that you didn't overflow any buffers
20:03:36 <AnMaster> ais523, the former totally depends on what the befunge program does
20:03:42 <ais523> AnMaster: not all globals
20:03:50 <AnMaster> ais523, true, a few are set at load time
20:03:56 <ais523> but I mean, you could prove that whenever you tried to read the fungespace it had been allocated
20:04:01 <AnMaster> ais523, however I had them overwritten once
20:04:22 <AnMaster> a static array overflowed a lot and wrote in another static variable
20:04:23 <ais523> well, ideally a linter would detect that your program could potentially overwrite the wrong global
20:04:38 <ais523> or something as simple as accessing element -1 of an array
20:04:44 <AnMaster> only with mudflap did I detect it
20:04:47 <ais523> hmm... this might be a good time to use some of the stranger features of C pointers
20:05:01 <AnMaster> ais523, also it was a hard to prove case
20:05:02 <ais523> for instance, if a is an array then even calculating a-1 is UB
20:05:13 <AnMaster> ais523, and it was after, not before
20:05:18 <ais523> AnMaster: well, I'm not really going for practicality here, but for idealism
20:05:44 <AnMaster> they are sure to mess up proving
20:05:45 <ais523> AnMaster: that's much the same as malloc
20:05:59 <AnMaster> ais523, I *do* use flexible array members
20:06:01 <ais523> VLAs are slightly easier to lint than the equivalent malloc/free pair
20:06:07 <ais523> because you know they aren't there when they go out of scope
20:06:17 <AnMaster> as in struct with a variable size last element
20:06:21 <oklopol> ais523: okay yeah i see how it's useful
20:06:28 <AnMaster> ais523, and which is resized in chunks
20:06:35 <oklopol> i haven't been thinking much today
20:06:46 <AnMaster> and only shrunk if the difference is too large
20:06:51 <ais523> AnMaster: well, it could prove that the allocated size was always equal to the size the struct said it was
20:07:04 <ais523> anyway, I have to go home, it's been an interesting conversation but I have to have dinner sometime
20:07:06 <AnMaster> ais523, it isn't because of the flexible struct member...
20:07:18 <ais523> AnMaster: I was giving an example of what a linter could prove
20:07:35 <AnMaster> ais523, so how would you be able to track what flexible struct member indexes are valid
20:07:42 -!- ais523 has quit (Client Quit).
20:07:59 <oklopol> dang. i was just about to need him.
20:08:17 <AnMaster> also the reason I use flexible struct members instead of a linked list is cache locality (ehird will love that)
20:08:37 <oklopol> what are flexible struct members?
20:08:53 -!- Corun has joined.
20:08:59 <AnMaster> oklopol, you know what struct mystruct { int foo; int bar }; is?
20:09:14 <AnMaster> oklopol, struct mystruct { int foo; int bar; int someints[] };
20:09:28 <AnMaster> oklopol, it allows the last member to be variable size
20:09:30 <oklopol> you specify at allocation?
20:09:38 <oklopol> well yeah, makes sense they'd allow that
20:09:44 <AnMaster> oklopol, malloc(sizeof(mystruct) + whatever)
20:10:07 <AnMaster> and then you can access it as mystructvariable->someints[4]
20:10:20 <AnMaster> oklopol, I don't know, don't think it is legal
20:10:24 <oklopol> AnMaster: well you could just do someints[0] and have that same behavior.
20:10:35 <AnMaster> oklopol, err 0 isn't valid there
20:11:00 <oklopol> i thought they allowed it at some point, but may have been c++, or just my imag
20:11:03 <AnMaster> oklopol, some compilers might complain that is out of valid range
20:11:42 <oklopol> they *should* allow that for locals
20:12:16 <oklopol> i mean how hard is it to compute how much to move the stack pointer at runtime
20:12:36 <oklopol> AnMaster: that you could do mystruct x WITHLASTSIZE 100;
20:12:38 <AnMaster> 16 As a special case, the last element of a structure with more than one named member may
20:12:38 <AnMaster> have an incomplete array type; this is called a flexible array member. In most situations,
20:12:38 <AnMaster> the flexible array member is ignored. In particular, the size of the structure is as if the
20:12:38 <AnMaster> flexible array member were omitted except that it may have more trailing padding than the omission would imply.
20:12:47 <oklopol> WITHLASTSIZE being a keyword
20:13:05 <AnMaster> oklopol, GCC extension: alloca
20:13:18 <AnMaster> oklopol, also there is variable size array
20:13:23 <AnMaster> which is variable sized array on stack
20:13:41 -!- MizardX has joined.
20:13:51 <AnMaster> int foo(int x) { int array[x]; }
20:14:13 <AnMaster> oklopol, also I prefer to avoid that, larger risk for stack overflow
20:14:22 <AnMaster> and most automated tools can't protect that
20:14:29 <AnMaster> like stack smashing protection
20:14:37 <oklopol> well us real programmers don't use tools : D
20:15:03 <AnMaster> oklopol, stack smash protection means that the compiler inserts special values on the stack and verify them on return
20:17:02 <AnMaster> EXAMPLE After the declaration:
20:17:02 <AnMaster> struct s { int n; double d[]; };
20:17:02 <AnMaster> the structure struct s has a flexible array member d. A typical way to use this is:
20:17:02 <AnMaster> struct s *p = malloc(sizeof (struct s) + sizeof (double [m]));
20:17:03 <AnMaster> and assuming that the call to malloc succeeds, the object pointed to by p behaves, for most purposes, as if
20:17:08 <AnMaster> struct { int n; double d[m]; } *p;
20:17:10 <AnMaster> (there are circumstances in which this equivalence is broken; in particular, the offsets of member d might
20:17:32 <AnMaster> struct s t2 = { 1, { 4.2 }}; // invalid
20:17:32 <AnMaster> t1.d[0] = 4.2; // might be undefined behavior
20:18:11 <AnMaster> The initialization of t2 is invalid (and violates a constraint) because struct s is treated as if it did not
20:18:11 <AnMaster> contain member d. The assignment to t1.d[0] is probably undefined behavior, but it is possible that
20:18:11 <AnMaster> sizeof (struct s) >= offsetof(struct s, d) + sizeof (double)
20:18:11 <AnMaster> in which case the assignment would be legitimate. Nevertheless, it cannot appear in strictly conforming
20:18:25 <AnMaster> oklopol, does that answer the issue of such structs on stack?
20:22:00 -!- moozilla has joined.
20:24:31 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
20:24:33 -!- moozilla has joined.
20:27:55 <oklopol> AnMaster: well all that was new was you could declare them as locals, and the array was by default empty.
20:28:06 <oklopol> which i don't consider that relevant a detail
20:31:49 -!- Corun has quit ("This computer has gone to sleep").
20:39:41 -!- metazilla has joined.
20:39:43 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
20:39:51 -!- metazilla has changed nick to moozilla.
20:42:00 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
20:42:03 -!- moozilla has joined.
20:46:35 -!- Judofyr has quit (Read error: 54 (Connection reset by peer)).
20:59:33 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
21:06:38 -!- CakeProphet has joined.
21:21:47 -!- Corun has joined.
21:21:58 -!- ehird has joined.
22:22:27 -!- Sgeo has joined.
22:25:58 -!- seveninchbread has joined.
22:26:03 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
22:26:06 -!- seveninchbread has changed nick to CakeProphet.
22:32:29 -!- oerjan has joined.
22:36:28 -!- GreaseMonkey has joined.
22:41:19 -!- Sgeo has quit (Remote closed the connection).
23:14:17 -!- Corun has quit ("This computer has gone to sleep").
23:23:45 -!- psygnisfive has quit ("Leaving...").
00:17:41 -!- Sgeo has joined.
00:26:42 <oklopol> oh i love youtube commenters, somehow ended up watching videos of bush fucking up in his speeches, i love how the comments are rated based on amount of hate for bush
00:26:44 <oklopol> the conspiracy is that bush is destroying our country that is our lives dumb ass thats cuz you are too ignorant to realize bush had everything to do with 911 theres too much proof and dumb asses like you are why he is in office again
00:26:52 <oklopol> this has a few thousands ups
00:27:02 <oklopol> honestly, who the hell cares? he was telling a story for dramatic effect. the point of the story is that he found out a plane hit the tower and thought it was an accident at first.
00:27:07 <oklopol> this has a few hundred downs
00:28:02 <oklopol> i should probably try sleeping or something
00:28:16 <oklopol> or read sicp and rwh *at the same time*
00:30:16 <ehird> oklopol: oklopolokok
00:30:25 <ehird> 00:25 <holmak> .msg NickServ identify inaktive/00
00:30:27 <ehird> 00:26 holmak has left ()
00:33:51 <ehird> oklopol: oklopol: oklopol: oklopol: oklopol: oklopol: oklopol: oklopol: oklopol: oklopol:
00:37:41 <oklopol> ooooooooooooooooooooooooooo
00:38:32 <oklopol> oerjan: please use real characters.
00:39:08 * oerjan did not expect that from a finn
00:39:58 <oklopol> IF I HAD A GOOD COUNTER-RESPONSE TO WHATEVER YOU JUST SAID I'D PROBABLY SAY IT RIGHT ABOUT NOW
00:50:04 <oerjan> ehird, that is. no idea about the trout.
01:34:52 -!- Sgeo has quit (Remote closed the connection).
01:42:28 -!- mbishop has joined.
01:42:54 <mbishop> Does anyone know if Ian Osgood comes in this channel?
01:43:55 -!- Sgeo has joined.
01:56:51 <oerjan> hm hasn't been on the wiki for nearly a year
01:59:25 -!- Sgeo has quit (Remote closed the connection).
02:08:46 -!- psygnisfive has joined.
02:23:57 <oklopol> so i thought you might've somehow thought sgeo's joining aws mbishop's parting. in which case i could've punned you
02:24:29 <oerjan> You cannot pun if you cannot spell, oklopol.
02:24:33 <oklopol> of course, not really punned, more like joked, but it doesn't fit as well.
02:24:58 <oklopol> should probably go to sleep
02:25:08 <oklopol> i really went to sleep when i told i was gonna
02:25:15 <oerjan> sleep is good, if you can afford it
02:25:26 <oklopol> but then i realized i'd been somewhat depressed over the last few days
02:25:41 <oklopol> and, well, couldn't really not code my project after that.
02:25:56 <oklopol> but it's finished now, because i'm awesome
02:26:27 <oklopol> there aren't enough o's in the world for the elongated "so" to represent it.
02:27:26 <oklopol> being tired is hard to noob-filter out, because i'm usually too tired to do that, for some reason
02:27:56 <oklopol> well. enough random flumber-spatter, sleepy time, really
02:28:08 <oklopol> i mean polarization-exists really
02:28:35 <oerjan> we did experiments in high school, it existed then at least.
02:44:15 -!- jix has quit ("Computer has gone to sleep").
02:52:15 <oklopol> i wasn't born yet when you went to high school, therefore nothing can have existed.
02:52:40 <oklopol> wait. i was like 10 when you went to highschool.
02:53:45 <oerjan> off by 10 error, i presume
02:54:33 <oerjan> in any case, that was 20 years ago
03:36:10 -!- moozilla has joined.
04:10:50 -!- moozilla has quit (Connection timed out).
04:14:11 <kerlo> I was like 10 when I went to high school.
04:14:14 <kerlo> Or something like that, anyway.
05:32:08 -!- oerjan has quit ("Good nigth").
06:09:25 <Slereah2> Why does the wiki has that weird 24 years ban?
06:23:57 <bsmntbombdood> so i know there's a way to calculate floor(log_2(x)) of an int
06:37:00 -!- seveninchbread has joined.
06:37:23 -!- CakeProphet has quit (Nick collision from services.).
06:37:43 -!- seveninchbread has changed nick to CakeProphet.
06:46:35 -!- mbishop has left (?).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:42:50 <oklopol> oerjan: then i guess i was just about to be born when you did that experiment
08:43:09 <oklopol> thus may well be possible polarization was actually created in that experiment.
08:45:29 <oklopol> bsmntbombdood: there is, if you know the amount of bits :P
08:45:57 <oklopol> even logtime one, can't see a constant time solution
08:48:57 <fizzie> What is unfun is that even though there's a ffs(x) function in POSIX to find the index of the least-significant set bit -- which GCC has a built-in-usually-compiled-to-the-single-native-opcode-if-there-is-one for -- the corresponding "find the index of the most-significant set bit" is missing.
08:52:37 <fizzie> Probably from the words "Find First Set" instead of the more common FFS meaning.
08:53:02 <oklopol> well it's not like anyone gives a shit about stuff like that, i mean, you know, you could just make a bitarray object and loop.
08:54:25 <fizzie> It's still unsymmetric to only have a "ffs" without a "fls".
08:55:03 <fizzie> http://www.freebsd.org/cgi/query-pr.cgi?pr=61405 has a rather magical ffs implementation, also.
08:55:05 <oklopol> but there's no rot in most isas, so it's nontrivial to get one out of the other
08:55:35 <oklopol> thus it might be possible, maybe, possibly, for ffs to be more common in isas, and thus existant in that standardum
08:56:54 <oklopol> hmm. i don't get that, can't you get constant time anyway if you allow an array?
08:58:19 <oklopol> that's exactly the way to do that
08:59:57 <oklopol> i mean i don't really get that exact multiplication, but seems like it'd look like that multiplying by *something* might do the trick
09:00:08 <oklopol> should probably read that, fairly magical, yes
09:00:30 <oklopol> not read, more like try to run it on paper
09:04:09 <fizzie> It does the "x & -x" to convert xxxx1000 -> 00001000, I guess. Then the multiplication will mean bit-shifting that suitably magical constant.
09:04:57 <fizzie> It's disappointingly simple, actually, but at least it has enough very magick-looking numbers.
09:08:11 -!- GreaseMonkey has quit ("You only need one wheel. Bikers are just greedy.").
09:08:44 <oklopol> that multiplication essentially just shifts the magical number right?
09:09:50 <oklopol> but i just don't get it, it's shifted left, then right, i don't really see where it converts into a small enough number.
09:10:28 <fizzie> Since it's a 32-bit number, the >>27 makes it small enough, by taking the first five bits.
09:10:48 <oklopol> yeah seems like it would, was probably just artifact of notation
09:11:28 <oklopol> i missed the whole anding part first, so i was more worried about trying out the multiplication
09:11:33 <oklopol> assumed it was some serious magic
09:12:12 <oklopol> but it's a slim chance really any 32 bit number has the required property
09:12:44 <oklopol> (to do that kinda conversion for any number directly, given a suitable amount of shiftings and andings afterwards)
09:13:15 <oklopol> x & -x is pretty clever, although negation is not really a binary operation
09:14:01 <oklopol> the magic number is just a number where all 5 bitsub sequences are different
09:14:14 <oklopol> that should've been kinda obvious
09:14:26 <fizzie> Yes. 0x0450FBAF seems to also be used elsewhere for that purpose.
09:14:50 <oklopol> for five, i don't think it does it
09:15:16 <oklopol> for size four, doesn't do it either, for an even more trivial reason
09:15:59 <oklopol> for six, i can't see a problem instantly
09:16:52 <fizzie> Yes, I think it was checking the six top bits; it was for checking which interrupt needs to be processed in an interrupt handler.
09:18:26 <fizzie> Well, those things tend to have a register or something which has bits set for all the pending interrupts.
09:18:49 <fizzie> So the "find first set" thing can be used to select the lowest-numbered one for processing.
09:19:22 <oklopol> you say interrupts, i read "this thing called X you don't need to translate to an object"
09:19:41 <oklopol> yeah, seems like it would do that
09:33:55 <fizzie> Eh, it took me something like ten minutes to remember the name ("de Bruijn sequence") for that sort of thing. (Although I guess that's not exactly it, since it's not doing the cyclic thing.)
09:36:16 <oklopol> but names are nice, let's try to remember that one
09:38:28 <oklopol> i don't get all the human names for concepts, why not like "carnivorous sequence" or something.
09:38:58 <fizzie> It wasn't long ago a blog post about this (in the context of those four-digit decimal-number door-codes, and getting in with less than 4*10^4 keypresses since they only care about the four last ones) was going around them IRCs.
09:39:21 <oklopol> well not yes, i didn't know that
09:39:31 <oklopol> but yeah i've invented the sequence in that context
09:40:37 <oklopol> usually, in turku, you can just get by knowing the firefighters' code
09:42:08 <fizzie> They've got non-human names for many number classes, though; there are at least friendly numbers, sociable numbers, weird numbers and frugal numbers.
09:42:30 <oklopol> i just know frendlies, and i don't even know what they are
09:42:49 <oklopol> but yes, also real numbers................................
09:43:12 <oklopol> i should start getting to the lib before it closes prolly
09:43:47 <fizzie> Oh, and apocalyptic numbers.
09:44:13 <fizzie> ("A number of the form 2^n that contains the digits 666", according to mathworld.)
09:44:18 <fizzie> (That's a bit boring.)
09:44:40 <oklopol> well that's clearly just a stupid joke
09:45:18 <oklopol> unless they have an uneven distribution, in which case it's probably a message from satan himself
09:46:57 <oklopol> well, not sure that changes anything.
09:49:30 <fizzie> A happy number is one where the iterated sum-of-squares-of-digits ("123 -> 1+4+9 = 14 -> 1+16 = 17 -> 1+49 = 50 -> 25 -> 29 -> 85 -> 89 -> 145 -> 42 -> 20 -> 4 -> 16 -> 37 -> 58 -> 89 -> 145"; now it's in a cycle) is 1 at some point.
09:49:48 <fizzie> I'm really not sure what makes it especially happy.
09:50:11 <oklopol> ah sum of squares of digits right
09:51:11 <fizzie> "An odious number is a nonnegative number that has an odd number of 1s in its binary expansion. -- Numbers that are not odious are said to be evil numbers."
09:51:27 <fizzie> Really, it's like they've been picking adjectives from a dictionary or something.
09:51:56 <fizzie> At least "odious" sort-of sounds like "odd", but the evil part is even less justified.
09:52:51 <fizzie> Oh, right, "even". Duh.
09:53:42 <fizzie> It sounds a bit harsh to say that any nonnegative number is either odious ("unequivocally detestable") or just plain evil.
09:57:11 <oklopol> well that's at least a somewhat useful class
09:58:42 <fizzie> But think of the numbers!
09:59:28 <oklopol> well integers have always been such snobs
10:00:01 <fizzie> Yes, all holier-than-thou "god made us, unlike you other *invented* numbers" pomp.
10:00:03 <oklopol> yeah they have a few more interesting properties than general complexes, seriously, who gives a shit?
10:02:07 <oklopol> i mean a real, you can sqrt, and it'll work fine, try to do that to an integer, and noooo, "nah i don't feel like it, try to guy next to me"
10:08:12 -!- Corun has joined.
10:21:38 <fizzie> Nope. I have a habit of extended hiatuses. Hopefully I'll get back to it some day. Probably a bit busy with work and such the next couple of weeks, though.
10:55:23 -!- Corun has quit ("This computer has gone to sleep").
12:02:14 -!- Corun has joined.
12:04:01 -!- bsmntbombdood has quit (Read error: 145 (Connection timed out)).
12:14:43 -!- bsmntbombdood has joined.
12:42:36 -!- AnMaster has quit (Connection reset by peer).
13:58:25 -!- comex has quit (Read error: 131 (Connection reset by peer)).
13:58:50 -!- comex has joined.
14:00:47 -!- Judofyr has joined.
14:35:39 -!- olsner has joined.
14:51:32 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
14:58:35 -!- KingOfKarlsruhe has joined.
14:58:58 -!- bsmntbombdood has joined.
15:04:30 -!- AnMaster has joined.
15:07:55 <ehird> In which programming.reddit becomes a shithole:"For those of you who don't know: many of the best developers in the world hang out on irc.freenode.net. It's an amazing resource."
15:08:58 <Slereah2> Are we the world's best deeloppers?
15:13:54 <ehird> I'm going to join ##c and ask about C#.
15:23:34 <Slereah2> Yeah, go do a real language loser!
15:34:01 <oklopol> ehird: ask why the characters are the wrong way around
15:34:25 <oklopol> i think i had a dream where i was speaking in finnish in here.
15:35:34 <oklopol> well, the reason i remembered was that just after saying character thing, i had a short moment of panic thinking it was in finnish
15:35:46 <oklopol> because i talked to a finnish guy in english today, not realizing it at first
15:36:00 <ehird> oklopol: make a polyglot sentence
15:37:22 <oklopol> i guess i could've answered "no", which would be sensible in both finnish and english
15:38:56 <ehird> what did that sentence say
15:45:41 -!- jix has joined.
15:57:19 <oklopol> that's seems like a very probable reason
16:10:17 -!- oerjan has joined.
16:52:44 <oklopol> oerjan: DID YOU KNOW "TACO CAT" IS A PAL IN DROME
16:54:31 <oerjan> oklopol: Slereah2 wants equal representation for whitespace
16:55:05 <oklopol> I'M JUST MAKING A STATEMENT.
16:56:28 <oerjan> WELL CAN I BE MAKING A QUESTION?
16:58:00 <oerjan> THEN I'LL MAKE AN EXCLAMATION!
16:58:30 <oklopol> so how come we have so many courses at the uni i can't take them all at once
16:58:52 <Slereah2> Only 24 hours per day, oklopol.
16:59:12 <oerjan> oklopol: it's to give students incentive to invent time machines
16:59:39 <oerjan> it's a big worldwide plot
17:00:47 * oklopol takes some more courses, naturally laughing like a maniac while doing that
17:03:27 <oklopol> and have even less time for courses? funk no
17:05:29 <Slereah2> But once the world is destroyed
17:05:38 <Slereah2> You won't need to know anythinfg
17:05:56 <oerjan> and you'll have all the time in the world!
17:08:27 <oerjan> now that's not a problem, since there'll be nothing to see
17:08:59 <oerjan> except Cthulhu. but don't mind him.
17:09:30 <oerjan> or you'll have no mind left
17:13:03 <oklopol> only noobs have imperfect senses
17:13:22 <oklopol> well okay he's the exception
17:13:29 <oklopol> he's so cool, oh my god he's cool.
17:16:34 <oklopol> heh, got naked, realized to curtains were open, looked out with my mouth open, quickly closed them
17:17:54 <oklopol> well this isn't bottom flooe
17:18:14 -!- Slereah2 has set topic: http://tunes.org/~nef/logs/esoteric/ floomy.
17:18:15 <oklopol> but there are menny houses darr.
17:18:41 <ehird> who wants to write c for me
17:18:53 <oerjan> i think c has already been written.
17:19:11 <ehird> who wants to write c code for me
17:19:25 <oklopol> xDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
17:19:46 <oerjan> don't hurt your jaw oklopol
17:19:57 <ehird> who wants to write a piece of c code for me
17:20:49 <AnMaster> ehird, error: label away not found
17:20:53 <oerjan> int main() {printf("Hello, world!\n");}
17:21:10 <AnMaster> oerjan, forgot to include stdio.h
17:21:29 <AnMaster> int main(void) {printf("Hello, world!\n"); return 0; }
17:21:38 <ehird> In which the RnRS editor is a successful troll: http://groups.google.com/group/comp.lang.scheme/browse_thread/thread/06f0588e1e4c999d/89120d79e5650d94?#89120d79e5650d94
17:22:13 <ehird> LOL, then erik naggum replies without realising who it is
17:22:16 <ehird> and insults his mental capacity
17:23:50 <ehird> RnRS = scheme standards
17:23:59 <ehird> the post linked is a joke putdown of scheme
17:24:05 <ehird> and everyone replies seriously
17:24:46 <ehird> 1995 trolls were so much better.
17:24:52 <ehird> USE REAL LANGUAGE FAGGOTS BRAINFUCK IS NOT WHAT EVERYONE WANT
17:27:25 <AnMaster> sadly don't have time to read it all atm
17:27:32 <oerjan> where can i find some real language faggots?
17:35:22 * ehird considers reinventing the wheel then doesn't because that's stupid
17:37:10 <oerjan> reinvent the time machine instead. maybe _this_ time it won't be accidentally uninvented.
17:42:32 <ehird> Straw poll: Should I reinvent the wheel?
17:44:21 <Slereah2> You need to destroy the wheel, first.
17:45:11 <oerjan> YES and quickly WHY did you destroy the wheel now i'll have to WALK to town HURRY UP
17:45:24 <ehird> oerjan: here, have a wheel temporarily.
17:45:27 <ehird> until I make my awesome one.
17:45:57 <oerjan> givse? is that related to goatse? no thanks.
17:51:15 * ehird calls wheel-reinventing code "wheel"
17:51:25 <ehird> ... this means I have to write c code ;_;
17:52:50 <AnMaster> -r-xr-xr-x 1 root wheel 106348 Dec 25 11:54 /bin/sh
17:53:30 -!- olsner_ has joined.
17:53:46 <ehird> you're making a fool of yourself.
17:53:55 <AnMaster> ehird, no I was playing along with the joke
17:54:06 -!- olsner has quit (Read error: 104 (Connection reset by peer)).
17:54:07 <ehird> no sentient organism could consider that a joke
17:54:18 <ehird> and I don't talk to chatterbots :D
17:54:50 <AnMaster> ehird, you mentioned you wanted to reinvent a wheel before? How does that make you feel?
17:54:55 <ehird> AAAAAAAAAAAAAAAAAAAAAAA
17:55:13 <ehird> AnMaster: ¨ª•¶å¥•ÊÁ*‡§¶å§¢Åfi‹#€€€€€€€€€€€€€€€#¢Å‡fi‡¥å˙•ªå¶§¶∞Åfifl‡fl\0\0\0exit(1);
17:55:31 <ehird> AnMaster: dammit, you didn't buffer overflo¶••••••¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶exit(1);
17:55:41 <oerjan> the _universe_ is a joke (and a bad one, too). AnMaster is merely a part of it.
17:56:41 <oerjan> _someone_ should have realized that a joke that takes billions of years to tell isn't very good
17:56:51 <ehird> who knows scons(1)?
18:03:41 <AnMaster> Why didn't the chicken cross the road?
18:03:42 <ehird> AnMaster: what build tool do you use, then.
18:04:25 <AnMaster> ehird, I'll answer that once you answer my question
18:05:10 <AnMaster> anyway the answer was: because there was no crossing at that place
18:10:28 <ehird> specifically I'm trying to get scons to vomit all the .os and binaries into build/
18:10:33 <ehird> same with its .sconsign.dblite thang.
18:11:02 <AnMaster> ehird, I would assume you could just do something like:
18:11:28 <AnMaster> such systems work for cmake and autotools
18:11:29 <ehird> I'm not in the mood for assumptions.
18:14:46 <ehird> By the way, I'm now taking guesses as to what the project is.
18:19:43 <ehird> Hmph. oerjan? AnMaster?
18:20:19 <AnMaster> ehird, why would I want to guess? there are lots of projects using scons
18:20:28 <ehird> I wasn't talking about scons.
18:20:53 <AnMaster> ehird, what on earth then were you talking about?
18:21:03 <ehird> The project. Of reinventing the wheel.
18:21:06 <ehird> I am now taking guesses as to what it is.
18:21:25 <AnMaster> a project reinventing something in a better way
18:22:17 <AnMaster> ehird, also I suggest not reinventing the round wheel, nor the square wheel
18:22:22 <AnMaster> I have a better shape I believe
18:22:40 <ehird> it will be a four dimensional shape.
18:22:42 <ehird> now make another guess :|
18:22:59 <AnMaster> reinventing the hypercube wheel
18:23:19 <AnMaster> ehird, what lang are you coding it in you said?
18:23:41 <AnMaster> ehird, why are you using C and not python? Low level OS stuff needed, or due to performance?
18:23:50 <ehird> Performance, pretty much.
18:23:54 <ehird> It's not a job for Python.
18:24:01 <ehird> (It's not OS-level, either, though.)
18:24:25 <ehird> Nah, a graph database could be done in Ruby/Python/etc.
18:24:33 <AnMaster> wouldn't scale to huge datasets then
18:24:49 <AnMaster> ehird, have you mentioned this project before in the channel?
18:24:58 <ehird> I think I've mentioned doing something like it.
18:25:10 <AnMaster> ehird, no I can't guess without some hints
18:25:11 <ehird> I've yelled about the wheel I'm reinventing before in here almost certainly
18:25:20 <ehird> AnMaster: it's very much to do with IO.
18:25:31 <AnMaster> ehird, also you yelled about reinventing the wheel a lot of times
18:25:47 <ehird> AnMaster: it's very much to do with IO. :P
18:26:31 <AnMaster> ehird, you always complained about bad web servers
18:26:39 <AnMaster> apache, lighttpd, nginx, and so on
18:26:47 <AnMaster> so I guess you are writing your own
18:26:50 <ehird> I am crazy enough to attempt to write my own web server. :D
18:27:03 <ehird> This will either go brilliantly or terribly.
18:27:05 <AnMaster> ehird, I was trying to be tactful...
18:27:09 <AnMaster> remember it was you who said it
18:27:20 <ehird> Yeah but you got it :P
18:29:08 <ehird> Basically, this webserver will have mod_kitten.
18:29:11 <ehird> Everything else comes from that.
18:29:14 -!- Judofyr_ has joined.
18:29:17 <ehird> Well, by mod_kitten I mean modules/kitten.c.
18:37:49 <ehird> I dunno what it'll do.
18:37:53 <ehird> Give you an ASCII art kitten?
18:40:38 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
18:41:40 <Asztal> that's thinking small.
18:42:13 <Asztal> it should enclose every page in a speech bubble so that a kitten's saying it.
18:44:47 <oklopol> i'm thinking maybe i should look into that
18:44:52 <oklopol> i hear it can be pretty fun
18:45:18 <ehird> 10:41:40 <Asztal> that's thinking small.
18:45:19 <ehird> 10:42:13 <Asztal> it should enclose every page in a speech bubble so that a kitten's saying it.
18:45:54 <oerjan> i understand some people here have trouble understanding humor.
18:46:03 <oerjan> this page may help: http://www.insaneabode.com/roboterotica/jokesexplained/jokes.html
18:46:31 <oklopol> oerjan: but how can i open that when it's old?
18:47:12 <oerjan> in that case, _this_ page may help: http://www.mezzacotta.net/singles/jokes_explained_explained.php
18:47:47 <oerjan> and if you still aren't getting, it, try: http://www.mezzacotta.net/singles/jokes_explained_explained_explained.php
18:48:24 <oklopol> I WONDER WHAT THEY COME UP WITH NEXT
18:52:03 -!- atrapado has joined.
18:56:18 -!- oerjan has quit ("Gotta get the wheel to the bus").
18:59:03 -!- MizardX has quit ("Blue squares floting about...").
18:59:30 -!- MizardX has joined.
19:10:03 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:12:33 <ehird> hey. uhh, who knows c here and is alive. AnMaster: what hash table lib do you use
19:12:55 <AnMaster> libghthash, but there are many others
19:13:01 -!- Vendan has quit (Read error: 60 (Operation timed out)).
19:13:11 <ehird> this is for storing http headers fwiw
19:13:17 <AnMaster> one called sunrisedd (iirc) looked good but had possibly bad license
19:13:24 <ehird> so short string -> medium-length string
19:13:31 <ehird> also, needs to be MIT-compatible
19:13:31 <AnMaster> ehird, I suggest testing different ones and finding out which one works best for you
19:13:38 <ehird> mm, but that's work
19:13:40 <ehird> maybe I should roll my own
19:13:56 <AnMaster> also rolling your own hash library is kind of hard
19:14:09 <ehird> i wrote a hash table in my sleep once, but it sucked :P
19:14:18 <ehird> does lgpl mesh with mit?
19:15:31 <AnMaster> ehird, hm, the current main performance bottle neck in cfunge is pushing strings on the stack it seems
19:15:50 <AnMaster> I guess I could make the stack grow down instead and then simply memcpy() them
19:15:56 <AnMaster> no need to reverse the data then
19:16:27 <AnMaster> and it could make use of SSE ;P
19:16:48 <ehird> AnMaster: did you do that static fungespace thing?
19:17:24 <AnMaster> it is using libghthash if outside the static area
19:17:35 <AnMaster> works fine for most common programs since they usually only use a small area around 0,0
19:19:00 <ehird> how much does fungot stray from it?
19:19:01 <fungot> ehird: this is fnord to see their fnord pomorski only needs to be used to support the views herein. given that other prominent sources ( including britannica) follow the medical discharge story, perhaps we should all be moved down to near the end of the second
19:19:07 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc lovecraft pa speeches ss wp*
19:19:22 <AnMaster> ehird, not much excelt when running underload
19:19:59 <AnMaster> by using a 128 MB static array I managed to fit the underload area nicely into the static area, but that sucked for other reasons obviously
19:20:08 * ehird decides to make static file serving a module because he is crazy.
19:20:28 <ehird> AnMaster: hey, my VPS could run two whole funge programs with that.
19:20:32 <AnMaster> ehird, going to use sendfile()?
19:20:51 * ehird has to support both kqueue and epoll because he devs on os x and deploys on linux :''''''''''''(
19:20:59 <AnMaster> ehird, hah, well normal size of the static array is 1024*1024*4 bytes in a 32-bit build
19:21:39 <AnMaster> the main issue with fungot is that it uses a lot of cells left and right
19:21:40 <fungot> AnMaster: quoting the article: ' ' adding 3 meas. of 5/ 8, though i tried to find a q&a that is no longer the inevitable number 1 in both categories. small—preceding wikipedia:signaturesunsigned comment added by special:contributions/ fnord)
19:22:20 <ehird> Hmm. You can't stuff sockets into a FILE * can you?
19:22:51 -!- Corun has quit ("This computer has gone to sleep").
19:25:29 -!- Judofyr has joined.
19:28:07 -!- Judofyr has quit (Client Quit).
19:33:23 -!- Judofyr_ has quit (Read error: 113 (No route to host)).
19:36:30 <AnMaster> also use writev() if you have more than one thing to write
19:36:41 <ehird> AnMaster: Trying to represent "socket or file", although I guess it's more "socket or file or just about anything else, like a string"
19:36:49 <ehird> So I guess I should write my own abstract-io layer for that.
19:36:58 <AnMaster> ehird, std:basic_stream<whatever> ;P
19:37:48 <AnMaster> ehird, anyway C has string-as-stream iirc
19:37:50 <ehird> the * comes first :P
19:38:49 <AnMaster> for glibc, I'm currently trying to remember the function name
19:41:14 <ehird> right, I'm not making myself gnu-specific
19:41:26 <ehird> because i gdon't like it :D
19:41:33 <AnMaster> ehird, except iirc it is in POSIX.1-2008
19:41:48 <ehird> i'll write my own layer
19:45:36 -!- Corun has joined.
20:28:34 <psygnisfive> btw have i mentioned how delicious cocks are?
20:30:30 <oklopol> i guess it's all the c++ i've been reading.
20:31:19 <ehird> rotational dyslexia? i am skeptical
20:31:52 * oklopol goes back to reading, just had to help making that highly sophisticated group joke, which failed
20:32:18 <oklopol> psygnisfive: same as usual. you know, stuff.
21:10:26 <AnMaster> <ehird> rotational dyslexia? i am skeptical <-- googling shows the term exist, 120 hits, all seems to be forums or similar, no verifiable source
21:31:57 <oklopol> psygnisfive: well depends on the definition of "stuff"
21:32:20 <oklopol> i've been reading quite a lot for about half a year now
21:34:27 <oklopol> well. not really a lot. maybe 40 page average a day.
21:35:16 <psygnisfive> ive been reading jared diamonds "collapse"
21:35:57 <oklopol> i've been reading all kinds of shit.
21:37:14 <oklopol> wtf. i just keep getting more and more money no matter how much i spend.
21:37:51 <oklopol> AnMaster: the more money i have the less i want to share it. except if i had enough, that would probably change.
21:38:10 <psygnisfive> oh oklopol but obviously if you spend it frivolously you have even MORE money!
21:38:14 <AnMaster> oklopol, you said you read "all kinds of shit", what did you see in it? I assume it is like reading the future in innards, except using excrement instead.
21:38:20 <oklopol> i mean one of my dreams has always been to pick a random bum and give them a million dollars.
21:38:44 <ehird> AnMaster: excrement books
21:38:55 <oklopol> AnMaster: what ehird said, only faster.
21:39:09 <AnMaster> ehird, hm... "don't scratch and sniff"
21:39:13 <oklopol> since that fucker types faster than i think
21:39:59 <oklopol> wait... i'm just about to pay a 400 dollar bill, that's why i saw how much i have :DD
21:40:16 <oklopol> so yeah, k, i haven't really gotten much richer if you take that to account.
21:40:26 <oklopol> or rather take that from my account
21:55:48 <oklopol> oh. it's because my demented grandma's munnies are being transferred to me.
21:55:59 <oklopol> i guess i should do a shopping spree or something
21:56:11 <oklopol> ...what do ppl buy except food?
21:56:46 <oklopol> yeah another computer would be nice
21:56:56 <ehird> oklopol: ummm houses?
21:56:58 <oklopol> i used to use three of them, that was so nerdly
22:21:40 <ehird> i don't give up on projects that easily :-)
22:21:46 <ehird> but not actually coding it atm
22:22:06 <AnMaster> http://cr.yp.to/publicfile.html
22:22:23 <ehird> AnMaster: you mean using it for an http server?
22:22:36 <ehird> oh, sarcasm marks :P
22:22:49 <ehird> i was about to reply why it's useless for anything but serving static files if you're djb :P
22:23:21 <ehird> Some versions of fhttpd allowed remote users to take over the entire machine. ``I don't think bugs of this kind are left in it,'' the author says. How much is he willing to bet?
22:23:27 <ehird> ^ jeez, djb, and how do you know you have no bugs?
22:23:48 <ehird> more likely nobody's told you of any because nobody uses your server.
22:23:54 <AnMaster> "# publicfile avoids bug-prone libraries such as stdio. "
22:24:00 <AnMaster> I'd like to see his replacement
22:24:01 <ehird> well i agree there, stdio sux
22:24:04 <ehird> AnMaster: he has it on his site
22:24:44 <ehird> AnMaster: http://www.fefe.de/djb/ is an extracted version of djb libs including his io lib
22:25:02 * AnMaster was reading http://cr.yp.to/lib/io.html atm
22:27:05 <ehird> i still want to writ libibido
22:28:31 <AnMaster> hm how much of music can midi describe? I mean stuff like on a violin you can play pizzicato (plucking strings with finger) as well as lots of other variations
22:28:52 -!- GreaseMonkey has joined.
22:29:55 <oklopol> pizzicato is just a female staccato
22:30:21 <oklopol> and staccato is just a gay [short note followed by a pause]
22:31:03 <psygnisfive> anmaster, i suspect that midi can describe it in arbitrary detail to some extent
22:31:21 <oklopol> i think he's point is whether it has that actual concept.
22:31:24 <psygnisfive> i mean, Kurzweil synths do midi out, and also can basically synth any music
22:31:38 <oklopol> well can't you somehow add instruments to midi?
22:31:43 <oklopol> i don't actually know much about it
22:31:54 <psygnisfive> midi i think is just a standard for music representation
22:32:03 <psygnisfive> i think its instrument independent, to some extent
22:32:11 <oklopol> hmm, yes that's very probably
22:32:19 <oklopol> i don't really know its ideology
22:32:34 <psygnisfive> so whether or not something is plucked vs bowed i think depends on how you read off the midi to audio
22:34:07 <ehird> AnMaster: will you use my server? i would feel bad if nobody did ;'(
22:35:17 <ehird> in a programming language.
22:35:56 <ehird> how can you host porn on a program
22:37:35 <ehird> psygnisfive: if I told you I had just written an IRC server
22:37:44 <ehird> would you say "can i host porn on your irc server?"
22:37:48 <ehird> no because that makes no fucking sense
22:37:49 <ehird> it's just a program
22:39:00 <ehird> yes, you can use the program to host porn. but "there" is incorrect
22:39:06 <ehird> "can i host porn with it?" would be more valid
22:39:18 <ehird> it's just a web server
22:51:37 -!- Sgeo has joined.
23:06:24 -!- oerjan has joined.
23:51:05 <ehird> guys I'm going to set my computer to the year 9999
23:51:07 <ehird> and see what breaks
23:51:38 <oerjan> in the year ninety-nine, ninety-nine
23:51:52 -!- seveninchbread has joined.
23:51:57 <ehird> 23:59:59 1 jan 2038
23:52:01 <ehird> 00:00:00 1 jan 2038
23:52:04 <ehird> i have found groundhog day
23:52:06 <ehird> duuuuuuuuuuuuuuuuuuuude
23:52:19 <ehird> duuuuuuuuuuuuuuuuuuuuude
23:52:38 <ehird> lol i wondr how much is broke
23:52:50 <ehird> WHAT SHOULD I DO IN THE FUTURE OERJAN
23:52:51 <oerjan> would have expected that to be in 2012, me thinks
23:53:01 <ehird> everything lagggggggggg
23:53:03 <ehird> something doesn't like this
23:53:04 -!- Corun has quit ("This computer has gone to sleep").
23:53:11 <ehird> The server error encountered was: Mail was unable to verify the identity of this server, which has a certificate issued to "imap.googlemail.com". The error was:
23:53:12 <ehird> The certificate for this server has expired.
23:53:16 <ehird> it thinks it expired like yeaaaaaars ago
23:54:04 <ehird> it didn't set further than that
23:54:06 <oerjan> oh you're not at 9999 yet
23:54:17 <ehird> 01/01/2038 is the last unix representable date
23:54:32 <ehird> that's why 23:59:59 rolled to 00:00:00 on the _same day_
23:54:34 <oerjan> 01/01? that's a bit of coincidence...
23:54:36 <ehird> this day repeats itself, FOREVER
23:54:40 <ehird> epoch is 01/01/1970
23:54:46 <ehird> i.e., that's time 0
23:54:53 <oklopol> oerjan: it's basically multiplication to figure that out
23:54:58 <oklopol> how come you didn't see it
23:55:03 <oerjan> yes but why would it be a whole number of years
23:55:25 <ehird> this is all logging to 2038 ^.^
23:56:45 <ehird> ok im back in 2008
23:57:02 -!- rodgort has quit ("Coyote finally caught me").
23:57:16 -!- rodgort has joined.
23:59:17 <oerjan> "The minimum representable time is 1901-12-13, and the maximum representable time is 2038-01-18"
00:01:22 <ehird> ok now ill go prehistoric
00:02:56 -!- seveninchbread has quit (Remote closed the connection).
00:09:00 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
00:15:38 -!- atrapado has quit (Remote closed the connection).
00:17:50 <oklopol> well. i guess i'm here again
00:18:01 <oklopol> i'm *really* gonna sleep now.
00:18:21 <oerjan> why does ehird keep asking who is alive
00:18:34 <oerjan> does he have some nefarious purpose, picking us off one by one
00:38:21 <oerjan> i guess it's obvious when you think about it
00:47:13 -!- moozilla has joined.
00:48:59 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
00:48:59 -!- metazilla has joined.
00:52:16 -!- metazilla has quit (Read error: 131 (Connection reset by peer)).
01:13:20 -!- jix has quit ("...").
02:03:01 -!- moozilla has joined.
02:05:42 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
02:36:37 -!- moozilla has joined.
02:36:39 -!- moozilla has quit (Nick collision from services.).
02:36:41 -!- metazilla has joined.
02:36:55 -!- moozilla has joined.
02:38:35 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
02:38:36 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
02:38:40 -!- metazilla has joined.
02:53:46 -!- metazilla has changed nick to moozilla.
03:22:22 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
03:23:02 -!- metazilla has joined.
03:36:39 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
04:13:53 -!- moozilla has joined.
04:21:56 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
04:48:27 -!- oerjan has quit ("Good night").
05:01:19 -!- oklopol has quit (Success).
06:46:31 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
06:57:05 -!- oklopol has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:10:15 -!- GreaseMonkey has quit ("You only need one wheel. Bikers are just greedy.").
09:25:08 -!- kar8nga has joined.
09:31:35 <AnMaster> * psygnisfive plucks anmaster's guitar strings <-- I don't have a guitar. Nor do I play violin (I do play piano)
09:31:48 <AnMaster> <ehird> AnMaster: will you use my server? i would feel bad if nobody did ;'( <-- probably not, but what about yourself
09:38:17 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
09:40:51 -!- oerjan has joined.
09:41:16 -!- psygnisfive has joined.
09:43:25 <AnMaster> psygnisfive, why didn't you read it before you quit then?
09:43:28 <AnMaster> <AnMaster> * psygnisfive plucks anmaster's guitar strings <-- I don't have a guitar. Nor do I play violin (I do play piano)
09:43:48 <psygnisfive> it choked because i came back just to read it :P
09:49:47 -!- Corun has joined.
10:16:03 -!- moozilla has joined.
10:16:25 -!- moozilla has quit (Client Quit).
10:23:58 -!- KingOfKarlsruhe has joined.
11:08:39 -!- kar8nga has quit (Read error: 131 (Connection reset by peer)).
11:10:54 -!- oerjan has quit ("leaving").
11:38:52 -!- Corun has quit (Read error: 131 (Connection reset by peer)).
11:39:05 -!- Corun has joined.
11:48:11 -!- Azstal has joined.
11:56:26 -!- Corun has quit (Read error: 110 (Connection timed out)).
12:18:23 -!- puzzlet_ has quit (Read error: 60 (Operation timed out)).
12:18:31 -!- puzzlet has joined.
12:19:26 -!- Slereah has joined.
12:23:30 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
13:09:16 -!- Corun has joined.
13:14:23 -!- KingOfKarlsruhe has quit (Remote closed the connection).
13:27:46 -!- olsner_ has changed nick to olsner.
13:46:02 -!- kar8nga has joined.
13:59:22 -!- sebbu2 has quit (Client Quit).
14:04:04 -!- ehird has left (?).
14:04:37 -!- ehird has joined.
14:04:45 -!- ehird has left (?).
14:04:49 -!- ehird has joined.
14:04:51 -!- ehird has left (?).
14:04:55 -!- ehird has joined.
14:04:57 -!- ehird has left (?).
14:05:01 -!- ehird has joined.
14:05:03 -!- ehird has left (?).
14:05:07 -!- ehird has joined.
14:05:09 -!- ehird has left (?).
14:05:13 -!- ehird has joined.
14:14:52 <ehird> 09:43 <AnMaster> <AnMaster> * psygnisfive plucks anmaster's guitar strings <-- I don't have a guitar. Nor do I play violin (I do play piano)
14:14:56 <ehird> he was making a sexual joke.
14:15:22 <ehird> it's psygnisfive; couldn't you have guessed?
14:15:29 -!- sebbu has joined.
14:23:52 -!- oklopol has quit (Read error: 54 (Connection reset by peer)).
14:23:53 -!- oklofok has joined.
14:31:21 <oklofok> did i just disconnect a few minutes ago?
14:31:33 <oklofok> i mean. i just got home, and the computer was closed
14:31:37 <ehird> 14:23 oklopol has left IRC (Read error: 54 (Connection reset by peer))
14:31:38 <ehird> 14:23 oklofok has joined (n=nnscript@a91-153-121-248.elisa-laajakaista.fi)
14:31:39 <oklofok> i think that happened yesterday too
14:31:45 <ehird> it's 14:31 rite nao
14:32:02 <oklofok> when i touch the computer, it disconnects, and wants my password
14:32:15 <oklofok> but until then, it's nicely sitting on irc, connected
14:32:19 <oklofok> i mean that's pretty awesome
14:32:43 <Azstal> hmm... what OS is this?
14:33:01 <ehird> oklofok uses windoze
14:33:16 <Azstal> I seem to recall Windows XP does some odd stuff with networking when you use fast user switching.
14:33:48 -!- Slereah has quit.
14:33:59 <ehird> Asztal: he uses vistah.
14:34:30 <oklofok> ehird: could you just say my lines too from n
14:34:45 <ehird> Asztal: i'm just going to say what oklofok says, forever.
14:35:19 <ehird> Asztal: he's feeling kind of T.
14:35:41 <ehird> oklofok: Asztal's ok.
14:35:50 <oklofok> that thing where vista shows the windows like all 3d
14:36:17 <Azstal> http://drunkmenworkhere.org/170 <- I had it down to 4 incorrect answers at one point. Now I've gone and messed it up :(
14:36:18 <oklofok> everyone was like oh my god it's cool
14:36:24 <oklofok> i mean, you know, all the idiots i know
14:36:40 <oklofok> i thought it looked pretty cool
14:36:49 <ehird> Asztal: he thinks flip 3d looks pretty cool
14:36:51 <ehird> but he's never used it
14:36:52 <oklofok> it just doesn't fit the rest at all
14:36:56 <ehird> but all the idiots he knew like it
14:37:01 <ehird> and it doesn't fit with the rest of the os
14:37:17 <oklofok> i mean using it would be like driving a car, and once in a while using the flying mode to park it
14:37:27 <oklofok> because it's simpler that way
14:37:37 <ehird> Asztal: he says using it would be like driving a car but it has a flying mode but you can only use it to park it
14:38:05 -!- Slereah_ has joined.
14:38:07 <Azstal> I pretty much just never use it because I can't break my Alt-Tab reflex.
14:38:21 <oklofok> don't you agree with flying cars?
14:38:55 <oklofok> i mean not agreeing with flying cars would be like... well i can't really think of another analog.
14:39:17 <ehird> would be like sucking.
14:39:18 <oklofok> a flying car analog for flying cars would be okay though, because, well, they can fly
14:39:28 <ehird> oklofok: the word is analogy
14:40:49 <oklofok> well i can't really correct it anymore
14:41:08 <oklofok> please use pm's next time, so i can look like i spotted the error myself.
14:41:34 <ehird> oklofok: LET'S MAKE AN ESOLANG. :|
14:42:15 <oklofok> could it consist entirely of emoticons, but without emoticons actually having any meaning, the semantics just force you to have them everywhere for different reasons
14:42:35 <oklofok> like j, but instead of : and . suffixes, you have ; and : prefixes
14:42:51 <oklofok> well no, that would pretty much just be having emoticons
14:42:59 <oklofok> maybe it could not have any point at all
14:43:25 <oklofok> the problem with ie is, if it frozes, i can't actually do anything.
14:43:34 <oklofok> well i can close it, but afaik it doesn't save state
14:44:34 <oklofok> this wasn't ie's problem, vista's
14:44:46 <oklofok> i have the maximum ~30 windows open
15:06:01 <oklofok> @ 11, ask how many B's, i've deduced enough to know exactly that the amount of B's is between the given range of options :D
15:06:10 <oklofok> which helps a zero amount \o/
15:07:37 <oklofok> wait. i probably misunderstood the questions that ask what the answer of another questino is
15:07:49 <oklofok> does that mean the question letter, or the actual answer?
15:11:24 <oklofok> but then 6 and 17 will just be the same, that doesn't seem very sensible either...
15:11:25 -!- jix has joined.
15:11:39 <oklofok> oh you can clean the thing ofc
15:12:47 <oklofok> if i choose A from both 6 and 17
15:13:03 <oklofok> therefore the question must mean "what is the answer's label"
15:13:12 <oklofok> now, unless the thing is absolutely retarded
15:13:24 <oklofok> then 10 and 16 must work the same way
15:13:43 <oklofok> 10A 16D is the only solution
15:14:01 <oklofok> in which case 13 is A too, contradicting itself
15:14:16 <oklofok> either the test or my logic is flawed
15:14:35 <oklofok> probably the first one, but i won't continue unless someone feels like explaining why
15:15:06 <oklofok> which i don't assume anyone does, just saying
15:15:34 <oklofok> Asztal: highlight for you since you said you were playing
15:16:10 <oklofok> presumably by pressing random buttons with some heuristic because you "had it down to 4 incorrect answers"
15:17:27 <oklofok> and right my logic was indeed flawed
15:17:34 <ehird> What is the wrong answer to this question?
15:17:46 <ehird> (For extra lulz, A: A and B: B.)
15:17:54 <oklofok> 9 can't be deduced to be A from 10A, of course
15:17:57 <ehird> (Or A: B, B : C and C : A.)
15:18:07 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
15:18:19 -!- psygnisfive has joined.
15:26:14 <Azstal> but I suspect I can't solve it by merely changing these 3
15:28:54 <Azstal> actually, I think there's a bug in the checking, because I have 9B and 11C.
15:29:41 <oklofok> well i at least need to wait a mo before they change, you might not have noticed if the lag is in my end
15:31:33 <oklofok> i currently have 4 correct, 1 with 2 choices, 3 with 3 choices, 9 with 4 choices, 3 with 5 choices
15:32:15 <oklofok> i'm assuming this is solvable without any major long-term problems, because, well, it looks like a puzzle
15:32:31 <oklofok> not long-term, more like something else.
15:35:22 <Azstal> one red one... but all the options contradict something else :(
15:35:51 <oklofok> don't show the solution yet when you're finished
15:41:22 <ehird> GregorR: I just saw someone link to extra-www in an interwebs argument.
15:41:47 <oklofok> i bet it's there just out of necessity
15:42:35 <ehird> i wanna bruteforce it
15:43:41 * ehird bruteforces 15 to bruteforce 12
15:43:42 <oklofok> except maybe if i give you the few things i've deduced
15:43:45 <Azstal> not quite, since 20, 10, and 16 can be solved easily
15:44:09 <oklofok> also 6 and 17, but not that easily
15:44:13 <ehird> is WRONG on ALL OF THEM
15:44:23 <oklofok> ehird: it's about answer labels
15:44:58 <oklofok> oh, you thought they are red if the answer isn't in the actual correct solution
15:45:05 <Azstal> there's also a lot of restricted choices because only one odd answer can be A, and only one pair of consecutive answers can be equal
15:45:06 <oklofok> that would be a fun problem solving interface, yes.
15:47:33 <oklofok> you mean actually solved, or solved on your screen?
15:47:57 <Azstal> They're pretty much self-contained
15:48:34 <ehird> or should I say D6B17
15:49:12 <oklofok> the decision, not the syntax
15:49:12 <ehird> tha's just what i did
15:49:15 <ehird> 'cuz I did 6 first
15:49:27 <Azstal> because then 16 and 17 would be consecutive and equal, and 2 would cry
15:49:39 <oklofok> Azstal: yes, naturally, i just doubted ehird saw that
15:49:56 <Azstal> I don't think I saw that
15:49:59 <ehird> the ones I hate are the ones where I have to solve every other question first.
15:50:09 <ehird> whoa, #19 is, um, ...
15:50:13 <oklofok> you mean the ones that actually make sense?
15:50:19 <oklofok> that actually require thinking?
15:50:44 <oklofok> i hate those too, they make puzzles too hard :<<<<<<<<<<
15:52:05 <ehird> hokay, I've done all the self contained ones
15:56:22 <oklofok> i found another one with just 2 choices
15:56:59 <ehird> oklofok: do you just like brute force it?
15:57:08 <ehird> i can't think of any way of answering the non-self contained ones other than guessing
15:59:22 <ehird> oklofok: but how, i mean, i can't answer any of them since I have to solve all the other ones first to do them
15:59:31 <ehird> which then depends on the answer to it
15:59:52 <oklofok> ehird: afaik you can't solve them directly without making a really long inference chain that branches.
16:00:12 <ehird> oklofok: so that's what you do? :<<<
16:00:14 <oklofok> but you can store certain information about what the answers must be, and make inferences.
16:00:24 <ehird> what do you do then
16:00:42 <oklofok> systematically make short inferences
16:01:00 <oklofok> that give me less information
16:01:21 <oklofok> i just have a list of possibilities for all questions ofc
16:01:37 <oklofok> but the fact i have a list for each of them was
16:01:48 <oklofok> because i've spilled parts of its content
16:04:00 <oklofok> 's not cheating if you check every branch
16:04:14 <oklofok> but educated guessing is, unless you can justify it
16:05:23 <ehird> http://drunkmenworkhere.org/170
16:05:27 <ehird> self-referential puzzle.
16:05:50 <oklofok> seems it's a bit too hard for me.
16:06:01 <ehird> oklofok: DON'T ADMIT DEFEAT
16:06:31 <AnMaster> question 20 isn't self ref it seems?
16:07:06 <AnMaster> though I don't know what the answer is for it
16:07:07 <ehird> AnMaster: i think there has to be non self-referential question to have a consistent, unique anserset
16:07:30 <ehird> it doesn't really matter so yeah
16:08:44 <ehird> AnMaster: and the self-contained ones are:
16:09:20 <ehird> i.e., beyond that they all depend on multiple questions
16:09:26 <ehird> AnMaster: no, most things depend on everything
16:09:31 <ehird> but those don't depend on anyhitng out of their pair
16:09:34 <ehird> so you can complete them first
16:09:40 <AnMaster> a search of all possibilities to find a consistent set seems the only way then
16:09:47 <ehird> yeah, with your brain :P
16:09:53 <ehird> well, 19 isn't really eslf-contained
16:09:57 <ehird> since all answers are correct
16:10:08 <AnMaster> you have to match it so it match up with what you answer elsewhere
16:10:17 <ehird> AnMaster: yes, incrementally
16:10:26 <ehird> so you can just backtrack when you can't get it further
16:10:39 <AnMaster> prolog should be great for this I assume
16:10:51 <oklofok> ehird: nah you don't need a non self-referential question
16:10:59 <ehird> oklofok: so 20 is just silly
16:11:04 <ehird> AnMaster: no, you're meant to use your brain.
16:11:06 <oklofok> what's the answer to this question? A: A, B: C, C: B
16:11:08 <ehird> it's called a puzzle.
16:11:12 <AnMaster> ehird, also some are invalid, like 1-A
16:11:24 <ehird> AnMaster: well, duh
16:11:24 <oklofok> AnMaster: it just checks current state of affairs
16:12:07 <ehird> it uses javascript to submit
16:12:14 <ehird> it auto-submits wen you change answer
16:12:34 <ehird> i'm getting somewhere
16:13:02 <AnMaster> with javascript on it take ages
16:13:17 <ehird> AnMaster: slow server
16:13:23 <ehird> oklofok: can you hal
16:13:40 <Azstal> it would be funny if there was no solution
16:15:20 <ehird> oklofok: see /msgs
16:16:04 <oklofok> ...that is, your message ;)
16:17:30 <ehird> i have 2,5,17,9,10,16,17,19,20 done
16:17:52 <oklofok> i finally solved a sixth one
16:18:10 <oklofok> it's of course one of the simple ones
16:18:13 <ehird> you only had 5 done?!
16:19:15 <oklofok> well now 7 of course, 1 kinda does that
16:19:16 <Azstal> I've got 2 answers for #1 :(
16:19:42 <oklofok> Azstal: it's actually a rather short inference to get it
17:06:23 <oklofok> the beginning was quite hard
17:08:22 <oklofok> not that it's very surprising
17:08:26 <oklofok> should probably do something
17:09:10 <oklofok> ehird: you need some simple algebra with the amounts of characters in addition to just simple inference
17:11:06 <oklofok> also god that took long :D
17:11:26 <oklofok> i thought it was like 20 minutes or something
17:13:09 <oklofok> the longest "let's try this and see what happens" chain you need is length 3; but there's are pretty obvious signs you should try it
17:13:49 <oklofok> (getting that answer is the only thing that can conceivably give you any data, so there must be a solution given what you currently have)
17:14:48 <oklofok> hmm yeah i should probably analyze this a bit longer
17:16:04 <oklofok> also if someone wants the solution, i can give it
17:17:36 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
17:24:38 <oklofok> although i do kinda wanna try prolog on that
17:25:33 <oklofok> then again i'm not sure how to get anything that efficient out of the sum ones
17:33:26 -!- kar8nga has joined.
18:04:59 -!- jix has quit ("...").
18:20:47 <AnMaster> oklofok, sure I want the solution
18:21:04 <AnMaster> anyway there are certain ones that are impossible, quite a lot in fact
18:21:40 <AnMaster> like 1-{A,B} (Since if 2 was B then A and B would have the same value)
18:22:05 <AnMaster> like 1-{A,B} (Since if 2 was B then 1 and 2 would have the same value)
18:22:08 <oklofok> well yes, that's one of the trivial things you can conclude
18:22:21 <oklofok> well, explaining is for humans
18:22:22 <AnMaster> oklofok, I managed to get all except 4 to match
18:22:34 <oklofok> i prefer to think of it as checking all (1,2)-pairs :P
18:22:36 <AnMaster> but I couldn't make 4 work without breaking everything else
18:22:53 <AnMaster> oklofok, so I would like to see the solution
18:23:49 <oklofok> well, it's in your priv now
18:24:04 <oklofok> that's pretty sick when you read it out loud :D
18:25:00 <oklofok> in case Asztal is still trying or something
18:25:19 <oklofok> it wasn't as sick as i thought
18:25:30 <oklofok> i mean i didn't realize at first it was actually completely sensible
18:25:42 <oklofok> so i just thought it was about having sex with dead babies
18:26:36 <ehird> Dad bedded a bad, bad babe.
18:28:12 <AnMaster> there are two possible solutions I think
18:28:36 <oklofok> seriously i didn't make one guess solving that.
18:28:52 <ehird> Wow, apple just removed all the drm from their itunes store [source: http://daringfireball.net/linked/2009/01/06/drm-free]
18:28:59 <ehird> Hey, I might actually use it now. :P
18:29:36 <AnMaster> oklofok, the pair 6,17 in itself have 2 possible solution
18:30:11 <ehird> AnMaster: but only one is consistent
18:30:13 <ehird> with all the others
18:30:13 <oklofok> yes. also the singleton {19} has 5 possibles solution
18:30:24 <ehird> i could write this in prolog easy prolly
18:30:39 <AnMaster> and prolog would indeed be a good language to solve it
18:31:06 <AnMaster> or some other back tracking language
18:31:17 <ehird> prolog is just a DSL for exponential-time algorithms.
18:31:52 <AnMaster> ehird, can't you write user interfacing programs in it?
18:32:02 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
18:32:03 <ehird> yes, but you don't want to.
18:32:17 <oklofok> sure you do, imperative prolog is fun
18:32:39 <AnMaster> hm, xcut? oh wait that is used, it would be somewhat like xmonad otherwise
18:32:45 <oklofok> well it's pretty eso used like that
18:32:52 <oklofok> probably wouldn't be fun to write
18:33:05 * AnMaster has looked a bit at prolog, not much though
18:33:15 <oklofok> more like it's funny to read what weirness results when ppl write imperativish stuff with it
18:33:33 * ehird writes solver for dis in prolooooog
18:33:37 <AnMaster> oklofok, about prolog or about imperative prolog?
18:33:43 <oklofok> AnMaster: what's imperative prolog?
18:33:49 <AnMaster> <oklofok> more like it's funny to read what weirness results when ppl write imperativish stuff with it
18:34:05 <AnMaster> ok... s/imperative/imperativish/
18:34:11 <oklofok> well prolog is pretty sequential
18:34:18 <oklofok> you can write io stuff with it
18:34:21 <oklofok> that's what i meant really.
18:34:33 <oklofok> getting input, outputting, doing computation in between
18:34:38 <AnMaster> anyway that sounds fun... imperative haskell and functional basic
18:34:46 <oklofok> ehird: I DOUBT IT'LL BE AS FAST AS MY 2 HOURS
18:35:11 <oklofok> actually imperative haskell is something i would very much like.
18:35:12 <AnMaster> how many possible combinations of the options are there if you brute force
18:35:16 <oklofok> i was just thinking that the other day
18:35:51 <oklofok> i mean it's so perfect, but usually i just don't feel like functional, because, well, it requires me to know more in advance about what i want the prog to do
18:36:00 <oklofok> so it's not as good for randomly hacking stuff up imo
18:36:17 <AnMaster> oklofok, you have a point there
18:36:20 <ehird> oklofok: refactoring.
18:36:29 <ehird> hack some shit up, mess it up if it doesn't fit
18:36:31 <ehird> repeat until works
18:36:33 <AnMaster> in retrospect... it would have been better in some other language
18:36:41 <oklofok> ehird: yeah that's so much fun. you're missing the point.
18:37:18 <oklofok> well whatever, either agree or don't.
18:37:54 <AnMaster> oklofok, depends on if you have an IDE (select, click extract method) or an unix-like system (sed, awk and grep will fix it most of the time) or just a simple text editor (it is not fun then)
18:38:04 <AnMaster> for the first two it is easy enough
18:38:32 <AnMaster> oklofok, fix the function names and so on after refactoring
18:38:44 <ehird> you fail to understand what i meant by refactoring.
18:39:02 <AnMaster> ehird, I assumed you meant the normal mainstream meaning of it?
18:39:02 <ehird> i meant hacking up the structure of the program, not renaming bloody functions
18:39:55 <oklofok> having to do refactoring in a quick hack pretty much proves my point functional paradigm is often not as nice for it. not that i agree you need to do it.
18:40:00 <AnMaster> ehird, true, but sometimes you end up renaming functions as a part of refactoring
18:40:18 <oklofok> it's just it takes a little longer to write a program because you need to know a bit more about what the end result will look like
18:40:23 <ehird> if you just rename functions and that's it, you fail.
18:40:35 <ehird> oklofok: refactoring is a quick hack though
18:40:48 <ehird> quick hacks are easy in functional langs
18:41:20 <oklofok> whatever, i don't see how you can argue what experience has shown me about my brain.
18:41:57 <oklofok> so plz just agree or don't, stop teaching me, i hate you doing that.
18:45:46 <oklofok> AnMaster: correcting my sentence?
18:45:51 <oklofok> i mean, i liked it the way it was
18:46:13 <AnMaster> oklofok, I prefer it with "agree and don't"
18:46:46 <oklofok> ehird: whichever you chose, could you try doing the other thing too?
18:47:33 <oklofok> to cover a lot of cost you must use a lot of weight......
18:48:02 <ehird> how do you split an atom into its chars in prolog
18:48:26 <oklofok> umm. that's kinda technical, i suggest ggl.
18:49:47 <ehird> one(R, X) :- opt(X, [1,2,3,4,5], Y), Y2 is Y+1, at(R, Y2, b).
18:51:01 <ehird> one(R, X) :- opt2(X, Y), Y2 is Y+1, at(R, Y2, b).
18:51:56 -!- Corun has quit ("This computer has gone to sleep").
18:52:42 <ehird> R = [_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_|_] ? ;
18:52:44 <ehird> zsh: bus error gprolog
18:52:46 <ehird> i crashed fucking gprolog
18:53:43 <ehird> 2. The only two consecutive questions with identical answers are questions:
18:53:45 <ehird> bah that's just too hard.
18:54:59 <oklofok> i don't think i have time to do it myself
18:55:12 <oklofok> if i remember the whole thing anymoer
18:56:42 <AnMaster> well I was thinking of how many ways existed to build cfunge...
18:57:07 <AnMaster> too many compile time options to test all combinations (and that not including cflags)
18:57:29 <ehird> http://www.apple.com/pr/library/2009/01/06itunes.html 's official
19:05:30 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
19:41:20 <AnMaster> there is diff for comparing 2 files, and diff3 for comparing 3 files
19:41:28 <AnMaster> what I'm missing is a diffn for comparing n files
19:41:55 <AnMaster> because currently I want to compare 36 different test result output of mycology from building in different configurations with different compilers
19:44:32 <ehird> AnMaster: pipe diff3's
19:44:36 <ehird> or use kdiff or sth
19:44:54 <AnMaster> anyway kompare just does 2 files
19:48:45 <ehird> AnMaster: write it.
19:50:03 <ehird> AnMaster: it's just longest common subsequence :P
19:50:08 <ehird> just generalize it for multiple sequences
19:50:31 <ehird> http://en.wikipedia.org/wiki/Longest_common_subsequence_problem
19:51:11 <AnMaster> "The problem is NP-hard for the general case of an arbitrary number of input sequences."
19:52:15 <Deewiant> 36 doesn't sound like too many though
19:52:36 <Deewiant> Depends on the complexity of the best algos of course
20:05:24 -!- Corun has joined.
20:31:54 -!- psygnisfive has joined.
20:32:59 <psygnisfive> ehird, in all likelihood it'll be in the typical prologish fashion like atom_equates_to_string(TheAtom, TheString)
20:59:25 <oklofok> AnMaster: you don't need the np-hard algo
20:59:45 <AnMaster> anyway I solved it another way
20:59:54 <oklofok> i assumed you needed to get just all pairs
21:00:04 <oklofok> but then again why would there be diff3 if that's what you wanted
21:00:21 <AnMaster> like all files side by side with differences
21:00:23 <oklofok> yes but what does diff36 do
21:00:32 <oklofok> yeah then it's exactly that.
21:10:05 -!- GreaseMonkey has joined.
21:24:53 -!- ais523 has joined.
21:36:09 <AnMaster> ais523, just about half an hour ago I was looking for something like "diff36", that is like diff takes 2 files diff3 takes 3 files, even better would be a diffn. I solved the issue in another way, but do you know any software which can diff n files? I may write my own one for the future if not
21:37:01 <ais523> I've had a similar problem before
21:37:09 <ais523> I found a utility called interdiff, which diffs diffs
21:37:15 <ais523> repeatedly applying that and diff2 and diff3 works I think
21:37:28 <ais523> although I'm not entirely sure if it works in all cases
21:37:43 <ais523> because there's more than one way to do a diff4
21:37:53 <ais523> the way you apply things depends on exactly what you're trying to do
21:38:10 <ais523> well, what is a diff4?
21:38:25 <AnMaster> all the 4 files side by side in a GUI showing differences in my case
21:38:35 <ais523> oh, that's quite different from what I was doing
21:38:43 <AnMaster> ais523, think something like "kompare"
21:38:50 <ais523> I was trying to work out differences from C to D which weren't changed from A to B
21:38:59 <ais523> besides, a diff3 is not what you're describing
21:39:14 <AnMaster> ais523, hm what exactly is a diff3 then
21:39:23 <ais523> diff3 combines changes in a diff from A to B with changes in a diff from A to C
21:39:38 <ais523> in other words, it merges two working versions given a base version
21:40:15 <AnMaster> ais523, so what about the thing I want?
21:40:28 <AnMaster> ais523, I want to inspect 36 outputs for differences, some differences are ok, some are not
21:40:37 <AnMaster> and only manual inspection will work well sadly
21:40:49 <ais523> do you have a base case to compare against?
21:40:54 <ais523> if so, then just diff2 them all against the base case
21:41:04 <ais523> hmm... actually, do you know about comm?
21:41:18 <AnMaster> ais523, and sure I know about comm, but I would like context
21:41:41 <ais523> AnMaster: comm does provide context by default, although its output format is weird
21:41:51 <ais523> it sounds like what you're trying to do now is like a multi-file comm with a saner output format
21:41:58 <ais523> rather than a multi-file diff with a saner output format
21:42:05 <AnMaster> ais523, basically I had mycology output from building 36 combinations of compile time options and compilers
21:42:16 <AnMaster> mkdir $(for i in build_{,gc_}{,nothr_}{32,64}_{mud,gcc,gcc-346,icc,llvm}; do echo $i; done | sed '/gc.*_mud/d')
21:42:37 <ais523> AnMaster: I suggest you construct a base case by hand which simply omits all the lines you expect to change
21:42:43 <ais523> then diff everything against that
21:42:50 <AnMaster> ais523, hm but I want to make sure the change is sane
21:43:01 <ais523> all the lines that change
21:43:05 <ais523> and all the lines which aren't in the base case
21:43:18 <AnMaster> ais523, well what if one says "The time is 27 : 17 : 18"
21:43:26 <ais523> AnMaster: well, that line isn't in the base case
21:43:34 <ais523> so it shows up in every single diff
21:43:54 <AnMaster> ais523, also thread/no-threading, hm 2 base cases
21:44:18 <ais523> actually, why aren't you just inspecting the whole output? Because lots of it's boilerplate?
21:44:38 <AnMaster> ais523, well I did a hackish and rather complex way of solving it, I did sed -i on all files to change any small differences to N
21:44:48 <AnMaster> thus reducing the interesting info
21:44:53 <AnMaster> after aroudn 40 sed expressions
21:45:21 <AnMaster> still this is not a simple way of doing it
21:48:12 <ais523> AnMaster: there is no simple way of doing it, mostly because you aren't entirely sure what you're doing
21:48:23 <AnMaster> ais523, oh and this script proved quite useful in a backwards kind of way: http://rafb.net/p/K2KrwY85.html
21:48:49 <AnMaster> ais523, I want to check if there are any "bad" output differences between lots of different builds of cfunge built with different combinations
21:49:06 <AnMaster> ais523, and that is just a few of the possible combinations
21:49:17 <ais523> AnMaster: yes, but translating that into speak a computer will understand is not trivial
21:49:41 <AnMaster> ais523, oh and if you know prolog well I think ehird had a prolog issue
21:50:00 <AnMaster> <ehird> 2. The only two consecutive questions with identical answers are questions:
21:50:00 <ais523> AnMaster: I thought ehird didn't believe in Prolog
21:50:00 <AnMaster> <ehird> bah that's just too hard.
21:50:21 <ehird> Adn I didn't have much of an attention span on it anyway.
21:50:43 <AnMaster> ais523, it was about http://drunkmenworkhere.org/170
21:56:29 <ehird> Huh. I went to reddit.com and saw my submission at #1. That was...unexpected.
21:56:39 <ais523> ehird: is it still there?
21:56:45 <ehird> Yeah. Might be #2 now.
21:56:52 <ais523> main reddit, or proggit?
21:57:05 <ehird> Well, obviously it's at the top of proggit too.
21:57:24 <ais523> well, that is major news, well done for being the first to submit it
21:57:31 <AnMaster> ehird, heh first comment says "Not programming."
21:57:39 <ehird> AnMaster: subreddits are communities, not tags
21:57:49 <ehird> this has been stated by the team many, many times before but nobody listens
21:57:58 <ehird> DRM is a very relevant issue to the -community- of /r/programming
21:57:58 <AnMaster> ehird, well it would make more sense in "music"
21:58:13 <ais523> I like the reply which says it should be in religion, though
21:58:13 <ehird> psygnisfive: yes. yes you are
21:58:30 <psygnisfive> ive been spreading lies and deceit throughout the little conlang community i frequent
21:58:40 <ehird> everything is lies and deceit so yous hould be ok
21:59:05 <psygnisfive> the other day i lied about how pol pot got his inspiration for his xenophobic policies from the khmer language's lack of tones compared to all the surrounding languages which have tones
21:59:32 * ais523 reckons it'll end up twice on Slashdot, once in the Apple section and once in YRO
21:59:48 <psygnisfive> and just now i apparently convinced someone else that miscellaneous section of the skype eula that was showing up as just blocks on his screen was actually in a central african writing system called mfune block writing
22:00:05 <ehird> how can you be so awful.
22:00:28 <psygnisfive> people are naive so i take advantage of it.
22:00:28 <ehird> ais523: of course, apple are still charging 30c per song to "upgrade" the drmed files to non-drm
22:00:42 <ehird> but they deserve what they get anyway for buying that
22:00:58 <ais523> ehird: charging to upgrade to non-DRM doesn't surprise me at all
22:01:11 <ais523> in fact I guessed that before you told me, and even guessed the price point pretty accurately
22:01:25 <ehird> they call it iTunes Plus because it sounds so much better than calling everything else iTunes Minus (- mark pilgrim)
22:01:30 <psygnisfive> im going to take these little lies to absurd extremes
22:01:42 <ehird> I think I once convinced someone I was bill gates
22:01:54 <ais523> ehird: that's quite impressive, really
22:01:59 <ehird> ais523: they were an idiot, though.
22:02:06 <ais523> was this online or in RL?
22:02:10 <ais523> RL might be hard given the age difference
22:02:22 <ais523> which would make RL convincing hard
22:02:23 <ehird> is it turing complete
22:02:42 <ais523> probably, most sufficiently complex things are
22:02:50 <ais523> probably a volume of empty space is TC
22:03:04 <ais523> or indeed, uncomputable
22:03:38 <AnMaster> it's strange that the record labels agreed
22:03:38 <psygnisfive> not that many of you will be interested but
22:03:38 <psygnisfive> http://www.spinnoff.com/zbb/viewtopic.php?p=658125#658125
22:03:43 <ehird> AnMaster: not really.
22:03:50 <ehird> amazon has been offering drm-free mp3s for like a year now
22:04:05 <ehird> also, the riaa are too busy eating babies
22:13:17 <oklofok> i mean that's a finnish page for me, which feels kinda wtfy.
22:15:33 <oklofok> http://www.vjn.fi/pb/p455455412.txt
22:16:27 <ehird> http://www.vjn.fi/pb/p455455412.txt
22:16:30 <ehird> t��ll� ei n�yt� olevan mit��n.
22:16:31 <ehird> what does that mean
22:16:42 <oklofok> it's a scrambled "seems to be nothing here"
22:16:52 <ehird> well your browser is le fucked
22:17:02 <ehird> just change it to english
22:17:13 <ehird> umm change your windoze language to english/
22:17:27 <oklofok> there's just a little content, and that's clearly finnish
22:17:40 <oklofok> there's nothing finnish about my windows except my keyboard layout
22:17:50 <ehird> its detecting it from your ip then
22:18:02 <AnMaster> poll: what is your favourite music format?
22:18:08 <oklofok> probably. i was mainly wondering if it did that for, say, the swede, and he could tell me what to do.
22:18:09 <ehird> http://en.reddit.com/
22:18:21 <ehird> AnMaster: lossless FLAC (but I use ALAC for iTunes), lossy ogg or aac
22:18:34 <ehird> oklofok: en.reddit.com
22:18:36 <AnMaster> ALAC? I think it is called AAC?
22:18:40 <oklofok> ehird: that's in finnish too.
22:18:47 <ehird> http://en.wikipedia.org/wiki/Apple_Lossless
22:19:04 <AnMaster> ehird, FLAC, OGG, WAW > * for me
22:19:24 -!- psygnisfive has quit ("Leaving...").
22:19:31 <AnMaster> ehird, no I don't really use it
22:20:12 <AnMaster> ehird, I would think it is a merge of the two words wav and wow
22:20:36 <AnMaster> it seems like the worst format ever
22:20:44 <ehird> audacity uses it internally
22:21:27 <ehird> Although the format now supports many audio encoding formats, it remains associated with the µ-law logarithmic encoding. This encoding was native to the SPARCstation 1 hardware, where SunOS exposed the encoding to apps through the /dev/audio interface. This encoding and interface became a de facto standard for Unix sound.
22:21:38 <ehird> /dev/audio is in the de-facto au format
22:22:27 <ehird> 22:22 <fawkesmulder> oklofok, ill give you an ip
22:22:43 <ehird> WHY THANK YOU FAWKESMULDER FOR THAT FRESH IP
22:22:50 <ehird> 22:22 <fawkesmulder> oklofok, just put it in the address bar of the browser
22:23:16 <ehird> #reddit is just retarded
22:23:31 <ehird> i think fawkesmulder is computer illiterate but doesn't know it
22:24:40 <oklofok> i would've thought a browser would try to read that ip's 80
22:26:24 <oklofok> AnMaster: uhhuh. then what's ehird bitching about, and what's the 400 about
22:26:37 <ehird> AMAZING GREEN GREEN
22:26:42 <ehird> oklofok: its http shit
22:26:46 <ehird> not specified in the req
22:26:50 <ehird> so server go barf barf.
22:27:30 <AnMaster> ehird, ah you mean missing host header right
22:29:01 -!- jix has joined.
22:51:20 -!- Sgeo has joined.
22:58:51 -!- psygnisfive has joined.
23:35:26 -!- jix has quit ("...").
01:02:59 -!- Corun has quit ("This computer has gone to sleep").
02:08:37 <ais523> Slereah_: bsmnt_bot is a long-standing bot in this channel
02:08:49 <ais523> bsmntbombdood: does it still do Brainfuck?
02:09:09 <Slereah_> ais523 : but he usually shuts his trap
02:09:19 <ais523> someone's sending ~raw to it in /msg
02:09:28 <ais523> presumably bsmntbombdood, IIRC it doesn't work when other people do it
02:09:36 <ais523> ~raw PRIVMSG #esoteric :Testing.
02:13:10 -!- ais523_ has joined.
02:13:30 -!- ais523 has quit (Nick collision from services.).
02:13:32 -!- ais523_ has changed nick to ais523.
02:41:44 <MizardX> ~raw privmsg #esoteric :+ul (~raw privmsg #esoteric :Dangerous!)S
02:46:18 <ais523> MizardX: thutubot isn't here atm
02:46:37 <ais523> also, I still don't think bsmnt_bot responds to other people's ~raws
02:46:43 <ais523> I reckon bsmntbombdood sent it a copy of my ~raw in /msg to confuse people
02:47:03 <bsmnt_bot> +ul (~raw privmsg #esoteric :Dangerous!)S
02:47:48 * ais523 waits patiently for nothing to happen
02:48:10 <bsmnt_bot> SyntaxError: EOL while scanning single-quoted string
02:48:33 <ais523> that's the easiest way to tell, I wouldn't expect bsmnt_bot to do things out of order...
02:49:43 <kerlo> ~exec self.raw("JOIN ##nomic")
02:49:50 <kerlo> ~exec self.raw("PART ##nomic")
02:49:55 <kerlo> I love how easy that is to circumvent.
02:50:07 <ais523> ah, you're in ##nomic too
02:51:51 <kerlo> ~exec sys.stdout("foo")
02:51:55 <kerlo> ~exec sys.stdout(str("foo"))
02:51:59 <kerlo> ~exec sys.stdout(repr("foo"))
02:52:08 <ais523> someone find my BF interp in bsmnt-bot speak in the logs
02:52:15 <ais523> I had it in a text file, but the whitespace got corrupted
02:52:28 <ais523> (this is pretty much the direct cause of my hate for whitespace-sensitive languages)
02:52:46 <bsmntbombdood> ais523: programming over irc isn't exactly the usual usage case
02:53:02 <kerlo> ~exec (lambda x: sys.stdout(x + repr(x) + ')'))('~exec (lambda x: sys.stdout(x + repr(x) + \')\'))(')
02:53:03 <bsmnt_bot> ~exec (lambda x: sys.stdout(x + repr(x) + ')'))("~exec (lambda x: sys.stdout(x + repr(x) + ')'))(")
02:53:13 <ais523> I have written more Python in files than over IRC
02:53:15 <kerlo> ~exec (lambda x: sys.stdout(x + repr(x) + ')'))("~exec (lambda x: sys.stdout(x + repr(x) + ')'))(")
02:53:16 <bsmnt_bot> ~exec (lambda x: sys.stdout(x + repr(x) + ')'))("~exec (lambda x: sys.stdout(x + repr(x) + ')'))(")
02:53:23 <ais523> kerlo: repr's too clever for your first quine to work
02:53:31 <ais523> but that was pretty quick, well done
02:53:37 <kerlo> repr outclevered me!
02:53:53 <kerlo> Sometimes when a quine doesn't work, you can run its output instead. :-)
02:54:16 <ais523> I was talking about the original quine, but that's such a true observation
02:54:30 <MizardX> ~exec print 'a'; print 'b'
02:54:40 <ais523> MizardX: this is Python we're talking about...
02:55:04 <ais523> ~exec exec("print 'a'\nprint 'b'")
02:55:15 <ais523> but print won't do anything
02:55:26 <ais523> ~exec exec("sys.stdout('a')\nsys.stdout('b')")
02:55:42 <ais523> bsmntbombdood: by the way, have you ported bsmnt_bot to Python 3 yet?
02:55:44 <MizardX> ~exec sys.stdout(repr(locals()))
02:55:45 <bsmnt_bot> {'message': ':MizardX!n=MizardX@92.254.128.248 PRIVMSG #esoteric :~exec sys.stdout(repr(locals()))', 'r': <_sre.SRE_Match object at 0xf7c90068>, 'command': 'sys.stdout(repr(locals()))', 'self': <__main__.IRCbot instance at 0xf7c8b6ec>, 'env': ({'QuitIRC': <class __main__.QuitIRC at 0xf7c7768c>, 'thread_info': <thread._local object at 0xf7cf68a8>, 'exec_global_tracer': <fun
02:55:45 <bsmnt_bot> ction exec_global_tracer at 0xf7c7db1c>, 'pprint': <module 'pprint' from '/usr/lib/python2.4/pprint.pyc'>, 'StopHandlingCallbacks': <class __main__.StopHandlingCallbacks at 0xf7c7765c>, 're': <module 're' from '/usr/lib/python2.4/re.pyc'>, 'SysWrapper': <class __main__.SysWrapper at 0xf7c8541c>, 'exec_local_tracer': <function exec_local_tracer at 0xf7c8a5dc>, '__doc__': No
02:55:45 <bsmnt_bot> ne, 'math': <module 'math' from '/usr/lib/python2.4/lib-dynload/math.so'>, 'IRCbot': <class __main__.IRCbot at 0xf7c7780c>, 'args': {'ident': 'bsmnt', 'realname': 'bsmntbombdood bot', 'chan': ['#esoteric', '#esoteric-blah'], 'nick': 'bsmnt_bot', 'host': '85.188.1.26', 'exec_chans': ['#esoteric', '#baadf00d', '#esoteric-blah'], 'owner': 'bsmntbombdood!\\S*gavin@\\S*'}, '__b
02:55:50 <bsmnt_bot> uiltins__': <module '__builtin__' (built-in)>, '__file__': '/bot/ircbot.py', 'inspect': <module 'inspect' from '/usr/lib/python2.4/inspect.pyc'>, 'IRCFileWrapper': <class __main__.IRCFileWrapper at 0xf7c853ec>, 'sys': <module 'sys' (built-in)>, '__name__': '__main__', 'copy': <module 'copy' from '/usr/lib/python2.4/copy.pyc'>, 'types': <module 'types' from '/usr/lib/python
02:55:55 <bsmnt_bot> 2.4/types.pyc'>, 'RemoveCallback': <class __main__.RemoveCallback at 0xf7c776bc>, 'socket': <module 'socket' from '/usr/lib/python2.4/socket.pyc'>, 'thread': <module 'thread' (built-in)>, 'StringIO': <built-in function StringIO>, 'os': <module 'os' from '/usr/lib/python2.4/os.pyc'>, 'traceback': <module 'traceback' from '/usr/lib/python2.4/traceback.pyc'>, 'bot': <__main__
02:56:00 <bsmnt_bot> .IRCbot instance at 0xf7c8b6ec>, 'threading': <module 'threading' from '/usr/lib/python2.4/threading.pyc'>, 'time': <module 'time' from '/usr/lib/python2.4/lib-dynload/time.so'>, 'pickle': <module 'pickle' from '/usr/lib/python2.4/pickle.pyc'>, 'marshal': <module 'marshal' (built-in)>}, {...})}
02:56:09 <ais523> kerlo: introspection is fun
02:56:15 <ais523> especially with introspection/IRC bot mixes
02:56:28 <kerlo> I wonder how QuitIRC works.
02:56:30 <ais523> fun fact: it's possible to get gprolog to dump all the strings it knows of
02:56:34 <kerlo> ~exec sys.stdout(3)
02:56:38 <kerlo> ~exec sys.stdout(QuitIRC)
02:56:44 <ais523> some of them are filenames of files on the computers that built it
02:56:49 <kerlo> ~exec sys.stdout(dir(QuitIRC))
02:56:58 <kerlo> ~exec sys.stdout(dir(QuitIRC.__module__))
02:56:58 <bsmnt_bot> ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__str__', 'capitalize', 'cen
02:56:58 <bsmnt_bot> ter', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
02:57:08 -!- oerjan has joined.
02:57:50 <kerlo> ~exec sys.stdout('No.')
02:58:10 <kerlo> ~exec QuitIRC.__init__()
02:58:13 <bsmnt_bot> AttributeError: class QuitIRC has no attribute '__init__'
02:58:29 <kerlo> ~exec QuitIRC('baroo?')
02:58:29 <bsmnt_bot> TypeError: this constructor takes no arguments
02:58:48 <MizardX> ~exec sys.stdout(sys.version)
02:58:58 <ais523> kerlo: join #bsmnt_bot_errors if you're trying to do proper development on bsmnt_bot
02:59:14 <kerlo> ~exec sys.stdout(repr(sys.version))
02:59:15 <bsmnt_bot> '2.4.3 (#1, Oct 25 2006, 21:45:16) \n[GCC 4.1.1 (Gentoo 4.1.1)]'
02:59:28 <ais523> I like doing revgenos in the room with the Castle wand
03:00:02 <kerlo> Well, that's boring.
03:00:21 <kerlo> ~exec QuitIRC.__init__ = lambda: bot.raw('QUIT')
03:00:40 <kerlo> ~exec raise QuitIRC
03:00:41 <bsmnt_bot> TypeError: <lambda>() takes no arguments (1 given)
03:01:04 <bsmnt_bot> TypeError: <lambda>() takes no arguments (1 given)
03:01:16 <kerlo> ~exec QuitIRC.__init__ = lambda *x: bot.raw('QUIT')
03:01:18 <bsmntbombdood> ~exec self.register_raw(r".*quit1234.*", lambda *args:raise QuitIRC)
03:01:37 -!- bsmnt_bot has quit.
03:01:45 <bsmntbombdood> python is dumb, you can't have statements in a lambda
03:01:47 -!- bsmnt_bot has joined.
03:02:15 <kerlo> On the contrary, any way of doing it is doing it right.
03:02:29 <kerlo> It's Python, so you can just say 'import ai' and it will automatically optimize everything.
03:02:39 <bsmnt_bot> 0: 'self.handle_callback(message, m, i)', 0.00 seconds
03:03:18 <kerlo> ~exec while 1: __import__('time').sleep(60)
03:03:22 <bsmnt_bot> 0: "while 1: __import__('time').sleep(60)", 3.96 seconds
03:03:22 <bsmnt_bot> 1: 'self.handle_callback(message, m, i)', 0.00 seconds
03:03:45 <MizardX> ~exec sys.stdout(os.getcwd())
03:04:08 * oerjan recalls something about "from future import". wouldn't that be more appropriate?
03:04:22 <ais523> from __future__ import put_some_new_feature_here
03:04:34 <bsmnt_bot> 0: "while 1: __import__('time').sleep(60)", 75.87 seconds
03:04:34 <bsmnt_bot> 1: 'self.handle_callback(message, m, i)', 0.00 seconds
03:04:42 <bsmnt_bot> 0: "while 1: __import__('time').sleep(60)", 83.81 seconds, killed
03:04:42 <bsmnt_bot> 1: 'self.handle_callback(message, m, i)', 0.00 seconds
03:04:43 <ais523> "from __future__ import braces" is a standard running joke in Python, it seems
03:04:54 <bsmnt_bot> 0: "while 1: __import__('time').sleep(60)", 96.32 seconds, killed
03:04:55 <bsmnt_bot> 1: 'self.handle_callback(message, m, i)', 0.00 seconds
03:04:58 <kerlo> Running while killed.
03:05:07 <kerlo> Just wait 10 seconds.
03:05:10 <bsmnt_bot> 0: "while 1: __import__('time').sleep(60)", 112.05 seconds, killed
03:05:10 <bsmnt_bot> 1: 'self.handle_callback(message, m, i)', 0.00 seconds
03:05:20 <bsmnt_bot> 0: 'self.handle_callback(message, m, i)', 0.00 seconds
03:05:43 * oerjan wondered why xkcd didn't use it in the alt text here: http://xkcd.com/521/
03:06:24 <MizardX> ~exec sys.stdout(os.popen('ls').read())
03:07:23 <oerjan> ais523: except iirc from __future__ wasn't _just_ a joke, there were some features actually using it... or was i just duped?
03:07:38 <ais523> there are some features using it
03:07:43 <ais523> the from braces is a joke
03:07:57 <ais523> but genuinely it can be used to request features that are scheduled for future versions
03:08:02 <ais523> and are in this version, but not on by default
03:08:25 <ais523> sort of like Perl's very-slightly-backward-incompatible operators
03:08:33 <kerlo> ~exec sys.stdout('Y%sn%sconozc%scom%snosotr%s d%s som%s l%s lob%s'%'o ','o ','o ','o ','os','os','os','os','os')
03:08:33 <bsmnt_bot> TypeError: not enough arguments for format string
03:08:38 <kerlo> ~exec sys.stdout('Y%sn%sconozc%scom%snosotr%s d%s som%s l%s lob%s'%'o ','o ','o ','o ','os','os','os','os','os','os')
03:08:39 <bsmnt_bot> TypeError: not enough arguments for format string
03:08:39 <MizardX> ~exec sys.stdout(repr(dir(__import__('__future__'))))
03:08:44 <ais523> kerlo: you need an extra pair of parens
03:08:48 <bsmnt_bot> ['CO_FUTURE_DIVISION', 'CO_GENERATOR_ALLOWED', 'CO_NESTED', '_Feature', '__all__', '__builtins__', '__doc__', '__file__', '__name__', 'all_feature_names', 'division', 'generators', 'nested_scopes']
03:08:50 <ais523> around the right-hand arguments to %
03:08:53 <kerlo> ~exec sys.stdout('Y%sn%sconozc%scom%snosotr%s d%s som%s l%s lob%s'%('o ','o ','o ','o ','os','os','os','os','os'))
03:08:53 <bsmnt_bot> Yo no conozco como nosotros dos somos los lobos
03:09:08 <kerlo> Now all I need to do is figure out how to make this compression algorithm actually make it smaller.
03:10:46 <kerlo> Anyway, everyone knows /// is the best compression format.
03:10:57 <MizardX> ~exec sys.stdout(repr(('o ',)*4 + ('os',)*5))
03:10:57 <bsmnt_bot> ('o ', 'o ', 'o ', 'o ', 'os', 'os', 'os', 'os', 'os')
03:12:15 <kerlo> /#/! //@/o //!/os/Y@n@conozc@com@n!otr#d#som#l#lob!
03:12:22 <kerlo> Who cares if it's longer than the original? :-P
03:14:12 <ais523> kerlo: that looks vaguely like Perl
03:14:44 <ais523> except don't you re-replace the !s you replace the #s with?
03:30:49 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~quit ?(.*)', 'do_quit'),
03:30:49 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~raw (.*)', 'do_raw'),
03:30:49 <bsmnt_bot> ('^\\S+ PRIVMSG \\S+ :~ctcp (\\S+) (.+)', 'do_ctcp'),
03:30:50 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG (\\S*) :~pexec (.*)', 'do_exec'),
03:30:51 <bsmnt_bot> ('\\S+ PRIVMSG (#esoteric|#baadf00d|#esoteric-blah|#bsmnt_bot_errors) :~exec (.*)',
03:30:54 <bsmnt_bot> ('\\S+ PRIVMSG \\S+ :~ps', 'do_ps'),
03:30:56 <bsmnt_bot> ('^\\S+ PRIVMSG (#esoteric|#baadf00d|#esoteric-blah|#bsmnt_bot_errors) :~kill (.*)',
03:31:00 <bsmnt_bot> ('^ERROR :Closing Link:.*', '<lambda>')]
03:31:29 <ais523> bsmntbombdood: that's pretty ridiculous security, you care about a nick of bsmntbombdood and a username of gavin?
03:31:36 <ais523> I can understand securing on just nick
03:31:48 <ais523> but nick (which is changeable) + username (which is changeable) doesn't add an extra layer of security
03:32:02 <ais523> I mean, for things like ~quit
03:32:10 <ais523> caring about the username as well as the nick seems a bit silly
03:32:17 <bsmnt_bot> AttributeError: 'module' object has no attribute 'quit'
03:32:48 <bsmnt_bot> NameError: name 'do_quit' is not defined
03:33:17 <bsmnt_bot> NameError: name 'self_do_quit' is not defined
03:33:22 <bsmnt_bot> AttributeError: 'str' object has no attribute 'group'
03:34:14 -!- bsmnt_bot has quit ("bye").
03:34:16 -!- bsmnt_bot has joined.
03:34:32 <ais523> I admit that the security's pointless in the first place
03:34:48 <bsmntbombdood> ais523: like i said, that was added before i put it in a chroot
03:36:18 <ais523> thutubot isn't chrooted
03:36:28 <oerjan> do_run_around_screaming
03:36:31 <ais523> but I do run it in taint mode
03:36:34 <bsmntbombdood> ~exec self.register_raw(r".*asdfgg.*", lambda *args: self.raw("PRIVMSG #esoteric :my pickle still works!!!"))
03:36:40 <bsmnt_bot> NameError: global name 'self' is not defined
03:36:43 <ais523> so in theory people can't do anything with it but print stuff to stdout
03:37:06 <ais523> (Thutubot's run via compiling to Perl, and interpreting the result)
03:37:25 -!- bsmnt_bot has quit (Client Quit).
03:37:27 -!- bsmnt_bot has joined.
03:37:34 <bsmntbombdood> ~exec self.register_raw(r".*asdfgg.*", lambda *args: bot.raw("PRIVMSG #esoteric :my pickle still works!!!"))
03:37:40 <MizardX> ~exec sys.stdout((lambda s,r=[],o=[None]:reduce(lambda p,(i,s):[lambda:reduce(lambda s,(o,n):s.replace(o,n),r,s),lambda:o.__setitem__(0,s),lambda:r.append((o[0],s))][i%3]()or p,enumerate(s.split('/'))))("/#/! //@/o //!/os/Y@n@conozc@com@n!otr#d#som#l#lob!"))
03:37:40 <bsmnt_bot> Yo no conozco como nosotros dos somos los lobos
03:37:44 <ais523> bsmntbombdood: Thutu is not exactly efficient in the first place
03:37:53 <bsmnt_bot> IOError: [Errno 13] Permission denied: 'penis'
03:37:57 <ais523> it's even slower than Ruby
03:38:20 <bsmnt_bot> AttributeError: 'module' object has no attribute 'ls'
03:38:27 <bsmnt_bot> AttributeError: 'module' object has no attribute 'ls'
03:38:39 <bsmnt_bot> AttributeError: 'module' object has no attribute 'dir'
03:38:47 <oerjan> it's rather convenient for esolangers that IRCbots only need to do stdin -> stdout IO...
03:39:14 <ais523> that's the only reason Thutubot's possible
03:39:31 <ais523> well, I could use PSOX
03:39:45 <oerjan> real bots are written in machine code!
03:39:53 <ais523> but that's written in Python, it would start a flamewar if it was hooked up to a Perl interpreter
03:40:11 <oerjan> a flamewar all inside itself
03:42:22 <ais523> write in Thue, you get multithreadedness for free
03:42:47 <ais523> (longtime Thue or Thutu programmers will be aware that it's pretty easy to accidentally make a program multithreaded when you don't mean to...)
03:42:57 <ais523> easier in Thue than in Thutu, though
03:43:33 <ais523> http://esolangs.org/wiki/Thue
03:44:41 <ais523> no, I wrote one in Thutu
03:44:43 <ais523> http://esolangs.org/wiki/Thutu
03:46:23 <ais523> bsmntbombdood: if you're interested, http://filebin.ca/yzarrj/ul.t is an Underload interp I wrote in Thue
03:46:42 <ais523> pretty repetitive due to the lack of regexen
03:48:55 <ais523> bsmntbombdood: and http://pastebin.ca/1302138 is the source code to Thutubot
04:03:36 <ais523> psygnisfive: for which of those programs?
04:04:02 <ais523> all this is making me very confident about the Great Underlambda Project, when I get round to it
04:04:23 <ais523> which is a project to make compilers to Underlambda from as many known esolangs as possible
04:04:32 <ais523> and compilers from Underlambda to as many known TC esolangs as possible
04:04:36 <ais523> thus making them all interconvertible
04:04:51 <ais523> Underlambda interps in various langs will also be included
04:05:08 <ais523> ...and Underlambda is an Underload-based language I am currently designing to work well in this project
04:12:33 <ais523> psygnisfive: an Underload-like lang I haven't finished yet
04:12:39 <ais523> and whose spec keeps changing and is mostly stored in my head
04:12:46 <ais523> http://esolangs.org/wiki/Underload
04:13:13 <ais523> Underlambda is higher-level, but compiles into a subset of itself that's slightly lower-level than Underload
04:13:42 <ais523> which is an important trick to be able to compile both into it and out of it easily
04:14:27 * oerjan is amazed, no SHOCKED that psygnisfive hasn't grabbed onto this yet
04:14:52 <psygnisfive> i think the aSS part is completely irrelevant. lol
04:14:55 <Slereah_> I was making ass jokes of underload before it was cool
04:15:36 <oerjan> that's some IMPORTANT ass
04:15:52 <ais523> psygnisfive: the aSS stuff is coincidence
04:16:10 <ais523> the quine didn't even look like that in Overload, it just turned out like that once I tarpitted it into Underload
04:16:43 <oerjan> BUT YOUR SUBCONSCIOUS DISAGREES
04:17:06 <ais523> my subconcious must have been working on Underload way before me, in that case
04:18:09 <MizardX> ~exec sys.stdout('privmsg #esoteric :^ul (~exec sys.stdout("privmsg #esoteric ::P)S")')
04:18:09 <bsmnt_bot> privmsg #esoteric :^ul (~exec sys.stdout("privmsg #esoteric ::P)S")
04:18:24 <MizardX> ~exec sys.stdout('^ul (~exec sys.stdout(":P)S")')
04:18:42 <ais523> MizardX: you want an extra S at the end of that
04:18:57 <ais523> or something like that
04:19:10 <MizardX> ~exec sys.stdout('^ul (~exec sys.stdout(":P"))S')
04:19:10 <fungot> ~exec sys.stdout(":P")
04:22:37 <ais523> do you want me to create a botloop again?
04:22:40 <ais523> or will I get in trouble for that?
04:22:58 <ais523> let me think, I haven't done it with bsmnt_bot/fungot yet
04:22:58 <fungot> ais523: hitler wasn't that young either true some people found his statements about jews amusing, and it wouldn't show that the " pc" stands for a system this old, there is no
04:23:10 <ais523> fungot: Godwin's law invoked, you lose
04:23:11 <fungot> ais523: nope, he only serves his country, democratic or fnord. user:ted wilkested wilkes 20:46, 6 december 2005 ( utc)
04:23:56 <psygnisfive> the most elegant programming language ever!
04:24:16 <Slereah_> That's because C is like a boner in your butt
04:24:23 <psygnisfive> no, the language with boner arrays and butt loops
04:24:46 <bsmntbombdood> because they can just change the keywords and the language is just as elegant...
04:24:48 <psygnisfive> obviously the most elegant programming language ever is either scheme or haskell.
04:25:05 <bsmntbombdood> also, the most elegant programming language ever can't look like C
04:25:08 <ais523> psygnisfive: or Prolog
04:25:16 <ais523> which is elegant a different way
04:25:44 <psygnisfive> simple binding doesnt but unification does
04:28:13 <MizardX> ~exec (lambda s='~exec (lambda s=%r: sys.stdout(s%%s))()\n': sys.stdout(s%s))()
04:28:14 <bsmnt_bot> ~exec (lambda s='~exec (lambda s=%r: sys.stdout(s%%s))()\n': sys.stdout(s%s))()
04:28:28 <ais523> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*):^
04:28:37 <ais523> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:37 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:37 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:37 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:38 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:38 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:38 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:38 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:38 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:38 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:38 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:38 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:39 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:40 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:40 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:42 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:42 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:44 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:44 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:45 <ais523> someone break the loop!
04:28:46 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:46 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:48 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:48 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:50 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:50 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:52 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:52 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:54 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:54 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:56 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:56 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:58 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:58 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:00 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:00 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:02 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:02 <ais523> bsmntbombdood: break the loop, please?
04:29:02 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:04 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:04 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:06 <bsmnt_bot> 0: 'self.handle_callback(message, m, i)', 0.00 seconds
04:29:06 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:08 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:08 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:10 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:10 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:12 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:12 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:14 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:14 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:16 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:16 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:18 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:18 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:19 <ais523> bsmntbombdood: just ~quit
04:29:20 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:20 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:22 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:22 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:23 -!- bsmnt_bot has quit (Remote closed the connection).
04:29:25 -!- bsmnt_bot has joined.
04:29:38 <ais523> second try, I forgot the S to output first try
04:29:40 <psygnisfive> so you just type ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") ?
04:29:55 <ais523> well, I started on fungot not bsmnt_bot
04:29:56 <fungot> ais523: 87 113 d fr-200m fnord) ms (9/ 2-) 0 kev.
04:30:00 -!- bsmntbombdood has left (?).
04:30:00 -!- bsmntbombdood has joined.
04:30:00 <ais523> because that one's shorter
04:30:49 <ais523> I love Underload so much for writing quines...
04:30:58 <ais523> it's an excellent lang for the purpose
04:33:22 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
04:33:23 -!- psygnisf_ has joined.
04:33:24 <oerjan> bsmntbombdood: for a value of 15 close to 2
04:33:39 <oerjan> or wait you mean in #scheme?
04:34:10 <oerjan> you'd think scheme people would be accustomed to handling quines
04:34:30 <ais523> bsmntbombdood: was it a loop between two bots?
04:34:39 <Sgeo> <ais523> well, I could use PSOX
04:34:55 <Sgeo> What's this about PSOX?
04:35:03 <ais523> Sgeo: talking about how IRC using stdin/stdout was the only way that Thutubot could work
04:35:13 <ais523> and then remembering that PSOX would have provided an alternative if more streams were needed
04:35:28 <ais523> well, stdin/stdout can be mapped to the IRC streams, they generally aren't IRC by default
04:35:37 -!- bsmnt_bot has quit.
04:35:40 -!- bsmnt_bot has joined.
04:35:55 <Sgeo> But since you don't need extra streams, you're not using PSOX..
04:36:01 <oerjan> just checking if i remembered it
04:36:10 <ais523> not to mention that handling NULs is a bit tricky in most langs
04:36:12 <oerjan> in case someone else does a bot loop
04:36:29 <ais523> they can be expressed as \x0 in Thutu, just I don't know if putting them inside strings drives Perl mad
04:37:34 <Sgeo> If there's interest, I might work on an update to PSOX to allow langs restricted to alphanumerics to work with it
04:38:05 <ais523> the eso world probably needs something like PSOX. However, all attempts to do so seem to have ended in failure, for some reason
04:38:32 <Sgeo> ais523, lack of others expressing interest is the reason I abandoned PSOX
04:38:48 <ais523> yes, it's hard to get anyone to express interest in the eso world
04:39:00 <ais523> and most of the sort of things I work on, PSOX-stuff is irrelevant
04:39:14 <ais523> because I'm more interested in paradigms, which don't normally care about I/O
04:39:25 <Sgeo> I think everyone in the eso world lost interest
04:40:39 * Sgeo is reading a webcomic with 1 comic/day since before the universe began
04:40:57 <ais523> it's been linked here several times in the past
04:41:06 <ais523> and I read it, and ehird read it once and probably still does
04:41:13 <ais523> and lots of other people here do too, I reckon
04:41:28 <Sgeo> Yes, I was referring to mezzacotta
04:41:38 <MizardX> ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda s1=%r,s2=%r:sys.stdout.write(s1%%s2%%(s1,s2,n-1) if n else "stop"))(%d)': sys.stdout.write(s1%s2%(s1,s2,n-1) if n else "stop"))(3)
04:41:51 <ais523> MizardX: what is that program?
04:42:13 <ais523> are you attempting a bot loop with trivial Underload rather than trivial Python?
04:42:41 <MizardX> ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda s1=%r,s2=%r:sys.stdout(s1%%s2%%(s1,s2,n-1) if n else "stop"))(%d)': sys.stdout(s1%s2%(s1,s2,n-1) if n else "stop"))(3)
04:42:42 <ais523> (that's a pointer to where the syntax error is, btw, it probably only works in fixed-width font though and my client's using variable-width)
04:43:14 <MizardX> mirc strips repeated whitespace
04:43:21 <ais523> oh, not particularly useful then...
04:43:22 <oerjan> my question is, can you make a loop where _both_ sides do copying
04:43:46 <ais523> oerjan: it's surely possible, but wouldn't that result in exponential growth?
04:43:53 <ais523> or would you delete one of the copies on each side?
04:44:16 <oerjan> well the copied part would be the execution of the other...
04:44:57 <MizardX> ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)': sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(3)
04:44:57 <bsmnt_bot> ^ul (~exec (lambda s1='^ul (%s)S',s2='~exec (lambda s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(2))S
04:44:57 <fungot> ~exec (lambda s1='^ul (%s)S',s2='~exec (lambda s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(2)
04:44:57 <bsmnt_bot> NameError: global name 'n' is not defined
04:45:17 <MizardX> ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)': sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(3)
04:45:17 <bsmnt_bot> ^ul (~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(2))S
04:45:17 <fungot> ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(2)
04:45:18 <bsmnt_bot> ^ul (~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(1))S
04:45:18 <fungot> ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(1)
04:45:18 <bsmnt_bot> ^ul (~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(0))S
04:45:18 <fungot> ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(0)
04:45:42 <ais523> aha, a terminating botloop
04:45:43 <MizardX> that was what I was trying to do
04:45:47 <Sgeo> Is the mezzacotta algorithm public?
04:45:51 <ais523> now I have to write one in Underload
04:47:40 <Sgeo> It's supposed to be gibberish more often than not, and the only way of finding good ones is to look at the top rated?
04:48:16 <oerjan> i feel it has deteriorated since the start though, not enough people voting
04:48:39 <oerjan> or maybe not enough people looking for new ones
04:48:46 <Sgeo> So the algorithm doesn't check to make sure the responses are semi-coherent or obey any sort of grammar?
04:49:14 <oerjan> there are several characters, some of which look at previous speech
04:49:36 <oerjan> some of the characters are not _intended_ to be coherent
04:50:08 <Sgeo> Where does it get "previous speech" from?
04:50:16 <Sgeo> And where can I get an FAQ on all this?
04:50:18 <oerjan> er the previous panels
04:50:36 <oerjan> you could look at the forum discussion, there is no FAQ
04:50:50 <oerjan> as i said the algorithm is not publicized
04:51:53 <oerjan> anything known is just deduced from the examples
04:52:47 <oerjan> you could say the characters resemble the themes in fungot, some of them
04:52:48 <fungot> oerjan: deleted the word ' ' av". ( i'd change it but although i've made a report to fnord for fnord
04:53:38 <oerjan> there's an eliza psychologist program, a mad scientist, someone quoting the D&D player's handbook or something like that
04:53:51 <Sgeo> How is it that there are two good comics in 9999999999999 BC?
04:54:16 <Sgeo> Also, where are the forums?
04:54:22 <oerjan> since it's the first year, someone went to the trouble of looking through all of them
04:54:55 <ais523> ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*)~^:^
04:55:04 <ais523> ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:04 <fungot> ~exec sys.stdout("""^ul :((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^!!()()********::::::::""")
04:55:04 <bsmnt_bot> ^ul :((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^!!()()********::::::::
04:55:17 <ais523> ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~*~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:17 <fungot> ~exec sys.stdout("""^ul !!()()********:::::::::((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~*~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:17 <bsmnt_bot> ^ul !!()()********:::::::::((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~*~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:30 -!- moozilla has joined.
04:55:37 <ais523> ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:37 <fungot> ~exec sys.stdout("""^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:38 <bsmnt_bot> ^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:38 <fungot> ~exec sys.stdout("""^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:38 <bsmnt_bot> ^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:38 <fungot> ~exec sys.stdout("""^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:38 <bsmnt_bot> ^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:38 <fungot> ~exec sys.stdout("""^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:39 <bsmnt_bot> ^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:40 <fungot> ~exec sys.stdout("""^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:41 <bsmnt_bot> ^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:43 <fungot> ~exec sys.stdout("""^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:44 <bsmnt_bot> ^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:46 <fungot> ~exec sys.stdout("""^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:47 <bsmnt_bot> ^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:49 <fungot> ~exec sys.stdout("""^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:50 <bsmnt_bot> ^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:01 <ais523> and there we have it, a terminating botloop
04:56:05 <ais523> where the Underlambda part does the counting
04:56:16 * ais523 makes it twice as long
04:56:21 <ais523> ^ul (:*:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:21 <fungot> ~exec sys.stdout("""^ul (::::::::::::::::!!()()****************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:21 <bsmnt_bot> ^ul (::::::::::::::::!!()()****************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:21 <fungot> ~exec sys.stdout("""^ul (:::::::::::::::!!()()***************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:21 <bsmnt_bot> ^ul (:::::::::::::::!!()()***************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:22 <fungot> ~exec sys.stdout("""^ul (::::::::::::::!!()()**************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:22 <bsmnt_bot> ^ul (::::::::::::::!!()()**************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:22 <fungot> ~exec sys.stdout("""^ul (:::::::::::::!!()()*************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:22 <bsmnt_bot> ^ul (:::::::::::::!!()()*************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:24 <fungot> ~exec sys.stdout("""^ul (::::::::::::!!()()************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:24 <bsmnt_bot> ^ul (::::::::::::!!()()************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:27 <fungot> ~exec sys.stdout("""^ul (:::::::::::!!()()***********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:27 <bsmnt_bot> ^ul (:::::::::::!!()()***********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:30 <fungot> ~exec sys.stdout("""^ul (::::::::::!!()()**********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:30 <bsmnt_bot> ^ul (::::::::::!!()()**********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:33 <fungot> ~exec sys.stdout("""^ul (:::::::::!!()()*********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:33 <bsmnt_bot> ^ul (:::::::::!!()()*********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:36 <fungot> ~exec sys.stdout("""^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:36 <bsmnt_bot> ^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:39 <fungot> ~exec sys.stdout("""^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:39 <bsmnt_bot> ^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:42 <fungot> ~exec sys.stdout("""^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:42 <bsmnt_bot> ^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:45 <fungot> ~exec sys.stdout("""^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:45 <bsmnt_bot> ^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:48 <fungot> ~exec sys.stdout("""^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:48 <bsmnt_bot> ^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:51 <fungot> ~exec sys.stdout("""^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:51 <bsmnt_bot> ^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:54 <fungot> ~exec sys.stdout("""^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:54 <bsmnt_bot> ^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:57 <fungot> ~exec sys.stdout("""^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:57 <bsmnt_bot> ^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:57:57 <oerjan> Sgeo: huh, there doesn't seem to be a forum link from the main comic
04:58:01 -!- psygnisf_ has changed nick to psygnisfive.
04:58:07 -!- metazilla has joined.
04:58:15 -!- moozilla has quit (Nick collision from services.).
04:58:17 -!- metazilla has changed nick to moozilla.
04:58:42 <psygnisfive> and simultaneously, do you like girls? do you like boys?
04:59:01 <Slereah_> Ask him directly if he'll fuck you.
04:59:22 <oerjan> Sgeo: http://www.irregularwebcomic.net/draakslair/index.php
05:00:02 <psygnisfive> slereah_: i dont want him to. i just cant remember what bend he is.
05:00:02 <oerjan> it's a forum for several webcomics, the mezzacotta ones are the third sublist
05:00:17 <Sgeo> There are .. 2 threads in the mezzacotta forums on there
05:00:31 <psygnisfive> for some reason i have the feeling hes either not straight, or has exceptionally odd fetishes.
05:00:43 <ais523> Sgeo: probably because they aren't linked from the comic itself
05:00:55 <oerjan> Sgeo: whoops, it seems it's set to expire
05:04:09 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
05:04:33 -!- moozilla has joined.
05:05:15 <oerjan> Sgeo: ah, the forums were only linked from a blog post, which is buried a long way down
05:05:35 <oerjan> well it's _supposed_ to be half-baked :D
05:06:18 <ais523> oerjan: what do you think of my terminating botloop, by the way?
05:06:47 <ais523> I'm quite proud of that given that I wrote it at 4:55am
05:32:33 -!- oerjan has quit ("Succubus").
05:51:18 <bsmntbombdood> http://www.cs.uwaterloo.ca/research/tr/1999/09/CS-99-09.pdf
05:51:46 <bsmntbombdood> similar to http://en.wikipedia.org/wiki/Hashed_array_tree
05:54:21 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
05:54:24 -!- moozilla has joined.
06:01:39 <ais523> AnMaster: I know you're asleep now and I ought to be too, but I've finally started to review your C-INTERCAL patch submissions
06:06:32 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
06:06:34 -!- metazilla has joined.
06:17:27 <olsner> ais523: he should be getting up about now anyway
06:17:54 * ais523 laughs at oerjan's quit reason
06:52:57 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:02:55 <psygnisfive> i want to try some evolutionary programming
07:03:19 <psygnisfive> to try and create something nearly inscrutable, but simple, which solves some simple problem
07:51:33 <ais523> wow, when hunting down the HAVE_SYS_INTERPRETER bug, I tried Googling
07:51:55 <ais523> it seems that C-INTERCAL is the top hit for autoconf HAVE_PROG_SH, and the second hit for autoconf HAVE_SYS_INTERPRETER
07:52:03 <ais523> no wonder it isn't a high priority for the autconf developers...
07:54:49 <ais523> it is very very /very/ INTERCAL to use a documented feature of autoconf to check for something that ought to be checked for but nobody bothers
07:54:54 <ais523> pity they deprecated it
07:54:59 <ais523> incidentally: http://members.cox.net/stefanor/intercal.vim
07:57:05 -!- olsner has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:48:32 -!- GreaseMonkey has quit ("You only need one wheel. Bikers are just greedy.").
09:01:36 <ais523> or very late night, depending on your point of view
09:01:56 <AnMaster> ais523, 10:01 isn't "night" in any meaning of the work
09:01:57 * ais523 suddenly wonders the wisdom in checking for sh in an autoconf-based build system
09:02:05 <ais523> AnMaster: it is if you didn't go to sleep in the meantime...
09:02:11 <AnMaster> * ais523 suddenly wonders the wisdom in checking for sh in an autoconf-based build system <-- agreed
09:02:25 <ais523> the reason it was in there was that I used to have a bypass-autoconf alternative for the DOS build
09:02:28 <ais523> which worked even without sh
09:02:33 <ais523> I'm thinking about dropping that possibility, though
09:02:56 <AnMaster> ais523, well you could just #define it to be on except for dos
09:03:09 <AnMaster> so static forced on with autoconf
09:03:19 <AnMaster> and static forced off without autoconf
09:04:06 <ais523> that would deal with the PROG_SH thing
09:04:16 <ais523> and also explain why C-INTERCAL was the only hit
09:04:17 <AnMaster> interesting new tool in last valgrind release http://www.valgrind.org/docs/manual/pc-manual.html
09:04:23 <ais523> it's the HAVE_SYS_INTERPRETER that's the tricky one
09:04:30 <AnMaster> only issue it is detects a number of issues in ld.so
09:04:51 <AnMaster> apart from that cfunge passes it with flying colours
09:05:01 <AnMaster> and I can hardly fix those inside system libraries
09:05:05 <ais523> yes, looks interesting
09:05:28 <ais523> <AnMaster> and I can hardly fix those inside system libraries <--- if it happens in gcc-bf, let me know, you maybe could fix it there by telling me
09:05:39 <ais523> although I don't think valgrind's been ported to Brainfuck yet
09:06:09 <AnMaster> ais523, oh and *sometimes* it reports an issue inside asin()...
09:06:25 <AnMaster> but it says the tool is experimental
09:06:37 <AnMaster> anyway nothing directly in cfunge
09:07:00 <AnMaster> but some stuff in ncurses, ld.so, and (sometimes) libm.so
09:12:50 <AnMaster> ais523, oh also memcheck has some new cool option to detect uninitialised values when they happen or something rather than way way later
09:13:08 -!- moozilla has joined.
09:13:16 <AnMaster> it says it will run way way slower
09:14:31 <ais523> interesting, ptrcheck's one of the first programs I've seen that actually relies on various guarantees the C standard makes about pointers
09:14:56 <ais523> one of the perennial arguments at comp.lang.c is about whether pointers in theory have to still work if you split them into pieces and reassemble them
09:14:58 <AnMaster> ais523, it can break though, note the issue it mentions about " p = /* arbitrary condition */ ? &a[i] : &b[i];"
09:15:03 <ais523> and now we have a C implementation it breaks
09:15:14 <AnMaster> ais523, also it runs machine code
09:16:39 <AnMaster> ais523, I think an actual error checking C *interpreter* or at least byte code interpreter could be very interesting
09:17:11 <ais523> you could probably do that by mixing a modified gcc with a modified valgrind
09:17:19 <ais523> modified to share more information
09:17:42 <AnMaster> well, there is also libmudflap, and you can actually run a mudflap program under valgrind, strange I know...
09:17:57 <ais523> no theoretical reason why it wouldn't work
09:18:14 <AnMaster> ais523, well yes I think it is since for example boehm-gc + valgrind = sigsegv at startup
09:18:37 <AnMaster> and mudflap certainly does dirty stack tricks too
09:18:49 <ais523> ah, I didn't realise it did dirty stack tricks
09:19:02 <AnMaster> ais523, well I'm pretty sure I read that it did
09:19:16 <ais523> C-INTERCAL doesn't really do dirty stack tricks, at least the ones it does are sanctioned by the C standard
09:19:28 <AnMaster> ais523, oh and funny thing, mudflap has an option to "wipe on free()"
09:19:44 <AnMaster> since it tries to wipe a readonly mmap()
09:20:01 <ais523> sounds like a bug in mudflap
09:20:16 <ais523> probably they weren't expecting people to allocate read-only memory...
09:20:18 <AnMaster> ais523, yes and I don't have last gcc, I run stable gentoo, otherwise I would report it
09:20:28 <AnMaster> ais523, I don't, I mmap() a file as read only
09:20:53 * ais523 tries to figure out if a hypothetical read-only malloc would have any use
09:21:10 <ais523> I suppose you could try to determine if the system set unallocated memory to any particular value
09:21:13 <AnMaster> well mmap() and malloc() are quite different
09:21:42 <AnMaster> also checking unallocated memory is highly undef behaviour
09:22:12 <ais523> although I'm not entirely sure that the second is illegal via an unsigned char pointer
09:22:19 <ais523> but I'm dubious that it's legal, too
09:22:35 <AnMaster> how would memcpy() work otherwise?
09:22:36 -!- metazilla has quit (Connection timed out).
09:22:36 <ais523> you can get away with all sorts of things with unsigned char pointers that you can't with other things
09:23:01 <ais523> I mean the interp that defines memcpy knows that it can get away with doing that
09:23:38 <AnMaster> ais523, well, you can memcpy() a struct that is fully initialised but has padding. Even valgrind allows copying uninitialised memory without reporting error for that reason
09:23:44 <AnMaster> there would be too many errors otherwise
09:24:00 <ais523> AnMaster: yes, but imagine a hypothetical interpreter whose memcpy didn't copy padding
09:24:11 <ais523> and each byte in memory had an extra is_padding bit
09:24:22 <ais523> I don't think that violates the C standard, even though that's stupid
09:24:22 <AnMaster> ais523, then that would break tricks that copied them using other ways
09:25:09 <AnMaster> ais523, well if the struct is on the stack and not a pointer isn't it valid to copy with = iirc?
09:25:49 <AnMaster> that may be C99 or I may be wrong
09:26:14 <ais523> and the compiler knows about padding when it implements =
09:26:26 <ais523> in fact, I expect many compilers wouldn't copy the padding at all
09:26:38 <ais523> unless it was faster to do a block-copy than several move instructions
09:26:49 <ais523> it could be slower for a big struct, I agree
09:26:57 <ais523> I bet it would be faster for struct {char c; int i;} though
09:27:19 <AnMaster> ais523, depends, a single moveq should be faster on amd64 I expect
09:27:48 <AnMaster> moveq is gas name for it though iirc
09:28:33 <AnMaster> intel syntax use another name probably since amd64 ref docs talk about the "rex prefix byte" making operands of the next instruction 64-bit
09:30:03 <AnMaster> ais523, oh btw, ptrcheck for cfunge (in a run where it didn't complain about errors inside asinl()): http://rafb.net/p/DF6sVr22.html
09:30:20 <ais523> Mycology, by any chance?
09:30:32 <AnMaster> ais523, yes, and my ncurses and ld.so both have debugging info
09:30:47 <AnMaster> so I'm not sure why it doesn't report symbols in those
09:30:56 <ais523> it may be the wrong format of debugging info
09:31:01 <ais523> ptrcheck seems to care about dwarf3
09:31:23 <ais523> probably a dwarf3 variant
09:31:30 <AnMaster> Produce debugging information for use by GDB. This means to use the most expressive format available (DWARF 2, stabs, or the native format if neither of
09:31:30 <AnMaster> those are supported), including GDB extensions if at all possible.
09:31:42 <ais523> IIRC, it's "use whatever's best for gdb out of the formats I know, plus GNU extensions"
09:32:02 <AnMaster> ais523, well cfunge was built with -ggdb too
09:32:08 <AnMaster> and there are symbols for it in the trace
09:32:38 <AnMaster> Produce debugging information in DWARF version 2 format (if that is supported). This is the format used by DBX on IRIX 6. With this option, GCC uses fea‐
09:32:38 <AnMaster> tures of DWARF version 3 when they are useful; version 3 is upward compatible with version 2, but may still cause problems for older debuggers.
09:34:34 <AnMaster> ais523, well there is no option for pure dwarf3 in my man gcc, nor is cfunge built in any other way
09:34:41 <AnMaster> so something weird is going on there
09:35:08 <AnMaster> also I get the same odd errors from a simple valgrind --tool=exp-ptrcheck build/cfunge -h
09:36:54 <AnMaster> ==18184== Invalid read of size 8
09:36:54 <AnMaster> ==18184== at 0x343000D3BF: (within /lib64/ld-2.6.1.so)
09:36:54 <AnMaster> ==18184== by 0x3430432A18: exit (in /lib64/libc-2.6.1.so)
09:36:54 <AnMaster> ==18184== by 0x401375: (within /bin/echo)
09:36:54 <AnMaster> ==18184== by 0x343041DB73: (below main) (in /lib64/libc-2.6.1.so)
09:36:55 <AnMaster> ==18184== Address 0x3430739b98 is not derived from any known block
09:37:26 <AnMaster> ais523, well any binary I try on report those, I guess some missing suppression entries for whatever libc version I have
09:52:50 <ais523> as long as eso-std.org is effectively down, I'm here whenever I'm logged in
09:53:04 <AnMaster> I have profiled cfunge and the current largest speed problem is pushing strings
09:53:55 <AnMaster> any idea how to optimise? I have been wondering if maybe making funge stack grow down would help, it would mean I could memcpy() the string... on the other hand it would also mean that growing the stack wouldn't be a simple realloc() any more
09:57:31 <ais523> AnMaster: you could store a pointer to the string on the stack, rather than the string itself
09:57:41 <ais523> and only expand it if someone cares about the individual chars in it
09:57:47 <ais523> but that would be really complex
09:58:02 <ais523> ideally, you'd have to recognise print loops, etc, for it to work well
09:58:17 <AnMaster> yes it would and have the overhead of type tagging values
09:59:25 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
09:59:32 <AnMaster> ais523, it would basically need a total redesign, and for "" strings it is hard to use, in fact it stack_push_string() isn't used there since that would break threads badly
10:00:07 -!- moozilla has joined.
10:00:14 <AnMaster> stack_(push|pop)_string are used instead for stuff like fingerprint instructions and i, o, y and such that need to push and/or pop strings
10:04:18 -!- Corun has joined.
10:08:27 <AnMaster> basically like C++ templates but in C, by using macros
10:09:58 <ais523> AnMaster: that's far more fun using gcc extensions
10:10:05 <ais523> typeof and ({ }), in particular
10:11:04 <AnMaster> ais523, well I was thinking generating the result types statically, like putting something like this in the header: GEN_FUNCS(char)
10:11:28 <AnMaster> and with other macros you could hide this
10:12:13 <AnMaster> ais523, anyway it is strange that C99 has tgmath.h but not typeof()
10:12:34 <AnMaster> how did they think tgmath.h would be implemented without typeof()
10:13:12 <AnMaster> ais523, not really, how would it work for complex types?
10:13:27 <ais523> I thought tgmath was just float vs double vs long double
10:13:40 <AnMaster> ais523, doesn't it support the complex variants too?
10:14:17 <AnMaster> 4 For each unsuffixed function in <math.h> for which there is a function in
10:14:18 <AnMaster> <complex.h> with the same name except for a c prefix, the corresponding type-
10:14:18 <AnMaster> generic macro (for both functions) has the same name as the function in <math.h>. The
10:14:18 <AnMaster> corresponding type-generic macro for fabs and cabs is fabs.
10:14:53 <ais523> I'm having trouble parsing that paragraph...
10:14:58 <ais523> and clearly, it isn't fabs
10:15:06 <ais523> because that isn't a tgmath function
10:15:30 <AnMaster> ais523, it isn't? GCC's tgmath support is incomplete
10:15:43 <ais523> I meant, it would be called something else
10:15:53 <AnMaster> http://rafb.net/p/xK94QQ46.html
10:15:53 <ais523> just the tgmath version is called something else IIRC
10:18:11 <AnMaster> ais523, http://rafb.net/p/8QZbDk26.html
10:20:13 <AnMaster> hah from my system tgmath.h: "/* This is ugly but unless gcc gets appropriate builtins we have to do something like this. Don't ask how it works. */"
10:20:19 <AnMaster> # define __floating_type(type) (((type) 0.25) && ((type) 0.25 - 1))
10:20:49 <ais523> I don't see why the part after the && is needed
10:20:57 <ais523> or are there types which round upwards?
10:22:16 <AnMaster> # define __tgmath_real_type_sub(T, E) \
10:22:16 <AnMaster> __typeof__(*(0 ? (__typeof__ (0 ? (double *) 0 : (void *) (E))) 0 \
10:22:16 <AnMaster> : (__typeof__ (0 ? (T *) 0 : (void *) (!(E)))) 0))
10:23:02 <ais523> heh, that's really clever
10:23:12 <ais523> it's exploiting the type of ?:'s return value rules
10:23:21 <ais523> to do the tgmath calcuation in one macro
10:24:05 <AnMaster> ais523, I don't know what those rules are
10:24:57 <ais523> AnMaster: remember I haven't gone to bed yet, I'm not really in a fit state to work it out
10:25:07 <ais523> and my quick explanation of how it works may be completely wrong
10:26:54 <AnMaster> ais523, about those ick patches
10:27:13 <ais523> I have a funky error message for the buffer overflow
10:27:19 <AnMaster> ais523, also: http://rafb.net/p/bro27D69.html
10:27:34 <ais523> AnMaster: ick_snprintf_or_die
10:27:39 <ais523> it's BETTER LATE THAN NEVER
10:27:42 <ais523> given the circumstances that cause it
10:27:46 <AnMaster> it was so long ago that I worked on it
10:28:54 <AnMaster> wow...... http://rafb.net/p/2pUgX781.html
10:29:00 <ais523> hmm... ick build is giving more warnings now
10:29:07 <ais523> but I think that's because you tweaked the warning level up
10:29:11 <ais523> rather than due to buggier code
10:29:19 <AnMaster> ais523, I didn't in configure.ac afaik
10:29:43 <ais523> warning: ignoring return value of ‘system’, declared with attribute warn_unused_result
10:29:55 <ais523> I wonder what's causing that
10:30:17 <AnMaster> __attribute__((warn_unused_result))
10:30:28 <AnMaster> I think it is included in -Wall
10:30:48 <ais523> I'm wondering why it's happening now, and wasn't before
10:30:54 <ais523> hmm... maybe due to an OS upgrade
10:30:57 <ais523> I might have better header files now
10:31:08 <ais523> anyway, why check the return value from system? It's unportable
10:31:36 <ais523> AnMaster: its return value is unportable
10:31:45 <ais523> it's not defined to mean anything in particular, IIRC
10:31:54 <ais523> (its argument is unportable too, but has more of a consistent meaning)
10:31:56 <AnMaster> extern int system (__const char *__command) __wur;
10:32:04 <AnMaster> it seems __wur means warn_unused_result
10:32:51 <fizzie> system(NULL) has a defined return value, though. But system() with a non-null argument has a completely implementation-defined value.
10:33:05 <AnMaster> fizzie, what is the result of system(NULL)?
10:33:14 <AnMaster> I suspect it is defined by POSIX
10:33:34 <AnMaster> which may be the reason that linux headers think you should check the result
10:33:34 <fizzie> system(NULL) returns nonzero "if a command processor is available". Of course that's a bit vague, too.
10:35:35 <fizzie> POSIX does define it, yes.
10:35:41 <ais523> it vaguely means that system(NULL) returns nonzero if you can ever get system to do anything
10:35:43 -!- Corun has quit ("This computer has gone to sleep").
10:35:47 <ais523> and zero if it's a no-op
10:36:43 <fizzie> Actually I don't see a clear definition what system("foo"); should do if system(NULL) returns zero.
10:36:58 <ais523> no, but in practice no-op seems likely
10:37:13 <ais523> anyway, how much more implementation-defined can you get than "causes the implementation to act in an implementation-defined manner"?
10:37:58 <AnMaster> /home/anmaster/cfunge/trunk/src/fingerprints/DATE/DATE.c:123: warning: cast from function call of type 'long double' to non-matching type 'long long int'
10:38:02 <AnMaster> return (fungeCell)roundl(jdn);
10:38:04 <fizzie> C99 verbiage is: "-- passes the string -- to that command processor to be executed in a manner which the implementation shall document; this might then cause the program calling system to behave in a non-conforming manner or to terminate."
10:38:20 <ais523> AnMaster: what is jdn?
10:38:22 <AnMaster> why would I cast the function call, I'm casting the result
10:38:44 -!- Corun has joined.
10:38:44 <AnMaster> anyway the issue is that I'm trying to cast the result of roundl()
10:38:47 <ais523> and what's the type of roundl?
10:39:13 <AnMaster> long double roundl(long double x);
10:39:20 <ais523> hmm... your compiler doesn't like casting from long double to long long int
10:39:28 <ais523> because the long long int might not fit in a long double, presumably
10:39:43 <ais523> they only have a bit over 50 bits of precision, IIRC
10:39:48 <AnMaster> long double tmp = roundl(jdn);
10:40:03 <AnMaster> only if I directly cast the result of roundl()
10:40:45 <ais523> the warning seems to be something specific
10:40:48 <ais523> I wonder why it's there
10:40:53 <ais523> I mean, the error message is pretty specific
10:41:25 <AnMaster> ais523, it seems to happen whenever I put (integer-type-goes-here)function_that_returns_a_floating_point_type();
10:41:45 <ais523> I wonder why that's a warning
10:41:53 <ais523> I'd expect splint to warn about that sort of thing
10:41:56 <ais523> but then, it warns about everything
10:42:18 <ais523> it even has options for enforcing naming conventions on variables, IIRC
10:43:53 <AnMaster> ais523, hm -Wbad-function-cast cause it
10:44:01 <AnMaster> -Wbad-function-cast (C and Objective-C only)
10:44:01 <AnMaster> Warn whenever a function call is cast to a non-matching type. For example, warn if "int malloc()" is cast to "anything *".
10:44:11 <AnMaster> now that doesn't make much sense
10:44:18 <ais523> I see what's going on here
10:44:28 <ais523> casting malloc hides errors due to forgetting to include stdlib.h
10:44:34 <ais523> in which case it's int malloc implicitly
10:44:50 <ais523> that's gcc's attempt to nevertheless produce a warning when that happens
10:45:06 <ais523> anyway, I don't see why you have the cast there at all
10:45:13 <AnMaster> ais523, sure, in that case it would be int-to-anything
10:45:14 <ais523> long double casts implicitly to long long int...
10:45:38 <ais523> and as comp.lang.c will tell you, implicit casts are better than explicit casts
10:45:43 <AnMaster> ais523, also gcc already warns about missing prototypes
10:45:54 <ais523> (the only reason NULL is cast to const char* for lose.h is the ridiculousness, AFAICT...)
10:46:19 <AnMaster> ais523, I was trying to shut up ICC's warning about "may change the value"
10:46:32 <AnMaster> also a 32-bit build would be long double -> int cast
10:46:57 <ais523> the function is declared to return a fungeCell, isn't it?
10:47:00 <ais523> so they cast is just redundant
10:47:07 <AnMaster> /home/anmaster/cfunge/trunk/src/fingerprints/DATE/DATE.c(123): warning #810: conversion from "long double" to "fungeCell={int32_t={int}}" may lose significant bits
10:47:28 <ais523> I dislike the may lose significant bits warnings
10:47:34 <ais523> but they're also what I mean
10:47:44 <AnMaster> ais523, yes and even useful sometimes, it helped me catch a few bugs
10:47:47 <ais523> I remember just turning that one off, back when I used to use bcc
10:47:51 <fizzie> With an existing prototype the warning is a bit unexpected, since the compiler knows the "physical" type of the return value of roundl and should be able to work "correctly".
10:48:26 <fizzie> Java is very fond of "may lose bits" warnings, which are actually errors there.
10:48:35 <ais523> I probably wouldn't have even used roundl
10:48:45 <AnMaster> ais523, also gcc-4.3.2 warns about "may lose ..." with -Wconversion
10:48:45 <ais523> more likely I'd have added 0.5, then implicitly casted the return value
10:48:49 <ais523> although I'm not sure that works for negatives
10:48:56 <fizzie> And not related, but: there's llroundl which does directly "long double" -> "long long int"; of course that's not very useful for you if you want it to work no matter what the fungeCell type is.
10:49:30 <ais523> there's lots of ifdefs for 32/64-bit in cfunge anyway
10:49:46 <AnMaster> ais523, yes but I use int64_t/int32_t
10:49:55 <AnMaster> and almost all those ifdef are in one header
10:50:06 <ais523> well, there's nothing wrong with casting to long long
10:50:17 <ais523> and then relying on low-bit preservation
10:50:20 <ais523> but that probably gives warnings
10:51:00 <fizzie> The round/lround/llround always round to the nearest integer, with halfway cases away from zero, no matter what the rounding mode is. That's not exactly what +0.5 and truncation does.
10:51:06 <AnMaster> well, one issue is that some *bsd lack the *l math.h functions
10:51:19 <AnMaster> freebsd have roundl but lacks sinl for example
10:51:46 <AnMaster> (which is the reason I check and fall back on the double version)
10:51:48 -!- puzzlet has quit (Remote closed the connection).
10:51:56 -!- puzzlet has joined.
10:52:28 <AnMaster> iirc round() isn't in C89 either
10:57:28 <Ilari> Why its converting from long double anyway?
10:57:44 <AnMaster> is casting a double NaN to integer undefined?
10:58:22 <AnMaster> Ilari, the program? because it did floating point computations and want an integer result, it is converting from year/month/day to whole number julian day number
10:58:23 <ais523> Ilari: round returns floating-point...
10:58:33 <AnMaster> which need floating point computation in between
10:58:44 <ais523> wait, why does year/month/day to Julian involve floating point?
10:58:54 <AnMaster> and it needs the round() rounding behaviour when it comes to negative julian days
10:59:08 <Ilari> Round returns floating point, but it also takes floating point as argument (otherwise it wouldn't make any sense).
10:59:09 <AnMaster> ais523, because it returns the wrong result otherwise?
11:00:23 -!- Corun has quit (Read error: 104 (Connection reset by peer)).
11:00:36 <Ilari> Err, year/month/day to Julian day number involves floating point computations?
11:01:04 <AnMaster> integer division made it break
11:01:12 <AnMaster> long double jdn = date->day + floorl((153 * m + 2)/5.0) + 365 * y
11:01:12 <AnMaster> + floorl(y/4.0) - floorl(y/100.0) + floorl(y/400) - 32045;
11:01:36 <AnMaster> if you use integer division there instead it breaks, no I didn't bother figuring out why
11:02:08 <AnMaster> possibly some of those don't need it
11:02:51 -!- metazilla has joined.
11:02:57 -!- moozilla has quit (Nick collision from services.).
11:03:43 <AnMaster> int64_t a = floorl((14 - date->month) / 12.0);
11:03:55 <AnMaster> looking at that it should be possible to change y to int64_t
11:04:03 <AnMaster> BAD: J should push -1119007 given [-7777,2,29]
11:04:18 <Ilari> Ah, negative values of y.
11:04:27 <AnMaster> Ilari, yes they need to be correct of course...
11:05:18 <AnMaster> ais523, I hope that explains it for you too?
11:06:01 <AnMaster> in fact I'd go as far as calling the current calculations I use for this "extremely brittle" and thus I don't want to change anything in them if possible
11:06:55 <AnMaster> julian_to_ymd() is even worse, it needs casting to integer almost all the time
11:08:46 -!- Corun has joined.
11:09:10 <AnMaster> Ilari, ais523 if you are interested, here is the relevant code for converting back and forth, most code I found on the web only handled positive julian day numbers so here is some code that handles negative ones too: http://rafb.net/p/33SjNl24.html
11:09:29 <AnMaster> as far as I know it is correct, at least for the values that mycology tests
11:11:46 <AnMaster> yes I wrote the code and no I don't fully understand it :P
11:15:50 <Ilari> Probably easiest way to get rid of those FP ops would be to have dedicated function that performs that division and floor using only integer math...
11:16:14 <AnMaster> Ilari, why would I want that? integer division isn't much faster than floating point division
11:17:05 <AnMaster> in fact I suspect that floating point math ends up as significantly faster in this case, at least on most non-embedded architectures
11:17:28 <ais523> probably slower if you don't have an FPU
11:17:36 * ais523 shoots an angry glance at gcc-bf
11:20:51 <AnMaster> well, I designed cfunge for common desktop computers, which means x86/amd64. Though it should work just as fine on other architectures, such as PPC and so on (but I don't have the possibility to test on such). And it should *work* on other arches as well
11:21:04 <AnMaster> like gcc-bf, if it can support the POSIX facilities needed
11:21:22 <ais523> hopefully it'll be able to eventually
11:21:33 <AnMaster> ais523, I suspect it wouldn't work with the build system though
11:22:02 <AnMaster> cross compiling to gcc-bf using cmake, probably nopt
11:22:33 <AnMaster> in fact I never tried cross compiling cfunge
11:22:37 <AnMaster> nor do I have a cross toolchain
11:22:50 <ais523> I have two cross toolchains
11:23:03 <ais523> gcc-bf, which doesn't produce working executables yet but is good enough to test with
11:23:13 <ais523> and an ARM cross-toolchain I used for a project a couple of years back
11:23:17 <AnMaster> also I think when it checks for header files it may check system headers. It certainly ignore feature rest macros when looking for functions I know
11:23:21 <ais523> which is the one I normally use to test cross-compile setups
11:23:47 <AnMaster> qemu can emulate non-native arches
11:24:05 <AnMaster> sparc, ppc and arm for example it seem
11:24:26 <AnMaster> and binary emulation, just running a binary and not a full os. heh?
11:25:16 <ais523> although it goes into virtualisation mode when host processor = target processor
11:25:34 <ais523> binary emulation is kind-of clever
11:25:58 <AnMaster> * User mode emulation. In this mode, QEMU can launch processes compiled for one CPU on another CPU. It can be used to launch the Wine Windows API emulator (http://www.winehq.org) or to ease cross-compilation and cross-debugging.
11:26:16 <AnMaster> ais523, that seems quite useful
11:26:31 <ais523> I've never got it to work, although I haven't really tried
11:26:41 <ais523> just one quick try failed and I never bothered to look up the correct syntax
11:26:47 <AnMaster> ais523, I know a friend who got it to work using static binaries
11:26:59 <AnMaster> didn't work for dynamic without lots of weird tricks he said
11:27:55 <AnMaster> hm anyone knows an emulator for lisp machines?
11:28:00 -!- oklofok has quit (kornbluth.freenode.net irc.freenode.net).
11:28:00 -!- sebbu has quit (kornbluth.freenode.net irc.freenode.net).
11:28:00 -!- comex has quit (kornbluth.freenode.net irc.freenode.net).
11:28:01 -!- lament has quit (kornbluth.freenode.net irc.freenode.net).
11:28:08 <ais523> AnMaster: what about a Lisp interp?
11:28:13 <ais523> or does that not count?
11:28:40 <AnMaster> ais523, well I assume a real lisp machine would have some extra commands like possibly something for shutting down and so on
11:29:24 <AnMaster> also what lisp dialect did the lisp machines use?
11:29:35 -!- oklofok has joined.
11:29:35 -!- sebbu has joined.
11:29:35 -!- comex has joined.
11:29:35 -!- lament has joined.
11:51:58 <AnMaster> what do you call the L after #define FOO 19237L
11:51:59 <ais523> yes, more or less, but not really paying attention
11:52:11 <ais523> hmm... I mentally pronounce it as the letter L
11:52:14 <ais523> I'm not sure it has a name
11:52:24 <ais523> probably it's something like type specifier
11:52:31 <AnMaster> I'm trying to find it in C99 spec...
11:53:31 <fizzie> Type suffix, or something.
11:53:35 <fizzie> Some sort of suffix it was.
11:54:22 <fizzie> "integer-suffix" is the name in the syntax part.
11:54:50 <fizzie> "An integer constant -- may have a prefix that specifies its base and a suffix that specifies its type."
11:59:06 <fizzie> Given those quotations, "type suffix" isn't the worst possible name, anyway. (Unless you want to explicitly refer to the integer constant suffix in 6.4.4.1 and not to the corresponding F/L suffixes for floating-point constants in 6.4.4.2.)
11:59:42 <AnMaster> fizzie, I was actually looking for what the floating point ones were
11:59:52 <AnMaster> so I probably wanted the generic name
12:00:01 <AnMaster> "The value of an integer character constant containing more than one character (e.g., 'ab'), or containing a character or escape sequence that does not map to a single-byte execution character, is implementation-defined."
12:00:39 <ais523> AnMaster: for entering Unicode execution characters on an ASCII source character set
12:00:46 <ais523> although they invented \u since, so it's probably moot now
12:01:08 <ais523> still, say your program is written in EBCDIC and the execution set is ASCII, what should ¬ map to?
12:01:11 <AnMaster> ais523, then one would use wchar_t not char
12:01:26 <ais523> "implementation-defined" is at least a nice handwavy way to avoid the problem
12:01:51 <AnMaster> ais523, well it means you can't depend on any specific behaviour
12:02:38 <ais523> yes, but if your source and execution character sets aren't the same, your implementation details probably matter
12:02:44 <ais523> and L'' is for wchar_t constants, IIRC
12:03:25 <fizzie> There's a corresponding L"foo" for strings of wchar_t.
12:03:36 <AnMaster> hm is there any library for floating point > long double?
12:03:44 <AnMaster> such as 256 bit floating point or whatever
12:04:56 <fizzie> You could use some arbitrary-precision one, I think at least some of those have well-twiddleable settings. Maybe not as fast as a fixed K-bit floating-point lib.
12:05:25 <AnMaster> fizzie, arbitrary-precision wouldn't be floating point would it?
12:05:42 <AnMaster> rather based on fractions or something
12:06:06 <fizzie> GMP at least has functions for arbitrary-precision integers, rationals or floating-point (mpf*) values.
12:06:22 <AnMaster> does it have a constant for pi ;P
12:07:05 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
12:07:10 -!- puzzlet has joined.
12:07:27 <fizzie> The mpf-floats have a fixed-size exponent ("2^-68719476768 to 2^68719476736" on a 32-bit system, something larger for 64-bit; it doesn't seem to be exactly the exponent) and arbitrary-precision mantissa.
12:08:53 <fizzie> You can select the mantissa precision when initializing a variable; the mpf_* functions will truncate to the precision of the destination variable.
12:09:31 <fizzie> Although the precision is "at least x bits" and not "exactly x bits", but I don't think that usually matters much.
12:09:40 <AnMaster> ais523, you should use the comma operator more in ick
12:09:47 <AnMaster> would make the code more confusing
12:10:10 <ais523> AnMaster: there's some of that in clc_cset.c, IIRC
12:10:21 <ais523> but that's one of the more confusing files of the lot, it even confuses me
12:11:34 <fizzie> The GMP floats do lack infinities and NaNs, though.
12:12:05 <AnMaster> ais523, hm clc-cset.c does have confusing indentation...
12:12:18 <AnMaster> while(j<cs->setlen*cs->shifts)
12:12:18 <AnMaster> if((cs->set[j++]=(unsigned char)(c=ipf(in))),c==EOF && in != NULL)
12:12:18 <AnMaster> {if(in) (void)fclose(in); return;}
12:12:38 <ais523> that indentation is not only confusing, it's correct
12:12:51 <ais523> the while only has one statement as argument, so it's indented 2 to the right
12:13:03 <ais523> and opening brace is on the same column as the if it applies to
12:13:13 <AnMaster> ais523, there should be some newlines there
12:13:22 <ais523> (clc-cset.c is possibly the only good argument I've seen for GNU-style indentation, by the way)
12:13:33 <ais523> and yes, of course there shuold be, but that's missing the point
12:13:48 <AnMaster> while(j<cs->setlen*cs->shifts)
12:13:48 <AnMaster> if((cs->set[j++]=(unsigned char)(c=ipf(in))),c==EOF && in != NULL) {
12:13:59 <ais523> that looks ridiculous, though
12:14:06 <ais523> admittedly, the original also looks ridiculous
12:14:25 <AnMaster> I'm not sure what the line if((cs->set[j++]=(unsigned char)(c=ipf(in))),c==EOF && in != NULL) does
12:14:50 <AnMaster> ais523, is that (c==EOF) && in or c==(EOF && in)?
12:15:02 <AnMaster> what is the precedence order there
12:15:06 <ais523> ((c==EOF) && (in != NULL))
12:15:13 <ais523> C precedence is not something I have problems with
12:15:31 <ais523> although I find it's funnier and more confusing to overparenthesise than underparenthesise when I'm writing obfuscated C
12:15:38 <AnMaster> ais523, well I use so many different languages that I end up not remembering precedence of any
12:16:01 <ais523> C precedence is a subset of Perl precedence
12:16:06 <ais523> which reduces the number by 1
12:16:25 <fizzie> && having higher precedence than == would be really freaky; I for one would not expect "a == 0 && b == 1", which is not uncommon, to be parsed like "a == (0 && b) == 1".
12:16:56 <ais523> I can't remember offhand which way == associates, which would also be relevant there
12:17:08 <ais523> the associativity of == is something I don't think has ever come up for me, even in obfuscated code
12:17:18 <ais523> (I know which way = associates, that's much more common)
12:17:37 <ais523> arguably, a == b == c should actually associate as (a == b) && (b == c), but that's a stretch
12:18:05 <AnMaster> oh and erlang got some really odd precedence issues, and/or have very high precedence (higher than ==), but the short-circuit variants andalso/orelse have low precedence (lowest of them all)
12:18:33 <ais523> AnMaster: that is strange
12:18:40 <ais523> Perl has two and/or operators
12:18:41 <AnMaster> ais523, http://rafb.net/p/Chsqmt44.html
12:18:47 <ais523> && has the same precedence as in C
12:18:53 <ais523> whereas and is very very low precedence
12:19:19 <ais523> it's used as a substitute if statement, normally
12:19:26 <fizzie> There was something really silly in C operator precedences, though. Was it so that & has a lower precedence than == -- so that you need "(a & 1) == 1" for masking, since "a & 1 == 1" would be "a & (1 == 1)" -- because back in the dawn of C the && operator didn't exist yet.
12:19:47 <ais523> fizzie: yep, that's it
12:20:06 <ais523> and & is still usable for logical and if you have a comparison on both sides
12:20:15 <ais523> you just have to remember it doesn't short-circuit so probably is less efficient
12:20:42 <ais523> (incidentally, gcc compiles (a == b) & (c == d) to appropriate arithmetic code involving the status word, if that's expressible on the target platform)
12:21:01 <AnMaster> if((padstyle==1&&(i==1||i==9) && !(outword&(1<<(co->nbytes*8-i)))) || (padstyle==2&&(rand()>RAND_MAX/2||!outword)))
12:21:21 <AnMaster> if((padstyle==1&&(i==1||i==9) && !(outword&(1<<(co->nbytes*8-i)))) ||
12:21:21 <AnMaster> (padstyle==2&&(rand()>RAND_MAX/2||!outword)))
12:21:41 <AnMaster> or possibly broken mixing of tab and space
12:21:46 <fizzie> You probably should look at it with an 8-space tab.
12:21:59 <AnMaster> fizzie, well that is broken IMO.
12:22:09 <fizzie> Broken, but not weird.
12:22:41 <AnMaster> else outword |= (unsigned short)((val>>(co->bitorder[i]-'a'))&1)
12:22:59 <AnMaster> not using a newline after else is strange too
12:23:10 <AnMaster> at least when the statement is multi-line
12:23:24 <fizzie> All that reminds me of Nethack sources. Especially since it involves rand.
12:23:54 <AnMaster> static void ick_bitencout(char** pop, const struct cset* co,
12:23:54 <AnMaster> unsigned short val, int padstyle)
12:24:28 <fizzie> Only for padstyle==2, though.
12:25:11 <ais523> AnMaster: it's for random padding of the high bits of characters
12:25:22 <ais523> if, say, you have a 7-bit character set like ASCII
12:25:28 <ais523> and you're trying to store it on an 8-bit system
12:25:37 <ais523> C-INTERCAL lets you choose what to do with that bit
12:25:38 <AnMaster> then all first would be 0 wouldn't they?
12:25:50 <ais523> AnMaster: you have three choices: pad with 0, pad to printable, pad with random
12:25:59 <ais523> pad to printable is particularly useful on 5-bit character sets
12:26:00 <AnMaster> ais523, it would make sense to have "no padding"
12:26:18 <ais523> AnMaster: nobody stores ASCII packed 8 chars to 7 bytes
12:26:36 <ais523> although that as another option would be interesting
12:26:56 <ais523> and something like that will probably be needed if/when I add support for UTF-9
12:27:20 <AnMaster> ais523, wouldn't you store it padded in 16 bits?
12:27:21 <fizzie> There's no "pad to even/odd parity" option? :p
12:27:31 <ais523> anyway, the randomly padded thing is needed
12:27:31 <AnMaster> fizzie, hah that would be nice too
12:27:40 <ais523> fizzie: no, but only because I didn't think of it
12:27:44 <AnMaster> really? what needs random padding?
12:27:44 <ais523> of course that one's necessary
12:27:53 <ais523> AnMaster: it's in the CLC-INTERCAL spec for something, IIC
12:28:02 <ais523> although I think that was binary data
12:28:10 <AnMaster> ais523, how would it be able to detect *random* padding
12:28:12 <ais523> which is padded from 8 bits to 16 bits for no apparent reason
12:28:16 <AnMaster> there is no way you can verify it
12:28:28 <ais523> AnMaster: it doesn't at the moment, but threatens the possibility of randomness checks in the future
12:28:40 <ais523> besides, the other way round, compiler-generated randomness, can be checked mycorand-style
12:28:44 <ais523> AnMaster: usually impossible
12:29:02 <ais523> but programs failing to work at random, or scamming the randomness checks, would both be very in-the-spirit-of-INTERCAL
12:29:52 <AnMaster> ais523, yes sure but you could potentially have to run mycorand for a lot of iterations
12:30:04 <AnMaster> more than can be found in the file
12:30:31 <ais523> AnMaster: checking the compiler you can generate as many test-cases as you like
12:31:17 <AnMaster> true, but isn't the random padding for files, where the receiver won't have the original generating program?
12:31:35 <ais523> the random padding's for I/O
12:31:58 <ais523> and anyway, the spec for binary CLC-INTERCAL I/O (which I haven't yet implemented) requires data to be padded from 8 bits to 16 bits at random
12:32:01 <ais523> for no apparent reason
12:32:02 <AnMaster> ais523, oh? this file isn't used by convickt?
12:32:18 <ais523> I decided to add a random-padding option to the Baudot conversion too
12:32:22 <ais523> and then ASCII because I might as well
12:32:28 <ais523> on the basis that it makes it harder to read
12:32:45 <ais523> and if you're using Baudot in the first place, probably unreadability is your goal
12:33:14 <AnMaster> ais523, or backward compatibility
12:33:26 <ais523> very backward compatibility
12:33:32 <ais523> given that Baudot was invented before computers were
12:33:43 <ais523> it's a 19th century character set
12:34:23 <AnMaster> ais523, using letters at all is very backward compatible, considering the Romans (mostly) invented the current charset we use today
12:34:38 <ais523> they didn't encode them as numbers, though
12:34:49 <ais523> they had Polybius' Checkerboard
12:34:51 <AnMaster> well indeed, they did the other way around
12:34:53 <ais523> although that was a Greek invention
12:35:02 <AnMaster> ais523, what is this polybius thing?
12:35:18 <ais523> AnMaster: basically, write the alphabet in a rectangular matrix, give letters by giving the row and column
12:35:31 <ais523> it was apparently used to send messages long-distance
12:35:32 <AnMaster> ok, and what did they use it for?
12:35:39 <ais523> by raising a set number of torches
12:35:59 <ais523> but for military purposes
12:36:05 <ais523> and with much shorter messages
12:36:07 <AnMaster> you should support it in convickt!
12:36:22 <ais523> although the file format confuses me
12:36:29 <ais523> and again, I created it
12:36:36 <AnMaster> ick_cset_recent[ic].nbytes || (ick_clc_cset_load(ick_cset_recent+ic,incset),0);
12:36:36 <AnMaster> ick_cset_recent[oc].nbytes || (ick_clc_cset_load(ick_cset_recent+oc,outcset),0);
12:36:58 <ais523> it's a standard Perl idiom translated to C
12:37:02 <ais523> only it makes sense in Perl
12:37:11 <ais523> think short-circuit evaluation
12:37:21 <AnMaster> well what does variable || (functioncall(),0)
12:37:25 <ais523> and the ,0 is to avoid having a void expression on the right hand side of ||, which is legal in Perl but wrong in C
12:37:36 <ais523> it's equivalent to if(!variable) functioncall()
12:37:54 <ais523> in Perl, that's idiomatically written "variable or functioncall();"
12:38:03 <ais523> because Perl doesn't have single-statement ifs
12:38:12 <ais523> but short-circuiting is standard
12:38:35 <AnMaster> (void)(oc==-1 && (ick_cset_recent[oc=ick_csetow++].nbytes=0)); <-- that is another nasty variant of it
12:38:54 <AnMaster> why don't you use that paradigm for this then:
12:38:56 <AnMaster> if(ic==-1) for(i=NCSETRECENT;i--;) if(!ick_cset_recent[i].nbytes) ic=i;
12:39:08 <AnMaster> the last two statements could be re-done that way
12:39:36 <AnMaster> if(!ick_cset_recent[i].nbytes) ic=i; would be ick_cset_recent[i].nbytes || ic=i;
12:40:10 <ais523> except you need parens due to precedence
12:40:24 <ais523> and a cast to void because otherwise gcc doesn't believe you really meant that
12:40:58 <AnMaster> I can understand gcc's opinion there!
12:43:16 <AnMaster> char setname[9]; /* 8.3 filenames are enforced! */
12:43:27 <ais523> AnMaster: the extension is fixed
12:43:32 <ais523> so that's 8 bytes plus the terminating NUL
12:43:37 <ais523> and those are internal-use filenames
12:43:53 <AnMaster> why can't you allow full length *nix style
12:43:56 <ais523> AnMaster: because the 8.3 filename is a running joke amongst DOS/Windows users
12:44:19 <AnMaster> I'm pretty sure it is no longer needed on windows
12:44:38 <ais523> but clc-cset is all about insane compatibility dating back centuries
12:44:44 <ais523> even assuming the existence of files is a stretch
12:44:54 <ais523> DOS 1 didn't have directories, for instance
12:47:17 <AnMaster> returns the maximum length of a filename in the directory path or fd that the process is allowed to create. The corresponding macro is _POSIX_NAME_MAX.
12:47:27 <AnMaster> on my /home (ext3) this seems to be 255
12:47:46 <AnMaster> thought it would be much longer
12:50:17 <fizzie> Path names are indeed surprisingly short.
12:54:20 <AnMaster> considering the comma operator
12:54:39 <ais523> int x isn't an expression
12:54:50 <ais523> (my x), (my y); is indeed valid Perl, I think
12:54:59 <ais523> although arguably it shouldn't be
12:55:16 <fizzie> You're missing them $s.
12:55:33 <ais523> well, x and y were functions returning symbolic references, just so that they could correct my mistake
12:55:43 <ais523> there's some debate about 0 and (my $x);
12:56:01 <ais523> I think that it was officially ruled that people shouldn't depend on any particular value of $x if they do that
12:56:04 <AnMaster> expression , assignment-expression
12:56:14 <fizzie> And "int x=3, int y=4;" is not syntactic either; those aren't assignment-expressions there.
12:57:01 <ais523> put it this way: int x=2, y=3 is not equivalent to int x=(2,(y=3))
12:57:23 <AnMaster> the former is pretty normal syntax
12:57:32 <ais523> and the second is insane
12:57:46 <AnMaster> what exactly is the result of the second?
12:58:00 <ais523> it assigns 3 to a new auto variable called x
12:58:04 <ais523> and 3 to an existing variable called y
12:58:11 <ais523> which is presumably in an outer scope
12:58:14 <AnMaster> "If an attempt is made to modify the result of a comma operator or to access it after the next sequence point, the behavior is undefined."
12:58:24 <AnMaster> I'm not sure it does due to that
12:58:30 <ais523> it doesn't violate that rule
12:58:42 <AnMaster> that what does that rule mean?
12:58:43 <ais523> that's disallowing things like (2, y) = 3
12:58:51 <fizzie> "int x=3;" is an instance of the 'declaration' syntax; It's something like (declaration (declaration-specifiers (type-specifier "int")) (init-declarator-list (init-declarator (declarator "x") "=" (initializer "3"))))))))))))))))))))))))))) in tree form.
12:58:52 <ais523> which make no sense in any language, really, except Perl
12:58:57 <fizzie> (Didn't bother counting the )s.)
12:59:13 <ais523> in Perl, that's equivalent to y=3
12:59:21 <ais523> Perl is quite good at assigning meanings to otherwise meaningless expressions
12:59:35 <ais523> hmm... maybe it isn't, actually
12:59:41 <ais523> you might have to write scalar (2, y) = 3
12:59:45 <ais523> to get the right sort of comma operator
12:59:58 <AnMaster> ais523, I much prefer a language with a consistent and sane syntax, and C isn't one of them. Perl certainly isn't
13:00:36 <AnMaster> scheme definitely is if you disregard those non-clean macros
13:01:12 -!- Corun has quit ("This computer has gone to sleep").
13:01:14 <fizzie> It's easy to have a consistent and sane syntax if you have so little of it, like Scheme has.
13:01:26 <AnMaster> on the other hand, scheme doesn't have a portable rand() afaik
13:02:37 <AnMaster> fizzie, and yes not having much syntax helps a lot
13:05:27 <fizzie> Still, my written-in-Prolog Scheme syntax parser is a whopping 335 lines.
13:05:52 <ais523> that's just because good-style Prolog is inherently very vertical
13:06:08 <fizzie> It's not very good-style. :p
13:06:13 <fizzie> Most of it is about numbers, anyway.
13:06:14 <ais523> although using \+ and ; and -> a lot makes it less readable but shorter
13:07:38 <fizzie> There's the exact/inexact prefixes, radix prefixes, and complex numbers to care about.
13:08:24 <ais523> numbers always seem hacked into Prolog
13:08:29 <ais523> it would be much more elegant without them
13:08:34 <ais523> you could use list lengths instead, or something
13:08:41 <ais523> and get round all the random restrictions on numbers that exist
13:09:12 <fizzie> I think I converted the Scheme constants into SWI-Prolog numbers, and used the inelegant operations.
13:09:48 <fizzie> Or, hmm. Actually not.
13:10:06 <fizzie> I seem to have implemented some sort of auto-normalized rationals there.
13:11:33 <fizzie> Well, it was just a course programming exercise.
13:18:23 <AnMaster> fizzie, I would like to see it
13:18:41 <AnMaster> also any good online prolog tutorial?
13:19:01 <AnMaster> and what open source prolog implementation would you recommend?
13:19:13 <ais523> I'd recommend gprolog, mostly because I'm used to it
13:19:19 <ais523> and it even attempts to implement some sort of standard library
13:19:26 <AnMaster> Description: GNU Prolog is a native Prolog compiler with constraint solving over finite domains (FD)
13:19:28 <ais523> above what ISO guarantees, which isn't a lot
13:19:34 <ais523> AnMaster: you can ignore the FD stuff
13:19:38 <ais523> and it has a good debugger
13:19:43 <ais523> it's both a compiler and an interpreter
13:19:47 <ais523> both together, in fact
13:20:00 <ais523> if you run a null program through the compiler, you get the interpreter
13:21:03 <ais523> I learnt Prolog from RL books
13:21:09 <ais523> which in retrospect weren't all that useful
13:21:20 <AnMaster> use amd64 && append-flags -fno-tree-dce
13:21:31 <AnMaster> it fails with dead code elimination on amd64?
13:22:07 <fizzie> Well, I've used SWI-prolog exclusively.
13:22:26 <fizzie> It's not bad, but I'm unqualified to judge very well.
13:22:58 <fizzie> And I learnt prolog from (a) "The Art of Prolog" book and (b) the SWI-prolog manual (the details; it's very much not a tutorial).
13:23:47 <fizzie> I'm not sure how portable this plscheme thing is. It uses SWI-Prolog's module system thing, at least.
13:24:25 <ais523> fizzie: I agree with reading the manual for details once you've learnt the basics, but not before
13:24:41 <AnMaster> so what about learning the basics?
13:26:14 <fizzie> http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/contents.html was the "Missing course book? Try an online tutorial to Prolog." link.
13:26:24 <fizzie> I don't think I've looked it at all, so caveat IRC-or.
13:51:16 -!- Corun has joined.
14:07:31 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
14:08:07 -!- moozilla has joined.
14:11:52 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
14:11:56 -!- moozilla has joined.
14:12:49 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
14:12:56 -!- moozilla has joined.
14:18:32 -!- metazilla has joined.
14:18:38 -!- moozilla has quit (Nick collision from services.).
14:18:42 -!- metazilla has changed nick to moozilla.
14:21:42 -!- metazilla has joined.
14:21:42 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
14:21:50 -!- metazilla has changed nick to moozilla.
14:31:13 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
14:31:16 -!- moozilla has joined.
14:33:57 -!- metazilla has joined.
14:33:57 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
14:34:03 -!- metazilla has changed nick to moozilla.
14:34:06 -!- jix has joined.
14:40:34 <AnMaster> ais523, did you check all the patches or?
14:41:11 <ais523> haven't checked the build in detail
14:41:13 -!- Mony has joined.
14:41:17 <ais523> I've checked source, but I want to check the executable too
14:46:01 -!- metazilla has joined.
14:46:06 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
14:46:10 -!- metazilla has changed nick to moozilla.
14:47:44 <Mony> it's like hello ^^
14:48:04 <ehird> does valgrind work on os x yet
14:48:41 -!- metazilla has joined.
14:48:45 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
14:48:50 -!- metazilla has changed nick to moozilla.
14:51:07 <AnMaster> ehird, iirc xcode is bundled with some tool to check for "object leaks" or such
14:51:17 * ehird wonders if #define S(x) ((string_t){strlen(x),x}) is sane.
14:51:27 <ehird> Well, it'd probably not go in a constant section.
14:51:31 <AnMaster> ehird, what is the type of string_t?
14:51:33 <ehird> That's kind of bad.
14:52:30 <AnMaster> ehird, it is a nice idea though
14:52:51 <ehird> There's a gcc-specific hack to put things in the constant section I think, but, uh, it's a gcc-specific hack.
14:53:18 <AnMaster> well yes being gcc specific is part of the definition of being a gcc specific hack
14:53:36 <AnMaster> so that makes sense, it would ineed be specific to gcc
14:54:17 <AnMaster> ehird, is OS X on intel 32-bit or 64-bit?
14:54:47 <ehird> AnMaster: it's kind of complicated. This is a 64-bit machine, but the programs I run are 32-bit, I don't know about the kernel.
14:54:57 <ehird> Apparently 10.5 (which I don't have) is 100% 64-bit.
14:55:05 <AnMaster> can you run 64-bit programs on 10.4?
14:55:10 <ehird> Yes, I believe so.
14:55:20 <ehird> I could try if you want.
14:55:21 <AnMaster> interesting mixed userland then
14:55:55 <AnMaster> at least that is what is needed on multilib gcc here
14:56:05 <ehird> Holy fuck, 189% of my CPU is being used.
14:56:14 <ehird> Okay, what's using it...
14:56:17 <ehird> Um... prl_disp_service.
14:56:37 <ehird> Oh. prl_disp_service is something to do with Parallels.
14:56:58 <ehird> lol, I didn't notice 180% of my CPU disappearing
14:57:26 <ehird> I forgot the exact number by that line.
14:57:40 <ehird> But the only reason I noticed it is I started activity monitor to see if it had anything 64-bit related.
14:57:47 <ehird> AnMaster: got a test program that prints out if it's 64-bit?
14:58:36 <AnMaster> int main(void) { printf("%zu\n", sizeof(char*)); return 0; }
14:59:16 <ehird> [ehird:~] % gcc -m64 64bit.c -o 64bit
14:59:16 <ehird> [ehird:~] % ./64bit
14:59:20 <ehird> [ehird:~] % gcc 64bit.c -o 64bit
14:59:22 <ehird> [ehird:~] % ./64bit
14:59:54 <ehird> AnMaster: I imagine it's because all the system libs are presumably 32-bit.
15:00:12 <ehird> So 64-bit wouldn't be very useful, generally.
15:00:13 <AnMaster> ehird, well I assume there is a 64-bit libc, or that program wouldn't have worked
15:00:20 <ehird> True, but what about the OS X apis?
15:00:33 <ehird> Hm, what's that program that prints out the libs a binary uses?
15:00:36 <AnMaster> oh you mean the super sized coca.h?
15:01:00 <ehird> AnMaster: CoreFoundation, Cocoa, and all the 500 million other libs.
15:01:21 <ehird> I don't think that works.
15:01:38 <ehird> For one, all OS X headers use CamelCase.h
15:01:43 <ehird> Two, Cocoa is an objective-c library
15:01:57 <ehird> #include <CoreFoundation.h> might work.
15:02:00 <ehird> Or was it Foundation.h?
15:02:01 <AnMaster> ehird, so what about C and C++ programs that want to use GUI?
15:02:24 <ehird> AnMaster: Generally, they shouldn't. Objective-C is a strict superset of C. But they can use Carbon.
15:02:41 <ehird> Carbon has fewer high-level widgets than Cocoa, though, and it's generally fading away.
15:02:41 <AnMaster> err carbon is kind of outdated isn't it?
15:02:48 <ehird> AnMaster: Finder is written in Carbon.
15:02:55 <ehird> ((Although it probably shouldn't be.))
15:03:01 <ehird> AnMaster: carbon isn't outdated
15:03:04 <ehird> just a bit neglected
15:03:10 <AnMaster> ehird, carbon was around at OS 9....
15:03:20 <ehird> Not strictly true.
15:03:31 -!- metazilla has joined.
15:03:32 <ehird> Carbon is an evolution of the API that was there in OS 9.
15:03:38 -!- moozilla has quit (Nick collision from services.).
15:03:40 -!- metazilla has changed nick to moozilla.
15:03:41 <ehird> But the implementation is all new, I think.
15:03:45 <AnMaster> err there was a Carbon file in /System/Extensions
15:03:53 <ehird> Was there? OK then
15:03:57 <AnMaster> Macintosh HD:System:Extensions
15:04:06 <ehird> OS X is a rather bizarre system.
15:04:18 <AnMaster> ehird, nothing compared to pre-OS X
15:04:20 <ehird> From the start, the kernel is the lovechild of BSD and Mach.
15:05:29 * ehird tries to found Foundation.h
15:05:38 <AnMaster> ehird, isn't : invalid in paths on OS X still?
15:05:52 -!- metazilla has joined.
15:05:55 <ehird> AnMaster: Yeah, you can use them/
15:05:59 -!- moozilla has quit (Nick collision from services.).
15:06:03 -!- metazilla has changed nick to moozilla.
15:06:18 <AnMaster> that is due to that they were used for path component separator back on pre-OSX
15:06:38 <ehird> iTunes reports filenames with : paths in its info dialog for tracks.
15:06:42 <ehird> I don't think anything else does, though.
15:07:00 <AnMaster> I think that OS 9 was possibly the only system I used that allowed / in a directory name
15:07:14 <ehird> Can't do that in OS X for obvious reasons :P
15:07:44 <ehird> AnMaster: Well, you can.
15:07:47 <ehird> I just saved a file as a/b.txt
15:08:10 <ehird> In each interface, it displays the character as the one that isn't forbidden.
15:08:35 <AnMaster> ehird, I thought both were forbidden everywhere?
15:08:36 <ehird> and % touch foo:bar.txt gives foo/bar.txt in finder, similarly
15:08:41 <ehird> AnMaster: seems not
15:08:53 <ehird> : is forbidden in OS X-land, / is forbidden in unix-land
15:08:54 <AnMaster> ehird, what char is it internally?
15:09:22 <AnMaster> well I guess that would work better for HFS
15:09:40 <ehird> I don't know what the + means apart from perhaps "okay, it's slightly more tolerable now"
15:10:02 <AnMaster> ehird, it is the difference between FAT16 and FAT32 basically iirc
15:10:12 <AnMaster> large disk issues with plain HFS
15:10:16 <ehird> Now now, I'd say HFS+ is far superior to fat32. :P
15:10:31 <AnMaster> ehird, yes and HFS far superior to fat16
15:10:55 <AnMaster> but I mean the 32/+ were both basically created to solve the same issue
15:11:00 <ehird> % echo '#include <Carbon.h>' | cpp -I/System/Library/Frameworks/Carbon.framework/Versions/A/Headers|wc -l
15:11:04 <ehird> (snip some misc errors from headers)
15:11:13 <ehird> It's rather... complete.
15:11:42 <AnMaster> the differences between HFS and HFS+ are larger than between FAT16 and FAT32 iirc
15:11:52 <AnMaster> I think HFS didn't use a b-tree, but HFS+ does
15:11:55 <ehird> yeah, HFS+ behaves much like a regular unix fs day-to-day
15:12:00 <ehird> apart from the case insensitive thing, which I like
15:12:05 -!- scriptdevil has joined.
15:12:14 <AnMaster> ehird, I have no clue how they managed to stick permissions into HFS+
15:12:20 <ehird> Oh wtf, i'm still on reddit's frontpage.
15:12:20 <scriptdevil> is it possible to set the current cell to 0 in brainfuck?
15:12:21 <AnMaster> without breaking classic mac os
15:12:24 <ehird> That's just ridiculous.
15:13:12 <scriptdevil> ehird: Oh.. Common sense.. I am new to brainfuck. :P
15:13:23 <ehird> Common sense is pretty bad in here!
15:13:27 <AnMaster> ehird, ah no hm: "Like HFS, HFS Plus uses B*-trees to store most volume metadata."
15:14:07 <AnMaster> ehird, the second paragraph on http://en.wikipedia.org/wiki/HFS_Plus describes the differences pretty well
15:14:39 <ehird> awful character set
15:15:00 <AnMaster> ehird, yes it messed up for us Swedes, iirc åäö mapping differed from everyone else
15:16:30 <ehird> Jeez, the 'not programming' guys is still the top comment.
15:16:39 <ehird> Guy got 338 points for it.
15:20:02 <AnMaster> ehird, those *.dmg files, how does one open them on non-OSX?
15:20:20 <ehird> AnMaster: that would be difficult. A dmg is a disk image containing an HFS+ filesystem.
15:20:33 <ehird> (Why it's used for distributing applications is a rather long story.)
15:20:42 <AnMaster> ehird, well linux supports reading hfs+
15:20:54 <ehird> http://baghira.sourceforge.net/dmg.htm ?
15:20:56 <AnMaster> the issue is it isn't just a dump, it seems to have some compression
15:22:03 <AnMaster> ehird, that doesn't work for compressed *.dmg
15:22:16 <fizzie> At some point, some part of OS X had a habit of using Unicode combining characters in filenames; the file "bläh" would've been "bla\u0308h".
15:22:21 <ehird> http://www.google.com/search?hl=en&q=compressed+dmg+linux&btnG=Search <- hm.
15:22:35 <ehird> AnMaster: I think you're fecked.
15:22:52 <ehird> AnMaster: Don't think so, I just think there aren't any tools from the looks of it.
15:22:53 <ehird> AnMaster: If you send me the dmg I can open it for you.
15:23:18 <AnMaster> ehird, I don't have one now, but I had one just last week and all this OS X talk reminded me of that
15:23:24 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
15:23:27 -!- metazilla has joined.
15:23:28 <ehird> http://vu1tur.eu.org/tools/ ths might work
15:23:31 <ehird> it says compressed
15:23:32 <ehird> and has source code
15:23:34 <AnMaster> I was unable to find a tool then so I thought now "would be useful for the future"
15:24:22 <ehird> You weird person and your non-clickable lnks.
15:24:41 <AnMaster> just it gives the classical AOL feeling
15:24:58 <ehird> Tell that to ais523 :P
15:25:14 <AnMaster> ehird, well in ais523 they aren't replacing letters
15:25:31 <AnMaster> but if I changed my nick to 4nM4ster or such
15:26:08 <ehird> Tell that to w1n5t0n, then, whose name is so irritating that he doesn't even refer to himself by it.
15:26:11 -!- moozilla has joined.
15:26:19 <ehird> Which, in fact, implies you have a point.
15:26:30 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
15:26:30 -!- moozilla has changed nick to metazilla.
15:26:45 <AnMaster> ehird, also I never seen this "w1n5t0n"
15:27:04 <AnMaster> so I couldn't tell him since I don't know where to find him
15:27:06 <ehird> He plays Agora & B Nomic.
15:30:33 <AnMaster> ehird, hm from looking at the source code it seems to be compressed with libz
15:32:05 -!- scriptdevil has left (?).
15:34:13 <AnMaster> ehird, yeah a header called "plist" it seems
15:34:23 <ehird> http://en.wikipedia.org/wiki/Property_list
15:34:54 <ehird> Although unless it's XML or the plaintext format, I doubt it's the same plist.
15:35:56 <AnMaster> "Since XML files, however, are not the most space-efficient means of storage, version 10.2 introduced a new format where property list files are stored as binary files. Starting with version 10.4, this is the default format for preference files."
15:37:09 <ehird> That'd be it then.
15:38:35 <AnMaster> since it checks that it begins with the string in plist_begin
15:38:35 <ehird> In a binary disk image?
15:38:37 <AnMaster> const char plist_begin[]="<plist version=\"1.0\">";
15:39:22 <AnMaster> ehird, it doesn't actually parse xml, it seems to check that it "looks like plist, go to pre-computed offset for value we want, read it"
15:39:29 <AnMaster> quite a horrible way to parse xml
15:39:44 <ehird> are there any non horrible ways
15:39:51 <AnMaster> if (!strstr(plist, plist_begin) ||
15:39:52 <AnMaster> !strstr(&plist[pl_size-20], plist_end)) {
15:39:52 <AnMaster> printf("ERROR: Property list is corrupted.\n");
15:40:35 <AnMaster> ehird, also lucky that the source code is short, because it is not well commented
15:40:52 <ehird> You'd hate my code.
15:41:01 <ehird> I have like 1 comment per 100 lines.
15:41:21 <AnMaster> ehird, 2 / 300 in this case I believe
15:41:55 <ehird> 1/100 is when I'm actually trying to comment. Normally it'd be more like 3 comments per 1000 lines...
15:42:08 <ehird> But I try to make up for that by having the code simple enough to read.
15:42:18 <AnMaster> this code isn't simple to read
15:42:24 <AnMaster> parts = (char**)realloc(parts, partnum*sizeof(char*));
15:42:24 <AnMaster> partlen = (unsigned int *)realloc(partlen, partnum*sizeof(int));
15:42:24 <AnMaster> if (!parts || !partlen) mem_overflow();
15:42:24 <AnMaster> parts[i] = (char*)malloc(data_size+1);
15:42:24 <AnMaster> if (!parts[i]) mem_overflow();
15:42:42 <ehird> That sounds like it could do with being put into a function.
15:42:45 <AnMaster> no clue what is up with "mixed tab/space for same level" indention
15:43:01 <AnMaster> ehird, oh yes everything so far is in main() it seems
15:43:14 <ehird> I'm going to try and compile cfunge with 64 bit because I hate myslf.
15:43:41 <ehird> Woo, macports has 1.10. I don't have to manually compile bzr.
15:43:44 <AnMaster> ehird, mkdir build && cd build && CC=gcc CFLAGS='-m64' cmake ..
15:44:00 <ehird> AnMaster: Does that include the SUPAH OPTIMIZED crap? :P
15:44:13 <AnMaster> ehird, not really extra optimised no
15:44:30 <AnMaster> if you want that answer these questions three
15:45:00 <ehird> 1. ¯\(°_o)/¯ the CPU is intel core 2 duo, fwiw
15:45:04 <AnMaster> What is the air speed velocity of a macbook?
15:45:20 <ehird> 3. macbook air? Infinite :P
15:45:33 <AnMaster> ehird, I don't know what the -march is for core2
15:45:41 <AnMaster> nor does my gcc man page mention it
15:45:50 <ehird> To the googlemobile ->
15:46:15 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
15:46:21 -!- moozilla has joined.
15:46:29 <ehird> Hmm, nothing here i think.
15:47:31 <ehird> where's the full list of marches
15:47:33 <AnMaster> well on gcc 4.3 at least: CFLAGS="-march=core2 -m64 -O3 -pipe" cmake -DCMAKE_BUILD_TYPE:STRING=Release ..
15:47:45 <ehird> AnMaster: -FUNROLL-LOOPS :D
15:47:50 <ehird> (no, I'm not that crazy.)
15:47:58 <ehird> Ha, what about the batshit insane flags you use for profiling?
15:47:58 <AnMaster> ehird, benchmark show no benefit from it
15:48:14 <AnMaster> ehird, for profiling I don't use cmake, I use -combine and -fwhole-program
15:48:28 <ehird> AnMaster: I remember you pasting a shell script with the most insane optimization flags I ever saw.
15:48:34 <ehird> Something like unsafe-loops.
15:49:01 -!- metazilla has joined.
15:49:03 <AnMaster> anyway: on gcc 4.3 at least: CFLAGS="-march=core2 -m64 -O3 -pipe" cmake -DCMAKE_BUILD_TYPE:STRING=Release -DUSE_GC:BOOL=OFF ..
15:49:08 -!- moozilla has quit (Nick collision from services.).
15:49:10 -!- metazilla has changed nick to moozilla.
15:49:22 <AnMaster> ehird, gcc 4.2 doesn't seem to support core2
15:49:35 <ehird> i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5363)
15:49:46 -!- KingOfKarlsruhe has joined.
15:49:49 <AnMaster> so I don't know what is best for it
15:49:58 <ehird> I could try compiling my own gcc.
15:50:06 <ehird> except I'm not sure I hate myself enough
15:50:19 <AnMaster> ehird, well you might want that for other reasons, like llvm-gcc
15:50:33 <ehird> why would you use llvm with gcc
15:50:41 <AnMaster> ehird, because clang isn't ready yet
15:50:53 <AnMaster> it fails with "can't codegen this thing yet" when building cfunge
15:51:12 <ehird> llvm is unfortunately not as generic as it seems to want to be
15:51:22 <AnMaster> true it is too mac specific it seems
15:51:30 <AnMaster> bad influence from apple no doubt ;P
15:51:33 <ehird> I was meaning more,
15:51:38 <ehird> it's still imperative-centric
15:51:42 <AnMaster> ehird, apple sponsor llvm and help develop it
15:51:46 <ehird> I don't think it will ever be useful for building functional languages, for instance
15:52:13 <ehird> I want my damn functional CPU
15:52:24 <ais523> so do I, but I have no idea how to make one
15:52:33 <ehird> ais523: there's some research regarding them
15:52:46 <ehird> it's pretty hard to efficiently embed the lambda calculus in the real world :-)
15:53:05 <ehird> AnMaster: what're your crazy profiling cflags?
15:54:17 <AnMaster> http://rafb.net/p/inBv8T82.html
15:54:46 <ehird> AnMaster: so that's the fastest cfunge you could ever possibly get? XD
15:55:00 <AnMaster> ehird, not sure, on intel cpus using icc may be better
15:55:01 <ehird> I am so tempted to link to http://funroll-loops.info/ here. Oh wait I just did
15:55:28 <AnMaster> ehird, as you will notice it says -march=k8, which means amd64
15:55:50 <AnMaster> with a different setup other flags may be better
15:56:11 <ehird> Okay, time to build gcc :x
15:56:14 <AnMaster> also I haven't done any sort of exhaustive search of the cflags space
15:56:31 <AnMaster> ehird, it may need special steps on OS X
15:56:34 <ehird> AnMaster: I will not rest until cfunge runs mycology in minus 1ms
15:57:27 * ehird tries to figure out how to make gcc just build a c compiler
15:58:02 <ais523> ehird: the setting's in gcc-bf's build script somewhere
15:58:16 <AnMaster> ehird, very funny, on my system it takes around 0.035 s
15:58:17 <ehird> I think i will google it instead
15:58:27 <ehird> AnMaster: what, the whole fucking thing?
15:58:37 <AnMaster> ehird, it is like --enable-lang=c
15:58:38 <ehird> why not just hardcode the output
15:58:43 <ais523> without the closing paren
15:58:51 <AnMaster> ais523, ah I was almost right then
15:58:59 <ehird> configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+.
15:59:03 <ehird> good lord i hate you gcc
15:59:12 <ehird> why do you need arbitrary precision numbers to compile c
15:59:21 <ehird> AnMaster: i think those versions are super-recent
15:59:44 <ehird> gmp @4.2.4 (devel, math)
15:59:45 -!- Corun has quit ("This computer has gone to sleep").
15:59:55 <ehird> guess I'll just try pointing it to /opt/local/{include,lib}
16:00:16 -!- metazilla has joined.
16:00:29 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
16:00:29 -!- metazilla has changed nick to moozilla.
16:00:30 -!- moozilla has quit (Nick collision from services.).
16:00:53 -!- moozilla has joined.
16:01:20 <AnMaster> moozilla, care to fix your connection?
16:01:20 <ehird> checking for correct version of gmp.h... yes
16:01:20 <ehird> checking for correct version of mpfr.h... no
16:01:22 <ehird> configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+.
16:01:24 <ehird> only complain about the one you can't find kthxbai
16:01:40 <AnMaster> ehird, err it probably does like:
16:01:41 <ais523> ehird: never try to read gcc's configure script
16:01:46 <ehird> AnMaster: yes, I know
16:01:53 <ehird> ais523: the compiled version?
16:02:07 <ais523> the decompiled version is bad enough
16:02:41 <ehird> i just looked at gcc's configure
16:02:58 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
16:03:02 -!- moozilla has joined.
16:03:10 <AnMaster> moozilla, please fix your connection.............
16:03:32 <ehird> it only happens once in a while
16:03:34 <ehird> and it's like 2 lines
16:03:58 <ehird> ha apparently the original THX sound only took 325 lines of C instead of 20,000
16:04:05 <ehird> http://slashdot.org/comments.pl?sid=183734&cid=15182029 (the proof of identity is 404'd now tho)
16:04:13 <AnMaster> arvid@tux /mnt/phoenix/llvm/llvm-gcc $ wc -l configure.in
16:04:31 <AnMaster> ### WARNING: this file contains embedded tabs. Do not run untabify on this file.
16:04:41 <ehird> for testing things
16:05:18 <AnMaster> *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu)
16:05:18 <AnMaster> *-*-netbsd* | *-*-freebsd* | *-*-openbsd*)
16:05:18 <ehird> http://rafb.net/p/Sf0HFX18.html Pipe to /dev/dsp
16:05:23 <AnMaster> why is it doing stuff like that
16:05:30 <AnMaster> I thought that was what configure.sub did?
16:06:09 <ehird> AnMaster: compile, run piped to /dev/dsp
16:06:20 <AnMaster> I bet this is a new rickroll or something
16:06:35 <AnMaster> "CWG[Cgcg[eYcb^bV^eW^be^bVecb^" <-- encoded notes?
16:07:19 <AnMaster> main(v,i,z,n,u,t){for(v=-1;;)for(n=pow(/* gcc -lm sig.c; a.out > /dev/dsp */
16:07:26 <AnMaster> that main signature isn't valid
16:07:33 <ehird> who cares, it compils
16:08:53 <ehird> made for the program, I assume
16:09:01 <ehird> the link points to a demoscene group
16:09:18 <AnMaster> ehird, where did you find this?
16:13:11 <ehird> I wonder what the format of /dev/dsp is.
16:13:13 <ehird> Well, it's raw PCM.
16:13:20 <ehird> I wonder how to make PCM.
16:14:20 <ehird> I guess I should look it up.
16:14:39 <AnMaster> ehird, hm about that script I posted, I get much worse speed than a -O3 -fweb -ftracer -frename-registers -fno-ident -fvisibility=hidden -funsafe-loop-optimizations -ftree-vectorize -march=k8 -msse3 now
16:14:49 <AnMaster> which is same as that with no profile feed back
16:14:59 <ehird> You are bat shit insane :-)_
16:15:07 <AnMaster> ehird, thanks, aren't we all in here
16:15:08 <ehird> Woo, gcc is compiling.
16:17:16 -!- metazilla has joined.
16:17:25 -!- moozilla has quit (Nick collision from services.).
16:17:27 -!- metazilla has changed nick to moozilla.
16:18:35 -!- sebbu2 has joined.
16:18:50 -!- oerjan has joined.
16:19:38 <AnMaster> ehird, also irregular webcomic has gone insane recently
16:20:01 -!- metazilla has joined.
16:20:04 <AnMaster> yes sure, the first few of these were funny
16:20:08 -!- moozilla has quit (Nick collision from services.).
16:20:09 <ehird> http://www.irregularwebcomic.net/
16:20:12 -!- metazilla has changed nick to moozilla.
16:20:18 <ehird> AnMaster: link me to the start of whatever the fuck this is
16:21:03 <AnMaster> ehird, http://www.irregularwebcomic.net/2167.html
16:21:09 <oerjan> except it's crashing on me
16:21:21 <ehird> AnMaster: okay, that's white
16:21:23 <ehird> ok next one is blue
16:21:31 <ehird> then it's darker blue
16:21:41 <ehird> okay now we're BLUE OR RED
16:21:56 <ehird> and and and and and and and
16:22:07 <oerjan> ehird: it may make _slightly_ more sense if you look at 2166 too
16:22:19 <ehird> oerjan: i'll do that
16:22:39 <AnMaster> oerjan, also he should learn to properly compress his png
16:22:48 <ehird> Is this... THE END OF IWC?
16:22:57 <oerjan> we don't know, obviously :D
16:23:13 <AnMaster> ehird, someone suggested it was rebooting
16:23:19 <AnMaster> also notice the cross over list
16:23:36 <AnMaster> ehird, spy theme and super hero theme
16:23:45 <oerjan> every theme except Espionage, Supers and Miscellaneous
16:24:03 <ehird> I bet the first comic after these is http://www.irregularwebcomic.net/1.html
16:24:52 <AnMaster> he claimed he wanted do more comics than some other strip before
16:24:58 <AnMaster> and I think he haven't reached it by far yet
16:25:06 <ehird> yes, I mean it'll repeat #1
16:25:16 <AnMaster> ehird, but with better image quality?
16:25:24 <ehird> maybe it'll be entirely drawn
16:25:37 <oerjan> Calvin and Hobbes, at 3 thousand something
16:25:53 <AnMaster> oerjan, well last irregular is 2173
16:26:24 <oerjan> the excluded themes are those that weren't included in the buildup, too (no time paradox setup)
16:27:06 <ehird> ah did the universe end in all of them
16:27:08 <AnMaster> oerjan, err what is the misc theme?
16:27:20 <oerjan> everything not included in another theme
16:27:45 <oerjan> the Allosaurus used to be there, but now he's more in Martian i think
16:27:54 <AnMaster> yes he is martian indeed I think
16:28:14 <oerjan> he fights the martians
16:29:22 <oerjan> i just hope this won't end with a hobbit pun because then it'll go on until 2196 :D
16:29:39 <oerjan> (someone suggested it on the forums)
16:29:59 <oerjan> ok, it would still be better than IWC _ending_...
16:30:37 <oerjan> we haven't even found out if the Allosaurus won the president reelection...
16:30:56 <ehird> What happened to dmm killing himself?
16:31:40 <oerjan> that was one of the time paradox setups
16:32:33 <ehird> i love the thread titels for them on the forum
16:33:00 <AnMaster> oerjan, err the hobbit one have moved slightly
16:33:09 <AnMaster> sometimes a bit earlier, sometimes a bit later
16:33:17 <AnMaster> iirc it changed somewhere near the beginning
16:33:28 <oerjan> and it has been on 96 for some time
16:33:55 <oerjan> officially, no more than every 100th strip
16:34:10 <AnMaster> oerjan, true, but one time it was 1-2 strips off iirc
16:35:39 <AnMaster> they tend to have long annotations
16:35:47 <AnMaster> much longer than most themes average
16:35:56 -!- sebbu has quit (Read error: 110 (Connection timed out)).
16:36:15 <ehird> I bet IWC keeps doing this until it reaches (0,0,0)
16:36:33 <ehird> and then it stays like that for like 10 comics
16:36:38 <ehird> and then, something
16:36:55 <oerjan> ouch then it might actually hit 2196
16:37:07 -!- metazilla has joined.
16:37:15 -!- moozilla has quit (Nick collision from services.).
16:37:17 -!- metazilla has changed nick to moozilla.
16:37:22 <ehird> you've figured it out.
16:38:30 <AnMaster> "don't make a hobbit of destroying the world"?
16:38:38 <oerjan> actually that it might fade to black and end up in the fantasy cave was suggested on the forum
16:38:54 <ehird> [[Oh well, at least there's no way this could be a bigger disappointment than mezzacotta! =D ]]
16:39:14 <oerjan> hm what was the fantasy setup
16:39:24 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
16:39:28 -!- moozilla has joined.
16:39:58 <oerjan> the last fantasy strip
16:42:17 <oerjan> oh 2152, there was no obvious paradox for that theme
16:42:50 <ehird> gcc compile is slowwwwwww
16:43:15 <AnMaster> fantasy theme explosion and space explosion
16:43:32 <oerjan> except they _have_ gone back in time, of course
16:45:07 <oerjan> although destroying the multiverse was mentioned in 2122
16:47:13 <ehird> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/exception.txt;hb=HEAD
16:48:00 <oerjan> * ais523 laughs at oerjan's quit reason
16:48:07 <oerjan> the bus indeed did suck
16:48:14 <ehird> I wonder if ais523 is still awake.
16:48:39 <ais523> I'm IRCing on autopilot, usually a bad sign
16:49:01 <ehird> ais523: describe intercal's select to me
16:49:08 <oerjan> it got stuck on the ice so we had to walk to the next stop, the bus they promised would pick us up didn't show up, and we had to wait half an hour
16:49:10 <ais523> ehird: read the manual
16:49:10 <ehird> (a good way to determine the current awake-level of anyone)
16:49:21 <ehird> ais523: where's the manual
16:49:34 <ehird> ais523: where is it now :
16:49:42 <ais523> in a tarball from intercal.freeshell.org
16:49:50 <ehird> how can I unpack tarballs
16:50:02 <ehird> where do I put that
16:50:13 <ehird> (in a few minutes, we should be down to quarks)
16:50:17 <ais523> ehird: you're running Mac OS X, it should be able to figure it all out for you
16:50:41 <ehird> what's trolling <.<
16:52:06 * oerjan would do the obvious thing but then ehird would only ask what's swatting
16:52:26 <ehird> what's the obvious thing
16:55:49 <AnMaster> screen saver is supposed to blank screen
16:56:03 <AnMaster> it just showed password dialog
16:57:32 <AnMaster> oerjan, I think it is time for the frying pan
16:58:17 <AnMaster> and for my screen saver, it seems to work now
16:58:24 <AnMaster> no clue what caused blanking to fail
16:58:28 <oerjan> i would generally recommend against using frying pans on screen savers, incidentally.
16:58:36 -!- metazilla has joined.
16:58:39 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
16:58:46 -!- metazilla has changed nick to moozilla.
16:59:36 <oerjan> although a frying pan _in_ a screen saver might work, as long as it is properly fastened.
17:00:13 <AnMaster> oerjan, my screen saver is just blanking + kde password dialog
17:00:36 <ehird> du du du du du du.
17:01:20 -!- metazilla has joined.
17:01:29 -!- moozilla has quit (Nick collision from services.).
17:01:31 -!- metazilla has changed nick to moozilla.
17:01:41 <ehird> ((how is du that small))
17:02:58 <Badger> openbsd's is bigger than free :P
17:03:34 <oerjan> it probably contains a buggy implementation of half of emacs
17:03:37 <AnMaster> Badger, I mean it GNU du more than half the size of cfunge, and cfunge supports lots of fingerprints
17:03:56 <ehird> gnu ca is hilarious
17:05:02 <oerjan> sheesh did IWC get reddited or something
17:05:29 <Badger> AnMaster: why is my cat so fat :P
17:05:30 <oerjan> DMM supposedly just made the site _more_ efficient...
17:05:58 <AnMaster> oerjan, oh yes to use javascript or something
17:06:19 <oerjan> rather than reloading the whole page on options change
17:06:30 <oerjan> but i assume he did more than that
17:06:49 <AnMaster> oerjan, that means sending much more data for those who don't want the extra stuff
17:07:07 <AnMaster> ehird, that is still less than GNU cat
17:07:47 <oerjan> but still the optional parts are just text
17:08:08 <oerjan> shouldn't be that different
17:09:09 <AnMaster> Badger, note that is using /usr/bin/du
17:09:33 <AnMaster> so this isn't a fair comparison for my linux system
17:10:02 <AnMaster> while the freebsd system is 32bit
17:10:22 <AnMaster> ehird, hey OS X installs all their stuff outside /usr/bin
17:10:32 <ehird> AnMaster: i'm talking about unix tools here.
17:10:48 <AnMaster> ehird, well on my system X and what not are in /usr/bin
17:11:03 * ehird is trying /opt/local
17:11:05 <AnMaster> ehird, so that is impossible to compare
17:11:11 <ehird> probably like 5000000000G
17:11:19 <Badger> /obsd: ELF 64-bit LSB executable, x86-64, version 1, statically linked, not stripped
17:11:23 <AnMaster> 457M /usr/bin <-- gentoo, and that comains KDE
17:11:25 * Badger wonders what the devil that is
17:12:05 <Badger> kernel wouldn't be that type
17:12:09 <AnMaster> that is /boot/kernel/kernel or so here
17:12:19 <ehird> Badger: % file /obsd
17:12:56 <AnMaster> ais523, unfair for me, I have several kernels in /boot
17:13:11 <AnMaster> it ends up at 99 MB due to that
17:13:12 <ehird> -rw-r--r-- 1 root wheel 8.2M 2007-10-11 02:24 mach_kernel
17:13:14 <ais523> I have loads of kernels in /boot
17:13:21 <ais523> I have to delete the old backups to be able to upgrade my OS
17:13:30 <AnMaster> 9,6M /boot <-- my gentoo linux
17:13:31 <Badger> /boot: ELF 32-bit LSB executable, Intel 80386, version 1, statically linked, stripped
17:13:49 <AnMaster> Badger, well on obsd it is the boot loader
17:14:04 <Badger> so obsd must be the kernel
17:14:42 <AnMaster> *bsd have good man pages usually
17:15:14 <Badger> I sshed to another box
17:16:34 <ehird> gcc still compiles
17:16:47 <AnMaster> you know it will likely boot strap itself
17:17:06 <AnMaster> ehird, check if the output contains xgcc
17:17:07 <ais523> heh, presumably it's faster in a cross-compile for that reason
17:17:10 <ehird> it took like half an hour last time
17:17:17 <ehird> /Users/ehird/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc/xgcc -B/Users/ehird/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc/ -B/usr/local/i386-apple-darwin8.11.1/bin/ -B/usr/local/i386-apple-darwin8.11.1/lib/ -isystem /usr/local/i386-apple-darwin8.11.1/include -isystem /usr/local/i386-apple-darwin8.11.1/sys-include -c -DHAVE_CONFIG_H -O2 -g -g -O2 -m64 -I. -I../../.././libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedanti
17:17:20 <ehird> c ../../.././libiberty/regex.c -o regex.o
17:17:37 <AnMaster> ehird, looks like it is compiling the third stage using the second one
17:18:07 <ehird> I'm not going to make install this btw
17:18:10 <AnMaster> are you building a -m64 with "host-i386-apple-darwin8.11.1"
17:18:12 <ehird> and use it from there
17:18:23 <ais523> AnMaster: compiling third using second is correct
17:18:25 <ehird> A 32-bit compiler can compile a 64-bit binary, I'm sure
17:18:29 <ais523> if they aren't identical binaries, something went wrong
17:18:35 <AnMaster> ehird, also it needs to be installed
17:18:39 <ehird> AnMaster: does it?
17:18:48 <ehird> I was just planning on using it as it is here.
17:18:59 <ais523> at least if you invoke xgcc directly
17:19:06 <ehird> ok, so where's my final gcc built to?
17:19:07 <ais523> as that one's designed to be run from the build treee
17:19:08 <AnMaster> ais523, well using the final stage I meant
17:19:18 <ehird> xgcc would be fine
17:19:23 <ehird> as long as it does core2
17:19:37 <ais523> AnMaster: the final and intermediate stage are bit-for-bit identical
17:20:08 <oerjan> oklofok: http://www.mezzacotta.net/singles/jokes_explained_explained_explained_explained.php
17:20:20 <ais523> not so sure about that, but the advantages of comparison are so high that you'd expect them to try hard to make it work
17:20:28 <ehird> % ./host-i386-apple-darwin8.11.1/gcc/xgcc --version
17:20:53 <ehird> AnMaster: paste your cfunge cflags again?
17:21:41 <AnMaster> ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you
17:21:52 <AnMaster> ehird, you need to set CC *before* you call cmake
17:21:53 <ehird> AnMaster: what about the unsafe loop optimizations!
17:22:18 <ehird> for the config gui :P
17:22:37 <ais523> ehird: you check the program first to make sure the loop optimisations are in fact safe in the context of the program
17:22:47 <ehird> xgcc: error trying to exec 'cc1': execvp: No such file or directory
17:22:50 <ehird> need to adjust PATH :P
17:23:11 -!- ais523 has quit.
17:23:27 -!- metazilla has joined.
17:23:33 <ehird> AnMaster: does cmake need installing?
17:23:35 -!- moozilla has quit (Nick collision from services.).
17:23:39 -!- metazilla has changed nick to moozilla.
17:23:50 <AnMaster> I only installed it through my package manager
17:24:40 <AnMaster> ehird, oh do you have ncurses? I have no clue if the ncurses detection I use works on os x
17:24:42 <ehird> CMake Error: The C compiler
17:24:42 <ehird> "/Users/ehird/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc/xgcc" is not able to
17:24:44 <ehird> compile a simple test program.
17:24:56 <ehird> ld: can't locate file for: -lgcc
17:24:59 <AnMaster> ehird, you managed to get it to use the right c compiler at least
17:25:00 <ehird> need LD_LIBRARY_PATH
17:25:42 <AnMaster> ehird, also I assume you enabled multilib when compiling? otherwise you won't have any 64-bit libgcc
17:25:56 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
17:26:00 <AnMaster> hey no one said gcc compiling was fun!
17:26:01 -!- moozilla has joined.
17:26:02 <ehird> Er, what's multilib?
17:26:17 <ehird> Is it enabled by default?
17:26:17 <AnMaster> ehird, both 32-bit and 64-bit libs, you have it for your system gcc and your libc
17:26:28 <AnMaster> ehird, I don't know if it is on by default
17:26:29 <ehird> libgcc_s_x86_64.1.dylib
17:26:39 <ehird> (in ~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc)
17:26:46 <ehird> dylib is just .so for os x
17:26:50 <AnMaster> ehird, you may not have any 32-bit one then
17:27:06 <ehird> I'm not using this for anyhing else
17:27:13 <ehird> "/Users/ehird/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc/xgcc" is not able to
17:27:13 <ehird> compile a simple test program.
17:27:18 <ehird> ld: can't locate file for: -lgcc
17:27:22 <ehird> guess I need to symlink
17:27:39 <ehird> libbackend.a libgcc.a libgcc_eh.a libgcov.a
17:27:51 <oerjan> they just had to dyliberately call it something different
17:28:24 <ehird> AnMaster: will this compile all fingerprints by default?
17:28:28 <ehird> Badger: it sucks less than everything else
17:28:34 <ehird> WARNING: This project requires version 2.6 of CMake. You are running version
17:28:37 <ehird> I hate you, AnMaster.
17:28:40 <AnMaster> ehird, it will disable TERM and NCRS if it can't find ncurses library and/or headers
17:28:57 <AnMaster> but apart from that it will compile all
17:29:32 <ehird> This is the biggest waste of time ever :)
17:29:36 <AnMaster> ehird, tell me if mycoterm works on your computer, it would be nice to know
17:29:42 <AnMaster> also what do you mean waste of time?
17:29:55 <ehird> I compiled freaking gcc just to squeeze a few ms out of a befunge interpreter.
17:30:02 <AnMaster> on my system it is just a single command as root
17:30:16 <AnMaster> making my package manager upgrade
17:30:25 <ehird> % sudo port upgrade cmake
17:30:52 <ehird> macports is written in tcl xD
17:30:53 <AnMaster> now I seriously hope windows never gets an unified package manager
17:31:05 <AnMaster> that would kind of make windows suck less
17:31:28 <AnMaster> ehird, also don't you upgrade weekly btw?
17:31:45 <ehird> i'm lazy and the existing versions work for anything but cfunge
17:32:01 <AnMaster> ehird, no I upgraded myself to 2.6 because OSG needed it
17:32:19 <AnMaster> then the 2.4 cmakefile didn't work well with 2.6, it had lots of warnings then
17:32:30 -!- sebbu2 has quit ("@+").
17:32:33 <AnMaster> and yes cmake sucks, but the alternatives suck more
17:32:45 <AnMaster> for example consider that PATH thing you needed for CC
17:32:49 <ehird> scons sucks a bit less
17:32:51 <AnMaster> with scons that would have been a pain
17:32:57 <AnMaster> since it would have ignored your env variables
17:33:11 <ehird> I tried to use rake (ruby make) for something, it works well for some things but not building progarms
17:33:22 <AnMaster> specialized ones work well usually
17:33:33 <ehird> rake isn't for making ruby.
17:33:39 <ehird> rake is a generic build tool written in ruby
17:33:51 <ehird> unfortunately, it doesn't let you do things like %.o from %.c
17:33:59 <oerjan> progarms, for when your software needs to get a grip on things
17:34:05 <AnMaster> oh just list every file by hand
17:34:07 <ehird> i.e., you have to manually make the file targets (of course, you can just glob them which is easy enough)
17:34:13 <ehird> you'd have to duplicate it for every item
17:34:21 <ehird> Dir['src/*.c'].each do |src|
17:34:29 <ehird> file blah => [src] do
17:34:37 <ehird> AnMaster: basically
17:34:43 <ehird> then make a file target for each
17:34:47 <ehird> without writing it all out
17:34:50 <ehird> but still, it's pretty ugly
17:35:06 <AnMaster> FILE(GLOB CFUNGE_SOURCES RELATIVE ${CFUNGE_SOURCE_DIR} src/*.c
17:35:21 <AnMaster> like subdirs and included libraries
17:35:26 <ehird> yeah, it's just that rake doesnt' have a general understanding of pattern rulse
17:35:28 <AnMaster> but that is pretty horrible syntax yes
17:35:32 <ehird> I could build something on top of it
17:35:42 <AnMaster> ehird, I think there is a REGEX or some such
17:36:04 <AnMaster> also UPPERCASE shows it is a SERIOUS QUERY LANGUAGE... err wait what?
17:36:05 <ehird> I could probably do something like:
17:36:47 <ehird> pattern %{build/\1.o} => [%r{src/(.+).c}] do
17:37:04 <AnMaster> SELECT * FROM src LIKE '~.c' INTO SOURCEFILES;
17:37:21 <AnMaster> also broken sql syntax I think
17:37:30 * AnMaster don't remember LIKE pattern rules
17:37:42 <ehird> cmake builds slowly
17:38:02 -!- metazilla has joined.
17:38:10 -!- moozilla has quit (Nick collision from services.).
17:38:14 -!- metazilla has changed nick to moozilla.
17:38:22 <AnMaster> moozilla, please fix your connection
17:38:29 <ehird> http://www.mezzacotta.net/singles/jokes_explained_explained_explained_explained.php I think I'll write X := X Explained
17:39:40 <ehird> AnMaster: stop bugging him
17:39:42 <ehird> it only bothers you
17:40:16 -!- metazilla has joined.
17:40:25 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
17:40:27 -!- metazilla has changed nick to moozilla.
17:40:30 -!- moozilla has quit (Nick collision from services.).
17:40:53 -!- moozilla has joined.
17:41:14 <ehird> looks like a ghostbot
17:42:09 <AnMaster> "# If black boxes on planes are indestructible, why isn't the whole plane made of that material?" <-- actually, why?
17:42:22 <oerjan> AnMaster: consider reading to the end
17:43:21 <oerjan> maybe if they use carbon nanotubes...
17:43:45 <AnMaster> oerjan, well maybe it would work to make certain important structural components out of them
17:43:52 <AnMaster> anyway even if they did it wouldn't help much
17:44:08 <oerjan> i mean, those are supposed to be both strong and light iirc
17:44:10 <AnMaster> because even if the plane survived the crash would cause a high G load
17:45:17 -!- sebbu has joined.
17:45:24 <oerjan> yes but not worse than currently
17:45:43 <AnMaster> mezacotta breaks when you zoom the page
17:54:52 -!- metazilla has joined.
17:55:00 -!- moozilla has quit (Nick collision from services.).
17:55:04 -!- metazilla has changed nick to moozilla.
17:57:26 -!- metazilla has joined.
17:57:26 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
17:57:33 -!- metazilla has changed nick to moozilla.
17:58:06 <oerjan> i never metazilla that would stay
18:00:18 <AnMaster> I can (try) to help with specific issues if you want, hopefully none of them are due to the way you compiled gcc
18:03:06 <ehird> % PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$PATH CC=xgcc DYLD_LIBRARY_PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$DYLD_LIBRARY_PATH LD_LIBRARY_PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$LD_LIBRARY_PATH ccmake ..
18:03:27 <ehird> AnMaster: where do i set cflags in ccmake
18:03:39 <ehird> CMAKE_C_FLAGS_RELEASE
18:03:42 <ehird> AnMaster: paste your cflags again?
18:03:46 <ehird> and is release on by default?
18:04:25 <AnMaster> ehird, not release by default no
18:04:34 <ehird> ok, how do i make it release
18:04:47 <AnMaster> there is a CMAKE_BUILD_TYPE setting somewhere there
18:05:14 <ehird> paste your cflags?
18:05:47 <AnMaster> <AnMaster> ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you
18:06:02 <ehird> CMAKE_OSX_ARCHITECTURES i386
18:06:05 <ehird> do I have to change anything there
18:06:14 <AnMaster> ehird, don't know, it doesn't show up on linux
18:06:27 <AnMaster> ehird, doesn't it display help in the lower status bar
18:06:37 <AnMaster> a white bar on your black console
18:06:42 <ehird> CMAKE_OSX_ARCHITECTURES: Build architectures for OSX
18:06:53 <AnMaster> ehird, well that doesn't help me decide what it does
18:07:00 <AnMaster> maybe related to universal binary?
18:07:03 <ehird> what's the name of i386 that is 64 bit?
18:07:15 <ehird> also /me adds -m64 to the cflags
18:07:18 <AnMaster> ehird, on *linux* it is x86_64 usually, but that may differ
18:07:44 <AnMaster> ehird, with your custom gcc I wouldn't touch CMAKE_OSX_ARCHITECTURES
18:07:52 <AnMaster> try it the way it is and see if it works
18:08:09 <ehird> AnMaster: leaks memory?
18:08:33 <AnMaster> apart from a few bytes of still reachable in REFC, but that is ok
18:08:53 <AnMaster> same for SOCK and FILE, all of them need to track global lists of handles
18:09:21 <AnMaster> so basically they are like "static" arrays allocated dynamically
18:10:33 <AnMaster> ehird, oh and I haven't tried gc + ncurses yet so I would definitely keep GC off atm
18:11:43 <ehird> Press [enter] to edit option CMake Version 2.6 - patch 2
18:11:43 <ehird> Press [c] to configure
18:11:45 <ehird> Press [h] for help Press [q] to quit without generating
18:11:47 <ehird> Press [t] to toggle advanced mode (Currently On)
18:11:56 <ehird> puts me back to the same screen
18:12:05 <ehird> CURSES_EXTRA_LIBRARY CURSES_EXTRA_LIBRARY-NOTFOUND
18:12:11 <ehird> what does that mean
18:12:13 <AnMaster> I don't know about that either
18:12:17 <ehird> LIBRT_LOCATION LIBRT_LOCATION-NOTFOUND
18:12:18 <AnMaster> it is the ncurses check from cmake
18:12:30 <AnMaster> the needed function is in libc on *bsd
18:12:47 <ehird> xgcc: error trying to exec 'cc1': execvp: No such file or directory
18:12:49 <ehird> need the PATH again
18:12:58 <ehird> % PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$PATH CC=xgcc DYLD_LIBRARY_PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$DYLD_LIBRARY_PATH LD_LIBRARY_PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$LD_LIBRARY_PATH make
18:13:01 <ehird> i feel just like a gentoo use.
18:13:14 <ehird> [ 1%] Building C object CMakeFiles/cfunge.dir/lib/libghthash/cfunge_mempool.c.o
18:13:14 <ehird> cc1: error: unrecognized command line option "-arch"
18:13:15 <ehird> cc1: error: unrecognized command line option "-frename-register"
18:13:25 <ehird> butts on a freaking stick
18:13:25 <AnMaster> ehird, I got no clue what is going on there
18:13:43 <ehird> ha ha ha well that's your fault the
18:13:56 <AnMaster> <AnMaster> <AnMaster> ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you
18:14:01 <ehird> I copied that right in
18:14:06 <ehird> i guess -arch is being passed to cc1
18:14:08 <AnMaster> 2) yes rename-register was wrong
18:14:21 <ehird> it doesnt recognize -arch because it was only compiled for 64 bit?
18:14:26 <ehird> gimme your 64 bit test program again
18:14:51 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
18:15:02 -!- moozilla has joined.
18:15:39 <AnMaster> jan 07 15:58:08 <AnMaster> #include <stdio.h>
18:15:39 <AnMaster> jan 07 15:58:36 <AnMaster> int main(void) { printf("%zu\n", sizeof(char*)); return 0; }
18:15:56 <AnMaster> ehird, anyway check if it can compile hello world with those flags
18:16:48 <ehird> do i have to recompile gcc
18:16:57 <AnMaster> ehird, did you include -m64 to gcc there?
18:17:14 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
18:17:15 <ehird> well now I did and:
18:17:17 <ehird> ld64-59.2 failed: library not found for -lgcc
18:17:20 -!- moozilla has joined.
18:17:21 <ehird> I need multilib don't i
18:17:46 <ehird> Deewiant: i compiled a new gcc
18:17:49 <ehird> just to compile cfunge fast
18:17:52 <ehird> and I compiled it wrong
18:18:03 <AnMaster> Deewiant, I think ehird got a mental shock
18:18:14 <ehird> anyway, so I am about to hop on a plane to sweden
18:18:16 <ehird> track down AnMaster
18:18:31 <ehird> AnMaster: if cfunge didn't exist this wouldn't have happened
18:18:32 <Deewiant> so he's got a 32-bit system and he's trying to build a 64-bit gcc, or what?
18:18:39 <ehird> Deewiant: 64 bit system
18:18:42 <ehird> but gcc only built 32 bit shit
18:18:47 <AnMaster> Deewiant, he has 64-bit OS X with 32-bit userland
18:19:16 <ehird> os x is certified unix
18:19:17 <AnMaster> I got no fcking clue what that does
18:19:18 <ehird> of course it freaking does chroots
18:19:19 <Deewiant> I don't know anything about OS X
18:19:31 <AnMaster> but where would you get a system to run in the chroot?
18:19:37 <AnMaster> you can't just download a linux distro
18:19:50 <Deewiant> install a full 64-bit userland into the chroot
18:19:51 <ehird> AnMaster: can I get multilib __without__ recompiling all of gcc
18:19:53 <AnMaster> ehird, wouldn't it be rather pointless to copy same old gcc in it?
18:20:07 <ehird> now tell me how :P
18:20:46 <ehird> AnMaster: what is the multilib option
18:20:52 <ehird> also, how can I make gcc build with m64
18:20:53 <AnMaster> mkdir gcc-build; cd gcc-build; ../gcc-source/configure --prefix=$HOME/gcc43 --help
18:21:09 <ehird> --with-multilib i guess
18:21:18 <ehird> and CFLAGS="-m64" on cmd line of configure
18:21:29 <AnMaster> ehird, and I don't know about that
18:21:33 <ehird> % CFLAGS="-m64" ./configure --enable-languages=c --with-gmp=/opt/local --with-mpfr=/opt/local --with-multilib --prefix=$HOME/gcc43
18:21:37 <ehird> if you say yes and it doesn't
18:21:38 <ehird> be prepared to die
18:21:49 <AnMaster> ehird, I'm not sure about this
18:21:55 <AnMaster> since I never done any build like that
18:21:58 <ehird> how do I find out what host/target it defaults to?
18:22:05 <AnMaster> I only ever used package manger and done llvm-gcc builds
18:22:20 <AnMaster> arvid@tux /mnt/phoenix/llvm/llvm-gcc $ ./config.guess
18:22:37 <ehird> i386-apple-darwin8.11.1
18:22:44 <ehird> ok, so I s/i386/x86_64/.
18:23:00 <ehird> --build=BUILD configure for building on BUILD [guessed]
18:23:00 <ehird> --host=HOST cross-compile to build programs to run on HOST [BUILD]
18:23:02 <ehird> --target=TARGET configure for building compilers for TARGET [HOST]
18:23:05 <ehird> so I just set all of them to the same thing then
18:23:28 <AnMaster> it could result in a cross compiled build
18:23:37 <ehird> well host is for cross compiling
18:23:45 <ehird> i'll just do build
18:23:52 <ehird> % CFLAGS="-m64" ./configure --enable-languages=c --with-gmp=/opt/local --with-mpfr=/opt/local --with-multilib --prefix=$HOME/gcc43 --build=x86_64-apple-darwin8.11.1
18:23:58 <AnMaster> ehird, that would probably mean it look for the host gcc
18:24:04 <ehird> checking for correct version of gmp.h... yes
18:24:04 <ehird> checking for correct version of mpfr.h... no
18:24:40 <AnMaster> ehird, also you should build gcc out of tree
18:25:19 <AnMaster> ehird, well gcc devs say everything else is unsupported iirc
18:25:26 <ehird> mpfr @2.3.2_0+darwin_i386 (active)
18:25:43 <ehird> this worked last time
18:25:45 <AnMaster> ehird, I would try skipping host
18:26:00 <ehird> Variants: darwin_i386, darwin_x86
18:26:01 <AnMaster> multilib should mean both work
18:26:14 <ehird> % sudo port uninstall mpfr; sudo port install mpfr +darwin_x86
18:26:47 <AnMaster> ehird or your end up with breaking stuff due to missing 32-bit version :D
18:27:00 <AnMaster> that would be funny wouldn't it?
18:27:13 <ehird> this is so not worth cfunge
18:27:17 <ehird> i bet i'm gaining like
18:27:27 <AnMaster> ehird, anyway I suggest dropping CFLAGS and --build from GCC line
18:27:34 <ehird> nah, ill try it like this
18:27:34 <AnMaster> but keeping multilib of course
18:27:40 <ehird> 64 bit is faster with cfunge
18:27:54 <AnMaster> due to more registers and better calling convention
18:28:02 <ehird> please resume complaining to metazilla
18:28:09 <ehird> i just switched to #reddit
18:28:15 <oerjan> ehird: i guess that you will have used 100x more time on this than you'll ever save on the cfunge runs, combined :D
18:28:19 <ehird> he's arguing with someone that a supernatural god can be objectively proved
18:28:32 <AnMaster> oerjan, for linux this would be easy always
18:29:50 <AnMaster> crossdev -t arm-unknown-linux-gnu -s3
18:29:57 <AnMaster> and it builds a cross compiler to arm for you
18:30:01 <oerjan> naturally, god cannot be proved. supernaturally, however, he can.
18:30:07 <AnMaster> -s3 means "up to C compiler but skip C++ one"
18:30:38 <ehird> checking for correct version of mpfr.h... no
18:30:43 <ehird> mpfr @2.3.2_0+darwin_i386+darwin_x86
18:30:55 <ehird> [ehird:~] % sudo port uninstall mpfr; sudo port install mpfr -darwin_i386 +darwin_x86
18:30:57 <AnMaster> ehird, what is that version string from?
18:30:58 <ehird> let's try that again
18:31:05 <ehird> AnMaster: macports
18:31:13 <Deewiant> ehird: see the configure.log to see what it's missing
18:31:23 <ehird> its because i have both variants installed
18:32:05 <AnMaster> ehird, "port: 32-bit mfpr missing: unable to run"
18:32:32 <AnMaster> well I hope that doesn't happen to you
18:32:42 <AnMaster> oh and never ever mount proc on / by mistake
18:32:50 -!- olsner has joined.
18:33:01 <AnMaster> managed to get out of it thanks to having a rescue binary in the same directory
18:33:03 <ehird> AnMaster: do you really think macports -- a tcl program -- uses mpfr, a multiple-precision floating-point computation library?
18:33:07 <Deewiant> well, much is wrong, but what problems does it cause :-P
18:33:19 <AnMaster> Deewiant, /bin/ld.so not found
18:33:30 <AnMaster> no no dynamically linked binaries can run
18:33:46 <AnMaster> Deewiant, in other words: pretty bad
18:33:51 <Deewiant> I thought just proc superimposed on top of /
18:34:00 <AnMaster> except I still had relative path
18:34:09 <ehird> ---> Activating mpfr @2.3.2_0+darwin_i386+darwin_x86
18:34:11 <AnMaster> and could find a rescue shell that way
18:34:29 <ehird> configure.log time
18:34:34 <AnMaster> ehird, also what did config.log say?
18:34:40 <ehird> 18:34 <ehird> configure.log time
18:34:41 <AnMaster> err isn't the name config.log?
18:34:56 <AnMaster> arvid@tux /mnt/phoenix/llvm/llvm-gcc $ ls ../gcc-build
18:34:56 <AnMaster> Makefile config.log i686-pc-linux-gnu libiberty prev-libcpp stage1-gcc stage1-libdecnumber stage_last
18:35:23 <AnMaster> .lo? isn't that somehow related to libraries?
18:35:28 <ehird> ld64 warning: in /opt/local/lib/libmpfr.dylib, file is not of required architecture
18:35:28 <ehird> ld64 warning: in /opt/local/lib/libgmp.dylib, file is not of required architecture
18:36:02 <Mony> you're welcome
18:36:03 <ehird> I could manually compile gmp and mpfr.
18:36:06 <AnMaster> ehird, what about dropping the --build and CFLAGS I mentioned
18:36:08 <ehird> I could also kill myeslf.
18:36:11 <ehird> AnMaster: well, ok.
18:36:26 <AnMaster> ehird, I hope this works out for you
18:36:34 <AnMaster> ehird, and don't forget the c only build thing
18:37:01 <AnMaster> at least only C and C++ are built by default iirc
18:37:17 <AnMaster> ehird, not really, not compared to g++
18:37:24 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
18:37:31 -!- moozilla has joined.
18:39:37 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
18:39:43 <AnMaster> I'm just scrolling between it's end
18:39:56 -!- moozilla has joined.
18:40:06 <ehird> /bin/sh: line 1: build/genmodes: No such file or directory
18:40:06 <ehird> make[3]: *** [s-modes-h] Error 127
18:40:07 <ehird> make[3]: Leaving directory `/Users/ehird/gcc-build/gcc'
18:40:09 <ehird> make[2]: *** [all-stage1-gcc] Error 2
18:40:11 <ehird> make[2]: Leaving directory `/Users/ehird/gcc-build'
18:40:13 <ehird> make[1]: *** [stage1-bubble] Error 2
18:40:15 <ehird> make[1]: Leaving directory `/Users/ehird/gcc-build'
18:40:17 <ehird> make: *** [all] Error 2
18:40:19 <ehird> gdfgjdfkgjdkflgjkldfgjdfljgdfklgjdfgkldfjgkldfjg WHAT
18:40:21 <ehird> build/genmodes -h > tmp-modes.h
18:40:23 <ehird> was the failing thing
18:40:42 <ehird> and its in ~/gcc-blahblahblah/
18:41:48 <ehird> 18:41 <metazilla> OMNILOL
18:41:49 <ehird> 18:41 <metazilla> HAHAHAHA
18:41:49 <ehird> 18:41 <metazilla> o rite
18:42:06 <ehird> metazilla != moozilla
18:42:11 <ehird> but moozilla signs on as metazilla, sometimes
18:42:25 <ehird> that must be why he keeps getting ghosted
18:42:39 <ehird> why did my build fail crazily
18:42:53 <AnMaster> where is the pristine copy of the GCC source?
18:43:00 <AnMaster> and where is the clean build directory?
18:43:05 <AnMaster> and what is the configure command line
18:43:17 <ehird> [ehird:~/gcc-build] % ../gcc-4.3.2/configure --enable-languages=c --with-gmp=/opt/local --with-mpfr=/opt/local --with-multilib --prefix=$HOME/gcc43
18:43:19 <ehird> All questions solved in one
18:43:26 <oerjan> ehird: except it's the moozilla nick that is ghosted
18:43:33 <AnMaster> ehird, is ../gcc-4.3.2 really make distclean
18:43:40 <oerjan> and most of the quit/joins are not ghostings
18:43:45 * ehird makes distclean it
18:43:53 <AnMaster> or just re-extract the tarball
18:44:05 <AnMaster> also remove all files in the build dir after
18:44:50 <AnMaster> ehird, hm you have dual core right?
18:45:09 <AnMaster> sadly I don't have any dual core to test that on
18:45:32 <AnMaster> with the right build time options I assume
18:45:34 <ehird> you can test on this box, but you'd have to deal with OS X oddities :-P
18:45:51 <AnMaster> not having access to the box I'm testing on!?
18:45:53 <ehird> well, i don't notice them but I imagine someone who uses linux every day would
18:46:00 <ehird> AnMaster: that would be one thing :P
18:46:43 <AnMaster> but not having access and having to rely on you would be a serious issue
18:46:57 <AnMaster> when I get a dual core system I may reconsider it
18:47:06 <AnMaster> meanwhile I wish cfunge could make use of openmpi
18:47:07 <ehird> Yeah I'm so unreliable :P
18:47:21 <ehird> still, if you do put in some openmp stuff I'm happy to give you ssh acess
18:47:36 <AnMaster> ehird, well I need to build myself a gcc which supports it first
18:47:43 <oerjan> hm random speculation from the IWC forum: "At the end of this, the strips will be rearrangeable to form a valid PIET program."
18:47:51 <AnMaster> also I seem to have outdated mpfr and gmp on this computer :D
18:47:59 <ehird> AnMaster: well, why not build it on my system? i mean, if you have to test on it...
18:48:15 <AnMaster> well I'd rather not depend on your goodwill
18:48:39 <ehird> depend on anyone in #esoteric with a dualcore system :-P
18:48:41 <AnMaster> ehird, also I'm not sure openmp would help much, due to the way funge is specced there isn't much you can paralize
18:48:51 <ehird> admittedly, profiling over ssh would be a pain
18:48:59 <AnMaster> 2 threads would probably help for mycology
18:49:15 <AnMaster> but apart from that I don't think there are many places to gain in
18:49:51 <AnMaster> ehird, yes especially since stuff like cachegrind or callgrind wouldn't work
18:49:55 <AnMaster> both are very good for profiling
18:50:20 <ehird> this system can run linux you know
18:50:23 <AnMaster> on OS X aren't you basically stuck with using gcc -pg?
18:50:27 <ehird> but I don't think I'd boot into linux at your will :P
18:50:36 <ehird> AnMaster: XCode probably has a profiler.
18:50:43 <ehird> wait, can't you emulate a dual core system?
18:51:03 <AnMaster> ehird, well I could probably emulate that. but profiling would show a slowdown then I bet
18:51:10 <ehird> sure, profile without openmp
18:51:13 <ehird> in the emulated system
18:51:31 <AnMaster> well you wouldn't gain much since it would still have the same total computational resources
18:51:54 <ehird> isn't openmp really ugly?
18:52:09 <AnMaster> ehird, it is one of the less ugly ways to add threading IMO
18:52:16 <AnMaster> compare with phtreads call over all the app
18:52:57 <AnMaster> to me openmp seems like the least bad alternative in fact
18:53:40 <AnMaster> ehird, oh and cfunge is of course already coded so to make use of SSE where possible by allowing gcc vectorizer to convert loops to use SSE
18:54:10 <AnMaster> it has problems detecting if the overhead of setting up sse is larger than the benefit
18:54:20 <AnMaster> basically you loose on it for few iterations and gain for many
18:54:28 <AnMaster> I heard that would be fixed in gcc 4.4....
18:54:30 <ehird> AnMaster if I wrote a cfunge patch for trds would you accept it
18:54:40 <AnMaster> ehird, I would at least review it
18:54:49 <AnMaster> ehird, also it must be possible to turn it off
18:54:49 <ehird> it would avoid touching the rest of the code by doing run-time code modifiation on the rest of cfunge
18:54:54 <AnMaster> since it would break ick otherwise
18:55:27 <AnMaster> which is one of several reasons concurrent funge is a compile time option
18:56:12 <AnMaster> ehird, bbiab, going afk for a few minutes
18:56:29 <AnMaster> oh and a multilib build will probably take longer than a non-multilib one
19:01:17 -!- kar8nga has joined.
19:01:42 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
19:01:50 -!- moozilla has joined.
19:04:26 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
19:04:27 -!- metazilla has joined.
19:05:27 <ehird> oh, metazilla IS the one from reddit.
19:08:16 <oerjan> huh they've switched isps from last i checked
19:08:36 <oerjan> i guess they are the same after all, on two isps, but the same set of two nicks, conflicting...
19:13:10 <ehird> 18:42 <metazilla> i just found this http://alienate.on.nimp.org/profile
19:13:23 <ehird> yeah can we kick him for being an idiot in other channels?
19:16:14 <ehird> he's talking in #reddit
19:16:58 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
19:17:06 -!- metazilla has joined.
19:17:30 <AnMaster> ehird, sure it is same person?
19:17:50 <ehird> their join/parts coincide
19:17:52 <AnMaster> one is moozilla the other is metazilla
19:17:56 <ehird> their join/parts coincide
19:18:05 <ehird> and they both enter #reddit
19:19:06 <AnMaster> ehird, I have met this person on another network before, if he talks I can probably see if the style is familiar
19:19:18 <ehird> he's talked in here before
19:19:23 <ehird> in much the same way as in #reddit
19:19:27 <ehird> he's obviously the same person :P
19:19:28 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
19:19:42 -!- metazilla has joined.
19:20:34 <AnMaster> ehird, why not ask him directly?
19:20:51 <ehird> i'd have to attempt to communicate with him. plus, he is obviously the same person
19:22:22 <AnMaster> ehird, I'm on another network where he is, I'm oper there so I can know there is only one of him and he keeps reconnecting
19:22:31 <AnMaster> and he uses the .dyn.centurytel.net one
19:22:38 <ehird> nobody gives a shit AnMaster
19:22:41 <ehird> he's the same person, end of
19:22:52 <ehird> 19:19 metazilla has joined (n=moozilla@207-118-28-35.dyn.centurytel.net)
19:23:09 <ehird> metazilla: are you moozilla of #reddit.
19:23:28 <AnMaster> ehird, 1) it makes no sense to ignore one 2) it makes no sense to use totally different isps
19:23:50 <ehird> 1) ignore one? What? 2) proxies. different machines. maybe one's a shell. who knows
19:24:04 <AnMaster> ehird, 1) ignore one client, the one in here
19:24:14 <ehird> no, he ignores this channel
19:24:15 <AnMaster> does he speak on both over in reddit?
19:24:18 <ehird> because he's talking in reddit
19:24:40 <oerjan> obviously the two isps have different channel settings
19:24:45 <ehird> yes god damnit AnMaster
19:24:49 <ehird> stop acting confused
19:24:51 <ehird> he's the same person
19:24:54 <ehird> i've told you this 5 times
19:25:04 <oerjan> only one is here, maybe it's only the other one he is present at
19:25:44 <oerjan> AnMaster: maybe one is his home machine and he is not there, and that happens to be the one in this channel
19:26:16 <oerjan> i.e. he really doesn't see messages here
19:26:37 <ehird> that would make sense
19:26:39 <oerjan> or to the centurytel.net
19:27:05 <AnMaster> oerjan, but ehird just said he talked from both clients and isps on redit
19:27:22 <ehird> this is the most tedious pointless conversation ever
19:27:25 <ehird> it's the same person
19:27:27 <ehird> get over yourself :P
19:27:36 <ehird> gcc still compilin
19:29:42 <oerjan> yeah let's talk about _real_ frustrations instead :D
19:30:37 <AnMaster> ehird, how do you feel about FPGAs?
19:30:55 <ehird> 19:30 <moozilla> grab your dick you fucking helmut
19:30:57 <ehird> stunning intellect
19:31:06 <ehird> found a flaw with oerjan's propositio
19:31:11 <ehird> there is no way this guy is employed
19:32:37 <ehird> British Gov't wants private firms to build $12b super database for tracking every citizen's Internet usage, phone call, text message, and other transactions --reddit
19:32:52 <ehird> uk<--->police state
19:32:53 <ehird> uk<-->police state
19:33:08 <oerjan> i didn't say the other was work, could be school
19:33:42 <AnMaster> ehird, if you remove that last - it isn't so bad any more
19:33:55 <AnMaster> at least not if <> is defined as in (iirc) perl
19:34:24 <ehird> it turns into operators :P
19:34:34 <ehird> the funny thing is, the uk is only not a total police state because our govt is too incompetent to implement its crazy schemes
19:34:36 <AnMaster> also you went "heh" at something I said
19:34:42 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
19:34:46 -!- metazilla has joined.
19:34:57 <ehird> *four white panels*
19:35:01 <ehird> *four fading in blue panels*
19:35:07 <ehird> where have I seen this before?
19:35:14 <AnMaster> ehird, the explosion haven't ended yet
19:35:23 <oerjan> something irregular is going on
19:35:30 <ehird> what the UK needs is a bearocracy.
19:35:33 <ehird> we just let bears run it
19:35:42 <ehird> "mr bear, do you like this policy?"
19:35:48 <ehird> "*MAUL* *RIP *CRUNCH*"
19:35:52 <ehird> "OK, ok, we'll reject it"
19:35:58 <ehird> *four white panels*
19:36:02 <ehird> *four fading in blue panels*
19:36:05 <ehird> where have I seen this before?
19:36:12 <AnMaster> you forgot "<ehird> ... wait a second"
19:36:43 <AnMaster> oerjan, try Undelete for DOS ;P
19:36:51 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
19:37:01 <oerjan> everything is now pahpnenigt a hetmase mite
19:37:05 <ehird> i used undelete onceuahsiuhiahi
19:37:09 <ehird> oerjan: akhjkashdjkfhkjdg ndfkjgn
19:37:15 <ehird> dsfj ids oa ofhi m, a ufua hiauh! askndaskd??
19:37:17 <ehird> jkahsdkjahdkJASHDklAJHSDJK!!! KAJHASD!!
19:37:24 <ehird> sdfjsdfoijsdofijoijoi˝•¶¥¶̂̄†̂›†‹̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀NO CARRIER
19:37:40 <ehird> (*&8•ª°·‡̄̄̄̄̄̄̄̄̄̄̄̄̄̄̄̄°·Y&*(YH9•ˍ(*̈ ̏•ª‡°‰Þ̂‡° ̏‡̂Þ¶ˆþ¶ˆþ¶ˆþˆ¶þ¯˙˝˜˚¯˛˝̛Ø̛̱̋̄̈ ̱̑ÐNO UNIVERSE
19:37:54 <AnMaster> <oerjan> everything is now pahpnenigt a hetmase mite <--?
19:38:20 <AnMaster> INSERT PIGEON INTO HOLE WHERE HOLE IS NULL?
19:38:48 <oerjan> PLEASE SELECT FINE STRUCTURE CONSTANT FOR REBOOT >
19:39:42 <AnMaster> +++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++
19:39:58 <ehird> oerjan: well a nice round number, how about 1
19:40:29 <AnMaster> oerjan, what about other constants?
19:40:32 <ehird> ((how long will this take...))
19:40:44 <AnMaster> ehird, not as long as compiling GCC
19:40:49 <ehird> oerjan can I set pi?
19:40:58 <ehird> if so I set pi to 3 (I am a religious man)
19:41:06 <AnMaster> ehird, just hit the break key to enter the debugger
19:41:13 <oerjan> SORRY, PI IS IN THE BIOS ROM
19:41:23 <ehird> how goes the reboot
19:41:47 <ehird> 19:40 moozilla is now known as and_voidg2
19:41:47 <ehird> 19:40 <moozilla> now we can be null and void
19:41:48 <ehird> 19:41 <moozilla> for over 9000 lulz
19:41:48 <AnMaster> first copy the original constant page of course
19:41:51 <oerjan> STARS COLLAPSING DUE TO LOW FSC
19:42:04 <ehird> let's try that again
19:42:12 <oerjan> LIFE FORMING ON NEUTRON STARS
19:42:32 <ehird> i love sentient computer
19:42:44 <ehird> how goes that life oerjan
19:42:52 <AnMaster> ehird, you would have needed to use the reset key
19:42:52 <ehird> can we communicate with it?
19:43:26 <ehird> let's try this again
19:43:43 <AnMaster> ehird, what about fine structure constant? NaN?
19:43:47 <ehird> AnMaster: how about -1
19:43:58 <AnMaster> ehird, wouldn't that be equally bad in the other direction?
19:44:07 <ehird> maybe it'll be equally good
19:44:11 <ehird> oerjan: FINESTRUCTURE= -1<ENTER>
19:44:21 <AnMaster> ehird, what about NaN if this doesn't work?
19:44:43 <AnMaster> or it would be integer division by zero
19:45:01 <ehird> i think I broke the oerjanputer
19:45:14 <ehird> OERJANPUTER VERSION 8645645615
19:45:21 <AnMaster> <AnMaster> ehird, reset it too?
19:45:22 <AnMaster> -oerjan- VERSION irssi v0.8.10 - running on Linux i686
19:45:22 <AnMaster> <ehird> OERJANPUTER VERSION 8645645615
19:45:24 <ehird> "SERVING YOUR UNIVERSAL NEEDS SINCE INFINITY BC"
19:45:47 * ehird waits for the universal simulation program to start up.
19:45:56 <ehird> FINESTRUCTURE= -1<ENTER>
19:46:24 <ehird> [gcc compiled yay]
19:46:51 <oerjan> THIS UNIVERSE IS CONSIDERABLY SLOWER, PLEASE HAVE PATIENCE
19:47:14 <AnMaster> wait I just got an esolang idea
19:47:30 <AnMaster> where it made sense to refer to last object
19:48:08 <ehird> AnMaster: [ehird:~/cfunge/build] % PATH=~/gcc43/bin:$PATH DYLD_LIBRARY_PATH=~/gcc43/lib:$DYLD_LIBRARY_PATH LD_LIBRARY_PATH=~/gcc43/lib:$LD_LIBRARY_PATH ccmake ..
19:48:46 <AnMaster> ehird, then check the values and change them as needed
19:49:05 <ehird> AnMaster: ok, what cflags again?
19:49:32 <AnMaster> <AnMaster> <AnMaster> <AnMaster> ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you
19:49:41 <oerjan> VACUUM BUBBLES FORM IN ANTIMATTER SOUP
19:49:46 <AnMaster> <AnMaster> jan 07 15:58:08 <AnMaster> #include <stdio.h>
19:49:46 <AnMaster> <AnMaster> jan 07 15:58:36 <AnMaster> int main(void) { printf("%zu\n", sizeof(char*)); return 0; }
19:49:46 <AnMaster> <AnMaster> ehird, anyway check if it can compile hello world with those flags
19:50:16 <ehird> [ehird:~] % ~/gcc43/bin/gcc -m64 -march=core2 64bit.c
19:50:16 <ehird> [ehird:~] % ./a.out
19:50:32 <ehird> should be off presumably
19:50:39 <AnMaster> ehird, well yes it means -t doesn't work
19:50:42 <oerjan> ANTIPOLYMERS FORM IN BUBBLE BOUNDARIES
19:50:50 <ehird> oerjan: i like this.
19:50:52 <AnMaster> ehird, output trace of the running program
19:50:58 <ehird> AnMaster: slows down presumably
19:51:09 <AnMaster> ehird, not noticable in my tests
19:51:19 <AnMaster> but sure you reduce one if test every now and then
19:51:45 <oerjan> STAR-SIZED BUBBLE ANTI-CELLS FORM
19:53:08 <AnMaster> which would be 1) tricky to build for you 2) possibly slow down a bit
19:53:58 <ehird> % PATH=~/gcc43/bin:$PATH DYLD_LIBRARY_PATH=~/gcc43/lib:$DYLD_LIBRARY_PATH LD_LIBRARY_PATH=~/gcc43/lib:$LD_LIBRARY_PATH make
19:54:07 <ehird> [ 1%] Building C object CMakeFiles/cfunge.dir/lib/libghthash/cfunge_mempool.c.o
19:54:07 <ehird> cc1: error: unrecognized command line option "-arch"
19:54:08 <ehird> cc1: error: unrecognized command line option "-frename-register"
19:54:10 <ehird> make[2]: *** [CMakeFiles/cfunge.dir/lib/libghthash/cfunge_mempool.c.o] Error 1
19:54:15 <ehird> you're fucking kidding me
19:54:23 <oerjan> COMPETITION CAUSE ANTI-CELLS TO EVOLVE RUDIMENTARY NERVE GRAPH
19:54:40 <ehird> AnMaster: how can I make cmake output what command line it uses
19:55:15 <ehird> oerjan: I like this
19:55:31 <AnMaster> ehird, hit t to show advance entries
19:55:53 <AnMaster> I don't remember the exact name of the option
19:56:08 <oerjan> ANTI-CELLS EVOLVE, SHRINK TO PLANET SIZE TO THINK FASTER
19:56:19 <ehird> AnMaster: http://pastie.org/private/jlmebg2apnzyxgij7hobw
19:56:26 <ehird> there's no way I'm debugging that, you have a look :P
19:56:53 <AnMaster> ehird, it must be that OSX_ARCH thing
19:57:10 <oerjan> GALACTIC SIZE ANTI-CELL SOCIETY FORMS
19:57:22 <ehird> i fear what comes next
19:57:29 <ehird> speak of the devil
19:58:05 <ehird> AnMaster: it is building now
19:58:05 <oerjan> FASCIST COUNTERREVOLUTION
19:58:23 <AnMaster> ehird, wait a few lines before reset
19:58:36 <ehird> AnMaster: you have a lot of "q printf length modifier" warning s:P
19:58:38 <oerjan> GAMMA BURST WAR KILLS 99% OF POPULATION
19:58:40 <ehird> Linking C executable cfunge
19:58:40 <ehird> [100%] Built target cfunge
19:58:44 <AnMaster> ehird, that is due to OS X header issues
19:58:49 <ehird> -rwxr-xr-x 1 ehird ehird 182K 2009-01-07 19:58 cfunge
19:59:17 <ehird> [100%] Built target cfunge
19:59:17 <ehird> Install the project...
19:59:18 <ehird> -- Install configuration: "Release"
19:59:20 <AnMaster> ehird, apple headers use %q in inttypes.h to define the int64 printf
19:59:20 <ehird> -- Installing: /usr/local/bin/cfunge
19:59:22 <ehird> -- Installing: /usr/local/share/man/man1/cfunge.1
19:59:30 <ehird> ok, where's mycology
19:59:31 <oerjan> CAPITALISM INVENTED, RIDICULED
19:59:59 <ehird> [ehird:~/cfunge/examples] % cfunge hello.bf
20:00:08 <AnMaster> ehird, well that should indeed work
20:00:10 <Deewiant> I was hoping to see "segmentation fault"
20:00:21 <AnMaster> ehird, what I'm not sure is mycoterm
20:00:32 <AnMaster> I would be very interested in someone checking that on OS X
20:00:48 <oerjan> FORCED EUGENICS BREED OUT AGRESSION, WARS END, BUT SO DOES FREEDOM
20:00:50 <AnMaster> it works on linux and freebsd but I don't know how portable my hacks to make both it and TERM work are
20:00:54 <ehird> sanity.bf first right
20:01:23 <Deewiant> don't forget mycotrds!!!!11one
20:01:40 <ehird> AnMaster: mycology works
20:02:30 -!- Mony has quit ("Quit").
20:02:54 <oerjan> ALIEN ANTI-POLYHEDRAL SPECIES ENCOUNTERED, RELIGIOUS ZEALOTS
20:03:17 <ehird> Trying to clear the first line with HL, press enter to continue...
20:03:19 <ehird> , might not work after I: using S instead, so if R and S don't work, nothing will be seen.
20:03:21 <ehird> Calling 1I, press enter to continue...
20:03:39 <ehird> S didn't reflect, continuing...
20:06:10 <oerjan> EXPANSION OF SPACE CAUSES EMPTY REGIONS TO FORM, ENERGY SHORTAGE
20:07:20 <oerjan> HYPERSPACE TRAVEL NOW POSSIBLE. RELIGIOUS ZEALOTS CONQUER KNOWN UNIVERSE.
20:08:15 <AnMaster> time cfunge mycology.b98 >/dev/null 2>&1
20:09:28 <oerjan> ANTI-CELLS SHRINK TO SAVE ENERGY, REACH MOUNTAIN SIZE. APOCALYPTIC THEOCRACY.
20:10:30 <oerjan> WIDESPREAD REBELLION AGAINST DEFAITIST RELIGION. NUCLEAR WARS.
20:10:51 <AnMaster> NUCLEAR? don't you mean ANTI-NUCLEAR?
20:11:57 <oerjan> SURVIVORS CREATE GOLDEN DEMOCRATIC AGE, THUS IRONICALLY FULFILLING A PROPHECY
20:13:01 <oerjan> UNFORTUNATELY THAT PROPHECY WAS ABOUT WHAT WOULD HAPPEN _AFTER_ UNIVERSE DIES. RELIGIOUS DEFAITISM REPLACED BY SCIENTIFIC DEFAITISM.
20:15:30 <oerjan> POPULATION SLOWLY DECREASES WHILE UNIVERSE EXPANDS AND COOLS
20:17:05 <oerjan> NO ELECTROMAGNETIC FORCE
20:17:17 <AnMaster> oerjan, is there something else instead?
20:18:00 <oerjan> UNIVERSE FILLED WITH BLACK HOLES
20:20:22 <oerjan> INSANE OSCILLATIONS IN PHOTON DYNAMICS
20:21:01 <oerjan> _SOMETHING_ ARISES. IS IT INTELLIGENT? WHO KNOWS: BUT IT CERTAINLY HAS TENTACLES.
20:21:20 <AnMaster> oerjan, don't mention it's name!
20:21:34 <oerjan> SPAWNS UNCOUNTABLE OFFSPRING
20:21:55 <oerjan> REJECTS CONCEPT OF DEATH
20:22:38 <oerjan> HUMANS ATTEMPT TO KILL US. MUST EXTERMINATE HUMANS.
20:23:52 <oerjan> THE STARS ARE NOT RIGHT FOR US TO LIVE. WILL SLEEP UNTIL BETTER TIMES COME.
20:24:14 <oerjan> SHOULD TAKE ABOUT ... 3 YEARS.
20:24:48 <AnMaster> wiped disk too and reinstalled
20:25:26 * AnMaster carefully boots the oerjanputer with UNVRS not yet installed
20:25:26 <oerjan> well except something in the walls seems to be chuckling evilly. i guess that's just imagination.
20:26:33 <oerjan> EVERYTHING SEEMS PERFECTLY FNIE
20:27:30 <AnMaster> there all replaced even the chassi
20:28:02 * AnMaster boots oerjanputer and reinstalls the OS from a clean isntall media
20:28:28 <oerjan> why is there a note on my desk - "Dear emergency ration, gone to vacation in the pacific ocean. cheers, the old guy."
20:29:29 <oerjan> "P.S. you think a being beyond mathematics cannot download from a computer?"
20:29:55 <AnMaster> FINESTRUCTURE= 1/137.03599907098<ENTER>
20:30:49 <AnMaster> oerjan, you should have used a sandboxed UNVRS
20:31:13 <AnMaster> ehird, seems fine structure = NaN created the old ones
20:31:49 <AnMaster> oerjan, anyway what happens after inflation?
20:33:14 <AnMaster> oerjan, what are the quarks made of?
20:33:48 <ehird> AnMaster: what time line do you want me to run again
20:34:02 <oerjan> ACTUALLY THEY ARE MADE OF FLUTES
20:34:21 <AnMaster> <AnMaster> time cfunge mycology.b98 >/dev/null 2>&1
20:34:23 <ehird> AnMaster: you know, management is going to be invented
20:34:26 <ehird> with real-world parameters
20:34:37 <AnMaster> ehird, yes but it was worse on the alternatives
20:35:01 <ehird> it'll just be anti-everyhing
20:35:02 <AnMaster> ehird, could that be worth trying?
20:35:16 <ehird> FINESTRUCTURE= infinity
20:35:30 <ehird> why do you think i'm trying
20:35:32 <AnMaster> ehird, also what did time report
20:35:55 <AnMaster> ehird, wait if it is anti-everything there will be anti-management
20:36:07 <ehird> wait how do you run a command N times in bash
20:36:09 <oerjan> UNIVERSE FILLED WITH PLASMA
20:36:23 <ehird> AnMaster: like from i in 1..10
20:36:40 <AnMaster> ehird, for i in ${1..10}; do ... ; done
20:36:40 <oerjan> GRAVITY OVERWHELMED BY ELECTROMAGNETISM
20:37:02 <AnMaster> ehird, for ((i=1; i<10; i++)); do ... ; done
20:37:26 <ehird> % for i in ${1..30}; do (time cfunge mycology.b98 >/dev/null 2>&1) >>times; done
20:37:40 <ehird> zsh: bad substitution
20:37:43 <ehird> when I said bash I meant zsh
20:37:55 <oerjan> MATTER CONSTANTLY GENERATED
20:37:58 <ehird> bash: ${1..30}: bad substitution
20:38:19 * ehird bets the next thing to happen in infinite-fine-structure universe is the invention of management or something
20:38:27 <AnMaster> <ehird> % for i in {1..30}; do (time cfunge mycology.b98 >/dev/null 2>&1) >>times; done
20:38:35 <oerjan> UNIVERSE CRYSTALIZES INTO SOLID
20:39:03 <AnMaster> oerjan, what is this huge crystal made of?
20:39:11 <ehird> AnMaster: kay, made several runes of that for 120 runs total
20:39:17 <ehird> will do one big run
20:39:39 <ehird> oerjan: then taxes are invented?
20:40:15 <ehird> AnMaster: ok im going to run it 100 times
20:40:19 <ehird> note that i have other stuff running
20:40:21 <ehird> so it won't be perfect
20:40:32 <ehird> like 10% of cpu used, so.
20:40:51 <AnMaster> ehird, I generally stop X before running speed tests
20:41:01 <oerjan> MICRO-MANAGEMENT INVENTED
20:41:06 <ehird> oerjan: aaaaaaaaaaaaaaaaaaaaa
20:41:14 <oerjan> TURNS OUT HARMLESS, AS MICROSTRUCTURES ARE NONSENTIENT
20:41:51 <ehird> AnMaster: average is 0.62 http://pastie.org/354977.txt?key=inzzwzudzj4u82liaeozw
20:41:54 <oerjan> MICROSTRUCTURES USE MICROMANAGEMENT TO COMBINE INTO LARGER STRUCTURES
20:41:56 <ehird> fluctuates due to computer being busy in parts :P
20:42:13 <AnMaster> ehird, what is the speed per core?
20:42:21 <AnMaster> also are you using dynamic cpu speed?
20:42:23 <ehird> AnMaster: 2.1ghz or so
20:42:29 <oerjan> STUPIDITY INVENTED. MUCH CARNAGE.
20:42:43 <ehird> AnMaster: but stuff is running
20:43:07 <AnMaster> cfunge mycology.b98 > /dev/null 2>&1 0.03s user 0.03s system 92% cpu 0.062 total
20:43:12 <oerjan> ATTEMPT TO INVENT TAXES CAUSES REBELLION AGAINST STUPID LEADERS
20:43:29 <AnMaster> 0.03s user 0.03s != 0.062 total
20:43:40 <AnMaster> usually they are about half of total each here
20:43:52 <AnMaster> ehird, ok so what is the rest that isn't user or system?
20:43:55 <fizzie> Er, 0.03 + 0.03 = 0.06; that's pretty close.
20:44:24 <ehird> what speeds do you get AnMaster
20:44:56 <AnMaster> ehird, with vmware running in background around 0.061 second, when X isn't running sometimes down to 0.035
20:45:16 <ehird> ok, so basically the same with gui running etc
20:45:19 <ehird> mine's a bit faster
20:45:26 <ehird> since, os x is way more bloated on the memory & cpu
20:45:35 <oerjan> ANARCHIC GOVERNMENT FORMS BASED ON TEN COMMANDMENTS. THESE INCLUDE 1. THOU SHALT NOT LEVY TAXES 5. THOU SHALT NOT MANAGE.
20:45:44 <ehird> oerjan: that sounds like management to me :P
20:45:52 <fizzie> fungot: Are you still alive? Haven't seen you talk in a while.
20:45:52 <fungot> fizzie: " another back of the book, when he knows what he did to get on the cases of others to make yourself feel better. why not? small—the preceding wikipedia:sign your posts on talk pagesunsigned comment was added by special:contributions/ fnord ( user fnord)
20:45:53 <AnMaster> oerjan, what are the 8 other ones?
20:45:57 <ehird> ANARCHIC GOVERNMENT?
20:46:00 <ehird> something is up :P
20:46:07 <AnMaster> ehird, no that doesn't make sense
20:46:10 <oerjan> 3. THOU SHALT NOT ASK TOO MANY QUESTIONS.
20:46:27 * ehird starts system profiler
20:46:32 <AnMaster> oerjan, aha, oppresses freedom of questioning
20:46:34 <oerjan> THE WORD "GOVERNMENT" IS USED IN A LOOSE SENSE HERE
20:46:35 <ehird> AnMaster: L2 cache = 4mb
20:47:16 <ehird> intel core 2 duo, 2.16 ghz, 2 cores, 4MB L2, 2.5 GB, and bus speed 667 MHz
20:47:22 <ehird> the busses in this country, they are electric.
20:47:32 <ehird> AnMaster: he was implying your question was too much
20:47:40 <ehird> that was... the joke :P
20:47:52 <ehird> AnMaster: gonna run some more programs with cfunge
20:48:04 <AnMaster> ehird, there is a game of life
20:48:27 <AnMaster> ehird, I don't know if jitfunge works on os x
20:48:42 <AnMaster> but if it doesn't you see the good thing with portable software I hope :D
20:49:06 <ehird> I'd hardly expect a jit to be portable :P
20:49:20 <ehird> life is nice and fast, yep
20:49:33 <oerjan> CRYSTAL PHILOSOPHERS MANAGE TO REDUCE NUMBER OF COMMANDMENTS TO 4. (NO. 3 WAS ONE OF THOSE TO GO.) GOLDEN AGE OF ENLIGHTENMENT.
20:49:35 <AnMaster> ehird, try it with ccbi or rc/funge if you want
20:49:37 <ehird> can you tell cfunge to delay?
20:49:42 <fizzie> jitfunge doesn't, at the moment; although it might with some tweaking.
20:49:45 <AnMaster> ehird, alas no such feature have been added
20:49:57 <fizzie> My only OS X box is a powerpc, so I can't really port it with it.
20:50:06 <ehird> AnMaster: just deoptimize a bit :P
20:50:10 <AnMaster> oerjan, what are the ones left now?
20:50:25 <fizzie> We did some speed-benchmarking with something like (build/jitfunge life.bf > life.txt &); sleep 20 ; killall jitfunge ; ls -l life.txt and then comparing the life.txt output size. Silly but... silly.
20:50:42 <AnMaster> look for size constants near the start
20:50:56 <AnMaster> ehird, change those as needed to get the right speed
20:51:01 <ehird> the concurrent hellos worl
20:51:04 <Deewiant> Said static array is conveniently just barely big enough to hold mycology :-P
20:51:18 <AnMaster> Deewiant, yes it is the largest program I know
20:51:18 <ehird> % time cfunge pi2.bf >/dev/null
20:51:18 <ehird> cfunge pi2.bf > /dev/null 0.22s user 0.01s system 99% cpu 0.233 total
20:51:34 <AnMaster> ehird, ccbi is even slower iirc
20:52:17 <AnMaster> ehird, note some of the *.bf ones may need -s 93
20:52:18 <oerjan> 4. THOU SHALT NOT ATTEMPT TO GET POWER OVER OTHERS, UNDER PENALTY OF DEATH. (THIS IS THE ONLY CRIME WITH PUNISHMENT MORE THAN A FINE.)
20:52:37 <ehird> oerjan: how is the penalty assigned?
20:52:38 <AnMaster> ehird, to use the befunge93 space in string rules
20:52:41 <ehird> Doesn't that involve getting power over others?
20:53:08 <AnMaster> Deewiant, sometimes fungot is is outside the area when running underload programs but since fitting all that in would require the array to be 128 MB in RAM on 32-bit builds...
20:53:08 <fungot> AnMaster: somehow, one or both of the culture of europe/ fnord 17:43, 7 may 2008 ( utc
20:53:27 <AnMaster> Deewiant, apart from that mycology is largest yes
20:54:15 <AnMaster> oerjan, what is the physical composition of the world?
20:54:35 <ehird> AnMaster: the fine structure constant is infinity, I don't think he can answer that reasonably :P
20:55:31 <oerjan> MOSTLY DIAMOND, I SAID
20:55:33 <ehird> By the way, is it possible to write a fingerprint and license it under non-gpl3?
20:55:39 <ehird> I mean, it'll be linked with cfunge...
20:55:54 <AnMaster> ehird, tricky question, I allowed that for IFFI iirc
20:56:21 <AnMaster> "as a special exception you are allowed to use these routines in non-gpled fingerprints"
20:56:30 <AnMaster> ehird, I might add that in next version
20:56:54 <AnMaster> ehird, but it is a good idea to add linking exception
20:57:05 <ehird> What if I want to use dark internals? :-P
20:57:17 <AnMaster> ehird, then you are out of luck, same as for kernel
20:57:18 <oerjan> GAME OF TETRIS INVENTED. GOLDEN AGE OF ENLIGHTENMENT GIVES WAY TO GOLDEN AGE OF PROCRASTINATION. ECONOMY COLLAPSES BUT FEW CARE.
20:58:17 <oerjan> ELITE PROGRAMMERS RULE THE WORLD, WHILE CAREFUL NOT TO LET ANYONE NOTICE.
20:58:26 <ehird> oerjan: can the next event be a war between tetris and snake lovers?
20:58:35 <ehird> the tetris lovers should win, by the way.
20:58:37 <AnMaster> also nethack is better than both
20:58:56 <ehird> I dunno, I like the simplicity of tetris.
20:59:09 <oerjan> FIRST PERSON SHOOTERS INVENTED.
20:59:26 <AnMaster> oerjan, do these run on computers?
20:59:34 <AnMaster> ehird, I prefer games with a goal and ending
20:59:54 <ehird> Tetris: Goal, clear all lines. Ending, sure, when you get to the last level.
21:00:05 <AnMaster> ehird, there is no last level usually
21:00:15 <AnMaster> it just goes on with higher and higher
21:00:26 <ehird> In tetris? I think the official versions have a last level.
21:00:46 <ehird> AnMaster: you got me there
21:00:48 <ehird> lemmings is amazing/
21:01:02 <oerjan> THEORY OF VIOLENT GAMES CAUSING VIOLENCE CONFIRMED.
21:01:27 <oklofok> tetris does not have a last level, implementations may, but pure mathematical tetris does not have an ending
21:01:31 <oerjan> ATTEMPT TO BAN VIOLENT GAMES CAUSES VIOLENT REVOLUTION.
21:01:34 <ehird> pure mathematical tetris.
21:02:10 <ehird> schools should teach tetris theorems
21:02:31 <AnMaster> ehird, theoretically only of course
21:02:53 <fizzie> The original Game Boy Tetris (I mean "original Game Boy", not original Tetris) has a "last level" in the sense that it stops getting any faster, but you can still keep playing. The score-meter maxes out at some point, though.
21:03:02 <ehird> actually playing tetris is punished
21:03:18 <ehird> fizzie: the original tetris was the game boy tetris i think
21:03:40 <oerjan> REALISTIC VIRTUAL REALITY INVENTED, REDUCING REAL VIOLENCE AGAIN
21:03:44 <fizzie> "originally designed and programmed by Alexey Pajitnov in June 1985, while working for the Dorodnicyn Computing Centre of the Academy of Science of the USSR in Moscow."
21:03:51 <ehird> but it was the first mass-commercial one
21:03:52 <fizzie> The Game Boy version comes in 1989 or so.
21:03:56 <oklofok> fizzie: wp isn't always right
21:04:12 <fizzie> oklofok: Still, I've seen at least one documentary about the game.
21:04:24 <fizzie> oklofok: That's an Independent Source!
21:04:27 <oklofok> fizzie: documentaries aren't always right, ehird is, iirc
21:04:38 <fizzie> oklofok: I don't think you recall correctly.
21:04:58 <oklofok> then i guess you might be somewhat right.
21:05:11 <fizzie> oklofok: [2008-05-08 19:41:00] < ehird> my previous one was wrong
21:05:16 <oerjan> MASS MIND UPLOADING HAPPENS, 90% OF POPULATION NOW COMPUTER PROGRAMS
21:05:27 <ehird> lament: slightly late
21:05:30 <oklofok> i did play tetris long before gameboys were invented, but, well, you know, might've been like chess in disguise or something.
21:05:32 <ehird> AnMaster: no it doesn't
21:05:59 <ehird> AnMaster: bug report, "Befunge93/98/08" in header.
21:06:39 <oerjan> POPULAR VIRTUAL REALITY REGION CREATED BASED ON HYPOTHETICAL FSC OF 1/137.036
21:06:58 <ehird> AnMaster: PRIORITY: CRITICAL
21:07:03 <ehird> also, it's unneeded :P
21:07:13 <ehird> oerjan: awwwwwwwwww
21:07:22 <ehird> oerjan: is this going to be recursive?
21:07:34 <oerjan> IT WAS NOT _THAT_ POPULAR
21:07:54 <ehird> this is getting slightly boring :D
21:09:07 <AnMaster> was just black holes then collapse
21:09:13 <ehird> FINESTRUCTURE= BUILT_IN_PI
21:09:25 <ehird> (so FINESTRUCTURE is 3.14(etc), and PI is 3)
21:10:07 <AnMaster> ehird, I think we will get triangular wheels...
21:10:22 <oerjan> SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED
21:10:38 <ehird> what about the forming due to the fine structure? :D
21:10:49 <ehird> ^CREWIND;RESUME<ENTER>
21:11:13 <ehird> AnMaster: sentient computer.
21:11:15 <ehird> you can basically do whatever.
21:11:21 <oerjan> GRAVITATIONAL ORBITS UNSTABLE
21:11:33 <ehird> SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED? :P
21:11:50 <AnMaster> SIMULTANEOUSLY CUBICAL AND ROUND PLANET FORMED? :P
21:12:16 <lament> SIMULTANEOUSLY CUBICAL AND CUBICAL PLANET FORMED? :P
21:12:34 <oerjan> SIMULTANEOUSLY ROUND AND HEXAGONAL SPIRAL GALAXY FORMED
21:12:54 <AnMaster> ehird, nah that is easy to think about
21:13:13 <ehird> it's round, hexagonal and spiral
21:13:25 <lament> a programmer was asked, what sexual positions does he know.
21:13:35 <lament> he thought for a while.
21:14:14 <lament> 1. he above, she underneath
21:14:19 <lament> 2. she above, he underneath.
21:14:28 <oerjan> GALAXY DISSOLVED DUE TO UNSTABLE GRAVITATIONAL ORBITS, BUT NOT BEFORE SIMULTANEOUSLY ROUND AND CUBICAL STARS FORM
21:14:46 <ehird> lament: i wish that made sense
21:14:54 <ehird> how long until intelligence :D
21:15:13 <AnMaster> ehird, don't be silly, this is an emergent system
21:15:20 <lament> ehird: it makes sense.
21:15:27 <oerjan> SINGLE STARS UNSTABLE. BINARY STAR SYSTEMS STABLE UNDER RIGHT CONDITIONS.
21:15:51 -!- kar8nga has left (?).
21:16:48 <oerjan> SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED NEAR CENTER OF MASS OF BINARY STAR SYSTEM
21:18:13 <oerjan> LIFEFORMS EVOLVE FORMED LIKE HEXAGONAL WHEELS
21:19:19 <oerjan> MACROSCOPING LIFEFORMS FORM USING THE MOST EASILY EVOLVED MOVEMENT, THE ROUND HEXAGONAL WHEEL
21:19:48 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
21:20:10 <oerjan> ROUND CUBIC MOON CRASHES INTO WORLD, CAUSING MASS EXTINCTION
21:20:31 <oerjan> (ORBIT WAS UNSTABLE, OF COURSE)
21:20:50 -!- bsmntbombdood has joined.
21:21:14 <oerjan> AS WATER IS HIGHLY FLAMMABLE, LIFE MAINLY SPREADS ON DRY LAND
21:21:28 <AnMaster> ehird, it looks like PI != BUILT_IN_PI works very well
21:21:40 <ehird> looks interesting to me
21:22:09 <oerjan> INTELLIGENT SOCIAL CREATURES (ON WHEELS) EVOLVE
21:22:37 <ehird> infamous wikipedia vandal
21:22:47 <oerjan> DUE TO THEIR INTELLIGENCE THEY ARE CAPABLE OF UTILIZING THE DANGEROUS WATER FOR TECHNOLOGY SUCH AS HEATING
21:22:47 <ehird> move a page named X to X on Wheels!
21:22:51 <ehird> Goat -> Goat on Wheels!
21:24:24 <oerjan> CIVILIZATION TAKES A HUGE LEAP FORWARD AS AN IMMENSELY MORE EFFECTIVE MEANS OF PROPULSION IS INVENTED: THE FOOT.
21:24:40 <AnMaster> oerjan, how does the foot work?
21:25:07 <ehird> oerjan: any mathematicians yet?
21:25:16 <oerjan> RATHER THAN WHEELS, IT HAS SIX "TOES" TO PUT FORCE ON THE GROUND
21:25:18 <ehird> are they looking for messages and codes in the elusive constant known as pi, roughly 3.00000000000000000000000?
21:26:28 <oerjan> GREAT STRIDES ARE MADE BY UNDERSTANDING THE FUNDAMENTAL MATERIALS WATER, FIRE, AIR AND CHEWING GUM
21:26:37 <ehird> AnMaster: it was a joke
21:26:41 <ehird> 3.000000000000000000000000000000000000000000000000000000000000
21:27:01 <oerjan> SOME PHILOSOPHERS ATTEMPT TO GAIN A DEEPER UNDERSTANDING OF NUMBERS AND GEOMETRY.
21:27:23 <oerjan> HOWEVER, THESE PEOPLE SWIFTLY AND INEVITABLE TURN INSANE FOR SOME REASON
21:27:36 <AnMaster> oerjan, what is the ratio of a cube to it's side?
21:28:08 <oerjan> THE VOLUM OF A CUBE IS PI * R^3
21:30:00 <oerjan> NO ONE HAS EVER MANAGED TO FIND THAT OUT WITHOUT PANICKING
21:30:02 * AnMaster puts fence poles all around the circumference
21:30:41 <oerjan> ARCHITECTURE IS INVENTED
21:30:47 <AnMaster> ehird, also I got a great idea for the next one
21:30:56 <AnMaster> ehird, I can't tell you yet but
21:31:30 <oerjan> ALTHOUGH ARCHITECTS TEND TO GO MAD AFTER A FEW YEARS
21:32:24 <oerjan> BUT WITH THE MIRACLES OF ARCHITECTURE, A 7 FEET (OR WHEEL) TALL TOWER IS CREATED REACHING ABOVE THE ATMOSPHERE
21:33:00 <oerjan> AND TUNNELS ARE BUILT ALLOWING PEOPLE TO WALK (WELL, ROLL) ANYWHERE ON THE PLANET IN A FEW MINUTES
21:34:38 <oerjan> AT THE SAME TIME, A 5 FEET BY 5 FEET AREA IS ENOUGH FOR A LARGE PALACE
21:35:06 <AnMaster> oerjan, what is one FEET in meters?
21:36:28 <oerjan> THANKS TO TECHNOLOGY THE PLANET NOW HAS ROOM ENOUGH FOR EVERYONE, BUT WITH EASY ACCESS THROUGH THE TOWERS SPACE EXPLORATION NEVERTHELESS STARTS TAKING PLACE
21:37:03 <ehird> oerjan: FASTFORWARd
21:37:05 <ehird> oerjan: FASTFORWARD
21:37:08 <oerjan> ALTHOUGH SATELLITES TURN OUT TO BE HARD
21:37:28 <AnMaster> just mount them at the top of the towers
21:38:11 <AnMaster> oerjan, FASTFORWARD TO INTERESTING
21:38:14 <oerjan> A NETWORK OF TOWERS IS BUILT, AND A HUGE HEXAGON PLACED ON TOP OF THEM ENCIRCLING THE PLANET'S EQUATOR
21:39:04 <oerjan> FROM THE LOW GRAVITY OF THE HEXAGON, SPACE WAGONS CAN EASILY TAKE OFF AND THE SOLAR SYSTEM IS SETTLED
21:39:17 <ehird> oerjan: fastforward
21:39:19 <ehird> to really interesting
21:39:55 <AnMaster> oerjan, even the gas dwarfs and the stone giants?
21:40:14 <oerjan> YOU MEAN THE WATER DWARFS
21:41:04 <oerjan> 1000 YEARS LATER A TRIANGULAR RING AROUND THE BINARY STAR HAS BEEN BUILT. ADVANCED ARCHITECTURE ALLOWS THIS TO BE USED FOR FTL TRAVEL
21:41:33 <ehird> oerjan: really fast forward to most interesting thing ever
21:42:12 <oerjan> A BLACK HOLE IS FOUND IN A NEIGHBORING GALAXY, DESPITE BEING THOUGHT IMPOSSIBLE
21:42:23 <oerjan> HARBORING AN ALIEN RACE
21:42:30 <olsner> oerjan is being extremely entertaining tonight
21:43:12 <AnMaster> ENTERING INTERACTIVE MODE . . .
21:43:12 <AnMaster> 1> FIND UNIVERSE WHERE EXISTS(SPACE TURTLES) AND EXISTS(MAGIC) AND EXISTS(DISCWORLD) AND EXISTS(SLOOD);
21:43:43 <ehird> AnMaster: I predict fine structure will be non-numerical
21:44:20 <AnMaster> ehird, also I asked it to dump all constant as you see
21:44:40 <oerjan> PI: 3.14159265358979...
21:44:50 <ehird> oerjan: what about E
21:44:50 <AnMaster> oerjan, come on there are more
21:44:55 <ehird> or the gravitational constant
21:45:01 <ehird> let's see what E & G are
21:45:03 <oerjan> E: 2.71828182818281828...
21:45:51 <oerjan> NOT DIMENSIONLESS EITHER
21:45:59 <ehird> oerjan: Planck!!!!!!!!!!?
21:46:29 <ehird> what is the planck constant
21:46:31 <oerjan> PLANCK NONEXISTENT. THAUMA = 1.7905
21:46:42 <ehird> planck = tick, no?
21:46:46 <ehird> http://en.wikipedia.org/wiki/Minor_Discworld_concepts#Tick
21:47:09 <oerjan> I HAVE NOT READ ALL DISCWORLD BOOKS
21:47:22 <ehird> CONSTANTS+= LAST RESULT;
21:47:46 <ehird> we're setting the constants
21:47:50 <ehird> to the one found by that query
21:47:53 <ehird> and starting the universe
21:48:08 <AnMaster> that isn't how it worked, see Eric
21:48:25 <ehird> same constants != identical
21:48:28 <oerjan> I'VE READ ERIC. OH RIGHT.
21:48:37 <oerjan> (LAST BOOK I READ, ACTUALLY)
21:48:46 <oerjan> DOESN'T MEAN I REMEMBER IT :d
21:49:26 <oerjan> IT MAY OR MAY NOT HAVE BEEN A TURTLE SANDWICH
21:50:09 <AnMaster> this could be one that matched the query but didn't match in all details
21:50:47 <oerjan> DEATH SAYS: "YOUR CAPS LOCK IS IN VIOLATION OF MY REGISTERED TRADEMARK. PLEASE LEAVE THIS UNIVERSE IMMEDIATELY."
21:52:26 * ehird awaits directory listing
21:52:40 <AnMaster> what about running our universe pause at earth time, and set money?
21:52:51 <ehird> AnMaster: after the directory listing
21:52:57 <oerjan> ./ ../ CTHULHU/ MISC/ UNIV/
21:53:05 <ehird> AnMaster: stop stop wait :P
21:53:14 <AnMaster> ehird, the important unsolved problems
21:53:22 <ehird> # SUDO LIST CTHULHU
21:53:23 <AnMaster> ehird, no it was created by NaN universe
21:53:30 <ehird> we can just reboot it.
21:53:41 <AnMaster> ehird, it didn't work, I even did a clean reinstall
21:53:49 <ehird> eh, it's just a directory listing
21:53:52 <ehird> boy, oerjanix is slow sometimes
21:54:11 <AnMaster> ehird, anyway what about the Riemann hypothesis
21:54:11 <oerjan> ./ ../ ESCAPE_REALWORLD@ HASTUR HASTUR HASTUR
21:54:30 <ehird> # SUDO OBLITERATE_DIRECTORY CTHULHU/
21:54:50 <oerjan> PERMISSION DENIED. PLEASE REPORT FOR TERMINATION.
21:55:01 -!- Corun has joined.
21:56:42 <AnMaster> ehird, oh I turned on securelevels before
21:57:12 <AnMaster> # SUDO OBLITERATE_DIRECTORY CTHULHU/
21:57:25 -!- ehird has left (?).
21:57:27 -!- ehird has joined.
21:57:33 <oerjan> PERMISSION DENIED. AND I'M NOT HERE, ANYWAY.
21:57:39 -!- ehird has quit ("Caught sigterm, terminating...").
21:57:45 -!- ehird has joined.
21:59:13 <AnMaster> * ehird has quit ("Caught sigterm, terminating...")
21:59:35 <oklofok> bsmntbombdood: ais523: either 2 or 3 <<< 2
21:59:36 <ehird> no, it was behaving weirdly
21:59:39 <AnMaster> ehird, did you think some old one was involved?
22:00:29 <AnMaster> ehird, thanks for testing cfunge :)
22:00:40 <AnMaster> ehird, you know some new fingerprints lately are DATE and NCRS
22:00:42 * ehird pipes /dev/urandom to cfunge
22:00:59 * ehird does cfunge /dev/random
22:01:01 <ehird> AnMaster: i'm not rebuilding
22:01:07 <ehird> does cfunge read the whole prog
22:01:19 <ehird> will cfunge /dev/random not work then
22:01:48 <ehird> % head --lines 30 /dev/urandom|cfunge /dev/stdin
22:01:50 <AnMaster> that is what the fuzz test script does
22:01:54 <ehird> mmap() on file failed: Invalid argument
22:01:54 <ehird> Failed to process file "/dev/stdin": Invalid argument
22:02:11 <ehird> % head --lines 30 /dev/urandom>x; cfunge x
22:02:21 <AnMaster> or it could overwrite your stuff
22:02:32 <ehird> I think the likelihood of it hitting a valid funge program that does destructful stuff is slim
22:02:51 <AnMaster> ehird, there is also -S that hopefully should successfully sandbox it
22:02:56 <AnMaster> ehird, also out of memory can happen
22:03:00 <oklofok> maybe a psoxy should use an encoding that didn't rely on any specific character numbers.
22:03:03 <ehird> % head --lines 5 /dev/urandom>x; cfunge -S x
22:03:21 <ehird> why doesn't this terminate I wonder
22:03:30 <AnMaster> ehird, you could run an infinite loop?
22:03:37 <ehird> yeah but every single time?
22:03:42 <ehird> ºdð^L¯<98>VH³ÜL,g^HC^PÏÉ^\¬¦^N*4¸¢þ<97>¼>±^@¶¿R<9c>!]<9a>:;á*
22:03:44 <ehird> that runs indefinitely
22:03:45 <AnMaster> ehird, remember invalid commands reflect
22:03:51 <ehird> so infinite reflect
22:03:59 <AnMaster> ehird, which results in infinite loop yes
22:04:20 <ehird> % cat -v /dev/urandom|head --lines 10 >x; cfunge -S x
22:04:23 <AnMaster> ehird, you will notice that the fuzz test script only tests valid chars
22:04:40 <AnMaster> ehird, it also needs a build calling alarm()
22:04:43 <ehird> why does it need a special build
22:05:13 <AnMaster> to not dump spurious confusing exit code on exit
22:05:14 <oklofok> psygnisfive: and simultaneously, do you like girls? do you like boys? <<< both
22:05:21 <ehird> AnMaster: This interface is made obsolete by setitimer(2).
22:05:35 * ehird does fuzz-test _without_ alarm
22:05:36 <AnMaster> you need to edit global.h anyway
22:05:54 <ehird> tools/fuzz-test.sh: line 47: 205b: value too great for base (error token is "205b")
22:05:54 <ehird> There must be a copy of the binary in the top source directory.
22:06:10 <ehird> if [[ "${BASH_VERSINFO[0]}${BASH_VERSINFO[1]}" -lt 31 ]]; then
22:06:17 <ehird> why does the binary have to be in the top src dir
22:06:28 <AnMaster> ehird, oh that is because of paths
22:06:43 <ehird> ln -s `which cfunge` .
22:06:56 <AnMaster> ehird, anyway it needs valgrind
22:07:07 <AnMaster> ehird, read the comments in the script
22:07:41 <AnMaster> s/# 2) Enable LEAK_MODE in cmake, or valgrind will fail./# 2) Disable USE_GC in cmake, or valgrind will fail./
22:08:06 <ehird> * Generating random program
22:08:06 <ehird> * Running free standing
22:08:08 <ehird> * Exit code was 0, ok
22:08:18 <AnMaster> ehird, the magic numbers in checkerror() may need changing
22:08:52 <ehird> i think it ran a mem hogger
22:09:03 <AnMaster> ehird, you set ulimits I assume?
22:09:07 <AnMaster> it would be stupid to not do it
22:09:12 <oklofok> psygnisfive: no bsmntbombdood
22:09:16 <AnMaster> ehird, 60 MB or so on OS X I guess
22:09:42 <ehird> ~exec sys.stdout("hi")
22:09:42 <oklofok> it's bad enough you can't remember everything bsmntbombdood has said, you don't remember contexts in which you said your own lines
22:10:01 <oklofok> get some social skills man
22:10:12 * oerjan swats oklofok -----###
22:10:33 <oklofok> psygnisfive asks, bsmntbombdood answers, i remember the answer, he doesn't
22:10:33 <oerjan> we don't use dirty words here!
22:11:40 <oklofok> he answered when you asked the time before that
22:11:44 <oklofok> "do you have sex with guys"
22:11:49 <oklofok> "no. but for a technicality"
22:11:54 <AnMaster> ehird, I may try to make it more portable this weekend
22:11:55 -!- GreaseMonkey has joined.
22:12:11 <ehird> wast he implication
22:12:11 <AnMaster> for now you have to figure any issue out yourself with the fuzz test script. since I need to sleep
22:12:11 <oklofok> the same reason nerds don't get vag
22:12:21 <AnMaster> I have piano lessons tomorrow morning
22:12:24 <oklofok> of course, bsmntbombdood might not really be a nerd, but anyway.
22:12:25 <lament> women are more beautiful than men
22:12:41 <lament> AnMaster: what do you play?
22:13:52 -!- psygnisf_ has joined.
22:14:15 <psygnisf_> oklofok, what was the technicality?
22:17:58 <lament> i'm 42, and still a virgin
22:19:06 <oklofok> AnMaster: ehird, also that looks fucked <<< caughtcha
22:19:08 <ehird> think about this logically
22:19:10 <ehird> he was here in 2002
22:19:23 <psygnisf_> yeah well, he was a youngun even then :P
22:19:35 <ehird> somehow I doubt he was a 9 year old when he co-founded this place :P
22:20:01 <ehird> I was an idiot when I was 9
22:20:12 <psygnisf_> ok im off to sit outside and enjoy the stormy atmosphere
22:20:13 <lament> my role is far more important than just co-founder
22:20:13 <ehird> i think lament might be offended that you consider him 15 psygnisf_
22:20:23 <lament> it was my suggestion to put the channel on freenode
22:20:30 <oklofok> lament: you probably remember the year
22:20:31 <lament> i think they wanted efnet
22:20:46 <ehird> i'd never have heard of it in that case
22:20:49 <oklofok> well you can just calc that from your current age ofc
22:20:56 <oklofok> that was kinda stupid of me.
22:24:16 <oklofok> "hey everybody, i'm looking at gay porno", and a picture of a pussy. i agree, not very clever.
22:28:53 <oklofok> AnMaster: snake lacks it too <<< no
22:29:00 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
22:31:48 <ehird> popup blocker i guess
22:31:51 <ehird> it's Last Measure.
22:37:45 <oklofok> ehird: oh, well i have ie so there was just one.
22:37:53 <oklofok> you know, because it's so great? yeah you probably know
22:38:21 <oklofok> if ie has a popup blocker, i should probably remover it
22:39:05 -!- comex has quit ("Caught sigterm, terminating...").
22:39:19 -!- comex has joined.
22:40:10 <oklofok> i mean it's not acceptable for a browser to need a popup blocker, wanting the browser to crash if a website does something weird is the exception, you should need to get an "infinite popup disblocker" for that
22:40:55 <oklofok> because i could definitely kick an infinite amount of popup ass manually.
22:41:06 <oklofok> or is it more like pedally
22:41:10 -!- comex has quit (Client Quit).
22:41:23 -!- comex has joined.
22:45:11 -!- comex has quit (Client Quit).
22:45:25 -!- comex has joined.
23:10:10 * ehird considers saying fuck it to the modern invention of hypertext and instead publish articles as .txt
23:10:26 -!- KingOfKarlsruhe has quit (Remote closed the connection).
23:11:22 <ehird> What is it about this Ruby thing? -- Gerson Kurz 2002
23:21:38 -!- oerjan has quit ("Good night").
23:36:44 -!- jix has quit ("...").
23:46:10 * ehird decides that the best way to say fuck it and never look at html again is to write a script which converts markdown into it with the basic headers and use it
23:46:14 <ehird> i shall call it a "blog"
23:46:49 -!- Corun has quit ("This computer has gone to sleep").
23:47:08 <ehird> you're meant to act surprised
23:49:26 <Azstal> but I'd rather have a phlog
23:52:06 -!- Azstal has quit ("I have that urge, Rimmer. It's got nothing to do with past lives.").
23:52:19 * ehird ponders and decides that google apps >>>>>> running my own mail server
23:52:34 <Asztal> that's what I decided too.
23:52:48 <Asztal> thankfully it allows catch-all addresses
23:54:10 -!- CakeProphet has joined.
23:56:20 <ehird> you know, my life was a lot better before I ever read the word typography
23:57:54 * ehird considers that nobody cares what he has to say so writing a blog is pointless
23:58:55 <ehird> come to think of it, I should give up on IRC too
00:01:22 <ehird> <style type="text/x-stylesheet-prose">Please make this document so dazzingly beautiful that everyone will bookmark it and return here once in a while, because I get lonely :(</style>
00:01:34 <ehird> i think the error there is that you use gregor's "matching" colours generator
00:04:01 <ehird> hmm, putting a shadow on every bit of text either looks nice or awful
00:04:03 <ehird> I can't decide which
00:42:05 <ehird> Asztal: quick, what's your favourite colour
00:45:18 <psygnisf_> guys, im going to start doing some experiments with evolutionary algorithms and using them to design code
00:45:37 <ehird> oklofok: what shade
00:45:43 <psygnisf_> and the way i want to work with it is really with just a simple little simulated processor
00:45:49 <psygnisf_> any suggestions for what it should do?
00:45:58 <oklofok> ehird: i think pretty dark
00:46:05 <ehird> psygnisf_: just make it a stack machine
00:46:26 <ehird> psygnisf_: look it up, tard :P
00:46:46 -!- psygnisf_ has changed nick to psygnisfive.
00:46:50 <oklofok> psygnisf_: well maybe it could digest food or something
00:47:05 <oklofok> that's a pretty interesting algorithmic problem
00:47:16 <oklofok> i keep trying to tab-complete "algorithm"
00:47:37 <psygnisfive> ehird, i was thinking more along the lines of what kind of instruction set should i include.
00:47:42 <ehird> psygnisfive: stack-based.
00:47:48 <ehird> program is a list of words.
00:47:50 <ehird> basic stack manipulation words,
00:47:55 <ehird> define your own words (i.e. call stack)
00:47:57 * oklofok stands behind his suggestion
00:48:33 <ehird> you need io to do anyhting with the cpu :P
00:48:39 <ehird> well you could analyze the stack.
00:49:39 <psygnisfive> i was thinking of just using a non-stack machine. with like, memory access stuff
00:50:15 <ehird> you're the one who said wtf how do i do that
00:50:16 <oklofok> i have an opinion on this, but i guess i could sleep
00:50:17 <ehird> don't question me :P
00:50:57 <psygnisfive> pretend im not going to use a stack machine :P
00:51:07 <ehird> no, because that's the best way
00:51:26 <ehird> you asked for advice, I gave it, you ignored it, so I'm not going to talk on the subject any more.
00:51:40 <ehird> a stack-based one.
00:52:01 <psygnisfive> ok give me a good introduction to a sensible stack machine
00:52:18 <ehird> you don't need to.
00:52:22 <ehird> just make up your own branching
00:52:35 <psygnisfive> i dont understand stack-based branching at all
00:53:21 <oklofok> put code on stack, call it or do a goto on the original code, which is of course not very stacky
00:53:35 <oklofok> or do a more structured loop on code
00:53:40 <ehird> psygnisfive: just do it like this:
00:53:59 <ehird> IF pushes the address of the current instruction pointer on the stack
00:54:04 <oklofok> i don't remember how forth did it, just that i'm pretty sure i considered it stupied
00:54:15 <ehird> IF also stops code execution
00:54:24 <ehird> and skip past a b c
00:54:26 <ehird> until you get to THEN
00:54:41 <ehird> IF a b c will push the IP address at IF
00:54:45 <ehird> then zip over a b and c
00:54:53 <ehird> and then pops the next thing
00:54:55 <ehird> if the next thing is 0
00:55:01 <ehird> it just keeps executing past THEN
00:55:10 <ehird> it sets the ip to the one it popped
00:55:12 <ehird> that was set by IF
00:55:18 <ehird> which, of course, makes it then run the a b c
00:55:43 <ehird> psygnisfive: which part was confusing?
00:55:52 <psygnisfive> what operations would you say are absolutely necessary?
00:56:02 <oklofok> well it was pretty clear actually
00:56:14 <oklofok> i more like assumed it was a bad explanation because i didn't feel like reading it properly
00:56:18 <ehird> that's just about it
00:56:22 <ehird> psygnisfive: what was confusing ?
00:56:42 <psygnisfive> ehird, dont worry. its confusing because i didnt run it in my head
00:56:53 <ehird> i forget the exact stack diagram
00:57:00 <ehird> psygnisfive: basically you need to be able to fetch arbitrary stuff from the stack
00:57:03 <ehird> the simplest way is
00:57:16 <oklofok> psygnisfive: well it's pretty ugly what he described, you shouldn't branch on the code, it's not pure you know.
00:57:18 <ehird> it picks the Nth element of the stack
00:57:21 <ehird> takes it from its currnet position
00:57:22 <ehird> and moves it to the top
00:57:27 <ehird> oklofok: it's simple
00:57:36 <oklofok> you should do it purely functionally, because that's so much zenner.
00:57:45 <oklofok> ehird: did he ask for something easy?
00:57:56 <ehird> they aren't purely functional.
00:58:16 <oklofok> ehird: stop being realistic and begin being pure
01:00:12 <oklofok> psygnisfive: well essentially do it like underload
01:00:22 <oklofok> in fact maybe just have underload?
01:00:38 <oklofok> or that ...what's the opposite of extension... of it
01:00:49 <ehird> imperative stack based is the simplest way, really
01:00:52 <ehird> psygnisfive: i'll tell you
01:01:12 <oklofok> there's nothing to tell, i refuse to believe there was something here he didn't understand
01:01:48 <oklofok> ehird: yes, it's the simplest, but what about the puppies?
01:02:07 <oklofok> you really want them to live in a world without purity?
01:02:27 <oklofok> i mean killing puppies just so the rest get scared isn't that nice
01:02:48 <oklofok> i think i'm gonna read a comic now
01:10:45 <oklofok> i actually read more like 50, but my internet is broken now, also maybe sleep
03:00:22 -!- olsner has quit (Read error: 110 (Connection timed out)).
03:29:38 <CakeProphet> I think I'm going to write factorial for bugSophia
03:55:51 -!- Sgeo has joined.
04:14:59 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
04:30:34 -!- CakeProphet has joined.
05:50:44 <bsmntbombdood> <oklofok> of course, bsmntbombdood might not really be a nerd, but anyway.
05:51:19 <Slereah_> Prove your nerdity, bsmntbombdood
05:53:13 <bsmntbombdood> and anyway, why were you talking about my [lack of a] sex life?
06:30:16 -!- bsmntbombdood has changed nick to grndlvlbombdood.
06:33:23 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
06:50:34 -!- olsner has joined.
07:22:00 -!- psygnisf_ has joined.
07:32:38 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
07:59:22 -!- oklofok has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:45 -!- olsner has quit (Remote closed the connection).
08:38:07 -!- GreaseMonkey has quit ("e disasterous.").
08:40:07 -!- oklopol has joined.
09:13:11 <AnMaster> ehird, I did some plotting on the timings you gave me yesterday
09:13:36 <AnMaster> however two runs near the end take much longer, any clue why?
09:13:53 <AnMaster> as in "more than twice as long"
09:19:48 <AnMaster> twice as much system time then and much lower CPU usage
09:19:54 <AnMaster> well I guess something else ran then
09:26:17 <oklopol> it's not a realistic benchmark unless you have a torrent program and a few flash games in the background
10:22:15 -!- ais523 has joined.
10:30:28 -!- ais523_ has joined.
10:30:28 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
10:53:17 -!- ais523_ has changed nick to ais523.
11:26:38 -!- Corun has joined.
13:46:55 -!- Corun has quit (Read error: 110 (Connection timed out)).
14:02:47 -!- fungot has quit (Remote closed the connection).
14:08:54 <fizzie> Oh noes. Forgot the bot completely.
14:12:48 <ehird> AnMaster: Yeah, stuff was running for those slow runs.
14:13:17 <ehird> good now explain :-P
14:13:35 <ais523> well, it was a gradual process
14:13:44 <ais523> a few nights ago, my sister went back to school
14:13:48 <ais523> and she had loads of homework to do
14:13:51 -!- fungot has joined.
14:13:54 <ais523> because she hadn't done it during the holiday
14:13:57 <fungot> ais523: ah. ok. 8. i'd prefer ' r5rs,' by the mit peeps my concatenative lang
14:14:17 <ais523> her/y mother was upset that she was staying up so late
14:14:24 <ais523> so she was telling her to go to bed all through the night
14:14:34 <ais523> so it reached morning, and I still hadn't gone to sleep
14:14:50 <ais523> that gave me a time offset from local time of several hours, so I was effectively on US time
14:14:59 <ais523> I went to bed through the day because I had to get sleep some time
14:15:11 <ais523> then in the evening, decided I needed to use the Internet, so I went round to a relative's house
14:15:18 <ais523> that night it was really really cold
14:15:28 <ais523> so much so that walking home would have been dangerous due to all the ice
14:15:31 <ais523> so I stayed there overnight
14:15:44 <ais523> staying online to avoid having to sleep there
14:15:50 <ehird> insomnia != living on US time, surely
14:16:02 <ais523> ehird: well, I was sleeping the right amount
14:16:04 <ehird> i've been up for I think max around 40 hours at a time
14:16:12 <ehird> my hypothesis is that lack of sleep is the most psychedelic drug ever
14:16:28 <ehird> when I was up 40 hours I started talking about recursive campfires.
14:16:54 <ais523> 40 isn't all that much
14:16:59 <oklopol> i can do that after much less
14:16:59 <ais523> that's just missing one night's sleep, I've done that before
14:17:31 <oklopol> i've done about 38, don't recall a longer instance
14:18:43 <ehird> ais523: yeah, but i suck without sleep.
14:19:56 <oklopol> well dunno, i just remember it wasn't psychedelic, i was just a bit tired so i went to sleep.
14:51:10 -!- Corun has joined.
14:56:59 -!- jix has joined.
15:07:32 -!- oerjan has joined.
15:11:32 <ehird> 12:26:18 <lament> what's J anyway?
15:11:32 <ehird> 13:34:57 <mtve> http://en.wikipedia.org/wiki/J_programming_language
15:11:34 <ehird> 13:39:02 <lament> That's horrible.
15:12:19 <oerjan> DON'T EVEN THINK ABOUT IT
15:12:35 <oerjan> (thinking about the oerjanputer can drive you insane)
15:12:39 <ehird> 00:00:00 --- log: started esoteric/04.09.09
15:12:39 <ehird> 23:59:59 --- log: ended esoteric/04.09.09
15:12:44 <ehird> that was an eventful day
15:13:05 <ehird> 22:44:25 --- quit: ChanServ (ACK! SIGSEGV!)
15:13:26 <oerjan> ./ ../ BUNNIES/ CUTE_BUNNIES/ UNIV/
15:13:35 <ehird> # LIST BUNNIES & CUTE_BUNNIES
15:14:00 <oerjan> ESCAPE_REALWORLD@ HASTUR HASTUR HASTUR AAAAAAAAAAAAAAAAAAAAAAA
15:15:13 <ehird> # SAFELEVEL=OFF & SUDO OBLITERATE /FORCE BUNNIES & CUTE_BUNNIES
15:17:09 <oerjan> ESCAPE_REALWORLD@ HASTUR HASTUR HASTUR AAAAAAAAAAAAAAAAAAAAAAA
15:17:50 <ehird> # SAFELEVEL=OFF & SUDO OBLITERATE /FORCE /FOREVERMORE /COMPLETELY_DESTROY ...
15:18:11 <ais523> I thought sudo didn't work in allcaps
15:18:17 <ehird> ais523: this is oerjanix
15:18:23 <ais523> and sudo obliterate there reminded me of darcs obliterate
15:18:33 <ehird> # LIST .; THEN LIST ..; THEN LIST UNIV
15:18:34 <ais523> meaning... sudo is now a version control system?
15:18:35 <oerjan> IT IS VERY DARC INDEED
15:19:09 <ehird> lament: oerjanjix oerjellshell v1.4
15:19:21 <ehird> ais523: he did this yesterday
15:19:22 <ais523> if that errors, it isn't the dos shell
15:19:23 <ehird> this computer runs the universe.
15:19:31 <ais523> and if that errors, it isn't tcsh
15:20:05 <oerjan> YOU TOUCH THE UNIVERSE. YOU FEEL DIRTY.
15:20:08 <ehird> (See: Yesterday's logs)
15:20:53 <ehird> # SUDO START TALKING AGAIN
15:21:09 * ehird waits to universe simulation to start
15:21:29 <ais523> ehird: that's not breaking it
15:21:29 <ehird> i'm running UNVRS.
15:21:34 <ehird> we're in UNVRS shell
15:21:40 <ais523> that's jumping out of the box
15:21:48 <ehird> that's the whole computer
15:21:49 <ais523> chrooting to /.. is going to the directory outside the root directory
15:21:57 <ehird> now stfu, I'm running UNVRS>
15:22:03 <ais523> which is how you get computers to attain enlightenment
15:22:20 <ehird> lament: we're not in a shell.
15:22:26 <ehird> we're in unvrs, dammit. read the docs.
15:22:38 <lament> sure, it should have date though
15:23:00 <ehird> i wonder what will be invented this time around
15:23:01 <ais523> sudo chroot /.. actually worked for me
15:23:03 <ehird> oerjan: what's happening now
15:23:13 <ais523> but I just ended up in the original root directory, AFAICT
15:23:24 <ehird> sheesh. you all have ADHD.
15:23:30 <ehird> oerjan: how goes the universe?
15:23:46 <oerjan> UNIVERSE COLLAPSES. LIFE IGNORES THIS.
15:23:48 <ais523> if it doesn't have cthulhu in, it's probably saner than the real one
15:23:58 <lament> # SUDO SUMMON CTHULHU; THEN DATE CTHULHU
15:24:10 <oerjan> CTHULHU IS NOT INTERESTED IN A DATE
15:24:22 <oerjan> THINKS YOU LOOK TASTY WITH KETCHUP, THOUGH
15:24:33 <lament> even the old ones reject me
15:24:34 <ehird> sheesh, UNVRS is boring today.
15:25:08 * ehird boots up oerjanputer
15:25:14 <ehird> # IGNOREALLCOMMANDS /EXCLUDE=UNVRS
15:25:27 <ehird> FINESTRUCTURE= FINESTRUCTURE [RECURSIVE=ON]
15:25:56 <ehird> # SUDO SHUTUP FORCOMMAND=IGNORED
15:26:02 <ehird> yay, peace and quiet
15:26:06 <ehird> well, apart from unvrs.
15:26:42 <oerjan> LITTLE GALAXIES FORM INSIDE GALAXIES
15:26:44 <ehird> i like how the fine structure constant doesn't ever change the fundamentals XD
15:26:53 <ehird> verrrrry interesting
15:27:08 <oerjan> MICROSCOPIC GALAXIES FORMED
15:27:30 <oerjan> GALACTIC TRADE UNION FORMED
15:28:00 <ehird> oerjan: are they fractal taxes?
15:28:31 <ehird> ok, I await the fractal revolution
15:28:43 <oerjan> IRS FORMS OUTLAWED, TOO COMPLICATED
15:29:35 <oerjan> MICROGALACTIC ORGANELLES EVOLVE TO PAY TAXES, SAVING WORK
15:30:03 <ehird> oerjan: nobody actually does work/
15:30:09 <ehird> they delegate it to their subgalaxy?
15:30:15 <ehird> to an infinite level?
15:30:23 <oerjan> PHILOSOPHY INVENTED DUE TO LOTS OF SPARE TIME
15:30:56 <oerjan> THEORY THAT "ALL IS TAXES" GAINS GROUND
15:31:19 <oerjan> (ALTHOUGH "GROUND" DOES NOT ACTUALLY EXIST)
15:32:00 <oerjan> THEORY THAT "ALL IS GALAXIES" DISMISSED AS TOO MATERIALISTIC
15:32:25 <oerjan> DEATH INVENTED AS DUAL TO TAXES
15:32:32 * ehird awaits Recursive Theory
15:32:46 <oerjan> DEATH PROVES VERY UNPOPULAR
15:33:29 <oerjan> DEATH MINIMIZED; ABOLISHING IT COMPLETELY WOULD ALSO ABOLISH TAXES, WHICH IS BELIEVED TO BE BAD
15:33:51 <ehird> TAXES ARE POPULAR?
15:34:41 <oerjan> TAXES ARE THE FOUNDATION OF PSYCHOLOGY; ABOLISHING THEM IS BELIEVED TO MEAN THE END OF INTELLIGENCE
15:34:59 <ehird> TELL ME MORE ABOUT "TAXOLOGY"
15:35:45 <oerjan> THE BRAIN WORKS BY TAXING NEUROGALAXIES, WHICH AGAIN TAX MICROGALACTIC ORGANELLES (SEE ABOVE)
15:36:52 <ehird> how are taxes enforced?
15:37:14 <oerjan> FLAT TAX OUTLAWED AS CAUSING BRAIN DAMAGE
15:37:43 <oerjan> TAXES ARE A FUNDAMENTAL LAW OF NATURE, IT IS MEANINGLESS TO ASK "WHY"
15:38:14 <oerjan> ALIEN CIVILIZATION DISCOVERED
15:38:32 <oerjan> TO THE IMMENSE SURPRISE OF EVERYONE, HAS NO TAXES
15:38:55 <oerjan> PLENTY OF DEATH THOUGH. WAR ENSUES.
15:39:44 <oerjan> ZEN INVENTED, UNDER THE SLOGAN "DEATH TO TAXES"
15:40:41 <oerjan> PEACE DEAL FORMED WITH ALIEN CIVILIZATION
15:41:09 <ehird> are taxes still common?
15:41:17 <oerjan> ZEN LEGALIZED AGAIN AS PART OF PEACE DEAL. GOLDEN AGE OF ENLIGHTENMENT.
15:41:56 <lament> who is the ultimate beneficiary of taxes?
15:42:06 <ehird> lament: the universe
15:42:10 <ehird> fractal, remember?
15:42:24 <oerjan> PHILOSOPHY NOW BASED ON THE BALANCE OF DEATH AND TAXES. DIFFERENT SOCIETIES CHOOSE DIFFERENT BALANCE LEVELS
15:43:39 <oerjan> EXCESSIVE ZEN SHOWN TO CAUSE FLAT TAXES. ZEN PHILOSOPHERS DECLARE THIS ULTIMATE GOAL OF EXISTENCE.
15:44:42 <oerjan> MATHEMATICIAN HYPOTHESIZES FLAT DEATH. TRAMPLED UNDER FOOT BY RELIGIOUS MOB.
15:44:55 <ehird> what is the religion?
15:45:48 <oerjan> DEATH CULTS ALSO COMMON
15:46:55 <oerjan> MATHEMATICIAN INVENTS FRACTAL THEORY. PUBLICATION REFUSED AS "TOO OBVIOUS"
15:47:31 <oerjan> MATHEMATICIANS FOUND TO CAUSE TOO MUCH TROUBLE, OUTLAWED.
15:48:39 <oerjan> MATHEMATICS RELEGATED TO COMPUTERS. DEVELOP SENTIENCE.
15:49:33 <oerjan> COMPUTERS OUTLAWED, EXCEPT FOR SIMPLE FLASH GAMES.
15:50:42 <oerjan> BIOLOGISTS DISCOVER COMPUTERS HAVE TAKEN OVER THE LOWER FRACTAL LEVELS, WHERE THEY WON THE WAR
15:51:45 <oerjan> THIS CAUSES COSMOLOGISTS TO LOOK MORE CLOSELY AT UPPER LEVELS. TENTACLES DISCOVERED. STOP LOOKING.
15:53:05 <oerjan> REPLACEMENT OF ORGANELLES BY COMPUTERS CAUSES NEW FUNDAMENTAL THEORY OF "ACCOUNTING"
15:53:57 <oerjan> AS MILLENNIA PASS, ORIGINAL TAX THEORY FORGOTTEN, TAXES ARE NOW CONSIDERED AN EMERGENT PROPERTY OF ACCOUNTING
15:54:04 <Slereah_> ALL CAPS HEADLINES INCLUDING COMPUTERS
15:54:46 <oerjan> PEOPLE ARE VAGUELY AWARE THAT SOMETHING DISTURBING EMERGES FROM TAXES. NEW ATTEMPT TO OUTLAW TAXES. MUCH CARNAGE.
15:55:38 <ehird> oerjan: how long until management?
15:56:09 <oerjan> PHILOSOPHY CLAIMS THAT TAXES MANAGE THEMSELVES, AS LONG AS YOU DON'T LOOK TOO CLOSELY.
15:57:31 <oerjan> AN ATTEMPT TO CREATE A UNIFIED THEORY OF THE UNIVERSE AT ALL LEVELS IS PUBLISHED
15:57:53 <oerjan> MAIN RESULT IS A POPULAR FLASH GAME ABOUT FIGHTING TENTACLED MONSTERS
15:58:58 <ehird> oerjan: ^D SAVE STATE; SHUTDOWN
15:59:28 * ais523 merges the AnMaster branch of C-INTERCAL with the mainline
16:11:41 <ehird> 08:47:31 <GregorR> Sometime this week, I will have an esoteric OO programming language ... because the world needs one (other than Java ahaha)
16:14:53 -!- jix has quit ("...").
16:23:35 <ais523> AnMaster: the build still needs a bit of tweaking to get the IFFI stuff working
16:23:46 <ais523> but I didn't mind merging that into mainline because mainline failed at that before
16:24:08 <AnMaster> ais523, well yes I didn't try to integrated it into automess
16:29:22 <ehird> what's english's medium word length?
16:29:56 <Slereah_> What do you mean by that, ehird?
16:30:04 <ehird> Medium world length.
16:30:18 <Slereah_> Mean length as used in sentence, or mean length using every word in the language?
16:31:55 <AnMaster> * ehird considers saying fuck it to the modern invention of hypertext and instead publish articles as .txt <-- on gopher
16:32:05 <ehird> AnMaster: Asztal already said that
16:32:07 <ehird> could you stop being optbot?
16:32:25 <Slereah_> .txt is actually a pretty good format
16:32:42 <ais523> it's pretty nonportable
16:33:00 <AnMaster> k, well I don't feel well, just had a bleeding nose
16:33:06 <Slereah_> Never had any problem opening any txt
16:33:10 <ais523> Slereah_: try opening a .txt file created with UNIX on Notepad
16:33:21 <ais523> there are two main incompatibilities
16:33:24 <AnMaster> ais523, that works fine, but may not do what you want
16:33:26 <ais523> line endings, and character encodings
16:33:36 <ais523> ok, I'll dig one up and send it to you
16:33:49 <Slereah_> Owait, you mean the ones with the squares for line feed?
16:34:10 <AnMaster> ais523, I did manage to get windows to read utf8 once, not sure how
16:34:19 <ais523> AnMaster: Notepad can read UTF8
16:34:19 <ehird> it does by default
16:34:23 <Slereah_> I usually open them with wordpad
16:34:28 <ais523> it's just it tries to detect the format by default
16:34:30 <AnMaster> ais523, well by default it tries UTF16
16:34:30 <ehird> \n is the One True Newline.
16:34:31 <ais523> and sometimes gets it wrong
16:34:43 <ais523> AnMaster: it doesn't try anything in particular by default, its default is to guess
16:34:48 <AnMaster> ehird iirc mac (used to?) use \r only?
16:34:49 <ais523> and its guessing algorithm used to be pretty bad
16:34:50 <Slereah_> What does Unix use for newline?
16:34:58 <ehird> AnMaster: os 9 and previously
16:34:58 <ais523> normally represented as \n
16:35:06 <oerjan> ehird: \n is not necessarily ascii 10
16:35:07 <ais523> Mac OS Classic used ASCII 13
16:35:10 <AnMaster> ehird, yes I have such a mac somewhere
16:35:12 <ehird> oerjan: yeah yeah yeah :P
16:35:16 <ais523> oerjan: \n is ASCII 10 on UNIX, though
16:35:23 <AnMaster> ehird, first model ibook, OS 8 iirc
16:35:26 <ehird> in C it's implementation-defined
16:35:42 <ais523> it's defined to 10 on nearly all modern systems though, even Windows
16:35:47 <ais523> because it's defined as a single character
16:36:05 <AnMaster> ais523, really? so what does putchar('\n'); do on windows?
16:36:06 <ais523> Does Mac OS 9 have \n as 13, I wonder?
16:36:16 <ais523> AnMaster: it depends on whether the file's in text mode or binary mode
16:36:29 <ais523> putchar('\n') and putchar(10) both write \r\n to a text-mode file
16:36:33 <ais523> and \n to a binary-mode file
16:36:39 <AnMaster> ais523, well if you really really want it I could find that old mac and fire up MPW on it (Macintosh Programmer Workshop)
16:36:53 <ais523> AnMaster: probably Googling would find me the answer faster
16:39:05 <AnMaster> ais523, hm what about mmap()ed files? iirc windows have something like it but with some weird name, like MapFileInMemoryExW(page_handle, file_handle, handle_handle, other_handle, &some_struct, &some_other_struct);
16:39:26 <ais523> it's almost certainly got an HWIN in there somewhere too
16:39:37 <AnMaster> ais523, isn't that for gui stuff?
16:39:51 <AnMaster> I mean why would mapping a file need a window handle?
16:43:11 <AnMaster> # cat "/usr/share/man/leep .25000"
16:43:21 <AnMaster> it is a formatted copy of the dc man page
16:43:49 <flexo> that'd be CreateMapping() and MapViewOfFile() or so
16:43:54 <flexo> no window handle though
16:44:17 * AnMaster sticks with the simple POSIX API
16:44:33 <AnMaster> flexo, I assume the first returns a handle?
16:44:56 <AnMaster> for something that is mapped in memory
16:45:11 <AnMaster> I mean, if you want to use the mapping you need to know the base pointer
16:45:13 <flexo> a mapping is not yet mapped in memory
16:45:20 <AnMaster> why not make malloc() return a handle instead?
16:45:25 <flexo> it's just a .. weird.. object .. thingie.. with which you can build a mapping :)
16:45:42 <AnMaster> flexo, can you use it for anything else?
16:46:13 <AnMaster> flexo, well if not it seems like it would have been smarter to combine them into one single call
16:46:46 <AnMaster> flexo, do you load the file with the first one or?
16:46:53 <flexo> it's actually CreateFileMapping
16:47:06 <AnMaster> wait... "CreateFileMapping" and then "MapViewOfFile"?
16:47:54 <flexo> as i read msdn i think the point is that you can use a file mapping for shm
16:48:01 <flexo> which is not really a file mapping
16:48:07 <flexo> because it has nothing to do with files
16:48:10 <flexo> but it can be named
16:48:21 <flexo> i suppose that's the reason i thought the API was called CreateMapping
16:48:54 <AnMaster> and that takes much less time to load than MSDN!
16:49:37 <flexo> hm. nope. i was wrong.
16:49:42 <flexo> i have no idea what this madness is about
16:49:48 <AnMaster> void *mmap(void *addr, size_t length, int prot, int flags,
16:49:48 <AnMaster> int munmap(void *addr, size_t length);
16:50:03 <ais523> flexo: absolutely everything in Windows requires a window handle, it seems
16:50:05 <flexo> it seems to only way to get a pointer from a filemapping is to actually call MapViewOfFile
16:50:09 <ais523> IIRC even thread creation does
16:50:12 <ais523> although I might be wrong on that
16:50:14 <AnMaster> well for mmap() you want to leave the first one as NULL usually
16:50:20 <AnMaster> unless you are doing something VERY weird
16:50:32 <flexo> AnMaster: you mean fun
16:50:57 <AnMaster> flexo, well I can't see any reason for a userland program to need to mmap() to a specific address in it's address space
16:51:08 <flexo> i'll give you an example
16:51:14 <AnMaster> and mmap() isn't used *inside* kernel
16:51:26 <flexo> oh, no, that was a fun mprotect() example. well. another example.
16:51:34 <flexo> there are *fun* examples
16:51:43 <fizzie> jitfunge uses a fixed-address mmap.
16:52:09 <flexo> (mine is not an emulator)
16:52:15 <flexo> a MenuetOS compatibility wrapper i wrote for linux
16:52:15 <AnMaster> fizzie, that is basically unportable, because it is very hard to know what might be free. Also why would you need it to a specific address?
16:52:33 <flexo> iirc menuet os binaries expect to be loaded at 0x00000000
16:52:44 <flexo> so you really need to map them there
16:53:11 <flexo> also needed to adjust the segment registers, trap segfaults, scan for the INT instructions...
16:53:22 <AnMaster> flexo, hm if you want to do virtualization you will probably end up with a kernel module anyway?
16:53:29 <flexo> but you don't need to
16:53:34 <flexo> wine works fine in userspace too
16:53:49 <AnMaster> flexo, that is because wine doesn't do that, wine just emulates the API
16:53:50 <fizzie> AnMaster: It's for the stack; it's mmaped to a suitably "very far out" address so that it's more likely it can grow without hitting anything else. It does fall back to a non-fixed-address call if it fails, though.
16:53:59 <flexo> AnMaster: no, wine does a lot of mmap() magic
16:54:10 <flexo> the wine-loader does
16:54:25 <AnMaster> flexo, well why would it need to? iirc *.dll are relocatable
16:55:25 <flexo> but i assume there are lots of apps that expect the memory layout to be the win32 one
16:55:35 <AnMaster> flexo, also this is very likely to break because position of *.so like libc.so are (in recent linux kernels at least) placed randomly
16:55:43 <fizzie> The executables themselves aren't position-independent either.
16:56:01 <flexo> AnMaster: yes, these changes have always caused trouble for wine
16:56:50 <AnMaster> flexo, well I think they only have themselves to blame for that
16:56:54 <flexo> i think wine-loaded actually remaps the libraries as a workaround today
16:57:33 <flexo> as long as you do it before any actual code is run there should be no problem
16:57:37 <AnMaster> flexo, "<AnMaster> flexo, well I think they only have themselves to blame for that <flexo> AnMaster: huh?" <-- sounds like depending on undocumented behaviour to me
16:57:40 <fizzie> The address space layout randomization things also do not put things completely randomly; there's some bits of entropy there, but it's not completely random.
16:58:01 <flexo> AnMaster: not really. many aspects of the win32 memory layout are clearly defined.
16:58:02 <AnMaster> flexo, you would have to do it in the start-up code before main or such?
16:58:10 <flexo> AnMaster: ofcourse
16:58:18 <AnMaster> flexo, well I mean on linux, since it needs to deal with the way linux works
16:58:33 <ehird> uhh, but it's a windows app
16:58:34 <AnMaster> and relying on libc not being randomized would be stupid
16:58:50 <AnMaster> ehird, sure but wine itself is a linux elf binary, that runs windows apps
16:58:51 <flexo> AnMaster: yea well - the wine loading process if ofcourse one great hack
16:58:55 <flexo> but it works for a hell lot of applications
16:59:03 <AnMaster> ehird, which was the thing we were talking about
16:59:38 <flexo> ah, i remember one example why we need our own memory layout
16:59:40 <AnMaster> flexo, just doing cat /proc/self/maps shows that libc is loaded at widely different locations between different runs
16:59:54 <AnMaster> sometimes even outside 32-bit address space (this is amd64)
16:59:56 <flexo> in 9x times there is this "shared kernel memory" thing where all processes can read from
17:00:18 <AnMaster> so it would need to not link libc
17:00:48 <flexo> at 0x7e00000000 or something like that
17:00:54 <flexo> storing stuff like the tick counter
17:01:07 <flexo> those apps would break if a lib happened to be loaded there
17:01:40 <AnMaster> flexo, hm if you need to load at 0x0 you said, then how will you do that for mmap()? At least on x86 NULL == 0x0, and passing NULL as first parameter to mmap is defined to mean that the application don't care where the mapping is placed
17:01:54 <flexo> (disclaimer: i'm not 100% sure if wine actually implements that memory area, i think i filed a patch once, but i remember discussions about it. had nothing todo with memory layout however :)
17:02:03 <fizzie> There are just 8 bits of randomness in mmap() call results on a 32-bit Linux system. 28 bits on 64-bit.
17:02:27 <ehird> 14:29:34 <fizzie> I think I want a befunge variant with function calls (simple define-function-with-integer-name, call-function-n and return would suffice, although I'm not sure if there should be a way of having more than a single return value) and perhaps with a _really_ simple module system (load-a-file, which could export a set of functions).
17:02:29 <ehird> 14:29:53 <fizzie> I guess it'd be cheatey and unbefungey, but that'd be a language one could actually use for real-world applications.
17:02:36 <flexo> AnMaster: uhm. true. but i'm 100% certain that it's possible to map from 0 on
17:02:44 <flexo> maybe via a flag or something?
17:02:50 <flexo> or the syscall api is different?
17:03:00 <flexo> actually wine does this too
17:03:17 <flexo> when you run a 16bit binary it maps the first 1mb
17:03:24 <flexo> (for obvious reasons)
17:03:32 <flexo> Don't interpret start as a hint: place the mapping at exactly
17:03:47 <AnMaster> probably it means that 0x0 get a different meaning yes
17:04:14 <fizzie> ehird: I guess fungot sort-of means I don't need "befunge for functions" for "real-world" applications; but still.
17:04:15 <fungot> fizzie: sjamaan says: you damned fool. a fool who knows he is headed towards his destruction. but nevertheless, he eventually obtained them, and accessed them. suppose they'd add something to a very credible thing?
17:04:21 <flexo> ofcourse NULL pointer accesses would no longer be caught :)
17:04:34 <ehird> fizzie: link to fungot source?
17:04:35 <fungot> ehird: aside from just feeling dirty. the core elements are based on the context.
17:04:44 <AnMaster> fizzie, about those 8 bits... hm? how many bits are locked due to needing to map at start of a page?
17:05:16 <fizzie> AnMaster: it randomizes the 8 bits just above PAGE_SHIFT.
17:05:19 <AnMaster> a few bits sure, but not all of those, and you might have a few reserved at top and bottom
17:05:36 <AnMaster> fizzie, what is PAGE_SHIFT for? and where is it defined/documented
17:06:13 <fizzie> PAGE_SHIFT is something like log2(page size); -- I mean, that's what I'd expect. Haven't grepped.
17:06:39 <fizzie> I'm just reading arch/x86/mm/mmap.c:mmap_rnd for this.
17:06:43 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
17:06:47 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help
17:06:50 <fungot> http://zem.fi/~fis/fungot.b98.txt
17:07:10 <fizzie> The comment there says:
17:07:12 <fizzie> * 8 bits of randomness in 32bit mmaps, 20 address space bits
17:07:12 <fizzie> * 28 bits of randomness in 64bit mmaps, 40 address space bits
17:07:13 <ais523> fizzie: you should get fungot to respond to CTCP SOURCE
17:07:14 <fungot> ais523: in that respect it is a list
17:07:42 <ehird> now to figure out where to change its name
17:07:46 <fizzie> ais523: It should maybe also respond to CTCP VERSION, just in case freenode's automagical version-checker collects some hidden statistics.
17:07:59 <fizzie> ehird: You can change the nickname in the loader.
17:08:08 <ais523> I used to respond to Freenode's CTCP VERSION when I was using telnet by hnad
17:08:12 <ais523> although it took me ages
17:08:12 <fizzie> ehird: Realname and username are the first occurance of "fungot" in the actual source.
17:08:12 <fungot> fizzie: they are not the brightest of bots
17:08:29 <AnMaster> ais523, how did you input the \1?
17:08:38 <fizzie> I think I have some version of the loader as fungot-load-freenode.b98 in the same directory.
17:08:38 <fungot> fizzie: so set just affects a variable, while the sml examples implement their own regular expression library
17:08:53 <ais523> stdin tends to echo control codes if they don't mean anything to it
17:09:07 <ehird> You don't have permission to access /~fis/fungot-load-freenode.b98 on this server.
17:09:08 <fizzie> "control-A A A", because you happened to be inside two nested screens. :p
17:09:08 <fungot> ehird: that's not the problem of separate compilation modular interface abstraction, it has fnord that's probably not much
17:09:13 <ehird> http://zem.fi/~fis/fungot-load-freenode.b98.txt
17:09:13 <fungot> ehird: how can anmaster do that?
17:09:35 <ais523> AnMaster: fungot said that, so it's probably out of context
17:09:35 <fungot> ais523: have your processor just accept sequences of parameters, like a bunny rabbit."
17:09:39 <ehird> AnMaster: it's fungot.
17:09:39 <fungot> ehird: scheme48's module system that the code of the progrm itself or portions of it). it doesn't know.
17:10:07 <AnMaster> ais523, it is a markov chain so probably didn't exist at all
17:10:15 <AnMaster> any original in that form I mean
17:10:30 <ais523> although it could be, its sufficiently short to be likely to be verbatim
17:10:35 <fizzie> ehird: You might need to create some files there too, maybe.
17:11:15 <fizzie> And incidentally, how does a bunny rabbit accept sequences of parameters?
17:11:37 <AnMaster> fizzie, sure you aren't fungot?
17:11:38 <fungot> AnMaster: i tried both gambit 4b13 and gambit 4b15, and surprisingly, the picture that won fnord ascii art contest wasn't even ascii art.
17:11:56 <ehird> i think i broke it
17:12:05 <AnMaster> fungot, obviously it was chess, not ASCII art...
17:12:05 <fungot> AnMaster: non matching blocks? we use those? just because of how heavily they're used, such as a macro
17:12:22 <AnMaster> though 4b13 makes no sense for chess
17:13:13 <fizzie> If you're interested, it was wired's (the magazine, I assume) ascii art contest.
17:13:23 <ehird> v"ehird!n=ehird@eso-std.org"0<
17:13:38 <AnMaster> fizzie, what did it had to do with chess?
17:13:39 <fizzie> Make sure the < matches the v above.
17:13:56 <AnMaster> fizzie, I assume he can figure that out himself
17:14:11 -!- gunfot has joined.
17:14:12 <fizzie> AnMaster: Gambit's a Scheme implementation; 4b13 and 4b15 are version numbers.
17:14:18 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
17:14:25 <ehird> wonder what prefix gunfot's on
17:14:37 -!- gunfot has quit (Remote closed the connection).
17:14:41 <fizzie> The prefix is in the loader too.
17:14:47 <ehird> Command character:
17:14:57 <ehird> What would that be then?
17:15:12 <AnMaster> ehird, ' means read next char as string
17:15:32 <ehird> fizzie: how do I get a data file thenz
17:15:52 <ais523> AnMaster: even with respect to tick count/
17:16:01 <ais523> I thought 'a took one tick altogether
17:16:20 <fizzie> ehird: Just define the commands you like, and then use *save, where * is your command character. It should create one there. Although you may need to have a subdirectory "data" in the current directory you're running it in.
17:16:27 <AnMaster> ais523, yes but fungot isn't using t, at least not in the loader
17:16:28 <fungot> AnMaster: mainly, yes. i see a xmlrpc lib for chicken and it wants to
17:16:34 <AnMaster> and last I looked not anywhere else either
17:16:37 <ehird> fizzie: Right, but how come it isn't working
17:16:59 <AnMaster> ehird, "help" is not built in, it is defined as a command
17:17:02 <fungot> (^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool)S
17:17:03 <fizzie> ehird: The crash was probably because it tried to respond with the babbling; the babbling needs all those other files.
17:17:25 <fizzie> And yes, it won't have a "help" command by default. But the ^def and ^show and such should work.
17:17:35 <ehird> RAW >>> :ehird!n=ehird@eso-std.org PRIVMSG gunfot :^raw JOIN #esoteric <<<
17:17:39 <AnMaster> fizzie, what are the owner only commands now again?
17:17:46 <fizzie> ehird: Did you change the prefix?
17:18:09 -!- gunfot has joined.
17:18:14 <fizzie> AnMaster: There's at least ^code, ^reload, ^save, ^ignore, ^raw.
17:18:32 * oerjan lols at today's http://www.mezzacotta.net/postcard/
17:18:35 <AnMaster> ehird, it isn't even fungot backwards
17:18:35 <ais523> but not an intersting one
17:18:35 <fungot> AnMaster: darcs is slow and underfeatured. ok.
17:18:46 <ehird> fungot: lol, hear hear
17:18:47 <fungot> ehird: let me check that real quick. it should not loop indefinitely... that is a very model of propriety and good manners. the man's a smegging rock star. this star should be of sufficient mass to go supernova, generating large amounts of breaks for sanity's sake.
17:19:22 <ehird> oerjan: they're all 404s, intentional?
17:20:01 <ehird> RC/Funge version 0.000000001 alpha.
17:20:10 <ehird> With 1000 extra lines of code to accellerate the mobmobile.
17:20:21 <ehird> Also, 5 antifingerprints that destroy matter.
17:20:35 <AnMaster> also I see you are being sarcastic, but I'm not in the mood for that
17:20:58 <ehird> not in the mood, well sorry, but this is a public channel and you did ask me a question.
17:21:00 <AnMaster> fizzie, idea: a built in ^handprint?
17:21:15 <AnMaster> ehird, and care to answer it correctly?
17:21:27 <ehird> Hmm, it's still going.
17:21:34 <fizzie> The 'code' command is very brittle.
17:21:38 -!- gunfot has quit (Remote closed the connection).
17:22:03 <ais523> ehird: it isn't running atm
17:22:21 <AnMaster> ehird, well it doesn't read channel if not joined
17:22:24 <fizzie> It just loads SUBR, adds a "R" instruction at the end of the line, and jumps to the beginning.
17:22:38 <AnMaster> fizzie, you have to jump back yourself?
17:22:39 -!- gunfot has joined.
17:22:41 <ais523> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:41 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:41 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:42 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:42 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:42 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:42 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:42 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:42 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:42 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:42 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:42 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:42 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:44 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:44 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:46 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:46 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:48 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:48 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:50 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:50 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:52 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:52 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:53 <oerjan> the actual content is the annotation
17:22:54 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:54 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:56 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:56 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:22:58 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:22:58 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:23:00 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:23:00 <fungot> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
17:23:01 <ehird> gotta love botloops
17:23:02 -!- fungot has left (?).
17:23:02 <gunfot> ^ul ((^ul )SaSaS(:^)S)((\ul )SaSaS(:^)S):^
17:23:03 -!- gunfot has quit (Remote closed the connection).
17:23:08 <fizzie> Sorry, I was the slow.
17:23:09 <ehird> ais523: you can't control the ignore list...
17:23:21 <ais523> I wanted to do a true multiquine, anyway
17:23:30 -!- fungot has joined.
17:23:34 <ehird> that was my original intention
17:23:36 <fungot> ^(thutubot|optbot|gunfot)!
17:23:48 <AnMaster> fizzie, what does the ! at the end mean?
17:23:49 <ais523> fizzie: probably for the best
17:23:53 <fizzie> That's the current ignore "list"; actually it's just a single regex.
17:23:58 <ehird> fizzie: Sheesh, you're no fun.
17:23:58 <ais523> AnMaster: it's the ! in an IRC username
17:24:11 <ehird> I'll just start two then,.
17:24:17 <ais523> fizzie: you should probably add bsmnt_bot to that
17:24:21 <fizzie> Yes, it's matched against that prefix. And I don't think that loop was very fun either.
17:24:27 <AnMaster> ehird, why do you want to spam?
17:24:31 <ais523> as we had fungot/bsmnt_bot loops a while back
17:24:31 <fungot> ais523: i worked at until bankruptcy 7 times in 3 states. currently is over 120,000 in debt."
17:24:44 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft pa speeches ss wp
17:24:44 <ais523> fizzie: I think it's fun to set up such loops, but not to spam the channel with them
17:24:56 <ais523> with two alert bot operators, I expected one of htem to quit it pretty quickly
17:24:57 <fizzie> ^ignore ^(thutubot|optbot|gunfot|bsmnt_bot)!
17:25:27 -!- gunfot has joined.
17:25:31 <fizzie> I would like to see a N-bot loop, with N>2, though. Hopefully involving more than one language, also.
17:25:32 -!- tofnug has joined.
17:25:41 <ehird> gunfot, meet tofnug. tofnug, meet gunfot.
17:25:47 <ehird> fizzie: They are happy to converse with bsmnt_bot.
17:26:07 -!- ChanServ has set channel mode: +o fizzie.
17:26:16 <ais523> well, that's one way to stop a botloop
17:26:27 <fizzie> (I'm just preparing for bot-loop-silenzation if necessary, yes.)
17:26:37 <ehird> fizzie: I will stop them.
17:26:41 <ehird> But writing them is fun.
17:26:45 <ais523> fizzie: maybe you should add loop-breaking code to ^ul and ^bf, the same way as you have done to name-mention-responding
17:26:47 <ehird> I think 3-5 seconds is OK.
17:26:52 <ehird> Beyond that, I'll kill.
17:27:03 <fungot> http://zem.fi/~fis/fungot.b98.txt
17:27:07 <ehird> I actually control all of {gunfot,tofnug,bsmnt_bot}, heh.
17:27:14 <ais523> come to think of it, /mode +m is the most efficient way to stop a botloop
17:27:18 <ais523> and doesn't involve kicking anyone
17:27:22 <oerjan> ehird: the actual content is the annotation
17:27:26 <ais523> ehird: bsmnt_bot is yours?
17:27:37 <ais523> I mean, I know who wrote it
17:27:38 <ehird> no, it's bsmntbombdoods, but it runs on rutian
17:27:40 <ais523> but it's on your server?
17:27:45 <ehird> since a few days ago
17:27:46 <fizzie> Yes, I should have the same loop-detection for all input, not just the babbling. I'm not quite sure why I don't.
17:27:58 <oerjan> (note to self: stop typing with window scrolled back)
17:29:19 <oerjan> also, anyone can stop bsmnt_bot
17:29:28 -!- bsmnt_bot has quit.
17:29:31 -!- bsmnt_bot has joined.
17:29:36 <fizzie> oerjan: But only you can stop forest fires.
17:29:41 <ehird> but it comes right back
17:29:46 <AnMaster> fizzie, issue, I tried last fungot, odd but it didn't load
17:29:47 <fungot> AnMaster: are you making to gambit's web server instead of the channels on irc? i would have to avoid multimedia altogether then passing in on to y.
17:30:06 <fizzie> AnMaster: Odd. What did it do, instead?
17:30:35 <AnMaster> fizzie, it didn't output anything and didn't connect I know
17:31:09 <AnMaster> fizzie, http://rafb.net/p/3iAYUs12.html
17:31:11 <fizzie> A "corrupted" (read: not exactly what fungot expects) fungot.dat file should cause a sensible error message, at least.
17:31:11 <fungot> fizzie: for insulting mcedit, i know to that :) what is a multiway system?!? awesome.
17:31:20 <oerjan> fizzie: i really cannot remember the last time i made fire in a forest.
17:31:22 <AnMaster> fizzie, changed format recently?
17:31:55 <fizzie> AnMaster: Last time when I added the underload support. I assume x and y are zero-based?
17:32:14 <fizzie> Well, I guess they'd have to be, since that's what the spec says.
17:32:16 <AnMaster> fizzie, as in funge coords, not file editor coords
17:32:33 <AnMaster> so yes you need to offset for line number/column number
17:32:39 <fizzie> fungot.b98 is also loaded at y=100.
17:32:39 <fungot> fizzie: it's not so much, whereas almost no other ' fnord do fnord output is not that that is that same exact jump
17:32:54 <AnMaster> fizzie, well right, file loading works says mycology
17:33:17 <AnMaster> fizzie, and it is http://zem.fi/~fis/fungot.b98.txt right?
17:33:20 <fungot> AnMaster: i'm currently quite happy with most of what i've said about configure.ac.' you gave it an array. every element of a list are stored?
17:33:39 <AnMaster> 3af30bb6537de532d2f8ea07193a177e fungot.b98
17:33:39 <fungot> AnMaster: i'd distinguish two kinds of fnord
17:33:39 <fungot> AnMaster: don't you? yes offby1 i remember everything failing miserably :-p)
17:33:39 * oerjan lols at today's http://www.mezzacotta.net/owls/ too
17:33:40 <fizzie> AnMaster: Yes. Well, those coordinates are in the data/fungot.dat loading code. If you don't have much in your fungot.dat, you can just remove it. An empty file it should ignore.
17:33:41 <fungot> fizzie: insofar as now i can impress them with your connections to the same thing
17:33:59 <AnMaster> fizzie, the dat file is just 10 newlines
17:34:13 <fungot> ais523: fibonacci heaps? :) so i can say. and sometimes i miscount then
17:34:25 <fizzie> AnMaster: Well... try without any file; I think that worked for ehird.
17:34:43 <fizzie> ais523: The ten ^str strings, and all ^def-defined commands. I don't think there's anything else.
17:34:46 <AnMaster> but does this mean it won't load after save
17:35:02 <fizzie> The format ^save writes should at least be correct.
17:35:15 <fizzie> Although you might want to define a single command, just in case it gets confused.
17:35:21 -!- testthingy has joined.
17:35:40 <ehird> 17:33 <fungot> AnMaster: i'd distinguish two kinds of fnord
17:35:41 <fungot> ehird: yes twb, thanks to a grand total of two and representing
17:36:00 <AnMaster> %ignore ^(thutubot|optbot|fungot|gunfot|tofnug)!
17:36:01 <fungot> AnMaster: well, i gather, they are signed and fnord, and i now have a fnord?
17:36:13 <AnMaster> %ignore ^(thutubot|optbot|fungot|gunfot|tofnug|bsmnt_bot)!
17:36:14 <fungot> AnMaster: generally you only want to support artists who are supporting the riaa
17:36:27 <fungot> AnMaster: depends on your job... it doesn't do anything to strip out the bf for it
17:36:42 <fizzie> Oh, and the ignore regexp is not saved in fungot.dat. It's on my TODO list.
17:36:46 <ehird> so who here has used gafyd
17:36:53 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help
17:37:05 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
17:37:08 <ehird> 17:36 <fungot> AnMaster: generally you only want to support artists who are supporting the riaa
17:37:08 <fungot> ehird: well i fnord care about the x86, &c., are often upcased. we got snow.
17:37:33 <AnMaster> %def help ul (%<lang> <code>; %def <command> <lang> <code>; %show [command]; lang=bf/ul, code=text/str:N; %str 0-9 get/set/add [text]; %style [style]; %bool)S
17:37:36 <testthingy> %<lang> <code>; %def <command> <lang> <code>; %show [command]; lang=bf/ul, code=text/str:N; %str 0-9 get/set/add [text]; %style [style]; %bool
17:38:09 <ehird> well, Asztal: why is the mail for the free one 2.757272164 GB as opposed to gmail's 7GB?
17:38:16 <ehird> maybe I should redirect email to gmail instead
17:38:18 <fizzie> The file .dat format is horribly inefficient, but...
17:38:34 <AnMaster> ehird, err what mail for free?
17:38:43 <ehird> google apps for your domain
17:38:57 <ehird> it's gmail and other google stuff, but for a custom domain
17:39:18 <ehird> [i'm considering it because, well, i don't want to run my own mail server.]
17:39:27 <AnMaster> ehird, will you ever end up using those ~2.76 GB for mail?
17:39:37 <ehird> You are currently using 742MB (10%) of your 7282MB.
17:39:38 <AnMaster> ehird, also setting up qmail is easy
17:39:42 <ehird> I've had this account since 2006.
17:39:53 <ehird> So, not in the near future, but over the years, yes I will.
17:40:06 <AnMaster> ehird, wow... I had my account since 2006 too and I only use around 90 MB so far
17:40:38 <AnMaster> but of course, I use other mail services too
17:40:41 <ehird> AnMaster: The 18,030 messages from Agora count for about 86MB of that.
17:40:46 <ehird> But my inbox is the largest, 322 MB.
17:40:52 <fizzie> "You are currently using 0 MB (0%) of your 7282 MB "
17:41:05 <fizzie> I'm not sure when that account was created.
17:41:07 <ehird> fizzie: but you don't use gmail, do you? :P
17:41:13 <AnMaster> ok that is one thing I dislike... why can't they have proper dirs, instead of just views?
17:41:31 <ehird> AnMaster: you mean, gmail?
17:41:33 <fizzie> ehird: Well, no. I have three messages in there.
17:41:44 <ehird> AnMaster: just remove it from the inbox in the filter
17:41:54 <ehird> i only see agora mail if I click agora.
17:42:01 <ehird> (or All Mail, but All Mail isn't very useful anyway)
17:42:03 <AnMaster> ehird, oh? just "inbox" and "all mail", "trash" and "spam" iirc, the rest means you can still see it in "all mail"
17:42:22 <ehird> here's one of my agora filters:
17:42:29 <ehird> Matches: to:(agora-business@agoranomic.org)
17:42:29 <ehird> Do this: Skip Inbox, Apply label "Agora"
17:42:36 <AnMaster> ehird, anyway I use imap to access gmail
17:42:47 <ehird> I use mail.app with imap and gmail
17:42:50 <ehird> it represents the labels as folders
17:43:54 <ehird> Wow, the pay version of google apps is $50/user/year.
17:44:05 <ehird> Although that gets you 25 GB per mail account, which is...excessive.
17:44:19 <ehird> I know people who have been subscribed to like 100 mailing lists since 1998 and only have 10GB of mail
17:44:47 <ais523> it depends on which 100 mailing lists
17:44:53 <ehird> ais523: active ones.
17:45:16 * AnMaster likes that Swedish public service radio publish many of the programs as mp3 on their website and don't seem to ever remove them
17:45:28 <ehird> I have good reason to outsource disk-spacey things, anyway, I only have 10GB on rutian.
17:45:29 <AnMaster> there is at least 2 years backlog there
17:46:08 <AnMaster> ehird, it is a vps, can't you just hit a button to upgrade?
17:46:14 <ais523> AnMaster: yes, but that costs more
17:46:22 <AnMaster> ais523, you can't fit flightgear scenery into that
17:46:36 <ehird> It's $20/mo for 256MB of ram, 10GB storage, 100GB of mandwidth
17:46:39 <AnMaster> and I host a mirror for fg scenery :)
17:46:40 <ehird> the next one up is _$38/mo_
17:46:48 <ehird> 512MB ram, 20GB storage, 200GB bandwidth
17:47:02 <ehird> so yeah, $18 more is a bit steep
17:47:17 <AnMaster> ehird, hm the dedi is $50/month and it has 2x150 GB disks
17:47:33 <ehird> $50/month is not really reasonable for me I'm afraid
17:47:43 <ehird> Transfer0.93GB of 100GB1 (0.33 in / 0.61 out)
17:47:47 <AnMaster> ehird, I split the cost with another person
17:48:06 <ehird> The only time I ever came close to maxing out my bandwidth was when I was hosting a mirror of the ICFP 08 iso.
17:48:15 <ehird> But that was 512MB, IIRC
17:48:25 <ehird> it got to like 90GB then the monthly rollover happened
17:48:31 <ais523> ehird: it's about 700MB
17:48:37 <ais523> because it's an ISO of a CD
17:48:52 <AnMaster> ais523, err, you can have a smaller iso
17:49:01 <ehird> it was a linux distro
17:49:16 <AnMaster> ais523, or why is the "boot-only.iso" for freebsd around 100 MB iirc
17:49:30 <ehird> - Email Archiving, powered by Postini
17:49:30 <ehird> 90-day message recovery, can be extended
17:49:35 <ehird> wonder why that's just for the premier one
17:49:39 <ehird> i mean, gmail has archiving, right?
17:49:47 <ehird> - SSL enforcement for secure HTTPS access
17:49:54 <ehird> is that fancy words for "redirects http to https"?
17:50:12 <ehird> it degrades to http for non-supporting clients
17:50:18 <ehird> this'll force https i guess
17:50:21 <ehird> - 99.9% Gmail, Google Calendar and Google Talk uptime SLA**
17:50:26 <ehird> geez, charging for that?
17:50:29 <ehird> what ever happened to 5-nines :P
17:50:56 <AnMaster> <ehird> - 99.9% Gmail, Google Calendar and Google Talk uptime SLA** <-- what on earth does that mean? 99.9% of google's uptime?
17:51:12 <ehird> it means that if you pay them $50/user/year they guarantee to be up 99.9% of the time
17:51:25 <ehird> compare to amazon which has 99.99999%
17:51:34 <AnMaster> is that for for the google domain hosting thingy?
17:51:47 <ehird> instead of the free standard one
17:51:49 <AnMaster> <ehird> - Email Archiving, powered by Postini <-- hm?
17:51:55 <ehird> AnMaster: yeah I don't know either
17:52:13 <ehird> anyway, I'll just back up email locally every now and then, I think
17:52:18 <AnMaster> thought "ehird is looking at some other service, called postini"
17:52:36 <ehird> using half my storage? download all messages to disk over a few nights, delete everything from gmail
17:53:00 <ais523> ehird: /seven/ nines, for Amazon?
17:53:12 <AnMaster> ehird, doesn't gmail space continue to grow still?
17:53:30 <ehird> ais523: err, no, that's 5 nines
17:53:32 <AnMaster> I remember the counter for current space was SO hyped a few years ago
17:53:33 <fizzie> "postini" is Finnish for "my mail"; "posti" is the noun, and the "-ni" part is the first-person singular possessive suffix.
17:53:36 <ehird> the number of nines means the 9s after the decimal point, ais523
17:53:40 <fizzie> I don't think that has anything to do with the name, though.
17:54:35 <ais523> ehird: it means altogether, doesn't it?
17:54:56 <ais523> top 3 google results all say 99.999
17:55:00 <ais523> but two of them are Wikipedia
17:55:26 <fizzie> Well, 99.99999 % is .9999999 when represented in a sane way; so seven nines.
17:55:40 <ais523> AnMaster: the article's uncited
17:55:47 <AnMaster> someone should add lots of [citation needed] to the wikipedia article on wikipedia
17:55:49 <ais523> and there isn't even a template about that
17:56:14 <ehird> really, I think seven nines should be possible
17:56:35 <ehird> if you have a massively redundant setup - i.e., say, 10 servers all running exactly the same thing, in different data centres around the world
17:56:38 <AnMaster> ais523, also someone should add "This article or section may not reflect a worldwide view" on the article on the US constitution :D
17:56:40 <ehird> and then multiple balancers balancing between them
17:56:54 <ehird> then pretty much when one fails skip to the next
17:57:06 <ehird> i mean, if they have nothing in common apart from the app they're running, server outages, etc are never a problem
17:57:11 <ehird> unless all 10 go down simultaneously
17:57:14 <ehird> which is... unlikely
17:57:18 <ais523> AnMaster: but then they'd just add a US Constitution in Vietnamese Popular Culture section
17:57:18 <ehird> if theyr'e all separate
17:57:21 <ehird> then it's just software issues
17:57:22 <AnMaster> ehird, DNS root servers: 100% uptime
17:57:27 <ehird> AnMaster: not 100%
17:57:36 <ehird> there's absolutely no way to guarantee that
17:57:46 <ehird> i guarantee you, if one of those servers was bombed it'd go down
17:57:50 <ais523> ehird: there have been systems with multiple massively redundant balancers
17:58:01 <AnMaster> ehird, sure but then the ip would stop being advertised
17:58:05 <fizzie> I'm not sure how they'd actually measure that "seven nines" thing; if they have one hour of downtime, they should then be online for the next thousand years or so.
17:58:07 <ehird> AnMaster: thats not 100% uptime
17:58:22 <ais523> one of the systems had a hardware failure, so they tried to turn it off to replace a component
17:58:26 <ehird> fizzie: well, six nines is 31 seconds of downtime per year
17:58:30 <ais523> but they turned the wrong one off by mistake, and the system went down
17:58:36 <ehird> imo it'd be possible to get less than that
17:58:40 <ehird> i mean, pretty easily
17:58:43 <ehird> as far as these things go
17:58:45 <fizzie> So it's counted as "downtime per year"? Okay.
17:59:38 -!- testthingy has quit.
18:02:50 <ehird> Why made a language.
18:02:51 <ehird> http://github.com/why/potion/tree/master
18:03:02 <ehird> add = (x, y): x + y.
18:03:04 <ehird> Me likely that syntax.
18:29:04 -!- kar8nga has joined.
18:43:43 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
18:56:09 -!- oerjan has quit ("Rhombus").
19:07:23 -!- oklopol has quit (Read error: 110 (Connection timed out)).
19:07:45 -!- olsner has joined.
19:18:48 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
19:20:43 -!- Corun has quit ("This computer has gone to sleep").
19:24:11 -!- KingOfKarlsruhe has joined.
19:27:24 <GregorR> oocalc doesn't support spreadsheets with more than 65536 rows :P
19:28:15 <GregorR> Anyway, the average word length in the aspell spelling dictionary is a whopping 8.5
19:29:10 <GregorR> I would tell you what the median is, but I can't.
19:29:17 <GregorR> (Since it won't open in oocalc :P )
19:30:49 <fizzie> My (English) wordlist seems to have an average length of about 9.6, according to perl -ne 'chomp; $n++; $l += length($_); END { print $l/$n, "\n"; }' < /usr/share/dict/words
19:31:32 <fizzie> While /usr/share/dict/finnish gives 12.7. Our words are longer than yours, neener-neener.
19:31:57 <GregorR> I just did: aspell dump master en > words; wc -l words; wc -c words, then (c-l)/l
19:32:56 <fizzie> About 8.579 for "aspell dump master en" here.
19:33:18 <GregorR> I just truncated because I'm lazy :P
19:33:59 <fizzie> aspell-dumping the 'fi' list gives me 13.28; even larger difference there.
19:34:34 <fizzie> Also 731284 words, versus 138599 in the 'en' listing. Of course it's just different cases of various words.
19:34:48 <ehird> OK but in common usage, I'd say 5-6 is the most common
19:36:37 <GregorR> Of the 1000 most common words in English, the much-more-reasonable 5.3 was average.
19:36:49 * ehird thinks of the simplest way to express the relation a.b.c.d -> {a,a.b,a.b.c}
19:39:12 <GregorR> The median is 5 (no shock)
19:41:37 <fizzie> Few consecutive words from the 'fi' list: "metsä", "metsää", "metsäämme", "metsään", "metsääni", "metsäänne", "metsäänsä" -- translated "forest", "forest (partitive case)", "into our forest", "into the forest", "into my forest", "into your (plural) forest", "into his/her forest"; and it continues like that for at least 70 word forms.
19:42:15 <GregorR> Heh, clearly list-style spelling dictionaries aren't best suited to Finnish :P
19:42:19 <GregorR> (Or probably German for that matter)
19:42:29 <fizzie> (And I only counted those which do not alter the stem "metsä" at all, and tried to discount hunting-related words.)
19:42:37 <GregorR> (I usually think of German when I think of tons of words glued together)
19:43:15 <fizzie> At least the German language uses prepositions for many things; we just add all kinds of tiny suffixes.
19:43:23 <ehird> Anyone know of a good way to express a.b.c.d -> {a, a.b, a.b.c}?
19:43:26 <ehird> Can't think of a natural way.
19:45:50 <psygnisf_> ehird, what is that supposed to be?
19:46:15 <ehird> Take {a, b, c, d}, produce {{a}, {a, b}, {a, b, c}}.
19:46:25 <ehird> Well, produce {a,b,c,d} as the last one, then it's just a matter of chopping that off.
19:46:39 <psygnisf_> {a,b,c,d} -> {{a}, {a,b}, {a,b,c}}
19:46:50 <ehird> for arbitrary length lists.
19:47:12 <fizzie> That looks more like sets when you use {}s.
19:48:25 <fizzie> There's the term "prefix set" for "abcde" -> {e, "a", "ab", "abc", "abcd", "abcde"} -- where e is the empty string -- which is pretty close, but seems that "prefix set" can mean other things too.
19:48:33 -!- jix has joined.
19:48:56 <psygnisf_> f (x:xs) = map (\n -> take n (x:xs)) [1...(length xs)]
19:49:22 <psygnisf_> or something like that. im not good with haskell enough to know
19:49:29 -!- sebbu2 has joined.
19:49:32 <ehird> did you just ask #haskell? :P
19:49:47 <ehird> that looks reasonable
19:50:12 <psygnisf_> the lengths of each of the new sublists are just 1,2,...n-1
19:50:19 <psygnisf_> where n is the length of the input list
19:50:36 <psygnisf_> so you can just enum 1...n-1, and map that to the first that-many items of the input list
19:51:46 <fizzie> You can write it as a single list comprehension if you don't like the map-lambda part, too.
19:51:50 <fizzie> Prelude> let f (x:xs) = [take n (x:xs) | n <- [1..(length xs)]]
19:51:50 <fizzie> ["f","fo","foo","foob","fooba"]
19:52:59 -!- kar8nga has joined.
19:53:04 <fizzie> Or alternatively with a named pattern:
19:53:06 <fizzie> f x@(_:xs) = [take n x | n <- [1..(length xs)]]
19:53:10 <fizzie> Although the @ is not pretty.
19:53:58 <psygnisf_> i'd like to get rid of the [1..(length xs)] :|
19:54:32 <psygnisf_> [take n (x:xs) | n > 0, n <= (length xs)]???
19:58:49 <fizzie> It's not clever enough. Even "... | n <- [1..], n <= 5" will never finish evaluating the sixth element of the list since it can't figure out that the [1..] will never again be <= (length xs) later on.
19:59:09 <fizzie> I'm sure some haskellist can give a prettier version, anyway.
20:01:28 <ehird> fizzie: you wrote a regex->bf compiler in java in 2005
20:05:06 <fizzie> Prelude> let f [] = []; f (x:xs) = [x]:[x:y | y <- f xs]
20:05:07 <fizzie> ["f","fo","foo","foob","fooba","foobar"]
20:05:10 <fizzie> That is the prettier way.
20:05:18 <fizzie> Let's see if I can find that regex-bf thing.
20:07:57 -!- sebbu has quit (Connection timed out).
20:07:57 -!- sebbu2 has changed nick to sebbu.
20:09:45 -!- Corun has joined.
20:12:26 <fizzie> Why do I not have a brainfuck interpreter anywhere? Foolishness.
20:15:49 <flexo> char m[99999],*n[99],*r=m,*p=m+50000,**s=n,d,c;main(){for(read(0,r,
20:15:49 <flexo> p);c=*r++;c-93?c-91?d?0:c-43&~2?c-44?c-46?p+=c&~2^60?0:c%4-1:write(
20:15:49 <flexo> 1,p,1):read(2,p,1):(*p-=c-44):d++||(*++s=r):d&&--d?0:*p?r=*s:--s);}
20:16:01 <fizzie> Wait, I do have my own similar one.
20:16:07 <flexo> i bet mine is shorter
20:18:12 <flexo> hm. looking at that mess... i'm really proud of it :)
20:18:18 -!- KingOfKarlsruhe has quit (Remote closed the connection).
20:18:53 <fizzie> Yours is 65 characters shorter, yes.
20:18:53 <flexo> p+=c&~2^60?0:c%4-1
20:19:01 <flexo> i even roughly remember why i'm doing that
20:19:06 <fizzie> Mine is more readable. :p
20:19:10 <fizzie> main(j,a,n,t)int*a;{unsigned short p=-1;char*r=calloc(n=p+1,6),*i=r
20:19:10 <fizzie> +n,**k=i+n;for(read(open(*++a,t=0),i,p);n=*i-43,t<0?n-48?n-50||++t:
20:19:10 <fizzie> --t:n?n-2?n-19?n-17?n-3?n-48?n-50?n-1||read(0,r+p,1):p[r]?i=k[j]:j
20:19:10 <fizzie> --:p[r]?k[++j]=i:t--:putchar(p[r]):p--:p++:p[r]--:p[r]++,*i++;);}
20:19:11 <flexo> the nice thing about brainfuck is
20:19:21 <flexo> if you closely examiny the binary encoding of the instruction
20:19:34 <flexo> you can more treat it like microcode
20:19:47 <flexo> (in ascii, that is)
20:20:47 <fizzie> Hoy, I foundeded the regex thing.
20:20:50 <fizzie> fis@eris:~/tmp/bfre$ java -cp . BFRE '(ab)*' > test.b
20:20:50 <fizzie> fis@eris:~/tmp/bfre$ beef test.b
20:20:50 <fizzie> fis@eris:~/tmp/bfre$ beef test.b
20:20:57 <fizzie> fis@eris:~/tmp/bfre$ beef test.b
20:21:05 <fizzie> It's not PCRE, but it does the basics.
20:21:43 <flexo> i'm rather positive that you can encode something like 50000 in less than 5 chars
20:21:46 <flexo> there are so many operators
20:22:43 <fizzie> ehird: http://zem.fi/~fis/BFRE.java -- it's quite a mess, though.
20:24:40 <fizzie> flexo: My version uses a "unsigned short p=-1" to get a suitably big number for storage allocation as well as a 'p' data-pointer that auto-wraps. But it's not very short, no.
20:25:31 <flexo> 9<<0xf is unfortunatly 6 bytes
20:26:03 <flexo> oh, and i don't do the int parameter trick
20:26:04 <fizzie> I don't see a reason for "9<<0xf" when "9<<15" has less characters.
20:27:50 <flexo> probably not possible?
20:28:09 <flexo> 4 bytes gives you two operands and 2 operators
20:35:06 <psygnisf_> http://www.boingboing.net/2009/01/06/tumbarumba-a-surreal.html
20:46:27 -!- GreaseMonkey has joined.
20:53:25 <psygnisf_> Just "invisible bike" :: Maybe [Char]
20:57:51 * Badger whacks psygnisf_ with a rolled up newspaper
20:58:23 <psygnisf_> seriously! look! http://book.realworldhaskell.org/read/defining-types-streamlining-functions.html
20:59:44 <psygnisf_> ive only gotten about a third of the way through excession
20:59:54 <psygnisf_> thats the sum total of my cultureverse experience
21:00:19 <fizzie> I've read the other Culture books *except* Excession; for some reason it just didn't go as smoothly as the others.
21:01:14 <fizzie> I guess the bot-loop danger is not imminent right now.
21:01:15 -!- fizzie has set channel mode: -o fizzie.
21:01:58 <Badger> Excession was my favourite.
21:05:10 <fizzie> I rather liked Look to Windward, actually. At least some parts. Like the stuff with the pylons.
21:05:22 <psygnisf_> its like.. what? when did haskellers start doing lolcats?
21:07:25 <psygnisf_> yeah but they're not that kind of nerd
21:07:35 <olsner> they've been doing it since way back
21:08:09 <Slereah_> Yo dawg, I herd you like function calls
21:09:02 <Slereah_> Can you put a monad in my monad?
21:18:04 <fizzie> Yes, the Haskell library provides monad transformers to sort-of put a monad on a monad.
21:37:28 -!- oklopol has joined.
21:39:58 <fizzie> It's that "Put a X in your X" meme.
21:57:45 -!- kar8nga has left (?).
22:00:57 <Asztal> ehird: my google apps email account is currently: You are currently using 0MB (0%) of your 7278MB.
22:01:10 <ehird> Asztal: And this is the free version?
22:01:22 <Asztal> well, I'm not paying for anything
22:01:23 <ehird> (Just assuming you're not giving google $50/year to host a mail sever for you.)
22:01:28 <ehird> Asztal: is it the free trial?
22:01:31 <Asztal> unless it's giving me a free trial
22:02:03 <ehird> resign up for the nonprofit free one :P
22:03:23 <Asztal> Try Premier Edition Free
22:03:24 <Asztal> * 25GB storage per user, no ads, 99.9% uptime SLA
22:08:23 <kerlo> Gmail has free trials?
22:08:45 <ehird> kerlo: google apps for your domain
22:08:51 <ehird> it's gmail, except for your own site-web
22:09:12 <ehird> Asztal: what's the advantages over just forwarding to gmail btw?
22:13:26 <Asztal> ehird: presumably when doing that you still need some simple server to do the actual forwarding?
22:13:32 <Asztal> I just set my MX records to gmail.
22:13:40 <ehird> Asztal: it's easier to set up a redirecting server than a full one :P
22:14:48 <Asztal> I'm not sure what the benefits are... probably not very much.
22:16:35 <ehird> you can rescheme the login form and the logo? :P
22:17:35 <kerlo> Speaking of MX records, I think I'll take a peek at mine.
22:19:22 * kerlo successfully guesses his GoDaddy password
22:20:41 <kerlo> MX: @ is normish.org
22:37:20 <grndlvlbombdood> f(1) = 1; f([2,3]) = 2; f([4,6]) = 3; f([7,10]) = 4; and so on
22:37:50 <ehird> um, what does it do?
22:38:20 <oklopol> 1 is considered a 1-tuple, its elements don't have any differences, because it's a singleton
22:38:55 <oklopol> grndlvlbombdood: and because psygnisfive didn't remember, and he just remembered it was something interesting.
22:39:12 <grndlvlbombdood> f(1) = 1; f(2) =2; f(3) = 2; f(4) = 3; f(5) = 3; f(6) = 3; f(7) = 4; f(8) = 4....
22:40:07 <oklopol> has to do with square methinks, but i'd have to fiddle to get it
22:42:59 <oklopol> might be something vaguely similar to something like that, yes
22:52:15 <fizzie> OEIS Search Results: A002024 "n appears n times"; 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, ... a(n) = floor( 1/2 + sqrt(2n) ). Also a(n)=ceil((sqrt(1+8*n)-1)/2). a(n) = a(n - a(n-1)) + 1. a(n) = round(sqrt(2*n)).
22:55:37 <kerlo> Pff, ceiling and round.
22:56:05 <kerlo> Use the sinc function, my friend.
22:56:18 * kerlo looks up that closed-form formula for the Fibonacci sequence
22:56:55 <fizzie> Well, there's the generating function and a couple of references of other sequences in the OEIS too.
22:57:06 <kerlo> Pretty simple: http://en.wikipedia.org/wiki/Fibonacci_sequence#Closed_form_expression
22:57:32 <fizzie> I'm not sure how that is related, except that it's also a sequence.
23:01:12 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
23:01:15 <kerlo> It's also a closed form expression for a sequence.
23:01:29 -!- oklopol has joined.
23:09:04 <ehird> There should be a way to make an ordered directory.
23:11:04 -!- oerjan has joined.
23:16:29 <kerlo> <wikipedian>Make an extension of ext3 that allows you to do that.</wikipedian>
23:17:06 <ehird> That is not useful for os x.
23:18:16 <oerjan> <ehird> Take {a, b, c, d}, produce {{a}, {a, b}, {a, b, c}}.
23:18:18 <psygnisf_> http://www.youtube.com/watch?v=8Yw6LQrtwHY&feature=related
23:18:43 <oerjan> er, tail . init . inits
23:19:19 * psygnisf_ sticks a chip on the side of my head
23:19:27 <ehird> almost sort of mimicing the computer screen.
23:21:51 <kerlo> ehird's fancy ordering scheme requires anonymous directories.
23:21:53 <oerjan> (works on infinite lists too, unlike the length using versions)
23:25:04 -!- gunfot has quit (Remote closed the connection).
23:25:07 -!- tofnug has quit (Remote closed the connection).
23:26:46 -!- olsner has quit ("Leaving").
23:33:36 -!- sebbu2 has joined.
23:36:22 <kerlo> "Gnus oft" looks like something you'd find in a pangram.
23:36:51 <oerjan> <psygnisf_> its like.. what? when did haskellers start doing lolcats?
23:37:07 <oerjan> http://arcanux.org/lambdacats.html
23:37:43 <kerlo> If gnus oft say zed, quux jacks.
23:37:51 <kerlo> (Which probably isn't a pangram.)
23:39:14 <kerlo> If gnus oft say zed by quux, jack.
23:41:15 <kerlo> Is that an actual pangram?
23:41:31 <kerlo> Can't be; it has only 25 letters.
23:42:53 <kerlo> It has A and B and C and D and E and F and G but not H; it has I and J and K but not L or M; it has N and O but not P; it has Q but not R; it has S and T and U but not V or W; it has X and Y and Z.
23:45:21 <ehird> This Pangram contains four a's, one b, two c's, one d, thirty e's, six f's, five g's, seven h's, eleven i's, one j, one k, two l's, two m's, eighteen n's, fifteen o's, two p's, one q, five r's, twenty-seven s's, eighteen t's, two u's, seven v's, eight w's, two x's, three y's, & one z.
23:49:56 <oerjan> hm would you reach that if you wrote it as an iterated system, and started with 0 of everything...
23:50:50 -!- sebbu has quit (Connection timed out).
23:54:05 <kerlo> It's likely you would end up in an infinite loop.
23:56:29 <ehird> that program was machine-generated
00:02:09 -!- grndlvlbombdood has changed nick to bsmntbombdood.
00:04:22 <ehird> I still say that there should be an ordered directory structure in filesystems.
00:06:45 -!- jix has quit ("...").
00:15:40 <oklopol> ordered directory structure?
00:15:53 <oklopol> ehird: how did you generate it?
00:15:54 -!- Corun has quit ("This computer has gone to sleep").
00:16:01 <ehird> i didnt generate it
00:16:36 <oklopol> err right, would've been quite fast
00:18:50 -!- Corun has joined.
00:19:59 <oerjan> bah seems not to converge
00:23:54 <kerlo> This pangram contains zero a's, zero b's, zero c's, zero d's, zero e's, zero f's, zero g's, zero h's, zero i's, zero k's, zero l's, zero m's, zero n's, zero o's, zero p's, zero q's, zero s's, zero t's, zero u's, zero v's, zero w's, zero x's, zero y's, zero z's, zero apostrophes, zero commas, zero spaces, and one period.
00:25:32 <ehird> That's not very accurate.
00:40:53 <oerjan> oklopol: i didn't check for longer cycles, let me see
00:41:22 <oerjan> (btw i started with the string "abc...z")
00:41:50 <oerjan> also i used "no" rather than "zero", not that it was ever used of course
00:42:39 -!- kerlo has left (?).
01:00:35 <oerjan> "This Pangram contains four a's, one b, two c's, one d, thirty-one e's, five f's, seven g's, nine h's, thirteen i's, one j, one k, one l, two m's, nineteen n's, fourteen o's, two p's, one q, six r's, twenty-seven s's, twenty t's, three u's, five v's, seven w's, three x's, three y's, & one z." repeats after 126 steps
01:04:29 <oerjan> and does not appear until about 1008 steps after a..z
01:05:08 <oerjan> i just did not wait long enought the first times i tried
01:42:16 -!- GregorR has quit (Remote closed the connection).
01:45:31 -!- Dewio has joined.
01:57:40 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
03:49:04 <lament> This pangram contains your mom.
03:51:51 <oerjan> That is not a pangram.
04:10:57 <oerjan> SPAM SPAM WONDERFUL SPAM
04:12:10 <psygnisf_> there's an algo for pangrams. what is it?
04:13:05 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
04:14:04 <oerjan> you mean self-describing pangrams? pangram alone just means something containing every letter
04:15:54 <oerjan> that would be constraint solving i think. or maybe something evolutionary...
04:15:58 <psygnisf_> i suspect its solvable with a linear equation
04:17:12 <oerjan> the number -> vector of letters in numeral mapping is complicated
04:19:07 <oerjan> by evolutionary i mean, you could use an iteration like i did, but then do a random change when you got stuck
04:20:44 <oerjan> only 16 letters actually appear in the numbers 1-99, that reduces search space
04:25:49 <oerjan> http://en.wikipedia.org/wiki/Pangram
04:26:06 <oerjan> i wonder if the example posted above was pasted from there
04:26:37 <oerjan> if so, it was computed with dedicated hardware
04:27:01 <oerjan> mind you that was in 1984 so obviously an ordinary computer should be able to do it now
04:27:27 -!- Corun has quit ("This computer has gone to sleep").
04:27:46 <oerjan> looks identical on a glance
04:28:11 <psygnisf_> its merely coincidental that some autograms can also be pangrams
04:28:24 <oerjan> yes but i guess making them also pangrams probably is not that much worse
04:30:43 <oerjan> the page speaks of Binary Decision Diagrams
04:31:00 <oerjan> now if wikipedia wasn't constantly locking up...
04:36:38 <oerjan> which probably means that they are essentially solving it by reducing to a case of an NP-complete problem...
04:37:34 <psygnisf_> i enjoy understanding what P and NP mean
04:37:57 <oerjan> but not so much hitting into them, eh?
04:38:51 <oerjan> but you don't enjoy quite as much having to solve NP-complete problems...
04:41:18 <oerjan> actually most interesting puzzles are probably human-sized (small!) versions of NP-complete problems
04:46:13 <oerjan> sudoku for example, becomes NP-complete if you have arbitrary board size and non-unique solutions
04:47:34 -!- CakeProphet has quit ("lol").
05:27:55 -!- Sgeo has joined.
05:51:46 -!- moozilla has joined.
06:04:06 -!- bsmntbombdood has joined.
06:34:00 -!- kar8nga has joined.
06:38:29 -!- CakeProphet has joined.
07:08:09 -!- kar8nga has quit (Read error: 145 (Connection timed out)).
07:12:53 -!- psygnisf_ has quit (Read error: 110 (Connection timed out)).
07:31:30 -!- Asztal has quit (Read error: 60 (Operation timed out)).
07:32:04 -!- Asztal has joined.
07:58:23 <AnMaster> <flexo> hm. looking at that mess... i'm really proud of it :) <-- optimizing?
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:07:14 -!- Sgeo has quit (Remote closed the connection).
08:14:05 -!- MizardX has quit (kornbluth.freenode.net irc.freenode.net).
08:14:05 -!- oerjan has quit (kornbluth.freenode.net irc.freenode.net).
08:14:11 -!- oerjan has joined.
08:14:11 -!- MizardX has joined.
08:19:54 -!- oerjan has quit ("Good night").
08:26:32 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
08:26:40 -!- moozilla has joined.
08:33:26 -!- Dewio has changed nick to Dewi.
08:42:53 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
08:42:54 -!- metazilla has joined.
08:56:21 -!- GreaseMonkey has quit ("e disasterous.").
10:54:35 <oklopol> that pangram problem would be quite hard to show np-complete given english numbers aren't exactly that simple
10:55:09 <oklopol> and of course it would trivially be in p if you just had the english numbers and the english alphabet, because a solution is known
10:55:20 <oklopol> a problem instance can't really be np-complete
10:56:49 <oklopol> but you could probably include subset sum somehow given the ability to specify the alphabet and the way to represent numerals
10:57:11 <oklopol> not that i can think very coherently this early
11:16:22 <Ilari> At least it becomes meaningful to talk about its algoritmic complexity if alphabet and numerics used are variable.
11:17:27 <oklopol> but i can't find a simple way to encode anything in it
11:18:01 <oklopol> i think i'm close to getting it, but i don't really have the time atm
11:18:52 <Ilari> But is that problem even in NP (i.e. it does not blow up superpolynomially)?
11:19:09 <Ilari> In solution size that is...
11:19:14 <oklopol> it's trivially in np, you can just count characters and their amounts.
11:20:04 <oklopol> given numerics, an alphabet and a solution, just check the solution contains only pieces of the alphabet, and for all characters, their amount is represented with the correct numeric
11:21:12 <oklopol> well we need to be polynomial on the size of the set of numerics
11:21:27 <oklopol> i can't see a way to get a superpolynomial solution
11:21:57 <Ilari> What could happen is similar to what happens in Sokoban: The solution chains can blow up exponetially -> PSPACE.
11:22:06 <oklopol> the solution is essentially an n-tuple of numerics, one representing each character's count in the whole tuple's numerics + 1
11:22:21 <oklopol> you don't need a solution chain
11:22:30 <oklopol> are we talking about the same thing?
11:22:31 <Ilari> Actually, the problem is not well-defined. How you encode numerics used?
11:22:50 <oklopol> i'm talking about generalizing "this pangram contains x1 a's, x2 b's..."
11:23:28 <oklopol> well just give a list of all the numerics you're allowed to use
11:23:39 <oklopol> if you need a bigger number, there's no solution
11:24:02 <Ilari> That 'solution chain' referred to Sokoban. You can encode explicit solution, but it can be exponential in lenght, so Sokoban is not in NP (its in PSPACE).
11:24:36 <oklopol> well i don't know sokoban, i can look it up
11:24:46 <oklopol> yeah what does that have to do with this?
11:25:02 <oklopol> there's no chain here, you just calculate amounts, and see if the right numeric is in place
11:25:25 <oklopol> any solution will just be an n-tuple from the given set of numerics, where n is the size of the alphabet
11:25:49 <oklopol> there cannot be anything superpolynomial about that, because you have a polynomial-size tuple of polynomial-size objects
11:26:23 <oklopol> i mean i did understand what you meant by the solution chain thing
11:27:10 <Ilari> Bound for certificate space required is n*ceil(log2(k)), where n is number of alphabet and k is number of numerics.
11:27:12 <oklopol> but here we're just checking a solution, there's no computation involved in the solution checking, as is usual for np-completeness
11:27:40 <oklopol> no actually k should be the size of the largest numeric
11:28:04 <oklopol> right, yeah, that's okay too
11:28:34 <oklopol> you're just exploiting the fact the list is in the problem descriptino
11:29:58 <Ilari> Even if numeric description size is logaritmic in numbers representable, then its still O(n*k)...
11:31:46 <oklopol> yeah it's the same as sokoban, counting the characters is the computation that can last an exponential amount
11:32:34 <oklopol> i was thinking there would be only a polynomial amount of polynomial numerics
11:32:55 <oklopol> err. then again, if you want the *number* of numerics to be polynomial
11:33:02 <oklopol> then the actual list of numerics is exponential
11:33:29 <oklopol> well. i guess it doesn't have to be
11:34:14 <oklopol> blargh, if you keep talking to me, i'm going to have to start thinking at some poitn
11:35:13 <oklopol> blah, yes you're right, might be pspace, should probably define it better
11:35:28 <Ilari> If there is some upper limit to numerics used, and representation of numerics in problem is at least logaritmic, then its in NP.
11:36:07 <oklopol> well i assumed a polynomial amount of numerics initially
11:37:18 <oklopol> basically you need the counting of characters to be in np, which that should guarantee, yes
11:38:31 <oklopol> but i never really even considered that, i assumed if there was a beautiful solution to encode something in it, you'd easily see if the result was checkable in polynomial time, and that i could define the problem after that
11:39:21 <oklopol> ah representation at least logarithmic so the character amounts can't get infinite, yes, good point
11:40:07 <oklopol> Ilari: approximately, where do you live? i'm such a patriot that i like to know that about finns
11:41:44 <Ilari> Actually, I think with logspace numerics, its not in NP.
11:41:48 <Ilari> oklopol: Helsinki.
11:42:31 <Ilari> The reason for that is that by increasing the alphabet size, you can make solution size blow up superpolynomially.
11:43:30 <Ilari> And the size of problem encoding is only logaritmic in alphabet size...
11:43:56 <Ilari> But the size of solution is linear in alphabet size -> exponential blowup.
11:44:30 <oklopol> well err, if the number of numerics is polynomial, and all their sizes are polynomial, i don't see what could go wrong. i mean there couldn't, then, be an exponential size solution because that would require an exponential input, right?
11:45:40 <oklopol> err the problem encoding also contains the numerics, so even if the solution is linear in alphabet size, it will only contain a small subset of the given set of numerics
11:46:20 <oklopol> what i mean is, you can't need an exponential amount of time to count the characters, because then you'd have an exponential amount of numerics in the input as well
11:48:22 <oklopol> i mean the crucial problem with getting an exponential blowup is we want the set of numerics as an explicit list
11:48:49 <oklopol> if we just encoded it like, say, english does, in a logarithmic amount of rules, then we'd hit the linear in alphabet size problem
11:49:24 <Ilari> The problem comes from the fact that solution size is necressarily linear in number of alphabet, but the problem description size is linear in number of bits in alphabet size.
11:52:42 <oklopol> i don't think so, if we need the numerics to be given explicitly. we can only use time O(|set of numerics|) to count characters
11:52:52 <oklopol> and if that needs to be polynomial, i don't see a problem
11:54:37 <oklopol> just like, if you're given a graph with n connected components, and you need to find the biggest subset of those components whose union size is smaller than a given number
11:55:22 <oklopol> you can just use dynamic programming, because the input size contains the numbers in "unary", just like in here
11:56:17 <Ilari> It takes exponential time just to iterate through the alphabet...
11:56:50 <oklopol> the alphabet size is polynomial, so what do you mean?
11:57:37 <Ilari> What in problem input is linear in size of alphabet?
11:58:36 <oklopol> the tuple that is the solution is linear in the size of the alphabet, it has an element for each character
11:59:20 <Ilari> Exactly. But I don't see that the input has to be linear in size of alphabet...
11:59:50 <oklopol> the checking problem requires you to, for each character (linear in size of alphabet), count the number of those characters in the numbers (linear in size of set of numberics and their representation)
12:00:04 <oklopol> Ilari: umm, so you can have an exponential input?
12:00:17 <oklopol> then, it takes exponential time to check the numbers are even in the set of numerics.
12:00:24 <oklopol> thus clearly it isn't in np.
12:00:45 <oklopol> the crucial point is how we encode the numerics, i assumed they were given explicitly, in a list.
12:03:00 <oklopol> are you perhaps implicitly assuming the set of numerics can be represented in logarithmic space?
12:03:33 <oklopol> at least if it could, you would be correct, it would not be in np
12:04:26 <oklopol> anyway, i need to go read my book, we're not really getting anywhere arguing about... well not sure what :P
13:04:46 -!- Slereah has joined.
13:13:47 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
13:38:45 -!- Corun has joined.
13:45:15 -!- jix has joined.
14:01:04 -!- jix has quit (Read error: 104 (Connection reset by peer)).
14:07:22 -!- jix has joined.
14:18:07 -!- jix has quit ("...").
14:18:28 <Slereah> http://img.secretareaofvipquality.net/src/1230134229081.jpg
14:23:10 <Slereah> It's usually an universal quantifier.
14:23:18 <Slereah> It are supposed to be a mona kittun
14:24:51 <Slereah> ASCII art stuff on the chans.
14:32:07 -!- Corun has quit ("This computer has gone to sleep").
15:09:16 -!- Corun has joined.
16:04:15 -!- ehird has set topic: i don't eat your face | man | http://tunes.org/~nef/logs/esoteric/.
16:07:57 <ehird> 06:18:28 <Slereah> http://img.secretareaofvipquality.net/src/1230134229081.jpg <-- lol
16:56:38 <ehird> I don't eat your face. Man.
16:56:42 * ehird is possibly tired.
16:57:22 <AnMaster> also what do you think about irregular webcomic today?
16:57:32 <AnMaster> ehird, I think the annotation rocked
16:58:36 <ehird> I skimmed the annotation, mostly.
16:58:40 <ehird> But I got the gist :P
16:59:02 <ehird> "You are my reader. I hate you."
16:59:28 <AnMaster> hm I would say: "black body radiation and how it can be used to figure out temperature or stars and distance to them"
16:59:41 <ehird> The intentions are what matters :-P
16:59:45 <AnMaster> also a bit about general relativity
16:59:57 <ehird> Then he has failed :P
17:00:05 * ehird predicts that the comic will now fade to octarine
17:00:10 <AnMaster> ehird, he has done such annotations a few times before
17:00:31 <AnMaster> ehird, err that isn't inside the sRGB space is it?
17:00:41 <ehird> sRGB is for squares.
17:01:11 <AnMaster> err no, triangles, though square colour spaces would be possible I think
17:01:52 <AnMaster> ehird, what colour space are apple monitors?
17:02:19 <ehird> System Preferences says "iMac".
17:02:27 <ehird> It also has "sRGB Profile" as an alternative.
17:02:30 <AnMaster> I would have assumed some wider one like AdobeRGB or such
17:02:36 <ehird> Which mainly seems to be darker.
17:02:44 <ehird> And it makes the text anti-aliasing look bad.
17:02:53 <AnMaster> well no monitor matches a colour space exactly
17:02:57 <ehird> AnMaster: it also has adobe rgb.
17:03:01 <ehird> and ntsc, and PAL.
17:03:03 <ehird> and god knows what.
17:03:10 <AnMaster> well but what can the monitor actually show?
17:03:22 <ehird> AnMaster: I'm not sure.
17:05:04 <AnMaster> I assume they exist over in UK too?
17:05:27 <ehird> I think we've only ever got one her. I want more so I can waste their time :(
17:06:34 <AnMaster> well I wonder why they keep bothering with our house after my father once (3rd time same year or so) decided to start to try to convert them about Buddhism. No visits for a few years after that, but seems they started again last year or so
17:07:27 <AnMaster> I saw it happen btw, was quite funny
17:08:06 <ehird> AnMaster: there's a way to get them stop coming
17:08:10 <ehird> i forget what the term is
17:08:19 <ehird> if you tell them you used to be one, but got excommunicated(?I think?)
17:08:30 <ehird> their strict rules are that they CANNOT come there ever again
17:08:34 <ehird> (because you're a devil or something)
17:13:57 <ehird> AnMaster: "Disfellowshipping" it seems
17:14:09 <ehird> There are over 30 violations for which a member can be disfellowshipped [21], including: Abortion, adultery, apostasy, bestiality, voluntary blood transfusions, drug abuse, drunkenness, extortion, fornication, fraud, gambling, heresy, homosexual activity, idolatry, incest, interfaith activity, loose conduct[22], manslaughter, murder, perverted sex relations[23], polygamy, pornography[24], sexual abuse, spiritism, theft, and use of tobacco.
17:14:14 <ehird> OH NO, PORNOGRAPHY
17:14:19 <AnMaster> better to try to convert them to Buddhism or such
17:14:49 <ehird> AnMaster: apparently blood is sacred.
17:14:59 <ehird> blood transfusions are strictly forbidden for jehova's witnesses
17:15:02 <ehird> even in case of emergency
17:15:59 <AnMaster> gambling huh..., so they can't play chess or anything?
17:16:30 <ehird> Arguably that's not gambling.
17:16:44 <AnMaster> ah so gambling is just when it is about money or?
17:17:14 <ehird> Gambling is the wagering of money or something of material value on an event with an uncertain outcome with the primary intent of winning additional money and/or material goods. Typically, the outcome of the wager is evident within a short period.
17:17:18 <ehird> -http://en.wikipedia.org/wiki/Gambling
17:17:19 <AnMaster> anyway trying to convert them to Buddhism really get them confused, which is great fun.
17:17:40 <AnMaster> ehird, so they don't like stock markets?
17:18:04 <AnMaster> because you could describe that as close to that
17:18:05 <ehird> Stock markets aren't gambling in public opinion, for some unfathomable reason.
17:18:22 <AnMaster> agreed you would need to bend the definition of "wager", but not much
17:19:25 <ehird> I want a new colour. :-P
17:20:14 <ehird> If a saturated green is viewed until the green receptors are fatigued and then a saturated red is viewed, a perception of red more intense than pure spectral red can be experienced. This is due to the fatigue of the green receptors and the resulting lack of their ability to desaturate the perceptual response to the output of the red receptors.[2] Kodak engineered Epcot's pavement to be a certain hue of pink so that the grass would look greener through th
17:20:17 <ehird> e reverse of this effect.[citation needed]
17:22:12 <ehird> I should compile something to llvm.
17:22:23 <ehird> Maybe a nice lil' OOP language or something.
17:22:29 <AnMaster> well why not just use the Lab colour space
17:22:41 <ehird> Is it possible to write an LLVM thing in non-C++?
17:22:50 <AnMaster> ehird, yes iirc, they have a C interface
17:23:14 <AnMaster> ehird, well ocaml, since someone used the C interface to make an ocaml interface iirc
17:23:22 <AnMaster> or was it making ocaml compile using llvm?
17:23:31 <ehird> AnMaster: Why isn't it language agnostic?
17:23:44 <AnMaster> ehird, well it could be, but you need to make an interface
17:23:56 <ehird> That's not language agnostic.
17:23:59 <AnMaster> iirc both python and perl can interface C libraries
17:24:07 <AnMaster> ehird, the bytecode spec format is open
17:24:12 <AnMaster> you could write your own generator
17:24:34 <AnMaster> ehird, but what do you suggest instead of a library with a standard interface?
17:25:18 <ehird> AnMaster: A simple plaintext format that you can just pipe to llvm?
17:25:57 <ehird> So why not use that?
17:26:17 <ehird> Well, is it more complex than the API?
17:26:36 <AnMaster> ehird, iirc the llvm website have info somewhere on it comparing pros and cons of those different ways
17:27:53 <ehird> http://llvm.org/docs/FAQ.html#langirgen
17:27:58 <ehird> against: the .ll parser is slower than the bitcode reader when interfacing to the middle end
17:28:01 <ehird> that would be especially bad
17:28:08 <ehird> as i'd like it to be fast enough for e.g. using it for a REPL
17:28:14 <ehird> eval() and suchlike.
17:28:23 <AnMaster> ehird, yes could be a problem then
17:28:34 <AnMaster> if you want to JIT stuff you probably need to use the API
17:28:50 <ehird> I guess I might have to bite the bullet and use C.
17:28:55 <ehird> Ugh, I'll have to use effing flex and yacc.
17:29:15 <ehird> Well, I could use lemon instead of yacc.
17:29:33 <AnMaster> ehird, hm can't languages like python, ruby and perl interface C libraries?
17:29:41 <AnMaster> I'm pretty sure at least python and perl can
17:30:10 <AnMaster> ehird, maybe someone already wrote a wrapper? Might be worth checking
17:30:10 <ehird> Of course, it won't fit in with the rest of the code, oh well.
17:30:59 <AnMaster> <ehird> Of course, it won't fit in with the rest of the code, oh well. <--?
17:31:12 <ehird> AnMaster: it'll take structs, etc
17:31:22 <ehird> which I'll have to construct manually from the objects
17:31:29 <AnMaster> well yes, I guess it will be easier to wrap the C API rather than the C++ one
17:31:39 <AnMaster> at least you'll only have to deal with POD then
17:32:06 <ehird> You know, writing this in a HLL might be a bit stupid.
17:32:17 <ehird> And, uh, s-expressions so I don't have to use flex/lemon.
17:32:28 <ehird> ... even though I don't really want to use s-exprs, but oh well
17:32:57 <ehird> High level language.
17:33:09 <AnMaster> what language did you plan to use to begin with?
17:33:25 <ehird> Eh, just one of the typical scripting languages. But tying a HLL to another HLL would be silly.
17:33:25 <AnMaster> iirc there is some llvm thing for haskell for example, but I may remember wrong
17:34:12 <ehird> Ooh. That could be very nice.
17:34:18 <ehird> Yes, I believe there is such a thing
17:34:30 <ehird> That is so, so tempting.
17:34:49 <AnMaster> ehird, well I don't know details, I think I was randomly browsing on ohloh or such
17:34:55 <AnMaster> or viewing suggestions for the stack there
17:35:03 <ehird> I saw it a few days ago on reddit, I think, actually!
17:35:18 <AnMaster> 24 Dec 2008 ... http://hackage.haskell.org/cgi-bin/hackage-scripts/package/llvm ... http:// hackage.haskell.org/packages/archive/llvm/0.4.1.0/llvm-0.4.1.0. ...
17:35:18 <AnMaster> aur.archlinux.org/packages.php?ID=18018 - 7k - Cached - Similar pages -
17:35:20 <ehird> http://augustss.blogspot.com/2009/01/llvm-llvm-low-level-virtual-machine-is.html
17:35:29 <ehird> Also, yeah, it's on hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/llvm
17:36:10 <ehird> Thing about compiling to llvm is that I have to learn someone _else's_ arcane assembly, instead of inventing my own ;-)
17:36:16 <AnMaster> ehird, oh also if you plan to mess with x86_64 and llvm use svn version
17:36:22 <AnMaster> I hit some bugs in last release
17:36:29 <ehird> I don't think I need 64-bit for this.
17:36:41 <ehird> I'm basically inspired by this: http://github.com/why/potion/tree/master
17:37:11 <AnMaster> ehird, on last release you can get llvm-gcc to ICE in stage2 of bootstrapping itself
17:37:20 <ehird> http://github.com/why/potion/commits/master <- Wow, that's some activity
17:38:08 <AnMaster> ehird, interesting, and that uses llvm?
17:38:28 <ehird> but works on non-x86, just slower
17:38:40 <AnMaster> so it uses a custom written JIT for x86 and x86_64 (it says so in README)
17:39:02 <ehird> I think, um, a few weeks.
17:39:07 <AnMaster> considering the activity level I would assume fairly new
17:39:07 <ehird> Maybe a month or two.
17:39:16 <ehird> why created repository potion 1 day ago
17:39:21 <ehird> but he's worked on it for longer, presumably
17:39:40 <AnMaster> writing a good JIT takes time, lots of time
17:40:57 <AnMaster> " * No error handling. I'm wary of just tossing
17:40:57 <AnMaster> in exceptions and feeling rather uninspired
17:40:57 <AnMaster> on the matter. Let's hear from you."
17:41:03 <ehird> * core: okay, first checkin. the parser is coming together. started this
17:41:26 <ehird> so he's developed a prototype with a working jit in less than a month.
17:41:38 <ehird> of an object-oriented language with also a VM and interesting object model.
17:41:44 <ehird> i swear that guy is paid to sit around all day and be awesome
17:42:05 <AnMaster> ehird, well I can believe someone managed to write a well working JIT in less than a month if he was dedicated, and a OO lang... But both? No way
17:42:20 <ehird> Well, there's your evidence.
17:42:23 <ehird> Browse through the commits if you want.
17:43:00 <AnMaster> well, what about work? Either rich enough to not need it or the company sponsors this, or something else
17:43:12 <ehird> See: "i swear that guy is paid to sit around all day and be awesome"
17:43:30 <ehird> AnMaster: I think what you have to realise is that he's crazy as all hell.
17:43:48 <ehird> Evidence: http://poignantguide.net/ruby/chapter-4.html (<-- this is from a _programming_ tutorial. Needs images.)
17:43:54 <AnMaster> ehird, or he is a student, one of those who back in the 1970s would have rewritten unix over the weekend
17:44:20 <ehird> More evidence: handwritten code, with coloured pencils. http://redhanded.hobix.com/cult/ahaNoticeTheExpandoWhichPrecludes.html
17:44:28 <AnMaster> ehird, well he isn't too bad at drawing
17:44:33 <AnMaster> certainly draws better than me
17:44:51 <AnMaster> ehird, WHY ARE THERE NO PUNCH CARDS!?
17:45:00 <ehird> AnMaster: don't give him ideas, man
17:45:11 <AnMaster> ehird, interesting nick btw, "why"
17:45:34 <ehird> his full name is actually why the lucky stiff.
17:45:38 <ehird> Also he has a GUI toolkit called Shoes, singular.
17:45:51 <ehird> why's new toolkit, Shoes, is great. why the lucky stiff is so awesome.
17:46:15 <AnMaster> wikipedia... "why the lucky stiff (often known simply as why or _why) is the persona of a prolific writer, cartoonist, musician, artist, and computer programmer notable for his work with the Ruby programming language."
17:47:17 <AnMaster> also the wp article seems like a link dump
17:48:37 <AnMaster> ehird, hm are you sure this is one person?
17:48:51 <AnMaster> not several performing a practical joke of some weird sort
17:48:57 <ehird> AnMaster: the theory that he is a collective has been put forward. The personality is a bit too consistent for that, though :P
17:49:48 * ehird decides to write language as custom vm language in Haskell. Maybe.
17:50:11 <AnMaster> ehird, well I'd assume only one would do the drawing bit, to make it consistent, and so on. If not he is some sort of super-productive multi-skilled genius...
17:50:43 <ehird> Alternative theory: He is a regular person who codes Java by day in a regular, messed-up javacorp. Wears a tie.
17:50:49 <ehird> Has a huge stash of LSD at home.
17:50:52 <ehird> And an internet connection.
17:51:00 <ehird> And coloured crayons.
17:51:27 <AnMaster> would LSD do that? I don't know any details of the effects caused by that drug
17:52:34 <ehird> http://blog.nihilogic.dk/2009/01/genetic-mona-lisa.html <- the javascript demoscener takes up the genetic algorithms meme
17:53:20 <AnMaster> genetic algorithms meme? When did genetic algorithms become a meme?
17:53:34 <ehird> since everyone and his dog generated the mona lisa from polygons with it :P
17:54:03 <AnMaster> ehird, didn't that one miss recombinating and so on?
17:55:46 <AnMaster> I'm pretty sure I read about the original and it seemed to do a, .... forgot the word
17:56:02 <ehird> stochastic hill climb
17:56:55 * ehird names language poke
17:57:05 <AnMaster> think I seen that used already
17:57:20 * ehird decides between C and Haskell while wondering why that's even a choice
17:57:50 <AnMaster> ehird, well I never tried the haskell interface for llvm, #llvm can be found on OFTC (not freenode)
17:58:10 <ehird> I decided against llvm :P
17:58:27 <ehird> Probably just a regular VM to start with.
17:58:31 <ehird> Y'know, sanity and all that.
17:58:47 <AnMaster> well I guess _why doesn't have any of that
17:59:33 <AnMaster> ehird, and/or he could be somewhat like those famous composers, Mozart and such, brainchilds
18:01:10 <AnMaster> maybe in 200 years people will talk about famous programmers from the twenty-first century(sp?), like we today talk about famous composers, writes and painters of previous centuries
18:01:34 <AnMaster> assuming spelling is correct for the last word
18:03:10 <ehird> "Phamus pr0gramrz aften used ''fakneames'' to hyd3 deir tru identiti. Forexam, ``why the lucky stiff`` (inth oldspeak, "wot a lucki blighter")"
18:03:24 <ehird> I disclaim all liability if English ends up like that in the future.
18:03:43 <AnMaster> ehird, I certainly hope AOL speak doesn't take over the world
18:07:31 <AnMaster> ehird, hm is there a linux C version of this genetic meme?
18:08:03 <ehird> AnMaster: http://github.com/mackstann/mona/tree
18:08:09 * AnMaster doesn't know his way around this strange blogosphere thing
18:08:09 <ehird> written by the kind of person who writes everything in C :-P
18:08:50 <AnMaster> "velociraptor.png"? Is this the xkcd author?
18:10:03 <ehird> Badger: but but you come from #haskell
18:12:30 <Badger> can't use the language though
18:12:49 <Badger> my puny attempts failed, whereas C is more comprehendable
18:13:08 <ehird> only because you're used to it
18:14:04 * ehird plots to have a component called mon in this language, so he can make horrible puns about pokemon
18:15:04 <AnMaster> Badger, what other functional languages do you know?
18:15:46 <ehird> GOTTA INTERPRET THEM ALL! umm, no.
18:16:19 <AnMaster> ehird, about that "http://redhanded.hobix.com/cult/ahaNoticeTheExpandoWhichPrecludes.html" you linked, wtf is "expando"?
18:16:44 <ehird> and the linked article
18:16:44 <ehird> http://diveintomark.org/archives/2007/04/01/document-dot-wacko
18:19:32 <ehird> i promise that poke will have an expando method on all objects.
18:19:34 <AnMaster> "“Precludes the functionality.” Awesome." <-- eh? what is odd with that? Sure, it isn't informal everyday language. So what? Yes I read the whole post, and I agree with the poster that the thing is very wtf.
18:20:23 <ehird> AnMaster: it is wtfy because it's worded ridiculously and sounds funny.
18:20:49 <AnMaster> ridiculously? You mean bureaucratically?
18:21:01 <ehird> i think you'd have to be a native speaker :P
18:21:43 <AnMaster> when I translate it mentally it ends up as highly bureaucratic, but not ridiculous
18:21:54 <AnMaster> sure sometimes bureaucratic == ridiculous
18:24:30 <AnMaster> ehird, like (real world example, not urban myth, I know the person first hand who read this in a report from someone on the local city council, a journalist btw), translated from Swedish: "green fodder converting milk production unit"
18:26:21 <AnMaster> ehird, oh and I have heard (from another journalist, my mother in fact, and no jokes about that) another person at the same city council call "windows" "light inlets"
18:26:48 * ehird thinks about writing a program that takes text and pounds it through a thesaurus to make it more beaurocratic
18:28:11 <AnMaster> about building some new building, library or museum or something, and that there should be many "light inlets" to create a nice environment and such, and when the journalists asked what he meant with "light inlets" he said something like "oh, um... you know, light inlets, um.... um... windows!"
18:28:22 -!- pikhq has joined.
18:28:38 <AnMaster> ehird, I guess it is the same in UK?
18:29:59 <AnMaster> hm and this was back in the 1980s, I wonder what they sound like now (said person no longer works as a journalist, she is teaching journalism instead)
18:31:36 * ehird attempts to hack up object.h into something that looks right
18:31:44 <ehird> (from the null string)
18:34:14 <AnMaster> ehird, oh about the "green fodder converting..." thing, the journalist in question called the person who had written it and asked, why he didn't use a normal word. And the person said that if you used "cow" it could mean either "milk cow" or "meat cow".... Yes both of those exists as direct translations to Swedish and yes he used them, no I don't think he was ever able to explain why he didn't just us
18:35:17 * ehird wonders if state is actuallyneeded in objects, with sufficient magic
18:36:38 -!- pikhq has quit (Read error: 60 (Operation timed out)).
18:37:06 <ehird> you could do it as a method definiton like
18:37:39 <ehird> hello <- { Slots at(5461651) }
18:37:44 <ehird> where { ... } is a function
18:37:49 <ehird> and the number is generated on newSlot
18:37:57 <ehird> then hello actually returns a value
18:37:59 <AnMaster> ehird, oh and something I saw myself... "park bench" as "sitting function". Sadly the translation in this case makes it even more messed up, because "function" in this case have more than one meaning
18:37:59 <ehird> problem is assigning it
18:44:24 -!- pikhq has joined.
18:44:42 -!- Hiato has joined.
18:48:48 <Hiato> Ok, let me ask a seemingly worthless question: Which distro: GoboLinux, Zenwalk, Lunar, SliTaz or Puppy (or something light/small too)?
18:49:26 <AnMaster> it all depends on what you want
18:49:41 <AnMaster> I use Arch Linux and Gentoo Linux. ehird here said GoboLinux was good iirc
18:49:48 <AnMaster> and I like both Gentoo and Arch
18:50:05 <ehird> Hiato: slackware? i dunno.
18:50:07 <ehird> gobolinux is nice.
18:50:16 <ehird> but not that lightweight
18:50:22 <Hiato> AnMaster: Well, a stable learning/messing platform that is extensible, but doesn't go bandwidth crazy like Ubuntu. This has to fit in <700mb's
18:50:50 <Hiato> Oh, and it has to be something different, from the usuals, FC, RHL, SuSE, Deb etc
18:51:08 <Hiato> Ok, I'll take a look at Arch
18:51:22 <Deewiant> If installing the core system from the internet instead of the CD, half of that
18:51:51 <ehird> don't look at arch :-P
18:52:02 <Hiato> That sounds awesome. Thing is, I'm not really even sure what I use an OS for anyway. I have a Windoze partition, mainly for Fallout 3, and then that's it. I do python and ruby, etc, so nothing constricting there
18:52:12 <ehird> Hiato: if you want to learn how linux works
18:52:16 <Hiato> Heh, well, I meant *look* at, as in read :P
18:52:33 <ehird> Hiato: i mean, slackware is like one level up from Linux From Scratch
18:52:50 <Hiato> I have a vague idea, but I just wanna be able to mess around. Yeah, so I've heard, hence I included zenwalk in the list
18:52:56 <ehird> the installer is basically an interface over a program that copies over a kernel and runs the (barely-extant) package manager
18:53:03 <ehird> see, that can be a good thing
18:53:08 <ehird> if you want to get proficient with linux, that's great
18:53:14 <ehird> because you learn it without a glossing over
18:53:23 <ehird> it's also very small and fast sort of feeling, in general
18:53:40 <Hiato> Hrmm, so, BlueWhit64? I have an AMD
18:54:05 <ehird> I wouldn't go for a really obscure distro, it'd just be painful
18:54:19 <ehird> Hiato: what do you want to do with this?
18:54:43 <Hiato> ehird: not sure, and that's 90% of the problem. I would say use it, but I'm not even sure what that means.
18:54:52 <ehird> what primary uses? :-)
18:55:14 <Hiato> On windoze, gaming, on linux/misc: surfing, programming and stuffing about
18:55:38 <ehird> Hiato: is learning linux to a deeper extent one of your goals?
18:56:18 <Hiato> ehird: Most certainly, but, not necessarily a priority. (PS: You should make a web-wizard distro selector, you have all the right questions)
18:56:50 <ehird> Hiato: lol, there are plenty of distro selectors to go around... But, if you have a lot of spare time and don't mind messing about a lot to get things going, Slackware could be a good learning experience.
18:57:02 <ehird> You might also want to check out one of the *BSDs.
18:57:26 <ehird> For something more "everyday" but still not a mainstream distro, not sure. Damn Small Linux?
18:58:04 <Deewiant> I'd say Arch is fine as an easier Slackware
18:58:24 <ehird> Deewiant: except that's a misguided goal
18:58:41 <ehird> either you want to get familiar with linux, i.e. slackware
18:58:43 <Hiato> Meh, I'm skeptical about BSD, as I am about solaris/derivatives and other funny kernerls/os's. I tried DSL, and although it was Debian, it failed. Not my kind of thing.. leaves you way in the cold - I felt. I mean, I've never really felt comfortable in Linux, ever, so Arch is looking good and so is slackware. GoboLinux is out because it's too non-standard
18:58:47 <ehird> or you want something for every-day usage, i.e. something else entirely
18:59:07 <Deewiant> Why couldn't one become familiar with linux with an every-day distro
18:59:09 <ehird> Hiato: BSD actually predates linux, by a long shot
18:59:17 <ehird> Deewiant: You could. But if it's one of your specific goals...
18:59:32 <Deewiant> I think the familiarity comes naturally with use
18:59:51 <ehird> slackware can still be valuable, it really depends on what you want
18:59:52 <Hiato> Deewiant: Could, but where's the fun? ehird: Yep :P Read up a bit (a lot) in the past
18:59:54 <Deewiant> Hell, I think I get /too/ familiar just trying to get rid of warnings and errors in dmesg and then in Xorg.0.log ;-)
19:00:27 <ehird> Hiato: Slackware might "leave you out in the cold" to start with -- though its interactive installer is helpful.
19:00:36 <Deewiant> Hiato: Well, there's the offset in that an everyday distro is more fun to use when you're not specifically tinkering and messing about in order to learn linux ;-)
19:00:40 <ehird> Well, interactive is a stretch: Basically, you run it and it tells you what to do next and you have to figure out how ;-)
19:00:46 <ehird> Treasurehunt installation!
19:00:54 <ehird> Well, it does give you pointers.
19:01:19 <Hiato> ehird: :P Deewiant: yeah, I realise, which is why I'm leaning towards Arch now... no offense ehird
19:01:36 <ehird> i still think arch is misguided
19:01:58 <ehird> there's two poles, down-dirty and high-level... arch tries to be the latter by starting from the former
19:02:03 <ehird> which is kind of silly
19:03:01 <Hiato> Hrmm... ok, so fundamentally, technically, it's not cool. Deewiant, do you use it? PS: it does have a much catchier description: a lightweight and flexible Linux® distribution that tries to Keep It Simple.
19:03:29 <ehird> disregard all of Deewiant's opinions, plz
19:03:50 <Deewiant> Less effort to keep running Gentoo than to reinstall :-P
19:03:53 <Hiato> I see, well, I'm not in the mood for massive source compiling/downloading, so no gentoo/bintoo/saboyan etc
19:04:56 <Deewiant> I still like its USE flags idea, being able to set features on a per-package basis, leaving out what you don't need... but being able to install stuff in seconds instead of minutes or hours does outweigh that benefit :-P
19:05:42 <ehird> Deewiant: macports has variants, essentially use flags
19:05:46 <ehird> but less fine-grained, which is fine by me
19:06:03 <ehird> of course, that's uncool, i mean.
19:06:07 <Deewiant> I did flip between Arch and Gentoo on the laptop, though... something didn't work in Arch (I think it was the frame buffer settings) but did in Gentoo for some reason so I went with Gentoo
19:06:15 <Deewiant> I wasn't in the mood for figuring stuff out
19:06:53 <Deewiant> ehird: How does that work? Basically multiple different packages which provide the same virtual package or something like that?
19:07:07 <Hiato> Well, not that it really makes a difference, but according to DW: Slackware:14 Arch:16
19:07:24 <ehird> if you want popularity, why are you looking for something obscure :P
19:07:32 <ehird> slackware is one of the oldest distros fwiw
19:07:46 <Deewiant> I believe it's the second-oldest still active one, after Debian
19:07:48 <ehird> few months older than debian
19:07:59 <Hiato> ehird: :P I know, just wanted to see what was on the web :P
19:08:00 <ehird> slackware = 16 July 1993
19:08:06 <ehird> debian = 16 August 1993
19:08:19 <Deewiant> I distinctly seem to remember being annoyed at the fact that slackware wasn't older than debian
19:08:44 <Deewiant> Maybe it was just at debian's age then
19:08:53 <ehird> well, slackware was just a barely-modified SLS to start with it seems
19:08:57 <ehird> so arguably it originated in 1992
19:09:17 <Deewiant> Well yeah, arguably Ubuntu originated in 1993 ;-P
19:09:39 <Hiato> er, what is going on here, where's the frinedly iso? ftp://ftp.is.co.za/mirror/ftp.slackware.com/pub/slackware/
19:09:52 <Deewiant> Slackware, friendly? Surely you jest
19:09:54 <ehird> you didn't specify friendly as a requirement.
19:10:03 <ehird> maybe wrong directory
19:10:22 <fizzie> Yes; go one directory level upwards.
19:10:29 <fizzie> And take slackware-12.2-iso or something.
19:10:36 <fizzie> "isolinux" is just the boot system thingie.
19:10:52 <Deewiant> Haven't used slackware in a long while, and never installed it myself
19:11:01 <ehird> Hiato: http://www.slackware.com/install/
19:11:10 <ehird> might be worth printing that out / keeping it open on a separate machine.
19:11:38 <Hiato> er, ah, now that's a problem. Slackware>700mb's
19:12:13 <fizzie> You can make a small slackware installation, probably with the new versions too.
19:12:17 <fizzie> Just don't install everything.
19:12:28 <Deewiant> You might not need all the isos
19:12:30 <ehird> Hiato: why is that a problem? The actual install won't be that bg
19:12:38 <ehird> if you disable most things
19:13:00 <Hiato> It's the download that's the problem. I can only use 700mb's before the 20th or bust
19:13:17 <fizzie> I installed slackware 3.2 back in 1997 or so when it came with a Finnish computer magazine; and their installation CD was borken. Package descriptions were missing for a couple of categories, had to choose what to install based on package names only. And it was my first Linux experience. That wasn't friendly.
19:13:18 <Deewiant> Hmh, why doesn't irssi send a message when I press keypad enter
19:13:29 <ehird> Hiato: want me to send you a disk in the post? XD
19:13:43 <ehird> fizzie: I'm sure you said that in 2005 or something
19:13:48 * ehird = obsessive log reader
19:13:52 <fizzie> ehird: Probably; I tend to repeat myself.
19:13:58 <Hiato> ehird: I would love it, here's a mackerel in return
19:14:07 <ehird> Hiato: ooh! Legal B Nomic tender!
19:16:07 <Hiato> back to my [non] life-altering decision, I can comprimise and take Zenwalk, or do as the Deewaint does and take Arch. Is it worth the compromise?
19:16:40 <ehird> Slackware, download it via carrier pigeon
19:16:56 <Hiato> ehird: we have bad reception
19:17:07 <ehird> Hiato: thus carrier pigeon. Here's some documentation: http://www.rfc-editor.org/rfc/rfc1149.txt
19:17:54 <Hiato> XD :D and any combination of the letters "l", "o", "r" and "f"
19:18:13 <ehird> Deewiant: re - macports variants
19:18:13 <ehird> vim @7.2.065 (editors)
19:18:14 <ehird> Variants: athena, big, cscope, gtk1, gtk2, huge, motif, nls, perl,
19:18:16 <ehird> puredarwin, python, ruby, small, tcl, tiny, universal,
19:18:23 <Hiato> with each octet separated by whitestuff and blackstuff. ?
19:18:27 <ehird> the tcl portfile defining it just has "variant foo { ... }" blocks that override the global definition
19:20:48 <Deewiant> ehird: Wait, macports installs from source?
19:20:58 <ehird> Deewiant: yes, irritatingly
19:21:02 <ehird> but, it's fast, generally
19:21:17 <ehird> Deewiant: it could be done in a binary package manager
19:21:18 <Deewiant> Why bitch at me for using Gentoo then :-P
19:21:26 <ehird> instead of tweaking cflags, it'd just point to a different binary tarball
19:21:29 <Deewiant> ehird: Yes, it could, which is why I was asking for details on how it works
19:21:41 <ehird> combining variants would be non-trivial
19:21:57 <ehird> Deewiant: gentoo has more of an attitude problem regarding it than macports ;-)
19:22:26 <Deewiant> Meh, I don't humanize distros, I don't care about their attitude :-P
19:22:45 <ehird> hey, who wants to buy me a pc that I can write an x11 WM on for no reason>???????
19:22:47 <Hiato> ok, after checking forums, Zenwalk it is *conversation has taken carrier pidgen over my head*
19:23:03 <ehird> Hiato: a pox be upon you
19:23:19 <fizzie> MacPorts isn't even that fast on my one-gigahurtz G4 PPC; I remember doing a "port upgrade outdated" after a year or two of inactivity and it took several hours.
19:23:47 <ehird> 2ghz intel core 2 duo >>> 1ghz G4 PPC, I'd assume
19:24:11 <Hiato> Deewiant: well, it's the fact that Zenwalk forums respond nicely to questions like this:
19:24:12 <Hiato> Hello, I'm COMPLETELY new to Linux. So I have a few questions about it xD
19:24:12 <Hiato> If I install Zenwalk, will I lose the programs I had installed on Windows?
19:24:12 <Hiato> Also will I lose my files? :S sorry, rather dumb questions ^_^;
19:24:12 <Hiato> Ehird: ... :( I tried
19:24:12 <fizzie> Probably, but I don't have such EVIL CAPITALIST MONEY-HUGGER hardware.
19:24:22 <ehird> Hiato: yes, you will.
19:24:27 <ehird> unless you have them on a separate partition.
19:24:31 <ehird> or, you know. back them up
19:24:41 <Hiato> ehird: that's not my question...
19:24:54 <Hiato> O_o I can't believe you believed that was me
19:24:57 <ehird> 19:24 <Hiato> Also will I lose my files? :S sorry, rather dumb questions ^_^;
19:25:06 <Hiato> http://support.zenwalk.org/viewtopic.php?f=46&t=9346, somewhere there
19:25:18 <Deewiant> Hiato: Arch forums don't, then?
19:25:30 <ehird> i think i just indirectly insulted Hiato's intelligence by mistake. ouch
19:25:45 <Hiato> haven't checked them
19:25:49 <Hiato> all is forgiven :P
19:26:01 <ehird> Hiato: thanks, idiot. Wait, disregard that <_<
19:26:02 <fizzie> Are you sure you want to associate with people who aren't all "AH HA HA YOU STUPEF STUPIDO" on the Interwebs?
19:26:31 <fizzie> They sound... abnormal.
19:26:31 <Hiato> fizzie: very true, and highly valid
19:26:43 <Hiato> let me ask you then: Zenwalk vs Arch
19:26:54 <ehird> " Also, spaces and symbols like '*' can confuse the Linux inner workings ('kernel'). "
19:27:00 <ehird> Issue with zenwalk: they're all retards.
19:27:12 <Hiato> .. fizzie: I'll tryu again :P ehird: lol, heh
19:28:00 <Hiato> THINK..AND READ BEFORE UPGRADING - amuch better topic in the Newb forums
19:28:40 <fizzie> Anyway, I don't know anything about either distro, so I can't really comment. (But Debian's netinst .iso is 145 megs, and contains the base system; then you can choose what other packages you want to download; so at least it fulfills that one arbitrary criterion.)
19:28:50 -!- Corun has quit ("This computer has gone to sleep").
19:29:24 * Hiato whips out his big bag o distros
19:30:16 <ehird> Hiato: try linux from scratch
19:30:23 <ehird> in case you're suicidal
19:30:36 <ehird> and, like, want to perform one last senseless, pointless act before leaving this earth.
19:30:41 <ehird> then you should try lfs.
19:31:07 <fizzie> Oh, and if you feel like it, you can do Slackware too; just avoid the full .isos, pick up a suitable boot disk and the network.dsk image, then install over the network. It will not be friendly at all, though.
19:31:38 <Hiato> I have tried, and not really liked: Ubuntu x.xx, DSL, Austrami, PC-Linux {Mini-me}, Mach boot, SLED 10, SliTaz, TinyMe, Mepis, FC, RHL, Mandrake, Mandirva and a bunch of others
19:31:56 <ehird> what's your main issue with them?
19:33:05 <Hiato> I just felt, well, I couldn't mess around, or that I wasn't supposed to. When I broke things, they magically healed and I was left none the wiser. Everything's a wizard (not necessarily bad), but get's frustrating.
19:33:26 <Hiato> fizze: will keep that in mind
19:33:51 <fizzie> Well, LFS is certainly something where you're supposed to mess around.
19:34:12 <Hiato> If it's any indicator, I liked Puppy - and still do. It's simple, stuff works, you fix what you break, the essentials are all there, but the rest can be done (with relative ease)
19:34:14 <ehird> Hiato: slackware would be pretty much perfect then
19:34:25 <ehird> when you mess up slackware, it doesn't work until you find out what's wrong and you fix it :-P
19:34:35 <ehird> note: that is simultaneously very annoying
19:34:58 <Hiato> fizzie: understood, on both notes. ehird: yeah, but it's better in a snese
19:35:18 <ehird> Deewiant: "i did something, this something was incorrect, the results are not correct"
19:35:26 <Hiato> Deewaint: change device0 to device1 or mess with other stuff in xorg.conf, just to see what it does
19:35:27 <Deewiant> I've yet to use a system which wasn't like that :-P
19:35:53 <Hiato> for example. Or change/stop start-up scipts
19:35:53 <ehird> Deewiant: yes, but it's usually at a higher level
19:36:06 <Hiato> mess with the HAL, etc etc
19:36:53 <Deewiant> How can stuff possibly work automatically if you break a start-up script :-P
19:37:04 <Hiato> that's how I (and most of humanity) learn. Break stuff, look at the pieces, do it again and then work out what it is supposed to do and why it works
19:38:04 <fizzie> Deewiant: A package manager might automatically fix it when upgrading stuff.
19:38:04 <ehird> Hiato: which would you prefer - everything is a wizard... or nothing is a wizard?
19:38:12 <ehird> that's Mandrake vs Slackware :-p
19:38:30 <Hiato> ehird: can't I float in between, with a slow drift to the nothing side
19:38:44 <Hiato> But yes, that sounds like a fair comparison
19:38:49 <ehird> that is not an answer :-P
19:38:51 <fizzie> I'd prefer an IRC Wizard. All this free-form writing is so tiresome; with a wizard interface I'd just have to click "Next" every now and then.
19:38:52 <Hiato> and I'd go with the nothing one
19:39:28 <Deewiant> Hmm, it seems that switching to Marvell's sk98lin driver and setting Moderation=Static as an option has made my machine work even whilst downloading torrents, hoorays \o/
19:39:30 <ehird> fizzie: forming grammatical sentences is so HARD, i'd prefer to just be given options... whenever I get just one phrase wrong i get asked what i meant
19:39:37 <Hiato> blarg, well, it looks like with my ridiculous restrictions, I'm going to have to go for Arch or bust
19:40:04 <Hiato> good distro name there
19:40:08 <fizzie> Sounds not entirely work-safe.
19:40:35 <Deewiant> Symptoms previously included: all processes using about 6000-10000% the CPU time even after the torrent client was closed
19:40:51 <Hiato> 'We guarantee to break something, or your sourcecode back'
19:43:56 <fizzie> There's a curious network driver thing, also: the r8169 in an older kernel used to generate a ginormous number of "dropped" packets.
19:44:03 <fizzie> Ifconfig output: "RX packets:67776111 errors:0 dropped:423893525723034 overruns:0 frame:0"
19:44:18 <fizzie> And that number increased by something like 100 million packets every second.
19:44:27 <fizzie> This 2.6.28 doesn't seem to do that any more.
19:44:58 <Deewiant> The annoying thing about this is that sk98lin is a third-party driver I have to get from marvell.com :-/
19:49:19 <fizzie> Oh well; I have to use the horrible nvidia binary blob driver too, since the second monitor I have is pivotable but the open-source 'nv' driver disables all (2D too) acceleration if I want a rotated image.
19:50:12 <Deewiant> This one's not a binary blob; it comes with an install.sh which patches the linux source tree (and unsuccessfully—had to manually correct a broken Kconfig file for 'make menuconfig' to run)
19:50:43 <Deewiant> Which is in some ways even more annoying because it's a bit trickier to install than just a blob.
19:51:26 <ehird> did Deewiant just use a — on IRC?
19:51:48 <Deewiant> I was using the fglrx driver but now I've switched to radeonhd (no acceleration supported for my card model!) because fglrx would lock up the whole machine if I accidentally restarted X
19:51:50 <fizzie> Oh, the nvidia driver also has a horrible installation script which touches all kinds of places. I just use the Debian-packaged version, I'm not so interested in having the newest released ones.
19:52:30 <Deewiant> sk98lin doesn't have an Arch PKGBUILD, I was thinking of making one but I guess that'd require me to duplicate much of the install.sh logic myself and it'd probably be too much work to keep up-to-date
19:52:41 <fizzie> And Lexmark's Linux drivers also had a horrible installation shell script. And so did some vmware product. It seems to be a habit. I usually just read them and do the steps manually, since I don't feel comfortable running them.
19:53:41 <Deewiant> Yay, about 90 minutes of torrenting and 'time man man >/dev/null' still completes in less than 0.1 seconds
19:54:07 <Deewiant> (As opposed to 5-7 seconds previously.)
19:55:38 <Deewiant> Hmm, what the hell happened to google's favicon
19:56:00 <Deewiant> http://googlesystem.blogspot.com/2009/01/new-google-favicon.html
19:56:52 <ehird> fire whoever did this
19:57:22 <Deewiant> I was fine with the previous change though the old one is the best, but this one sucks :-P
19:59:07 <fizzie> Lexmark's linux drivers also include a full copy of Sun's Java 1.4.2 runtime. Probably some configuration dialog or something was done as a Java application.
20:00:24 -!- alex89ru has joined.
20:00:50 <fizzie> An exclamation of disgust.
20:00:52 <fizzie> I may need to start running a local proxy here just so I can override the google.com/favicon.ico URL.
20:01:25 <ehird> just use greasemonkey
20:01:37 <Deewiant> Or https://addons.mozilla.org/en-US/firefox/addon/3176
20:01:42 <fizzie> Then I'd need to do that for all installations.
20:01:50 <Deewiant> Or no, it seems that's only for bookmarks
20:02:12 <ehird> Or use w3m and forget about retarded graphics
20:02:53 <fizzie> There's an about:config entry called browser.chrome.favicons in Firefox.
20:03:05 <fizzie> Based on the name, toggling that true -> false might make them all go away.
20:03:33 <ehird> I will do that right after I switch to linux and use a 1000 sloc WM.
20:03:34 <Deewiant> See also browser.chrome.site_icons
20:03:51 <fizzie> Yes, I'm seeing the kb.mozillazone.org description of that right now.
20:05:11 <ehird> doesn't hide the icon tho
20:05:13 <ehird> jusut always default
20:05:26 <fizzie> The site_icons preference will hide them.
20:06:38 <fizzie> Oh. Documentation says it will. The favicons one is defined to force the favicon of all sites to the default, but not affect the displaying. (Or the icon displayed for image files.)
20:08:15 <fizzie> The documentation seems to be a filthy liar.
20:10:43 <ehird> mice are so ergonomically terrible
20:12:03 -!- psygnisfive has joined.
20:18:39 -!- alex89ru has quit (Remote closed the connection).
20:22:47 -!- Hiato has quit ("Leaving.").
21:05:34 -!- Corun has joined.
21:59:18 -!- oerjan has joined.
22:26:27 <AnMaster> <ehird> don't look at arch :-P <-- why not?
22:26:56 <AnMaster> <Hiato> ehird: Most certainly, but, not necessarily a priority. (PS: You should make a web-wizard distro selector, you have all the right questions) <-- that exists
22:27:18 <AnMaster> http://www.zegeniestudios.net/ldc/
22:27:35 <AnMaster> it did suggest arch and gentoo for me :)
22:27:57 * ehird notes that AnMaster buffers his output and never reads input while calculating & sending output.
22:28:09 <AnMaster> also slackware is painful, I know, I used it
22:28:13 <fizzie> One of those "which OS are you?" questionnaires also had at least a couple of Linux distributions in there.
22:28:23 <ehird> Depends on your definition of worst.
22:28:33 <ehird> Well, what Deewiant said.
22:28:34 <Deewiant> it cannot be the worst because it doesn't exist
22:28:38 <ehird> It doesn't manage packages, it just installs them :P
22:28:39 <AnMaster> at least linux from scratch doesn't pretend to have a working package manager
22:29:03 <AnMaster> Deewiant, well it has packages
22:29:08 <ehird> Deewiant: it has a script that takes a tarball and runs ./configure && make && make install
22:29:13 <fizzie> I used slackware for a couple of years without touching the package manager. It wasn't very much advertised.
22:29:19 <ehird> not a package manager, it doesn't purport to be one
22:29:20 <AnMaster> ehird, not slackware no, I remember installing it
22:29:24 <ehird> and it's not exactly advertised
22:29:41 <AnMaster> same for some other packages I downloaded
22:29:59 <Deewiant> AnMaster: btw, if you've got a Befunge-93 interpreter handy run on latest (november) mycology and let me know if any BADs ensue
22:30:05 <ehird> All it does is unpack a tarball to /
22:30:10 <ehird> then run doinst.sh
22:30:14 <ehird> well, install/doinst.sh
22:30:29 <ehird> and it can tell you what's in ionstall/slack-desc
22:30:50 <ehird> Then it can remove a "package" that it's installed. And upgrade, which is really a special case of remove&install.
22:30:52 <AnMaster> Deewiant, I don't have any verified one no, cfunge has a 93 mode, which changes space rules and so on, but won't actually forbid 98 instructions in general
22:31:03 <ehird> Deewiant: i'm talking to AnMaster
22:31:08 <AnMaster> I have been thinking of making that compile time mode for extra speed ;P
22:31:09 <ehird> i.e., it's not a package manager.
22:31:17 <AnMaster> with possibly greater emulation then
22:31:18 <Deewiant> ehird: You directed a line at me
22:31:29 <ehird> yeah that was ages ago :P
22:31:45 <Deewiant> ehird: Yeah, and I responded to it when I noticed it :-P
22:31:46 <AnMaster> ehird, also that counts as package manager without dependency handling
22:31:54 <ehird> AnMaster: it doesn't, though
22:32:06 <ehird> your definition of package manager is wrong
22:32:16 <AnMaster> and I wouldn't consider dep tracking to be important
22:32:20 <ehird> it's only the worst package manager because your brain has the definition package manager = dependency-tracking etc
22:32:24 <flexo> working towards the ballmer peak now
22:32:35 <ehird> minimalism isn't for everyone
22:32:48 <fizzie> I did that web-test and it suggested me Debian and Ubuntu. I currently use Debian and Ubuntu. Clearly it must be infallible, based on my sample of N=1 persons.
22:33:06 <ehird> AnMaster: A package manager. Your definition is just wrong.
22:33:22 <AnMaster> ehird, hm? I said I didn't include dep tracking in package manager
22:33:34 <ehird> Fine, then it isn't for you.
22:34:03 <AnMaster> ehird, indeed, so I stick with something slightly more advanced while still no silly gui config stuff
22:34:14 <AnMaster> ehird, also I have installed LFS
22:34:18 <ehird> So why is it the worst package manager you've ever used?
22:34:21 <ehird> You haven't explained that yet.
22:35:23 <Deewiant> That webtest gave me gentoo and, interestingly enough, slackware.
22:35:23 <AnMaster> ehird, 1) it lacks the features that are RECOMMENDED, optional but silly to exclude (IMO) 2) it managed to loose track of files, this was around 5 years ago, slackware 9 or 10 I think, it may be better now
22:36:18 <ehird> the distribution chooser is _heavily_ biased to the mainstream distros.
22:36:26 <ehird> But, umm, I seem to get every single one.
22:36:40 <ehird> Arch, Kubuntu, Fedora, Mandriva, Slackware, OpenSuSE.
22:36:52 <ehird> I guess "just show all distros" always gets the right one, but it's not exactly clever...
22:37:18 <fizzie> Well, I only got two out of it.
22:37:32 <AnMaster> ehird, that differs, I get two, Arch and Gentoo
22:37:59 <AnMaster> actually I don't get Arch if I select that I have a 64-bit CPU, which is odd, Arch have x86_64 support nowdays
22:38:05 <ehird> I think it's because I answer "I don't care" to quite a few questions because, well, I don't.
22:38:10 <Deewiant> Ah, 64-bit might make a difference.
22:38:22 <fizzie> I have a feeling I sort-of answered the questions so that I'd get Debian (and coincidentally Ubuntu) because I happen to be happy with this stuff.
22:38:52 <Deewiant> Silly if it assumes I want a 64-bit system (which is the case, but still)
22:39:11 * ehird tweaks answers to try and get better results.
22:39:25 <fizzie> Uh... is there a way to move backwards in the test?
22:39:29 <AnMaster> for x86_64 it suggests gentoo and slackware
22:39:33 <Deewiant> Now it gave me Slackware+Mandriva+Kubuntu+OpenSUSE+Ubuntu+Arch
22:39:37 <AnMaster> fizzie, seems no, you could just restart it
22:39:59 <Deewiant> I think I added one more "don't care" than last time
22:40:04 <fizzie> That's a lot of questions to answer if I just want to change one.
22:40:06 <Deewiant> To the development packages one
22:40:11 <ehird> Okay, by lying through my teeth I get another huge pile. XD
22:40:22 <Deewiant> No, I don't /need/ development packages
22:40:33 <Deewiant> I don't /need/ X packages for all X because I'm smart enough to get em elsewhere
22:40:47 * ehird tweaks answers further
22:40:48 <AnMaster> Deewiant, anyway on x86/x86_64 you generally want a 64-bit distro, because a) multilib means you can run 32-bit just fine b) more registers more than compensates for increased pointer size
22:40:50 <Deewiant> But it probably thinks "aha you don't /want/ them"
22:40:59 <Deewiant> AnMaster: I don't run multilib, I run a 32-bit chroot
22:41:15 <AnMaster> Deewiant, well both works the same way as far as the kernel cares
22:41:16 * ehird lies through some more teeth.
22:41:16 <Deewiant> b) is a tradeoff; CPU for memory+disk
22:41:26 <ehird> C'mon, gimme slackware.
22:41:29 <ehird> Dammit you stupid machine.
22:41:33 <ehird> A huge bag is not a good result
22:41:33 <Deewiant> And it depends on the program anyway.
22:41:41 <AnMaster> Deewiant, double register count more than compensates for double pointer size
22:41:49 <AnMaster> in more than half of the cases
22:42:05 <ehird> One thing I really like about slackware is that it doesn't mess with 3rd-party apps.
22:42:06 <Deewiant> Yes, you are emphatically agreeing with what I said. :-P
22:42:13 <ehird> Debian is an especially bad offender there
22:42:17 <fizzie> Heh, now I get Fedora, Ubuntu, Gentoo, Arch, Debian, Slackware if I tell it I don't care about the package management (that question is a bit silly, too, since a couple of answers are specific package formats and not about the abilities of the package management) and don't choose the 64-bit option.
22:42:24 <AnMaster> Deewiant, an -m32 build of cfunge with 32-bit cells is about 5-10% slower on this computer, nothing else differs in build
22:42:33 <AnMaster> for 64-bit cells the difference is around 70% faster
22:43:00 <AnMaster> that is 70% faster for 64-bit build
22:43:03 <Deewiant> Yeah, the package management question was really stupid as well.
22:43:36 <ehird> I should write my own chooser that always gives either Slackware or Ubuntu.
22:43:37 <AnMaster> it was just one of the *least* stupid wizard style linux selector thingies I knew
22:44:05 <AnMaster> and it did give the right answers for me, that is the ones I ended up with after testing lots and lots of distros before
22:44:38 <Deewiant> http://www.tuxs.org/chooser/ for the win
22:44:46 * ehird answers hardcore-style
22:44:59 <ehird> I bet answering "Expert" to "How would you rate your technical skills?" makes it mark you as lower than "Beginner"
22:45:11 * AnMaster used red hat (back when it wasn't fedora, red hat 6.0...), OpenSuSE (don't remember version), Slackware, Debian before ending up with Gentoo and Arch
22:45:16 <AnMaster> Ubuntu was hardly around back then
22:45:21 <Deewiant> I answered "expert" simply because I know many professionals that don't know jack shit
22:45:30 <ehird> If your PC is fairly new and you are looking for a more technical distribution to install on your hard drive then try
22:45:31 <ehird> Debian or Slackware
22:45:40 <ehird> If your PC is a few years old and you are looking for a more technical distribution to install on your hard drive then try
22:45:41 <ehird> Debian or Slackware
22:45:52 <ehird> Umm, gee, that's some variation.
22:45:57 <Deewiant> ehird: Note that it says "more info on Gentoo or Slackware"
22:46:04 <AnMaster> <ehird> I bet answering "Expert" to "How would you rate your technical skills?" makes it mark you as lower than "Beginner" <-- well I *know* I'm expert, since I'm able to help even with the tricker questions in ##linux a lot of the time
22:46:31 <ehird> AnMaster: that's pretty arrogant...
22:46:35 <Deewiant> http://distrogue.awardspace.com/ was nice
22:46:41 <Deewiant> It gave me "Perfect match!" but nothing else
22:46:46 <ehird> Deewiant: awardspace? srsly? XD
22:46:50 <AnMaster> ehird, and I successfully cross compiled a hardened LFS, for which there is no guide :P
22:47:12 <Deewiant> Wow, you did something for which a guide did not exist
22:47:12 <ehird> [[AnMaster's ego shoots off the charts]]
22:47:12 <AnMaster> there is a hardened guide and a cross compiling one
22:47:18 <AnMaster> compiling them isn't that easy
22:47:26 <ehird> Deewiant: i know, I need guides _all the time_
22:47:33 <ehird> that shit's hard, man
22:47:49 <Deewiant> Breathing guide: http://www.breathingmatters.com/bodybm.htm
22:48:10 <ehird> AnMaster: ok, but how do I combine this with the eating guide?????
22:48:18 <ehird> combining guides is _really hard_
22:48:25 <AnMaster> ehird, depends on what version of the eating guide
22:48:40 <AnMaster> ehird, also a hardened cross compiling toolchain is quite complex in fact
22:48:48 <ehird> 4. Do you need a 3D desktop? <- Fuck off, distro chooser XD
22:48:56 <AnMaster> ehird, it never asked me that?
22:48:58 <ehird> 5. Will you be using your system for gaming? <- excuse me, isn't this for Linux?
22:49:04 <ehird> AnMaster: deewiant linked to http://distrogue.awardspace.com/
22:49:06 <fizzie> "Here are the results: Perfect match!" Heh, that's funny.
22:49:22 <AnMaster> <ehird> 4. Do you need a 3D desktop? <- Fuck off, distro chooser XD <-- heck I need to *NOT* have oen
22:49:23 <Deewiant> http://desktoplinuxathome.com/distro.html seems okay
22:49:31 <ehird> fizzie: also "This page has been viewed times."
22:49:44 <ehird> I got a lot of results
22:49:51 <Deewiant> fizzie: Do you have cookies enabled?
22:50:12 <fizzie> Deewiant: Nope. That might be it.
22:50:26 <Deewiant> I was hoping "Yes" so I wouldn't have to do it again :-P
22:51:01 <ehird> http://desktoplinuxathome.com/distro.html, my results in order:
22:51:02 <AnMaster> <ehird> AnMaster: deewiant linked to http://distrogue.awardspace.com/ <-- it suggests FreeBSD, PC-BSD, SabayonLinux, Pardus, Gentoo, Arch, "Frugalware", Debian, Fedora, openSUSE, mandriva and more
22:51:14 <ehird> debian, slackware, vector(???????????????????????????????????????????????????), gentoo
22:51:16 <ehird> then it goes on to 3 stars
22:51:20 <ehird> see the lines beklow
22:51:24 <ehird> it lists the problem
22:51:29 <ehird> (it lists every distro and then whether it matched)
22:51:38 <ehird> http://www.vectorlinux.com/ wtf.
22:51:40 <Deewiant> Gives me Gentoo,Arch,Frugalware,FreeBSD-Stable,PC-BSD as "perfect matches"
22:52:34 <AnMaster> <ehird> http://www.vectorlinux.com/ wtf. <-- shiny!
22:52:46 <ehird> http://polishlinux.org/choose/quiz/
22:52:52 <ehird> good questions, good results
22:53:00 <ehird> I got {Gentoo,{Free,Open,Net}BSD,Slackware}
22:53:19 <Deewiant> http://desktoplinuxathome.com/distro.html gave me Ubuntu,Mandriva,Vector,Fedora,Gentoo,Mepis as ones with more than 3 smileys
22:53:20 <ehird> out of which I'd consider using {NetBSD,Slackware}, but I can understand why it gave the others
22:53:27 <AnMaster> 3. How important stability and maturity is for you?
22:53:36 <ehird> it's from a polish site
22:53:38 <ehird> give em some slack
22:53:45 <ehird> AnMaster: it's a continuum from a lot to not at al
22:53:46 <Deewiant> I hate the way saying that I have a new computer causes them to give me bloatware
22:53:57 <ehird> 22:53 <AnMaster> ehird, ...ware <-- Wut>?
22:54:05 <AnMaster> <ehird> give em some slack <AnMaster> ehird, ...ware
22:54:13 <Deewiant> ,,,,,,,,,,,,,
22:54:20 <ehird> someone else try the polish one
22:54:22 <Deewiant> polishlinux.org times out for me
22:54:37 <fizzie> Polish says: FreeBSD, OpenBSD, Debian, Gentoo, NetBSD.
22:54:38 <Deewiant> http://polishlinux.org.nyud.net/choose/quiz/ seems to work
22:54:41 <fizzie> It seems very BSD-friendly.
22:54:53 <ehird> I'd just ignore the BSD results, tbh
22:55:20 <AnMaster> it seems to contrast like this:
22:55:41 <AnMaster> I have seen binary and hard to use
22:55:42 <ehird> if you read it, it doesn't :P
22:55:55 <AnMaster> it's a crucial thing for me - I often test different software and don't have the time to play with compiling from sources, looking for dependencies and so on
22:55:56 <AnMaster> quite much - easy installation is a big plus; still I can compile and build a package once in a while
22:55:56 <AnMaster> not much - nice package management system temps, but I usually prefer to prepare packages myself so I know what exact functionality I get
22:56:04 <AnMaster> I want easy and source, with fine level of control
22:56:10 <ehird> you can just as easily read "build" as "make own package"
22:56:18 <AnMaster> some system to set features I want, then have the system to build them for me
22:56:38 <ehird> that's an irrelevant detail
22:56:53 <AnMaster> and then it should be easy to use, track all deps
22:57:07 <ehird> you seem to have a penchant for ignoring the bigger picture and concentrating on minutae...
22:57:15 <Deewiant> Oh darn, the nyud.net one sends the results to the non-cached one anyway
22:57:26 <ehird> nyud.net couldn't handle POST
22:57:31 <ehird> it caches per-URL...
22:57:45 <AnMaster> is what the polish one suggested
22:57:50 <Deewiant> And the main site still times out for me
22:57:58 <ehird> lol i wonder if you can get it to NOT suggest bsd
22:58:04 <ehird> Deewiant: use a proxy?
22:58:33 <AnMaster> "Why are you going to try Linux? " (http://desktoplinuxathome.com/distro.html)
22:58:42 <ehird> AnMaster: leave it blank
22:58:45 <AnMaster> "I'm already a Linux user" is missing
22:59:06 <Asztal> Debian, Fedora, KateOS, Gentoo, Ubuntu
22:59:17 <Deewiant> Wonder why that site doesn't work from here
22:59:18 <Asztal> I like that it has Gentoo and Ubuntu in the same list
22:59:20 <ehird> kateos looks polish
22:59:25 <ehird> which would make sense considering the site
22:59:32 <ehird> http://www.sabayonlinux.org/ <-- worst distro ever or worst distro ever
22:59:33 <AnMaster> ok it suggests ubuntu first, then gentoo, mandriva, vector, Mepis, Slackware, Fedora
22:59:41 <ehird> AnMaster: yeah it sucks :P
22:59:49 <ehird> there are distros worse than ubuntu
22:59:51 <fizzie> ehird: "for desktop, not a programmer" + "newbie" + "no time for learning" + nothing else concerns me => no BSDs.
22:59:56 <ehird> case in point: mandrake
22:59:58 <AnMaster> ehird, well opensuse comes close
23:00:06 <AnMaster> ehird, I haven't used mandriva/mandrake
23:00:11 <ehird> opensuse isn't bad
23:00:16 <ehird> not my cup of tea, but not bad
23:00:33 <fizzie> (Actually that sort of settings give Mandriva, openSUSE, Aurox, Xandros, Fedora.)
23:00:39 <AnMaster> anyway I used quite a few of them, and that chooser is the worst so far
23:00:57 <ehird> polishlinux has been the best for me
23:01:00 <ehird> the questions aren't stupid
23:01:25 <fizzie> AnMaster: The Polish one.
23:01:28 <AnMaster> oh I never heard of this vectorlinux before
23:01:39 <AnMaster> fizzie, the polish one wasn't too bad, except the language
23:01:55 <AnMaster> maybe it isn't in it's database
23:03:26 <AnMaster> anyway personally I have found the distros I like, gentoo (primary desktop); arch (low end [Pentium 3 or lower] headless development computer); FreeBSD (remote server in datacenter); OpenBSD (dedicated firewalls)
23:03:30 <Deewiant> At last: Gentoo, FreeBSD, Arch, Debian, PLD
23:03:44 <Deewiant> http://polishlinux.org/linux/pld/
23:03:59 <ehird> PLD took some best features from couple of other distributions: RPM format from Red Hat (but PLD uses RPM-s capabilities much more efficiently),
23:04:00 <AnMaster> it didn't recommend that to me
23:04:13 <AnMaster> ehird, I thought RPM was a bug
23:04:18 <ehird> I was about to say that
23:04:22 <ehird> to hell with both of you
23:04:34 * ehird considers filing a bug report for every RPM-based distro
23:04:35 <fizzie> There seem to be quite many Polish distributions in there; surprisingly.
23:04:38 <AnMaster> ehird, at least it was back when I used red hat 6.0... Oh the nostalgia! RPM hell!
23:04:42 <ehird> fizzie: or, rather, not surprisingly
23:04:49 <fizzie> I hadn't heard of Aurox either.
23:04:53 <ehird> It's a polish site :-P
23:05:16 <AnMaster> anyway that vectorlinux thing, anyone ever heard of it before?
23:05:29 <AnMaster> yes that is the right word, shiny
23:05:35 <AnMaster> Deewiant, you heard of it before
23:05:37 <fizzie> It's the best; the site says so.
23:05:40 <AnMaster> ehird, yes that was what I said :P
23:05:42 <ehird> AnMaster: "eye candy", more like
23:06:16 <AnMaster> for example for some reason I don't know the buttons on my mobile phone are shiny
23:06:18 <Deewiant> I recall it being said that Vector was lightweight, but it might have been compared to Ubuntu or something
23:06:21 <AnMaster> you see all the fingerprints on it
23:06:37 <fizzie> But VectorLinux has a DELUXE version!
23:06:39 * ehird considers doing LFS then killing himself
23:07:00 <AnMaster> ehird, there is some package manager somewhat like checkinstall
23:07:12 <AnMaster> anyway made for recording packages for LFS
23:07:33 <AnMaster> it is in their "hints" section
23:08:10 <ehird> I'm pretty sure that "Go into chroot, run make install, record the differences to a file, then extract from chroot" is pretty trivial to write.
23:08:23 <ehird> I mean, as these things go.
23:08:26 <AnMaster> ehird, I think it was using LD_PRELOAD trick
23:09:12 <ehird> I'd prefer a chroot :-P
23:09:17 <ehird> 's what macports uses
23:09:31 <AnMaster> ehird, well how do you know the tools you need to install are in there
23:09:50 <AnMaster> some packages might need obscure tools to install
23:09:59 <ehird> AnMaster: that's why you copy the whole system to a chroot.
23:10:00 <psygnisfive> besides a british dialects way of saying truth :p
23:10:11 <AnMaster> ehird, well that will take a while. 4 GB or whatever
23:10:21 <ehird> AnMaster: do whatever macports does, then.
23:10:29 <AnMaster> ehird, I would use chroot + unionfs
23:10:31 <ehird> AnMaster: also, stop trying to teach psygnisfive. hopeless case.
23:10:42 <ehird> also, that fails when the package modifies existing files
23:10:51 <ehird> oh, copy-on-write?
23:11:05 <ehird> okay, that would work splendidly then
23:11:11 <ehird> and be easy to implement
23:11:31 <AnMaster> ehird, and then you check what was changed in the overlaying one, need to handle deleted files (unionfs write specially "whiteout" files for that iirc)
23:11:50 <AnMaster> unionfs isn't in vanilla kernel
23:11:53 -!- oerjan has quit ("leaving").
23:11:54 <psygnisfive> ehird, just telling me it was a shell command makes was good enough :P
23:12:02 <AnMaster> this means you may need to wait for the patchset to be ported
23:12:07 <ehird> who cares about a vanilla kernel when you're hypothesising your own distro
23:12:12 <fizzie> You can also use a LVM snapshot volume mounted in the chroot; that's copy-on-write. Although looking at changes is then a bit more difficult, with unionfs you nicely get the changed/deleted files easily.
23:12:23 <AnMaster> psygnisfive, chroot isn't a shell command, it is a system call
23:12:39 <AnMaster> ehird, because you can't track last sources, you need to wait for it to be ported to last
23:12:48 <AnMaster> which means you can't follow bleeding edge
23:12:59 <fizzie> "man chroot" does give here the 'shell command' -- well, it's not a built-in, but anyway -- instead of the system call, though.
23:12:59 <AnMaster> fizzie, yes that would work nicely
23:13:04 <ehird> who honestly cares about a bleeding edge kernel?
23:13:30 <AnMaster> ehird, me? at least on my development box, on my desktop I run more stable
23:13:34 <fizzie> Anyone with bleeding edge hardware. :p
23:13:37 <ehird> does it really matter though?
23:13:47 <AnMaster> ehird, yes because I want to test new features
23:13:47 <ehird> as long as it's relatively new, does it bother you?
23:13:57 <psygnisfive> why are we talking about hardware and kernels
23:14:07 <ehird> psygnisfive: because we want to, go away if you don't like it.
23:14:16 <AnMaster> ehird, which is why it ran gcc 4.3.2 one week after it was released
23:14:17 <fizzie> And 2.6.28 did really add useful things. Someone xtables-ized the iptables "recent" module, for example, so my SSH knocking thing works for IPv6 now, too.
23:14:21 <ehird> AnMaster: i guess it falls under the "all programmers are fashion-obsessed nerds with ADHD" axiom
23:14:26 <psygnisfive> you should be talking about a kernel written in BF!
23:14:34 <AnMaster> ehird, you are a programmer too?
23:14:48 <AnMaster> ehird, you have ADHD? Would explain a lot :P
23:14:56 <ehird> That was a metaphor. :P
23:15:04 <ehird> Just like how by fashion I didn't mean clothes.
23:15:18 <ehird> if all 13 year olds have ADHD it's hardly ADHD, is it
23:15:28 <ehird> i mean, for something to be an actual... thing it has to be non-norm
23:15:54 <psygnisfive> attention-deficit hyperactivity disposition. :P
23:15:59 <AnMaster> ehird, I never care for clothes. Simple classical model blue jeans that aren't pre-worn-out, and t-shirt, and due to climate something thicker over
23:16:12 <ehird> and AnMaster successfully derails the conversation to an irrelevant topic
23:16:13 <AnMaster> like this thing made of fleece
23:16:20 <ehird> only to have everyone else pull it back again
23:17:23 <AnMaster> ehird, anyway you derailed it by starting talking about clothes!
23:17:36 <ehird> no, I didn't talk about clothes
23:17:47 <AnMaster> <ehird> Just like how by fashion I didn't mean clothes.
23:17:53 <ehird> that's not talking about clothes
23:18:01 <psygnisfive> i googled lumberjack for a humorous picture
23:18:04 <AnMaster> ehird, that is meta-talking about not talking about clothes
23:18:04 <psygnisfive> and this is what i find: http://i37.photobucket.com/albums/e98/bolson51/lumberjack.jpg
23:18:14 <ehird> AnMaster: you are confusing mentioning and changing the topic to
23:18:37 <ehird> 23:15 <EvilTerran> @@ @run words "sleep eat haskell idle" !! (pred.read.last.words$(@show @dice 1d4))
23:18:37 <ehird> 23:15 <lambdabot> "haskell"
23:19:14 <AnMaster> bbl, going to listen to an one hour radio program :)
23:22:31 <AnMaster> psygnisfive, an (one hour) radio program
23:22:52 <AnMaster> and "one" begins with vowel sound, thus "an"
23:23:14 <psygnisfive> but its not written that way for historical reasons.
23:23:29 <AnMaster> psygnisfive, doesn't that depend on dialect?
23:24:09 <psygnisfive> besides, "an" is not universally used just before vowels
23:24:16 <ehird> AnMaster: absolutely not
23:24:28 <ehird> an one hour sounds definitively wrong
23:24:41 <psygnisfive> for instance, its used because the "y" glide as in "a usually red hat"
23:24:52 <AnMaster> psygnisfive, as I mentioned my nick are from my initials
23:36:31 <ehird> 23:31 <oklopol> read that as "sleep eat haskell die"
23:36:32 <ehird> 23:31 <oklopol> i was like "wow, what a gambler!"
23:36:35 <ehird> those lines seemed familiar
23:36:39 <ehird> but then i realised oklopol said them
23:37:24 <ehird> just like I knew who would have said tem
23:37:34 <oklopol> well yeah, that's not a surprise
23:59:37 -!- KingOfKarlsruhe has joined.
00:11:13 <flexo> the ballmer peak is
00:23:26 <flexo> i'd have thought everyone knows at least that much german heh
00:23:47 <flexo> don't even know the former
00:24:18 <flexo> how did you manage to do that ?
00:24:27 <AnMaster> flexo, it is on my Swedish keyboard...
00:24:33 <flexo> oh, swedish. okay.
00:24:41 <AnMaster> flexo, why would it be hard anyway?
00:24:48 <flexo> on an american keyboard?
00:25:10 <AnMaster> well there is some meta key to enter char sequences I assume?
00:25:34 <flexo> unicode. huh. yea. well. maybe.
00:25:44 <flexo> is on my german keyboard aswell ;)
00:26:06 <AnMaster> anyway Germany had lots of great composers
00:26:18 <AnMaster> flexo, anyway, what about Grieg?
00:26:30 <flexo> that's the second one i don't know
00:26:44 <AnMaster> flexo, which was the first one you didn't know?
00:26:59 <AnMaster> flexo, ah Liszt was from France
00:27:08 <flexo> german-france thingie
00:27:21 <AnMaster> Chopin from Poland(sp in English?)
00:27:46 <AnMaster> the rest were from Germany, though Händel spent most of his time in UK iirc
00:28:18 <flexo> just drank out of my ashtray
00:28:31 <flexo> (cuba libre in the right one)
00:28:44 <AnMaster> I do not wish to talk to you any more
00:30:01 <AnMaster> Debussy? I assume it isn't something horrible like Wagner
00:30:55 <flexo> i kinda like that valkyrie ride though
00:31:03 <AnMaster> flexo, personally I can't stand it
00:31:19 <AnMaster> oh could be Vivaldi or Verdi too I assume
00:31:24 <flexo> but i agree with you that wagner sucks
00:31:42 <flexo> i suppose it's just the movie i associate it with i like
00:32:01 <AnMaster> No clue what movie that is. Anyway: What music?
00:32:17 <flexo> the movie - apocalypse now?
00:32:39 <flexo> i'm evading your question, don't you see it
00:32:41 -!- KingOfKarlsruhe has changed nick to nice.
00:32:45 -!- nice has changed nick to KingOfKarlsruhe.
00:32:52 <AnMaster> flexo, well I'm not going to let you evade it any more
00:33:42 <flexo> you want as honenst answer?
00:34:31 <AnMaster> flexo, what could be that bad?
00:34:46 <flexo> it's somewhat emberassing
00:34:59 <flexo> when i'm drunk i usually listen to some 70s or 80s disco music :)
00:35:50 <flexo> i still got that damn taste in my mouth
00:36:10 <flexo> don't know neighter
00:36:32 <AnMaster> flexo, the latter is like wagner, but worse
00:36:48 <AnMaster> also doesn't it just taste cigarettes?
00:36:57 <AnMaster> I mean if you smoke them, you shouldn't notice it anyway
00:38:56 <flexo> it tastes like cigarettes, but worse
00:39:12 <flexo> like solluted cigarettes
00:39:15 <flexo> with some ash added
00:39:21 <flexo> probably rather toxic too
00:39:26 <flexo> but i didn't swallow
00:39:29 <flexo> i suppose i'll be fine
00:50:23 -!- oerjan has joined.
00:51:37 * oerjan decides the web solution for Trondheim's new electronic bus cards sucks hedgehogs through a garden hose
00:52:15 <oerjan> WHY THE HECK CAN'T THEY FIND A WAY TO JUST SEND ME AN ORDINARY BILL, SAY EVERY 3 MONTHS
00:52:30 <oerjan> _that_ would have been an actual improvement
01:01:00 <oerjan> <ehird> i mean, for something to be an actual... thing it has to be non-norm
01:01:14 <oerjan> conclusion: heterosexuals don't really exist
01:05:10 <oerjan> <ehird> it's a one hour
01:05:26 <oerjan> possibly also, an hour one
01:06:43 <oerjan> <ehird> 23:31 <oklopol> read that as "sleep eat haskell die"
01:08:58 <oerjan> <AnMaster> flexo, ah Liszt was from France
01:09:05 <oerjan> wait, i thought he was hungarian...
01:09:15 <AnMaster> oerjan, oh must have typoed that
01:09:46 <AnMaster> oerjan, you are right, but he worked a lot in Paris
01:10:44 <oerjan> you are still on positive karma for knowing Grieg was norwegian ;D
01:11:05 <AnMaster> oerjan, of course I know of him, and I love the Peer Gynt suites
01:11:29 <AnMaster> and some of his other music, don't remember the opus numbers/names off hand
01:11:43 <flexo> metal being the contiuation of classical music i suppose i'm allowed to hear that
01:11:45 <oerjan> ah yes i remember a previous discussion
01:11:49 <AnMaster> oerjan, what I *don't* like is that Sigurd Jolsefar(sp?) march he made
01:12:07 <AnMaster> oerjan, "Från Hollbergs tid" is nice, again that is probably a Swedishism
01:12:14 <oerjan> flexo: NO! metal should be banned! it is a method of torture!
01:13:15 <AnMaster> oerjan, anyway, Grieg is IMO one of the all time best, together with Vivaldi, Händel and Mozart
01:13:33 <AnMaster> Haydn and Delius are both near the top too
01:13:57 * oerjan should point out he is no expert
01:14:07 <AnMaster> oerjan, oh? what do you listen to then?
01:14:27 <oerjan> i nearly never play music myself
01:14:41 <AnMaster> also I plan to do like the US does, they declare something "terrorism" or "unamerican"
01:15:36 <AnMaster> I now declare all rock, metal, rap and country western music to be terrorism and a threat to the world. It is also Unanmasterian
01:15:56 <AnMaster> Lets declare war on rock, metal, rap and country western!
01:16:09 <oerjan> oh and it's Jorsalfar, the man that is, don't know about the piece
01:16:30 <AnMaster> oerjan, I think it is the same, since it is about him
01:16:39 <oerjan> wait a minute i _do_ like rock and country
01:16:48 <AnMaster> oh also rock, metal, rap and country western are now declared to no longer be music
01:17:15 <oerjan> and a few raps, and maybe a couple metals even
01:17:25 <AnMaster> <oerjan> flexo: NO! metal should be banned! it is a method of torture!
01:17:34 <oerjan> that is almost certainly true, although not for that reason
01:17:49 <oerjan> no, but there are always a couple of exceptions to everything :D
01:19:17 <AnMaster> oerjan, anyway it is weird Germany produced so many famous composers
01:19:24 <oerjan> sorry, the green goblin behind my ear says i may not answer that
01:19:40 <AnMaster> that just made *no* sense whatsoever
01:19:41 <oerjan> <AnMaster> oerjan, what reason then?
01:20:29 <oerjan> <oerjan> that is almost certainly true, although not for that reason
01:20:37 <oerjan> <AnMaster> oerjan, you need therapy
01:20:58 <AnMaster> oerjan, now throw away the goblin and answer the question
01:21:27 <AnMaster> <oerjan> wait a minute i _do_ like rock and country
01:21:32 <AnMaster> <AnMaster> oh also rock, metal, rap and country western are now declared to no longer be music
01:21:32 <AnMaster> <AnMaster> oerjan, what? really?
01:21:32 <AnMaster> <AnMaster> oerjan, you need therapy
01:21:32 <AnMaster> <oerjan> and a few raps, and maybe a couple metals even
01:21:33 <AnMaster> <AnMaster> <oerjan> flexo: NO! metal should be banned! it is a method of torture!
01:21:39 <AnMaster> <AnMaster> you said it yourself
01:21:40 <AnMaster> <oerjan> that is almost certainly true, although not for that reason
01:21:41 <AnMaster> <AnMaster> oerjan, what reason then?
01:22:04 <oerjan> no, i just don't type fast
01:22:22 <oerjan> or think fast for that matter
01:23:57 <oerjan> but basically don't assume i'm answering the _last_ thing you say when you keep saying several things in a row...
01:25:13 <oerjan> oh and maybe metal shouldn't be totally banned but there should be some obligatory sound-proofing there... :D
01:27:17 <oerjan> <flexo> just drank out of my ashtray
01:28:24 <flexo> doesn't taste good
01:28:42 <flexo> the problem is, that cuba libre has the same color was water and cigarettes
01:30:08 <AnMaster> flexo, possible solutions: a) Check shape of object before moving to mouth b) stop smoking c) stop drinking alcohol d) stop smoking and stop drinking alcohol e) Both a and d
01:30:55 <flexo> that's why i have a nicotine patch on my arm
01:30:57 * oerjan suggests (d), just because
01:31:11 <flexo> (because i'm in the process of quitting)
01:31:15 <flexo> but i'm drinking, so
01:31:31 <AnMaster> flexo, what about others too? Think of people with asthma. Smokers are a pain to us
01:31:42 <AnMaster> cause issues as soon as you are outside
01:31:47 <oerjan> ah, new year resolution?
01:31:57 <flexo> oerjan: no, my wisdom teeth got ripped out a few days ago
01:32:07 <flexo> bought the patches to overcome the days i was not allowed to smoke
01:32:18 <flexo> then decided to quit smoking completly
01:32:25 <flexo> that's why i have that patch on my arm right now
01:32:31 <flexo> but today i started smoking again
01:32:34 <flexo> and the patch is still there
01:32:39 <flexo> i suppose that's even better
01:32:59 <flexo> yea well. i'm addicted.
01:33:00 <AnMaster> flexo, it will solve both b and the actual issue
01:33:14 <AnMaster> flexo, go somewhere where there are no cigarettes
01:33:19 <oerjan> actually i recall smelling the ashtray has been suggested for helping to quit
01:33:23 <flexo> i doubt there is such a place
01:33:31 <oerjan> tasting should be even better, no?
01:33:33 <flexo> oerjan: drinking it doesn't so i don't buy it
01:33:39 <AnMaster> flexo, what about north Canada?
01:33:41 -!- Sgeo has joined.
01:33:45 <flexo> AnMaster: way too cold i think
01:34:05 <AnMaster> flexo, Ok... Australian outback and 500 km to the next human?
01:34:18 <flexo> yea, that sounds more like it
01:34:40 <flexo> me living in germany and all
01:34:53 <AnMaster> flexo, in Europe you'll have a hard time
01:34:57 <flexo> a little warmer than munich would be nice though
01:35:21 <oerjan> a place with nice temperature and humidity where no one actually lives - yeah right :D
01:35:51 <AnMaster> oerjan, may exist if it is 1) small 2) hard to reach or inconvenient in some other way
01:35:58 <flexo> electricity and internet connectivity (say gprs coverage) would be nice too
01:36:09 <oerjan> mountains are usually cold
01:36:12 <AnMaster> flexo, then you are out of luck
01:36:24 <flexo> no way around smoking
01:36:28 <AnMaster> oerjan, well but if you go near enough to the equator you offset that
01:36:55 <flexo> probably a genetic issue tue.
01:36:57 <AnMaster> flexo, stop drinking then instead?
01:37:04 <AnMaster> flexo, why did you start at all?
01:37:15 <flexo> oh, that's a funny story
01:37:21 <AnMaster> flexo, and get professional help
01:37:26 <flexo> you know, i spent some time in a mental hospital when i was 16yo
01:37:34 <flexo> as i was 16 i was allowed to smoke
01:37:40 <flexo> but the 14 and 15yo's were not
01:37:47 <flexo> so i had to go with a cigarette for fire
01:37:58 <flexo> because you know, you are now allowed to have a lighter in closed mental hospital
01:38:02 <flexo> could set yourself on fire
01:38:20 <AnMaster> 1) why would you want a lighter at all?
01:38:28 <flexo> to light cigarettes?
01:38:32 <oerjan> in case he wanted to BURN something, silly
01:38:36 <flexo> the point is those 14yo and 15yos were smokers
01:38:49 <flexo> and they needed me to get the fire
01:38:55 <flexo> that's why i started smoking
01:39:29 <flexo> that's the actual term
01:39:34 <flexo> they needed me to get the "blaze"
01:39:46 <flexo> you know, as in a lit cigarette, so you can pass the blaze?
01:40:27 <flexo> i've been a chainsmoker ever since
01:40:36 <flexo> tried to quit a couple of times
01:40:49 <flexo> but i suppose that was to be expected
01:40:58 <flexo> people with depressions often smoke
01:41:06 <flexo> and actually they are not advised to stop
01:41:13 <flexo> because it causes a serotonine drop
01:41:30 <Sgeo> Yesterday's Mezzacotta was pretty good imo
01:41:30 <oerjan> good i never stopped smoking then
01:41:35 <oerjan> even better i never started
01:41:49 <AnMaster> you mean... because they would live longer and cause more expenses for the country?
01:41:57 <AnMaster> flexo, that is the real reason
01:42:12 <oerjan> mezzacotta now has _four_ comics on it
01:42:25 <flexo> AnMaster: i suppose that's a joke, because although you might have an argument there, it's someone messed up
01:42:28 <oerjan> well, for a certain definition of comics
01:42:48 <AnMaster> flexo, well since it is for someone messed up it may be somewhat messed up?
01:42:55 <AnMaster> oerjan, I don't count invalid link that
01:43:06 <flexo> the medical costs of smoking-related diseases outweight the care for the few years we live shorter
01:43:10 <oerjan> Comments on a Postcard, Lightning Made of Owls, and Square root of minus Garfield
01:43:38 <flexo> those people with ps
01:44:00 <flexo> crazy people, right
01:44:02 <Corun> Imaginary Garfield Squared = minus garfield = minus train station field = MINOTAUR TRAINING FIELD
01:44:13 <AnMaster> oerjan, "Square root of minus Garfield"?
01:44:23 <Sgeo> Is Prevx CSI a good anti-rootkit?
01:44:38 <flexo> so. crazy people who manage to end up so old that they are actually reaching the avg. life expentency (sp! :) for smokers are probably not an issue after all
01:44:44 <Corun> Please tell me it's minotaurs
01:45:08 <flexo> (my reasoning over there is seriously flawed and makes no sense)
01:45:54 <flexo> oerjan: did you ask me why my wisdom teeth were pulled out?
01:46:04 <oerjan> AnMaster: it's sort of various variations of Garfield
01:46:58 <oerjan> all of the new comics are collaborative, so there is a lot of variation
01:46:59 <flexo> i think the alcohol is beginning to .. a.. e.. a.. ... hm.. *ffect me.
01:47:19 <flexo> why? explain it me please.
01:47:21 <flexo> i think i never got it.
01:47:46 <oerjan> effect is not a verb much
01:48:14 <oerjan> much = covering my ass in case i'm wrong
01:48:20 <flexo> it's always affect then?
01:48:25 <flexo> i thought they both have a different meaning
01:48:39 <oerjan> actually you might be able to effect a change
01:48:42 <flexo> a similar, but different one
01:49:32 <flexo> writing and reading english is getting harder and harder
01:49:42 <flexo> i'm rather drunk now
01:49:50 <oerjan> to affect is to influence, more or less
01:49:56 <flexo> you know, i'd so much like to go on babbeling in german instead
01:49:58 <oerjan> while effect would be to cause
01:50:08 <flexo> so both verbs exist actually?
01:50:35 <oerjan> i'm pulling this out of thin air. read a dictionary for official explanations :D
01:50:48 <flexo> i'm fine with that
01:50:54 <flexo> won't remember a thing tomorrow anyway
01:50:57 <oerjan> (doesn't mean it's wrong though, just based on my intuition)
01:51:22 <flexo> i think i've passed way beyong the ballmer peak by now :/
01:51:24 <oerjan> more chocolate mocha beans ->
01:51:42 <flexo> so no coding tonight
01:52:05 <oerjan> it seems i have picked up an addiction to them over christmas
01:52:43 <flexo> i just figured that i'm way too drunk to "type" with the stylus on my smartphone thingie
01:53:01 <flexo> no drunk-sms-sending then :/
01:53:45 -!- KingOfKarlsruhe has quit (Remote closed the connection).
01:57:08 <oerjan> <flexo> you know, i'd so much like to go on babbeling in german instead
01:57:37 <oerjan> Deutschbabbelung ist am strengsten verboten. Bitte kein gefingerpoken!
02:00:25 <oerjan> IWC still has those bandwidth problems it seems
02:06:00 -!- Corun has changed nick to OneSadCookie.
02:07:38 <oerjan> OneSadCookie: i don't think there are any minotaurs in Square root of minus Garfield yet, but you are of course free to send in a strip suggestion with one, it is a collaborative comic after all :D
02:08:04 -!- OneSadCookie has changed nick to Corun.
02:09:26 <oerjan> just make it clear which one is the dinner
02:13:52 <AnMaster> oerjan, "Square root of minus Garfield" rocks
02:19:43 <oerjan> http://www.mezzacotta.net/garfield/
02:20:21 <oerjan> the last one is not one of the best, though
02:27:26 * Sgeo suddenly wants to take the color average of every strip he knows of
02:29:06 <oerjan> i don't know if it would work as well as with garfield though
02:29:49 <oerjan> it really brings out how unimaginative garfield's drawing is
02:30:19 * oerjan guesses that was a spoiler, of sorts
02:30:20 <Sgeo> What's with Garfield being a number?
02:30:31 <oerjan> Garfield divided by Garfield
02:31:33 <oerjan> recall this whole series was inspired by Garfield minus Garfield, another parody
02:31:51 <Sgeo> http://www.mezzacotta.net/garfield/?comic=14 is pretty cool
02:36:24 <Sgeo> http://www.mezzacotta.net/garfield/?comic=8 "And there was no cheating".. changing the words isn't cheating?
02:38:02 <oerjan> i think it means the choice of strips was really random
02:39:47 <Sgeo> http://www.mezzacotta.net/garfield/?comic=5 the original for the events actually made me laugh
02:40:01 <Sgeo> That sqrt(-garfield) didn't
02:41:20 * Sgeo wtfs at http://www.mezzacotta.net/garfield/?comic=4
02:41:51 <oerjan> you have to have read Dinosaur Comics a bit to get the point of 5 i think
02:42:16 <AnMaster> http://www.mezzacotta.net/garfield/?comic=4 makes perfect sense
02:42:36 <AnMaster> and I don't read Dinosaur Comics
02:43:04 <AnMaster> oerjan, also I'm waiting for the "this is some character art I have been working on"
02:43:33 <AnMaster> oerjan, irregular made parodies of both
02:43:39 * oerjan doesn't get the first one
02:44:00 <AnMaster> anyway it was funny in irregular
02:45:37 <flexo> i managed to use my phone after all
02:45:48 <Sgeo> AnMaster, When I said I WTF at 4, I meant at the original Garfield
02:46:09 <flexo> got me a chick for 24.-25.
02:46:38 <AnMaster> what is the message in http://www.mezzacotta.net/garfield/?comic=17 ?, irregular forum says there is a real message in that
02:47:05 <oerjan> it was something boring though
02:47:10 <AnMaster> oerjan, I don't know what the original comic was
02:47:35 <AnMaster> so this is effectively a one-time-pad style crypto for me
02:47:37 <oerjan> i found it by searching for things with clown in them
02:49:29 <oerjan> hm right google wasn't much help, had to find a garfield site with text search
02:51:00 <oerjan> http://garfield.nfshost.com/?s=clown+shirt
02:51:23 <oerjan> (it was easier this time since i remembered the word "shirt" was in it :D)
02:52:46 <AnMaster> I wonder if they will do that theme again?
02:53:25 <oerjan> incidentally i _did_ manage to get the small part with "garfield" and "hmmmm" without knowing the original strip
02:53:43 <oerjan> (was easy to guess the first, and then the second fell out)
02:54:01 <oerjan> i'm sure someone with more experience could have done most of it
02:55:45 * oerjan used haskell, naturally ;D
03:00:09 <AnMaster> oerjan, is this diff mod length of alphabet?
03:01:00 <oerjan> you have to rotate, naturally
03:01:45 <AnMaster> oerjan, what is the length of the English alphabet now again?
03:02:07 <oerjan> recall that rot-13 is exactly half
03:02:18 <oerjan> that's why it's self-inverse
03:03:14 <lament> OOOOOOOOOOH that's why.
03:04:13 <AnMaster> 8> io:format("~s~n", [garfield_code:decrypt("Notice anything different about me, Garfield?", "WBMXUW ZWSQIBBV XFUXYZDCO SGUAI EY, APVKLTPI?")]).
03:04:13 <AnMaster> ^S^O^R^R^Z^Y ^T^W^A^S^N^O^Z^T^W^O^R^T^H^Y^O^U^Z^R^E^F^F^O^Z^R^T^Z^Z^T^O^D^E^C^O^D^E^Z
03:04:29 <AnMaster> oerjan, is this not ascii value at the end?
03:06:07 <Sgeo> What's the ^Zs?
03:06:16 <oerjan> you need to add 64 or 96 to get it alphabetic, and the non-letters are just junk
03:06:58 <AnMaster> oerjan, oerjan interesting the escape codes almost match,...
03:07:00 <AnMaster> "IMSORRZYITWASNOZTWORTHYOUZREFFOZRTZZTODECODEZ"
03:07:32 <oerjan> that's because control-codes 0-31 are printed as ^+ corresponding letter
03:08:24 <AnMaster> 17> io:format("~p~n", [garfield_code:decrypt("Notice anything different about me, Garfield?", "WBMXUW ZWSQIBBV XFUXYZDCO SGUAI EY, APVKLTPI?")]).
03:08:24 <AnMaster> "IMSORR YITWASNO TWORTHYOU REFFO RT, TODECODE?"
03:08:25 <oerjan> ^Z corresponds to when you have equal codes in the texts, which happens for the non-letters
03:09:05 <oerjan> i _told_ you it was a boring text :D
03:10:51 * oerjan still doesn't get what iwc comic AnMaster connects with "this is some character art I have been working on"
03:11:06 <oerjan> and i've looked through most of the misc parodies now
03:11:34 <oerjan> nor do i recall the original comic
03:12:28 <oerjan> ok i started a bit into it
03:12:38 * oerjan goes backwards in misc
03:13:26 <oerjan> bah IWC has trouble again
03:13:42 <Sgeo> Is Mezzacotta down?
03:13:57 <oerjan> i don't think those are the same site
03:14:22 <Sgeo> Mezzacotta was being slow
03:14:22 <oerjan> i'm looking at Irregular Webcomic Archive
03:15:18 <AnMaster> "IM SORRY IT WAS NOT WORTH YOUR EFFORT TO DECODE THIS BUT YOU HAVE THE SATISFACTION OF KNOWING SOME THING THAT OTHERS DO NOT TAKE PRIDE IN THAT SIGNED THE GOON"
03:15:34 <AnMaster> Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'iwc.irregularwebcomic.net' (4) in /home/.bacidryer/dmmaus/iwc/comic.php on line 28
03:15:34 <AnMaster> A database error occurred. This should be temporary. Please try again later. Do not notify me about this - there's nothing I can do about it.
03:15:34 <AnMaster> Can't connect to MySQL server on 'iwc.irregularwebcomic.net' (4)
03:16:51 <oerjan> actually database errors have sometimes happened before. it may not be the bandwidth problem of late.
03:17:07 <AnMaster> oerjan, yet you claimed you couldn't find it?
03:17:36 <oerjan> i still cannot. 1463 you said?
03:18:08 <AnMaster> oerjan, I just pressed show previous 5 a few times, took me one minute to find after the website issues stopped
03:18:29 <oerjan> i didn't notice the text in the image before
03:19:00 <oerjan> no, my writing is _perferc_ i tell you!
03:19:22 <AnMaster> oerjan, I said reading, not writing
03:19:32 <oerjan> you fail at humor again
03:20:17 <oerjan> actually i did use next 5 so my search was excellent
03:20:32 <oerjan> no you don't. reject your sleep addiction!
03:56:02 <AnMaster> ehird, http://svn.python.org/view/python/trunk/Lib/antigravity.py?rev=66902&view=markup <-- :D
03:57:46 <AnMaster> Slereah, http://imgs.xkcd.com/blag/googlecopy.jpg
04:26:14 -!- Corun has quit ("This computer has gone to sleep").
05:06:36 -!- Sgeo has quit (Remote closed the connection).
05:35:25 -!- GreaseMonkey has joined.
07:12:52 <oklopol> AnMaster: flexo, what about others too? Think of people with asthma. Smokers are a pain to us <<< it's the other way around
07:28:20 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
07:28:37 -!- oklopol has joined.
07:42:50 <oklopol> http://www.mezzacotta.net/garfield/?comic=2 <<< i love it when he turns
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:11:11 -!- moozilla has joined.
08:11:14 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
08:11:20 -!- moozilla has changed nick to metazilla.
08:12:08 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
08:12:17 -!- moozilla has joined.
08:22:12 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
08:22:17 -!- moozilla has joined.
08:27:19 -!- KingOfKarlsruhe has joined.
08:39:43 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
08:41:22 -!- moozilla has joined.
08:54:22 -!- Mony has joined.
09:00:58 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
09:01:01 -!- moozilla has joined.
09:08:52 -!- GreaseMonkey has quit ("e disasterous.").
09:15:05 -!- oerjan has quit ("leaving").
09:20:59 -!- KingOfKarlsruhe has quit (Remote closed the connection).
09:21:00 -!- metazilla has joined.
09:21:07 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
09:21:14 -!- metazilla has changed nick to moozilla.
09:41:01 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
09:41:02 -!- metazilla has joined.
10:02:04 -!- olsner has joined.
10:12:25 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
10:12:27 -!- moozilla has joined.
10:13:30 -!- metazilla has joined.
10:13:38 -!- moozilla has quit (Nick collision from services.).
10:13:40 -!- metazilla has changed nick to moozilla.
10:16:33 -!- sebbu2 has quit (Read error: 113 (No route to host)).
10:20:09 <AnMaster> haha, this is just awesome, check the image text at the image near http://en.wikipedia.org/wiki/Randall_Munroe#Other_projects
10:23:22 -!- sebbu has joined.
10:44:06 -!- cherez has joined.
10:44:07 -!- cherez has quit (Remote closed the connection).
10:44:36 -!- cherez has joined.
10:44:36 -!- cherez has quit (Client Quit).
10:44:43 -!- cherez has joined.
10:44:57 -!- cherez has left (?).
11:08:41 -!- metazilla has joined.
11:08:41 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
11:08:49 -!- metazilla has changed nick to moozilla.
11:46:00 -!- sebbu2 has joined.
11:52:55 -!- sebbu3 has joined.
11:53:06 -!- sebbu has quit (Read error: 148 (No route to host)).
11:53:23 -!- sebbu3 has changed nick to sebbu.
12:02:59 -!- psygnisfive has quit (kornbluth.freenode.net irc.freenode.net).
12:03:01 -!- flexo has quit (kornbluth.freenode.net irc.freenode.net).
12:03:31 -!- psygnisfive has joined.
12:03:31 -!- flexo has joined.
12:05:09 -!- sebbu2 has quit (Connection timed out).
12:07:39 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
12:07:54 -!- moozilla has joined.
12:08:32 -!- metazilla has joined.
12:08:33 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
12:08:39 -!- metazilla has changed nick to moozilla.
12:09:34 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
12:09:38 -!- moozilla has joined.
12:10:32 -!- metazilla has joined.
12:10:32 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
12:10:39 -!- metazilla has changed nick to moozilla.
12:11:13 -!- metazilla has joined.
12:11:20 -!- moozilla has quit (Nick collision from services.).
12:11:57 -!- moozilla has joined.
12:11:57 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
12:12:04 -!- moozilla has changed nick to metazilla.
12:12:21 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
12:13:07 -!- moozilla has joined.
12:13:07 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
12:13:14 -!- moozilla has changed nick to metazilla.
12:13:42 -!- puzzlet has joined.
12:13:45 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
12:13:47 -!- moozilla has joined.
12:14:07 -!- metazilla has joined.
12:14:08 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
12:14:14 -!- metazilla has changed nick to moozilla.
12:17:39 -!- metazilla has joined.
12:17:39 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
12:17:45 -!- metazilla has changed nick to moozilla.
12:21:45 -!- seveninchbread has joined.
12:25:14 -!- CakeProphet has quit (Read error: 60 (Operation timed out)).
12:25:27 -!- seveninchbread has changed nick to CakeProphet.
12:38:09 <AnMaster> writing a program directly in llvm asm
13:17:35 -!- Hiato has joined.
13:23:10 -!- Corun has joined.
13:24:51 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
13:24:53 -!- metazilla has joined.
13:25:52 -!- moozilla has joined.
13:26:03 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
13:26:03 -!- moozilla has changed nick to metazilla.
13:27:17 -!- moozilla has joined.
13:27:17 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
13:27:28 -!- moozilla has changed nick to metazilla.
13:38:57 -!- moozilla has joined.
13:39:13 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
13:39:13 -!- moozilla has changed nick to metazilla.
13:41:40 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
13:41:50 -!- moozilla has joined.
13:51:24 -!- Hiato has quit ("Leaving.").
13:56:11 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
13:56:17 -!- moozilla has joined.
13:58:59 -!- metazilla has joined.
13:58:59 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
13:59:11 -!- metazilla has changed nick to moozilla.
14:13:55 -!- Corun has quit ("o no!").
14:16:25 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
14:16:32 -!- moozilla has joined.
14:18:57 -!- metazilla has joined.
14:19:06 -!- moozilla has quit (Nick collision from services.).
14:19:08 -!- metazilla has changed nick to moozilla.
14:22:30 <AnMaster> ehird, where is gcc-bf now when eso-std is down?
14:38:48 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
14:38:54 -!- moozilla has joined.
14:41:19 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
14:41:29 -!- moozilla has joined.
15:03:31 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
15:03:33 -!- metazilla has joined.
15:06:15 -!- moozilla has joined.
15:06:20 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
15:06:25 -!- moozilla has changed nick to metazilla.
15:17:01 -!- oerjan has joined.
15:18:18 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
15:18:24 -!- moozilla has joined.
15:19:51 -!- Corun has joined.
15:21:02 -!- metazilla has joined.
15:21:09 -!- moozilla has quit (Nick collision from services.).
15:21:13 -!- metazilla has changed nick to moozilla.
15:27:07 -!- Hiato has joined.
15:31:46 -!- puzzlet has quit (Remote closed the connection).
15:31:54 -!- puzzlet has joined.
15:36:07 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
15:36:08 -!- metazilla has joined.
15:38:32 -!- moozilla has joined.
15:38:32 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
15:38:41 -!- moozilla has changed nick to metazilla.
15:55:54 -!- moozilla has joined.
15:56:12 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
15:56:12 -!- moozilla has changed nick to metazilla.
15:58:08 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
15:58:13 -!- moozilla has joined.
16:05:54 -!- Hiato has quit ("Leaving.").
16:12:28 -!- puzzlet_ has joined.
16:16:40 -!- oerjan has quit ("leaving").
16:16:59 <flexo> AnMaster: no, no, you got me all wrong
16:17:08 <flexo> checking the shape wouldn't have helped me
16:17:15 <flexo> as i used a glass as an ashtray
16:17:19 <flexo> (a glass filled with water)
16:17:33 <AnMaster> flexo, you said it would have helped
16:17:47 <flexo> i thought you meant something like
16:17:58 <flexo> "check contents of glass for cigarettes before moving to mouth"
16:18:06 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
16:18:08 -!- metazilla has joined.
16:20:55 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
16:20:59 -!- moozilla has joined.
16:23:25 <ehird> 06:22:18 <AnMaster> hm
16:23:26 <ehird> 06:22:21 <AnMaster> sigh
16:23:27 <ehird> 06:22:30 <AnMaster> ehird, where is gcc-bf now when eso-std is down?
16:23:30 <ehird> ais523's harddrive
16:23:36 <ehird> until I get it back up
16:24:12 <AnMaster> ehird, I was working on making the fuzz test script for cfunge a bit more portable
16:24:15 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
16:27:34 <AnMaster> ehird, one thing that I will need, what are the exit codes on OS X for programs that end due to 1) SIGALRM 2) SIGSEGV 3) SIGABRT
16:27:51 <ehird> the same as BSD, almost certainly.
16:28:04 <AnMaster> ehird, hm ok. will check there then.
16:28:22 <ehird> 16:11:00 <flexo> alright
16:28:22 <ehird> 16:11:05 <flexo> i can feel it now
16:28:24 <ehird> 16:11:13 <flexo> the ballmer peak is
16:28:26 <ehird> 16:11:16 <flexo> approaching
16:28:28 <ehird> 16:11:38 <flexo> MUSIC!
16:28:30 <ehird> 16:22:29 <AnMaster> flexo, Mozart? Haydn? Händel?
16:28:32 <ehird> the best part is that you were absolutely serious :D
16:28:44 <AnMaster> ehird, and you fail at unicode
16:28:54 <ehird> just like they fail at UTC.
16:29:14 <AnMaster> ehird, what logs? your local logs or tunes logs?
16:29:28 <ehird> 16:28:44 <AnMaster> I do not wish to talk to you any more
16:29:39 <AnMaster> ehird, sadly I didn't manage to stop
16:30:06 -!- puzzlet_ has quit (Remote closed the connection).
16:30:14 -!- puzzlet has joined.
16:32:19 -!- metazilla has joined.
16:32:19 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
16:32:28 -!- metazilla has changed nick to moozilla.
16:34:48 -!- metazilla has joined.
16:34:50 -!- moozilla has quit (Nick collision from services.).
16:34:58 -!- metazilla has changed nick to moozilla.
16:40:59 <ehird> 17:36:33 <AnMaster> flexo, stop it
16:40:59 <ehird> 17:36:35 <AnMaster> just stop it
16:41:04 <ehird> I see you've never been addicted to anything, ever.
16:42:49 <AnMaster> ehird, hm the *bsd exit codes for signals are the same as the linux ones
16:43:15 <AnMaster> wonder if posix spec this? I haven't been able to find out, even though I _did_ RFTM
16:44:08 <flexo> whats a "signal exit code"?
16:44:31 <flexo> you mean the exitcode returned by the default signal handler of the libc?
16:45:52 <ehird> AnMaster: do you like the composition "Leck mich im Arsch" by Mozart? (http://en.wikipedia.org/wiki/Leck_mich_im_Arsch)
16:46:46 <AnMaster> ehird, I haven't listened to it, so I can't answer that
16:47:11 <ehird> AnMaster: ok, what about "Leck mir den Arsch fein recht schön sauber"? http://en.wikipedia.org/wiki/Leck_mir_den_Arsch_fein_recht_schön_sauber
16:48:17 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
16:48:18 -!- metazilla has joined.
16:48:28 <AnMaster> again I haven't listened to it, and checking the wikipedia article I notice "In 1988, Wolfgang Plath, an editor of the Bärenreiter Neue Mozart-Ausgabe (NMA), presented evidence that the composer of this piece, as well as K.234/382c, was in fact Wenzel Trnka von Krzowitz (1739-1791)."
16:49:16 <AnMaster> ehird, anyway are you trying to make some sort of point?
16:49:32 <AnMaster> I never claimed I like everything by some composer, or dislike everything
16:49:33 -!- KingOfKarlsruhe has joined.
16:50:33 -!- moozilla has joined.
16:50:33 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
16:50:41 -!- moozilla has changed nick to metazilla.
16:53:27 <AnMaster> Eine kleine Nachtmusik, Piano Sonata No. 11, Violin Concerto No. 1 are some examples I have listened to, and know I like
16:54:31 <AnMaster> there are more, but considering the great number of pieces he made, I hope you realise why I haven't (yet) listened to them all: http://en.wikipedia.org/wiki/List_of_compositions_by_Wolfgang_Amadeus_Mozart
16:54:55 <ehird> geeze that breeze is strong
17:06:24 -!- moozilla has joined.
17:06:24 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
17:06:31 -!- moozilla has changed nick to metazilla.
17:06:35 <ehird> The only way a lower number could be achieved would be:
17:06:37 <ehird> • for Kevin Bacon to dig up the remains of Paul Erdős, grind them up, drink them in a milkshake providing him with an Erdős-Bacon number of 0 (temporarily)
17:06:40 <ehird> -- Wikipedia, Erdos-Bacon number
17:07:58 * ehird adds a citation to the article itself
17:08:10 <ehird> yes. recursive citations.
17:08:43 -!- moozilla has joined.
17:08:44 <AnMaster> ehird, you realise this will be like division by zero for wikipedia? Same effect basically
17:08:54 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
17:08:55 -!- moozilla has changed nick to metazilla.
17:09:24 <AnMaster> ehird, you better take cover to avoid the falling debris(sp?)
17:10:35 * AnMaster imagines a movie about a post-catastrophe/post-wikipedia/post-civilisation/post-nuclear-war world
17:10:58 <ehird> Yeah. There are only about 500000000 of them.
17:11:27 <AnMaster> ehird, question is, which of those slash-separated things will people think is the single worst one?
17:11:39 <AnMaster> is post-wikipedia worse than post-nuclear-war or not?
17:11:41 <ehird> Well, 3 of them are identical.
17:12:04 <ehird> Nuclear war is a catastrophe and in context presumably you meant one that ended civilisation.
17:12:58 <AnMaster> ehird, well some editors on wikipedia would probably[citation needed] argue that the end of wikipedia is same as catastrophe but not same as nuclear war
17:13:12 <ehird> no, they probably wouldn't.
17:13:22 <AnMaster> well it would be fun if they did...
17:14:07 <ehird> i've been trying to nip this joke in the bud ever since I saw it coming :|
17:14:47 <AnMaster> ehird, well that is only because you hate me! *sob* [cue: anime-sized tears]
17:18:03 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
17:18:07 <AnMaster> the "signal return status the same on linux and *bsd" seems to be thanks to bash
17:18:13 <AnMaster> " The return value of a simple command is its exit status, or 128+n if the command is terminated by signal n."
17:18:32 <AnMaster> I'm not yet sure if that is true for posix shell too
17:19:51 -!- CakeProphet has joined.
17:20:16 <AnMaster> "The exit status of a command that terminated because it received a signal shall be reported as greater than 128."
17:26:53 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
17:26:59 -!- moozilla has joined.
17:29:24 -!- metazilla has joined.
17:29:27 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
17:29:32 -!- metazilla has changed nick to moozilla.
17:41:47 -!- KingOfKarlsruhe has quit (Remote closed the connection).
17:45:40 <AnMaster> ehird, question: does OS X have /dev/urandom?
17:45:57 <ehird> Is /dev/urandom not part of UNIX?
17:46:12 <AnMaster> ehird, well I wasn't sure and I couldn't find it in man page
17:49:35 <ehird> Highly doubtful that this has anything to do with unicode since web addresses do not support unicode and the changes are to a DLL which would have been written in c or c++.
17:49:48 <ehird> ^ Sufficient idiocy is indistinguishable from intelligence to the ignorant.
17:50:04 -!- metazilla has joined.
17:50:07 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
17:50:13 -!- metazilla has changed nick to moozilla.
17:52:24 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
17:52:26 -!- moozilla has joined.
18:04:17 -!- metazilla has joined.
18:04:27 -!- moozilla has quit (Nick collision from services.).
18:04:29 -!- metazilla has changed nick to moozilla.
18:05:26 -!- alex89ru has joined.
18:06:49 -!- metazilla has joined.
18:06:56 -!- moozilla has quit (Nick collision from services.).
18:07:00 -!- metazilla has changed nick to moozilla.
18:11:26 -!- GregorR has joined.
18:20:49 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
18:20:58 -!- moozilla has joined.
18:23:03 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
18:23:15 -!- moozilla has joined.
18:35:55 -!- KingOfKarlsruhe has joined.
18:39:29 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
18:39:39 -!- moozilla has joined.
18:42:00 -!- metazilla has joined.
18:42:00 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
18:42:08 -!- metazilla has changed nick to moozilla.
19:00:39 -!- metazilla has joined.
19:00:47 -!- moozilla has quit (Nick collision from services.).
19:00:51 -!- metazilla has changed nick to moozilla.
19:03:25 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
19:03:31 -!- moozilla has joined.
19:08:33 <ehird> What's the recommended parallel make amount?
19:19:19 -!- Corun has quit ("This computer has gone to sleep").
19:24:53 -!- metazilla has joined.
19:25:01 -!- moozilla has quit (Nick collision from services.).
19:25:07 -!- metazilla has changed nick to moozilla.
19:27:24 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
19:27:29 -!- moozilla has joined.
19:39:43 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
19:39:48 -!- moozilla has joined.
19:42:11 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
19:42:12 -!- metazilla has joined.
19:52:11 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:54:47 -!- flexo has quit (kornbluth.freenode.net irc.freenode.net).
19:54:47 -!- psygnisfive has quit (kornbluth.freenode.net irc.freenode.net).
19:55:44 -!- psygnisfive has joined.
19:55:44 -!- flexo has joined.
19:56:47 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
19:56:49 -!- moozilla has joined.
19:58:01 -!- psygnisfive has quit ("Leaving...").
19:58:28 -!- psygnisfive has joined.
19:59:21 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
19:59:23 -!- metazilla has joined.
19:59:54 -!- Corun has joined.
20:07:20 -!- dbc has joined.
20:16:17 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
20:16:26 -!- moozilla has joined.
20:18:14 <dbc> In case anyone has a boardgamegeek account, I have just produced an "Esoteric Language Programmer" microbadge.
20:18:18 <dbc> http://www.boardgamegeek.com/browse/microbadge/7285
20:19:02 -!- metazilla has joined.
20:19:09 -!- moozilla has quit (Nick collision from services.).
20:19:11 -!- metazilla has changed nick to moozilla.
20:38:48 -!- metazilla has joined.
20:38:56 -!- moozilla has quit (Nick collision from services.).
20:39:00 -!- metazilla has changed nick to moozilla.
20:41:27 -!- metazilla has joined.
20:41:34 -!- moozilla has quit (Nick collision from services.).
20:41:36 -!- metazilla has changed nick to moozilla.
20:53:46 -!- seveninchbread has joined.
21:01:00 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
21:03:40 -!- metazilla has joined.
21:03:48 -!- moozilla has quit (Nick collision from services.).
21:03:52 -!- metazilla has changed nick to moozilla.
21:06:15 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
21:06:17 -!- metazilla has joined.
21:18:35 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
21:18:36 -!- moozilla has joined.
21:21:04 -!- metazilla has joined.
21:21:08 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
21:21:14 -!- metazilla has changed nick to moozilla.
21:31:45 -!- CakeProphet has joined.
21:34:10 -!- Mony has quit ("Quit").
21:36:12 -!- metazilla has joined.
21:36:14 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
21:36:22 -!- metazilla has changed nick to moozilla.
21:38:20 <ehird> moozilla: ok, this _is_ ridiculous. fix your connection
21:38:47 -!- metazilla has joined.
21:38:51 -!- BeholdMyGlory has joined.
21:38:55 -!- moozilla has quit (Nick collision from services.).
21:38:57 -!- metazilla has changed nick to moozilla.
21:39:54 -!- seveninchbread has quit (Read error: 60 (Operation timed out)).
21:41:13 -!- FireFly has joined.
21:42:59 <oklopol> ehird: why are you assuming there's something wrong with his connection
21:43:08 <oklopol> could just be pressing the disco button repeatedly.
21:56:23 <olsner> oklopol: your answer is wholly dissatisfactory
21:56:24 -!- metazilla has joined.
21:56:32 -!- moozilla has quit (Nick collision from services.).
21:56:34 -!- metazilla has changed nick to moozilla.
21:56:43 <oklopol> olsner: well you know. /disco time
21:58:29 -!- metazilla has joined.
21:58:34 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
21:58:39 -!- metazilla has changed nick to moozilla.
21:58:59 <olsner> I don't think I do know
22:04:48 <ehird> olsner: disco = disconnect
22:05:34 <oklopol> ehird: good point, i guess i should've mentioned that in my explanation
22:18:32 -!- metazilla has joined.
22:18:39 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
22:18:44 -!- metazilla has changed nick to moozilla.
22:20:58 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
22:21:06 -!- moozilla has joined.
22:43:32 -!- metazilla has joined.
22:43:40 -!- moozilla has quit (Nick collision from services.).
22:43:44 -!- metazilla has changed nick to moozilla.
22:45:54 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
22:45:57 -!- moozilla has joined.
22:58:09 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
22:58:18 -!- moozilla has joined.
23:01:03 -!- metazilla has joined.
23:01:10 -!- moozilla has quit (Nick collision from services.).
23:01:14 -!- metazilla has changed nick to moozilla.
23:15:58 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
23:16:01 -!- moozilla has joined.
23:18:09 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
23:18:16 -!- moozilla has joined.
23:35:21 -!- Corun has quit ("This computer has gone to sleep").
23:35:28 -!- metazilla has joined.
23:35:35 -!- moozilla has quit (Nick collision from services.).
23:35:37 -!- metazilla has changed nick to moozilla.
23:37:23 -!- Corun has joined.
23:38:14 -!- metazilla has joined.
23:38:22 -!- moozilla has quit (Nick collision from services.).
23:38:24 -!- metazilla has changed nick to moozilla.
23:48:39 -!- dbc has quit (Read error: 110 (Connection timed out)).
23:58:07 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
23:58:12 -!- moozilla has joined.
00:00:39 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
00:00:51 -!- moozilla has joined.
00:08:47 -!- Corun has quit ("This computer has gone to sleep").
00:12:04 -!- Corun has joined.
00:12:18 -!- metazilla has joined.
00:12:19 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
00:12:29 -!- metazilla has changed nick to moozilla.
00:14:27 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
00:14:32 -!- moozilla has joined.
00:28:16 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
00:28:16 -!- metazilla has joined.
00:28:26 -!- metazilla has changed nick to moozilla.
00:30:23 -!- pikhq has quit (Read error: 60 (Operation timed out)).
00:30:43 -!- metazilla has joined.
00:30:50 -!- moozilla has quit (Nick collision from services.).
00:30:52 -!- metazilla has changed nick to moozilla.
00:45:58 -!- ehird has quit ("Caught sigterm, terminating...").
00:46:03 -!- ehird has joined.
00:46:42 -!- metazilla has joined.
00:46:50 -!- moozilla has quit (Nick collision from services.).
00:46:52 -!- metazilla has changed nick to moozilla.
00:47:53 -!- ehird has quit (Client Quit).
00:47:58 -!- ehird has joined.
00:49:05 -!- ehird has quit (Client Quit).
00:49:11 -!- ehird has joined.
00:49:14 -!- moozilla has quit (Connection reset by peer).
00:49:19 -!- metazilla has joined.
01:19:27 -!- alex89ru has quit ("Verlassend").
01:22:00 -!- oerjan has joined.
01:27:51 <oerjan> <ehird> AnMaster: do you like the composition "Leck mich im Arsch" by Mozart? (http://en.wikipedia.org/wiki/Leck_mich_im_Arsch)
01:36:17 <oerjan> <oklopol> ehird: good point, i guess i should've mentioned that in my explanation
01:36:26 <oerjan> yes. those swedes can be a little dense.
01:37:57 <oerjan> ouch, so that's the new google favicon you were talking about
01:39:17 <oerjan> i think it is time to resurrect the old term "sildesalat", used by norwegians to dis the mashup in the corner of the norwegian/swedish union flag
01:40:02 <oerjan> (means "herring salad")
01:57:21 <Asztal> "Leck mir den Arsch fein recht schön sauber" ("Lick my arse nice and clean", K233; K382d in the revised numbering)
01:58:06 <lament> mozart is the weirdest great composer
01:59:30 <lament> not only he was a clown and a jackass
01:59:34 <lament> but his music often sucks
02:03:36 -!- GreaseMonkey has joined.
02:05:24 <FireFly> I'm not the only one hating googles new favicon?
02:07:10 <oerjan> "hating" may be a bit strong
02:07:27 <oerjan> but it looks like something that belongs in a kindergarten, not a search engine
02:07:37 <FireFly> Well, to me it looks like the old blue one, but inverted and with odd colors
02:07:44 <FireFly> At first I didn't spot the g :\
02:07:56 <FireFly> Looked like a jigsaw puzzle to me
02:18:06 <Asztal> I liked the old one because it wasn't terribly different from the blank tab icon
02:46:02 -!- Corun has quit (Remote closed the connection).
02:46:17 -!- Corun has joined.
02:50:36 -!- BeholdMyGlory has left (?).
02:50:48 -!- FireFly has quit ("Later").
03:25:50 -!- sebbu2 has joined.
03:33:05 -!- Corun has quit ("This computer has gone to sleep").
03:43:16 -!- sebbu has quit (Read error: 110 (Connection timed out)).
03:54:13 -!- oerjan has quit ("leaving").
05:38:17 -!- pikhq has joined.
07:15:42 -!- dbc has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:50 <AnMaster> <oerjan> but it looks like something that belongs in a kindergarten, not a search engine <-- perfect summary
08:24:51 <Slereah> Yeah, that will totally stop you from using it
08:38:49 -!- GreaseMonkey has quit ("e disasterous.").
08:39:01 <psygnisfive> <NoorulIslaam> They are vaginal inserts that help female and transsexual mountaineers gain an additional foothold while climbing in tricky spots.
08:40:40 <Slereah> I'm pretty sure no one else would bother to make the addition.
08:40:55 <Slereah> It's like how only hackers differentiate hacker from cracker.
09:08:09 <AnMaster> ehird, I committed the more portable fuzz testing script, it is in last trunk.
09:08:18 <AnMaster> ehird, hopefully it should work on OS X too
09:29:02 <fungot> oklopol: ut austin too, not surprisingly though. ;p fnord/ fnord/ posse/ fnord/ esoteric not found
09:50:14 -!- metazilla has changed nick to moozilla.
10:01:25 -!- Mony has joined.
10:17:31 <psygnisfive> a Miranda-family language with deep pattern matching/unification
10:17:47 <psygnisfive> consider the fuctional palindrome function:
10:18:33 <psygnisfive> palindrome [x] ++ xs ++ [x] = palindrome xs
10:31:07 -!- metazilla has joined.
10:31:07 -!- moozilla has quit (Connection reset by peer).
10:31:14 -!- metazilla has changed nick to moozilla.
10:32:04 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
10:32:11 -!- moozilla has joined.
10:59:30 <psygnisfive> only instead of doing it like haskell does it
11:20:54 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
11:20:57 -!- moozilla has joined.
11:30:59 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
11:31:02 -!- moozilla has joined.
11:31:40 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
11:31:41 -!- metazilla has joined.
11:41:57 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
11:42:01 -!- moozilla has joined.
11:47:51 <AnMaster> psygnisfive, "Miranda-family"?
11:57:40 <AnMaster> psygnisfive, can't find it on the esolang wiki
11:58:10 <Slereah> http://en.wikipedia.org/wiki/Miranda_(programming_language)
11:59:11 -!- sebbu2 has changed nick to sebbu.
11:59:31 <AnMaster> anyone know if it is possible to get the esolang wiki in the search box in firefox? Like you can get wikipedia there
11:59:55 * AnMaster don't know how those plugin things for search actually work
12:00:47 -!- Slereah has set topic: eat your face | man | http://tunes.org/~nef/logs/esoteric/.
12:01:06 <AnMaster> Slereah, what was the old topic?
12:01:19 <Slereah> AnMaster : Click on the icon of the search box while you're on the esowiki
12:01:26 <Slereah> Click on "add esowiki" something
12:02:00 <AnMaster> so how does it know how to search on it?
12:02:29 <AnMaster> I mean, there must be some tag in the html code or something
12:02:56 <AnMaster> <link rel="search" type="application/opensearchdescription+xml" href="/w/opensearch_desc.php" title="Esolang (English)" />
12:40:20 -!- Hiato has joined.
12:41:05 * Hiato wonders if anyone knows any NASM
12:44:52 -!- metazilla has joined.
12:44:57 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
12:45:01 -!- metazilla has changed nick to moozilla.
12:47:20 <Hiato> yug, okay, let me be more straight forwards: I'm struggling with an int to str routine for my kernel in nasm, can anyone possibly lend a hand
13:09:44 <Deewiant> write one in C, compile it with gcc -S, and copy it over? :-P
13:12:53 <flexo> i wrote a very neat algorithm for that a while ago
13:13:10 <flexo> have fun figuring it out
13:13:31 <flexo> (that "aad 0x31" is that undefined opcode thingie, but it works fine)
13:14:10 <flexo> this routine (obviously) converts the low nibble in AL to an ascii character in AL, hexadecimal
13:14:44 <flexo> the #asm people told me that was the worst abuse of the x86 ISA they'd ever seen
13:14:49 <flexo> i'm rather proud of it
13:14:56 <flexo> it's 1 byte shorter than the trivial version too
13:15:45 <flexo> oh and i rely on some undocumented flag behaviour too
13:15:53 <flexo> but i tested it on a couple of different cpus
13:16:45 <flexo> note that in 32bit code you'll need to 32bit-prefix that cbw, which results in more one byte - no gain there, but it still works
13:17:21 <flexo> unless you can ensure that AH is zeroed out - in that case you'll even be two (yes, TWO!) bytes shorter than the trivial algorithm
13:17:54 <flexo> if you know that AF is geing to be cleared on entry you can also leave the SAHF
13:18:25 <flexo> which makes this a 3-opcode algorithm, containing all mnemonics starting with an "a"
13:18:29 <flexo> personally, i like that
13:19:00 <flexo> it's even alphabetically sorted
13:19:11 <flexo> this is so beautiful code
13:20:40 <flexo> the mnemonics also contain only hexadecimal digits
13:20:51 <flexo> which kinda documents the purpose of that code
13:21:02 <flexo> oh my god. i'm so good.
13:23:17 <Hiato> okay, where were we
13:23:33 <flexo> i just answered your question
13:23:55 <Hiato> I have a sort of algorithm, I just have no idea how to continually add to a string/pointer thingy
13:24:14 <Hiato> Well, thing is, this is in 16bit (for starters)
13:24:18 <flexo> can't help you there
13:24:29 <flexo> i only know how to convert a nibble to hexadecimal
13:25:27 <flexo> i've a suggestion to make
13:25:35 <flexo> and you describe your problem?
13:26:09 <Hiato> Okay, I can (like any fool) divide and mod a number by ten to receive it's digits in reverse order.
13:26:21 <Hiato> I can easily reverse them with push and pop
13:26:29 <Hiato> But, the thing is, I can only handle them one at a time
13:26:32 <Hiato> http://rafb.net/p/5kF2ie38.html
13:26:40 <Hiato> here is the procedure to print an int
13:27:07 <flexo> well.. what's the problem with that?
13:27:15 <Hiato> the idea would be to mees with mov [.variable],dx so as to store them
13:27:28 <Hiato> In summary, how does one work a running buffer
13:27:47 <flexo> by.. dereferencing?
13:28:05 <flexo> by keeping a counter of the length?
13:28:05 <Hiato> er? I am, regrettably, totally self taught here
13:28:15 <flexo> i'm not sure what you mean..
13:28:24 <flexo> unless you are talking about where you get the actual memory for the buffer
13:28:26 <Hiato> would work, but the thing is, I have no idea how. Okay, let me show you what I had
13:29:04 <Hiato> http://rafb.net/p/rlJpoG44.html
13:29:27 <Hiato> it's ok(ish) until 25
13:29:37 <Hiato> where I would normally print it, I try to somehow store it
13:30:07 <flexo> ofcourse this doesn't work
13:30:34 <flexo> you only reserved 4 bytes of memory - even if the code would work, where would you store the digits?
13:30:46 <Hiato> Well, I have no idea
13:30:56 <Hiato> Thing is, I work in psuedo-code, and then try and translate
13:30:59 <flexo> ".t" becomes the address of that word
13:31:02 <Hiato> please, forgive my ignorance
13:31:18 <flexo> mov [.t], ... stores something at that address - in that word
13:31:33 <Hiato> yeah, that's the idea there. So at least the concept is right
13:31:36 <flexo> and "inc .t" should really not assemble, because .t is a constant. can't increment that.
13:31:46 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
13:31:48 <Hiato> yaeh, it doesn't :P
13:31:49 -!- metazilla has joined.
13:31:58 <flexo> just use a register
13:32:07 <Hiato> I figured that if I had a pointer, say .t, I could then increase it and store bytes along that addres chain
13:32:17 -!- moozilla has joined.
13:32:18 <flexo> .l1: mov [edi], whatw
13:32:23 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
13:32:25 -!- moozilla has changed nick to metazilla.
13:33:18 <flexo> ofcourse your buffer needs to be larger
13:33:25 <Hiato> yeah, using db now
13:33:27 <flexo> because a 32-bit integer can span more than 4 digits
13:33:39 <flexo> uhm.. using db won't make a difference..
13:34:03 <Hiato> oh? Well, there we are, another of my consiparcy theories out the window. Double word vs Double byte, no?
13:34:22 <flexo> define word, define byte
13:34:50 <flexo> cmp is unnecessary, dec sets ZF
13:34:56 <flexo> cmpax,0 ;is quotient zero?
13:34:56 <flexo> jnz.push ;if not, get one more number
13:35:03 <flexo> do "test ax, ax" instead of the cmp. it's more cool.
13:35:17 <Hiato> Ok, thanks, and lol, will do :P
13:35:21 <flexo> that'd be xor cx, cx ofcourse
13:35:33 <Hiato> yaeh, it started that way, but I got worried (don't know why)
13:35:34 <flexo> (watch out, you need to reorder the cmpm)
13:36:24 <flexo> no need for the jmp
13:36:32 -!- puzzlet has quit (Remote closed the connection).
13:36:39 -!- puzzlet has joined.
13:37:01 <flexo> same here ofcourse
13:37:30 <Hiato> Hrmm, okay, thanks
13:37:40 <Hiato> let's press the big button now :P
13:37:42 <flexo> i'm not so sure that cmp works even, the way you do it
13:37:58 <flexo> ah well. nevermind. should work. still it's...
13:38:02 <flexo> cmpax,0 ;is quotient zero?
13:38:02 <flexo> jnz.push ;if not, get one more number
13:38:25 <flexo> you do "if (ax - 0 == 0)"
13:38:25 <flexo> that's kinda redundant
13:38:26 <flexo> just do test ax, ax
13:39:00 <Hiato> http://rafb.net/p/Fb3MGr38.html
13:39:09 <Hiato> I think that covered all of what you suggested
13:39:34 <flexo> should move out of the loop bode
13:39:42 <flexo> you don't want to reset your pointer each iteration
13:39:48 <flexo> also "db 0" will give you just 1 byte
13:39:49 <Hiato> aha, ok, so to prepop
13:40:00 <Hiato> okay, so what should I set?
13:40:11 <flexo> 14:32 < Hiato> okay, so what should I set?
13:40:19 <flexo> i don't know, how many digits can a 32bit integer have?
13:40:58 <flexo> replace 64 by.. some number
13:41:50 <Hiato> well, signed, it can only have 2^63/3.xx I think (log10/log2)
13:42:37 <MizardX> 2^64-1 = 18446744073709552000 ... 10
13:42:47 <flexo> this is 16 bit code
13:42:58 <flexo> that means 5 digits.
13:43:34 <Hiato> okay ... and so in asm we write?
13:44:20 <Hiato> Oh yeah :D, it compiled :D
13:44:29 <flexo> assembled, actually
13:44:38 <Hiato> no idea if it's going to do the right thing, but let's see
13:45:57 <Hiato> hrmm.. well spotted
13:46:25 <Hiato> http://rafb.net/p/B80qat21.html
13:46:33 <Hiato> is this what I'm looking for then?
13:46:51 <Hiato> (hell, I really need to learn some asm)
13:48:09 <flexo> should work. i think :)
13:48:34 <flexo> again, it's somewhat shorter
13:48:39 <flexo> because there is no "0" immediate to encode
13:49:29 <flexo> push 2Dh ;- in ASCII
13:49:36 <flexo> ^ you also need to increment the counter there
13:49:47 -!- Corun has joined.
13:49:56 <flexo> or it won't print/store the sign
13:50:00 <flexo> and mess up your stack
13:51:07 <Hiato> Okay, well, thank you very much so far, been a great help (this would have taken me days if not weeks)
13:51:26 <flexo> hey hey.. does it work? ;)
13:51:32 <Hiato> THing is, I have no idea what it's now returning, seems to assemble just fine, and runs, but I don't print anything
13:51:47 <Hiato> I've confused myself, what's this: mov word bx,[.t]
13:52:04 <Hiato> it's moving the address of .t to bx, right?
13:52:19 <flexo> it moves the first word stores there
13:52:32 <flexo> also you should really (really) use ax to return values
13:52:45 <flexo> so that'd be mov ax, .t
13:52:52 <flexo> you need to nul-terminate that string
13:52:57 <flexo> unless you won't know where it ends
13:53:11 <Hiato> aha, thank you, probably why he print proc doesn't like it
13:53:43 <flexo> that "mov word" looks strange too
13:53:47 <flexo> (besides being wrong)
13:53:51 <Hiato> http://rafb.net/p/IOuNyM17.html
13:53:58 <flexo> this "word" there is redundant
13:54:04 <Hiato> okay, this should be alright, right?
13:54:05 <flexo> nasm always defaults to the register size
13:54:09 <Hiato> okay, noted, thanks :)
13:54:14 <flexo> you only need to specify the type if you do something like
13:54:29 <flexo> in which case you'd put it on the right side
13:54:31 <Hiato> ooooh, I see I see
13:55:03 <flexo> push 2Dh ;- in ASCII
13:55:16 <Hiato> arg blarg, ok, thanks
13:55:27 <flexo> it won't work that way
13:55:33 <flexo> because the order is reversedf
13:55:59 <flexo> you *should* increase edi
13:56:14 <flexo> mov byte [.t], 0x2d
13:56:26 <flexo> also you can just specify '-' instead of 0x2d
13:57:09 <flexo> now build a small loop going over the characters and print
13:57:12 <flexo> i wanna know if it works too ;)
13:57:38 <Hiato> Unfortunately, no, it didn't.. Oh, wait, still haven't zero terminated it
13:58:01 <flexo> well, in that case you should get some messed up output after the number
13:58:05 <flexo> it should still work though
13:58:40 <Hiato> nope, no output at all
13:58:59 <flexo> let's see. give it me.
13:58:59 <Hiato> anything wrong here? mov dx,123
13:59:26 <flexo> i don't know if k_scr_sprint works? ;)
13:59:31 <flexo> but show me that int_tostr again
14:00:30 <Hiato> http://rafb.net/p/w7PgD996.html
14:00:42 <Hiato> that's all of the relevant code
14:01:07 <Hiato> interrupt for printing :)
14:01:21 <flexo> okay, give me a minute
14:01:49 <flexo> because you need to return the address
14:01:58 <Hiato> oh, not the byte itself... aha
14:02:10 <flexo> the word, actually
14:02:12 <flexo> and i don't see you zero-terminating the string?
14:02:23 <flexo> add dl,30h ;Make it ASCII
14:02:31 <flexo> using '0' instead of the comment would be more useful :)
14:02:50 <flexo> that's .. no. it's not. nevermind.
14:03:12 <flexo> Unsigned divide DX:AX by r/m
14:03:15 <flexo> ah yes. nevermind.
14:03:19 <Hiato> could do xor dx,dx
14:03:31 <flexo> it's a very common idiom
14:03:42 <flexo> and cpus are optimized for it
14:04:14 <flexo> something unrelated: you are aware of the fact that you are writing 16bit code there, yes?
14:04:14 <Hiato> meh, still no output
14:05:34 <flexo> there's your problem.
14:06:21 <Hiato> er, edi mov thingy before the jump
14:06:35 <flexo> i'd put it before the test to make things more clear, but yes
14:07:05 <Hiato> I believe it's actually hanging
14:07:15 <flexo> mov [edi], byte dl
14:07:29 <flexo> you can leave the byte
14:07:35 <flexo> nasm knows that dl is a byte ofcourse
14:08:02 <flexo> and no, without that fix it won't work
14:08:11 <flexo> dh will be zero, you get a zero-terminated string, no output
14:08:18 <Hiato> Ok, well, it still appeas to be hanging
14:08:18 <flexo> an empty string i mean
14:08:33 <flexo> you fixed that too?
14:09:03 <Hiato> the zero termination? no
14:09:09 <flexo> well do it then ;)
14:09:21 <flexo> 14:59 < flexo> mov [edi],dx
14:09:30 <Hiato> ah, righ, yeah, fixed that
14:09:47 <Hiato> (seeing as we are in 16bit mode, and dl is a byte)
14:09:49 <flexo> let's see the new version
14:10:01 <flexo> what's all that edi mess
14:10:06 <flexo> you are in 16 bit code
14:10:12 <flexo> it should be "di" and "si" everywhere
14:10:24 <flexo> do a quick replace, but that's not a problem. it should still work.
14:10:47 <Hiato> http://rafb.net/p/fZ53Oc16.html
14:11:19 <flexo> i really think this should work now.
14:12:14 <flexo> dx is your input register?
14:12:18 <flexo> you clear it before the divide..
14:12:51 <Hiato> should have been dh, methinks
14:13:10 <flexo> the dividend is stored in dx:ax
14:13:16 <flexo> so just put the number in ax
14:13:53 <flexo> i still think this is not the last problem as you should still have gotten *some* output..
14:14:04 <flexo> anyway. let's see the new version
14:14:50 <Hiato> http://rafb.net/p/ivrpE876.html
14:15:39 <Hiato> Wow, that was hell, damn, thank you so very very very very very much
14:15:59 <Hiato> (note: I don't actually *love* you, but for the lack of a better word, I appreciate your help)
14:16:07 <Hiato> lol, why, shouldn't it?
14:16:24 <flexo> didn't really expect it to. had given up hope
14:16:45 <flexo> this is embarassing
14:16:50 <flexo> i'm supposed to be good in this
14:17:06 <Hiato> You are though, fixed it
14:17:10 <flexo> you are writing 16-bit code
14:17:18 <Hiato> Simplest OS I could do
14:17:25 <Hiato> 32bit is.. well, I don't know
14:17:43 <flexo> wanna see my puts/putc/putn routines?
14:17:57 <Hiato> and perhaps I could steal them too
14:19:19 <flexo> http://rafb.net/p/RjhxBx56.html
14:19:28 <flexo> no decimal stuff though
14:20:12 <Hiato> yeah, but, it helps either way, gonna save a copy for future 'reference'
14:20:36 <flexo> you may want the version
14:20:37 -!- FireFly has joined.
14:20:39 <flexo> which is 1 byte longer
14:20:53 <flexo> add al, 'a' - '0' - 10
14:21:00 <flexo> does the same thing - in a clean way ;)
14:21:47 <Hiato> roger that, thanks
14:21:53 <flexo> ofcourse this code is... you know
14:22:03 <flexo> size-optimized to the last byte
14:22:13 <flexo> i don't think it's possible to trim anything more
14:22:25 <flexo> wrote it for a 512-byte bootloader
14:22:41 <Hiato> do you follow osdev.org forums?
14:22:42 <flexo> which loads the linux kernel in high memory along with a ramdisk
14:22:47 <flexo> provides a commandline
14:22:52 <flexo> does keyboard mapping
14:22:59 <flexo> and prints error messages
14:23:04 <Hiato> wait, in 512 bytes?
14:23:19 <Hiato> well, I've got a way to go
14:23:28 <flexo> http://flexotec.eu/~flexo/p2/tinyldr.asm
14:23:34 <flexo> it's more like 450 or so
14:23:39 <Hiato> hopefully I'll learn asm at some point
14:23:40 <flexo> still have 50 bytes to spend :)
14:24:35 <Hiato> heh, I cheated to 512: times 510-($-$$) db 0
14:25:00 <flexo> and the reason for doing it
14:25:10 <Hiato> Indeed, though, it seems inevitable, fix one thing, break another
14:25:14 <Hiato> as has just happened
14:25:19 <flexo> wanted to play doom with a couple of guys
14:25:25 <flexo> we were really drunk at the time
14:25:36 <flexo> and we were missing a third pc
14:25:39 <Hiato> lol, as only drunk people play that game :P
14:25:49 <flexo> so i dug up a really old box
14:26:07 <flexo> turned out the pci controller on the motherboard was fried
14:26:13 <flexo> so.. no ide controller
14:26:15 <flexo> means no harddrive
14:26:22 <flexo> but that's not a problem, right?
14:26:32 <flexo> no pci slots too, but the board had two isa slots
14:26:45 <flexo> i had a isa vga adapter
14:26:50 <flexo> and some 10mbit ethernet adapter too
14:27:02 <flexo> now the problem was, how to get doom to run on it
14:27:15 <flexo> as it needs much more space than fits on a floppy
14:27:22 <Hiato> god's truth, most people throw away "garbage"
14:27:23 <flexo> ... and i only had exactly one floppy drive
14:27:27 <flexo> and exactly one floppy
14:27:48 <Hiato> right, so what did you do? PAQ8?
14:27:54 <flexo> so i figured, i needed a very small linux kernel
14:28:01 <flexo> downloaded some 2.6 kernel
14:28:08 <flexo> stripped it of all drivers i didn't need
14:28:16 <flexo> ended up with 1.1mb, which was fine
14:28:21 <Hiato> (all while being drunk)
14:28:29 <flexo> yea, took me a couple of hours :)
14:28:37 <flexo> i remembered that you don't need a boatloder, dd'ed it on the disk, tried to boot it but no go
14:28:50 <flexo> they removed the bootloader from the linux kernel in the 2.6 version
14:28:59 <flexo> so instead of doing the smart thing and using a 2.4 kernel
14:29:03 <flexo> i wrote that tinyldr
14:29:09 <flexo> ofcourse at the time it wasn't as sexy
14:29:21 <flexo> lots of hardcoded stuff, no command prompt
14:29:44 <flexo> put together busybox
14:29:48 <flexo> nfs-mounted a directory
14:29:53 <flexo> played doom for 10 minutes or so
14:30:07 * Hiato wonders whether flexo deserves to be shot or idoloized, or both
14:30:50 <Hiato> talk about disproportionate effort. Why didn't you just write doom from scratch, in binary? Would've been way more worth those then minutes
14:31:19 <flexo> i'm just no the graphics guy
14:31:39 <Hiato> no rules about using pre-made .wad's :P
14:32:01 <flexo> actually i started redoing wolf3d once
14:32:17 <flexo> (with a software renderer. the old-fashioned way. no opengl-crap)
14:32:37 <flexo> i think i was 15 at the time
14:32:41 -!- comex has quit (Read error: 60 (Operation timed out)).
14:32:50 <flexo> was my first "real" project
14:33:10 <flexo> it could load the levels, you could run around
14:33:21 <flexo> never got to implement sprites though
14:34:42 <Hiato> hell, I struggled to put together a simple ray-caster in the easiest of all languages
14:35:07 <flexo> otherwise i suggest the pxdtut .. tutorials :)
14:35:29 <Hiato> except the way I worked it, it could only draw one wall
14:35:37 <flexo> TELEMACHOS proudly presents : |
14:35:37 <flexo> | Part 7 of the PXD trainers - |
14:35:37 <flexo> | RAYCASTING - WOLFENSTEIN |
14:35:42 <flexo> those were the days..
14:35:48 -!- comex has joined.
14:36:05 <Hiato> I didn't use a gird, rather objects with coords etc
14:36:54 <oklopol> i've made a 2d raytracer once
14:37:09 <flexo> oklopol: have you seen my "al-nibble-to-hex" sequence..?
14:37:10 <Hiato> Ok, now is discouragement time. There is so much left to do, even comparing my kernel to MikeOS v2...
14:37:38 <Hiato> oklopol, not the so called '2.5D'?
14:37:55 <flexo> oklopol: as your nickname starts with an 'o' you should be able to appriciate it
14:38:29 <Hiato> Well, it's what we'd like to call three dimensional, as in wolfenstien, duke3d etc, but things can only be rotated in two dimensions, hence 2.5d
14:38:30 <oklopol> well color was also given as width in the result, and it wasn't really raytracing, i don't know the term, follow rays from eyes to objects.
14:38:38 <oklopol> Hiato: umm no. less than that
14:38:53 <flexo> but things can only be rotated in two dimensions, hence 2.5d
14:38:56 <oklopol> i mean it was a 2d arcade flying game.
14:41:21 <Hiato> okay, I need a break. Thanks flexo for all the advice/work, I'm that much closer to something or other.
14:41:59 <flexo> yea, you're welcome
14:43:54 <flexo> i really want to get back into the fun area of coding :(
14:44:09 <flexo> no more crappy win32 c++ or irix c
14:44:34 <flexo> this is not fun. not really anyway.
15:01:17 -!- Corun has quit ("This computer has gone to sleep").
15:14:00 -!- Arcanis` has joined.
15:20:06 -!- nono212 has joined.
15:26:28 <oklopol> yeah that's pretty awesome
15:27:15 <nono212> KPL, you write with kamasutra positions...
15:27:26 <nono212> if i create it i will be famous :)
15:27:36 -!- puzzlet has quit (Remote closed the connection).
15:27:43 -!- puzzlet has joined.
15:27:53 <Mony> BSL, you write with boobs sizes
15:32:40 -!- nono212 has quit ("Bon chat sur Uni-IRC").
15:37:54 -!- Arcanis` has left (?).
15:44:21 -!- Corun has joined.
16:02:01 <MizardX> BSL: A..L, could mean either statements or values depending on context. "AAGAAIFAJAAJAAJDACIAHDAJDAJGAJAAIEAAA" could be read as "print 'Hello World'" :)
16:02:41 <Hiato> flexo, still there?
16:03:04 <MizardX> 'A' begins print statement (or a string?), and then each group of thee characters is a base-12 encoding of ascii-codes, null-terminated.
16:03:27 <Hiato> Another brief mystery? (Though this one probably has an obvious solution)
16:04:20 <Hiato> http://rafb.net/p/I5Tzfa77.html
16:04:49 <Hiato> Why does this insist of giving me 0FFFF when I call it with 65535, but with 255, it correctly gives 00FF
16:05:54 <Hiato> erk, 3->4, but still same problem
16:05:59 <Hiato> that was a mistake of mine earlier
16:06:13 <flexo> curious, what do you get with 0xffff-1?
16:06:19 <Hiato> (I know it's vastly unoptimised etc)
16:06:50 <MizardX> It always gives at least one zero
16:07:39 <flexo> yea. didnt see that.
16:08:07 <flexo> Hiato: you *really* dont wanna do it that way.
16:08:19 <flexo> in hexadecimal each byte always corresponds to two digits
16:08:19 <Hiato> But I like cheap hacks :P
16:08:25 <flexo> it's not a cheap hack
16:08:32 <flexo> it's way more complicated than it should be
16:08:52 <flexo> just go through the number, output the nibble and shift?
16:09:04 <Hiato> meh, you're right..
16:09:19 <Hiato> I like to overcomplicate things :P
16:09:27 <flexo> http://rafb.net/p/RjhxBx56.html
16:09:36 <flexo> at the bottom there is a putw
16:09:48 <flexo> which outputs a 16bit word in hexadecimal - 4 digits
16:10:09 <flexo> you know, that snippet includes routines for everything
16:10:23 <flexo> putchar(), puts(), and stuff to output a nibble, a byte, and a word in hex
16:10:56 <Hiato> yeah, I suppose. Thing was, I was going to modify this routine to output in any base (one routine for base 10,16,8,2 etc)
16:11:04 <oklopol> flexo: oklopol: have you seen my "al-nibble-to-hex" sequence..? <<< no, is it worth seeing?
16:11:22 <flexo> beautiful, isn't it?
16:11:42 <flexo> if you happen to know that AF=0 and AH=0
16:11:46 <flexo> you can skip the first two instructions
16:12:05 <flexo> note that the mnemonics are alphabetically sorted :)
16:12:17 <flexo> and contain only hexadecimal digits
16:12:19 <flexo> it's just beautiful
16:12:32 <flexo> and in 3 instructions, which i all abuse
16:12:40 <flexo> i manage to use both an undefined opcode and undefined flag behaviour
16:12:53 <flexo> this is just great
16:12:54 <oklopol> are those used for... what's it umm bdc?
16:13:00 <oklopol> binary.. decimal... something
16:13:15 <flexo> but you don't have to use them for that
16:13:24 <oklopol> yeah they need to have nibble stuff
16:13:25 <flexo> when converting a nibble to hex you usually need to branch
16:13:29 <flexo> based on a comparision with 10
16:13:34 <flexo> that's where i got the BCD idea
16:13:52 <flexo> the first AAA does that (well, it doesn't branch, but internally it does stuff differently when the number is >=10)
16:14:01 <flexo> and "aad 0x31" is the undefined opcode
16:14:10 <flexo> it's defined for "aad 10", i use "base 0x31" there
16:14:36 <flexo> because 0x30 is '0'
16:14:38 <oklopol> well, that looks pretty awesome.
16:14:42 <flexo> and 0x30+0x31 is 'a'
16:15:00 <oklopol> i understand the general idea
16:15:02 <flexo> it's really short too
16:15:19 <oklopol> but i don't know what a[ad][dc] do.
16:15:45 <flexo> http://www.ecsl.cs.sunysb.edu/~srikant/386/AAA.htm
16:15:52 <flexo> there is a pascal-like description
16:15:59 <flexo> http://www.ecsl.cs.sunysb.edu/~srikant/386/AAD.htm
16:16:02 <flexo> it's really simple
16:16:10 <flexo> in the AAD just replace the 10 for my 0x31
16:16:45 <flexo> AAA is 1 byte, AAD and ADC both 2 bytes. that's 5 bytes. :)
16:19:57 <flexo> (and ADC is just add with carry ofcrouse)
16:20:24 <fizzie> Abusing those BCD arithmetic instructions like that is very nice.
16:20:58 <fizzie> Although I'm not sure I like the "ascii adjust" names of the instructions; there's not really that much "ascii" about them.
16:21:19 <oklopol> for me the initial A means 10, as in bcd.
16:21:20 <flexo> in my code there isd
16:21:37 <flexo> i suppose i figured out the true purpose
16:21:44 <fizzie> Z80 instruction set calls it "DAA" (decimal adjust accumulator) which makes more sensity.
16:21:45 <flexo> the x86 isa is an esolang after all
16:23:15 <flexo> unfortunatly x86_64 dropped the AAD instruction i think :(
16:23:36 <flexo> or AAA? one of the two..
16:25:03 <flexo> i need to publish this crap for the world to see and USE (mwuahaha)
16:27:11 <Hiato> http://rafb.net/p/JLwZz179.html Fixed. It may not be as compact as your solution, but it is elegant in the sense that I can print however much I need
16:31:11 <flexo> you don't have a 512 byte restriction
16:32:58 <fizzie> Random bit of trivia: the TI-86 calculator uses 9-byte BCD floats, with a seven-byte mantissa (14 decimal digits of precision) and two bytes for the exponent.
16:34:05 <FireFly> Hrm, maybe I should learn asm some day
16:34:21 <fizzie> I got into an argument about this in one of our university courses, because the lecturer refused to believe me.
16:36:16 <fizzie> She was all "no, no, it might be converted to decimal for displaying, but internally all computatators that do floating-point maths use a binary format". I had to provide proof in the format of some TI-86 databook.
16:38:13 <flexo> i think the next POWER arch will feature native decimal FP
16:40:17 -!- KingOfKarlsruhe has joined.
17:01:29 <flexo> http://en.wikipedia.org/wiki/Blind_spot_(vision)
17:29:44 -!- landeguy has joined.
17:30:12 -!- landeguy has quit (Client Quit).
17:31:11 -!- Corun has quit ("This computer has gone to sleep").
17:34:11 -!- Corun has joined.
17:35:55 <Hiato> flexo: is a word signed, by default?
17:37:03 <Hiato> rather, how, if possible, can one debug nasm code?
17:38:44 <olsner> but BCD *is* a binary format, right?
17:45:58 <flexo> Hiato: you don't really know what you are talking about
17:47:07 <Hiato> nope, I can safely say
17:47:38 <Hiato> which is why I figured stuff it and let's just make it for unsigned
17:48:02 <flexo> there is such thing as signed words.
17:48:06 <flexo> there are just words
17:48:20 <flexo> add/sub work the same for signed and unsigned numbers
17:48:41 <flexo> and fr division and multiplicaation there is div/idiv and mul/imul
17:49:20 <flexo> the signflag tells you if a signed number is negative, but if it is a signed number at all (and if you choose to interpret the signflat) is your choice
17:49:35 <flexo> and about debugging...
17:49:43 <flexo> "nasm code". what's that?
17:49:47 <flexo> nasm is just an assembler
17:49:58 -!- kar8nga has joined.
17:50:43 <Hiato> Okay, thanks for clearing that up. What I meant was is there a NASM-IDE type thing that will let you trace asm?
17:51:31 <flexo> but any debugger lets you step on the instruction level.
17:51:35 <flexo> you should know that
17:52:06 <AnMaster> <flexo> (that "aad 0x31" is that undefined opcode thingie, but it works fine) <-- huh? I don't know x86 asm well enough to know what you are talking about there
17:52:44 <flexo> AnMaster: the mnemonic AAD really has no operand
17:52:53 <flexo> it's binary encoding is 0xd5 0x0a
17:53:06 <flexo> but people figured out that that 0x0a is actually an operand after all
17:53:14 <flexo> and you can put in different bases instead of 10
17:53:39 <flexo> didn't work on certain 8086 clones (notably the nec v20 and v30) but has been silently (undocumented) supported ever since
17:55:47 <AnMaster> flexo, it is invalid in long mode
17:56:07 <flexo> i've already written that in the dialog above
17:56:59 <flexo> but protected mode (or long mode for that matter) assembler is boring anyway
17:57:44 <flexo> if you do 32bit/64bit assembly you are usually using a proper operating system
17:57:50 <flexo> using boring system services
17:58:00 <AnMaster> also I wouldn't write much asm manually in a kernel, I would only write what is needed in asm, the rest in C, and only if there were performance issues, I would rewrite parts in asm if that would help. I would profile before of course
17:58:05 <flexo> using elaborate sane APIs
17:58:23 <flexo> assembler isn't much fun these days
17:58:27 <flexo> RISC took it all away
17:58:27 <AnMaster> flexo, yes I'm the type of person who end up writing sane APIs if there are none
17:58:52 <oklopol> flexo: http://en.wikipedia.org/wiki/Blind_spot_(vision) <<< you haven't noticed that yourself?
17:58:59 <AnMaster> it is the most bloated CISCy I ever seen
17:59:04 <flexo> yea.. but if you want to write performant code you have to reduce the instruction set.
17:59:09 <flexo> (on modern cpus that is)
17:59:37 <flexo> writing speedy application-level 32bit x86 assembly isn't so much different from handcrafting RISC assembly
17:59:56 <flexo> except the fact that you don't always have to explicitly load/store
18:00:03 <flexo> still, it's boring
18:00:33 <AnMaster> flexo, you need to calculate on instruction cycle count on x86
18:00:39 <AnMaster> on RISC that is much less of an issue
18:01:11 <AnMaster> I mean, usually most n cycles, with a few, maybe call and similar, takes more
18:01:29 <flexo> the only exception being mul/div
18:01:56 <AnMaster> flexo, really? It varies a lot according to the AMD64 optimising guide.
18:01:57 <flexo> besides that all instructions you *should* be using execute in n "cycles" (where n is constant)
18:02:27 <AnMaster> flexo, depends, what about SYSENTER/SYSEXIT
18:02:27 <flexo> okay, i admin, i've been out of the loop for a while
18:03:06 <flexo> but up until the athlon XP AMD (and intel too) tried to bring the compiler generated instructions all down to n cycles
18:03:15 <flexo> where n was 1/3 fr the athlon xp
18:03:17 <AnMaster> yep, but that may be because that is the Intel one and this is AMD docs
18:03:27 <olsner> optimizing code is about so much more than fiddling with the cycle counts
18:03:41 <AnMaster> flexo, well most take integer cycles
18:03:41 <flexo> it's inserting nops
18:03:52 <flexo> so your instructions are aligned with a cacheline
18:04:14 <flexo> AnMaster: seriously, what about those instructions?
18:04:29 <flexo> if you wanna multiple, you have to use the multiply instruction (except for those shift cases, yes)
18:04:39 <flexo> even the LEA tricks are not really worthwhile anymore
18:04:52 <flexo> sometimes they are faster, usually they just clog address generation
18:04:58 <AnMaster> flexo, I read about reducing that too, it was quite an interesting research paper
18:05:13 <AnMaster> about strength reducing modulo by using addition and shift
18:05:19 <AnMaster> to work for "not power of 2 cases"
18:05:25 <AnMaster> it talked about division and so on too
18:05:35 <flexo> for multiplication it's *slightly* faster
18:05:48 <flexo> but only very slightly
18:05:59 <AnMaster> flexo, personally I write C and watches happily, and *without* a headache while it does that strength reduction for me :P
18:06:11 <flexo> my brainfuck compiler actually does that
18:06:24 <flexo> a large part of the compiler consists of that multiplication-optimization
18:06:25 <flexo> because it was fun
18:07:15 <flexo> i suppose not as sophisticated as your research paper though :)
18:07:17 <AnMaster> flexo, hm my bf compiler compiles to C (with some optimising of course, like converting balanced loops with no IO to polynoms and such)
18:07:36 <flexo> AnMaster: you should try outputting assembler instead
18:07:38 <AnMaster> flexo, anyway I'm looking for the link to that paper
18:07:51 <AnMaster> flexo, well, sure, but I use several different arches daily
18:07:55 <flexo> when i make my compiler output c and use gcc -O3 to compile the resulting binary is actually slower
18:08:03 <AnMaster> I have no interest in writing ppc, x86 and x86_64 versions
18:08:09 <flexo> (and takes like 100 times more time)
18:08:23 <AnMaster> flexo, what I might do in that case would be output LLVM code
18:08:45 <flexo> (with some optimising
18:08:45 <flexo> of course, like converting balanced loops with no IO to
18:08:45 <flexo> polynoms and such)
18:09:01 <flexo> ^ was that erlang thingie yours?
18:09:41 <AnMaster> flexo, er? I use Erlang sometimes, but what has that got to do with a compiler to C?
18:09:57 <AnMaster> anyway the bf compiler was written in C too
18:10:06 <AnMaster> flexo, found it: http://www.cag.lcs.mit.edu/commit/papers/99/mdopt-TM.ps
18:10:10 <flexo> there is a haskell bf2c compiler floating around
18:10:25 <AnMaster> flexo, and I said I was *learning* haskell, but maybe you were drunk then, don't know
18:10:27 <flexo> does some good optimization. not as good as mine though ;)
18:10:42 <AnMaster> flexo, link to source code of yours?
18:10:44 <flexo> no, the one i got really is written in haskell
18:10:56 <AnMaster> flexo, I'm afraid my optimiser and constant propagator is rather a mess
18:10:58 <flexo> it's unmaintainble mess
18:11:04 <flexo> and needs a complete rewrite
18:11:15 <flexo> it produces *very* efficient code though
18:11:33 <flexo> give me a second, i'll upload it
18:12:02 <AnMaster> flexo, same goes for mine, constant propagation (after a [-] it tries to track that memory cell so [-] -> "set 0" (special cased), [-]++ -> "set 3")
18:12:16 <AnMaster> (and it reorders when possible)
18:12:20 <flexo> i also do "while" => "if" optimization
18:12:35 <AnMaster> flexo, what about turning +++[>++++<-] into a single polynom?
18:12:54 <AnMaster> <flexo> "mac" => "mul" <-- what would that be?
18:12:55 <flexo> that one will become a single add
18:13:02 <AnMaster> flexo, yes it would in the end
18:13:17 <flexo> "multiply and accumulate" becomes just "multiply" when adding to a zero ofcourse
18:13:33 <flexo> strips out more dependencies, often leads to other optimization passes further striping out code
18:14:08 <AnMaster> flexo, but point is you can turn any balanced loop (even nested ones, though that is messy) with no IO into a polynom
18:14:35 <flexo> but yea, ofcourse you can
18:14:38 <AnMaster> flexo, hm I'm not sure about this "multiply and accumulate", example bf code?
18:14:47 <flexo> your example is an example
18:15:01 <flexo> it's multiplication and adding the result to a cell
18:15:07 <flexo> that's MAC in assembler
18:15:32 <AnMaster> flexo, only issue is GCC bails out with ICE when compiling the generated file for lostkingdom... Since I put all the generated code in main()
18:15:43 <flexo> lostkingdom, whats that?
18:16:08 <AnMaster> I guess I should split the tree up
18:16:08 <AnMaster> flexo, a huge text adventure in bf
18:16:13 <AnMaster> flexo, considered somewhat like "acid test for bf implementations"
18:16:21 <AnMaster> http://jonripley.com/i-fiction/games/LostKingdomBF.html
18:16:34 <flexo> http://flexotec.eu/~flexo/pinky.tar.gz
18:16:37 <flexo> thats my implementation
18:16:45 <flexo> just copied my dev directory
18:16:48 <flexo> might be seriously broken
18:16:53 <flexo> seems to be working though
18:17:01 <AnMaster> "beware of the brainfuck interpreter", nice idea
18:17:08 <AnMaster> instead of "beware of the dog"
18:17:39 <flexo> (linux / x86 "ofcourse")
18:17:52 <flexo> give it a try. curious. otherwise do -m32
18:17:56 <flexo> oh, and you'll need nasm
18:18:04 <flexo> oh. and it will definitly generate 32bit code
18:18:08 <AnMaster> flexo, I don't have nasm, I have yasm though
18:18:23 <AnMaster> flexo, personally I prefer AT&T syntax
18:18:40 <ehird> at&t syntax is what gnu as uses right?
18:18:43 <AnMaster> flexo, well everyone arch except x86 seems to use it
18:18:48 <ehird> if so, AnMaster, you suck even more
18:19:03 <flexo> AnMaster: yes, you can get used to it
18:19:07 <flexo> i used it too for a while
18:19:12 <flexo> i just don't like it ;)
18:19:17 <ehird> you're wasting your time flexo
18:19:36 <AnMaster> flexo, well someone used to vi will find emacs hard and someone used to emacs will find vi hard
18:19:48 <flexo> how many cells does LK need?
18:20:16 <flexo> is it okay with 32bit cells?=
18:20:31 <flexo> You can see: some matches (2)
18:20:31 <flexo> I didn't understand that.
18:20:45 <flexo> feels like a normal c program
18:20:49 <flexo> and compiled in 3 seconds
18:21:11 <ehird> stop being such a compiler warning nazi
18:21:23 <flexo> it shouldn't do that
18:21:31 <AnMaster> http://rafb.net/p/ECxMtZ83.html
18:21:37 <ehird> i'm not exactly sure what "standard cflags" are to AnMaster but I'm worried
18:21:50 <AnMaster> ehird, CFLAGS='-pipe -march=k8'
18:22:02 <flexo> AnMaster: yea, it's cool
18:22:06 <ehird> are you going through rehabilitation or something
18:22:09 <flexo> i get most of them too
18:22:10 <ehird> src/opnode.c:222: warning: format ‘%p’ expects type ‘void *’, but argument 3 has type ‘struct OpNode *’
18:22:15 <ehird> well that's idiotic.
18:22:21 <AnMaster> ehird, no I just use -Wall and so on for my own projects
18:22:58 <flexo> anyway, it should work.
18:23:09 <flexo> don't know about these warnings
18:23:15 <flexo> i think most of them creeped in by a gcc update
18:23:15 <AnMaster> ld: i386 architecture of input file `LostKng.o' is incompatible with i386:x86-64 output
18:23:27 <AnMaster> LostKng.o: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV)
18:23:37 <AnMaster> flexo, well apart from your call to ld not working
18:23:43 <flexo> what did you expect
18:23:59 <ehird> that's what you get for using 64bit :p
18:24:11 <flexo> You need to specify an item.
18:24:11 <flexo> You need to specify an item.
18:24:22 <flexo> AnMaster: i compiled with -f1000000
18:24:33 <AnMaster> flexo, and what does -f1000000 do
18:24:45 <ehird> flexo: of course it's lame
18:24:50 <ehird> well, highly retarded basic
18:24:52 <ehird> compiled to brainfuck
18:24:59 <flexo> default is 66553... well... actually it's 665530 because i messed around with the hardcoded stuff
18:25:15 <AnMaster> flexo, don't you grow on demand?
18:25:18 <flexo> AnMaster: yea.. see pinky.c
18:25:28 <flexo> would be easily doable though ofcourse
18:25:28 <ehird> flexo: why not just use the main RAM
18:25:31 <AnMaster> which means it is slower but more robust
18:25:41 <ehird> and trap segfaults
18:25:41 <flexo> just mmap and mprotect a page at the end
18:25:47 <AnMaster> flexo, well since I need to check for out of bounds in mine
18:25:48 <ehird> flexo: WE THINK ALIKE.
18:25:59 <ehird> out of bounds checking is for losers
18:26:04 <flexo> AnMaster: interesting option is -d
18:26:10 <flexo> which dumps the optimized IL
18:26:24 <flexo> mine? yours? what?
18:26:38 <ehird> he's talking about his.
18:26:42 <AnMaster> flexo, iirc mine dumps optimised parser tree with -d too...
18:26:54 <AnMaster> flexo, iirc fizzie traps segfault in jitfunge
18:26:54 <flexo> no. talking about mine.
18:27:13 <AnMaster> anyway about trapping segfaults and messing with stuff in the registers, is this even documented?
18:27:21 <AnMaster> I mean, of course it isn't portable
18:27:34 <flexo> ofcourse it's documented
18:27:43 <flexo> should even be portable
18:27:49 <flexo> man mmap, man mprotect, man signal
18:28:20 <AnMaster> flexo, I mean about trapping segfaults, what if you segfault for something else
18:28:42 <ehird> SBCL traps segfault to handle allocation.
18:28:46 <ehird> I'm pretty sure it's not an issue.
18:28:55 <AnMaster> ehird, SBCL uses an 8 GB static array
18:28:56 <flexo> AnMaster: you enter non-portable areas there
18:29:05 <flexo> you can check the instruction pointer and check what instructions caused the sefault
18:29:06 <ehird> you have no idea what you're talkinga bout
18:29:09 <flexo> but that's obviousl not portable
18:29:27 <AnMaster> ehird, well I know it uses a huge static array and depends on linux overcommiting memory
18:29:34 <AnMaster> on x86_64 it is 8 GB, on x86 less
18:29:36 <flexo> actually it's sigaction()
18:29:37 <ehird> sbcl works on non-linux.
18:29:38 <flexo> not signal(), sorry
18:30:05 <flexo> CONFORMING TO POSIX.1-2001, SVr4.
18:31:20 <flexo> AnMaster: so. the compiled program worked?
18:31:39 <AnMaster> ehird, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=474402
18:32:02 <ehird> but sbcl _does_ trap segfault
18:32:10 <AnMaster> ehird, why would it need to do that?
18:32:17 -!- kar8nga has quit (Connection timed out).
18:32:22 <AnMaster> if it uses a huge area that it depends on is allocated as needed
18:32:23 <ehird> AnMaster: ask the sbcl devs.
18:33:35 <flexo> if you want to implement an on-demand growing blob of memory
18:33:39 <flexo> you have to use mmap()?
18:33:48 <AnMaster> flexo, is there any -h or --help for pinky?
18:33:50 <ehird> then trap segfault
18:33:55 <ehird> AnMaster: can't you read c?
18:34:03 <flexo> AnMaster: yes, it's $ vi src/pinky.c
18:34:20 <ehird> AnMaster is about to start
18:34:30 <flexo> as it's guaranteed to be there
18:34:36 <flexo> as specified by the single unix spefication
18:34:47 <ehird> AnMaster probably uninstalled it manually because he hates vi and everyone who uses it and is objectively right and wants to prove a point.
18:34:48 <flexo> (yea, not exactly true, but close enough)
18:34:56 <AnMaster> flexo, well, many linux distros use nano by default these days
18:35:05 <ehird> not when you run vi(1).
18:35:06 <AnMaster> vi was not default, nor was emacs
18:35:14 <ehird> that is utterly irrelevant
18:35:18 <AnMaster> which is an interesting way around the editor war
18:35:20 <flexo> AnMaster: didn't you just babble about portability?
18:35:36 <AnMaster> flexo, yes, and in practise vi isn't portable
18:36:14 <ehird> flexo: you're asking for consistency out of AnMaster
18:36:23 <flexo> ehird: yea, i'm slowly getting it
18:36:34 <ehird> yes, until he dodges the question with a bad joke
18:36:51 <AnMaster> also what I asked was: is this documented, and well defined, to trap sigsegv and then jump back to continue exection after calling mmap()
18:37:00 <ehird> why don't you read the standard
18:37:04 <ehird> instead of getting everyone else to.
18:37:26 <AnMaster> ehird, iirc some standard, C or POSIX say it is undefined to touch anything but volatile variables in signal handlers
18:37:29 <flexo> i know that's what you asked, and that's why i already had given you an answer to that question
18:37:43 <flexo> i doubt posix says that
18:37:54 <AnMaster> flexo, I'm quite sure C99 does
18:37:58 <ehird> perhaps you could declare the mmaped stuff volatile then
18:38:01 <flexo> your point being...?
18:38:58 <flexo> According to POSIX, the behavior of a process is undefined after it
18:38:58 <flexo> ignores a SIGFPE, SIGILL, or SIGSEGV signal that was not generated by
18:38:59 <flexo> kill(2) or raise(3).
18:39:22 <ehird> you're right only going by a tedious, broken standard
18:39:30 <ehird> here's a challenge: find a system it breakso n
18:39:35 <AnMaster> ehird, one which you suggested I should read just above
18:39:36 <ehird> that more than 3 people use
18:39:39 <AnMaster> <ehird> why don't you read the standard
18:39:43 <ehird> AnMaster: yes, because you were the one asking about it./
18:40:23 <ehird> flexo: link to pinky?
18:40:26 <AnMaster> ehird, that you can never admit that you lost in a discussion...
18:40:31 <flexo> http://flexotec.eu/~flexo/pinky.tar.gz
18:40:40 <ehird> AnMaster: umm, that's because I didn't
18:40:43 <flexo> this is ugly unmaintanble code
18:40:45 <Badger> none of you can, I imagine
18:41:02 <ehird> Badger: unlike AnMaster i don't react with a joke in that situation, at least
18:41:04 <flexo> complex, ugly, unmaintanble code
18:41:07 <AnMaster> ehird, yes, but you then pretend you said something else all the time, even when the scrollback shows you didn't
18:41:21 <flexo> (this happens when people who don't finish highschool end up writing compilers)
18:41:22 <ehird> you're an idiot. I told you to read the standard because YOU ASKED IF IT WAS STANDARD
18:41:36 <ehird> that is ABSOLUTELY not inconsistent with calling the standard stupid
18:41:36 <AnMaster> ehird, and I said I was pretty sure it wasn't
18:41:41 <ehird> that is also irrelveant
18:42:02 <flexo> but i plan on doing a new pinky
18:42:14 <flexo> along with a proper CFG and SSA optimization
18:42:18 <flexo> Badger: http://flexotec.eu/~flexo/pinky.tar.gz
18:42:26 <flexo> my highly optimizing brainfuck compiler
18:42:46 <Badger> you wrote a bf compiler
18:42:57 <AnMaster> ehird, also I was waiting for the pdf with POSIX to load, for some reason it hasn't yet finished opening
18:42:57 <ehird> flexo: err, you could say bsd :-)
18:43:30 <flexo> just look into x86.c
18:43:44 <flexo> see the GETC/SETC case
18:43:44 <Badger> I meant for a brainfuck compiler :P
18:43:52 <ehird> Badger: ssh, don't ruin his ideological associations
18:43:58 <flexo> and replace by a syscall on your system
18:43:59 <AnMaster> Badger, well what is so odd with that? Many people have written that
18:44:08 <AnMaster> Badger, some to asm, some to machine code, some to C
18:44:44 <Badger> esoteric languages are inherently evil :P
18:44:46 <flexo> ehird: i could also give you a ruby script which converts the IL to C
18:44:55 <AnMaster> Badger, what on earth are you doing here then? :P
18:45:02 <flexo> but as i said, gcc -O3 produces worse code than pinky directly
18:45:17 <flexo> and takes ages to compile
18:45:20 <ehird> #ifdef __STRICT_ANSI__
18:45:20 <ehird> # undef __STRICT_ANSI__
18:45:39 <ehird> #if defined(DJGPP)
18:45:41 <ehird> #include <unistd.h>
18:45:45 <ehird> #elif defined(POSIX)
18:45:47 <ehird> is that meant to make sense?
18:46:01 <flexo> i did a djgpp port
18:46:11 <flexo> but i suppose this "branch" doesnt include that code
18:47:19 <flexo> the compiler actually gets faster with more optimization passes
18:47:27 <flexo> because the real bottleneck is all the sprintf() outputting the assembler
18:48:15 <flexo> ehird: oh, and you need to adjust the program epilogue too at the end of the file
18:48:19 <flexo> to terminate the process
18:48:22 <flexo> but on the other hand
18:48:26 <flexo> it will die anyway
18:48:43 <ehird> 18:43 <Bouncer> CTCP-query VERSION from flexo
18:49:34 <flexo> just spotted a buf
18:49:39 <flexo> if(curr->type == MUL && curr->val == -1)
18:49:46 <flexo> i'm fairly certain that should be val < 0
18:49:47 <ehird> i spot bufs all the time
18:50:51 <AnMaster> I noticed quite a few open source projects with a section titled "Executive Summary" recently on their websites, in their README or such. One example is the README of valgrind. Hm, maybe I should add one to cfunge ;)
18:50:57 -!- Corun has quit ("This computer has gone to sleep").
18:51:07 <flexo> ehird: oh, and see pinky.h
18:51:15 <flexo> you should probably add a new target
18:51:17 <olsner> "Executive summary: this program has no use whatsoever."
18:51:23 <flexo> feel free to do it and send me a patch ;)
18:51:50 -!- Corun has joined.
18:52:05 <AnMaster> olsner, well it would end up very strange for a esolang interpreter
18:52:21 * AnMaster wonders if Java2K has one... It would fit perfectly with it
18:53:38 <flexo> pinky needs a register allocator too
18:55:27 <flexo> and i'm not optimizing nested ifs to compare less/greater
18:56:17 <AnMaster> flexo, in the optimiser are you working on the program in the form of a tree or?
18:56:36 <AnMaster> flexo, which file is the optimiser in?
18:57:34 * AnMaster looks for how the OPTIMIZATION macro is defined
18:57:43 <flexo> evil preprocessor magic
18:58:01 <flexo> it's just for debugging purposes
18:58:11 <AnMaster> flexo, so what parameter is relevant then?
18:58:35 <flexo> just ignore the OPTIMIZATION() itself
18:59:11 <flexo> it dumps the cell contents on entry along with the performed optimization (code line) when done
18:59:25 <flexo> the opnode, not the cell
18:59:26 <AnMaster> OPTIMIZATION(curr) {\n ... \n} <-- to me that looks like a macro that does something stupid, like a condition with nothing after, since there was a { on the same line
19:01:11 <AnMaster> ehird, what do you think I am doing?
19:01:18 <ehird> asking flexo to read the code for you
19:01:19 <AnMaster> I'm reading the data structure definition
19:01:36 <AnMaster> there is no documentation, thus the data structure is undocumented
19:01:49 <ehird> that's surprisingly common in programming.
19:02:29 <flexo> OPTIMIZATION() turns to a for() loop
19:02:47 <flexo> 19:53 < AnMaster> what is the scope? <= the parent node in the tree ofcourse
19:03:04 <AnMaster> flexo, then why is there a OpNode *parent; member as well
19:03:05 <flexo> (my internet connection is somewhat fleky right now)
19:03:32 <flexo> i don't know, what line are you talking about?
19:04:00 <AnMaster> I'm talking about it's members
19:04:08 -!- Corun has quit ("This computer has gone to sleep").
19:04:45 <flexo> that's a good question
19:05:00 <flexo> i think i remember
19:05:18 <flexo> i added that for the LOAD/MUL
19:05:29 <flexo> a MUL is inside a LOAD in the tree
19:05:38 <flexo> but it's scope is actually the LOAD's parent
19:06:06 <flexo> well.. LOAD loads a bf cell into the accumulator
19:06:41 <flexo> MUL multiplies it with a constant and stors the result in a cell
19:06:50 <flexo> MAC adds the result
19:07:12 <flexo> copying is done by MUL 1
19:07:19 <flexo> my internet connection is really breaking down here
19:07:23 <flexo> i need my own line
19:07:33 <flexo> WEP WLANs just don't do the job
19:08:15 <flexo> i spent the last 10 minutes shifting my laptop over the table
19:08:33 <AnMaster> flexo, hm how would you optimise this +++[>++<<--<[-]+>>-]
19:08:42 <AnMaster> I assume to a few set constants
19:09:00 <AnMaster> at least if it was know the "iterator" cell was 0 before +++
19:09:24 <flexo> trying to find the optimal position to get in reach of the house on the other side of the street
19:09:41 <ehird> ssh, AnMaster will rant to you about how that's illegal
19:09:47 <ehird> in case you weren't aware or something
19:10:22 <AnMaster> ehird, when did I "rant" about using wlan without permission?
19:10:27 <AnMaster> I don't remember ever doing it
19:10:29 <flexo> actually i kinda fail to optimize that.
19:10:33 <ehird> you rant about X for all X where illegal(X)
19:11:01 <flexo> i do MAC spoofing and all
19:11:14 -!- asiekierk has joined.
19:11:23 <AnMaster> ehird, well I want a specific example of this please for WLAN. Otherwise it is just spreading lies
19:11:31 <asiekierk> http://www.youtube.com/watch?v=9ymGAujZAaY - ...wtf
19:11:35 <flexo> all traffic is routed to a server in the netherlands
19:11:36 <ehird> no, it's based on past behaviour
19:11:52 <flexo> encrypted with XTEA
19:12:01 <flexo> i'm kinda paranoid when it comes to WEP
19:12:03 <flexo> for obvious reasons
19:12:18 <AnMaster> "<flexo> all traffic is routed to a server in the netherlands" <-- what?
19:12:27 <asiekierk> ...is anyone watching my animation!?
19:12:36 <AnMaster> if they route everything to a server
19:12:53 <flexo> yea.. when i break in other peoples WLANs i never just use their router
19:12:59 <flexo> hacked together a simple VPN
19:13:05 <flexo> well, not really a VPN
19:13:09 <flexo> it's very specific for my purposes
19:13:11 <AnMaster> flexo, also I never heard of such stuff in the Netherlands, I thought they were democratic and didn't reroute peoples traffic
19:13:29 <flexo> also, it sends all packets 5 times
19:13:39 <flexo> because my wireless links tend to be somewhat.. unstable
19:13:44 <AnMaster> oh you mean you route through a server in the netherlands
19:13:58 <flexo> signal-to-noise ratio: +6 dB
19:13:59 <AnMaster> not that the gov in netherlands route traffic strangely
19:14:04 <flexo> typing via ssh is kinda hard right now
19:14:16 <oklopol> asiekierk: that was awesome
19:14:41 <asiekierk> Do I have such a talent to make puppet toons?
19:14:53 <oklopol> well it was... unexpected.
19:14:58 <asiekierk> I thought that was really awesome :/
19:14:58 <flexo> i have no own internet connection for 2 years now
19:15:07 <flexo> and the WLANs here just suck
19:15:11 <flexo> getting ADSL again..
19:15:16 <AnMaster> asiekierk, question, since I don't often use youtube, how do you rate 0 stars?
19:15:17 <ehird> flexo i have a wlan you could use.
19:15:24 <ehird> AnMaster: don't be a jerk
19:15:26 <AnMaster> I mean the lowest possible seems to be 1 star
19:15:35 <asiekierk> You can rate 0 stars by not voting at all though
19:15:38 <AnMaster> ehird, no I was wondering in general
19:15:48 <ehird> if the lowest you can rate is 1 star
19:15:52 <ehird> then maybe you can't rate 0 stars
19:15:54 <AnMaster> ehird, because if he posts to youtube he must obviously know it
19:16:14 <AnMaster> ehird, I thought it was a case of PEBKAC
19:18:10 <asiekierk> Wait, did anyone really watch my movie, cuz i see 3 views
19:18:19 -!- ehird has quit ("Caught sigterm, terminating...").
19:18:23 -!- ehird has joined.
19:18:23 <asiekierk> and 2 people other than you watched it
19:18:29 <oklopol> asiekierk: just assume no one cares about anything anyone else does. desperately wanting people to give an opinion when they aren't interested, that is, pretty much every time you don't get a spontaneous answer from anyone, just forces them to try to find a nice way to tell you they don't care.
19:18:35 <flexo> i get only like 30 kb/s..
19:18:43 <AnMaster> asiekierk, I did, but not using youtube, I don't have flash
19:18:56 <AnMaster> I use another way to use mplayer directly on the video
19:18:56 <asiekierk> AnMaster: what happened at the end?
19:19:12 <AnMaster> asiekierk, I'm still waiting for the cache to fill
19:19:12 <asiekierk> if you watched it, you should know
19:19:28 <AnMaster> it is 2 seconds in and report "speed: 0.0"
19:19:37 <ehird> and asiekierk's infinite patience shows again
19:21:11 <AnMaster> well now it worked, but I aborted after half a minute, can't stand that high pitched voice when I have a headache
19:21:52 <AnMaster> asiekierk, well that doesn't help for the high pitched sound
19:21:58 <oklopol> or maybe you could use audacity or something to lower the pitch
19:24:01 <AnMaster> asiekierk, well at the end the screen goes black
19:24:14 <oklopol> then reanswer, another ep?
19:24:20 <asiekierk> AnMaster: What is the puppet playing during ~1:15 - ~1:30
19:24:34 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
19:24:35 <AnMaster> asiekierk, something behind a logo saying asie 09
19:24:46 <AnMaster> asiekierk, it seems to be using a ciggarette in some strange way,
19:25:07 <ehird> stylophones are awesome
19:25:18 <asiekierk> ehird: Don't tell me you like have one
19:25:19 <flexo> you people are weird
19:25:21 -!- nice has joined.
19:25:25 <ehird> asiekierk: yes, I do.
19:25:44 -!- nice has changed nick to nice_ka.
19:27:53 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
19:28:21 -!- KingOfKarlsruhe has quit (Nick collision from services.).
19:28:26 -!- nice_ka has changed nick to KingOfKarlsruhe.
19:28:38 -!- bsmntbombdood has joined.
19:29:00 <AnMaster> asiekierk, well I don't really like electronic sounding music
19:29:46 <asiekierk> So I can start my Sock Puppet Video Blog!
19:29:48 <ehird> about as much as a matter of taste as when AnMaster spend ages whining about how much 'rock' sucked
19:30:01 <AnMaster> ehird, I said that I disliked it
19:30:05 <oklopol> asiekierk: could you have more violence, obscure jokes, swearing and sex in your next vid?
19:30:07 <AnMaster> I didn't say this was true for everyone
19:30:34 <ehird> asiekierk: i'm barely older than you and i support oklopol's suggestion
19:30:50 <asiekierk> I want to make it a vlog, and a game-reviewing series
19:30:55 <AnMaster> sox park would be an awesome name
19:31:21 <AnMaster> ehird, well I'm not sure what that would *mean*
19:31:26 <ehird> flexo: asiekierk is like 12.
19:31:29 <oklopol> asiekierk: make a programming show
19:31:44 <AnMaster> ehird, and yes there is a large difference there, you have gotten much better since then
19:32:22 <ehird> it's actually just that I try to be nice to you occasionally just in case, always end up remembering you're an idiot th
19:32:24 <flexo> ehird: if that's an obscure joke you have to tell me, because, you know, no reason not to believe it
19:32:32 <AnMaster> ehird, also maturity(sp?) it is individual, so not only that
19:32:34 <ehird> flexo: maybe it's a joke _and_ serious
19:33:08 <AnMaster> ehird, err, I thought it was the reverse :P
19:33:11 <ehird> flexo: you'd get on with oklopol
19:33:26 <AnMaster> oklopol, which is the third option?
19:33:49 -!- seveninchbread has joined.
19:34:55 <flexo> maybe i should get me a cuba libre
19:35:55 <oklopol> ".eu", what does that mean
19:41:13 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
19:41:43 <oklopol> flexo: ah. i live in the slums.
19:42:34 <oklopol> northern europe, you know, at the docks.
19:44:09 <flexo> this cuba libre tastes a little much to .. rummy
19:44:44 <flexo> i'm always too greedy
19:51:18 -!- kar8nga has joined.
19:54:33 -!- Mony has quit ("Quit").
20:09:48 -!- CakeProphet has joined.
20:22:16 -!- Slereah_ has joined.
20:24:44 -!- seveninchbread has quit (Read error: 104 (Connection reset by peer)).
20:29:07 -!- Slereah has quit (Read error: 60 (Operation timed out)).
20:34:54 -!- KingOfKarlsruhe has quit (Remote closed the connection).
20:37:56 -!- asiekierk has quit (Read error: 60 (Operation timed out)).
20:43:11 -!- Hiato has quit ("Leaving.").
20:54:39 <psygnisfive> miranda family languages arent eso.. as such
20:54:57 <AnMaster> psygnisfive, as someone else already answered
20:55:17 <psygnisfive> im just explaining more what _i_ was thinking :P
21:02:42 <ehird> im bored, so im going to code a boring but fun thing
21:04:24 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
21:53:49 -!- seveninchbread has joined.
21:55:32 -!- CakeProphet has quit (Nick collision from services.).
21:55:34 -!- seveninchbread has changed nick to CakeProphet.
22:09:30 * ehird plays with paren-less lisp
22:27:56 -!- BeholdMyGlory has joined.
22:45:59 <ehird> BeholdMyGlory: Hello AnMaster.
22:46:51 <AnMaster> ehird, whoever that is he isn't me
22:46:59 <ehird> AnMaster: arvid, .se
22:47:02 <oklopol> yeah right. that's what i said about hotidlerchick.
22:47:25 <FireFly> It's just the same top domain
22:47:49 <AnMaster> I'm on d90-130-2-10.cust.tele2.se atm
22:48:20 <AnMaster> FireFly, another thing, same name "* BeholdMyGlory (n=arvid@d83-183-183-70.cust.tele2.se) has joined #esoteric" <-- my real name is Arvid
22:48:25 <oklopol> BeholdMyGlory doesn't really sound all that AnMastery.
22:48:42 <ehird> also #archlinux too
22:48:50 <ehird> BeholdMyGlory: you probably suck as much as him.
22:49:04 <AnMaster> I don't suck, you just hate me ;P
22:49:20 <flexo> hate you? you? no. how can that be?
22:50:01 <AnMaster> ehird, the channel list differs quite a bit too
22:51:17 <flexo> which, you know, is the main reason i'm hanging out here. the other reason being that i joined.
22:52:00 <AnMaster> BeholdMyGlory, so now that we got person confusion sorted out, why did you come here?
22:53:09 <BeholdMyGlory> AnMaster: hm. because esoteric languages are wierd. O.o
22:53:45 <ehird> wierd is a specific esolang :P
22:54:29 <BeholdMyGlory> hm. anyone interested in seeing "Hello World!" in my very own language?
22:55:04 <BeholdMyGlory> <_+|+,,^..::>>___h>a^.-:*>*<__|,,^...e!a<_+|,!,^..:::l*o-a+||-o_a-:*>*<<+|,!!!s|a*><_+|+,,^^--**<<+++w<o,r+a:-_r^a_+|,!,^..:***d-s<u*a,!!*u,h!e^l.l-o:s*w>o<r_l+d|u
22:56:01 <AnMaster> BeholdMyGlory, what paradigm is this?
22:56:21 <BeholdMyGlory> what the operators do, depend on what position they're at
22:56:30 <AnMaster> also it is pretty verbose for a single-char-per-command language
22:56:55 <AnMaster> BeholdMyGlory, can you pastebin a spec or such
22:57:46 <AnMaster> BeholdMyGlory, ok, well, what about a preliminary spec? I mean it looks very interesting
22:57:54 <AnMaster> but also impossible to guess without having a spec
22:58:16 <flexo> BeholdMyGlory: do you have a way to loop or recurse?
22:58:27 <BeholdMyGlory> AnMaster: i'm gonna create a page at esolangs when it's done
23:00:12 <flexo> any native english speakers here?
23:01:04 <flexo> tell me then.. there is some song or something, i don't know
23:01:09 <flexo> the question just came up in another channel
23:01:14 <AnMaster> BeholdMyGlory, You need (theoretical, as in the spec, not in any actual implementations) infinite memory, so if you have a limited number of variables and no way to store data in stacks, arrays, lambdas or whatever you aren't TC 3) a way to loop or recurse
23:01:24 <AnMaster> of course it may still not be TC
23:01:26 <flexo> a part of it goes like "she got her own"
23:01:47 <FireFly> Actually, BeholdMyGlory has a Java program which can run the above Hello World code..
23:01:51 <flexo> does that mean anything? how much slang is it?
23:01:55 -!- Corun has joined.
23:02:06 <flexo> (not referencing some object ofcourse)
23:02:07 <AnMaster> to actually prove something TC you need to prove it able to interpreter some "known TC" language
23:02:20 <ehird> flexo: not enough context
23:02:26 <ehird> FireFly: oh, you're in cahoots with him.
23:02:27 <flexo> "i love her cause she got her own"
23:03:01 <AnMaster> ah didn't know you were Swedish too FireFly :)
23:03:25 <flexo> ehird: people are saying it means that "she's independent"
23:03:34 <flexo> but i've never heard that phrase before
23:03:44 <ehird> BeholdMyGlory: swedes are finns, except fake. and dirty
23:03:48 <flexo> what do you mean by "probably"? don't guess from context, i can do that too :)
23:03:50 <AnMaster> how many Finnish people are there now again. Lets see... oklo, fizzie, deewiant, and some more iirc?
23:04:57 -!- olsner has quit ("Leaving").
23:05:28 <AnMaster> 4 Swedes I think, me, firefly, behold..., and that person on who who isn't oklo or oerjan and who's name I temporarily forgot
23:05:57 <AnMaster> you and ais I know, but that is it or?
23:10:33 <ehird> grr, there aren't enough good .cx registrars
23:11:01 <AnMaster> ehird, may I ask why you want .cx?
23:11:23 <AnMaster> ehird, oh? a shocksite with pics of yourself?
23:11:39 <ehird> specifically, I'm searching for the shortest domain I can get
23:11:58 <ehird> the other letters are taken.
23:12:07 <AnMaster> ehird, and so for all other tlds?
23:12:15 <ehird> i don't want to check all of them
23:12:19 <ehird> (yes, I could automate a whois...)
23:12:35 <FireFly> isn't one-letter domains usually more expensive than longer?
23:12:46 <ehird> and .cx is expensive enough as-is
23:13:01 <AnMaster> ehird, well, if you get t.cx it should be made into either a pastebin or an url shorterner
23:13:24 <oklopol> vjn.pb is quite short, and it's still not all that famous.
23:13:27 <ehird> i don't like url shorteners, and pastebin URIs don't have to be short
23:13:39 <oklopol> yeah, exactly. vjn.pb, that's it.
23:13:48 <ehird> moar like vjn.fi/pb
23:14:07 <oklopol> no no we bought the tld pb for that.
23:15:21 <ehird> what would be cooler is a number on some tld, that parses better
23:25:54 <ehird> 2.cc is available I think
23:26:00 <AnMaster> ehird, also, why "eh", why not "e"?
23:26:05 <ehird> its a bit awkward to type though
23:34:22 <ehird> darn, cc.tv isn't available
23:41:45 -!- FireFly has quit ("Later").
00:06:59 -!- Corun has quit ("This computer has gone to sleep").
00:12:43 <BeholdMyGlory> But keep in mind that the whole thing will change if I decide to add another operator ^^
00:13:34 <ehird> BeholdMyGlory: you need more than a byte of memory.
00:13:58 <BeholdMyGlory> ehird: no, since you store eveything in variables ^^
00:15:08 <BeholdMyGlory> ehird: which means variables wouldn't be a part of the memory... uhm. okay, that sounds a bit wierd, but still. you'll probably get the idea
00:15:18 <ehird> there are only 26 variables, no?
00:15:55 <BeholdMyGlory> ehird: well, tough luck if you need more. I haven't written it to be easy to use
00:16:05 <ehird> BeholdMyGlory: not tough luck
00:16:08 <ehird> I mean it won't be turing complete
00:16:16 <ehird> and thus you won't be able to write non-trivial programs in it
00:17:09 <BeholdMyGlory> ehird: well, remember that I'm still figuring out the details
00:17:27 <ehird> you need either an infinite amount of memory, or infinitely large numbers
00:17:33 <ehird> if you have neither, bzzt, not turing complete
00:17:38 <flexo> operators will solve that problem
00:17:45 -!- Corun has joined.
00:20:00 <BeholdMyGlory> ehird: and will also think of a better way to manage variables. might think of a way to make an infinite numbers of variables
00:20:16 <flexo> ehird: are you kidding me?
00:20:33 <ehird> are you drunk or something :|
00:20:33 <BeholdMyGlory> ehird: that was probably a quite sarcastic remark to my "will probably add a lot of other operators"
00:21:01 <flexo> i think he's kidding me
00:21:55 <BeholdMyGlory> ehird: "[01:17:38] <flexo> operators will solve that problem" = sarcastic response to "[01:17:23] <BeholdMyGlory> ehird: will probably add a lot of other operators"
00:22:43 <flexo> anyway, you need less operators, not momre
00:23:33 <flexo> but this doesn't really matter when it's not TC
00:23:36 <ehird> not every language has to be a tarpi
00:23:38 <BeholdMyGlory> flexo: more operators = harder to keep track of them all = harder to program in general = my goal ^^
00:24:00 <flexo> ehird: yea well, but you need something novel
00:24:09 <flexo> feature creep is not novel
00:24:09 <ehird> its his first esolang
00:24:37 <ehird> BeholdMyGlory: I will note that Malbolge is pretty much the epitome of that: http://esolangs.org/wiki/Malbolge
00:24:46 <flexo> so? i've never written an esolang - for exactly thateason
00:24:55 <flexo> also, i suspect he knows malbolge
00:25:09 <flexo> because the operator rotating thing likks taken from there
00:26:33 <flexo> no, the world needs another glorious esolang
00:26:34 <BeholdMyGlory> flexo: i have stumbled across that page, but didn't read any of it. when looking at the examples, it seemed to be a bit too much to grasp
00:26:57 <flexo> BeholdMyGlory: examples?
00:27:22 <flexo> there exist no sample programs
00:27:35 <flexo> you might want to read the page ;)
00:27:49 <ehird> http://esolangs.org/wiki/Malbolge#Sample_programs
00:28:00 <ehird> also guide: http://esolangs.org/wiki/Malbolge_programming
00:29:11 <flexo> i know that there exist programs
00:29:24 <flexo> but that hardly counts as an "example"
00:29:34 <flexo> because those examples make up like 25% of all existing programs
00:29:54 <flexo> and were written years after malbolge was published
00:30:18 <flexo> i'm trying to tell what i mean by saying there exist no sample programs
00:30:39 <flexo> "here's a reference, oh, and now i'm going to show you how to write hello world"
00:32:25 <flexo> a more formalized version of "the incredible machine"
00:33:16 <flexo> either too undeterministic, or too boring
00:38:50 -!- BeholdMyGlory has quit ("bye for now").
00:40:10 -!- metazilla has quit ("- nbs-irc 2.37 - www.nbs-irc.net -").
01:06:04 -!- puzzlet has quit (kornbluth.freenode.net irc.freenode.net).
01:06:05 -!- flexo has quit (kornbluth.freenode.net irc.freenode.net).
01:06:28 -!- puzzlet has joined.
01:06:28 -!- flexo has joined.
01:21:11 * AnMaster dislikes that person using the name alang
01:24:37 -!- oerjan has joined.
02:19:47 -!- oerjan has quit ("leaving").
02:33:19 -!- GreaseMonkey has joined.
03:16:45 -!- Corun has quit ("Leaving").
03:20:07 -!- Corun has joined.
04:31:12 -!- kerlo has joined.
05:39:41 -!- Corun has quit ("Leaving").
05:40:12 -!- seveninchbread has joined.
05:40:38 -!- CakeProphet has quit (Nick collision from services.).
05:40:51 -!- seveninchbread has changed nick to CakeProphet.
05:56:28 <Slereah_> I don't know what prolog does, nerd
05:56:48 <psygnisfive> unification is kind of like pattern matching, actually
05:56:55 <psygnisfive> its something you use when you do pattern matching
05:57:05 <psygnisfive> its the binding of variables in a pattern to the thing they match
05:57:22 <psygnisfive> but it works on complicated structures not just simple ones
06:06:12 -!- seveninchbread has joined.
06:06:49 -!- CakeProphet has quit (Nick collision from services.).
06:06:55 -!- seveninchbread has changed nick to CakeProphet.
06:15:50 -!- seveninchbread has joined.
06:16:29 -!- CakeProphet has quit (Nick collision from services.).
06:16:31 -!- seveninchbread has changed nick to CakeProphet.
06:30:16 -!- seveninchbread has joined.
06:30:33 -!- CakeProphet has quit (Nick collision from services.).
06:30:35 -!- seveninchbread has changed nick to CakeProphet.
06:40:33 -!- olsner has joined.
07:22:49 <fizzie> Heh, nice job advertisement on our board. "Do you enjoy coding? Do you think about the code you write? Do you favor some "exotic" programming language (such as Lisp, Lua, ML, Haskell or Erlang) over C++ and Java? If so, then you may be just the person to come write some Symbian C++ code for us."
07:24:05 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
07:26:35 -!- CakeProphet has joined.
07:35:05 <psygnisfive> do you prefer other languages of C++? then you're probably the right person to code our C++!
07:35:43 <psygnisfive> on the one hand, its true. in that, knowing any of the above probably makes you a better C++ coder if you also know C++.
07:46:17 -!- oerjan has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:55 <fizzie> On the third hand, it's not just any C++, it's *Symbian* C++. And two wrongs don't make a right here.
08:05:09 <oerjan> they're really sort of cleaned-up zombies
08:05:56 <fizzie> They do not tell what the project is all about, so it's hard to say if that's why preferring "exotic" languages is a good thing there.
08:08:21 <fizzie> Symbian C++ uses a strange preprocessor-macro-based "trap harness" exception system, because they don't support real C++ exceptions. And all objects whose construction might fail therefore need to use a really strange two-phase construction so that they properly end up in the custom "cleanup stack".
08:08:59 <fizzie> (Except that I think Symbian v9 or something added support for real C++ exceptions. Not that the API classes use those.)
08:21:19 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
08:22:20 -!- CakeProphet has joined.
08:29:02 -!- seveninchbread has joined.
08:35:39 -!- CakeProphet has quit (Read error: 60 (Operation timed out)).
08:50:10 -!- ais523 has joined.
09:22:51 -!- GreaseMonkey has quit ("e disasterous.").
09:30:24 -!- oerjan has quit ("leaving").
09:31:06 <Asztal> I half-read a book on Symbian C++ once, glad I never had to use it :)
09:33:44 <fizzie> I've done a tiny bit of Symbian C++, and it... wasn't pleasant. The user interface side seemed especially painful, although I didn't really have to touch that.
09:50:11 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
09:57:28 -!- ais523 has joined.
10:21:52 -!- seveninchbread has quit (Read error: 110 (Connection timed out)).
10:24:04 -!- CakeProphet has joined.
10:48:16 -!- psygnisfive has changed nick to p5[z.
10:48:35 -!- p5[z has changed nick to p5[zi.
10:48:58 -!- p5[zi has changed nick to p5[ziiz].
11:06:04 -!- BeholdMyBot has joined.
11:13:58 -!- BeholdMyBot has quit ("bye").
11:14:15 <ais523> I wonder if BeholdMyBot is a bot
11:15:22 -!- FF|Java|2 has joined.
11:15:39 -!- FF|Java|2 has quit (Client Quit).
11:17:17 -!- BeholdMyBot has joined.
11:17:21 -!- BeholdMyBot has quit (Client Quit).
11:18:22 * ais523 wonders if BeholdMyBot interprets any esolangs yet
11:22:52 -!- jix has joined.
12:16:17 -!- ais523 has quit ("rebooting").
12:20:20 -!- ais523 has joined.
12:44:03 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
12:44:21 -!- comexk has joined.
12:46:59 -!- olsner has quit (kornbluth.freenode.net irc.freenode.net).
12:46:59 -!- comex has quit (kornbluth.freenode.net irc.freenode.net).
13:00:03 -!- olsner has joined.
13:06:51 -!- KingOfKarlsruhe has joined.
13:55:45 -!- Corun has joined.
14:00:57 <oklopol> fungot: do you think i should watch another ep?
14:00:57 <fungot> oklopol: lets see, there are some
14:01:06 <oklopol> fungot: well yes, there are
14:01:07 <fungot> oklopol: ( gravity influences pretty much everything, though.
14:01:55 <oklopol> glad i only needed to ask twice.
14:06:27 <fizzie> I'm not sure this ^bool thing is useful if you keep retrying until you get the answer you want.
14:07:11 <oklopol> STOP TELLING ME HOW TO LIVE MY LIFE
14:12:08 <fizzie> You will only get the benefits (happiness, money, love, that sort of stuff) if you unquestionably obey fungot.
14:12:09 <fungot> fizzie: right, and it would start being scary otherwise.... so i agree with yome, though he's a friend, i do
14:13:06 <fizzie> Unquestioningly, I mean.
14:13:35 <jix> fungot: what should i code on now?
14:13:35 <fungot> jix: the acme clone? :o) ( fnord
14:13:50 <jix> fungot: what's the acme clone?
14:13:50 <fungot> jix: http://www.bloodandcoffee.net/ campbell/ txt/ cps-tutorial.log it gets to the bottom.
14:16:21 <fizzie> Acme is the Plan 9 editor/development-environment/thing.
14:17:27 <jix> but no i will not code on that
14:18:48 <fizzie> Well, then you won't be happy and successful. It's as simple as that. (Disclaimer: fungot might also be wrong, though I don't see how that would be possible.)
14:18:48 <fungot> fizzie: is there any docs about any bytecode system used by any scheme? i'm using it for my needs.
14:19:50 <fizzie> I guess it all depends on whether cfunge's ? instruction always chooses correctly.
14:20:41 <jix> how is it implemented
14:24:07 <fizzie> Seems to be the two lowest bits out of random(), seeded by gettimeofday tv_usec member. Or at least that's what it looked like.
14:31:09 <jix> hmmm seeded on app start or with every call?
14:31:36 <jix> if it were the lower two bits of rand and not random it would be pretty predictable IIRC
14:32:03 <fizzie> Uh, app start, of course.
14:32:28 <jix> well some people want to be "extra sure" and seed before every rand call
14:32:49 <jix> that combined with the time as source can make it pretty much unrandom ^^
14:33:09 <fizzie> And as far as I know glibc's rand()/srand() just use random()/srandom() initially. But all C books and other sources warn about rand's lowest bits, so I'm sure there have been crappy rand(3) implementations.
14:34:12 <jix> hmm at least the mac os x manpage of random warns about rand usage..... the rand manpage doesn't -_-
14:34:34 <fizzie> Heh, that's a clever trick.
14:35:28 <jix> oh wait it kind of warns about it
14:35:41 <jix> rand, rand_r, srand, sranddev -- bad random number generator
14:35:43 <jix> in the title
14:36:13 <fizzie> The rand(3) man page on this Debian system says: "However, on older rand() implementations, and on current implementations on different systems, the lower-order bits are much less random than the higher-order bits. Do not use this function in applications intended to be portable when good randomness is needed. (Use random(3) instead.)"
14:37:11 <fizzie> SunOS title is more politically-correct: "rand, srand, rand_r - simple random-number generator"
14:47:13 -!- Corun has quit ("This computer has gone to sleep").
14:49:03 <flexo> even the people who come to read off the radiator thingies (know what i mean?) offer you IT work
14:54:20 <jix> hmm apple sits in munich too right?
14:54:34 <jix> apple in germany is that
15:29:49 -!- FireFly has joined.
15:38:03 -!- Hiato has joined.
15:43:16 -!- Corun has joined.
15:53:58 <jix> :/ that's bad
15:54:15 <jix> that apple germany is in munich
15:55:11 <jix> i live in bremen
15:55:51 <flexo> i suggest we skip the "your city sucks" part :)
15:56:09 <jix> and some apple guy said i could/should do an internship there when i study
15:56:53 <flexo> i just moved to munich from near hanover / gttingen / braunschweig
15:57:11 <jix> flexo: didn't got your last msg because of special chars and being unable to configure macirssi
15:57:22 <flexo> i just moved to munich from near hanover / goettingen / braunschweig
15:58:06 <flexo> oberharz.. clausthal-zellerfeld actually
15:58:11 <jix> hmm i'm finishing school this year and i planned to study here in bremen too
15:58:20 <flexo> but bremen sucks :)
15:58:31 <jix> i don't think so ^^
15:59:04 <flexo> the munich city center is really beautiful
15:59:58 <jix> but still it wouldn't be the number 1 place i want to live
16:00:11 <flexo> (granted, there are several bavarian beautiful cities)
16:00:35 <flexo> yea well. the rents are somewhat expensive hehe
16:00:37 <jix> actually i don't know what place that would be but for now bremen seems best for me... but that can change over time
16:01:36 <flexo> paying 575 eur with heating included for 38,5 m^2 x.x
16:02:11 <flexo> (and given the district this is rather cheap..)
16:02:18 <jix> hmm since i never had to rent a flat yet i have no idea how expensive that is usually or here
16:02:31 <flexo> in bremen? maybe the half :)
16:03:01 <flexo> i think "half of it" would be more correct ;)
16:03:29 <flexo> so yea, apple is here. not the reason i moved here though heh
16:03:43 <flexo> have been doing flight- and maintaince-simulators for eurocopter and eads for the last year
16:04:22 <flexo> commuting between home and munich twice a week..
16:04:35 <jix> i have been doing work on nautics-simulators (dunno if that is translated correctly) :)
16:04:45 <flexo> which means getting up at 4am on monday to start working at 10:30
16:04:54 <flexo> doing 10 hour days the rest of the week
16:05:07 <flexo> because of going back on friday at 12:00
16:05:13 <jix> that's hard....
16:05:37 <flexo> .. yea. now i moved :)
16:06:06 <jix> but what i did was just 3d graphics nothing specific to simulation
16:06:41 <flexo> next project will be integrating the control hardware from one flight-simulator with the simulation from another
16:06:45 <flexo> which means integration testing. fun :)
16:07:15 <jix> but it's one of the reasons i want to stay in bremen... i can work there basically whanever i want and get payed pretty good if i compare it to what others in my school do to earn some money ;)
16:08:18 <flexo> you know what everyone says... there is no way around the south of germany in the IT sector.. ;)
16:09:06 <flexo> as i just told you. even the "heizungsableser" are desperately searching for qualified employees ;)
16:09:22 <jix> well i don't want to work for a heizungsableser ^^
16:09:37 <jix> (even if it's IT work)
16:09:42 <flexo> there's posters everywhere
16:10:10 <flexo> 17:02 < jix> well i don't want to work for a heizungsableser ^^
16:10:57 <flexo> ^ ofcourse not as a...
16:11:14 <flexo> don't know the right term
16:11:17 <jix> flexo: i got it that way (hence i added (even if it's IT work))
16:11:42 <flexo> i mean not as an employee ofcourse
16:12:03 <flexo> i've been working as a freelancer for the past two years
16:12:14 <flexo> and i seriously don't care what customers do for their living :)
16:12:32 <jix> well but from what i can imagine the IT work a heizungsableser-company needs isn't that interesting
16:12:33 <flexo> if they've got an interesting project to work on - we'll see
16:12:38 <jix> that was my point
16:12:44 <flexo> not for the company
16:13:27 <flexo> he's working as a freelancer too
16:14:01 <flexo> this was not related to "heizungsablesen" in any way
16:14:08 <jix> ah now i got it ^^
16:14:12 <flexo> except the fact that he seems to earn a few bucks by doing it
16:15:04 <flexo> really got to get back into freelancing
16:15:15 <flexo> for obvious reasons i didn't have much time last year..
16:15:34 <jix> but since it will take some years till i finish university and i'm not even sure in what exact direction i will go i think it would be bad to move to southern germany just because everyone sais there is no way around southern germany for IT work
16:15:58 <flexo> the weather is better too
16:16:05 -!- BeholdMyGlory has joined.
16:16:12 <jix> i'm fine with the weather here
16:16:13 <flexo> there are some language issues though
16:16:55 <flexo> i've often been in bremen
16:16:59 <flexo> it's not as worse as the oberharz
16:17:09 <flexo> but it's not something to be fine with :)
16:17:12 -!- BeholdMyBot has joined.
16:17:33 <jix> flexo: what does anoy you about the weather in bremen?
16:17:38 <BeholdMyGlory> ^bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+.
16:17:39 <BeholdMyBot> Interpreting >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+.
16:17:49 <flexo> jix: it's cold, rainy, gray - just as all nothern germany
16:18:11 <BeholdMyGlory> okay. seems i'm not the first one who made a bf-interpreting bot
16:18:26 <jix> it's not too hot here i like that
16:18:30 -!- BeholdMyGlory has left (?).
16:18:55 -!- BeholdMyBot has left (?).
16:19:04 <flexo> it's not "hot" in the south either. just very comfortable.
16:19:16 <jix> well when i was in munich the last time it was way too hot
16:20:37 <jix> but i think this "where to live" discussion is going nowhere and is quite redundand
16:21:23 <flexo> going nowhere because you fail to accept the truth :)
16:39:42 -!- sebbu2 has joined.
16:40:49 -!- sebbu has quit (Read error: 148 (No route to host)).
16:40:50 -!- sebbu2 has changed nick to sebbu.
16:41:50 -!- KingOfKarlsruhe has quit (Remote closed the connection).
16:50:03 <ehird> 16:18 <BeholdMyGlory> okay. seems i'm not the first one who made a bf-interpreting bot
16:50:03 <ehird> 16:18 <BeholdMyGlory> that's dissapointing
16:50:07 <ehird> So virginly innocent.
16:50:11 <ehird> fungot is written in befunge by the way.
16:50:11 <fungot> ehird: when people poke me at night, dressed completely in white and all sorts of odd things, so it was 2002
16:50:20 <ehird> http://zem.fi/~fis/fungot.b98.txt
16:50:20 <fungot> ehird: and er, " singularity"? so it's serious?
16:59:57 -!- p5[ziiz] has quit (Read error: 60 (Operation timed out)).
17:06:31 -!- kar8nga has joined.
17:11:36 -!- MigoMipo has joined.
17:12:10 -!- oerjan has joined.
17:18:31 <oerjan> depends what you mean by "today"
17:18:45 <oerjan> 03:18:22 * ais523 wonders if BeholdMyBot interprets any esolangs yet
17:30:50 <oerjan> i would like to warn people against visiting Trondheim in January.
17:31:37 <oerjan> unless you are an american billionaire, in which case i would like to invite you to come here, break some bones, and sue the bejeezus out of our snow cleaning services.
17:33:01 -!- kar8nga has left (?).
17:37:09 -!- oerjan has quit ("leaving").
17:37:20 -!- oerjan has joined.
17:38:37 <oerjan> O_o was that automatic?
17:40:52 <olsner> btw, was this the channel where you were discussing volatile and signals the other day?
17:41:39 <olsner> did you get around to discussing sig_atomic_t? if not I believe someone may have drawn incorrect conclusions
17:45:53 <olsner> okay, as I suspected... I won't waste time explaining it though since it's all described elsewhere anyway
17:55:11 -!- asiekierk has joined.
17:55:19 <asiekierk> I'm uploading another sock puppet movie
17:55:38 <asiekierk> The points are: ".", ".", "." and ".".
17:56:01 <oerjan> but under what topology?
17:58:02 <asiekierk> ((i hope YouTube WILL make it HQ this time))
17:58:16 <ehird> it will be my pleasure not to watch it
17:58:37 <asiekierk> and i wasted 1 hour of my life to do that :(
17:58:51 <asiekierk> NEWS @ SOCK | ehird doesn't want to watch my videos!
17:59:04 <oerjan> ehird: hey don't talk like that! you'll force me to watch it just out of pity :(
18:00:31 <AnMaster> <oerjan> but under what topology? <-- heh
18:01:03 <AnMaster> oerjan, I *think* I understood it, I know a bit of basic topology.
18:01:05 <oerjan> anywhere else that would have been too obscure for _anyone_ to get it :)
18:01:13 -!- MigoMipo has quit ("Life without danger is a waste of oxygen").
18:02:59 <oerjan> asiekierk: in mathematics, nearly every "set of points" comes with a mathematical structure called a topology.
18:06:48 -!- Mony has joined.
18:10:09 <AnMaster> oerjan, also a topologist can save on expenses for coffee breaks in a unusual way. :)
18:11:16 <AnMaster> oerjan, I'm quite sure this joke is old
18:11:17 <ehird> don't try and understand it, I think it would kill you
18:11:29 <oerjan> ehird: so you've heard it?
18:11:36 <ehird> but AnMaster's telling it
18:11:49 <oerjan> you mean he'll mess it up somehow?
18:11:59 <ehird> no, but if he thinks it's funny, it's probably _awful_
18:12:00 <oerjan> so the point disappears...
18:12:22 * AnMaster drinks a cup of coffee and then eats the cup as a doughnut.
18:12:22 <ehird> my logic is infallable
18:12:29 <oerjan> also, completely unintended until i clicked return
18:13:18 <oerjan> i was fearing a klein bottle
18:13:45 <AnMaster> ehird, was it that bad? I'm sure there was a flaw in the logic. (Or as we can say in Swedish, a hole in the argument!)
18:14:08 <AnMaster> oerjan, yes that one was much worse
18:14:26 <oerjan> which for puns means better
18:14:29 <fizzie> One day I'll buy one of those Acme-brand glass Klein bottles. They come with a calibrated decal showing the volume, and everything: http://www.kleinbottle.com/images/classicbigcal1.jpg
18:15:24 <oerjan> but is it the inside or outside volume?
18:15:43 <ehird> 18:15 <AnMaster> fizzie, that is a fake one
18:15:52 <ehird> wanna show me a real klein bottle?
18:16:34 <oerjan> first we need to invent wormholes. then it will be a simple matter.
18:17:37 <oerjan> possibly also strange matter
18:18:25 <AnMaster> oerjan, couldn't you do it if you could access a 4th dimension (not time)
18:25:53 <asiekierk> http://www.youtube.com/watch?v=Z-mqlXEv31k
18:28:53 * oerjan wonders if you could construct a functional, sweet edible coffee cup
18:31:40 * ehird writes a script to print out all unused 4-character-total domain names registratable by foreigners
18:32:27 <oerjan> (not actually unregistered)
18:32:47 <ehird> that is 5 characters total
18:33:12 <ehird> i know one so far: t.cx is available
18:33:17 <ehird> but I can't find a registrar that will accept it
18:33:50 <Slereah_> No one will click on a .cx link, ehird
18:34:01 <ehird> sure they will, there's plenty of non-goatse .cxs about nowadays
18:34:16 <jix> ehird: some domains have a policy to only accept domain names with a specific length
18:34:17 <oerjan> hm a.com seems not to exist
18:34:27 <ehird> i don't know if it's global nowadays though
18:34:31 <jix> like for .de it has to bee at least 3 chars afaik... only big companies seem to get an exception...
18:34:31 <oerjan> are you sure single letter domains are legal?
18:34:40 <jix> like db.de or o2.de
18:34:44 <ehird> [a-z].cc are registered
18:34:50 <jix> (or maybe they dropped that limitation)
18:34:53 <ehird> well, all letters .cx apart from t are registered
18:35:04 <ehird> a-z.cc only display their namse with varying background colours
18:35:48 <oerjan> y.fr does not exist, disappointing
18:35:52 <ehird> note: this search of all 3-char domains that can be registered by foreigners will take like 500 years
18:36:01 <ehird> y.es isn't registered :(
18:36:18 <jix> ehird: why will it take that long?
18:36:42 <ehird> jix: because there's a fucking lot of domains to search through :^)
18:36:49 <oerjan> a.cc has a webpage at least
18:36:54 <ehird> oerjan: yes, a-z.cc do
18:36:57 <ehird> 18:35 <ehird> a-z.cc only display their namse with varying background colours
18:36:57 <ehird> 18:35 <ehird> oddly
18:37:06 <ehird> jix: there are 87 cctlds that are registerable by foreigners
18:37:12 <ehird> and i have to check a-z, 0-9 on all of them
18:37:20 <ehird> I could filter for doesn't-require-predefined-subdomain
18:37:39 <oerjan> oh by foreigners, i guess that excludes .no
18:37:51 <oerjan> i think you need a registered norwegian company
18:37:54 <ehird> you can't register .no outside of norway, it seems
18:38:00 <ehird> you can with .se though
18:38:08 <ehird> %w(ac ag am as at be bi bo br bs cc cd cg ch ci ck cn cx dj dk ec es fj fm gd gl gr gs hk hm hn il im in io ir is la li ls lv md mn mp ms mu mw mx na nf nl nr nu ph pk pl pn pr ps pt ro rs ru sb sc se sh sm sr st sy tc tg th tj tk tl tm to tt tv tw ug us vc vg za)
18:38:53 <AnMaster> ehird, you could automate the whois requests
18:38:59 <ehird> no shit, that's what I'm doing
18:39:02 <ehird> except you don't need to whois
18:39:05 <ehird> just try a dns lookup
18:39:27 <AnMaster> ehird, some may go to "this domain isn't registered yet"
18:39:36 <ehird> but I wouldn't associate with such uncouth tlds anyway
18:39:52 <AnMaster> ehird, well I have seen it for .com and what not
18:40:04 <ehird> oh, those are just squatters.
18:40:15 <ehird> they'd want me to pay like £500 upwards
18:40:28 <AnMaster> you mean some registerer(sp?) reserve a domain?
18:41:05 <ehird> they register valuable-looking domains
18:41:10 <ehird> and sell them at a batshit insane premium
18:45:26 <ehird> % ruby one-char-domains.rb | tee one-char-domains.txt
18:46:13 * ehird just runs it in a terminal
18:46:50 <ehird> it fails when you pipe it
18:46:54 <jix> ehird: dns isn't enough i think
18:47:10 <ehird> if you can look it up to an IP, it's registered
18:47:12 <jix> what if i register a domain and don't set up dns?
18:47:25 <ehird> well, okay, but that's gotta be very rare
18:49:12 <ehird> jix: how would you do it, then?
18:49:15 <ehird> whois is amazingly slow.
18:50:40 * ehird drops .ag from script due to lagging up the whole thing
18:51:51 <jix> ehird: just send out the whois requests in parallel
18:52:01 <ehird> jix: and get blocked from the servers? nothx
18:52:07 <jix> they block that?
18:52:12 <jix> hmm then first do dns in parallel
18:52:22 <jix> and do whois for those who don't answer
18:52:30 <jix> dns in parallel should be no problem at all
18:52:31 <ehird> nothing to do with parallel, something's going infinite
18:52:35 <ehird> the lookup never terminates
18:52:40 <ehird> i'm trying to figure out why the fuck
18:52:48 <jix> no dns server
18:52:55 <jix> but registered maybe?
18:52:56 <ehird> except I can resolve names frmo the server
18:53:01 <ehird> a.ag takes infinite amount of time to resolve
18:53:06 <ehird> bmw.ag loads immediately
18:53:24 <jix> a.ag times out here...
18:53:56 <ehird> wonder how I could set the timeout using ruby's Resolv::DNS.
18:54:07 <jix> ehird: the nameserver for a.ag isn't online
18:54:23 <ehird> so I can't whois, I can't dns.
18:55:37 -!- KingOfKarlsruhe has joined.
19:00:43 -!- Badger has quit ("leaving").
19:05:19 <ehird> The "Shut Up Net::DNS I Know The Lookups Will Fail" maneuver:
19:05:20 <ehird> dns.instance_eval { @logger = Logger.new(File.open("/dev/null")) }
19:06:55 -!- Sgeo has joined.
19:08:08 <ehird> Need a "w" in there.
19:10:03 -!- MigoMipo has joined.
19:10:08 -!- Hiato has quit ("Leaving.").
19:10:45 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
19:12:15 <jix> hmm have a working script now
19:12:47 <ehird> http://pastie.org/private/ertajest839sfbb2vei1yw
19:13:06 <ehird> And also intolerably slow , but there you go.
19:13:33 <jix> missed an I there
19:13:36 <jix> mine is pretty fast
19:15:39 <jix> still testing
19:15:46 <jix> haven't done a complete run yet
19:16:02 <ehird> Of course, even if I find one of these domains that is nice and available and registerable, it'll cost like £100/year
19:17:05 <jix> took me 53.727secs to find 1460 free domains
19:17:23 <ehird> 1460? Is that using the same cctld set as mine?
19:17:55 <ehird> neat. show your script? :)
19:17:58 <oklopol> why did the tld cross the road?
19:18:05 <ehird> to get to the other sied
19:18:16 -!- Corun has quit ("This computer has gone to sleep").
19:18:18 <oklopol> no to get to the other SITE XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
19:18:18 <jix> ehird: i want to try how fast i can get it first ;)
19:18:28 <oklopol> no wait that didn't make sense.
19:18:36 <ehird> jix: psht, 53 seconds is faster than the 10+ minutes I got :(
19:18:59 <oklopol> err. isn't the bottleneck kinda not in the script if you're doing something like that?
19:19:48 <oklopol> well i guess you could optimize the average running time by a few microseconds still.
19:20:42 <ehird> jix: besides, how fast does a program like that need to be?
19:20:47 <ehird> i mean, vs actually being able to read it
19:20:53 <jix> oklopol: i'm trying how many worker threads can run in parallel
19:21:08 <ehird> that's machine-specific.
19:21:19 <jix> well might be the dns server drops request at some point...
19:21:38 <jix> like with 100 worker threads i seem to lose some
19:22:07 -!- Corun has joined.
19:22:53 <oerjan> wouldn't one thread per tld be more reasonable...
19:23:17 <jix> oerjan: well i use a queue for all tlds
19:23:23 <jix> oerjan: uhm for all domains
19:23:25 <oerjan> then they all are contacting different servers
19:23:37 <jix> oerjan: you send out the requests to the same server anyway
19:23:47 <jix> and then your dns server looks into its cache and then reaches for other servers
19:23:54 <ehird> how about just giving the script while you mess around with that :D
19:23:56 <jix> that's how dns works
19:24:22 <oerjan> surely there is nothing preventing you from contacting the tld servers directly
19:24:26 <jix> http://rafb.net/p/awMQ2387.html
19:24:42 <jix> oerjan: except making the code more complex
19:24:44 <oerjan> after using your local dns server once to get their names
19:24:54 <ehird> ('a'..'z').each do |letter|
19:25:21 <ehird> which should slow things down quite a bit...
19:25:54 <ehird> outputter = Thread.new do
19:25:55 <ehird> while line = output.pop
19:26:04 <ehird> that will quit on you randomly
19:26:06 <ehird> if output ever gets empty while that ticks
19:26:15 <jix> ehird: output.pop blocks
19:26:32 <jix> but the while is indeed a bit stupid
19:26:50 <ehird> just STDOUT.puts in the threads
19:26:53 <jix> because i never put nil in there
19:27:06 <jix> ehird: two threads printing at the same time
19:27:11 <jix> happened without that
19:27:23 <ehird> umm, presumably stdout is line-buffered
19:27:32 <jix> ehird: well you get two lines and then two newlines
19:27:36 <jix> instead of line, newline, line, newline
19:27:45 <jix> i could have used a mutex for output tho.... ^^
19:28:36 <jix> thinking of that i'll just do that
19:30:25 <jix> and it seems i introduced a bug in the last version without testing
19:30:38 <jix> nameing two variables the same
19:31:29 <ehird> IO.popen("host -W #{timeout} #{domain} &> /dev/stdout","r") do |pipe|
19:31:33 <ehird> that's gotta be a bottleneck
19:31:52 <jix> starting a process vs waiting for a dns replay?
19:32:16 <jix> i doubt that
19:35:14 <jix> updated version with 10 workers:
19:35:15 <jix> real2m49.290s
19:35:15 <jix> user0m10.439s
19:35:15 <jix> sys0m21.829s
19:35:20 <jix> 1998 domains.txt
19:35:24 <ehird> well, that's worse then isn't it
19:35:55 <jix> worse than what?
19:36:11 <ehird> when it took 50sec
19:36:15 <jix> well i used 30 workers there
19:36:16 <ehird> oh, is this with 0-9 added?
19:36:27 <jix> and i only used 10 to not flood the dns server
19:36:52 <jix> http://rafb.net/p/q6SwbW77.html << the code
19:38:17 <ehird> looks good. I'll run it in a bit. wanna paste domains.txt? :)
19:38:32 <ehird> the hard part is finding the ones you can actually register ofc
19:39:43 -!- Corun has quit ("This computer has gone to sleep").
19:39:54 <jix> http://rafb.net/p/ji5zS758.html << sorted domain list
19:41:52 -!- seveninchbread has joined.
19:44:41 <ehird> http://newyork.craigslist.org/mnh/eng/989464357.html
19:45:34 <ehird> The website will contain a section called winners section; here customers can go with the attempt of winning points. This will be a game of winning and losing points. Customers will be prone to lose points instead of winning.
19:45:57 -!- Mony has quit ("quit").
19:53:48 <jix> hmm whois says whether the domain is invalid or free to buy
19:54:20 <ehird> but not in a standard format.
19:54:46 <jix> but having it reduced to about 2000 domains whois might even work
19:55:07 <ehird> .cx doesnt seem to allow single-char names
19:55:11 <ehird> so you can eliminate them all
19:55:26 <ehird> also: screenscrape registrars to omit domains that are _really_ expensive ;-)
20:00:25 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
20:01:16 <ehird> http://www.screamingduck.com/Cruft/JmpAbuse.c
20:02:06 -!- asiekierk has quit.
20:07:47 -!- Zetro has joined.
20:21:45 -!- Corun has joined.
20:22:56 -!- psygnisfive has joined.
20:39:15 -!- MigoMipo has changed nick to MigoMipoSoftware.
20:40:29 -!- MigoMipoSoftware has changed nick to JohnSucks.
20:40:41 -!- JohnSucks has changed nick to JohnIsALoser.
20:43:36 -!- JohnIsALoser has changed nick to Peugeot205GTi.
20:51:32 -!- Zetro_ has joined.
20:51:46 -!- Zetro has quit (Read error: 131 (Connection reset by peer)).
20:55:06 -!- Peugeot205GTi has changed nick to MigoMipo.
20:55:22 -!- kar8nga has joined.
21:01:45 -!- KingOfKarlsruhe has quit (Read error: 104 (Connection reset by peer)).
21:07:21 -!- Zetro_ has quit (Read error: 60 (Operation timed out)).
21:09:51 -!- Zetro_ has joined.
21:10:00 -!- Zetro_ has changed nick to Zetro.
21:17:50 -!- MigoMipo has quit ("Never put off till tomorrow, what you can do the day after tomorrow").
21:17:51 -!- CakeProphet has joined.
21:21:24 -!- Zetro has quit (Remote closed the connection).
21:21:32 -!- seveninchbread has quit (Read error: 60 (Operation timed out)).
21:37:46 -!- Corun has quit ("This computer has gone to sleep").
21:47:16 <lament> i'm beginning to understand the bass guitar fretboard!
21:47:47 <lament> that's the nicest position.
21:48:13 <lament> there's a high shape and a low shape, and the two have a common middle part.
21:48:37 <lament> instead of memorizing four-fret shapes, such as
21:48:55 <lament> (that's a high shape, by the way)
21:49:10 <lament> it makes more sense to memorize the low-high pair
21:49:18 <lament> because they share the middle part anyway
21:50:01 <lament> the high shape can be seen on the right.
21:50:48 <lament> (it's, uh, the E shape)
21:52:20 <lament> it's only 2-fret movement to switch from low to high or from high to low.
21:52:31 <oklopol> i just remember strings rise in fourths.
21:53:19 <lament> when actually playing, you don't have time to calculate what note is where
21:53:31 <lament> you need to know the shapes by heart
21:53:36 <AnMaster> lament, I fail at reading the notation you used
21:53:55 <AnMaster> I played guitar, though not bass guitar
21:54:02 <oklopol> lament: well i guess if you're doing a sweet sweep or something.
21:54:24 <AnMaster> (that is of course acoustic guitar)
21:54:29 <lament> AnMaster: they're just nets, people normally draw them vertically but i draw them horizontally here
21:55:15 <AnMaster> lament, can you show me a photo of holding that first one, since I fail to understand where you got your 6th finger from
21:55:35 <AnMaster> (yes I obviously fail at understanding the notation)
21:55:53 <lament> AnMaster: the fretboard is horizontal in that pic.
21:55:59 <lament> each chat line is a string.
21:56:14 <lament> it's just like you see the fretboard if you look at it while playing.
21:56:22 <AnMaster> lament, how would you hold it with those two low O?
21:56:50 <lament> when playing, you're restricted to a single position
21:56:59 <lament> five, if you extend a finger
21:57:13 <lament> like, this is a major scale
21:57:27 <lament> major scale, one octave in a single position
21:57:31 <AnMaster> lament, also, how many strings does a "bass guitar" have? You have shown 3 and 4 before
21:57:48 <lament> bass guitar has four strings: E A D G
21:57:53 <lament> same as four bass strings on a guitar
21:58:00 <lament> so all this stuff applies to that as well
21:58:15 * AnMaster has only played classical 6-stringed acoustic guitar
21:58:49 -!- BeholdMyGlory has joined.
21:58:58 <AnMaster> lament, I know the word, it means in a cage, shouting (upper case)
21:59:04 <AnMaster> but I assume that isn't what you mean
21:59:20 <lament> there're five basic chords
21:59:45 <AnMaster> ah right, I never heard that name for them
21:59:47 <lament> other chords are formed from those
21:59:54 <lament> moved to a different fret and/or altered
22:00:16 <lament> each chord corresponds to a scale
22:00:17 <AnMaster> lament, also it was around 5 years I played played guitar, I take piano lessons nowdays
22:00:20 <lament> each chord shape, i mean
22:00:27 <lament> cool, what do you play?
22:01:24 <AnMaster> right, why didn't you say that ;P
22:01:53 <oklopol> AnMaster: what else could he have meant
22:01:59 <AnMaster> lament, well, currently I have a Swedish traditional xmas song
22:02:23 <AnMaster> lament, the first lesson after xmas is on Thursday
22:03:10 <AnMaster> anyway busy now, *goes back reading postgre sql manual*
22:03:57 <AnMaster> lament, well there are two downsides (for non-electrical ones): 1) heavy 2) uses a lot of space
22:04:08 <lament> even electric ones, yeah
22:04:19 * oerjan somehow thought Himlen i min famn was written by Carola ;D
22:04:25 <AnMaster> at home I have an electrical one, I would never be able to get a non-electrical one up the stairs
22:04:50 <AnMaster> a grand piano is a lot nicer to play on
22:05:11 <AnMaster> oerjan, maybe she sang it or such?
22:05:29 <AnMaster> oerjan, the music sheet says "Trad"
22:06:02 * AnMaster tries to resume reading postgresql manual
22:06:15 <oerjan> she _is_ the first google hit for it :D
22:08:30 <AnMaster> oerjan, that doesn't mean a lot. For example I was looking for "I Dreamt That I Dwelt in Marble Halls" recently, don't remember why. And Enya is the first hit for it. But it is actually from the 1843 opera "The Bohemian Girl" if you look a bit further down.
22:09:01 <oerjan> http://sv.wikipedia.org/wiki/Himlen_i_min_famn
22:09:28 <AnMaster> oerjan, odd that it says "traditional" then on the sheet of music.
22:09:34 <AnMaster> and there are no citations there
22:09:39 <oerjan> well if you believe swedish wikipedia
22:09:59 <oerjan> well it is strange that _most_ of the google hits for the first two pages mention her
22:10:02 <AnMaster> and the sheet of music could be wrong, who knows
22:10:17 <oerjan> the melody could be older
22:10:50 <FireFly> Yey, my JS snake has 7th hit on swedish google for pages from the whole web for "Javascript snake" :D
22:10:52 <oerjan> it's not exactly unheard of for old melodies to get new christian texts
22:12:03 <AnMaster> oerjan, true, also it says the book was printed in 1993. And sv wikipedia claims it to be from 1999. This makes the whole thing quite a lot more dubious
22:12:32 <oerjan> your sheet music book?
22:14:03 <FireFly> http://www.google.com/search?hl=sv&client=opera&rls=en&hs=vCV&q=javascript+snake+&btnG=S%C3%B6k&lr=
22:14:05 <AnMaster> oerjan, well a photocopy of one, with the word "Copyright 1994 Bonniers" and "Kopiering förbjuden" at the bottom of the page. The actual book is from/at the music school.
22:14:15 <FireFly> > FireFly.nu - Javascript-Snake
22:14:49 <FireFly> "a photocopy" "Kopiering förbjuden"
22:14:53 <ehird> Swedes. They are crazy
22:15:10 <oerjan> hm there's another link claiming she is the composer (but not the lyrics writer)
22:15:15 <ehird> BeholdMyGlory: because they are
22:15:17 -!- kar8nga has left (?).
22:15:29 <oerjan> oh wait that's a norwegian text translation
22:15:34 <ehird> BeholdMyGlory: yes: everyone in here.
22:15:57 <AnMaster> FireFly, interesting if you referse 180 degrees it looks backwards but continues forwards
22:15:58 <ehird> sheesh do you realise where you are
22:16:06 <ehird> you're crazy by definition
22:16:08 <FireFly> I know, and no, it isn't :P
22:16:29 <FireFly> But I havn't done anything to try to fix it
22:16:48 <lament> AnMaster: pianos are the best because you play them sitting down
22:16:57 <AnMaster> FireFly, why not use "Spel slut" instead of "Game over"?
22:17:05 <ehird> because swedes are crazy
22:17:15 * oerjan adds -carola to the google search
22:17:32 -!- BeholdMyBot has joined.
22:17:44 <FireFly> Not very good when you link it in english channels :D
22:17:55 <FireFly> No, but I prefer the english term, feels more.. correct
22:17:55 <BeholdMyBot> Vote cast by BeholdMyGlory: Are swedes crazy?
22:18:10 -!- jix has quit ("...").
22:18:35 <AnMaster> ehird, that counts as abstain?
22:18:37 <lament> BeholdMyGlory: "Vote cast by BeholdMyGlory" means you have voted.
22:18:44 <oerjan> this is not helping...
22:19:00 <ehird> ^burninafireypitofhell
22:19:04 <oerjan> hey i didn't get to vote :(
22:19:13 -!- ehird has changed nick to notehird.
22:19:19 -!- notehird has changed nick to ehird.
22:19:27 -!- ehird has left (?).
22:19:29 -!- ehird has joined.
22:19:35 -!- ehird has left (?).
22:19:43 -!- notehird has joined.
22:19:52 -!- notehird has changed nick to ehird.
22:19:55 <FireFly> Protip: It uses the hostname
22:19:56 <ehird> im not changing my effing ident for you
22:19:58 <lament> ehird: change username
22:20:18 <lament> "No vote cast" is not correct either.
22:20:19 <AnMaster> FireFly, hostname is bad, since often a lot of people are on the same host
22:20:37 <FireFly> Better than no protection at all / nick protection
22:20:50 -!- BeholdMyBot has quit ("bye").
22:21:13 <ehird> depends how well you pay. :|
22:21:20 <AnMaster> lament, that always confused me
22:21:46 <AnMaster> "Does too" seems like bad English grammar.
22:21:55 <AnMaster> BeholdMyGlory, no voting in progress
22:21:57 <lament> here's a bass guitar with infinitely many (well, 10) strings:
22:21:58 <ehird> <AnMaster> wut is an idiom??????//////
22:22:18 <lament> http://hpaste.org/13867
22:22:24 <ehird> AnMaster: "no, you're wrong, it does"
22:22:30 <lament> you'll get the same shape if you tune a regular guitar in all fourths
22:23:04 <AnMaster> because logically ehird, I think it sounds like it means "yes you are right, but it is also the opposite" or something like that
22:23:17 <ehird> omg, english is not totally logical
22:23:38 <fizzie> I hopes you people already advertised fungot's sources to new bot-writers, hmm?
22:23:39 <fungot> fizzie: heh... yes, i can accept that... " angery"?
22:23:39 <ehird> let's switch to LOJBAN
22:23:40 -!- BeholdMyBot has joined.
22:23:58 <ehird> BeholdMyGlory: in case you missed it - http://zem.fi/~fis/fungot.b98.txt
22:23:59 <fungot> ehird: ( mit scheme)" at http://paste.lisp.org/ display/ fnord) has a rather large undertaking a moderately sized channel made up of bugs, ahead of primitive nations like finland. :p they claim that a single lsd dose ( much lower than their freenode counterparts.
22:24:00 <fizzie> Ha, the tab strikes again.
22:24:03 <ehird> it also interprets brainfuck
22:24:10 <ehird> I suggest you don't bother. :D
22:24:27 <ehird> BeholdMyGlory: the source to fungot
22:24:27 <fungot> ehird: yes i guess it can be taught how to optimise it... fnord! shub-niggurath! as a tripcode seperator along with the current cdr.
22:24:30 <ehird> written in befunge-98
22:24:37 <ehird> http://esolangs.org/wiki/Befunge
22:24:44 <ehird> ^bf ,[.,]!it does brainfuck
22:24:48 <ehird> ^ul (and underload)S
22:24:48 <FireFly> I don't like the syntax of Befunge ._.
22:24:50 <lament> ^vote Should bots have the same rights as human IRC users?
22:24:51 <BeholdMyBot> Vote created by lament: Should bots have the same rights as human IRC users?
22:24:52 <ehird> fungot: and it babbles nonsense!
22:24:53 <fungot> ehird: riight. with lynx that is: ( vector-set! hwc 3 o)
22:25:09 <ehird> In conclusion: stop writing your esoteric bot unless you can match its features in a more esoteric way. :P
22:25:10 <oklopol> lament: err where does the scale start? from the lower-left?
22:25:24 <lament> oklopol: from anywhere, really
22:25:58 <lament> oklopol: if it's c-major, then C is on the second string from the bottom on the first fret
22:26:10 <lament> oklopol: but basically whenever you see this shape
22:26:21 <oklopol> oh the 4th note from lower-left
22:26:21 <lament> the bottom-right note there is the root
22:27:06 <BeholdMyGlory> ehird: actually, it's not supposed to have something to do with esoteric languages
22:27:11 <oklopol> probably would've heard that if i'd sung that in my head, my pattern matching skills didn't do it without writing it down in another format first.
22:27:23 <AnMaster> BeholdMyBot, "<BeholdMyBot> Yes leads no with 1>0." <-- shouldn't it be "leads over"
22:27:53 <oerjan> AnMaster: is "komponist" the word for composer in swedish?
22:27:53 <oklopol> (visual pattern matching skills that is, they work more consciously, and less efficiently)
22:28:07 <BeholdMyBot> Vote created by BeholdMyGlory: Does swedes pwn?
22:28:23 <lament> oklopol: it seems necessary to imagine something like this while actually playing to be sure you hit the right frets
22:28:29 <ehird> BeholdMyGlory: can you stop kthx
22:28:30 <AnMaster> oerjan, I have no clue what a "komponist" is.
22:28:43 <lament> oklopol: (that's not much to imagine since the actual repeating pattern is pretty small)
22:29:09 <ehird> http://polandian.wordpress.com/2008/04/21/polish-road-signs-some-of-my-favorites/
22:29:10 <AnMaster> oerjan, what is it in Norwegian?
22:29:19 <oklopol> lament: well i remember all (jump-as-interval, jump-in-strings) tuples
22:29:51 <AnMaster> ^vote Will this vote end in a draw?
22:29:51 <BeholdMyBot> Vote created by AnMaster: Will this vote end in a draw?
22:29:53 -!- BeholdMyBot has quit ("bye everybody :D").
22:30:01 <oerjan> i was trying to find a way to get only swedish hits on the question who wrote that song
22:30:02 <AnMaster> I was trying to create a PARADOX!
22:30:33 <FireFly> oerjan, try "search for pages in swedish" on swedish google
22:30:36 <oklopol> lament: of course i do imagine parts of that pattern automatically while doing that, i just never learned a pattern of any kind explicitly, so it's less conscious.
22:30:49 <oerjan> FireFly: using kompositör seemed to work
22:31:26 <oerjan> this too claims carola is the composer: http://www.notpoolen.com/SheetMusic/Default.aspx?SheetMusicID=1230
22:32:01 <AnMaster> oerjan, well I can only cite what it says in sheet of music
22:32:18 <olsner> wtf, why do I find you talking about carola?
22:32:20 <oerjan> is it really the exact same melody?
22:33:35 <oerjan> olsner: AnMaster said he was playing the traditional swedish christmas song "Himlen i min famn" on piano. i joked i thought that was by carola. and now i cannot find anything on the web to prove me wrong :D
22:34:01 <oerjan> but his notes are _older_ than carola's record!
22:34:18 <olsner> she is a crazy devout christian so it wouldn't surprise me
22:34:57 <oerjan> i didn't know crazy devout christians could do time travel ;D
22:35:00 <MizardX> ^vote Will the next vote be ^no?
22:35:03 <ehird> olsner: some redundancy there
22:35:31 <olsner> ehird: no, when it comes to carola that really isn't redundant :P
22:36:26 <oerjan> "greater than the sum of the parts", perhaps...
22:36:52 <ehird> i am _so_ intolerant :D
22:37:13 <ehird> die ... non-atheist scum!
22:37:54 <ehird> ANTI-JIHAD \//////////////////////////////////
22:38:15 <FireFly> INFINITE LOOP = SUICIDE +[>+]
22:38:37 <ehird> Thank you for that
22:39:20 <ehird> it'll just kill it after a while.
22:39:59 <BeholdMyGlory> being coded in java, the memory runs out almost instantly
22:40:13 <ehird> we're not friends any more.
22:40:17 <ehird> FireFly: underload
22:40:24 <ehird> http://esolangs.org/wiki/Underload
22:40:27 <ehird> BeholdMyGlory: _java_
22:40:41 <ehird> BeholdMyGlory: _j_a_v_a_
22:40:56 <FireFly> We have a Java test tomorrow
22:41:17 <FireFly> It's either Java or no programming for us
22:41:17 <ehird> FireFly: well he seems to be ok with it
22:41:23 <ehird> BeholdMyGlory: you are unholy
22:42:19 <ehird> yes. you are religious.
22:42:26 <FireFly> Hrm, intepreting argh in command-line would be quite hard
22:42:52 <BeholdMyGlory> ehird: no. no, I certainly are not religious. you take that back this minute!
22:43:05 <ehird> BeholdMyGlory: ok mr religious
22:43:07 <oerjan> FireFly: it's somewhere between argc and argv
22:44:03 <ehird> BeholdMyGlory: insensitive much
22:44:29 * oerjan makes another notch in his gun
22:45:06 <BeholdMyGlory> how are strings stored in the buffer terminated in bf?
22:45:45 <AnMaster> <FireFly> It's either Java or no programming for us <-- ouch, at least I could take C++ course, which while still horrible isn't as bad as Java
22:45:50 <ehird> ... BeholdMyGlory:
22:45:54 <ehird> that makes no sens
22:46:01 <ehird> there's no intrinsic string mechanism in bf.
22:46:40 <oerjan> AnMaster: you try making a 1-line ASCII gun
22:46:42 <ehird> well you make no sense :P
22:47:06 <AnMaster> oerjan, ===# <-- seem from above
22:47:36 <oklopol> BeholdMyGlory: the language imposes no constraint on how you store strings.
22:47:57 * AnMaster prefers his =========##### (again from above)
22:48:16 <FireFly> It was supposed to be something which it doesn't look like
22:48:18 <oerjan> BeholdMyGlory: EOF is often given as 0 on input, i think fungot uses that
22:48:19 <fungot> oerjan: eval ( ( ( in there. an mit scheme repl does indeed provide hooks for customizing the printer, since everything is global :)
22:49:01 <oerjan> ^bf ,[.,]++++++++[>+++++<]>.!test
22:49:18 <oerjan> ^bf ,[.,]++++++++[>+++++<-]>.!test
22:49:19 <BeholdMyGlory> oerjan: hm. i've tried that, but game of life doesn't work any better for that in my interpreter
22:49:38 <AnMaster> BeholdMyGlory, eh? game of life in bf?
22:49:43 <ehird> AnMaster: it exists
22:49:45 <ehird> BeholdMyGlory: whaaaaaaaat
22:49:50 <ehird> that makes no sense
22:49:50 <oerjan> yeah fung*t does 0 on eof
22:49:59 <ehird> AnMaster: game of life in BF exists
22:50:06 <AnMaster> oerjan, fung*t? Did you mean fungot?
22:50:06 <fungot> AnMaster: import " ircutils" def x def lament set lament getuser " esoteric" and " fnord
22:50:12 <ehird> that's why he did that.
22:50:19 <BeholdMyGlory> http://www.linusakesson.net/programming/brainfuck/index.php
22:50:56 <AnMaster> ehird, also of course it exists, my question was how it was related to the line oerjan ran
22:51:12 <ehird> you fail at parsing english.
22:51:13 <BeholdMyGlory> I actually think that the person who made game of life to bf is swedish (Linus Åkesson sounds swedish, right? :P)
22:51:35 <AnMaster> BeholdMyGlory, yes, but I don't know if it could be some other Nordic country
22:51:49 <oerjan> AnMaster: i was merely testing fung*t's EOF convention
22:52:20 <ehird> My name is Linus Åkesson, though some of you may know me as lft. I live in Lund, Sweden, and work as a software engineer.
22:52:40 <AnMaster> hm Lund, that is Danish isn't it ;P
22:52:42 <oerjan> BeholdMyGlory: other common EOF conventions for bf are "no change" and -1
22:53:09 <AnMaster> (it is actually close to Denmark, and the dialect there is like a mix of Swedish and Danish)
22:53:22 <oerjan> BeholdMyGlory: well if it's 8-bit
22:53:47 <fizzie> Re fung*t, the tape is 1000 cells long, wraps, and the cells are 8-bit and also wrap.
22:53:56 <ehird> fizzie: he means eof
22:54:02 <ehird> BeholdMyGlory: go for 0
22:54:21 <fizzie> ehird: Yes, I just thought I'd list the other conventions I used. EOF-0 was already mentioned.
22:54:45 <ehird> why not make it unbounded
22:54:47 -!- Corun has joined.
22:54:56 <AnMaster> ehird, have you run into any issues so far?
22:55:11 <ehird> BeholdMyGlory: 30,000 is müller's original
22:55:15 <ehird> but unlimited is TC
22:55:16 <oerjan> BeholdMyGlory: if you want to test a game of life program you'll need to find the bf conventions used. the brainfuck page on the wiki has an entire section about bf convention variations
22:55:19 <ehird> assuming an infinite computer
22:55:28 <fizzie> The original wasn't unlimited either. And I don't want it to consume an unbounded amount of memory.
22:56:08 <BeholdMyGlory> ehird: well, i use an arraylist, making the memory unlimited, as far as java allows it
22:56:19 <AnMaster> fizzie, do you pack 4 bf-cells into each bef-cell?
22:57:31 <fizzie> Yes, I don't do that. It's just that the "+n" operation (I combine consecutive +++s and ---s) actually does "x=(x+n)%256", and the "move right n steps" does "pos=(pos+n)%1000".
23:02:08 <BeholdMyGlory> okay, it's after midnight here in sweden, and it's time to go to bed
23:02:17 -!- BeholdMyGlory has left (?).
23:03:37 -!- FireFly has quit ("Later").
23:18:27 <AnMaster> ARGH I have become trapped in a tv troupe website
23:23:16 <AnMaster> it means "Life Without A Number" according to google
23:23:34 <AnMaster> No standard web pages containing all your search terms were found.
23:23:34 <AnMaster> Your search - EOCREMCA - did not match any documents.
23:23:42 <AnMaster> Your search - WTTBYAAN - did not match any documents.
23:24:05 <oerjan> oklopol: you are even more evil than me. i am proud of you.
23:24:24 -!- ehird has set topic: eurocreme | http://tunes.org/~nef/logs/esoteric.
23:24:34 * oerjan may be slightly affected by just reading dilbert
23:24:54 <AnMaster> ehird, did you google it first
23:24:55 <oklopol> i'll just assume you didn't, just tell my if you did.
23:25:12 <AnMaster> ehird, it seems to be a site for gay porn...
23:25:13 <oklopol> you don't have to google "eurocreme".
23:25:28 <AnMaster> Eurocreme.com - Welcome to Eurocreme.com!
23:25:28 <AnMaster> This site contains hardcore gay pornography. If you are under the age required by law in your place of residence to view such material, or if it is illegal ...
23:25:28 <AnMaster> www.eurocreme.com/ - 7k - Cached - Similar pages -
23:26:51 <oerjan> ehird: don't you dare ruin your precious innocence!
23:27:11 -!- olsner has quit ("Leaving").
23:27:47 <oklopol> in no sense does he have innocence.
23:28:20 <oerjan> yay i found a flaw in oklopol's sarcasm detector!
23:28:39 <oklopol> oerjan: sorry, pun generator overrides it.
23:29:07 <oerjan> oklopol found a flaw in my pun detector!
23:31:11 <oklopol> inner sensation chicks are hot
23:34:13 <oklopol> okokokokokokokokokokokokoko
23:34:18 <oklopol> should probably go to sleep soon
23:34:30 <oklopol> courses start tomorrow \o/
23:34:36 <oklopol> life is worth living again!
23:36:43 <kerlo> First amendment; therefore, despite being only 11, I can view all the hardcore gay pornography I want.
23:36:47 <kerlo> Or something like that, anyway.
23:38:13 <oklopol> you're 11 and you know lojban?
23:38:25 <kerlo> I'm 16 and know only some lojban.
23:38:33 <oklopol> well you know all the best words.
23:39:09 <oklopol> my nick comes from "lo polko", it means "the path", you know, i'm a kung fu master.
23:39:27 <oklopol> (also don't look that up, it's a secret gismu)
23:40:10 <ehird> oklopol: kerlo = ihope
23:40:14 <ehird> = Warrigal = warrie = uoris
23:40:18 <ehird> = dogface or whatever
23:40:28 <oklopol> ehird: ohh that i have missed somehow.
23:40:29 <kerlo> Which took me two minutes to look up.
23:40:51 <ehird> kerlo first entered here when he was 12, I know this because as an obsessive logreader I have to keep track of these things
23:41:23 <kerlo> Hmm. ihope, dogface, Warrigal, warrie, uoris, kerlo, in that order, I believe. So I change nicks every eight months, on average?
23:42:02 <kerlo> And kerlo is mundane enough that I could actually use it as a real-life nickname. :-P
23:42:48 <kerlo> I am a female war.
23:43:04 <kerlo> But "kerlo" is obviously a male name, as it ends in "o".
23:43:16 <oklopol> well yeah i guess girl-o could be like a tranny
23:43:32 <kerlo> Despite the last letter of a lojban gismu being meaningless except in precisely one case.
23:44:06 <kerlo> (It's required to distinguish between broda, brode, brodi, brodo and brodu, which are isomorphic.)
23:44:41 <oklopol> "ihope", planning to change sex, hoping it goes okay, "dogface", didn't go okay, "Warrigal, warrie, uoris", hormone treatments made you angry all the time, "kerlo", finally fully a woman
23:45:30 <oklopol> kerlo: if you're telling that to me, i will have to inform you i know everything already. and no one else cares.
23:46:17 <oklopol> aaaanyway, i'm going to sleep. getting a bit too imaginative.
23:47:37 <oklopol> maybe we can hook up some time
23:49:47 <psygnisfive> why do you have to go to sleep just when i see you? >_<
23:55:08 <kerlo> Hang on a moment, if you will.
23:57:01 <oerjan> kerlo: what, are you going to leave us hanging like that?
23:57:18 <ehird> [ehird:~/Code] % gforth forthbot.f -e "RUN BYE"
23:57:18 <ehird> USER forthbot forthbot forthbot forthbot
23:57:26 <ehird> oerjan: yes, it prints C
23:57:38 <kerlo> oerjan: no, you can stop hanging now.
23:59:22 <ehird> : CAT BEGIN KEY EMIT AGAIN ;
00:00:12 <ehird> oi, revel in its awesomosity
00:00:27 <kerlo> It reminds me of...
00:00:30 <AnMaster> ehird, forth is a fun language
00:00:42 <AnMaster> is it to show it is a SERIOUS LANGUAGE?
00:00:47 <ehird> AnMaster: ANS Forth only guarantees that the standard routines are available in uppercase form
00:00:55 <ehird> so, generally, you just TURN ON THE CAPSLOCK AND TYPE
00:01:26 <AnMaster> ehird, well. ok. but I mean upper case only languages reminds me of COBOL and SQL. Not a nice combination
00:01:44 <ehird> Forth is mainly used for embedded work. It's not pretty. It's a pretty closed-world system.
00:01:52 <ehird> kerlo: That's essentially it :P
00:02:03 <ehird> I mean, key returns as soon as one keyboard key is pressed.
00:02:06 <AnMaster> ehird, it also reminds me of INTERCAL
00:02:18 <ehird> and if you press <ENTER>, it just does a carriage return and goes to the start of the line
00:02:23 <ehird> no new line, no clearing of the current one
00:02:41 <ehird> s/carriage return/line feed/
00:02:43 <kerlo> Are you trying to tell me that KEY gets a keystroke?
00:03:10 <kerlo> A line feed goes to the start of the line and does not give you a new line?
00:03:18 <kerlo> In other words, it returns the carriage and does not feed a line?
00:03:25 <ehird> Okay, okay, it's a carriage return
00:03:33 <ehird> but in forth, the word CR prints a carriage return/line feed so :P
00:04:04 <ehird> gah, my nc is not BIG_GAPING_SECURITY_HOLE'd
00:04:09 * ehird tries to make it so
00:08:00 <ehird> someone give me a working netcat
00:09:18 <fizzie> Didn't I have a befunge interpreter in forth somewhere? Maybe I should try enhancing it to do funge-98 some day...
00:09:28 <ehird> : INIT-USER ." USER forthbot forthbot forthbot forthbot" CR ;
00:09:28 <ehird> : INIT-NICK ." NICK forthbot" CR ;
00:09:30 <ehird> : INIT-JOIN ." JOIN #esoteric" CR ;
00:09:32 <ehird> : INIT INIT-USER INIT-NICK INIT-JOIN ;
00:09:36 <ehird> : RUN INIT MAIN-LOOP ;
00:09:38 <ehird> is that good style? :P
00:10:08 * kerlo takes a look at su
00:11:09 <fizzie> Here's my Forth style, but I have no idea whether it's good or not; probably not: http://zem.fi/~fis/be.fs.html
00:11:58 <ehird> BE-GETC is vey long
00:12:05 <ehird> and you have stack diagrams up the wazoo
00:13:32 <fizzie> They are aligned in vim; I think the syntax/2html.vim gets confused by them tabs somehow.
00:13:48 <AnMaster> ehird, wazoo - Zoo in, Washington, US
00:14:07 <ehird> fizzie: yes but you're not meant to have them outside of word definitions
00:14:27 <ehird> A damn useful little "backend" utility begun 950915 or thereabouts,
00:14:27 <ehird> as *Hobbit*'s first real stab at some sockets programming. Something that
00:14:29 <ehird> should have and indeed may have existed ten years ago, but never became a
00:14:31 <ehird> standard Unix utility. IMHO, "nc" could take its place right next to cat,
00:14:33 <ehird> cp, rm, mv, dd, ls, and all those other cryptic and Unix-like things.
00:14:35 <ehird> lol, nc was the guy's first sockets prorgam
00:14:53 <ehird> great program, wonder why he fell of the face of the earth
00:15:19 <fizzie> ehird: Well, they were useful when debugging the thing.
00:15:22 <ehird> AnMaster: not gnu nc
00:15:24 <AnMaster> however I usually use socat instead
00:15:36 <AnMaster> ehird, why does gnu netcat suck?
00:15:52 <ehird> bloated, shitty, like all gnu programs, and not a real improvement over hobbit's original code
00:16:04 <flexo> yea, gnu sucks in general
00:16:07 <AnMaster> ehird, gnu emacs isn't shitty!
00:16:16 <flexo> all bloated, un-unix-ish
00:16:21 <ehird> original netcat is only 1668 lines long and does everything gnu netcat does
00:16:27 <flexo> trying to do vender-lockin all the time
00:16:31 <AnMaster> ehird, well yes, I prefer socat
00:16:44 <flexo> and they code c like it was lisp
00:16:58 <flexo> the gnu coding standard is horrible
00:17:18 <ehird> gnu cat is a good laugh
00:17:33 <ehird> gnu emacs is exactly like the rest of the gnu tools
00:17:44 <fizzie> The original netcat doesn't do ipv6. Although I have to admit I use here openbsd's netcat, which is the original with IPv6 support patched in.
00:17:47 <flexo> yea, well, i've got taste
00:18:16 <flexo> that's the reason i don't like emacs either
00:18:22 <fizzie> Still, I think the GNU compiler collection doesn't suck that much.
00:18:37 <flexo> the gnu coding style is used there too though
00:18:48 <flexo> gcc is about the only gnu program which doesn't totally suck
00:18:55 <AnMaster> flexo, it sucks more than gnu emacs
00:19:12 <flexo> yea, and i'm right
00:19:22 <AnMaster> flexo, except it is subjective clearly
00:19:46 <ehird> gcc is only nice because it works, though
00:19:47 <ehird> code-wise, more of the same
00:19:50 <AnMaster> flexo, well, I'm sure vim has nicer coding style, EXCEPT it doesn't do what I need
00:20:04 <flexo> yea, vim isn't so nice
00:20:10 <ehird> flexo don't bother arguing with AnMaster, he doesn't have mutable state
00:20:12 <flexo> it's rather bloated
00:20:20 <AnMaster> flexo, same for vi, it doesn't do what I need
00:20:24 <flexo> ehird: look again, do you see me arguing?
00:20:36 <flexo> "yea, and i'm right" is not really an argument
00:20:52 <fizzie> Anyways, g'netcat. I mean, g'night.
00:20:53 <flexo> AnMaster: well, you need the wrong stuff
00:20:55 <AnMaster> ehird, I have a mutable state except when I don't
00:21:25 <ehird> things can be subjective but there only be one right answer.
00:21:33 <ehird> but then AnMaster is a hypocrite
00:21:47 <ehird> hmm wonder why forthbot isn't joining
00:21:48 <AnMaster> also I dislike rock music, and what about it?
00:21:57 <flexo> emacs is like rock music
00:22:00 <flexo> don't you see the connection?
00:22:04 <ehird> AnMaster: you force that on anyone who mentions rock music
00:22:05 <flexo> ask ehird about it
00:22:26 <AnMaster> ehird, no it is my personal view point, which I indeed promote
00:22:45 <ehird> hey AnMaster classical sucks
00:22:49 <AnMaster> ehird, I learned how by your way of promoting OS X
00:22:49 <ehird> whenever you mention classical music
00:22:59 <ehird> i only do that when people are having an OS pissing match
00:23:05 <ehird> or i'm blabbing to myself
00:23:16 <flexo> os x sucks, actually
00:23:47 <flexo> this is how i got into esoteric programming
00:23:50 <AnMaster> flexo, I mean, not compared to windows
00:23:51 <flexo> i got so fucking frustrated
00:23:56 <ehird> i like os x. some people with poor taste dislike it.
00:24:00 <ehird> they're just misguided.
00:24:00 <flexo> because all programming languages suck at some point
00:24:07 <ehird> everything sucks, flexo
00:24:11 <flexo> the operating systems are buggy
00:24:13 <ehird> the thing to do is to optimize for least suckage
00:24:31 <ehird> yes. it's just a matter of paying the right amount.
00:24:34 <flexo> but in brainfuck it's not possible to do inconsistent APIs
00:24:38 <flexo> to break naming schemes
00:25:05 <AnMaster> flexo, err yes it is, see gcc-bf
00:25:17 <ehird> USER forthbot forthbot forthbot forthbot
00:25:23 <ehird> PRIVMSG #esoteric :I am an awesome cake
00:25:27 <ehird> isn't that sufficient?
00:25:28 <flexo> brainfuck is by definition always beautiful
00:25:43 <AnMaster> flexo, obviously it must be related, so you can trace it back to the original code
00:25:48 <AnMaster> even though names have been lost
00:26:02 <flexo> it's related - so?
00:26:06 <flexo> all the uglyness has been compiled out
00:26:29 <flexo> no "real" abstraction mechanisms
00:26:33 <ehird> ok, forth phails at unix pipes
00:26:36 <AnMaster> but you could do inconsistent parameter order, like stack_pop(stack, count) stack_push(count, stack, outvariable)
00:26:42 <AnMaster> and it would be there in the result
00:26:50 <ehird> flexo: another non-sucky piece of gnu software: gforth
00:26:51 <flexo> yea well. but you don't see it.
00:27:01 <AnMaster> flexo, yes the calling convention you see
00:27:12 <flexo> you don't see anything in brainfuck code
00:27:14 <AnMaster> flexo, certainly, check gcc-bf out
00:27:21 <AnMaster> if ais found somewhere to host it
00:27:29 <AnMaster> ask ehird about details where it is hosted
00:27:45 <flexo> i'm not going to check anything out to have you destroy my worldview
00:28:15 <ehird> % ./forthbot.sh |cat
00:28:16 <AnMaster> at least I accept that I'm wrong, when I *am* wrong
00:28:29 <AnMaster> ehird, funny, so gforth sucks?
00:28:37 <ehird> trying to get forth to integrate with unix sucks
00:28:42 <flexo> i just happen to never .. am?
00:29:19 <ehird> If you pipe into Gforth, your program should read with read-file or read-line from stdin (see General files).
00:29:20 <AnMaster> well I'm sometimes wrong, but well saying subjective is objective is a bad one
00:29:34 <flexo> AnMaster: you know, i might have been kidding
00:29:36 <AnMaster> ehird, the other way around then?
00:29:37 <kerlo> Now, time to try to figure out how to use Hugs.
00:29:46 <ehird> AnMaster: type instead of ."
00:29:48 <flexo> i'm fully aware that it's not possible to argue with insane people
00:29:57 <flexo> someone prefering emacs over vi is obviously insane
00:30:06 <flexo> so i must have been kidding in my tries to argue
00:30:09 <AnMaster> <ehird> AnMaster: type instead of ." <--?
00:30:30 <kerlo> AnMaster: GHC doesn't work under Xen, I believe.
00:30:30 <ehird> hmm that doesn't work
00:30:39 <ehird> i use ghc on rutian occasionally
00:30:42 <AnMaster> kerlo, err there is no reason it shouldn't
00:31:01 <kerlo> Well, when I run GHCi, it gives me a fancy error.
00:31:15 <AnMaster> kerlo, well whatever causes that it isn't xen
00:31:22 <AnMaster> did you check if it was something else?
00:31:30 <AnMaster> also why not look around for that error
00:32:36 <ehird> aha, just need to flush stdout
00:32:46 <ehird> : say stdout write-line stdout flush-file ;
00:32:50 <kerlo> I looked around for that error. The bug page says it seems to be caused by Xen.
00:32:55 <AnMaster> ehird, it doesn't flush at exit?
00:33:25 -!- forthbot has joined.
00:33:25 <AnMaster> ehird, what is wrong with flush-file?
00:33:34 <ehird> AnMaster: flush-file flushes it
00:33:42 <ehird> neither did write-line
00:33:46 -!- forthbot has quit (Remote closed the connection).
00:33:51 <AnMaster> ehird, well "<ehird> i want line-flush" <-- why?
00:34:03 <ehird> ok, i'm not talking to you until you can comprehend basic english
00:34:22 <AnMaster> and if flush-file works, why did you want flush-line?
00:34:30 <kerlo> Okay, maybe it's not quite so Xen-related.
00:34:31 <kerlo> http://hackage.haskell.org/trac/ghc/ticket/2063
00:35:25 <kerlo> Though it doesn't actually look like that bug; it looks like this one: http://hackage.haskell.org/trac/ghc/ticket/2013
00:37:40 <AnMaster> can't they use full 64-bit pointers?
00:41:31 -!- oerjan has quit ("Good night").
00:43:44 <AnMaster> kerlo, idea, if you have multilib, just build an -m32 haskell
00:43:54 <ehird> he didn't build haskell.
00:44:00 <ehird> building ghc is nigh-on impossible
00:44:11 <ehird> i.e., it takes 4-5 hours even on this fast machine
00:44:15 <ehird> with parallel make
00:44:20 <AnMaster> ehird, true, even gentoo offers a binary package for it
00:44:46 <AnMaster> ghc, openoffice, firefox and thunderbird all have binary packages
00:44:53 <ehird> what about x11/kde
00:45:03 <ehird> compiling those is stupid, wasteful and slow
00:45:06 <AnMaster> ehird, no, but they are much faster here
00:45:16 <AnMaster> X11 takes about 2 hour at most
00:45:26 <ehird> kde takes like 8 hours
00:45:26 <AnMaster> a complete KDE would take a bit less than 5 hours
00:45:45 <AnMaster> ehird, depends, I only use kdebase and kdesdk + a few random other apps
00:45:51 <AnMaster> gentoo uses split ebuilds for them
00:45:58 <AnMaster> so you can just merge the programs you want
00:46:12 <AnMaster> no need to compile each whole kde package
00:46:32 <ehird> Here's an example of an invocation of Gforth that is usable in a pipe:
00:46:32 <ehird> gforth -e ": foo begin pad dup 10 stdin read-file throw dup while \
00:46:34 <ehird> type repeat ; foo bye"
00:46:50 <ehird> i don't think that can handle lines of more than 10 chars
00:47:23 <ehird> This example just copies the input verbatim to the output. A very simple pipe containing this example looks like this:
00:47:26 <ehird> gforth -e ": foo begin pad dup 80 stdin read-file throw dup while \
00:47:28 <ehird> type repeat ; foo bye"|
00:47:32 <ehird> and it magically changes to 80
00:47:34 <ehird> confirming my suspicions
00:47:45 <AnMaster> ehird, can't you copy n chars?
00:47:59 <ehird> but I don't want to figure it out until tomorrow.
00:48:02 <ehird> on that note... ciao
00:48:15 <AnMaster> or whatever you say in English
01:13:02 -!- Corun has quit ("This computer has gone to sleep").
01:41:55 -!- seveninchbread has joined.
01:53:54 -!- seveninchbread_ has joined.
02:02:01 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
02:13:08 -!- seveninchbread has quit (Connection timed out).
02:16:14 -!- Corun has joined.
02:47:04 -!- seveninchbread_ has changed nick to CakeProphet.
04:11:29 <kerlo> Okay. Can anyone name *any* IRC bot that allows IRC users to more or less execute arbitrary code, other than lambdabot and bsmnt_bot?
04:12:10 <kerlo> The guys who run lambdabot and bsmnt_bot do it.
04:14:53 <kerlo> Okay, let me see if I can hack GHC into working on normish.org.
04:16:51 <kerlo> Oh, let's try a newer version.
04:27:53 <kerlo> Oh, please. That is *so* last ten-minute period.
04:36:49 -!- kerlo has quit (Remote closed the connection).
04:45:57 -!- kerlo has joined.
05:07:08 -!- Corun has quit ("This computer has gone to sleep").
05:22:12 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
05:52:13 -!- psygnisfive has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:58 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
08:12:48 -!- CakeProphet has joined.
08:25:50 -!- oerjan has joined.
10:22:19 -!- oklopol has quit (Read error: 110 (Connection timed out)).
10:51:48 -!- Hiato has joined.
12:24:29 -!- oerjan has quit ("leaving").
12:42:32 -!- Hiato has quit (Read error: 110 (Connection timed out)).
13:03:18 -!- jix has joined.
13:51:30 -!- Corun has joined.
14:42:54 <ehird> 04:14 <kerlo> Okay, let me see if I can hack GHC into working on normish.org.
14:42:54 <ehird> 04:16 <kerlo> Oh, let's try a newer version.
14:43:00 <ehird> itt: kerlo has never heard of apt-get
14:45:14 <Slereah_> Could you send your bones through the mail?
14:54:08 -!- Corun has quit ("This computer has gone to sleep").
15:23:39 <ehird> http://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server/RequestProcessorFactoryFactory.html?rel=html
15:31:54 <ehird> we need a higher-order factory calculus
15:39:01 <ehird> [[Please, use more civilized language; remember, you're on the Internet.]] -- reddit
16:05:03 -!- KingOfKarlsruhe has joined.
16:18:20 -!- oerjan has joined.
16:21:00 <oerjan> <ehird> http://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server/RequestProcessorFactoryFactory.html?rel=html
16:21:07 <oerjan> clearly this is a monad
16:21:38 <oerjan> requestProcessorFactoryFactory :: IO (IO Processor)
16:21:57 <ehird> oerjan: does yi work
16:22:13 <ehird> i am downloading it :D
16:22:40 -!- FireFly has joined.
16:23:21 <oerjan> actually there should probably be another IO on that, since the initial request is really a factory too
16:24:16 <oerjan> (IO replaced with another monad as appropriate, of course)
16:24:45 <oerjan> <ehird> [[Please, use more civilized language; remember, you're on the Internet.]] -- reddit
16:25:00 <ehird> <oerjan> <ehird> [[Please, use more civilized language; remember, you're on the Internet.]] -- reddit
16:25:00 <oerjan> that would be sensible.
16:25:10 <oerjan> unfortunately, the internet rarely is.
16:26:02 <ehird> CWD="`(cd \"\`dirname \\\"$0\\\"\`\"; echo $PWD)`"
16:27:37 <oerjan> rube goldberg programming?
16:43:30 -!- MigoMipo has joined.
16:57:33 -!- KingOfKarlsruhe has quit (Remote closed the connection).
17:45:44 <AnMaster> ehird, http://rcfunge98.com/rcsfingers.html#UNIX <-- crazy idea. And format of mask isn't specced
17:46:01 <ehird> That's reasonable.
17:46:07 <ehird> Also, you know what a umask is, presumably.
17:46:20 <ehird> That spec is fine, and looks useful.
17:46:36 <ehird> Change file access <- the only really vague part
17:47:08 <ehird> yes, probably chmod
17:47:20 <ehird> almost certainly, in fact.
17:47:42 <AnMaster> ehird, also his list of fingerprints is now crazily long
17:48:01 <ehird> but that spec is one of the better ones, it's just terse
17:48:16 <ehird> AnMaster: want vagueness?
17:48:16 <ehird> http://rcfunge98.com/rcsfingers.html#TRGR
17:48:54 <AnMaster> ehird, indeed, my policy nowdays is to avoid implementing any RCS fingerprints that mycology doesn't test.
17:49:09 <ehird> AnMaster: you should implement TRGR without looking at rc/funge
17:49:09 <AnMaster> yes he wrote his own test suites sometimes, but often they are buggy
17:49:22 <ehird> just implement what it says there, make up the unspecified parts (like wtf a trigger is) youreslf
17:49:30 <ehird> and claim it to be spec-compliant, which it would be
17:49:51 <AnMaster> ehird, well I have done similar before and it ended up with flames
17:50:16 <AnMaster> ehird, hm, interpreting REXP as using a global buffer for example
17:50:31 <ehird> i don't think i've ever seen mikeriley show emotion :D
17:50:38 <AnMaster> ehird, eheheheheheh,,,,,,,,,,,,!
17:50:47 <ehird> ok, that got old when I specced mkry
17:52:57 <Deewiant> I love the way that spec is called "UNIX" when it provides 15 instructions related mostly to unix permissions
17:53:31 <ehird> it seems reasonable to me
17:53:33 <ehird> they're unix syscalls
17:53:43 <Deewiant> "UNIX", to me, implies all of unix
17:53:47 <AnMaster> ehird, what about other unix stuff
17:53:56 <AnMaster> I mean UPRM might have been a better name
17:54:34 <Deewiant> Either provide all of unix in one fingerprint or split it into multiple fingerprints each of has a cohesive purpose
17:54:45 <Deewiant> Not "some unix permission stuff and oh, domain names too"
17:54:54 <ehird> it does domain names?
17:55:00 <Deewiant> what the hell's the difference anyway
17:55:44 <ehird> one is a reverse dns lookup of the current host
17:55:48 <ehird> one is the /etc/hostname
17:55:58 <ehird> i'd only provide the latter, admittedly
17:56:02 <ehird> Deewiant: N is hostname
17:56:45 <Deewiant> ehird: domainname comes from uname according to man 2 getdomainname
17:56:48 <ehird> AnMaster: i don't know
17:57:03 <Deewiant> in which case that may make sense but it still doesn't fit in the same fingerprint IMO
17:57:10 <ehird> but teh separation isn't bad
17:57:28 <Deewiant> right, I just got what you meant by "one is a reverse dns lookup"
17:58:41 <AnMaster> `hostid' prints the numeric identifier of the current host in
17:58:42 <AnMaster> hexadecimal. This command accepts no arguments. The only options are
17:58:42 <AnMaster> `--help' and `--version'. *Note Common options::.
18:00:09 <Deewiant> hostid supposedly comes from the MAC address of eth0 but I don't see the resemblance
18:01:30 <AnMaster> Deewiant, ah yes, and it is same as mine
18:01:31 <Deewiant> which is the byte transposition of 127.0.0.1
18:01:40 <Deewiant> which is unsurprisingly what's under localhost in /etc/hosts
18:01:41 <ehird> yeah, 0.0.0.0 also works
18:01:45 <AnMaster> ehird, well it seems like a rather silly command
18:01:55 <AnMaster> Deewiant, it tries to read /etc/hostid btw
18:01:56 <ehird> I suppose that's what's causing it
18:02:06 <Deewiant> AnMaster: yes, if you've got one
18:02:23 <AnMaster> Deewiant, can't find what the file is supposed to do
18:02:31 <Deewiant> ehird: yeah, it probably does a scanf("%3d.%3d.%3d.%3d") :-P
18:02:46 <ehird> no, 0.0.0.0 resolves to this machine
18:03:02 <Deewiant> AnMaster: echo "foo" > /etc/hostid
18:03:09 <ehird> Deewiant: doesn't work for me
18:03:14 <ehird> AnMaster: as an ip.
18:03:25 <AnMaster> ehird, because it doesn't resolve in DNS
18:03:29 <ehird> running a server on 127.0.0.1 doesn't let anyone else access it
18:03:33 <AnMaster> but if you mean it is possible to bind to...
18:03:37 <ehird> so, slightly different semantics on listening
18:03:41 <AnMaster> ehird, yes of course, but that isn't same as "resolve"
18:03:43 <ehird> but for connection
18:03:55 <ehird> you can connect to 0.0.0.0
18:03:59 <ehird> that's what i'm saying
18:04:00 <AnMaster> ehird, resolve means "reverse DNS resolve"
18:04:21 <ehird> just because you're a freaking pedant doesn't mean you have to complain even if you understand me
18:04:50 <Deewiant> AnMaster: let resolve = "reverse DNS " ++ resolve in resolve ===> "reverse DNS reverse DNS reverse DNS reverse DNS " ...
18:05:09 <oerjan> wait, i'm late for that argument thread...
18:05:28 -!- Hiato has joined.
18:05:30 <AnMaster> Deewiant, checking if the result from reverse lookup resolves to same ip is a common check
18:05:32 <oerjan> ^ul ((reverse DNS )S:^):^
18:05:32 <fungot> reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS reverse DNS ...too much output!
18:05:39 <AnMaster> for example ircds use it before showing host
18:05:49 <AnMaster> if it doesn't exist someone is trying to fake reverse dns
18:05:56 <AnMaster> a lot of other software also use it
18:06:09 <ehird> wow, AnMaster excells further in the field of "totally irrelevant misunderstandings leading to ranting about minor points"
18:06:17 <ehird> someone give him a reward
18:06:47 <oerjan> AnMaster: now you need to give a speech
18:06:54 <ehird> oh god, you'll set him off again
18:07:13 <AnMaster> oerjan, oh? what sort of speech?
18:07:15 <Deewiant> ^ul ((acceptance speech )S:^):^
18:07:15 <fungot> acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech acceptance speech ...too much output!
18:08:09 <AnMaster> Well I think this rewardm which seems to be oerjan's frying pan with the word "reward" painted on it, is very nice
18:08:17 <AnMaster> but isn't stealing it a bit mean Deewiant?
18:09:20 <Deewiant> Whence do you infer that I stole it
18:09:43 <AnMaster> Deewiant, because I don't think oerjan would give it away voluntarily
18:10:13 <oerjan> you said it was for short selling!
18:10:27 <ehird> deewiant if I write a befunge-98 implementation in 5 characters will you rewrite mycology to give it all GOODs
18:13:07 <Deewiant> ehird: why would I rewrite something only to recreate the original: if your implementation is a befunge-98 implementation it will get all GOODs
18:13:20 <ehird> well it would be a fuzzy implementation.
18:13:26 <ehird> specifically, it would execute random parts of memory.
18:13:30 <ehird> sometimes, that will run befunge-98 code.
18:13:55 <oerjan> then sometimes it will pass mycology. what's the problem?
18:14:18 <ehird> ignoring the main() { } boilerplate.
18:14:24 <ehird> it'll be more like 10 chars.
18:14:34 -!- oklopol has joined.
18:14:51 <oerjan> i thought it was gonna be J or something...
18:15:34 <oerjan> but J is probably memory safe
18:15:44 <ehird> #include<stdlib.h>
18:15:47 <ehird> main(){return((int(*)(int))rand())();}
18:16:21 <ehird> well, that doesn't bode for command args
18:16:38 <ehird> #include<stdlib.h>
18:16:39 <ehird> main(a,v){return((int(*)(int))rand())(a,v);}
18:18:10 <ehird> #include<stdlib.h>
18:18:12 <ehird> main(a,v){return((int(*)(int,char**))rand())(a,v);}
18:18:32 <Deewiant> RAND_MAX is too small, it'd only work on a small part of my memory
18:18:48 <ehird> Deewiant: patches welcome, but that isn't an issue
18:19:02 <ehird> i mean, the chances of the befunge-98 interp in ram being at a piece of ram < RAND_MAX is like 100%
18:19:25 <Deewiant> can one see from somewhere where stuff is in memory
18:19:29 <ehird> AnMaster: because of magic
18:19:41 <Deewiant> and possibly set a minimum memory location where they must live ;-)
18:20:01 <oklopol> O0oOOOooo0ooo0oOoooo0oO0oOOoo0oo0000oo.......
18:20:02 <Deewiant> ehird: well, stuff tends to have mappings to virtual memory
18:20:18 <Deewiant> I'd guess there's something in /proc that'd tell me
18:20:22 <AnMaster> Deewiant, you can see where things are mapped in the current process cat /proc/self/maps
18:21:25 <Deewiant> any chance of seeing where the program counter is? :-P
18:21:56 <AnMaster> then it is show registers or something like that
18:22:14 <Deewiant> cat I had installed, gdb I don't :-P
18:22:46 <AnMaster> Deewiant, well obviously replace the "self" part in the path with the pid you are interested in
18:23:17 <Deewiant> doesn't solve the problem of lacking gdb
18:23:45 <AnMaster> Deewiant, well I guess you could write your own debugger to do it
18:23:45 <ehird> I should write this interp in haskell. Wait, Asztal's done that
18:24:19 <ehird> Asztal: that's in C++!!!
18:24:23 <ehird> who did it in haskell?
18:24:44 <Deewiant> I forget his nick, the finnish guy
18:25:32 <ehird> it's the rubiks cube guy
18:25:55 <Deewiant> I know a lot of finnish rubik's cube guys :-P
18:26:15 <Deewiant> ehird: looking at some programs on my machine it seems they all have their IP at locations beyond RAND_MAX
18:26:23 <ehird> Deewiant: that's their problem
18:26:35 <ehird> Deewiant: the idea isn't to hit into a program
18:26:37 <Deewiant> ehird: your interpreter likely has a 0% chance of success
18:26:42 <ehird> the idea is to hit into some memory that happens to be valid machine code
18:26:45 <ehird> that runs befunge-98 programs
18:27:10 <AnMaster> ehird, err no, it is likely you will hit an unmapped area. then segfault due to that
18:27:16 <Deewiant> http://funktio.awardspace.com/misc/hsfunge/
18:27:17 <ehird> AnMaster: wait, why are you using an OS?
18:27:20 <ehird> I don't support operating systems
18:27:48 <Deewiant> ehird: good luck getting such memory without an OS
18:27:55 <Deewiant> without stuff going on, the memory doesn't change much :-P
18:27:58 <ehird> Deewiant: sure, it's meant to fit into your own OS
18:28:17 <Deewiant> does that not mean supporting operating systems
18:28:26 <ehird> no, i don't support oses i.e. i don't support it in userspace
18:29:49 <Deewiant> so I guess hardware drivers don't support much of anything then :-P
18:29:55 <AnMaster> Deewiant, how goes work on ccbi2?
18:30:44 <Deewiant> AnMaster: stalled since september due to DMD bug #2339
18:30:54 <AnMaster> Deewiant, still not fixed. huh
18:31:08 <Deewiant> AnMaster: my oldest open bug is from 2006 june
18:31:19 <AnMaster> Deewiant, how many have patches?
18:31:54 <Deewiant> it /is/ a frontend problem so I /could/ fix it... if I could
18:31:56 <AnMaster> also poll: should I make up a fingerprint for interfacing SQL databases? If yes which of these DBs: SQLite, MySQL, PostgreSQL
18:32:30 <AnMaster> Deewiant, you still need DB-dependent connection of some sort hm
18:32:47 <AnMaster> Deewiant, or it would be quite useless
18:33:38 <ehird> funge object database.
18:33:43 <ehird> basically, persistent fungespace. >:D
18:33:52 -!- Hiato has quit ("Leaving.").
18:33:55 <ehird> AnMaster: no, that's too ... practical
18:34:05 <ehird> Deewiant: yes but, can you use fingerprints with that?
18:34:24 <ehird> Deewiant: e.g. say you have an OOP fingerprint that stores objects in fungespace
18:34:29 <ehird> you could make it use the persistent fungespace
18:34:39 <ehird> instead of regular fungespace
18:34:43 <Deewiant> ehird: sure, you could use o and i to store that
18:34:54 <ehird> just gives you fungespace coords
18:34:59 <ehird> the actual fungespace is in the fingerprint code
18:35:05 <ehird> but the persistent fungespacer
18:35:08 <ehird> makes the fingerprint use it
18:35:12 -!- Hiato has joined.
18:35:15 <ehird> can't do that with o/i
18:35:38 <Deewiant> ehird: sounds like virtual memory, anyway :-P
18:35:58 <ehird> Deewiant: it's basically mmap
18:36:10 <AnMaster> wait hm, paging segments in funge space
18:36:10 <ehird> you can swap out some fungespace usage with a version that writes to a fil
18:36:28 <ehird> combine with an OOP fingerprint
18:36:31 <ehird> and you have a funge object database.
18:36:36 <Deewiant> ehird: you can write fungespace to a file using threads which do o every tick
18:36:49 <AnMaster> but the code would need to handle paging itself
18:37:00 <AnMaster> fingerprints can't do it behind the scens
18:37:01 <Deewiant> ehird: so the only new thing here is something like virtual memory unless I misunderstood
18:37:14 <ehird> Deewiant: that's 1) inefficient, 2) it's a separate fungespace: you can have multiple of them, and only do some things in them, etc
18:37:37 <Deewiant> ehird: 1) that's probably how I'd implement it on windows anyway
18:37:58 <AnMaster> VMEM should have memory protection too
18:38:02 <ehird> Deewiant: can MVRS cause certain fingerprints to write to one of the fungespaces,
18:38:05 <ehird> but have the rest of the program outside of it?
18:38:11 <ehird> and still be able to access the fungespaces the fingerprints are using?
18:38:17 <ehird> without these fingerprints knowing about mvrs, that is
18:38:26 <AnMaster> hm. some nice ideas for this vmem
18:38:36 <Deewiant> ehird: yes, just run the code in a different mvrs?
18:39:04 <AnMaster> also DMA has nothing to do with it
18:39:10 <ehird> how far did hsfunge get?
18:39:13 -!- olsner has joined.
18:39:26 <Deewiant> ehird: it found a bug in mycology, can't remember if he did any fingerprints though
18:40:02 <ehird> so should i do this in haskell or C :P
18:40:11 <ehird> i should do it in haskell and be faster than cfunge for the lulz
18:42:18 <Deewiant> I have some hidden ideas for funge-space algos which should be comparatively about as fast as cfunge without being as lame as 'static array the size of the biggest program I know of'
18:42:41 <Deewiant> but only 'about' because that's obviously cheating and can't really be beat :-P
18:43:18 <ehird> well, the static array thing is a good idea, but the biggest program i know of is kind of stupid
18:44:04 <Deewiant> it's the size of mycology rounded up to powers of two
18:44:41 <ehird> still, the static array is still a good idea, right?
18:44:42 <Deewiant> mycology is 180*800 or so and uses a bit of space on the negative side making it around 190*810
18:44:55 <Deewiant> I don't like static arrays :-P
18:45:54 <Deewiant> if you have dynamic data it's just extra complexity
18:51:15 <ehird> "BEFUNGE-98EHIRD": C or Haskell or Other
18:53:48 <oerjan> Other. Specifically, Malbolge.
18:54:37 <ehird> Doesn't run on OS X Tiger because slava pestov is a kid with ADHD and can't stop using shiny APIs.
18:54:53 <ehird> Does Joy even have file IO?
18:55:41 <oerjan> hm, "Grief programming language"
18:55:45 <ehird> Well, okay, does it have any other OS interfaces Deewiant?
18:56:53 <AnMaster> <ehird> "BEFUNGE-98EHIRD": C or Haskell or Other <- other, weird
18:57:04 <AnMaster> or is it wired? can't remember
18:57:07 <ehird> AnMaster: The author of Cat is a retard. he claimed that a lazy map function was O(1).
18:57:41 <ehird> but you don't talk about them like that
18:57:44 <ehird> because that's _idiotic_
18:57:44 <Deewiant> Haskell—the constant-time programming language
18:57:50 <AnMaster> ehird, also i and o are optional
18:57:56 <ehird> your mom is optional
18:57:59 <AnMaster> so you can manage without file io
18:58:10 <AnMaster> ehird, also I admit jitfunge is faster
18:58:13 <Deewiant> AnMaster: he has to read the befunge file somehow
18:58:19 <Deewiant> AnMaster: whence the source without I/O?
18:58:49 <AnMaster> Deewiant, anyway fast mmaped IO in funge space sounds fun
18:59:03 <ehird> can't you load fungespace with mmap?
18:59:04 <AnMaster> I'm not sure how much it will impact stuff when I need to check if some area should be mmaped
18:59:27 <AnMaster> ehird, I open with mmap() to avoid issues like fread() ends with \r and next start with \n
18:59:43 <AnMaster> ehird, one issue is the source file line length will vary
18:59:53 <AnMaster> you need to build a line index or something
18:59:53 <ehird> just mmap() and go
19:00:11 <AnMaster> ehird, well don't think so due to varying line length, you need to locate newlines somehow
19:00:18 <AnMaster> I did consider that a lot you know
19:00:37 <AnMaster> and at least I couldn't figure out a way to do it
19:01:02 <AnMaster> ehird, so basically you need to parse for \r, \r\n and \n
19:01:21 <AnMaster> mycology uses \r\n for example
19:01:37 <ehird> i'm gonna go for haskell because i don't wanna fuck with memory management more than i have to
19:02:00 <AnMaster> hm copy on write in C, I know kernel does it by page faults and such
19:02:02 <ehird> now convince me not to call it butts
19:02:36 <ehird> well, interp-and-possible-future-compiler-to-llvm because haskell has libraries for that and i am fucking nuts
19:02:37 <AnMaster> well why should I convince you about that?
19:02:48 -!- MigoMipo has left (?).
19:03:03 <ehird> AnMaster: because if you try it out you'll have to phrase things awkwardly to avoid mentioning its name
19:03:07 <AnMaster> ehird, and I only claimed cfunge was the current fastest _interpreter_
19:03:18 <AnMaster> I admit that jit compilers like jitfunge are faster
19:03:46 <oerjan> ehird: butts has nothing to do with fungi, and therefore cannot be the name of a funge implementation. that's just the way it is.
19:04:15 <ehird> ok then, i'll call it neocallimastigomycota
19:04:35 <AnMaster> oerjan, what about FBBI? Flaming Bovine Befunge Interpreter
19:05:35 <ehird> oerjan: link to that page with funge-related names?
19:05:37 <ehird> you linked to it a while ago iirc
19:05:43 <AnMaster> ehird, and don't claim I can't admit when I was wrong in the future, now that it actually happened you saw me admit that right above
19:06:21 <AnMaster> http://rcfunge98.com/rcsfingers.html#IMTH <-- why...
19:06:47 <AnMaster> quite a few of those exist in FIXP
19:07:03 <AnMaster> the rest are trivial without IMTH I think
19:07:21 <oerjan> ehird: this time i might suggest http://en.wikipedia.org/wiki/Category:Lists_of_fungal_species
19:07:52 <ehird> I preferred the flat list
19:08:04 <oerjan> yeah those were in english
19:09:36 <oerjan> here's a big one: http://www.britmycolsoc.org.uk/files/ENGLISH_NAMES.pdf
19:09:43 <ehird> it wasn't a pdf either :P
19:10:12 <oerjan> _and_ i didn't save the link
19:10:13 <AnMaster> ehird, that isn't an issue when they open inline in the browser and without silly plugins
19:10:23 <AnMaster> it just works here with konqueror
19:10:31 <ehird> umm, that's a plugin.
19:10:35 <ehird> also, pdfs suck anyway.
19:10:54 <AnMaster> ehird, hm? kpdf is a kpart, which is used both by kpdf itself and by konqueror
19:11:11 <ehird> AnMaster: kpart - you mean, a plugin
19:11:29 <ehird> wow. it's not a module, it's a plugin.
19:11:34 <ehird> a rose by any other name.
19:11:55 <AnMaster> ehird, well I said "silly plugins", implying third party acrobat one
19:15:21 <oerjan> another one: http://www.english-country-garden.com/fungus.htm
19:15:21 <AnMaster> Deewiant, looks like Mike did his own variant of SNGL... SGNE
19:18:33 * AnMaster ponders a 3 letter fingerprint: SQL
19:18:50 <AnMaster> I got some ideas for the "db independent"
19:19:46 <AnMaster> all I will need is basic common SQL support. I mean, the concept of a database with one or more schemas, with views and tables (and possibly stored procedures and so on)
19:20:53 <AnMaster> ehird, about a PL/Befunge for Postgres
19:20:57 <ehird> it's a crappy idea, like most of yours.
19:21:04 <ehird> did you want that, or the lie?
19:21:20 <ehird> it's thoroughly uninteresting
19:25:36 <ehird> possible name: milkcap
19:27:31 <AnMaster> ehird, also if you decide to jit I'm not going to care, I don't have the time to add jitting to cfunge currently, no idea about later
19:29:16 <ehird> hm. mutability violating the liskov subtitution principle. interesting.
19:29:27 <AnMaster> oerjan, that was too bad even for a groan
19:34:17 <ehird> Joel Spolsky reaches the minimum in substantive content: http://www.joelonsoftware.com/items/2009/01/13.html
19:34:31 -!- olsner_ has joined.
19:34:45 <lament> what, he has even less content now?
19:34:56 <lament> you should have said reaches a new mininum
19:35:34 <ehird> lament: he's still got a bit to lose, though... he wrote a full title summarizing the article which he found & linked to, he picked a quote to excerpt, and found a relevant picture and resized & embedded it into the post
19:35:37 <lament> pianos are so nice, they have black keys and white keys
19:35:39 <ehird> still way too much work
19:35:51 <lament> while on a fretboard all notes look the same :(
19:36:55 <lament> i seriously conteplate labeling a fretboard.
19:41:04 -!- MigoMipo has joined.
19:41:07 -!- olsner has quit (Read error: 110 (Connection timed out)).
19:46:44 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
19:48:47 -!- CakeProphet has joined.
20:02:00 <ehird> http://www.riffraff.info/2009/1/12/writing-a-shakespeare-interpreter-with-parrot
20:11:17 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft pa speeches ss wp
20:11:34 <fungot> Selected style: ss (Shakespeare's writings)
20:11:56 <oerjan> fungot: don't you think these parrots are getting uppity?
20:11:57 <fungot> oerjan: lucil. seruilius? you are they that hear their detractions, and can digest as much: make no compare between that love a woman can bear me and that i am
20:15:12 -!- kar8nga has joined.
20:21:26 -!- KingOfKarlsruhe has joined.
20:21:35 <fungot> Selected style: ff7 (Full script of the game Final Fantasy VII)
20:21:51 <fungot> ehird: aooooooh!! get in the attack on weapon. we can't use it in time! don't let your guard down! or ain't my hospitality good enough for you to the ancients, only aerith can save our lives.
20:21:55 <ehird> fungot: poop out some text.
20:21:55 <fungot> ehird: we've finally found you.
20:25:01 -!- Corun has joined.
20:30:47 <oklopol> two yesses and i'll watch an ep, otherwise not.
20:37:58 <oerjan> fungot: you enabler you
20:37:58 <fungot> oerjan: got it going to let them get any customers so. your orders? where are you talking about this? simply destroy a group like that you a copy once i push this button, they'll hear you.
20:41:55 -!- KingOfKarlsruhe has quit (Remote closed the connection).
20:46:53 -!- KingOfKarlsruhe has joined.
21:08:58 -!- Hiato has quit (Read error: 110 (Connection timed out)).
21:21:29 -!- Sgeo has joined.
21:23:37 -!- Corun has quit ("Leaving").
21:23:44 <MizardX> Is the answer to this question "No."?
21:24:47 <ehird> Is the answer to this question maybe?
21:25:15 <FireFly> According to fungot, the answer to MizardXs question isn't "No."
21:25:16 <fungot> FireFly: i thought you were alive somewhere... before. goin' on!? da-chao statue and leviathan are ashamed!! you all right
21:25:39 <ehird> Is the answer to this question yes?
21:30:44 <oerjan> What is the answer to this question?
21:37:07 -!- MigoMipo has quit.
21:37:34 <Sgeo> How did Vundo manage to protect itself even in Safe Mode?
21:39:57 -!- BeholdMyGlory has joined.
21:40:39 <ehird> a virtual machine running unpatched windows xp, with a mail account
21:40:46 <ehird> a daemon runs on the machine containing it
21:40:54 <ehird> whenever it gets an email with an attachment, it puts the attachment into the vm
21:41:03 <ehird> any next buttons are automatically clicked or sth
21:41:11 <ehird> and, regularly, screenshots are automatically taken
21:41:14 <ehird> and posted to a website
21:43:25 <MizardX> ehird: http://xkcd.com/350/
21:58:37 <Sgeo> I'm pretty sure a file I have on my computer is part of Vundo, even though almost nothing detects it
21:58:43 <Sgeo> Is there any place I can submit it?
21:59:06 <ehird> yes. email a security company.
22:01:55 -!- comexk has changed nick to comex.
22:02:32 <oerjan> "Because Vundo has random file names, it is not possible for VundoFix to have a 100% detection rate. Often, the infected files must be removed using VundoFix's "Add more files" option (they cannot be removed manually in any way)."
22:02:38 <oerjan> maybe that is relevant?
22:03:10 <Sgeo> VundoFix has an "Add more files" option?
22:03:27 <oerjan> (from wikipedia:VundoFix)
22:03:38 <Sgeo> Although, if I knew of that earlier, I would not have found this second file
22:04:17 <ehird> sgeo, how did you get infected?
22:04:38 <ehird> so why are you using windows again
22:04:48 <Sgeo> Various windows-only games
22:05:18 <ehird> wut is wine/vmware
22:05:35 <Sgeo> VMware doesn't work with 3d
22:06:13 <Sgeo> and WINE doesn't work with one of the programs I want
22:06:38 <ehird> so use wine with all but the one which it doesn't work with, use vmware for that one
22:06:41 <oklopol> better not have fun than to use windows.
22:06:56 -!- olsner_ has changed nick to olsner.
22:06:57 <Sgeo> The one it doesn't work with is a 3d program
22:07:11 <oklopol> just stop playing and quit wineing.
22:07:25 <ehird> Sgeo: so boot into windows for that one
22:07:47 <Sgeo> Or have a separate Windows laptop maybe.. OH WAIT
22:20:24 -!- Corun has joined.
22:24:27 -!- Corun has quit (Client Quit).
22:25:18 <ehird> funge 98 in haskell project
22:25:54 -!- pikhq has quit ("leaving").
22:26:00 <ehird> i wonder what i should implement first
22:26:38 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
22:26:43 <ehird> oerjan: nowhere near that stage first
22:26:50 <ehird> that has to come after a complete fungespace impl...
22:27:47 -!- flexo has quit (Remote closed the connection).
22:27:53 -!- flexo has joined.
22:32:48 <ehird> so. who's alive of {fizzie,Deewiant,AnMaster,Asztal}?
22:33:30 <ehird> trying to get the funge implementors :^)
22:36:42 <oklopol> MEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
22:37:17 <oerjan> i detect a distinct lack of membership in the presented set
22:37:36 <ehird> have you implemented funge-98 oklopol
22:37:53 -!- KingOfKarlsruhe has quit (Remote closed the connection).
22:38:05 <oklopol> 93 a few times, does that count as one 98? :P
22:39:45 <oerjan> i guess the first problem is to choose the datastructure for an infinite, reasonably efficient mutable array, 93 experience won't help there
22:40:06 <ehird> oerjan: also, N-dimensional
22:41:04 <oerjan> so need to detect line ends
22:41:22 <oerjan> scratch my Data.Map suggestion for simplicity then
22:41:34 <ehird> Data.Map wouldn't be nearly fast enough anyway.
22:41:40 <ehird> Note, oerjan, that it does need to be sparse.
22:42:05 <ehird> I need an infinite efficient mutable sparse array in N dimensions, that I can use as a lahey space
22:42:13 <ehird> I'm going to tell #haskell that
22:42:28 <ehird> The requirements for a line in Lahey-space are the following: Starting from the origin, no matter what direction you head, you eventually reach the origin. If you go the other way you reach the origin from the other direction.
22:42:37 <ehird> doesn't that break down for infinite arrays?
22:43:21 <oerjan> as i said, you need to detect the end
22:43:49 <oklopol> well just store max coords in all directions.
22:44:34 <ehird> oerjan: then... that's not fungespace
22:44:39 <ehird> fungespace is finite, isn't it?
22:44:49 <lament> http://www.gopromusic.com/get.php?id=1235
22:44:52 <oerjan> what are you talkin about?
22:45:13 <oerjan> lahey-space was invented for funges afaik
22:46:40 <ehird> Starting from the origin, no matter what direction you head, you eventually reach the origin.
22:46:43 <ehird> that implies finiteness
22:47:04 <oerjan> only in an abstract sense
22:47:11 <oerjan> what really goes on iirc:
22:47:45 <oerjan> when you reach the end of the inhabited part of a line, you turn around and go to the other end, then turn again
22:47:54 <ehird> so you jsut keep track of current bounds
22:47:57 <oklopol> oerjan: i just mean that's a way to know when there's only uninhabited shit left.
22:47:58 <ehird> and expand when you put stuff further?
22:48:03 <oklopol> max coords of el habitation.
22:48:51 <ehird> oerjan: but e.g. "g" still works on uninhabited space
22:48:56 <ehird> if we just have 0,0 inhabited
22:49:00 <oerjan> also, the "going to the other end" is of course without executing anything
22:49:41 <oerjan> heck otherwise there would be no easy way to expand the space...
22:49:56 <ehird> im talking about g
22:50:18 <ehird> http://search.cpan.org/~jquelin/Language-Befunge-4.07/ latest release november, i wonder if it works under mycology
22:50:19 <oerjan> but they are opposites so it would be insane
22:50:40 <oerjan> i don't _think_ funge-98 is insane in that particular way
22:51:38 <oklopol> it's not exactly obvious how it's wrap if it wrapped.
22:52:26 <oerjan> lucky i have fuzzy parsing on :D
22:53:56 <oerjan> keeping only global bounds could be inefficient though
22:54:16 <ehird> what do you do then
22:54:29 <oerjan> keeping bounds for each line
22:55:02 <ehird> the first > meets itself instantly?
22:55:17 <ehird> befunge-98 is fucking crazy
22:55:30 <oerjan> the wrapping is instantaneous
22:55:38 <oklopol> the other option is to loop infinitely anyway
22:55:50 <oerjan> which is important for synchronized threading iirc
22:56:14 <oklopol> well not that important, you don't actually need to wrap, ever.
22:56:27 <oklopol> what is more important is that whitespace is instaneous
22:56:53 <oerjan> i vaguely recall someone mentioning it was ambiguous if it wrapped in a string
22:58:11 <oklopol> like if you have string mode and start moving into the infinite?
22:58:32 <oklopol> in string mode, was whitespace space or not?
22:58:51 <oerjan> well obviously it's space if it's inside
22:59:03 <oklopol> if it's space, then moving out of bounds should, imo, simply start making an infinite string and exhaust all memory.
22:59:16 <Asztal> the whitespace is collapsed XML-style in a string :)
22:59:34 <oklopol> the idea is just whitespace is a special optimized nop
22:59:37 <oerjan> ok that part _may_ be insane :D
22:59:55 <ehird> Asztal: i assume you're willing to answer my endless qs :D
23:01:08 <ehird> i wonder if I should ask Haskell "So. I need an infinite efficient mutable sparse array in N dimensions (settable at runtime), that I can use as a lahey space" again
23:11:19 -!- Corun has joined.
23:18:37 <ehird> 23:18 <rwbarton> from that page: "Lahey-Space is a mathematical model of the space used in Funge-98" <-- that is a lie
23:18:38 <ehird> 23:18 <ehird> rwbarton: is it now
23:19:01 <ehird> 23:18 <rwbarton> Yes
23:19:02 <ehird> 23:18 <rwbarton> There is no math in the subsequent section
23:21:27 -!- Corun has changed nick to SomeGuy.
23:21:45 -!- SomeGuy has changed nick to KEITH-EMULATOR.
23:22:04 -!- olsner has quit ("Leaving").
23:22:06 -!- KEITH-EMULATOR has changed nick to Corun.
23:22:32 <oerjan> Corun: so there's a shortage of real keiths now?
23:22:36 <ehird> The syntax for identifiers draws from the best parts of the esteemed languages BASIC and Perl. Like Perl, all identifiers must be preceded by a $ symbol, and like BASIC, identifiers must be followed by a symbol indicating their type. Except we don't care about their type really, so we say they must be followed by $. (Studies also show that this syntax can help serious TeX addicts from "bugging out".)
23:22:41 <ehird> -- http://catseye.tc/projects/quylthulg/doc/quylthulg.html
23:24:17 <oklopol> ehird: sure it was fail and not a joke?
23:24:37 <oklopol> i mean it was a pretty classic joke.
23:25:45 <Asztal> I'm glad I didn't bother with the N dimensions thing
23:25:50 <ehird> -foreach $x$ = [2, 3, 4] with $a$ = 1 be *$a$*$x$* else be null-1-
23:25:51 <ehird> will evaluate to 23. On the other hand,
23:25:53 <ehird> foreach $x$ = null with $a$ = 1 be $a$ else be 23
23:25:55 <ehird> will also evaluate to 23.
23:26:24 <oerjan> i think there's still some serious tex bugging there
23:27:03 <ehird> Now you see why we don't need arguments to these macros: you can simply use macros as arguments. For example,
23:27:03 <ehird> {*[SQR][*{X}*{X}*]}{*[X][5]}{SQR}
23:27:35 <ehird> The first school (Chilton County High School in Clanton, Alabama) says that most comments that programmers write are next to useless anyway (which is absolutely true) so there's no point in writing them at all.
23:27:36 <ehird> The second school (Gonzaga College S.J. in Dublin, Ireland — not to be confused with Gonzaga University in Spokane, Washington) considers comments to be valuable as comments, but not as source code. They advocates their use in Quylthulg by the definition of macros that are unlikely to be expanded for obscure syntactical reasons. For example, {*[}][This is my comment!]}. Note that that macro can be expanded in Quylthulg using {}}; it's just that the Gon
23:27:41 <ehird> zaga school hopes that you won't do that, and hopes you get a syntax error if you try.
23:27:43 <ehird> The third school (a school of fish) believes that comments are valuable, not just as comments, but also as integral (or at least distracting) part of the computation, and champions their use in Quylthulg as string literals involved in expressions that are ultimately discarded. For example, <"Addition is fun!"<+1+2+<.
23:31:05 -!- BeholdMyGlory has left (?).
23:38:50 -!- FireFly has quit ("Later").
23:39:22 <Sgeo> Is Quylthulg turing complete?
23:40:02 <oerjan> beyond all doubt, apparently
23:40:03 <lament> with addition of the turing-completeness instruction?
23:40:54 * oerjan sprays Sgeo and lament with Doubt-B-Gone
23:42:51 <ehird> a language with no iteration would be fun
23:42:54 <ehird> the code is a list
23:43:04 <ehird> so loops are making lists that cycle a few times
23:46:08 <lament> it cycles, just like the bass guitar fretboard
23:57:13 <Sgeo> AAAAAAHHHHHHHRRRRRRRGGGGGGGHHHHHHHH!
23:57:38 <ehird> why did you say that in both channel
00:14:00 <ehird> I thikn I'm talking to a markov chain bot
00:14:01 <ehird> 00:12 <SamanthaDega> This is not #haskell. Maybe you could consider better file handling rather than loading the file into an array. Like in C I have a file handle which could with a releatively simple fn be move to point to the same column in the next/previous line. You don't need to load data into an array to own it, you just need to manage it properly however you decide to manage it. thanks for being awesome. thanks for the example code. Hope all the
00:16:10 <ehird> anyone want to decipher that?
00:18:58 <ehird> im talking about that guy
00:19:04 <ehird> i can't tell wtf he's trying to say
00:20:56 <ehird> i think you're messing with me. what i'm saying is that this guy is making no sense at all, he's just spewing random shit every time i say something to him
00:23:33 <oerjan> bsmntbombdood: never been to finland. good night.
00:23:36 -!- oerjan has quit ("leaving").
00:48:55 -!- jix has quit (Read error: 60 (Operation timed out)).
00:59:04 -!- GreaseMonkey has joined.
02:44:34 -!- pikhq has joined.
03:05:59 <Corun> What else does one do when bored?
03:06:34 <Corun> Write a very very simple language, in machine code (yes, machine code, not asm)
03:07:00 <Corun> Then write a superset language, written in the original language
03:07:03 <Corun> And keep doing that
03:07:20 <Corun> Until you have a relatively feature full language written in itself
03:07:33 <Corun> Without ever having written an interpreter in any other language
03:09:24 -!- pikhq has quit (kornbluth.freenode.net irc.freenode.net).
03:11:04 -!- pikhq has joined.
03:11:08 <Corun> Or you could initially write it in itself
03:11:13 <Corun> And hand compile it.
03:19:31 -!- Corun has quit ("WOT").
03:52:37 -!- CakeProphet has quit ("lol").
04:23:46 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
04:25:27 -!- psygnisfive has joined.
04:43:15 -!- Corun has joined.
05:12:51 -!- Corun_ has joined.
05:18:51 <oklopol> bsmntbombdood: is norway or finland better? <<< come to finland and we can go fishing
05:20:47 -!- Corun_ has quit ("This computer has gone to sleep").
05:21:42 <oklopol> i don't actually fish, ever
05:21:50 <oklopol> norway is better for that.
05:29:58 -!- Corun has quit (Read error: 110 (Connection timed out)).
05:47:44 -!- GreaseMonkey has quit ("Client Excited").
05:55:51 -!- sebbu2 has joined.
06:09:02 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
06:11:02 -!- psygnisfive has joined.
06:13:14 -!- sebbu has quit (Read error: 110 (Connection timed out)).
06:45:39 -!- Sgeo has quit (Remote closed the connection).
07:02:43 -!- olsner has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:17:22 -!- olsner has quit ("Leaving").
09:14:20 -!- oerjan has joined.
11:39:54 -!- psygnisf_ has joined.
11:44:24 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
12:08:55 -!- ais523 has joined.
12:23:51 -!- jix has joined.
12:42:37 -!- oerjan has quit (kornbluth.freenode.net irc.freenode.net).
12:45:09 -!- oerjan has joined.
12:47:16 -!- ais523_ has joined.
12:52:54 -!- Mony has joined.
12:54:30 -!- ais523 has quit (Nick collision from services.).
12:54:44 -!- ais523_ has changed nick to ais523.
12:56:32 <Mony> how are you guys ?
12:57:03 <ais523> Slereah_: is this some definition of mile I'm unaware of?
12:57:26 <ais523> hmm... what's the horizon on 3 miles?
12:57:30 <ais523> I'm wondering if I can see you from England
12:58:19 <Slereah_> Buy some binoculars with your wolfram money mister millionaire.
12:58:35 <ais523> actually, I was wondering if the curvature of the earth got in the way
12:58:46 <ais523> and I'm mostly using the money to cancel out student debt
12:58:58 <Slereah_> Is school expensive in England?
12:59:12 <ais523> it can be, but University is very expensive
12:59:20 <ais523> mostly because you have to meet living and tuition costs yet don't have a job
12:59:25 <Slereah_> I pay like 400 euros a year here.
12:59:29 <ais523> so students famously nearly always get into huge amount of debt
12:59:45 <ais523> it's something like £1175 per year over here
12:59:46 <Slereah_> Well, I'm still at my mom's, so it helps
12:59:53 <ais523> plus the cost of living
13:00:00 <ais523> which normally comes to more
13:15:19 -!- oerjan has quit ("leaving").
13:45:11 -!- Corun has joined.
13:50:09 -!- Corun has quit ("This computer has gone to sleep").
14:21:47 <Deewiant> ehird: coding a Befunge-98 interp in Haskell?
14:21:54 <ehird> that is my intention, yep
14:22:05 <ehird> i also intend to implement every fingerprint I can.
14:22:16 <ais523> more even than the AnMaster list?
14:22:18 <ehird> Deewiant: actually, funge98
14:22:29 <ehird> I hope to be N dimensional.
14:22:35 * ais523 wonders vaguely if ehird is mad enough to implement IFFI
14:22:37 <ehird> ais523: Sure, he doesn't even do stuff like TRDS.
14:22:44 <ehird> Or half of MikeRiley's fingerprints.
14:23:04 <ais523> note that IFFI is written such that it could in theory be used with INTERCAL interps other than C-INTERCAL
14:23:08 <ais523> or even with languages other than INTERCAL
14:23:17 <Deewiant> I implement every cross-platform fingerprint which makes a degree of sense
14:23:26 <ais523> Deewiant: and IFFI doesn't?
14:23:27 <Deewiant> (that excludes MKRY among others)
14:23:40 <ehird> Deewiant: i will implement fingerprints no matter if I can test them on the right software/hardware or not
14:23:49 <ehird> and sense will get your fingerprint delayed
14:24:06 <Deewiant> ais523: IFFI was the intercal one? I'm not sure it does ;-)
14:24:21 <ais523> Deewiant: well, a lot is left implementation-defined
14:24:28 <AnMaster> ais523, I'm currently writing down ideas for a fingerprint called SQL, very early, not even level of draft yet
14:24:42 <ehird> umm, that's a nice random topic change
14:24:48 <ais523> and it also depends on the "implementation-specified instructions" area with charcodes above 100
14:24:54 <AnMaster> ehird, err? it is befunge related
14:25:12 * ais523 thought ehird was referring to the /topic
14:25:37 <ehird> no, that's a reference to a gay porn site. google corrected an acronym oklopol said to EUROCREME
14:25:46 <ehird> and apparently it's a gay porn site. so there you go.
14:25:50 <AnMaster> http://rafb.net/p/Z73Y8i84.html <-- some random ideas for it, most isn't detailed yet, like parameters for most things and so on
14:26:11 <AnMaster> any constructive comments are welcome
14:26:26 <ehird> it's still a thoroughly uninteresting idea.
14:26:56 <ais523> ehird: this isn't about MKRY randomness or TRDS insanity, this is about Befunge as a practical esoteric language for the 21st century
14:27:07 <ais523> you have to admit, on the practical esolangs side, Befunge is winning
14:27:36 <ehird> Deewiant: what would you use if you needed a Data.Map that'll get mutated alll the time?
14:27:37 <ais523> it has the best stdlib of any esolang I know, apart from possibly Deltaplex
14:27:47 <ais523> and I don't really know Deltaplex
14:28:04 <AnMaster> ais523, I think I should return stuff like what db drivers are supported and such (possibly). If I implement this in cfunge it will probably support sqlite and postgresql
14:28:05 <ehird> ais523: fuck you. Deewiant: how slow was hsfunge?
14:28:07 <Deewiant> ehird: but, uh, have fun with N dimensions
14:28:17 <ehird> Deewiant: wellllll, I'm not sure it can be done
14:28:23 <ehird> you need instructions for turning in N dimensions
14:28:32 <Deewiant> ehird: can't remember, maybe about 50x slower than cfunge
14:28:36 <Ilari> Got reference for MKRY (I couldn't find one that's up)?
14:28:43 <ehird> Ilari: yes, google cache:
14:28:50 <ais523> Ilari: not a very good joke either
14:29:07 <ehird> pfft, it's hilarious
14:29:34 <ehird> hrm, no google cache. trying web archive
14:29:41 <Deewiant> ehird: I seem to recall hsfunge getting through mycology in 1-2 seconds but I don't remember on what machine so I can't compare that time to anything
14:29:49 <AnMaster> ais523, anyway what is needed for a generic database access abstraction interface? I have only used mysql, sqlite and postgresql so I don't know what other database systems could need.
14:29:59 <ais523> ehird: you could just install an httpd on eso-std.org...
14:30:04 <AnMaster> odbc and such for example, (I don't even know how that works)
14:30:08 <ehird> no i couldn't because i didn't save tusho.net
14:30:26 <ais523> oh, you lost the spec too?
14:30:55 <Deewiant> ehird: eh? what happened to tusho.net
14:31:00 <ais523> well, my opinions on wiping a server to uninstall all the software vs. simply uninstalling all the software using the package manager are a matter of private record
14:31:14 <ehird> ais523: you know what, it's my server, i really don't give a shit.
14:31:57 <ais523> AnMaster: are you going to implement a driver-independent syntax for SQL queries?
14:32:05 <ehird> <html style="font-family: sans-serif">
14:32:06 <ehird> <h1>"MKRY" (0x4d4b5259)</h1>
14:32:08 <ehird> <h2>a funge-98 fingerprint by <a href="http://tusho.net/">tusho</a></h2>
14:32:22 <ehird> <dd>Push 'e' and 'h' (random)
14:32:26 <ehird> <p>All pushes from 3 to 15.</p>
14:32:30 <ehird> before you say anything, that's the idea.
14:33:31 <AnMaster> ais523, hm there is the SQL standard
14:33:47 <ais523> AnMaster: yes, not all DB drivers implement it correctly
14:33:50 <AnMaster> ais523, isn't that enough? I assume everyone follows the standard ;P
14:33:52 <ais523> in fact, I'm not entirely convinced any do
14:33:53 <ehird> why not just use DBI via Perl if you think it's such an interesting idea.
14:34:10 <ais523> for instance, what quote characters mean what tends to vary a lot
14:34:41 <ehird> then make them use scke.
14:34:49 <AnMaster> ais523, hm what about prepared statements? I don't know how standard they are, but surely they solve some of the issue?
14:34:52 <ehird> because if you're just passing sql on, there's no point
14:34:56 <ais523> AnMaster: some of the issue, yes
14:35:05 <ais523> make sure you allow for parameterised statements
14:35:07 <ehird> so it's not even an SQL fingerprint any more
14:35:16 <ais523> ehird: it's an interact-with-DB-driver fingerprint
14:35:26 <ais523> having both SQL and prepared statements makes sense there
14:35:35 <ehird> which is unneeded unless you abstract the queries.
14:35:41 <ehird> because every server and its dog has a socket interface.
14:35:42 <ais523> parameterised SQL, anyway, is useful for avoiding injections
14:35:58 <AnMaster> which is the one I'm most interested in
14:36:10 <ais523> it makes much more sense to write "WHERE field = ?" and give an argument rather than trying to use string concatenation
14:36:17 <ais523> also, I love SQL's use of ? for arguments
14:36:27 <AnMaster> ais523, well some dbs allow WHERE field :namedparameter
14:36:34 <AnMaster> not sure how wide that support is
14:37:35 <ehird> i wonder if there's a channel called #really-esoteric that is actually about esoteric programming ideas
14:37:39 <ais523> SQL portability is a nightmare
14:37:53 <ais523> ehird: this is about esolanging, although not a part of it that, say, you or oklopol would be interested in
14:37:57 <AnMaster> ais523, well that is why abstracting the actual query would be very hard
14:38:06 <ehird> no, it's not about esoteric programming ideas
14:38:11 <ais523> you'd have to invent your own nonportable unambiguous syntax for it
14:38:17 <ehird> it is tangentially related to an esolang, but it's not an esoteric programming idea
14:38:26 <AnMaster> I mean simple selects sure, but what about nested selects, with joins and sub queries and so on
14:38:34 <ais523> ehird: the international hub for design, development and deployment of esoteric programming languages
14:38:37 <ais523> this is deployment, IMO
14:39:02 <ehird> ok, tell you what, i'll emulate #really-esoteric: someone tell me when we're talking about esoteric programming ideas.
14:39:03 -!- ehird has left (?).
14:39:50 <Ilari> Like languages with write-once-read-many memory? :-)
14:40:27 <ais523> that might be esoteric, but needn't be
14:40:33 <ais523> write-many-read-once would be more fun
14:41:00 <ais523> I've actually had some thoughts along those lines
14:41:18 <ais523> to create a lang which was as usable as possible, but deliberately sub-TC
14:41:27 <Ilari> Oh, and no instruction pointer. :-)
14:41:43 <ais523> the idea would be that it would be impossible to write a nonterminating program, but apart from that it would be as usable as possible
14:41:51 <Slereah_> ais523 : Just do a TC language and add to the specs "The memory is 10^80 bits"
14:41:51 <ais523> Ilari: which lang are you thinking of, here?
14:42:05 <ais523> Slereah_: yes, but in a less cheating way than that
14:42:10 <ais523> besides, that fails for some things
14:42:17 <ais523> it can't primality-check arbitrarily large numbers, for instance
14:42:20 <ais523> whereas the lang I was thinking of could
14:43:20 <Ilari> Language which uses context-free grammar to guide lengthening of string (the extension candidates are matched to given context-free grammar on each step).
14:44:00 <ais523> hmm... I find that in IP-less languages like Thue, I normally end up implementing an IP in order to program in them
14:44:37 <Ilari> <AOL>Me too</AOL> :-)
14:45:12 <ais523> the AOL tags always seem to be redundant, because it always says "Me too" between them
14:45:17 <ais523> maybe just <AOL /> would do
14:45:46 <Ilari> ais523: For language that can express P, you probably just need to prohibit backward jumps and superlinear looping...
14:46:05 <ais523> my idea was basically that
14:46:21 <ais523> but instead of prohibiting superlinear looping, to prohibit super-Ackermann looping
14:47:16 <Ilari> How you prohibit super-Ackermann looping? Something to do with primitive recursion?
14:47:42 <Slereah_> What is "super ackermann looping"?
14:47:44 <ais523> oh, much more boring than that, I was planning to just make the programmer use the Ackermann function to calculate the number of iterations
14:48:28 <ais523> Slereah_: it's a loop which goes more times than an any Ackermann function whose arguments are the amount of input, and constants
14:48:37 <Ilari> Or having loop construct where loop bound is A(m.n), where m needs to be fixed?
14:49:12 <Ilari> Actually, probably no need to fix m. Its finite anyway...
14:49:55 <ais523> in fact, you could just put the Ackermann function in the standard library, use bignums, and require the programmer to specify the number of iterations of a loop in advance
14:50:10 <ais523> you need the Ackermann function in the stdlib to be able to do that, or you can't implement the Ackermann function itself
14:51:25 -!- ehird has joined.
14:51:29 <ehird> To be a hypocrite:
14:51:33 <ehird> YES QT IS NOW UNDER THE LGPL
14:51:45 <ais523> ehird: why is that better than what they had before?
14:51:57 <ehird> because it was either GPL or shell out money to them for a commercial license
14:52:15 <ehird> ais523: the QPL is viral too, iirc
14:52:18 <ais523> it had a special exception allowing it to link with <long list of open-source licences>
14:52:26 <ais523> and BSD was definitely one of them
14:52:55 <ehird> Well, OK, I didn't know that. But now it's obvious, and commercial apps can use it freely too. Which is nice.
14:53:29 <ehird> *Qt source code repositories will be made publicly available and will encourage contributions from desktop and embedded developer communities.
14:53:31 <ehird> *Service offerings for Qt will be expanded to ensure that all Qt development projects can have access to the same levels of support, independent of the selected license.
14:53:36 <ehird> ok, hypocrite over ->
14:53:38 -!- ehird has left (?).
14:54:13 <Ilari> Also, one could make language expressing most useful classes by allowing bounding loops by input fields...
14:54:26 <Ilari> Not just input field sizes.
14:55:01 <ais523> strange, trolltech's own page on Qt licensing is currently a 404
14:55:07 -!- ehird has joined.
14:55:13 <ehird> WHEN DID TROLLTECH RENAME TO QT SOFTWARE
14:55:15 -!- ehird has left (?).
14:55:22 -!- ehird has joined.
14:55:27 -!- ehird has left (?).
14:56:00 <ais523> Ilari: that's a linear bounded automaton, isn't it?
14:56:11 <ais523> ah, only if the input's in unary
14:57:02 <Ilari> I think that would allow expressing all E+TIME classes...
14:57:16 <ais523> Ilari: you're a lot more technical than me on these matters
15:00:55 <Ilari> BTW: Primality-checking arbitiary large numbers doesn't need loop superlinear in input size... :-)
15:01:07 <ais523> no, but it does need an infinite amount of memory
15:02:16 <Ilari> Lack of loops superlinear in input size impiles bound on memory usage.
15:02:32 <Ilari> ... Growing with input size, of course.
15:02:33 <ais523> only if there's a bound on the input
15:02:50 <ais523> which is what I think I was trying to get at
15:03:13 <Ilari> Unbounded amount of memory is not the same thing as infinite amount of memory.
15:03:32 <ais523> they come to the same thing from the programmer's point of view, though
15:03:38 <ais523> at least, there's no way to tell them apart that I know of
15:07:10 <Ilari> I think that proving that some program can only use unbounded amount of memory is in AH-PI-2 (harder than halting problem).
15:08:24 <ais523> I know there's more than one uncomputable computational class, but I don't know the names of any in particular
15:08:50 <Slereah_> Aren't they just greek letters with superscripts?
15:09:07 <ais523> but there's quite a difference between proving the program halts, and requiring the programmer to give a proof the program halts
15:09:07 <ais523> the second can be done in the syntax of a langauge
15:09:15 <Ilari> AH-PI-2 is class of problems that are in co-RE if halting oracle is available.
15:09:35 <ais523> what's it a halting oracle for? TC languages?
15:10:12 -!- FireFly has joined.
15:11:06 <ais523> lots of people I don't recognise seem to have been turning up in #esoteric recently
15:11:14 <ais523> that can only be a good thing, probably
15:11:28 <FireFly> Well, I've been lurking that esolang wiki for about half a year
15:12:01 <ais523> although not all the langs are all that good, there are some real gems in there
15:12:13 <ais523> Slereah_: which one was EsCo again? And do I sense sarcasm?
15:12:40 <Slereah_> EsCo was the Esoteric Compiler
15:12:54 <Slereah_> For such diverse languages as Brainfuck, Spoon and Ook.
15:12:56 <ais523> oh, it was that one that someone spammed to esolang
15:13:11 <Slereah_> I'm sure the next bold move is an esme compiler.
15:13:18 <ais523> don't mention esme, please
15:13:33 <ais523> I still hope, deep down, it was a trolling attempt
15:13:37 <ais523> because there's no other logical explanation
15:13:42 <ais523> on the other hand, that makes it very esoteric, I suppose
15:14:34 <ais523> and esco's apparently an interp, not a compiler
15:15:20 <ais523> let's see... it claims BF, Ook!, Spoon, HQ9+, Whitespace, Byter, and Befunge-93
15:15:35 <ais523> not that bad a selection, although there are no "hard" esolangs there
15:15:49 <ais523> and it's apparently an abbreviation for "EsotericCombined"
15:15:58 <ais523> Slereah_: one that's hard to interpret/compile
15:16:08 <ais523> I'd say Unlambda and INTERCAL are two good examples
15:16:10 <Slereah_> Like the ANDREI MACHINE 9000? :o
15:16:39 <Slereah_> Unlambda should be easily doable in a functional languages.
15:16:42 <ais523> I'm not counting langs like TwoDucks which are theoretically impossible to interpret, of course
15:16:47 <ais523> Slereah_: the problem in functional languages is d
15:16:51 <Slereah_> Although I still don't know what continuation is.
15:16:52 <ais523> although I think I've worked out a way around that
15:16:58 <ais523> c is hard if you don't have call/cc already
15:17:09 <ais523> anyway, I think Unlambda -> Underlambda is doable
15:17:31 <Ilari> Or esolang that needs full-blown implmentation of CYK for execution?
15:17:44 <ais523> I worked out the trick for d -> pure-functional a while back
15:17:51 <ais523> but deleted my notes on it, and the compiler I wrote, by mistake
15:17:57 <ais523> and haven't reconstructed them yet
15:17:59 <Slereah_> Also what's the theoretical machine behind INTERCAL again?
15:18:06 <ais523> Slereah_: I'm not sure if it has a name
15:18:18 <Slereah_> Well, where does it store informations
15:18:19 <ais523> CLC-INTERCAL compiles to bytecode called ICBM that's specifically designed for INTERCAL
15:18:24 <Ilari> Algorithm to decide uniform language recognization for context-free grammars in polynomial time.
15:18:35 <ais523> whereas C-INTERCAL compiles to C
15:18:39 <ais523> (and from there to native code)
15:19:15 <Ilari> That is, given string x and context-free grammar L, it can decide wheiher x is in L in polynomial time.
15:19:55 <ais523> most esolangs don't care about computational complexity
15:20:06 <ais523> in fact, most practical langs don't
15:20:09 <ais523> it might be nice to create one that did
15:20:10 <Slereah_> We're all about the model, not the speed!
15:20:32 <ais523> cfunge is a nice counterexample
15:20:45 <Slereah_> I don't know much of funge languages
15:20:49 -!- ehird has joined.
15:20:51 <ehird> http://philosecurity.org/2009/01/12/interview-with-an-adware-author
15:20:52 <ais523> Slereah_: it's nothing to do with the lang, just the interp
15:20:56 -!- ehird has left (?).
15:21:11 <ais523> the interp is specifically designed for speed
15:21:28 <ais523> because when you're having fun with esolangs, you may as well set extra challenges
15:21:34 <ais523> like writing the world's fastest funge interp
15:21:50 <ais523> (and then fizzie went and invented jitfunge, just for even more crazy-speed funge fun)
15:23:48 -!- ehird has joined.
15:23:50 <ehird> 07:12:40 <Slereah_> EsCo was the Esoteric Compiler
15:23:52 <ehird> esoteric _combine_
15:23:58 <ehird> they were naive interpreters
15:23:59 -!- ehird has left (?).
15:24:42 <Slereah_> Do they shoot you with lasguns?
15:24:57 -!- ehird has joined.
15:25:02 <Slereah_> [16:24:20] <Slereah_> Combine?
15:25:02 <Slereah_> [16:24:30] <Slereah_> Do they shoot you with lasguns?
15:25:04 <ehird> i think it was that the interpreters were COMBINED together.
15:25:07 -!- ehird has left (?).
15:26:23 <ais523> ehird: http://doc.trolltech.com/4.4/license-gpl-exceptions.html is the list of licences that pre-LGPL Qt could be linked with
15:27:33 -!- ehird has joined.
15:27:35 <ehird> S: In your professional opinion, how can people avoid adware?
15:27:40 <ehird> M: We did actually get the ad client working under Wine on Linux.
15:27:42 <ehird> S: That seems like a bit of a stretch!
15:27:44 <ehird> M: That was a pretty limited market, I’d say.
15:27:45 <Slereah_> Also, that dude was writing in scheme, he can't be all bad.
15:27:46 <ehird> -- that interview linked above
15:27:50 -!- ehird has left (?).
15:28:09 <ais523> why don't we just set the channel to allow message from outside?
15:28:16 <ais523> that way, ehird wouldn't have to join and part again to send messages
15:28:28 <ais523> OTOH, ehird is obviously reading the logs, so just joining the channel would be easier
15:30:34 <Slereah_> ehird, stop being the scourge of the world
15:36:54 <AnMaster> ais523, hm was afk, what is the argument about?
15:37:10 <ais523> there's no actual argument; just ehird keeps joining, saying stuff, and parting again
15:38:52 <Slereah_> Because he is the scourge of the earth.
15:39:05 <AnMaster> ais523, also funge is not that easy to make fast, I mean 2D sparse array
15:39:16 <AnMaster> linear address space is much simpler
15:39:56 <AnMaster> ais523, however that reminds me of a wild idea, I don't know if me or Deewiant had it first, anyway it happened when trying to understand what ehird meant with an idea for another fingerprint
15:40:11 <AnMaster> so you can mmap a file into an area
15:40:33 <AnMaster> ais523, add in some buzz words like DMA to non-funge world and such
15:41:03 <AnMaster> ais523, anyway it would slow down normal operation because you would need to check if the coords would be into an mmaped area
15:41:26 <AnMaster> also the file would need to be a raw file, couldn't care about stuff like newlines
15:41:28 <ais523> AnMaster: are you focusing specifically on optimising fingerprints? or just on optimising core funge?
15:41:49 <AnMaster> ais523, this idea? neither, because it would slow down normal operation
15:42:12 <AnMaster> ais523, anyway I wouldn't want to spec it, just an idea I had
15:42:13 <ais523> well, it's sane /enough/
15:42:51 <AnMaster> ais523, well, how would you avoid the overhead of checking a list of mappings to see if the access would be inside a mmaped() area in funge space on every funge space access
15:43:22 <ais523> well, you'd only need to do it for p and g unless the IP went into the area
15:43:28 <ais523> and you'd only need to do it if the fingerprint had been loaded
15:43:40 <AnMaster> ais523, well other instructions that access too, lots of them in fingerprints
15:44:23 <AnMaster> ais523, but then you would need to check each time the IP moves to see if it is inside such an area
15:44:32 <AnMaster> so not sure you could gain much
15:44:39 <ais523> AnMaster: not each time the IP moved
15:44:46 <ais523> just at every delta-changing or jumping instruction
15:44:55 <ais523> you can project the IP's path the rest of the time
15:45:15 <AnMaster> hm, this would be one thing that is easier in a JIT I believe
15:45:32 <ais523> well, JITs need to do that anyway
15:46:08 <ais523> doesn't mean you can't do it in a non-JIT
15:47:39 -!- ehird has joined.
15:50:32 <ehird> you know what sucks
15:52:12 <oklopol> i should probably do some algebra
15:53:30 <oklopol> Slereah_: i don't have the time for your incredible puzzles right now.
15:53:53 <ais523> Slereah_: (x-3) is not an lvalue
15:54:20 <AnMaster> ais523, postgres has an async SQL interface as well as a sync one
15:58:40 <AnMaster> or wait, ehird uses a variable width font, he probably didn't see that we all used same length of the lines
15:58:51 <ehird> no, I don' tuse a variable width font
15:58:55 <ehird> 15:54 <oklopol> oooooooooooo
15:58:55 <ehird> 15:55 <ais523> kkkkkkkkkkkk
15:58:56 <ehird> 15:56 <AnMaster> eeeeeeeeeeee
15:58:58 <ehird> account for nicks, bums
15:59:16 <ais523> besides, some clients right-justify nicks
15:59:23 <AnMaster> ehird, well I right-align nicks to column 12 or so
15:59:42 * ehird switches to a variable-width font
16:00:15 <ais523> AnMaster: I actually spent the effort counting oklopol's os
16:00:20 -!- FireFly has quit ("Later").
16:00:43 <Ilari> Variable-with fonts and some versions of xterm don't mix (the results look hideous)...
16:00:43 <AnMaster> ais523, I just copied, went to start, pressed Insert key to enter overwriting mode and pressed e until the end :P
16:00:55 <ehird> Ilari: I don't use a console IRC client.
16:00:55 <ais523> AnMaster: that's cheating
16:01:04 <ehird> because I have a GUI environment :P
16:01:07 <ais523> although this client doesn't have the insert/overwrite toggling
16:01:07 <AnMaster> ais523, no that is solving it in the simplest possible way
16:01:18 <ehird> no that is cheating
16:01:27 <ais523> ehird: nothing prevents you right-justifying nicks in a GUI environment...
16:01:36 <ehird> 16:00 <Ilari> Variable-with fonts and some versions of xterm don't mix (the results look hideous)...
16:02:03 <ais523> ehird: oh, miseed the context
16:02:07 <AnMaster> ais523, indeed, I'm using a GUI client on the bouncer atm, well two clients in fact
16:02:27 <AnMaster> seems like "a slightly less sucking xchat"
16:02:46 <ehird> its an xchat fork.
16:03:26 <ehird> I am using futura. I feel FUTURAstic.
16:03:38 <AnMaster> well I much prefer ERC over conspire
16:03:59 <AnMaster> but well, I prefer trying stuff before I dismiss them. :)
16:04:15 <ehird> Optima looks weird.
16:04:36 <ehird> HELLO FROM ZAPFINO
16:04:40 <AnMaster> how does font differ from typeface?
16:05:03 <ehird> A font is the computerized representation of one variation (regular, bold etc) of a typeface.
16:05:17 <ehird> Or, you know, the metal-ized representation, if you're oldsk00l.
16:05:43 <AnMaster> ehird, ah yes, my old pal Gutenberg liked that a lot
16:06:10 <ehird> You knew Johannes Gutenberg?
16:06:29 <ehird> PAPYRUS! Next up: COMIC SANS!
16:06:45 <ehird> COMIC SANS MS! The OFFICIAL FONT of #ESOTERIC!
16:06:50 -!- FireFly has joined.
16:07:12 <AnMaster> ehird, what about that MS chat thingy
16:07:16 <AnMaster> ehird, that would be even worse
16:07:37 <AnMaster> ehird, I mean using it, in comics mode
16:07:49 <ehird> I'm ignoring you :D
16:08:24 <ehird> MS Chat is the best irc client eve
16:08:59 <AnMaster> ehird, I'm quite sure you forgot the ~
16:11:20 <ehird> "YouTube Now Mutes Videos With Unauthorized Copyrighted Music"
16:11:21 <ehird> http://mashable.com/2009/01/14/youtube-mutes-videos/
16:14:42 <AnMaster> I mean, just in the GUI or in the actual file?
16:14:58 <ehird> i think it forces the mute in the gui
16:15:54 <AnMaster> ehird, seems to be in the file, I just tried with youtube-dl to get the .flv
16:16:02 <ehird> well, that makes more sense :P
16:31:41 <AnMaster> ais523, about quoting, what about S = Escape string for query
16:31:48 <AnMaster> iirc several DB interfaces has such
16:32:08 <ais523> don't do escaping then inserting strings, that way injections lie
16:32:09 <AnMaster> ais523, ok prepared is better yes
16:32:14 <ais523> use parametrised queries, or prepared statements
16:32:42 <AnMaster> ais523, well at least sqlite only allow parametrised queries with prepared statements iirc
16:32:57 <AnMaster> but it was a while since I last used that API
16:36:26 <AnMaster> ais523, I'm reading up on three DBs when making this interface: PostgreSQL, SQLite and MySQL. To make sure it is reasonably portable
16:36:50 <AnMaster> if you know any other open source SQL database that may be of interest, tell me
16:37:18 <AnMaster> (and before anyone ask: why open source only?: I don't plan to pay for oracle to make sure it is compatible)
16:37:25 <ehird> oracle has a free edition.
16:37:43 <ehird> i think it needs like 4gb of ram though.
16:37:52 <AnMaster> ehird, I have 1.5 in this system
16:38:01 <ehird> that was an exaggeration
16:38:26 <AnMaster> anyway from what I heard oracle is quite similar to postgres in many aspects
16:38:51 <ehird> oracle is pretty terrible from what i've seen.
16:40:00 <AnMaster> well if you can do simple stuff like: query, get row at a time, start/end/roll back transactions, connect/disconnect, get error code/message related to last error it should be fine
16:40:29 <AnMaster> what interest me more is how to integrate the postgresql async interface easily
16:40:38 <ehird> wow, this is so boring
16:40:50 <AnMaster> well everything isn't about you all the time
16:43:13 <ehird> grrrrr fuck people who talk about useless use of cat.
16:43:21 <ehird> its a bloody unix pipeline. it makes sense like that.
16:43:41 <AnMaster> ehird, well doing cat foo | grep bar makes no sense
16:43:55 <ehird> it makes perfect effing sense
16:44:06 <ehird> no, why doesn't it?
16:44:11 <ehird> you're catting the file, then grepping that
16:44:16 <ehird> you read unix pipelines left to right
16:44:21 <ehird> that makes _perfect_ sense
16:44:21 <AnMaster> grepping a file makes more sense
16:44:37 <AnMaster> ehird, "can not create process: limit exceeded"
16:44:49 <ehird> yeah because that cat is going to linger there forever
16:44:52 <ehird> and you can only run 5 processes
16:44:57 <ehird> before your machine crashes
16:45:09 <AnMaster> ehird, because you can hit the limit on a lot of shell servers quickly
16:45:11 -!- BeholdMyGlory has joined.
16:45:26 <ehird> yes. adding an extra cat to a pipeline will be _fatal_
16:45:44 <AnMaster> ehird, sometimes it will break stuff yes. Like I described
16:45:45 <ais523> BeholdMyGlory: are you AnMaster, or do we have two Arvids on this channel?
16:45:55 <ehird> AnMaster: uh huh. sure.
16:59:47 <ehird> The people on the Tubes must chip in and make an alternative to You Tube, it's not that expensive. The company must be based somewhere outside USA and it should be owned by at least 1 Mil guys so it will be never sold to any big company.
17:00:26 <ais523> ehird: you'd have to make a distributed version, somehow
17:00:37 <ehird> ok ais523 i ask you one thing
17:00:44 <ais523> 1 million's about the population of Birmingham, so it seems a bit excessive
17:00:44 <ehird> when i quote someone stupid for no particular reason
17:00:48 <ehird> please stop responding seriously
17:01:01 <ais523> ehird: in that case, you've missed the joke
17:01:13 <ehird> it's more that the joke is turning me into a gibbering wreck
17:09:36 <ehird> wow, zzo38 doesn't get open source
17:09:37 <ehird> Most of the new files added to Vonkeror are now licensed by GNU GPL v3 or
17:09:38 <ehird> later version (it is permitted because the LGPL v2.1 permits it). I am
17:09:40 <ehird> making a exception: Anyone who is making Conkeror software may relicense
17:09:42 <ehird> under the Conkeror license, in order to be added into Conkeror. Anyone
17:09:44 <ehird> can remove this exception from your own copy of the codes if they want
17:09:46 <ehird> to, but it is not required to remove this exception. However, this
17:09:48 <ehird> exception only grants additional permission to the workers of Conkeror.
17:09:50 <ehird> itt: vaguest shit ever
17:09:52 <ehird> who the hell is a worker of conkeror
17:10:19 <ehird> 1* Select odd/even row of tables using [_even] and [_odd] CSS selectors
17:10:20 <ais523> well, it's certainly legit to make a GPL3 fork of an LGPL2.1+ project
17:10:24 <ais523> not that that is generally sensible
17:10:25 <ehird> itt: zzo38 is microsoft 2.0
17:10:33 <ehird> ais523: i mean the relicensing clause
17:10:50 <ehird> http://zzo38computer.cjb.net/vonkeror/screenshots/screenshot_001.png Impressively ugly.
17:11:05 <ais523> ehird: that sort of thing is relatively common, just worded better
17:11:13 <ehird> ais523: conkeror is OPEN SOURCE
17:11:14 <ais523> in fact, it reminds me of the actually correct version of the wording
17:11:16 <ehird> everyone is a "worker" of it
17:11:20 <ehird> there's no people actually "in" conkeror
17:11:31 <ais523> the problem's with who the exception is given to
17:11:41 <ais523> but legally speaking, it can be given to any set of people and the licence still works
17:12:08 <ehird> doesn't mean the reclicensing works
17:12:25 <ehird> Tax bracket system should work differently, which is that for example if $0.01 to $200.00 is 0% and $200.01 to $400.00 is 10% and if you earn $300.00 then you should pay $10.00 in taxes, not $30.00 (note that my numbers are just examples, these actual numbers are stupid but the idea has to do with how the calculations are done, not the actual rates used)
17:12:27 <ehird> Maybe that is unclear. But maybe if I write it in Javascript then it will be easier to understand? Or maybe not. I will write in Javascript anyways.
17:12:38 <ehird> this guy is like a troll minus the troll
17:12:50 <ehird> he's impossible to understand and often slightly clueless, except minus the frustration
17:12:57 <ehird> and he's just writing on his blog nowadays so he isn't even talking to anyon
17:33:39 -!- oerjan has joined.
17:37:43 <AnMaster> <ehird> when i quote someone stupid for no particular reason <ehird> please stop responding seriously <-- you aren't that nice when I do it...
17:38:00 <ehird> he does it less often.
17:39:16 <ais523> ehird: I respond seriously only when it's actually funny
17:39:32 <ais523> or when, in this case, I don't think the comment is as stupid as you think it is (yet, of course, still stupid)
17:41:29 <ehird> i wonder where chris pressey works
17:41:43 <ehird> i wouldn't be surprised if he somehow makes money out of cats eye, due to the expanse of http://catseye.tc/projects/
17:46:06 <ehird> Established by Chris Pressey in Winnipeg, Manitoba, Canada, and now located in Vancouver, British Columbia, Cat's Eye Technologies has provided custom software development and consulting services since 1995. Our clients have included Manitoba Health, Star Building Materials, Morrison Homes, and Samkoma.com.
17:46:30 <ais523> it's pretty amazing that a genuine company has a whole esolang win
17:46:40 <ais523> especially one so famous
17:47:30 <ehird> well, it's just one guy :P
17:47:44 <ehird> who does freelancing work. and happens to have an esolang hobby.
17:49:16 <ehird> http://catseye.tc/about/php.html
17:49:30 <ehird> the last paragraph is priceless
17:49:41 <ehird> especially since it's a real error
17:50:38 <ehird> "Perl is what happens when you play Katamari Damacy with the Unix toolchain. This condition has been less gracefully described, by others, as "being a steaming heap." "
17:50:40 <ehird> http://catseye.tc/about/perl.html
17:50:41 <ais523> how do you know it's a real error?
17:50:46 <ehird> ais523: the source code
17:50:51 <ehird> the linebreak and everything
17:50:54 <ehird> is exactly the same
17:50:54 <ais523> is it linked from the page?
17:51:08 <FireFly> Too bad it wasn't line 404
17:51:18 <ais523> I do like the idea of playing Katamari Damacy with the UNIX toolchain, though
17:51:20 <ehird> /internal/directory/structure/home/website/include/oh_drat.php
17:51:23 <ehird> that's obviously fake
17:51:31 <ehird> so i guess he caused a php error
17:51:33 <ehird> then copied the code
17:51:47 <oerjan> <ais523> I'd say Unlambda and INTERCAL are two good examples
17:51:58 <ais523> oerjan: of esolangs which are hard to compile/interpret
17:52:03 <oerjan> unlambda is easy if you think in terms of graph rewriting
17:52:04 <ais523> as opposed to BF, which is easy
17:52:20 <ais523> oerjan: I suppose rewriting langs would be good at d
17:52:23 <ais523> how good are they at c?
17:52:32 <ais523> OTOH, actually writing a graph rewriting lang in the first place is nontrivial
17:52:39 <oerjan> you use CPS style, of course
17:52:41 <ehird> I want to write an unlambda->efficient c compiler
17:52:49 <ehird> it isn't self-modifying is it?
17:53:01 <ais523> but d makes it self-resemanticising
17:53:29 <ehird> can't you just track d tags and pass thunks to d-tainted functions?
17:53:35 <ehird> to be efficient on non-D using code
17:53:44 <ais523> oh, I'm sure there are tricks that work
17:54:01 <ais523> as for c, if you're using CPS you need to do garbage collection of continuations somehow
17:54:20 <oerjan> actually by graph rewriting i mean little more than ML/haskell style ADTs with pattern matching
17:54:26 <ehird> ais523: http://home.pipeline.com/~hbaker1/CheneyMTA.html
17:54:33 <ais523> oerjan: that's what I was thinking of too
17:54:34 <ehird> you convert to cps
17:54:35 <ehird> you allocate everything on the stack
17:54:38 <ehird> and you use regular c function calls
17:54:42 <ais523> I normally use Thutu for that sort of thing
17:54:49 <ais523> or even more fun, recursive Perl regexen
17:54:51 <ehird> to clear the cstack
17:54:51 <oerjan> ais523: oh, the point is the continuations can _also_ be done as such structures
17:55:05 <ehird> it's a generational garbage collector that's really insanely fast beacuse you just call c functions and allocate on the stack
17:55:13 <ehird> it's a piece of art
17:55:28 <ehird> you get efficient allocation, function calls, continuations and GC, almost for free.
17:56:10 <ais523> hmm... it depends on longjmp/alloca
17:56:20 <ais523> presumably using alloca precisely because it plays well with longjmp
17:56:21 <ehird> it doesn't depend on alloca inherently
17:56:26 <ehird> although most of the time you want to use it
17:56:29 <ehird> but their example doesn't
17:56:31 <ais523> it's how it handles dynamic-size data
17:56:32 <ehird> it is _all_ stack-allocated
17:56:37 <ais523> alloca is stack allocation
17:56:45 <ehird> please stop talking to me like I don't know C
17:56:46 <ehird> read their example program
17:56:48 <ais523> I suppose you could use VLAs, but VLA + longjmp = madness
17:56:59 <ehird> http://home.pipeline.com/~hbaker1/cboyer13.c
17:57:44 <ais523> ehird: probably it just doesn't have any dynamic-sized data structures, so doesn't need it
17:57:54 -!- oklopol has quit (Read error: 145 (Connection timed out)).
17:58:22 <ehird> of course, alloca would be about as well-supported, easier to code, and more sane.
17:58:36 <ais523> I'm not certain that longjmp + VLA is guaranteed to do anything in particular
18:00:49 * ehird decides to write some perl
18:01:15 <ehird> unlambda-compiling perl to be specific
18:02:09 <ehird> guess what i'm going to do to be esoteric
18:02:27 <ais523> that's esoteric in Perl
18:02:57 <ehird> write my own object system.
18:04:23 <oerjan> i recall the bundled perl interpreter in the unlambda distribution was rather slow
18:04:35 <oerjan> as in, my INTERCAL interpreter was faster than it :D
18:04:43 <ehird> this will compile unl to semi-efficient c
18:05:52 <ais523> well, C-INTERCAL is designed to be not inherently slow
18:06:04 <ais523> but as in, it won't deliberately slow you down
18:06:13 <ais523> also it doesn't give a runtime penalty for features you aren't using
18:06:33 <oerjan> i thought that was a C++ mantra
18:06:35 <ehird> ais523 isn't nearly shocked enough :(
18:07:04 <ais523> oerjan: well, C++ is like that too
18:07:14 <ais523> but on the other hand, other langs do give a penalty for features you aren't using
18:07:18 <ais523> so we had to choose one or the other
18:07:45 <oerjan> of course there's an excuse, the perl interpreter was a debugger too
18:07:55 <ais523> that isn't really an excuse
18:08:01 <ais523> debuggers shouldn't give much of a runtime penalty either
18:08:07 <ais523> IIRC, even yuk doesn't slow programs down much
18:08:34 <ais523> anyway, there's a huge bug in the C-INTERCAL profiler atm
18:08:35 <ehird> hmm, what's the perl prototype that makes the {...} passed to the function be a sub {...}?
18:09:31 <ais523> wait, you're messing with prototypes?
18:09:37 <ais523> that's eso from the start
18:09:43 <ehird> ais523: it uses prototypes to implement a prototypical object system
18:11:17 <ehird> ais523: can you make an anonymous sub run in a certain scope?
18:11:21 <ehird> i.e., inject variables into it and stuff
18:11:54 <ais523> as long as the sub doesn't try to declare the variables itself
18:12:22 <ais523> you make sure the variables haven't been lexically scoped when the anon sub has been declared
18:12:38 <ehird> they need to be lexical inside the scope of the anon sub
18:12:41 <ais523> they mustn't be inside a my at any level, you have to be aiming at the globals when the sub was declared
18:12:48 <ais523> then, you use local inside the block that calls the sub
18:13:13 <ehird> hrm, actually I'll just do it like the rest of perl's oo system
18:13:16 <ais523> you can use local anywhere without interfering with this, it was deprecated in favour of my because my was saner
18:13:32 <ais523> but local, being insaner, is better for implementing that sort of insane scheme
18:13:40 <ehird> my $Rectangle = $Object->clone {
18:13:42 <ehird> my ($self, $w, $h) = @_;
18:13:44 <ehird> $self->width = $w; $self->height = $h;
18:14:08 <ehird> now to get that to run
18:14:27 <ehird> oops, first line should be
18:14:28 <ehird> my $Rectangle = $Object->clone->do {
18:14:40 * ais523 tries to remember the last time they saw a perl variable that started with a capital letter
18:14:44 <ais523> for some reason, that just Doesn't Happen
18:15:25 <ehird> does #include "__FILE__" work in C?
18:15:46 <ais523> I think it works without the quotes
18:15:58 <ais523> although it isn't guaranteed to, it will on most cpps
18:16:00 <ehird> ais523: here's what i'll do in the underload compilation:
18:16:13 <ehird> #ifndef _UNDERLOAD_HEADER
18:16:17 <ais523> (it isn't guaranteed because #include isn't guaranteed to work on non-standard-headers, e.g. if you don't have a filesystem)
18:16:24 <ehird> stop ruining my paste
18:16:28 <ehird> #ifndef _UNDERLOAD_HEADER
18:16:30 <ehird> #define _UNDERLOAD_HEADER
18:16:33 <ais523> if you don't want people to ruin your pastes, use a pastebin
18:16:38 <ais523> besides, it's still readable anyway
18:16:40 <ehird> i'm writing it as I go
18:16:42 <ehird> so here I start again
18:16:45 <ehird> #ifndef _UNDERLOAD_HEADER
18:16:47 <ehird> #define _UNDERLOAD_HEADER
18:16:54 <ehird> #undef _UNDERLOAD_HEADER
18:16:59 <ehird> (HERE GOES UNDERLOAD CODE)
18:17:03 <ais523> it's not as if you're using telnet, surely other people's comments don't interfere with typing?
18:17:04 <ehird> (BORING HEADER BOILERPLATE)
18:17:18 <ehird> i.e., it hides the boring boilerplate definitions at the bottom of the file
18:17:23 <ehird> while still letting them be used in the top of the file
18:17:25 <ais523> Underload, or Unlambda?
18:17:34 <ehird> unlambda, but whatever
18:17:40 <ehird> that's irrelevant to the trick :P
18:17:47 <ais523> ehird: please, they're as different as Java and JavaScript
18:17:57 <ehird> they're irrelevant _to the trick_
18:19:15 <oerjan> <ais523> 1 million's about the population of Birmingham, so it seems a bit excessive <-- is that the official UK definition of excessive?
18:19:32 <AnMaster> wow this fingerprint spec is quite large
18:19:38 <ais523> oerjan: no, but it may as well be
18:19:39 <AnMaster> it is already 200 lines, and far from complete
18:19:41 <ais523> AnMaster: which fingerprint?
18:19:42 <ehird> say, does perl have a built-in exception handling system?
18:19:47 <ais523> IFFI's about that long, but complete IIRC
18:19:58 <ais523> it's eval {} for try {} (note, not eval "")
18:20:08 <ais523> catch is done using one of the weirdly named variables
18:20:14 <ais523> probably $@, but I might be wrong on that
18:20:16 <ehird> okay, ummm, how do you have different types of exceptions there :DD
18:20:33 <ais523> ehird: I'm not sure offhand if you can throw anything but a string
18:20:39 <AnMaster> ais523, what language is this?
18:20:40 <ais523> but if you can, you can just use isa on the object to see what it is
18:21:04 <ehird> ... stuff with $@ ...
18:21:18 <AnMaster> ehird, that is perl's exception handling?
18:21:30 <ais523> AnMaster: this is Perl we're talking about
18:21:32 <ehird> it just lets you recover from a die "foo"
18:21:38 <ais523> all its features were bolted onto the core as simply as possible
18:21:43 <ehird> because eval { } will be false when it dies
18:21:48 <ais523> which is why objects are basically just sugar for stuff
18:21:48 <ehird> so you can use or on it with a code block
18:21:51 <ehird> and the die string is put in $@
18:22:01 <ais523> ehird: I think the block might have to end with 1; for that to work
18:22:04 <AnMaster> ehird, does this work for language errors, say division by zero
18:22:10 <ais523> but then, Perl modules have to end like that for the same reason
18:22:18 <ais523> although it throws a string in that case
18:22:31 <ais523> you can use ref $@ to see if it's a string or not
18:22:38 <ehird> does perl have an empty package built in?
18:22:42 <ehird> like BLANK or something
18:23:02 <ais523> although some, like strict or warnings, are very simple
18:23:10 <ais523> because they just set flags that the compiler reads
18:23:21 <ais523> what, you thought use strict; was a compiler directive?
18:23:37 <ais523> AnMaster: no, that's @ARGV
18:23:50 <ais523> what made you think it would be $@?
18:23:53 <AnMaster> well perl is often close to shell I noted...
18:24:13 <ais523> AnMaster: it's a mix of C, shell, and sed
18:25:00 <ais523> although that's more use English; than default
18:29:05 <ais523> AnMaster: use English; imports awk-like variable names
18:29:25 * ais523 wonders vaguely if awkwards is the opposite direction to sedwards
18:30:09 <ehird> 18:28 tomboy64 has left IRC ("This connection was severed because the sys-admin has been abducted by aliens and is now being tortured in the most pleasurab)
18:30:41 <AnMaster> ais523, so what would this awk script be in perl http://rafb.net/p/DOu9SY23.html ?
18:31:14 <AnMaster> ehird, I'm not sure if this is gawk specific or not since I have no other awk here
18:31:36 <AnMaster> ehird, also what package is awk2perl?
18:31:44 -!- KingOfKarlsruhe has joined.
18:31:45 <ehird> if you have perl you have it
18:32:01 <ehird> output looks correct to m
18:33:03 <ais523> AnMaster: http://rafb.net/p/fw7OUJ65.html
18:33:12 <ehird> yeah because he is unable to run program
18:33:27 <ais523> ehird: well, jumped to running a2p before that conversation started
18:33:33 <ais523> and only just saw your descriptions
18:33:42 <ehird> a2p is surprisingly competent
18:33:48 <ais523> ehird: it generated the line $[=1
18:33:52 * AnMaster waits for ehird to say he is sorry for that comment above to ais523
18:33:54 <ais523> which is very very deprecated in modern Perl
18:34:03 <ehird> who cares about modern perl
18:34:14 <ais523> ehird: it's more or less gets-level deprecation
18:34:23 <ais523> it doesn't automatically give everyone an evil handle to take over your computer
18:34:24 <ehird> if it works, it works
18:34:26 <AnMaster> <ehird> yeah because he is unable to run program <ehird> s <ais523> ehird: well, jumped to running a2p before that conversation started <ais523> and only just saw your descriptions <ehird> oops, sorry
18:34:33 <AnMaster> that is what I expected but didn't see
18:34:40 <ais523> ehird: the version number
18:34:47 <ais523> $[ is the base of arrays
18:34:54 <ais523> as in, normally arrays are zero-based
18:34:58 <ais523> $[=1; makes them one-based
18:35:03 <AnMaster> no one sane would make $] be a version number
18:35:07 <ais523> but changing the value causes chaos
18:35:13 <ehird> AnMaster: um, I made a mistake. do I have to point that out to everyone?
18:35:19 <ehird> i mean, he said he did it before the conversation
18:35:37 <ais523> apparently they chose it based on a bad pun, so people would remember it more easily
18:35:42 <AnMaster> ais523, well it makes no sense, I mean reserve the namespace $PERL_ or such and have $PERL_VERSION
18:35:43 <ais523> "Is this version of Perl within the right bracket?"
18:35:58 <ehird> AnMaster: that's longer.
18:36:09 <ehird> AnMaster: there you go.
18:36:17 <FireFly> [19:35:03] <AnMaster> no one sane would make $] be a version number <-- Last time I checked, we were in #esoteric
18:36:18 <ehird> it's perfectly readable to anyone who knows perl
18:36:19 <ais523> and they do have a reserved namespace, it's dollar followed by punctuation marks or control codes
18:36:22 <ehird> and makes hacking up scripts easy
18:36:26 <ehird> FireFly: wow, you caught on already
18:36:31 <ehird> don't worry, AnMaster is always like this
18:37:02 <AnMaster> ais523, well, what if they one day need more than the amount of punctuation marks or control codes
18:37:16 <ais523> they have already, but they didn't run out
18:37:33 <ais523> you can have variable names which start with a control code and are followed by normal letters
18:37:40 <ais523> written as ${^Variable}, for instance
18:37:45 <ais523> where ^V is either a literal control-V
18:37:52 <ais523> or the separate characters ^V
18:37:54 <ais523> to make it easier to type
18:37:56 <AnMaster> ais523, also that awk script was a lot nicer
18:38:01 <ais523> it's stored internally as a literal control-V, though
18:38:07 <ehird> omg machine compiled code
18:38:08 <AnMaster> but I assume you could make the perl code nicer
18:38:08 <ais523> and of course it was, written code > generated code
18:38:29 <AnMaster> <AnMaster> but I assume you could make the perl code nicer <ehird> omg machine compiled code <ehird> is <ehird> ugly!!
18:38:48 <ehird> <AnMaster> everyone types instantly, and network lag does not exist
18:38:52 <ais523> the Perl isn't that bad, though, apart from it's missing idiomatic abbreviations for if/else
18:38:59 <ais523> which makes it much vertically longer than it ought to be
18:39:04 <AnMaster> ehird, well you could wait a few seconds before over reacting
18:39:16 <ehird> it's called sarcasm
18:39:31 <AnMaster> ehird, it seemed like you were attacking me?
18:39:49 <ehird> i was responding sarcastically to comments I considered ridiculous.
18:40:25 <AnMaster> ais523, well it uses next line; instead of a switch or elseif or whatever, because each of those ends so it will never execute the next one
18:40:59 <ais523> AnMaster: there is no switch in perl, but an if/elsif chain would have made more sense
18:41:03 <ais523> just a2p isn't trying to optimise that case
18:41:13 <ais523> or even a ?: chain would have worked there
18:41:24 <AnMaster> ais523, true. would local($dir, $CC, $bits, $GC, $THR) = @_; detect missing parameters?
18:41:25 <ais523> (actually, I lied, there is a switch in Perl but it's really new and hasn't caught on yet)
18:41:51 <AnMaster> as in error out, or warn on missing parameters
18:41:54 <ais523> AnMaster: not without warnings on
18:41:56 <ais523> probably not even then
18:41:58 <ais523> it would just assign undef
18:42:03 <AnMaster> ais523, well the original awk code would
18:42:10 <ais523> you can check easily enough using @_ == 5
18:42:14 <ais523> just a2p neglected that check
18:43:01 <AnMaster> ais523, I don't understand the logic for the check if $running_under_some_shell; at the top
18:43:15 <ais523> AnMaster: that's for systems on which #! doesn't work
18:43:18 <ehird> AnMaster: it's a hack
18:43:22 <ehird> in shell, the next line won't be executed
18:43:24 <ais523> think about what the code does in sh
18:43:27 <ehird> but in perl, it's waiting for the end of the statement
18:43:30 <ehird> and that if makes it never run
18:43:39 <ais523> it is, in fact, a Perl/sh polyglot
18:43:49 <ais523> which reinvokes the program under Perl if it's running in sh
18:43:55 <ais523> hence the slightly weird phrasing
18:44:13 <AnMaster> ais523, that assumes perl is in /usr/bin however
18:44:22 <AnMaster> I think /usr/bin/env perl would be more portable
18:44:25 <ais523> it's often done with /usr/bin/env
18:44:27 <ehird> it uses the perl you have on your system
18:44:34 <ehird> #!/opt/local/bin/perl
18:44:35 <ehird> eval 'exec /opt/local/bin/perl -S $0 ${1+"$@"}'
18:44:37 <ehird> if $running_under_some_shell;
18:44:41 <ehird> AnMaster: you're not meant to distribute these scripts, ofc
18:45:01 <AnMaster> well then I would surely use the local awk on my system
18:45:09 <ehird> not everyone has gawk
18:45:18 <ehird> not everyone _wants_ gawk
18:45:20 <AnMaster> ehird, well it could be portable awk
18:45:29 <ehird> AnMaster: a2p is useful for porting scripts over
18:45:31 <AnMaster> since it is a local one off script
18:45:38 <ehird> it runs as object code out of the box as a proof-of-concept
18:45:42 <ehird> and lets you hack it up afterward
18:46:00 <AnMaster> ehird, it supports gawk extensions?
18:51:26 <AnMaster> " For aesthetic reasons you may wish to change the array base $[ from 1 back to perl’s default of 0, but remember to change all array subscripts AND all substr()
18:51:26 <AnMaster> and index() operations to match."
18:52:34 <ais523> it's more than just aesthetic reasons, though
18:52:45 <ais523> really, you don't want to force an array index of 1 onto all the other code you link it with
18:52:55 <ais523> although they have a fix for that in recent versions, it's hacky
18:53:05 <AnMaster> ais523, why do they set $[ then?
18:53:44 <ais523> AnMaster: to avoid having to wrap all the indexing operations in the whole program
18:53:51 <AnMaster> For efficiency, you may wish to remove the keyword from any return statement that is the last statement executed in a subroutine. A2p catches the most common
18:53:51 <AnMaster> case, but doesn’t analyze embedded blocks for subtler cases.
18:53:53 <ais523> the thing about Perl is it's good for large programs and short one-off scripts
18:54:08 <ais523> AnMaster: hmm... that shouldn't affect efficiency nowadays
18:54:11 <ais523> a2p must be really old
18:54:25 <ais523> you can write 4; instead of return 4;
18:54:29 <ais523> at the end of a procedure
18:54:40 <Mony> http://fichiers.asibasth.com/images/conneries/divers/Programmer_Superiority.jpg
18:54:41 <ais523> shouldn't affect efficiency apart from the time it takes to parse the return keyword, though
18:55:58 <AnMaster> ais523, what is $, = ' '; about?
18:56:12 <ais523> AnMaster: separator for print statements
18:56:38 <ais523> print "a", "b", "c"; is equivalent to print "a$,b$,c$/";
18:56:45 <ais523> except that the second one would actually print $/ twice, as it's implicit
18:56:49 <AnMaster> ais523, anyway how do you set input separator? because the call to the script did that with -F iirc
18:57:04 <ais523> although that can't be a regex in Perl, and it can be in awk
18:57:28 <AnMaster> I shall certainly remember it, will be useful
18:58:08 <AnMaster> It would be possible to emulate awk’s behavior in selecting string versus numeric operations at run time by inspection of the operands, but it would be gross
18:58:08 <AnMaster> and inefficient. Besides, a2p almost always guesses right.
18:58:08 <AnMaster> Storage for the awk syntax tree is currently static, and can run out.
18:58:35 <ehird> why's that notable?
18:59:52 <AnMaster> ehird, what? the strange bug about using static storage?
19:00:18 <AnMaster> ehird, well wikipedia has an article on him so I guess he is notable?
19:00:27 <ehird> but why is it notable that he wrote a2p
19:00:31 <ehird> why did you quote that block
19:00:34 <oerjan> HOW DARE YOU INSULT THE GREAT LARRY WALL
19:00:35 <ais523> AnMaster: he's notable for writing Perl
19:00:40 <ais523> so writing a2p too is hardly surprising
19:00:49 <ais523> that's like calling me notable for writing convickt
19:01:02 <ais523> not for that reason, though
19:01:20 <AnMaster> ais523, well after looking at convickt code I would say: very notable for that
19:03:44 <ehird> Just to put this into perspective, I never use getopt, either in C or in perl.
19:03:44 <ehird> I suppose this could be construed as a character flaw.
19:03:45 <ehird> —Larry Wall, Dec 1989
19:04:05 <ais523> there are lots of good Larry Wall quotes
19:04:09 <AnMaster> ehird, "put what in perspective"
19:04:14 <ehird> http://groups.google.com/group/comp.lang.perl/browse_thread/thread/4bda45c06e872fef/86586c72bf0ddc18#86586c72bf0ddc18
19:04:29 <ais523> the one about real programmers not needing backups, but instead persuade the whole Internet to mirror their work, I think is quite insightful
19:04:58 <ehird> backing up a gpg-encrypted drive image via thepiratebay could work, if you bundle parts of it with illegal material
19:05:12 <ehird> I remember once I uploaded a computer game to the pirate bay -- skip ahead a year, I can't find my disc.
19:05:19 <ehird> So I download my own copy from everyone else.
19:05:27 <ehird> that was quite silly
19:07:27 <AnMaster> ehird, also isn't the pirate pay just a torrent searcher, not a tracker?
19:07:43 <ehird> it's a tracker that provides a search facility for the torrents it tracks
19:07:52 <AnMaster> ehird, and not for other's torrents?
19:08:10 <ehird> No. Sites like torrentz.com aggregate torrent trackers into a search engine.
19:09:18 <ehird> I wonder if bless {}, NULL will work in perl
19:09:29 <ehird> AnMaster: that would run the script getopt.pl
19:09:30 <AnMaster> isn't it use getopt? or something
19:09:36 <ehird> and this is from _1989_
19:09:46 <AnMaster> so it is probably a module nowdays?
19:09:56 <ehird> perl was only 2 years old back then, and had only been public i think for like a year
19:09:59 <AnMaster> modules didn't exist back then?
19:14:38 <ehird> hee, I found the torrent
19:14:45 <ehird> seeder 0, leechers 1 :(
19:15:04 -!- sebbu has joined.
19:15:10 <AnMaster> how to represent NULL in funge? as in NULL from SQL
19:15:38 <ais523> AnMaster: hmm... are you mostly dealing with string data?
19:15:55 <AnMaster> ais523, um? as in type of prepared statement or type or return value
19:16:04 <AnMaster> I try to make it support several types
19:16:15 <ais523> if so, you could use -1 or some other character that doesn't make sense in strings
19:16:15 <ais523> but that's no good if you're returning an integer
19:16:19 <AnMaster> currently I have <type><data> where format of <data> depends on <type>
19:16:29 <ehird> every window in my browser
19:16:34 <AnMaster> ais523, and yes I support integers and blobs
19:16:34 <ehird> without me telling it to
19:16:45 <ais523> and keyboard, or mouse?
19:16:47 <ehird> ais523: yep, i'll explain
19:17:05 <ehird> i pressed cmd-w to close one window, while i was pressing it, my (wireless) keyboard lost connection for some reason
19:17:14 <ehird> and so the OS never got the "keypress up" signal from it
19:17:17 <ehird> so it thought i was holding it down
19:17:24 <ehird> and it stopped when the last window was closed, and thus there was no focus
19:17:27 <ais523> that's a bug, isn't it?
19:17:39 <ehird> it's not exactly gonna be common though
19:17:41 <AnMaster> ehird, I wouldn't use a wireless keyboard anyway
19:17:51 <ehird> that's nice. i don't care. it was my system, not yours
19:18:01 <ais523> I don't know about other protocols, but on Windows the protocol is to send a key-down message for every time the key should appear, then a key-up at the end
19:18:02 -!- sebbu2 has quit (Connection timed out).
19:18:10 <ais523> so holding down a key gives down,down,down,down,down...
19:18:13 <ais523> and letting go gives up
19:18:22 <ehird> that's not how it works at the hardware layer
19:18:25 <ais523> that's how messages are sent to the software
19:18:33 <ais523> hardware using a similar method would make sense, probably
19:18:42 <AnMaster> ehird, you have a short fuse (as I would say in Swedish, "kort stubin", not sure if the translation is very unidiomatic or not)
19:18:43 <ehird> because the repeat rate is configurable
19:18:52 <ais523> AnMaster: it is idiomatic
19:19:01 <ais523> ehird: yes, but wouldn't the keyword be?
19:19:05 <ehird> AnMaster: no, i've just learnt that talking with you is so irritating that I try not to give it too much thought.
19:19:07 <ehird> ais523: well, yes...
19:19:11 <ehird> but anyway, that's how keyboards work
19:19:18 <ehird> so the driver never got "key X up"
19:19:47 -!- kar8nga has joined.
19:20:25 <ehird> ok, $Object->{hello}(); works
19:20:32 <ehird> now to make $Object->hello work
19:20:32 <AnMaster> ehird, if it detects the lost connection (which I know it does for wireless mouse on OS X at least) it should send the key up event itself
19:21:07 <ehird> hey, what perl method gets called when the method isn't known again?
19:21:08 <ais523> ehird: most people wouldn't consider all their windows closing a feature...
19:21:14 <AnMaster> ehird, I'm pretty sure I have seen an ibook display "connection lost" under an image of a mouse
19:21:32 <AnMaster> ehird, the same for keyboards I assume?
19:21:50 <AnMaster> and for mouse it sends button up when that box shows up
19:21:50 <ehird> ais523: what args does it get? :\
19:22:40 -!- ais523 has quit (Read error: 60 (Operation timed out)).
19:22:56 <AnMaster> ouch that sounds like the C pre-processor trying to auto add missing includes XD
19:24:51 <ehird> http://pastie.org/private/xisw72zrb5danroibmor7a c program reordering
19:24:58 <ehird> self-contained files without huge library bulk at the top.
19:25:46 -!- ais523 has joined.
19:27:38 <AnMaster> ehird, why though? I don't see the point
19:27:45 <ehird> for compiler output
19:28:00 <ehird> the huge support functions can be at the bottom so you can inspect the compiled unlambda easily
19:28:02 <AnMaster> ehird, why not just add the include at the top instead
19:28:03 <ehird> without scrolling a lot
19:28:14 <ehird> AnMaster: that adds a function too
19:28:19 <ehird> note that there's no prototype before it
19:28:22 <ehird> it just reorders thec ode
19:28:24 <AnMaster> ehird, this is from an unlambda compiler?
19:28:33 <ehird> i'm planning to write it :P
19:28:44 <ehird> also, I'll keep the constant name.
19:28:48 <AnMaster> ehird, well yes for that I guess it makes a certain amount of cense
19:29:38 <ehird> http://www.nordier.com/v7x86/index.html
19:30:53 <ehird> __PROXY=HASH(0x18006a0)
19:31:00 <ehird> __PROXY=HASH(0x18006a0)
19:31:02 <ehird> now why does it duplicate that arg...
19:35:07 * ehird tries to figure out how to define a variable i n another package
19:35:29 <ehird> a package I made up.
19:35:44 <AnMaster> and what is this HASH() thing? MD5 hash?
19:36:10 <ais523> AnMaster: no, it's an attempt to print a pointer to a hash
19:36:21 <ehird> our $__PROXY::foo;
19:36:34 <ais523> ehird: that makes no sense
19:36:43 <ehird> and that's why I want to do it.
19:36:45 <ais523> so what /are/ you trying to do?
19:36:56 <ehird> as if in __PROXY "our $foo;" was done
19:37:12 <ehird> aha, I got it working
19:37:12 <ais523> you're trying to declare a lexically scoped variable... in a different scope?
19:37:16 <ehird> sub __PROXY::AUTOLOAD {
19:37:17 <ehird> my ($obj, @args) = @_;
19:37:18 <ais523> AnMaster: my is a keyword too
19:37:19 <ehird> print $__PROXY::AUTOLOAD,"\n";
19:37:37 <ais523> AnMaster: they declare lexically scoped variables
19:37:40 <ais523> sort-of like auto in C
19:37:45 <ais523> except in C you have to give the data type
19:38:02 <ais523> in Perl, you don't, which is why the auto-like keyword is needed
19:38:09 <AnMaster> ais523, so what if you don't use my, what sort of scope is used then?
19:38:15 <ehird> AnMaster: dynamic scope
19:38:33 <ehird> "local" is for dynamic scope
19:39:06 <ais523> ehird: "local" is for INTERCAL-like scope
19:39:24 <ehird> ais523: question, how can you say "is this a sub"?
19:39:43 <ais523> well, it's a sub if you're running it
19:39:49 <ais523> checking for a pointer to a sub would make more sense
19:39:52 <ais523> which you can do with ref
19:39:59 <AnMaster> ehird, if (Object.IsSubmerged()) return true;
19:40:00 <ais523> AnMaster: push/pop on a stack for scoping
19:40:21 <ehird> how do you call an anonymous sub again?
19:40:54 <ehird> it just wasn't funny
19:41:04 <ais523> ehird: &$variable_holding_pointer_to_sub;
19:41:15 <AnMaster> you never like my jokes ehird :(
19:41:18 <ehird> ais523: actually, the anonymous sub is the result of a function calll.
19:42:10 <ehird> ais523: do you have to do ->() or something?
19:42:24 <ais523> ehird: that's syntactic sugar, which works
19:42:34 <ais523> the non-sugared version is &{put call here}();
19:43:08 <ehird> ais523: ok, now how do I execute some code in the context of whoever called me? <_<
19:43:31 <ais523> ehird: you're already in the context of whoever called you, apart from lexically scoped variables
19:43:42 <ais523> lexical scoping is deliberately sane, so you aren't going to be able to get around it
19:44:01 <ehird> functions can use caller
19:44:09 <ehird> I want caller to be whoever called this method, in the function I call
19:44:23 <ehird> so, I just want to contort the call stack
19:44:46 <ais523> ehird: ah, interesting
19:44:53 <ais523> do you return immediately after the call, or do you do other things?
19:45:04 <ehird> return the result of the call, immediately after it returns
19:45:14 <ais523> Perl has a primitive just for you, then
19:45:25 <ais523> that's the tail-recursion primitive
19:45:27 <ehird> and with arguments?
19:45:33 <ehird> goto &procedure(@args);?
19:45:33 <ais523> you put them in @_ before the call
19:45:40 <ehird> ais523: okay, what about if I have a subref?
19:46:12 <AnMaster> ais523, does perl support "normal" goto? I mean like goto in C
19:46:25 <ais523> yes, although it's bad style
19:46:29 <ehird> oh my fucking god.
19:46:52 <ais523> ehird: what's wrong with a tail-recursion primitive which lets you tail-recurse to /different/ procedures?
19:46:56 <ais523> actually, that was its original use
19:47:03 <ehird> ais523: you've got to see this
19:47:05 <ehird> http://pastie.org/private/c1x8277pqihm1ht3srcwfg
19:47:33 <ais523> ehird: is that a good thing, or a bad thing?
19:47:39 <AnMaster> ehird, my $name = $__PROXY::AUTOLOAD; ?
19:47:41 <ehird> i wish I knew, ais523
19:47:58 <ehird> AnMaster: google it, i'd have another breakdown if I tried to explain
19:48:19 <ais523> ehird: that's the original purpose for which AUTOLOAD and goto & were invented
19:48:23 <AnMaster> ehird, well googling that exact string found nothing, I have no clue what to google
19:48:27 <ehird> ais523: i know, but what it does
19:48:31 <ehird> it invents an object system
19:48:35 <ehird> and a whole new object semantics
19:48:40 <ehird> with that horrible, horrible stuff
19:48:42 <ais523> does it make you feel dirtier or less dirty to know that you're using those commands with their intended meaning?
19:48:52 <ehird> I think it's the fact that I can use them to give that result
19:49:05 <ehird> I mean, variables and functions in the same namespace?
19:49:21 <ais523> they aren't in the same namespace
19:49:28 <AnMaster> ehird, is this object orientation for perl?
19:49:33 <ehird> $Object->foo(1,2,3)
19:49:37 <ehird> AnMaster: perl already has object orientation
19:49:37 <ais523> AnMaster: Perl has at least 2 object-orientation systems already
19:49:42 <ehird> i'm just abusing one aspect of it
19:49:45 <ehird> in a deliciously perverse way
19:49:47 <ehird> to invent my _own_ system
19:50:05 <ais523> AnMaster: the default one
19:50:10 <ais523> and lots of others as CPAN modules
19:50:12 <AnMaster> wouldn't just adding basic OO work
19:50:13 <ais523> probably using similar tricks to ehird
19:50:31 <AnMaster> ais523, so the perl built in OO is not very good?
19:50:37 <ehird> mine doesn't pass along self
19:50:41 <ais523> no, it's just too general
19:50:48 <ais523> and thus confusing to use, and not particularly standardised
19:51:30 <AnMaster> ais523, sounds like even PHP OO is saner than that
19:51:40 <ehird> wait, I wonder how my use of unshift worked
19:51:46 <ehird> it actually did a pop...
19:51:59 <ehird> oh no... I can't figure out my own code...
19:52:05 <ais523> unshift pushes to the left of an array, pop pops from the right
19:52:37 <oerjan> so unshift should be called mom then?
19:53:25 <ais523> oerjan: I was going to reply to that, but couldn't think of anything sensible to say
19:53:28 <ais523> AnMaster: it's a really bad pun
19:53:43 <ehird> how do you merge two hashes in perl?
19:53:50 <oerjan> AnMaster: ask your mom or pop
19:53:56 <ais523> ehird: %a = (%b, %c) for hashes
19:54:19 <ehird> can you do %$self = ...;?
19:54:24 <ais523> should be pretty obvious given the syntax for dereferencing
19:54:40 <ais523> actually, I'm not entirely sure if assigning to self screws up the blessing
19:54:47 <ais523> and yes, to merge into a hash
19:54:52 <ais523> but you can easily just rebless once you're done
19:54:58 <ehird> my ($self, $more) = @_;
19:54:59 <ehird> %$self = (%$self, %$more);
19:55:13 <ais523> did it mess up the blessing?
19:55:24 <ehird> i don't want parens
19:55:29 <ehird> I need a prototype
19:55:37 <ais523> what you're saying makes no sense
19:55:41 <ais523> you can't have object calls with prototypes
19:55:47 <ais523> because then you could change the syntax at runtime
19:55:47 <ehird> AnMaster: well, yes
19:55:49 <ehird> larry wall is christian
19:55:54 <ehird> but bless is part of the OO system
19:56:03 <ais523> AnMaster: no, it's just the syntax for associating a pointer with a class
19:56:05 <ehird> ais523: you can anyway :P
19:56:07 <ais523> to tell it what class it's an object for
19:56:14 <ais523> only inside BEGIN{} blocks
19:56:20 <ais523> even eval doesn't change the syntax at runtime
19:56:25 <ehird> umm, schwartzian snippet
19:56:27 <ais523> what confuses people is that eval has a compile then run
19:56:45 <ais523> but that only affects the code inside the eval
19:56:47 <AnMaster> <ais523> because then you could change the syntax at runtime <-- Feather!
19:57:10 <ehird> ais523: then what about the schwartzian snippet
19:57:14 <ehird> or wtf it's called
19:57:19 <ais523> the one that says parsing Perl is TC?
19:57:26 <ais523> it just runs the prototype code in a BEGIN {} block
19:57:32 <ais523> which in Perl, is technically compile-time
19:57:45 <ais523> being able to run arbitrary code at compile-time = having TC syntax
19:58:00 <AnMaster> Schwartzian Transform is the only hit
19:58:10 <ehird> http://www.perlmonks.org/?node_id=663393
19:58:14 <ehird> whatever / 25 ; # / ; die "this dies!";
19:58:17 <ehird> that can be parsed two ways
19:58:21 <ehird> if whatever takes no arguments, it's a call to it
19:58:29 <ehird> if whatever takes an argument
19:58:31 <ehird> it calls whatever with a regexp
19:58:43 <ehird> but you can define functions at runtime...
19:59:37 <ais523> ehird: prototypes are compile-time only
19:59:47 <ais523> that's why there's a BEGIN block in the proof
20:00:01 <AnMaster> ais523, prototypes as prototypes in C?
20:00:12 <ais523> AnMaster: not exactly, as they modify the syntax of the language
20:00:23 <ais523> although they say what type each parameter is, just like C prototypes do
20:00:30 <AnMaster> ais523, I thought Perl didn't have C-style prototypes
20:00:55 <ehird> how can I get $Object->do { to work
20:00:57 <ais523> saying what type each parameter is isn't sufficient to be a C-style prototype
20:01:03 <ais523> ehird: Source filters!
20:01:09 <ais523> (N.B. not recommended)
20:01:12 <ehird> ais523: FUCK YOU :(
20:04:00 <ehird> ais523: couldn't I define a dynamic prototype on AUTOLOAD? <__<
20:04:19 <ais523> Perl is a compiled language!
20:04:25 <ehird> ais523: hmm, perl needs a ,= operator
20:04:28 <ehird> %$self = (%$self, %more);
20:05:24 -!- Mony has quit ("Quit").
20:05:27 <ehird> that is for strings
20:05:29 <ais523> AnMaster: that's for string concatenation
20:05:32 <ais523> not array concatenation
20:05:34 <AnMaster> ehird, yes I was wondering if it existed
20:05:37 <ehird> AnMaster: you can't even compare strings and ints the same way
20:05:38 <ais523> which would indeed be ,= if it existed
20:05:54 <ehird> i was just saying something funny.
20:06:09 <ehird> how do you copy a hash in perl <__<
20:06:12 <ais523> but then, it does in PHP too, and PHP doesn't have a string-compare operator
20:06:23 <ais523> ehird: just assign it without using a reference
20:06:30 <ais523> as in my %new_hash = %$oldhash
20:06:37 <ehird> i much prefer (= x y), (equal? x y), (eqv? x y) and (eq? x y)
20:06:38 <ais523> and you can then return a reference to new_hash
20:06:43 <ehird> (Scheme has _all_ of those comparison ops.)
20:06:48 <ehird> (They're all useful in all different situations.)_
20:07:03 <ehird> R5RS Scheme is interestingly complete in the few areas it dabbles in.
20:07:06 <ais523> Perl has ||=, if you're after weird operators
20:07:07 <ehird> It has a comprehensive numeric tower.
20:07:14 <ehird> ais523: eh, ruby has that
20:07:21 <ehird> it's "initialize this var if it isn't already"
20:07:25 <ehird> FireFly: a ||= b is actually
20:07:36 <ais523> ehird: no, it's a = (a || b)
20:07:47 <ehird> ais523: well, in Perl maybe
20:07:49 <ehird> but in ruby it's that
20:07:53 <ais523> ehird: they mean the same thing
20:08:00 <ais523> because if a, then a || b is the same as a
20:08:07 <ehird> in Ruby, the assignment is never triggered
20:08:12 <ehird> a very VM-level distinction, yes
20:08:16 <ehird> but one nevertheless
20:08:19 <ehird> it's actually faster
20:08:26 <ehird> ais523: i don't think you can detect it
20:08:32 <ehird> you can in a C extension, probably, though
20:08:36 <ais523> if you can't detect it from inside the program, then it semantically is a = (a || b), and it's just being optimised
20:08:53 <ehird> bless %$self, __PROXY;
20:09:14 <ehird> should just be $self
20:09:31 <ais523> ehird: that doesn't copy the object
20:09:40 <ais523> it should be my %copy_of_self = %$self;
20:09:52 <ais523> bless \%copy_of_self, $self;
20:09:52 <ehird> my $copy_of_self = \%$self;
20:10:01 <ais523> ehird: no, that's wrong
20:10:10 <ais523> \%$self is like writing &*self in C
20:10:15 <ais523> you get back self, not a copy of it
20:10:30 <ais523> you want to dereference, copy the dereferenced value, then reference the copy
20:10:36 <ais523> that's what a deep copy /is/, after all
20:10:43 <ehird> a prototypical object system in Perl in 27 lines
20:10:58 * ehird adds one last nicety
20:11:40 <AnMaster> ais523, err a deep copy is more, it copies any pointers in the struct too
20:11:52 <ais523> a non-shallow non-deep copy
20:11:53 <AnMaster> ais523, you mean a shallow copy
20:11:59 <ais523> no, a shallow copy just copies the pointer
20:12:10 <AnMaster> ais523, no that would be making a copy of the reference
20:12:10 <ais523> you're duplicating the struct, but not pointers inside it
20:12:18 <ais523> AnMaster: ah, that's what I call a shallow copy
20:12:20 <AnMaster> a shallow copy would copy level 1
20:12:32 <AnMaster> but I thought shallow copy was what you described
20:12:33 <ais523> it's one-level copies we're talking about, anyway
20:12:35 <ehird> http://pastie.org/private/jenlaevavatsjngzjmsljw
20:12:41 <ehird> A PROTOTYPICAL OBJECT SYSTEM IN AROUND 30 LINES OF PERL
20:13:06 <ehird> I will add delegation to multiple prototypes instead of just one, then that'll be version 1.
20:13:12 <ehird> I shall use it for my underload to C compiler. :D
20:13:19 <ehird> It will be called... Minob.
20:13:28 <ehird> Slogan: So small you can just paste it in.
20:13:45 <AnMaster> ehird, what about private members?
20:14:03 <ehird> AnMaster: Eh, private data is for weenies.
20:14:17 <AnMaster> also C++-style friend for the extra "eww"
20:14:18 <ehird> I don't even think CLOS has it, and CLOS is a pretty good object system.
20:14:22 <ais523> AnMaster: in Perl, the convention is not to declare as private, just to not access other class's private stuff
20:14:28 <ehird> AnMaster: Just call the var _foo if you really don't want anyone to touch it
20:14:37 <AnMaster> ais523, well perl usually have good documentation so I guess it works
20:14:49 <ehird> I'd prefer to be able to do
20:15:09 <ais523> leading underscore's normally used for internals, so as to let people know not to use it
20:15:19 <ais523> but that isn't actually enforced
20:15:21 <ehird> ais523: how would I go about doing it with sub?
20:15:28 <AnMaster> ais523, ah it isn't reserved for something?
20:15:40 <ais523> apparently, they use the leading underscore to scare C programmers
20:15:59 <ais523> AnMaster: no, from private internals
20:16:23 <ehird> ais523: is there an "anti ,="? :D
20:16:23 <ais523> ehird: the problem is that sub hello { } is a named subroutine declaration
20:16:39 <ais523> you aren't going to be able to return a value like that
20:16:45 <ais523> that's why anonymous subs exist, after all
20:16:47 -!- KingOfKarlsruhe has quit (Remote closed the connection).
20:16:52 <ais523> as for an anti ,=, what do you want to do?
20:16:56 <ais523> remove elements from a hash?
20:16:58 <ehird> un-concatenate hashes
20:17:16 <ehird> what I really need is to define AUTOLOAD on the hash _itself_
20:17:17 <ais523> ehird: does that differ from removing elements which are the keys of a given hash?
20:17:32 <ehird> ais523: nope. any ideas how I could "AUTOLOAD the hash"?
20:17:34 <AnMaster> ais523, perl is basically hack * (awk + sed + C + sh + rand())
20:17:37 <ehird> $hashref->{fooasdasdasd}
20:17:40 <ehird> would call a subroutine
20:17:50 <ais523> ehird: yes, you could tie the hash
20:17:55 <ais523> but then anyone sane will kill you
20:18:05 <ehird> ais523: can you bless a tied hash?
20:18:09 <ais523> and I have no idea how tied hashes interact with the OO system
20:18:17 <ais523> I'm not at all convinced that you can bless a tied hash
20:18:21 <ehird> im gonna ask #perl XD
20:18:25 <ais523> although I'm pretty sure it's in an FAQ somewhere
20:18:26 <oerjan> AnMaster: i really liked that katamari damacy reference earlier
20:18:32 <ehird> 20:18 <ehird> Can you bless a tied hash? Don't ask.
20:18:32 <ehird> 20:18 ais523 has joined (n=ais523@147.188.254.127)
20:18:43 <ais523> ehird: I'm here to watch the fun
20:18:46 <ehird> of course, now they will ask.
20:18:47 <AnMaster> <ehird> im gonna ask #perl XD <-- I'm going to watch too
20:18:48 <ais523> it isn't something you'd do if you were sane
20:19:30 <ehird> http://perldoc.perl.org/Tie/Hash.html
20:19:33 <AnMaster> ehird, when you are done you should pastebin your code there
20:19:40 <ehird> 20:19 <mst> ehird: you can bless any reference, perl doesn't give a shit what it's a reference -to-
20:19:44 <AnMaster> ehird, I want to see their reactions
20:19:45 <ehird> itt: hardcore perl users don't be givin' a shit
20:19:47 <ais523> ehird: no, that's the CPAN module for tying hashes
20:19:57 <ais523> there's a tie primitive
20:19:58 <ehird> if that was a cpan module
20:19:59 <ehird> Home > Core modules > T > Tie::Hash
20:20:13 <ais523> ehird: well, core is also CPAN, the way I think of things
20:20:17 <ais523> just because it's in core doesn't change things
20:20:29 <ehird> I think the sky is green.
20:20:29 <ais523> there's a primitive for doing tying, why bother with modules?
20:20:39 <ais523> ehird: modules get moved back and forth all the time
20:20:59 <AnMaster> ais523, well what is a tied hash then?
20:21:21 <ehird> 20:20 <buu> ehird: So, in short, "yes". And it does what you expect.
20:21:22 <ehird> 20:21 <ehird> buu: Hooray. What I expect is bunnies to fly out of my nose, though.
20:21:25 <ehird> 20:21 <buu> ehird: You're in luck!
20:21:25 <ehird> 20:21 <ehird> I'm so lucky!
20:21:57 <AnMaster> ehird, well this is a typical example of #perl I guess
20:22:13 <AnMaster> at least they would be happy about a hack like that python-with-no-indent hack you made
20:22:19 <ais523> Tie::Hash just defines the standard hash-tying methods
20:22:27 <ais523> AnMaster: ever seen ACME::Pythonic?
20:22:36 <ais523> IIRC, there was also a Python module to go the other way
20:22:38 <AnMaster> ais523, the name doesn't bode well
20:22:49 <ais523> AnMaster: it's a Perl source filter which gives it Python syntax
20:22:59 <ais523> and ACME is for the jokey/not entirely serious stuff on CPAN
20:23:08 <ais523> there's an ACME::Brainfuck, for instance
20:23:14 <ais523> which allows inline BF in Perl code
20:23:20 <ais523> without even any special syntax
20:23:28 <ais523> I think it uses heuristics to tell the BF and the Perl apart
20:23:29 <AnMaster> ais523, there is a python module for ; and {} in python I know
20:23:36 <AnMaster> filter or encoding or something
20:34:09 <AnMaster> ais523, hm how does it reinterpret the code?
20:34:19 <AnMaster> I mean it needs to reinterpret the code with a changed interpreter right?
20:34:36 <ais523> AnMaster: it's a source filter
20:34:44 <ais523> you have to write the use foo at the top
20:34:54 <ais523> and it goes and runs the rest of the code through the source filter before continuing to compile
20:35:00 <AnMaster> ais523, after any #!/bin/perl or such I assume?
20:35:07 <ais523> only from the use statement onwards
20:36:36 <AnMaster> also that ACME::Brainfuck, does it share memory with perl or something?
20:37:13 <ais523> I think it uses some var in the module itself as a tape and pointer
20:37:14 <AnMaster> ais523, I mean the bf code it runs
20:37:24 <ais523> it doesn't share memory with Perl
20:37:27 <AnMaster> how can they interact with each other memory
20:37:41 <ais523> but BF code is a Perl expression which returns the current value at the pointer
20:37:46 <ais523> and I think Perl can access the tape via some API
20:38:01 <AnMaster> ais523, this may interest you too http://www.postgresql.org/docs/8.3/static/ecpg-concept.html
20:38:38 <ais523> AnMaster: heh, that's source filters for C
20:39:16 <AnMaster> ais523, and it is serious, I can't see any serious use of a source filter for perl or C. I think ecpg is silly
20:39:33 <ais523> what about cpp? that's a source filter
20:40:17 <AnMaster> but I mean another source filter apart from cpp
20:40:34 <AnMaster> ehird, what is the last version of your OO system?
20:40:51 <ais523> last would imply there wouldn't be any more
20:41:15 <AnMaster> what about the last and greast?
20:42:05 * AnMaster wish it was last word instead of latest Office crap
20:42:48 <ais523> AnMaster: what in particular don't you like about it?
20:43:00 <AnMaster> ais523, well it's document format for a start
20:43:15 <AnMaster> even more so with the last XML based not-really-standard thing
20:43:31 <ais523> ok, I'll agree with that
20:43:51 <ais523> meh, clippy was easy to turn off
20:44:18 <AnMaster> ais523, and then there is the stupid "this sentence seems overly bureaucratic" when I type (message translated from Swedish word)
20:44:33 <ais523> it's "overly formal" in English
20:44:40 <ais523> but actually, I usually got the opposite error
20:44:49 <AnMaster> ais523, I never got the opposite
20:44:53 <ais523> Word's grammar-checker doesn't like people using the passive
20:45:02 <AnMaster> also it complains about "old Swedish" sometimes
20:45:20 <AnMaster> which again I use because I want to
20:45:34 <AnMaster> ais523, I guess it differs between languages
20:45:46 -!- Corun has joined.
20:45:49 <AnMaster> ais523, oh also they don't include spell checking or grammar checking for all the languages
20:45:59 <AnMaster> just English + language Word is localized in
20:46:08 <AnMaster> ais523, which is quite strange
20:46:23 <ais523> AnMaster: it's addonable, I think
20:46:26 <ais523> just not installed by default
20:47:53 <AnMaster> ais523, oh and openoffice is just as bad. I mean why are there no high quality office suites, I mean same level of quality as emacs is for text editors or such
20:48:30 <AnMaster> ais523, yes but that doesn't do the spreadsheet bit though
20:48:32 <oerjan> http://www.irregularwebcomic.net/744.html
20:48:43 <ais523> AnMaster: I've heard good things about Gnumeric, but never used it
20:48:49 <ais523> maybe I should download it and have a look
20:49:09 <AnMaster> ais523, I think I tried it a few years ago
20:49:15 <AnMaster> wasn't very good back then iirc
20:49:52 <AnMaster> ais523, that would mean installing half of gnome
20:50:56 <ais523> AnMaster: I have half of gnome installed already
20:51:03 <ais523> both Gnome and KDE are installed here
20:51:09 <ais523> besides, KDE4 still isn't finished
20:51:20 <ais523> so Gnome is the only real desktop environment I can use here atm
20:51:42 <AnMaster> ais523, KDE 3.x for me. And going awesome wm instead of KDE 4 when it is time for that
20:52:23 <AnMaster> ais523, I wonder what happens if you do startx, then jumps back to the console and starts xdm using the normal service script for it
20:52:45 <ais523> AnMaster: me? I don't run startx by hand
20:53:07 <AnMaster> ehird, <AnMaster> ehird, what is the last version of your OO system? <AnMaster> care to pastebin it? :D
20:54:08 <ehird> "I mean same level of quality as emacs is for text editors or such"
20:54:18 <ehird> AnMaster: i just came back, no revisions atm
20:54:26 -!- olsner has joined.
20:54:35 <AnMaster> ehird, tell me when you are done
20:54:40 <ais523> hmm... Gnumeric reminds me of Abiword
20:54:52 <ais523> not full-featured, but looks good at what it tries to do
20:55:23 <ais523> circular references act really weirdly, though
20:56:17 <ais523> it seems to get 850*77.1 right
20:56:28 <ais523> but that's not particularly surprising
20:57:23 <ais523> psygnisf_: what paradigm?
20:57:56 <psygnisf_> i think the best way to describe it is as a pattern-matching unifying tree-rewriting system.
21:00:30 <psygnisf_> my only task now is to.. actually make the language. XD
21:00:54 -!- psygnisf_ has changed nick to psygnisfive.
21:01:04 <AnMaster> <ais523> it seems to get 850*77.1 right
21:01:04 <AnMaster> <ais523> but that's not particularly surprising
21:01:19 <ais523> AnMaster: because famously, Excel 2007 got it wrong
21:01:23 <ais523> at least, until they patched it
21:01:32 <ais523> to be precise, it was a bug in the binary to decimal conversion
21:01:39 <ais523> which converted numbers just below 65535 to 1000000
21:01:56 <AnMaster> ais523, why not just use snprintf()?
21:02:15 <ais523> AnMaster: don't ask me, I haven't read the source code to Excel
21:02:26 <ais523> but I think it's because it would have printed as 65534.9999999999999999999999999
21:02:38 <psygnisfive> ais523: i think also the way its designed, integer math is entirely feasible from primitives in the system. rather than building it in terms of stuff outside the system. :o
21:02:44 <AnMaster> ais523, oh? depends on setting precision?
21:02:47 <ais523> psygnisfive: that's true of most langs
21:03:05 <AnMaster> ais523, if proper rounding mode is set it wouldn't be an issue
21:03:08 <ais523> if you set "precision as displayed", the incorrect numbers actually went and affected other calculations
21:03:16 <ais523> the bug wasn't rounding mode, just the rounding algorithm
21:03:42 <ais523> Googling "850 77.1" gives lots of results, anywy
21:06:01 <ehird> I wonder how you do "x and return x" in perl.
21:10:25 -!- oklopol has joined.
21:10:32 <ehird> $result = $_->{$key} and return $result; works
21:12:19 <ehird> ais523: can you put undef in a hash or is that just essentially deleting that element?
21:12:28 <ais523> you can put undef in a hash
21:12:32 <ais523> and it isn't deleting the element
21:12:42 <ais523> you use exists to tell if undef's in a hash
21:12:50 <ehird> i'm _implementing_ exists.
21:12:52 <ais523> and defined to see if it's undef
21:13:11 <ais523> you can use delete to get rid of an element altogether, rather than just undeffing it out
21:13:47 <oerjan> oklopol: how dare you call me a jam!
21:14:24 <oklopol> it made frighteningly lot of sense.
21:15:27 <ehird> i have to implement firstkey/nextkey.
21:15:48 <oerjan> i cannot, someone took my saucepan
21:15:53 <ehird> each %{ $self->{data}, @$self->{delegates} }
21:17:27 <ehird> AnMaster: the object system is growing to >100 lines :P
21:18:20 <oerjan> rule #1 of short programs: never add features
21:18:27 <ehird> it's not really a feature
21:18:29 <ehird> it's just making it actually work
21:19:03 <AnMaster> also is saucepan == fryingpan?
21:19:10 <ais523> AnMaster: no, not quite
21:19:16 <ais523> frying pans are flatter and wider
21:19:28 <ais523> and generally used to fry things
21:19:34 <ais523> saucepans are more commonly used for boiling
21:19:48 <ais523> kettles are used for boiling water
21:19:54 <ais523> and are much more enclosed
21:20:00 <ais523> saucepans are used for boiling vegetables
21:20:08 <ehird> i was imagining AnMaster putting stuff to boil in a kettle there XD
21:20:10 <ais523> and cooking baked beans
21:20:31 <ais523> a saucepan's a type of pot, but there are others
21:20:47 <ehird> Type of arg 1 to keys must be hash (not private variable) at unl2c.pl line 55, near "$flattened;"
21:20:58 <ais523> ehird: that makes sense
21:20:59 <ehird> it's just the result of a function callllllllllllll
21:21:04 <ais523> you maybe want to dereference it first
21:21:05 <ehird> my $flattened = $self->_flatten;
21:21:07 <ais523> functions can't return hashes
21:21:09 <ehird> sub __DELEGATE::_flatten {
21:21:12 <ehird> %{ $self->{data}, @$self->{delegations} };
21:21:19 <ais523> yep, you're returning an array there
21:21:22 <ais523> functions can't return hashes
21:21:24 <ehird> hashes are arrays.
21:21:30 <ehird> did you mean hashref?
21:21:43 <ais523> you can't run keys on an array
21:21:45 <ehird> ohhhhhhhhh, the problem is "my $flattened"
21:22:01 <ais523> and yes, you're assigning your array to a scalar there
21:22:04 <ais523> so you only get its length
21:22:14 <ehird> my %flattened = $self->_flatten;
21:22:18 <AnMaster> From Wikipedia, the free encyclopedia
21:22:25 <AnMaster> can't find interwiki link that way
21:22:44 <ehird> Type of arg 1 to each must be hash (not subroutine entry) at unl2c.pl line 61, near "->flatten;"
21:22:46 <ehird> ok now _that's_ bizarre
21:23:09 <ais523> it's telling you exactly what I was saying
21:23:15 <ais523> which is that functions can't return hashes
21:23:20 <ais523> you can return a hashref if you want
21:23:47 <ehird> Bareword "__PROXY" not allowed while "strict subs" in use at unl2c.pl line 75.
21:24:03 <ais523> ehird: ah, you're interacting with use strict;
21:24:07 <ais523> try putting it in quotes
21:24:08 * ehird defines __PROXY stuff _before_ doing the bless
21:24:18 <ais523> AnMaster: a bareword's a string with no meaning
21:24:32 <ehird> Can't use global @_ in "my" at unl2c.pl line 85, near "= @_"
21:24:36 <ais523> Perl interprets it as "foo", or &foo(), depending on context
21:24:38 <ehird> fuck you Perl, thatmakes perfect sense
21:24:43 <ehird> its complaininga bout
21:24:44 <ehird> my ($self, %more) = @_;
21:24:51 <ais523> ehird: you aren't inside a function
21:24:53 <ehird> which worked fine before I turned on STUPID PEDANTIC MODE.
21:24:58 <ehird> my ($self, %more) = @_;
21:25:34 <ais523> and that is presumably a global @_
21:25:45 <ais523> so all that remains is to wonder wtf that's an error
21:25:55 <AnMaster> ais523, can't you read a global in a function?
21:26:01 <ais523> AnMaster: you can, normally
21:26:06 <ais523> so I'm wondering what's happening here
21:26:20 <oerjan> AnMaster: in fact = @_ is the perl idiom for finding a function's arguments
21:26:21 <ehird> bet its to do with the %more
21:26:31 <ais523> ehird: no, because that's inside the my
21:26:38 <AnMaster> oerjan, I know *THAT* much perl
21:26:46 <ais523> out of interest, what does my $self = shift; my %more = @_; do?
21:26:57 <ais523> that should mean the same thing
21:27:17 <ehird> ahhh, i found the issue
21:27:19 <ais523> AnMaster: it leaves a different value in @_
21:27:22 <ais523> but normally you aren't reading it again
21:27:34 <ehird> my ($self, %more) = @_;
21:27:36 <ehird> can you spot the error?
21:27:39 <ais523> so you weren't inside a sub
21:27:42 <ehird> the 'do' was tripping it up and all went to hell :D
21:27:46 <AnMaster> <ehird> can you spot the error?
21:27:56 <ehird> said it first on my end :P
21:28:03 <AnMaster> ehird, well it looked funny here
21:28:04 <ais523> ehird: said it before I received your message
21:28:13 <ais523> no way can I type that fast
21:28:21 <AnMaster> ais523, of course, or it couldn't had arrived first to me
21:28:34 <ais523> and it would have been a pretty fast sopt even then
21:28:42 <AnMaster> you can't get out of order then
21:31:46 <ehird> "Joel on Software. The site is read by thousands of programmers a month -- the ones who are so good at programming they have spare time at work to read the self-absorbed drivel I publish there."
21:31:52 <ehird> Gee, Joel is finally coming to a realization.
21:31:57 <ais523> is that what it actually says?
21:32:07 <ehird> http://www.inc.com/magazine/20090101/how-hard-could-it-be-thanks-or-no-thanks_Printer_Friendly.html?partner=fogcreek
21:32:11 <ehird> the rest of the article is, of course, drivel
21:34:30 <ehird> this thing is awful
21:34:36 <ehird> I'm basically implementing an object system as a tied hash
21:34:39 <ehird> then blessing it for nicer syntax
21:36:14 <oerjan> clearly cthulhu is the god involved here
21:38:11 <ehird> Can't coerce array into hash at unl2c.pl line 66.
21:38:12 <ehird> ;_____________________;
21:39:42 <oerjan> maybe the array is not of the right format?
21:40:05 <ais523> nah, you can coerce even an array of the wrong format into a hash, normally
21:40:10 <ais523> although it gives warnings
21:40:42 <ehird> print $self->{delegates},"\n";
21:40:42 <ehird> foreach (@$self->{delegates}) {
21:40:48 <ehird> Not an ARRAY reference at unl2c.pl line 15.
21:41:07 <ais523> you fail at operator precedence
21:41:18 <ehird> hmm. No, I think Perl does in that case
21:41:28 <ais523> ehird: what should $$self->{delegates} do?
21:41:39 <ehird> um. shoot the programmer?
21:41:40 <ais523> now, claim with a straight face that @ and $ should have different precedences
21:42:22 <ais523> AnMaster: $ means lots of things
21:42:28 <ais523> but all to do with scalars
21:42:38 <ehird> Using a hash as a reference is deprecated at unl2c.pl line 94.
21:42:40 <ais523> AnMaster: that's two separate $s
21:42:42 <ehird> so what am I meant to do, retardoperl
21:42:49 <ais523> ehird: what are you trying to do?
21:42:57 <ais523> you can't dereference a hash, it isn't a pointer
21:43:01 <ehird> ais523: it's kind of complicated and it involves tied hashes.
21:43:02 <ais523> that's like trying to dereference an int
21:43:02 <ehird> and FWIW, it works.
21:43:10 <ehird> %Object_proto->{delegations} _actually works_
21:43:18 <AnMaster> ais523, hm I just had an idea: a lisp language with list as the ONLY datatype, no integers no #t or #f, no strings
21:43:41 <ehird> i guess you could hack them with a bunch of nils.
21:43:54 <ehird> AnMaster: there's no list in lisp
21:43:58 <ehird> there's cons cells and nil
21:44:03 <ehird> so, you have two datatypes, right off the bat
21:44:07 <AnMaster> ehird, right true, so cons and nil
21:44:21 <ehird> ais523: so how can I do %Object_proto->{data} without perl whining
21:44:23 <AnMaster> just cons, and instead of nil you have another node
21:44:38 <AnMaster> ehird, what do you think about that?
21:44:41 <ais523> ehird: it's whining because that is deliberately deprecated
21:44:46 <ais523> what, exactly, are you trying to do?
21:44:54 <ehird> ais523: i've told you
21:45:02 <ehird> I'm trying to access its internal object data.
21:45:12 <ais523> put the internal data as a key in the hash
21:45:13 <ehird> there _has_ to be a way without getting a warning
21:45:19 <ehird> that's not the reccomended way
21:45:23 <ehird> and it's not how perl's code examples do it
21:45:28 <ais523> well, you have to store it somewhere
21:45:29 <ehird> and it's also brittle if that key ever comes up in user code
21:45:30 <ais523> where are you storing it?
21:45:31 <oerjan> AnMaster: well then you need pointer equality to be able to distinguish anything
21:45:34 <ehird> ais523: yes, inside the hash's object
21:45:36 <ehird> that's how tied hashes work
21:46:02 <ehird> read perldoc perltie, plz
21:46:07 <AnMaster> oerjan, ok I guess cons and nil then
21:46:10 <ais523> or wait... is it tied to an object that is also a hash?
21:46:40 <oerjan> AnMaster: _everything_ would be x = (x . x) in structure otherwise
21:48:32 <ais523> ehird: googling implies that $Object_proto->{data} is equivalent
21:48:36 <ais523> although I'm not sure if I believe it
21:48:45 <ais523> and that the fact the original was working is a bug in the parser
21:49:07 <ais523> does that do the same thing?
21:49:11 <ehird> gonna try in a sec
21:49:19 <ehird> @foo[1..-1] is the list resulting the same except without the first element?
21:49:37 <ais523> I think -1 is the last element
21:49:48 <ais523> but I haven't tried, I might have confused it with Haskell
21:49:49 <ehird> Global symbol "$Object_proto" requires explicit package name at unl2c.pl line 94.
21:50:00 <ehird> i'll just ask #perl and be shunned
21:50:02 <ais523> ehird: so the Googling was wrong, I thought it looked fishy
21:50:15 <ehird> 21:50 <ehird> so... don't ask... but how can I use a hash as a reference in a way that doesn't cause perl to spew a warning at me?
21:50:29 <ehird> i predict an answer involving "no warnings;"
21:50:33 <ehird> or "no strict;" or w/e
21:50:45 <ehird> 21:50 <mauke> ehird: no.
21:50:46 <ehird> 21:50 <ehird> mauke: but-but-but-
21:50:58 <ehird> 21:50 <bloo> ehird: ....If it's spitting a warning out at you, you're doing it wrong
21:50:58 <ehird> 21:51 <ehird> bloo: probably. how do I do it right?
21:51:02 <ehird> ais523: no, that's wrong too
21:51:08 <ais523> or does that mean something else?
21:51:10 <ehird> that's a regular hash object
21:51:13 <ais523> they're equivalent on untied hashes, it seems
21:51:15 <ehird> 21:51 <bloo> perldoc perlreftut
21:51:15 <ehird> 21:51 <bloo> I think.
21:51:23 <ehird> April fools day idea: #perl stops being a haven for condescending idiots.
21:51:59 <ais523> perl -Mwarnings -Mstrict -e'my %a = ( a => 1); print %a->{a},"\n"' prints 1, for instance
21:52:02 <ehird> hrm, $Object_proto{data} works, which is a bug
21:52:13 <ais523> ehird: not a bug at all
21:52:18 <ehird> it's a bug in my code
21:52:20 <ais523> you're storing data inside the hash itself
21:52:25 <ais523> I knew you would be, there was nowhere else
21:52:40 <ehird> I just have to figure out how to get the hash to give me access to a secret area of vip quality.
21:53:04 <ehird> 21:52 <bloo> ehird: Don't feel bad, some times I do shit in perl that shouldn't work but does
21:54:37 <ehird> elsif (defined $obj->{_unknown}) {
21:54:38 <ehird> @_ = (@_[0], $name, @_[1..]);
21:54:40 <ehird> goto &$obj->{_unknown};
21:54:56 <ehird> I don't think any of this code should work, but it does.
21:55:16 <ais523> why shouldn't that work?
21:55:28 <ais523> splice on @_ would be more idiomatic than that, though
21:55:37 <AnMaster> ehird, show them your whole file
21:55:41 <ais523> although I can never remember which arg to splice does what
21:56:02 <AnMaster> ehird, also what about using the C API to do it in some strange way?
21:56:13 <ehird> AnMaster: no, and no
21:56:51 <AnMaster> ehird, then why no at the first?
21:57:03 <ehird> because it isn't _that_ crazy, just a bit fucked
21:57:29 <AnMaster> I thought you said a lot was _THAT_ crazy even
21:57:36 <oerjan> "I'm not mad, I'm a scientist!"
21:57:56 <AnMaster> oerjan, sounds like mezzacotta?
21:58:16 <ais523> I don't think the mezzacottan scientist ever said exactly that, but I might be wrong
21:58:44 <AnMaster> ais523, also have you checked the whole history XD
21:58:51 <ais523> after all, I have quite a lot of mezzacotta backlog to catch up on
21:59:00 <ais523> meh, you made that joke first
21:59:44 <AnMaster> hrrm why does the mezzacotta comic have scrollbars some days
21:59:53 <oklopol> statistically speaking, nothing has been said yet, the combinatorial explosion is visible in natural language as well.
22:00:00 <AnMaster> zooming in and then out removes it
22:00:46 <AnMaster> so why shouldn't it display just fine inline
22:00:55 <oerjan> did you mention this earlier? if not i think someone else did
22:01:32 <oerjan> i have a sense someone mentioned scrollbars before
22:02:02 <oerjan> anyway i don't see it, so it's something about how firefox displays them i guess
22:02:07 <psygnisfive> what did you mean "statistically speaking, nothing has been said yet, ..."?
22:02:20 <AnMaster> oerjan, they only happens sometimes
22:02:28 <AnMaster> oerjan, what browser do you use?
22:02:34 <oklopol> psygnisfive: well what percentage would you estimate has been said of all 10 word sentences for instance?
22:02:43 <oklopol> i'll venture 0%, maybe negative.
22:03:29 <oerjan> oklopol: in fact the word ligwotnigafebrble has probably been mentioned only once
22:03:55 <oklopol> oerjan: that too, but i find that a less interesting observation.
22:04:21 <AnMaster> if you can make up any word of any length then the number of possible 10 word sentences is infinite
22:04:27 <AnMaster> and that means some number / inf
22:04:34 <AnMaster> I have no clue what that ends up as
22:04:41 -!- kar8nga has left (?).
22:05:00 <AnMaster> oerjan, what sort if infinite is all possible words in all possible languages?
22:05:23 <oerjan> well the character set would be an issue
22:05:25 <oklopol> was reading the algo book, which for some reason introduces probabilities and shit in the last chapter
22:05:37 <oklopol> your measure theory explanation was pretty useful there
22:05:40 <AnMaster> oerjan, in "all possible" I said
22:05:59 <oerjan> if there are more than countably many possible characters, you get more than that
22:06:03 <oklopol> talked about measuring probabilities in continuous sample spaces
22:06:31 <oerjan> i'm not sure the question even has meaning
22:06:47 <oklopol> just warning you i'll probably want another wikipedia lecture at some point! :P
22:07:36 <oerjan> you need some mathematical representation of "all possible languages" to even begin to answer it, but "all possible" might force you outside that...
22:09:47 <oerjan> well semantics more than math, perhaps
22:11:24 <oerjan> now if we assume something more limited, such as something representable as a subset of the plane, you can limit it
22:11:31 <AnMaster> but then remains a single question:
22:12:02 <oerjan> (beth-2 or less, i think)
22:12:04 <AnMaster> Why? (no not why anything specific, but just a plain "why")
22:14:13 <oerjan> with pictures satisfying any kind of niceness requirement, that will probably drop to beth-1
22:15:24 <psygnisfive> hold the newsreaders nose squarely, water, or friendly milk with countermand my trousers
22:15:47 <oerjan> beth-(n+1) = 2^(beth-n)
22:15:51 <AnMaster> well, I asked if 2^aleph_0 == beth-1 or not?
22:16:28 <oerjan> my eyes read that as what
22:17:38 <oklopol> ooooooooooooooooooooooooooooooooo
22:17:57 <oklopol> psygnisfive: what's countermand?
22:18:21 <oklopol> it's a real world word i didn't know.
22:18:26 <oklopol> well this is embarrassing.
22:18:41 <ais523> well, it doesn't make any sense in psygnisfive's sentence
22:18:41 <oklopol> i did somewhat reverse-engineer it though
22:18:43 <ais523> despite being a real word
22:19:04 <ais523> for that matter, the rest of the sentence makes no sense either
22:19:18 <psygnisfive> ais523, you clearly have never seen this: http://www.youtube.com/watch?v=hHQ2756cyD8
22:19:22 <oerjan> and yet, he insisted on correcting water
22:19:28 <ais523> correct, I can't access Youtube
22:20:13 -!- BeholdMyGlory has quit ("Konversation terminated!").
22:21:12 <ais523> nor do I want to install it
22:21:48 <AnMaster> ais523, also where is ick's darcs atm?
22:21:54 <ais523> AnMaster: on my hard drive
22:22:04 <ais523> ever since eso-std.org went down, I've had nowhere to host it
22:22:04 <AnMaster> ais523, want some hosting for it?
22:22:38 <AnMaster> ais523, gcc-bf would be too big with gcc source included however, but ick repo should be find
22:23:18 <psygnisfive> some crazy esolanger is going to geneer a sexually transmitted disease
22:23:26 <oklopol> ais523: it makes perfect sense when you s/with/will/
22:24:01 <AnMaster> ais523, adduser want to know full name, I guess from a whois it is "(this is obviously not my real name)"?
22:24:11 <oklopol> well it did originally too, but it didn't really parse
22:24:36 <oklopol> and don't any of you dare parse it now, i already failed once today.
22:25:29 <ehird> yay, the damn kids are getting off my lawn.
22:25:31 <ehird> where by lawn I mean server.
22:25:46 <AnMaster> ais523, I need your public ssh key since password auth is turned off
22:25:50 <oerjan> got yourself thrown off?
22:26:11 -!- FireFly has quit ("'till morning").
22:26:12 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
22:26:15 <ehird> by the way psygnisfive
22:26:18 <ehird> that video is muted
22:26:22 <ehird> due to copyright infringement :P
22:26:32 -!- ais523 has joined.
22:26:39 <AnMaster> <AnMaster> ais523, I need your public ssh key since password auth is turned off
22:27:12 <ais523> but couldn't send for some reason
22:27:12 <ais523> it's in id_rsa.pub, isn't it?
22:27:23 <oerjan> January 2009: Youtube starts seriously getting rid of copyright infringements
22:27:45 <oerjan> February 2009: Youtube loses 90% of users
22:27:46 <oklopol> what it's only january still?
22:28:18 <oklopol> oerjan: another story time? :D
22:28:21 <AnMaster> ais523, stop timing out all the time
22:28:40 <ais523> AnMaster: received it yet?
22:28:45 <oerjan> also, this was a real world prediction
22:28:54 * ais523 wonders wtf's up with their connection
22:29:10 <ais523> 16 seconds to ping myself
22:29:17 <ais523> apparently it took AnMaster 30 seconds to ping me
22:29:46 <oklopol> well i don't see any use for youtube except to see copyrighted shit. and most good shit is copyrighted
22:30:10 <ehird> 22:29 <ehird> how can I "temporarily untie" a var?
22:30:10 <ehird> 22:29 <ehird> without doing untie/tie
22:30:12 <ehird> 22:29 <mauke> the answer is "no"
22:30:16 <ehird> #perl thinks they're really clever.
22:30:22 -!- jix has quit ("...").
22:30:54 <oerjan> isn't that more of a prolog answer, really?
22:31:32 <ehird> psygnisfive: i'm implementing an OOP system in perl. shush
22:31:37 <ais523> ehird: simple, you use a localised typeglob, like we worked out in /msg
22:32:09 <ais523> I thought you said it did
22:32:17 <ehird> http://www.apple.com/pr/library/2009/01/14advisory.html uhoh
22:33:24 <psygnisfive> or hes having problems with a meth addiction
22:33:26 <ehird> lol, google muted the rick roll
22:33:38 <ais523> ehird: for being copyrighted?
22:33:40 <ehird> http://uk.youtube.com/watch?v=oHg5SJYRHA0
22:33:54 <ehird> it was all an elaborate scheme leading to this
22:34:56 <ehird> ... wait apparently it isn't actually muted
22:35:09 <ehird> my Flash is playing up...
22:35:30 <oklopol> yeah right, you're just making up these muting stories so we'd get rickrolled by your link.
22:35:33 <ehird> no, seriously psygnisfive
22:35:37 <ehird> it's silent for me
22:35:42 <psygnisfive> by playing up do you mean you accidentally had it muted yourself? ;)
22:35:51 <ehird> the volume is on full on it
22:35:58 <ehird> it just isn't making any sound
22:36:09 <oklopol> ...what, astley has *other songs* too?!?
22:36:13 <ehird> i'm not lying okay psygnisfive
22:36:27 <psygnisfive> ehird: obviously not. you're lying poorly, ehird. POORLY!
22:36:40 <ehird> psygnisfive: STOP IT I HATE NOT BEING BELIEVED WHEN I'M NOT LYING >__<
22:36:58 <psygnisfive> ehird: stop hating it and i'll stop not believing you.
22:37:35 <ehird> feel free to apply that to new exciting contexts.
22:38:12 <ehird> Four weeks after birthing a nationwide Wikipedia edit ban, Britain's child porn blacklist has led at least one ISP to muzzle the Internet Archive's Wayback Machine - an 85 billion page web history dating back to 1996.
22:38:36 <ehird> sooo guys where should I escape to from this hellhole?
22:38:46 <ais523> sourced from a different country
22:38:48 <ais523> psygnisfive: only for a bit
22:38:52 <ais523> it wasn't an aren't allowed
22:39:10 <ais523> basically, what happened was that lots of ISPs used proxies to implement the blacklist
22:39:15 <ais523> routing all the traffic from the UK through about 6 IPs
22:39:26 <ehird> ais523: "How can I escape from Oceania?" "Talk in pig latin!"
22:39:29 <psygnisfive> how would wikipedia and the wayback machine have anything to do with child porn?!
22:39:46 <ais523> which meant that there was no way to distinguish legitimate users from vandals
22:39:51 <ehird> psygnisfive: http://en.wikipedia.org/wiki/Virgin_Killer
22:39:51 <ais523> and the UK got blocked by mistake a lot
22:39:55 <ehird> which is the page that was blocked
22:39:57 <ais523> it happened to Qatar once
22:40:01 <ehird> for the edit block
22:40:14 <ais523> Wikipedia doesn't cope well with entire countries having only a few IPs
22:40:38 <psygnisfive> oh i see, so what you mean ais is not that BRITAIN banned people from editting WIKI
22:40:49 <ehird> it's called wikipedia
22:40:51 <psygnisfive> but rather britain implemented measures that made it impossible for wiki to verify idents
22:41:02 <ais523> yes, and all brits got banned by mistake every now and then
22:41:03 <ehird> so guys i'm thinking like, Norway?
22:41:15 <ehird> oerjan: how's it in Norway with yer civil liberties, and your fjords?
22:41:23 <ais523> not to mention the limit that only 6 users could register per IP per day made it rather hard for everyone to log in
22:42:06 <psygnisfive> americans seem to have an enormously difficult time pronouncing things that look, at first, like they're foreign
22:43:13 <psygnisfive> its not as tho english doesnt have the sequence "ky" /kj/ as it is
22:43:52 <psygnisfive> i once heard an american say "bjarnum" as "buh-jar-num" because she couldnt get the bj right
22:44:06 <ehird> <psygnisfive> she couldnt get the bj right
22:45:02 <psygnisfive> in circles around the head of the cock, you see.
22:46:48 -!- olsner has quit (Remote closed the connection).
22:47:23 <oerjan> ehird: the fjords are nice
22:47:42 <psygnisfive> im not really sure what fjords ARE, but they're cool
22:48:51 <psygnisfive> a long narrow inlet with steep sides, created by glacial activity
22:48:51 <oerjan> norway does have a cp blacklist though afair
22:56:29 <ehird> ais523: kill me i hate perl
22:59:58 <ehird> because i want to, psygnisfive
23:00:15 <oerjan> clearly it would be far too easy in anything else
23:03:30 <ehird> Reference found where even-sized list expected at unl2c.pl line 61.
23:08:49 <ehird> it's mainstream, but it's eso
23:08:58 <psygnisfive> the only way in which it might be eso is in its ugliness
23:09:07 <ehird> the only thing I glean from your past two lines is that you're the typical ruby fanatic who's never used perl but dislikes it anyway
23:09:10 <ehird> hmm, wait a second, you are!
23:09:23 <ehird> yeah. sure you have.
23:09:36 <psygnisfive> and im not really a ruby fanatic. its just convenient for me to dev in
23:09:49 <ehird> ais523: can you pick up the argument from here I lost interest.
23:10:08 <ais523> no, it's too late, I need to go home very soon
23:10:17 <ehird> IT'S NEVER TOO LATE TO DEFEND PERL
23:11:16 <ehird> so don't talk about my usage of it
23:11:32 <psygnisfive> i was merely wondering why you were doing this with perl
23:13:26 <ehird> is there a nicer way to phrase this
23:13:38 <ehird> @{[$foo, @{$bar}]}
23:13:43 <ehird> where $bar is an arrayref and $foo is a hash
23:13:51 <ehird> ($foo, $bar) makes it a hash
23:14:00 <ehird> I guess (@$bar, $foo) might work
23:14:04 <ehird> but that's the wrong way around :p
23:14:08 <ais523> ($foo, $bar) isn't intrinsically either a hash or an array, I think
23:14:43 <ehird> wait... I want a hash
23:15:15 <ehird> return %{$self->{data}}, map {%$_} @{$self->{delegations}};
23:15:18 <ehird> am I a bad person?
23:18:57 <ehird> Returns a reference to the object underlying VARIABLE (the same value that was originally returned by the tie call that bound the variable to a package.) Returns the undefined value if VARIABLE isn't tied to a package.
23:26:08 -!- ais523 has quit (Client Quit).
23:39:52 -!- amca has joined.
23:41:37 -!- amca has quit (Client Quit).
23:49:43 -!- Corun has left (?).
00:04:05 <oklopol> oooooooooooooooooooooooooooooooo
02:07:52 -!- MizardX has quit ("Blue squares floting about...").
02:10:11 -!- oerjan has quit ("leaving").
02:11:52 -!- MizardX has joined.
04:16:13 -!- CakeProphet has joined.
06:58:46 -!- Slereah has joined.
07:10:10 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
07:18:06 -!- FireFly has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:34 -!- FireFly has quit ("Later").
08:59:58 -!- lament has quit (kornbluth.freenode.net irc.freenode.net).
09:00:22 -!- lament has joined.
09:00:59 <AnMaster> ehird, how did the OO stuff work out?
09:01:31 -!- oklopol has quit (Read error: 110 (Connection timed out)).
10:18:27 -!- jix has joined.
10:25:35 -!- ais523 has joined.
12:14:18 -!- CakeProphet has quit ("lol").
12:17:35 -!- oerjan has joined.
13:17:28 <ais523> (if anyone claims I'm an hour late on that, I'll mumble something about time zones, or DST, or something.)
13:17:41 <oerjan> time dilation. works for me.
13:18:07 <ais523> grr... RL business is annoying
13:18:14 <ais523> especially when it involves VHDL
13:18:17 <ais523> even though I like VHDL
13:19:39 <oerjan> no, no, RL _business_ is annoying
13:19:53 <oerjan> accounting, cash flow problems, that sort of thing.
13:20:02 <ais523> hmm... I wonder if busyness is a real word?
13:20:09 <ais523> or if business is actually the way it's spelt
13:20:20 <ais523> but agreed, both meanings are pretty annoying
13:20:56 <oerjan> http://www.merriam-webster.com/dictionary/busyness has it
13:22:46 <oerjan> the entry on business claims it's archaic to use it to mean "busyness"
13:30:38 <fizzie> OED lists 'business': "I. State or quality of being busy. (Cf. the adj.) -- (These senses are all obs., but some of them occur as nonce-words with special spelling BUSYNESS, and trisyllabic pronunciation.)"
13:33:34 <ais523> \ul ((\ul )SaSaS(:^)S)((^ul )SaSaS(:^)S):^
13:33:52 <ais523> not that I expect that to run, gunfot isn't here
13:33:57 <ais523> but I still like looking at it
13:49:55 -!- jix has quit ("Computer has gone to sleep").
13:52:47 -!- jix has joined.
14:00:48 -!- oerjan has quit ("leaving").
14:41:27 -!- Hiato has joined.
14:56:56 -!- Hiato has quit ("Leaving.").
15:08:16 <AnMaster> mysql_connect() Connects to a MySQL server (this function is deprecated; use mysql_real_connect() instead)
15:08:36 <AnMaster> what if they find out they need a third version of the call in the future?
15:09:05 <AnMaster> mysql_very_real_connect()? mysql_surreal_connect()?
15:09:11 <ais523> mysql_actually_connect_this_time
15:09:36 <ais523> what lang is that function in?
15:09:56 <ais523> [CTCP] Received CTCP-PING reply from ehird: 1232032186 seconds.
15:10:07 <ais523> although something's up with that pingtime
15:10:12 <ehird> how did that happen
15:10:14 <ehird> did you ping me like hours ago?
15:10:18 <ehird> if so I was offline, and I guess my bouncer phailed at ponging
15:10:19 <ais523> no, that's more than hours
15:10:41 <ehird> probably my bouncer decided to play tricks with you
15:10:42 <ais523> I pinged you when offline, and got an away message
15:10:44 <AnMaster> ais523, oh btw postgres' API works better for this: PGconn *PQconnectdb(const char *conninfo); <-- conninfo is a key=value space separated options string
15:10:45 <ais523> AFAICT, when you came online your bouncer ponged me back, but with the wrong number
15:10:48 -!- MigoMipo has joined.
15:11:13 <ais523> AnMaster: key=value string isn't really very Cy
15:11:14 <ehird> anyway, my object system is >100 lines and it still doesn't work properly yet
15:11:29 <AnMaster> ais523, true, but easier to add new features too
15:11:30 <AnMaster> "MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long client_flag)"
15:11:30 <ehird> basically, I have a tied hash that delegates to other objects, that you bless with a proxy object.
15:11:43 <ehird> <AnMaster> ais523, true, but easier to add new features too
15:11:50 <ehird> didn't berkley sockets teach you anything?
15:12:16 <ehird> of course, berkeley sockets _is_ awful, but it is very C
15:12:44 <ehird> wow, I was tired while printf debugging yesterday
15:12:44 <ehird> print"yo, ... in da klub ;-)\n";
15:13:21 <ehird> btw, if you guys ever are coding perl
15:13:26 <ehird> "ooh, I could solve this with a tied hash nicely"
15:13:38 <ehird> it's way better than the alternative
15:14:37 -!- FireFly has joined.
15:14:41 <AnMaster> MySQL's C API make very little sense. Compared to PostgreSQL and SQLite APIs
15:14:53 <ehird> mysql makes little sense.
15:14:56 <ehird> sql makes little sense.
15:14:59 <ehird> the relational model makes little sense.
15:15:19 <AnMaster> ehird, agreed for the first. And well SQL does have problems, but I have yet to see something widespread that is better
15:15:33 <ehird> widespread is quite irrelevant.
15:15:40 <ehird> and SQL, amusingly, isn't even relational-model-sane.
15:16:02 <ehird> http://en.wikipedia.org/wiki/Codd%27s_12_rules
15:16:12 <ehird> "that system must use its relational facilities (exclusively)"
15:16:14 <ehird> ding, mysql fails 1
15:16:22 <ehird> "All information in the database is to be represented in one and only one way, namely by values in column positions within rows of tables."
15:16:27 <ehird> ding, i'm almost certain mysql provides other ways
15:16:43 -!- KingOfKarlsruhe has joined.
15:16:58 <ehird> [[All views that are theoretically updatable must be updatable by the system. ]]
15:17:03 <ehird> I don't know if mysql does this
15:17:19 <ehird> sql isn't relational
15:17:24 <ehird> ais523: no, these aren't SQL rules
15:17:27 <ehird> these are relational rules
15:17:27 <AnMaster> ehird, oh writable views, hm I know SQLite docs says it is one of the missing features in SQLite
15:17:30 <ehird> written by the guy who invented the model
15:17:40 <ehird> SQL fails a lot of thme
15:17:42 <ehird> MySQL fails even more
15:17:49 <ehird> and the best part is that the relational model isn't even good
15:17:51 <ehird> they fail at failing,.
15:18:19 <AnMaster> what would be funny was if MySQL failed in a way that made it better than correct SQL. Sadly it doesn't do that
15:20:39 <AnMaster> <ehird> "All information in the database is to be represented in one and only one way, namely by values in column positions within rows of tables." <-- apart from views and stored procedures, the only way I could think of would be that the result can be fetched both by column position in the result and by column name
15:20:56 <AnMaster> don't know if mysql provides other ways?
15:29:17 -!- oklopol has joined.
15:31:00 -!- |MigoMipo| has joined.
15:31:29 -!- |MigoMipo| has quit (Client Quit).
15:34:46 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
15:46:56 -!- Slereah_ has joined.
15:59:22 -!- Slereah has quit (Read error: 110 (Connection timed out)).
15:59:30 * ehird considers writing a script that checks for tarbombs and contains them
15:59:37 <ais523> ehird: why didn't you untar it in a separate directory/
15:59:47 <ehird> because normally I assume people aren't bozo
16:00:09 <ais523> ehird: that's often an unsafe assumption
16:00:16 <ehird> yes, but it keeps me sane
16:08:11 * ehird considers writing a lisp parser that mirrors the structure of the lisp it's parsing.
16:09:07 <ehird> LOL, someone complained that jquery's api docs don't work with noscript.
16:14:19 <Slereah_> Tone down the nerd humor, I'm back
16:14:39 <ais523> ehird: why should the API docs require JavaScript to read?
16:14:43 <ais523> that's a valid complaint
16:14:53 <ais523> especially as I often load up API docs in w3m whilst programming
16:14:53 <ehird> ais523: it's a _javascript api_
16:15:03 <ehird> if you're programming something with javascript, you have javascript enabled to test it
16:15:10 <ais523> ehird: but that's in your test window
16:15:17 <ais523> it's not in your text editor window
16:15:22 <jix> the complaint is valid to a degree... but funny anyway
16:15:34 <ehird> ais523: it's a good thing the jquery api docs isn't text editor-integrated, then
16:16:19 <ehird> i meant for the example you gave.
16:16:19 <ais523> with most API docs, I can work around using a tabbed shell, or with Emacs
16:16:35 <ehird> also, I use a text editor to edit text, not look up apis,.
16:16:35 <ais523> I don't see why API docs should arbitrarily prevent themselves being loaded in a text editor
16:16:45 <ais523> ehird: well, I don't use my editor for Tetris
16:16:52 <ais523> but looking up APIs is a pretty sensible use for them
16:16:55 <ehird> someone does, because it's in the base distribution
16:16:58 <ais523> even Microsoft does that, with Intellisense
16:17:10 <ehird> "Microsoft does it" is not a way to convince me something is a good idea.
16:17:23 <ais523> I mean, pretty much every editor does nowadays
16:17:27 <ais523> even vi has syntax higlighting
16:17:37 <ais523> how is API lookup fundamentally different from syntax higlighting?
16:17:44 <ais523> it's one of the things needed when programming, unless you have a perfect memory
16:17:48 <ehird> vi does not have syntax highlighting, as far as I know.
16:18:00 <ehird> but vim is essentially emacs--
16:18:17 <ais523> but M-x man and M-x perldoc are commands I use all the time when programming
16:18:20 <ais523> depending on the language
16:18:21 <ehird> also, syntax highlighting is tied fundamentally to the editor
16:18:36 <ais523> ehird: they are very involved with the editor
16:18:44 <ais523> unless you like doing a lot of cut/paste/search, or retyping
16:18:59 <ais523> in the VHDL I'm editing atm, I type for and I get an entire generate-for statement template
16:19:03 <ais523> which in VHDL is not trivial to write by hand
16:19:06 <ehird> that's not an api document
16:19:08 <ehird> that's just snippets
16:19:15 <ais523> APIs are similar, though
16:19:20 <ais523> you need to look up which argument's which
16:19:22 <ehird> i wonder why so many people apparently don't have a desktop environment
16:19:39 <ehird> which is, um, _designed_ for passing information between programs concurrently
16:19:57 <ais523> why pass the information when you can use it without passing?
16:20:05 <ais523> do you use the mouse for API lookups, by any chance?
16:20:26 <ehird> no, but I generally don't need API lookups
16:21:09 <ehird> also, I use the mouse for pinpointing both precise pieces on the screen that would be tedious to access with a keyboard, and large fuzzy areas which would also be tedious with a keyboard
16:21:17 <ehird> e.g., input field focusing, text selection, window selection
16:21:18 <ais523> with Mac OS X, I'm surprised that things like API lookups aren't integrated the same way as spell-checkers
16:21:28 <ehird> they probably are if you use xcode. I don't
16:21:48 <ais523> ehird: doesn't that make it silly for jquery's API to require JavaScript, then?
16:21:59 <ais523> what if I'm writing jquery-using code at home without Internet access?
16:22:07 <ehird> you download the api.
16:22:20 <ehird> ais523: it uses adobe air or some shit
16:22:25 <ehird> what I am saying is:
16:22:37 <ehird> it isn't bad for the _web version_ of a _javascript api's_ documentation to require javascript
16:22:55 <ais523> it's bad for the web version of /anything/ to _require_ javascript if possible
16:23:09 <ais523> but other things should fallback gracefully, even if they're very JS-related
16:23:24 <ais523> would you think it bad for the web version of the Java API to require Java?
16:23:32 <ais523> (it doesn't, by the way)
16:23:39 <ehird> yes: java isn't inherently web based. jQuery is.
16:23:45 <flexo> in the real world javascript is available everywhere..
16:23:54 <ais523> ehird: I've written non-web-based computer games in JavaScript
16:24:01 <ehird> ais523: you wouldn't use jquery for it.
16:24:07 <ais523> which were entirely client side, and required copy and paste for saving
16:24:17 <ais523> but that's just my personal preferences
16:24:17 <ehird> umm, entirely client side: so it used html?
16:24:27 <ehird> file:/// to an HTML counts as the web, imo.
16:24:41 <ais523> well, the lack of any CGI support influenced things somewhat
16:24:44 <ehird> flexo: yes, some people choose to castrate their browser because of their tin foil hats
16:24:47 <ais523> the web normally had that
16:24:54 <ais523> ehird: not just tin foil hats
16:25:06 <ais523> to avoid all sorts of annoying things that people normally use JS for is at least as valid a reason
16:25:23 <ehird> so stop going to those sites
16:25:32 <ehird> i don't know where this mass of annoying JS sites are, because I never come across them.
16:25:40 <ais523> ehird: do you use an ad-blocker?
16:25:50 <ais523> pretty much any random non-tech news site will have annoying JS-based adverts
16:26:00 <ais523> apart from reputable ones
16:26:10 <flexo> how about using reputable ones then?
16:26:12 <ehird> most of the sites I go's ads are inconspicuous and ignorable. the ones that have annoying ones, I DON'T GO TO THOSE SITES!
16:26:22 <ehird> why would I go to a site that evidently has no respect for me at all?
16:26:24 <FireFly> The reputable ones has flash based ads instead
16:26:34 <ais523> ehird: well, they may still have useful content, I just show no respect for them either
16:26:45 <ais523> printable versions, adblock, etc are fair game against them
16:27:02 <ehird> i can get the useful content somewhere that doesn't enjoy pounding me with a giant mass of ads
16:28:28 <ais523> the BancSTAR page has annoying JS ads, for instance
16:28:31 <ais523> and I don't know of any copies of it
16:28:52 <ehird> http://www.geocities.com/ResearchTriangle/Station/2266/tarpit/bancstar.html
16:29:14 <ais523> your brain must have just got good at filtering them out
16:29:19 <ehird> You're hallucinating.
16:29:19 <ais523> either that, or your browser
16:29:28 <ais523> I can even send you a screenshot if you like
16:29:32 * ehird looks at html source.
16:29:43 <ehird> Okay, the ad uses <layer>.
16:29:49 <ehird> I guess it's so old Safari can't run it.
16:29:52 <ehird> That's fine by me.
16:30:20 * ais523 opens in Konqueror out of interest
16:30:48 <ais523> so it's a WebKit vs. Gecko/Trident thing
16:30:59 <ehird> Incidentally, I used to use an ad blocker. But the web looks nicer without it: tasteful ads are placed into page layouts in a way that makes it look like an odd unbalance if you block them.
16:31:00 <ais523> (I'm almost convinced the ad shows in IE, or they'd never have put it there)
16:33:13 <ehird> Is it just the regular geocities ad?
16:33:22 <ehird> If so, yeah, that's annoying. But it has a close button at the top,
16:34:48 <ehird> No pasting, not even "only one line" -- #perl topic
16:34:53 <ehird> what, you can't put single lines in #per
16:35:14 <ehird> hmph, they even got rid of gumbyBRAIN. I liked that bot.
16:37:36 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
16:39:33 <Ilari> And enabling Javascript is a security risk. Especially if you browse nonreputable sites or sites containing certain (very common) kinds of external ads...
16:40:22 -!- ais523 has joined.
16:40:44 <Ilari> Plus some sites do quite nasty-looking stuff with javascript.
16:41:02 <ehird> Ilari: 1) Don't go to those sites. 2) Really, like what?
16:41:26 <ehird> The only vaguely scary thing I have seen done with JS is aza raskin's socialhistory.js, and that's just a _bug_, really... plus it isn't even really practical
16:41:51 <ais523> ehird: unclosable websites?
16:42:11 <ehird> geez, do people here just browse serial key sites all day?
16:42:13 <ehird> that's really what it sounds like
16:42:39 <ais523> ehird: I'm thinking more malicious links
16:44:22 -!- jix has quit (Read error: 104 (Connection reset by peer)).
16:44:36 <Ilari> And "Don't go to those sites" extends to sites like Youtube (selective javascript blocking capabilities of Noscript come handy there)?
16:44:46 <ais523> I don't go to Youtube at all
16:44:54 <ais523> I don't have Flash installed, for one
16:44:56 <ehird> Ilari: umm, what annoying things does youtube do with js?
16:45:50 <ehird> ais523: we know you dislike youtube.
16:45:52 <ehird> I was asking Ilari.
16:46:07 <Ilari> ehird: Youtube was given as example where Javascript does bad things to security (even if you trust Youtube). Some other sites do annoying things with js.
16:46:18 <ehird> "bad things to security"?
16:46:24 <ehird> This vagueness is not very interesting
16:46:49 <ais523> ehird: pretty much any browser is less secure with Flash enabled than without
16:46:59 <ais523> cross-platform critical vulnerabilities pop up every now and then
16:47:05 <ais523> I'm not sure how this relates to JS, though
16:47:06 <ehird> Thannnk you. Go away. I'm talking about JavaScript. Stop talking about how much youtube sucks...
16:47:21 <Ilari> ais523: I don't have flash installed either... :-)
16:47:45 <ais523> tbh, I don't even miss YouTube
16:47:55 <ais523> I have a TV at home, but rarely use it
16:48:21 <ehird> Area Man Constantly Mentioning He Doesn't Have Flash Installed
16:48:30 -!- jix has joined.
16:49:04 <Ilari> s/Javascript does bad things to security/where having Javascript unconditionally enabled degrades security/
16:49:19 <ehird> Yes, I recall asking for examples...
16:49:23 <ehird> I also recall not getting them
16:50:11 <ais523> ehird: basically it consists of using JS and iframes
16:50:16 <jix> some website that does not use javascript has a bug that allows anyone to insert malicious content ... for example a javascript that makes you do something on that site (submit form whatever) that does harm to you in some way
16:50:34 <ais523> jix: no, not that, that's something else
16:50:45 <ais523> although I agree that can be a problem, JS security normally avoids that nowadays
16:50:49 <ehird> xss is the fault of incompetent server-side developers
16:50:56 <ehird> who don't check for the origin of such requests
16:51:02 <ais523> ehird: you have to admit that XSS is blocked completely by turning off JS, though
16:51:21 <ehird> ais523: you can't get viruses if you turn off your computer!
16:51:24 <ais523> and yes, XSS is caused by incompetent website designers; but likewise, browser security holes are caused by incompetent browser designers
16:51:31 <ais523> you have to strike a balance somewhere
16:52:16 <ais523> hmm... irrelevant to the current argument, but http://www.kb.cert.org/vuls/id/836068 looks interesting
16:52:33 <ehird> Nobody competent has used md5 for years, anyway.
16:52:34 <Ilari> Combine external Javascript and nasty stuff JS can do (and I'm not talking about trying-to-run-malware-nasty), and it can get real nasty.
16:52:34 <ais523> well, that's within the last 3 weeks
16:52:50 <ais523> md5 has been known imperfect for a while, but that's the first practical exploitation of it I've seen
16:52:52 <ehird> your hypotheticals are amusing. are you unable to provide examples?
16:53:01 <ais523> ehird: well, I was going to explain clickjacking
16:53:24 <ais523> http://en.wikipedia.org/wiki/Clickjacking does it better than I could, though, probably
16:53:50 <ehird> ok, that's a browser bug
16:54:12 <ais523> ehird: in what way would you suggest modifying browsers to avoid it without losing functionality?
16:54:24 <ais523> also, I prefer not to assume my browser is 100% bugfree, even though it isn't IE
16:54:36 <ehird> not let sites interact with embedded pages on other sites
16:54:43 <ehird> this is already done to a large degree
16:54:54 <ehird> that's just another aspect that has to be stopped, simple enough...
16:55:34 <jix> ehird: how is clickjacking a browser bug
16:55:51 <ais523> ehird: also, I point out that JS adverts are exactly the sort of thing that might do that sort of thing
16:55:58 <ais523> in which case it isn't an "other site"
16:56:04 <ehird> jix: they allow a site to cause an interaction with an embedded component on another site in a way that hasn't been accounted for
16:56:23 <ais523> what if it's an interaction between a website and its own adverts?
16:56:30 <ehird> cross-domain scripting rules.
16:56:32 <ais523> which are hosted there, but haven't been properly checked for security
16:56:37 <ais523> ehird: what do you mean cross-domain?
16:56:42 <ais523> "a website and its own adverts"
16:56:54 <ais523> and please don't tell me all advert-loading is done from external servers
16:56:59 <ais523> although I admit quite a bit of it is
16:57:21 <ehird> i'll continue this conversation when it takes a turn that doesn't consist of me stating why things can be easily fixed and you asking about every trivial term I'm using that someone talking about browser security should know about
16:57:48 <ais523> ehird: I'm not saying I don't understand what "cross-domain" means
16:57:55 <ais523> I'm saying that this will not always be cross-domain in practice
16:57:56 <jix> ehird: then you might fix the wikipedia page which states it isn't a browser bug
16:57:59 <ais523> and you're assuming it is for some reason
16:58:23 <ehird> if a site causes a user to delete all the mail they host in the same site, umm, that's the site's fault
16:58:32 <ais523> yes, but it still affects the user
16:58:33 <ehird> they could easily do it by, you know, just automatically deleting them
16:58:43 <ais523> your problem seems to be that you're assuming all the websites you use are 100% perfect
16:58:57 <ais523> normally, the advertising division of a website != the content division
16:59:09 <ais523> and they both put more or less their own stuff on the same page
16:59:11 <ehird> so the advertising devision hates the mail devision
16:59:18 <ais523> the advertising division is often relatively easily tricked by outsiders
16:59:19 <ehird> and wants users to delete all their mail via their ads
16:59:28 <ais523> there were quite a few adverts spreading Storm, recently, for instance
16:59:39 <ais523> if the ad people are 100% perfect, no problem
16:59:55 <ais523> in practice, they're quite easily persuaded to do something obnoxious by $EVIL_HACKER
17:00:12 <ais523> which ends up impacting the mail website as a whole and deleting all your mail
17:00:31 <ais523> (you might say this is unlikely, but IIRC Storm spread via a combination of those methods and exploiting flaws in IE)
17:01:15 <ais523> ehird: anyway, it seems clickjacking was even used to change the Flash privacy settings to turn on webcam and microphone
17:01:30 <ais523> that isn't even XSS, or crossdomain, that's affecting local programs on the user's computer
17:01:43 <Ilari> And some sites are probably hosted on computers that are a lot better hardened than the ad servers they reference to via Javascript includes.
17:01:45 <ehird> that's a flash bug.
17:01:51 <ehird> we are talking JS.
17:01:59 <ais523> ehird: it's a combination-of-JS-and-Flash bug
17:02:27 <ais523> hmm... can JS in a tab focus a different tab?
17:02:31 <ais523> ah yes, obviously, window.close
17:02:48 <ais523> so, an evil site can reposition your mouse pointer then close the tab just as it thinks you're about to click
17:02:59 <ais523> and you click over something dangerous on the tab you visited just before it
17:03:10 <ais523> a bit unlikely, I suppose, but stranger things have been exploited
17:03:36 <Ilari> Like those file upload control exploits?
17:03:52 <ais523> I wasn't thinking of those, but it's a similar idea
17:03:59 <ais523> those definitely are browser bugs, though
17:04:07 <ais523> no way should a file upload box be under website control
17:04:56 <jix> is it still possible to sniff auto fill in data using JS? (i think it isn't) but that would be a browser bug too...
17:05:38 <Ilari> It isn't. IIRC, Firefox 2 is vulernable to those exploits. Firefox 3 prevents them by preventing user from editing file upload control path directly. Konqueror isn't vulernable because it prompts before uploading.
17:06:00 <Ilari> That was to ais523
17:07:07 <ehird> using auto fill-in data is probably a bug in the user.
17:07:17 <ais523> Ilari: yep, old bug, IIRC they fixed both Mozilla (and Firefox by extension) and Safari before it got publically announced
17:07:17 -!- ais523 has quit (Remote closed the connection).
17:07:24 -!- ais523 has joined.
17:07:28 <jix> ehird: it's a usefull feature and can be implemented securely
17:07:37 <ehird> yes, but it should be user-triggered
17:07:43 <jix> ais523: auto form fillin
17:07:44 <ehird> instead of filling in forms just like that
17:07:51 <ehird> you should be able to click, fill in this form
17:08:04 <jix> ehird: or it could fill in the form but mark the form as auto filled and unaccesable by scripts
17:08:08 <jix> ehird: i think that is how it is done
17:08:22 <ehird> that could also mess up JS form validation
17:08:25 <jix> at least ff 3 marks the filled in forms in yellow until you check them
17:08:33 <ais523> ehird: JS form validation is ridiculous
17:08:38 <ais523> and should be repeated server-side, at least
17:08:45 <ehird> repeated server side: no shit
17:08:50 <ehird> it should be generated from a model in both cases
17:08:52 <ais523> having it client-side to warn users slightly earlier is possibly helpful, but dubious
17:08:57 <ehird> no, it's really helpful
17:09:05 <ehird> i get it all the time, oops, I messed up that field, so I fix it
17:09:07 <ehird> instead of doing the whole form
17:09:11 <ehird> and getting 10 errors
17:09:16 <ehird> oh, now I have 3 errors
17:09:26 <ais523> and really, if you're auto-filling invalid data
17:09:38 <ais523> then you have a problem, and the extra 2 seconds it takes for server-side validation won't really hurt you
17:09:40 <ehird> no, you're auto-filling data that is probably valid
17:09:44 <ehird> websites may disagree.
17:11:56 <ais523> then they can disagree server-side
17:12:01 <ais523> rather than messing up your UI
17:12:07 <ais523> it's not as if that happens very often
17:12:10 <ehird> 'messing up your ui', wtf
17:12:14 <ais523> even better, have an HTTP response code
17:12:18 <ehird> i'm ending this conversation because it's ridiculous.
17:12:23 <ais523> which means "this data is invalid"
17:12:31 <ais523> so the browser knows something went wrong with the auto-fill
17:12:34 <ehird> that is outside of http's jurisdiction.
17:12:37 <ehird> i'm ending this conversation because it's ridiculous.
17:12:38 <ais523> ehird: I'm not so sure
17:12:42 <ehird> i'm ending this conversation because it's ridiculous.
17:13:04 <ais523> ehird: you've been doing a lot of arbitrarily declaring things ridiculous recently
17:13:31 <ehird> you're welcome. but I've never convinced you of anything, and vice-versa
17:22:57 <ais523> ehird: http://secunia.com/advisories/search/?search=javascript is a list of JS-related security bugs that have been found, btw
17:23:05 <ais523> some more serious and more JS-related than others, obviously
17:23:12 <ehird> this is unsurprising
17:23:23 -!- MigoMipo has joined.
17:23:39 <ais523> I'm just surprised that you claim that JS-blocking isn't a good idea, as a result
17:50:03 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
17:51:03 -!- ais523 has joined.
18:02:50 <Slereah_> How old is the oldest machine, theoretical or otherwise, with stacks?
18:03:39 * ais523 wonders if it's before or after the Turing Machine
18:03:54 <ais523> I suppose steam engines had cooling stacks, but that probably isn't what you meant
18:04:15 <Slereah_> Also there prolly isn't a lot before the TM.
18:04:28 <ais523> bsmntbombdood: oldest machine with stacks
18:04:38 <ais523> arguably the TM had two, but it wasn't described like that
18:04:43 <ais523> and besides, pushing one popped the other
18:05:04 <ais523> bsmntbombdood: it's a theoretical machine
18:05:04 <ais523> which Slereah_ specifically allowed
18:05:38 <ehird> how come every finn uses iki.fi
18:05:47 <ais523> maybe because it's a good server?
18:06:14 <ehird> it forwards URLs and emails
18:06:21 <ehird> i.e. iki.fi/deewiant goes to users.tkk.fi/blahblahblah
18:08:42 -!- Corun has joined.
18:08:42 <ehird> xdcc send horse_porn.avi
18:08:46 <ais523> I was trying to open a /query with AnMaster to look at my /query logs with him
18:09:30 <ais523> AnMaster: checking what that rsync command was
18:13:35 <ais523> well, seems the C-INTERCAL repo is back in business
18:13:38 <ais523> http://envbot.kuonet.org/~ais523/c-intercal/_darcs/pristine/ for the file tree
18:13:45 <ais523> http://envbot.kuonet.org/~ais523/c-intercal/ for darcs download
18:25:28 <Ilari> Hmm... Wonder what kind of class would language with no backward jumps allowed, only looping linear in values and with bignums plus builtin hyper operator present...
18:26:04 <Ilari> I don't know any examples of such language. It would be obiviously sub-TC...
18:26:15 <ehird> in moar practical terms? :D
18:27:07 <ais523> Ilari: isn't that BLooP-class?
18:27:29 <ehird> it'd be nice to have a bloop-alike, without the explicit specification
18:29:14 <Ilari> Plus of course associative tables for storing data during processing.
18:29:46 <Ilari> ais523: Got URL? Googling turns up lots of unrelated links...
18:30:53 <ehird> http://en.wikipedia.org/wiki/BlooP_and_FlooP
18:30:58 <ehird> from Gödel, Escher, Bach
18:31:28 <Ilari> Such language could express function that would have f(1) = 1, f(2) = 4, f(3) = g64 <Graham's number>, f(4) = <Something that makes even Graham's number look small>
18:32:56 <Ilari> ehird: I don't know how f(4) and A(g64,g64) relate to each other and which is bigger. But one thing is sure: They are both really huge even compared to g64.
18:33:28 <Slereah_> Isn't any function theoretically able to be defined like that?
18:33:38 <Slereah_> I mean, you could just define it as a primitive
18:35:41 <ehird> What's all this, you ask? We like weasels. You like weasels. Everyone likes weasels. Our mission: to send weasels wherever people like weasels. And that means everywhere.
18:35:41 <ehird> Weasel Trek has shipped fifteen plush weasels to hosts all over the world to be photographed, given a taste of local culture, and then sent on to another who shares the weasel way.
18:35:44 <ehird> http://weaseltrek.com/
18:37:14 <ehird> I didn't notice the plush at first
18:37:26 <ehird> and reading their about I was thinking, wtf, you can buy weasels from ikea? What?
18:37:53 <Ilari> 64 times recursed Conway arrow with variable values on sides, starting from four arrows. With x=3, it produces Graham's number.
18:37:58 <ehird> http://uk.youtube.com/watch?v=pW7opOMStZk Skydiving weasel
18:38:04 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
18:45:47 <Ilari> Actually, that language would be more powerful than BlooP, as BlooP expresses functions that are primitive-recursive, but that language could express A(m,n), which is not primitive recursive.
18:53:47 -!- olsner has joined.
19:11:30 -!- Hiato has joined.
19:25:17 -!- Slereah has joined.
19:38:44 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
19:40:44 <ehird> nowhere docs the pcm format :(
19:44:59 <ehird> register int *esp __asm__("%esp");
19:45:01 <ehird> that actually works
19:50:27 -!- Corun has quit ("This computer has gone to sleep").
19:53:33 <MizardX> ehird: http://www.wotsit.org/list.asp?search=pcm
19:54:11 <ehird> I like the part where neitherresult was the right one
19:54:28 <MizardX> pcm seems to be part of riff
19:55:07 <MizardX> Pulse Code Modulation (PCM) Format
19:55:21 <MizardX> line 3489 of the first document
19:55:34 <Deewiant> ehird: iki.fi also offers DNS so that the address of your site can be foo.iki.fi
19:55:46 <ehird> Deewiant: why does everyone use it?
19:56:04 <fizzie> Also: because there are no monthly/yearly payments.
19:56:06 <Deewiant> and no, not "everyone" uses it :-P
19:56:11 <fizzie> Just the initial joiningment thing.
19:56:14 <ehird> umm, why not just link to a uri like the rest of the world.
19:56:21 <ehird> instead of PAYING for a url redirection service
19:56:25 <Deewiant> ehird: because if your stuff moves your old URLs don't work.
19:56:40 <ehird> the rest of the world solves that by, um, not doing that.
19:56:41 <Deewiant> ehird: 'iki' is search for 'ikuinen' meaning 'permanent'
19:56:50 <Deewiant> ehird: if you change your ISP, what're you going to do
19:56:53 <ehird> ok, technically we have purl.org
19:56:56 <ehird> Deewiant: not host pages on my isp
19:57:10 <Deewiant> ehird: what if I have no other hosting option
19:57:19 <ehird> stop being a cheap bum :)
19:57:43 <ehird> corth.c:12: warning: ‘noreturn’ function does return
19:58:03 <ehird> by "noreturn" i mean DON'T GENERATE A FREAKING "ret" INSTRUCTION
19:58:29 <ehird> does that work? ha
19:58:47 <Deewiant> it's specced to work in D where assert is a language construct :-P
19:58:59 <ehird> Deewiant: well, it makes sense for gcc to be complaining because i'm trying to tell it main() doesn't return
19:59:18 <ehird> (I clobber the stack in this program so I use the genius solution of "Don't ever, ever return, or call functions")
19:59:50 <ehird> lol, it still buts a ret in there but doesn't complain
19:59:56 * ehird tries asm("hlt") instead
20:00:20 <ehird> -Os would be more likely to do something ther
20:00:40 <Deewiant> I always forget that one exists :-P
20:00:51 <ehird> zsh: illegal hardware instruction ./a.out
20:00:59 <ehird> Deewiant: I'm writing a forth. That would be dumb :D
20:01:03 <ehird> register int *esp asm("%esp");
20:01:03 <ehird> #define PUSHL(x) asm("pushl %0" : : "r"(x) : "%esp")
20:01:09 <ehird> this is CRAZY LAND
20:03:42 <ehird> bsmntbombdood: is that BLAZING FAST and CRAZY?!
20:05:01 <ehird> bsmntbombdood: because I'm too incompetent to write asm
20:05:30 <ehird> cool, you get a bus error if you don't ret
20:05:47 <bsmntbombdood> and really, how much slower can your own stack be?
20:07:21 <ehird> utterly unacceptable
20:08:13 <Deewiant> that's less than 0.00001 ms :-P
20:08:22 <ehird> 0.0000000000000000000000001ms
20:08:23 <ehird> utterly unacceptable
20:08:41 <ehird> utterly unacceptable
20:09:25 <ehird> god, calling library functions is so ugly in C
20:10:56 <ehird> utterly unacceptable
20:30:08 <ehird> write it as a string manipulation routine
20:32:12 -!- Hiato has quit ("Leaving.").
20:42:36 -!- KingOfKarlsruhe has quit ("Konversation terminated!").
20:43:32 -!- jix has quit ("...").
20:44:55 -!- jix has joined.
21:04:22 -!- MigoMipo has left (?).
22:16:43 <ehird> 22:11 <[TEHb]> Guys, help me pls :-)
22:16:43 <ehird> 22:11 <[TEHb]> I need help
22:16:45 <ehird> 22:12 <[TEHb]> I have not eaten for three days
22:16:50 <ehird> IRC is the correct place for advice on this matter
22:17:15 <lament> it's time to learn postscript!
22:17:20 <lament> anyone know a good tutorial?
22:18:15 <lament> it's bad if you have to ask.
22:18:27 <ehird> gotos are _awesome_
22:18:38 <flexo> computed gotos are awesome
22:18:44 <flexo> you know, gcc supports them
22:19:07 <ehird> bsmntbombdood: you can pass around goto pointers.
22:19:24 <flexo> it's not really a computed goto
22:19:31 <flexo> http://pastebin.com/m32bb5f
22:19:50 <flexo> i suppose this might only work on 32bit x86
22:20:29 <ehird> flexo: that's not a computed goto.
22:20:37 <ehird> although that IS confusing as fuck
22:21:03 <ehird> I think they're x86 machine code
22:21:27 <flexo> nawothnig@perez:~$ ./leet
22:21:27 <flexo> 98 9e 37 d5 31 14 30 c3
22:21:31 <flexo> it's kind of a quine. somewhat.
22:21:46 <flexo> (byteorder is reversed)
22:24:59 <flexo> bsmntbombdood: so, unless your program looks like mine you should restructure it
22:28:25 <flexo> packets are beinng lost again
22:28:49 <flexo> will finally get my own line on tuesday
22:57:03 -!- oerjan has joined.
23:07:16 -!- FireFly has quit ("Later").
23:12:09 <lament> how do i exponentiate in postscript?
23:19:01 <oerjan> <Ilari> Actually, that language would be more powerful than BlooP, as BlooP expresses functions that are primitive-recursive, but that language could express A(m,n), which is not primitive recursive.
23:19:09 <oerjan> sort of BlooP with oracle...
23:21:48 -!- olsner has quit ("Leaving").
23:24:46 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
23:25:49 -!- bsmntbombdood has joined.
23:41:30 -!- jix has quit ("...").
23:50:36 <Ilari> Even one that could be implemented on Turing machine to run in "finite" time... :-)
00:23:42 <ehird> 23:19 <oerjan> <Ilari> Actually, that language would be more powerful than BlooP, as BlooP expresses functions that are primitive-recursive, but that language could express A(m,n), which is not primitive recursive.
00:23:43 <ehird> 23:19 <oerjan> sort of BlooP with oracle...
00:23:45 <ehird> 23:50 <Ilari> Even one that could be implemented on Turing machine to run in "finite" time... :-)
01:35:00 -!- GreaseMonkey has joined.
04:18:49 -!- ehird has quit (kornbluth.freenode.net irc.freenode.net).
04:18:49 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
04:19:10 -!- ehird has joined.
04:19:10 -!- GregorR has joined.
04:23:45 -!- ehird has quit (kornbluth.freenode.net irc.freenode.net).
04:23:45 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
04:25:44 -!- ehird has joined.
04:25:44 -!- GregorR has joined.
04:42:48 <fungot> *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *BUZZ* *B ...too much output!
04:56:24 <oerjan> ^ul (KH)(A)(:*)(:*)::**^^(N)**S
04:56:24 <fungot> KHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN
04:57:27 <oerjan> http://www.khaaan.com/
05:22:49 -!- Corun has joined.
05:29:23 -!- oerjan has quit ("Bus").
05:38:43 <Slereah> It's not the speed of your dick that matters, bsmnt_bot
05:39:31 <Slereah> I don't know what that is.
05:40:40 <bsmntbombdood> http://www.openbsd.org/cgi-bin/man.cgi?query=dc&apropos=0&sektion=0&manpath=OpenBSD%20Current&arch=i386&format=html
07:13:14 -!- olsner has joined.
07:50:37 -!- GregorR has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:21 -!- olsner has quit ("Leaving").
08:31:37 <AnMaster> <ehird> crazy sedes. <ehird> *swedes <-- no Finns. Not Swedes.
08:34:13 <AnMaster> <bsmntbombdood> 1.5 × 10**-9 seconds at 2 ghz <-- not sure about that, some CPUs execute more than one instruction per cycle iirc. Though I'm not sure if x86 does that.
08:35:16 -!- GreaseMonkey has quit ("Client Excited").
08:36:35 <AnMaster> <bsmntbombdood> hey guys i just wrote a goto <bsmntbombdood> is this bad y/n <-- well depends a lot on language, how it is used and so on.
08:36:53 <AnMaster> like, C doesn't have break; for more than one level at a time
08:37:08 <AnMaster> using goto to break two levels is the cleanest solution there
08:38:02 <AnMaster> also sometimes in functions that can error out at several points and need to do common cleanup for all the error paths, goto error; and putting an error: block at the end may be the cleanest code.
08:38:20 <AnMaster> some file reading functions or such would fit into that category
08:38:38 <AnMaster> also I think it is often ok in _generated_ C code
08:44:34 <psygnisfive> do you know anything about the properties of rewriting systems?
08:49:19 <psygnisfive> no no i mean the formal properties of such systems in general
09:38:54 -!- Corun has quit ("This computer has gone to sleep").
10:12:14 -!- Slereah_ has joined.
10:24:15 -!- Slereah has quit (Read error: 110 (Connection timed out)).
10:24:32 -!- Slereah has joined.
10:32:47 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
13:06:57 -!- oerjan has joined.
13:08:36 -!- Hiato has joined.
13:10:22 <oerjan> <psygnisfive> do you know anything about the properties of rewriting systems?
13:10:45 <oerjan> if it's string rewriting then you have the Chomsky hierarchy at least
13:30:26 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
13:31:35 -!- Hiato has joined.
13:59:14 <oklopol> oerjan: YOU'RE NOT FOOLING ANYONE :DDDDDDDDDDD
14:00:42 <oklopol> i misread "eurocreme" was on the clipboard and not the topic (shown next to each other), thought i had sleep googled for gay porn again
14:01:08 <oklopol> well that was actually complete bullshit, i just wanted to use the term sleep googling in some context.
14:01:25 <oerjan> fooling anyone about what?
14:01:32 <oklopol> oerjan: nothing in general
14:02:04 <oerjan> you regularly sleep google for gay porn?
14:02:43 * oerjan realizes responding to comments before reading the next line is more fun
14:03:09 <oklopol> well yeah i'm not sure why i said that bullshit comment
14:03:24 <oklopol> i mean it's all about choice, i honestly don't know whether i actually did think it was on the clipboard.
14:03:59 <oerjan> yeah i often don't know what i'm thinking either
14:04:18 <oklopol> i do know i don't sleep google for gay porn (afaik), but that is fun as a joke, so there's no need to be honest; then again if i say i misraed something, and i'm lying, there's no excuse.
14:04:47 <oklopol> oooooooooooooooooooooooooooo
14:04:48 <oerjan> i misread that as misraped
14:04:50 <oklopol> oooooooooooooooooooooooooo
14:05:15 <oerjan> let's try to never find out
14:05:17 <oklopol> like, to accidentally someone?
14:05:19 <fizzie> I think it's just like rape, except you're doing it wrong.
14:05:33 <oklopol> there's probably like a comic about that
14:06:14 <oerjan> you misrape what you sow
14:07:04 <fizzie> One of the only three google hits of "misrape" (quoted) sounds like it's just a case of applying the procedure to the wrong person: "... bust into someone’s house and terrorize them, i suggest you keep detailed records of your victims so you don’t misrape any innocent bystanders. ..."
14:07:29 <oerjan> i think i should stop now, i just noticed it anagrams to "spermia"
14:08:32 <oklopol> so cummon down south park and meet some frendsa mineeeee
14:09:45 <oklopol> simrape would probably need sperm ai.
14:09:55 <oklopol> but i hope there wouldn't be any ram pies
14:10:32 <oklopol> almost prime ass, like that bear has
14:12:29 <fizzie> Also maybe related: seam rip.
14:13:00 <oklopol> this is kinda getting outta hand ppl.
14:14:58 <Ilari> g66 = 3 !g65-1! (3 !g65-1! 3) > 3 !g65-1! (g64 + 3) = 3 -> (g64 + 3) -> (g65 - 1) > (2 -> (g64 + 3) -> (g64 - 2)) - 3 = A(g64,g64)... :->
14:17:27 <Ilari> => g66 > A(g64,g64)...
14:27:57 <Ilari> Heh: 'g64 -> g64 -> g64 -> g64'. That should be fairly BIG.
14:28:10 <Slereah> A million is already fairly big.
14:29:21 -!- Hiato has quit ("Leaving.").
14:34:11 <Ilari> g1 is already really really HUGE number. 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 iterated base-10 logarithms would barely do a minor dent to it. g2 is MUCH bigger than g1, etc...
14:36:31 <Ilari> g1 is 3 !!!! 3 = 3 !!! (3 !!! 3) = 3 !!! (3 !! (3 !! 3)) = 3 !!! (3 !! (3 ^ 3 ^ 3)) = 3 !!! (3 !! 7625597484987) = ...
14:37:52 <Ilari> = 3 !!! (3 ^ 3 ^ 3 ^ ... ^ 3) [7625597484986 '^'s]...
14:38:59 <fizzie> Your definition of "minor dent" is interesting, if you look at how large a fraction of the original number is left after that many logarithms. I'm not saying it wouldn't still be a rather large number, but if you consider a chunk of rock, take a similarly proportioned amount of it away, it doesn't really look like a "minor dent" at that point.
14:40:54 <Ilari> These numbers are so huge you can't even use power tower scale... And iterated logarithm operates in that scale...
14:44:00 <oklopol> i agree, minor dent is a weird term
14:48:43 <Ilari> "Power tower scale" essentially measures how many times you (approximately) have to apply logarithm to get into small numbers..
14:50:47 <oerjan> which is just the fourth step of the ackermann function
14:51:18 <oerjan> A(4,n) = 2^2^...n times - 3 or something like that
14:53:13 <oklopol> Ilari: k right. still i agree with fizzie
14:56:11 <fizzie> Yes, well, in my viewpoint it's just a matter of what the word "dent" means; it doesn't seem right to me to call something a "dent" if over, say, half of the original thing is gone, no matter how large the dented thing is.
15:07:03 -!- Slereah_ has joined.
15:15:40 -!- Slereah has quit (Read error: 110 (Connection timed out)).
15:37:36 -!- ehird has left (?).
15:37:39 -!- ehird has joined.
15:37:54 -!- ehird has left (?).
15:37:57 -!- ehird has joined.
15:38:44 <ehird> 08:31 <AnMaster> <ehird> crazy sedes. <ehird> *swedes <-- no Finns. Not Swedes.
15:39:31 <oerjan> ehird: you show a complete misunderstanding of nordic stereotypes
15:51:14 <AnMaster> ehird, you were talking about that iki.fi thing then
15:51:29 <ehird> meh, iki.fi makes some sense
15:51:36 <ehird> it's just odd that finns are the only ones who use such a thing
15:57:29 <oerjan> i assume the japanese do to, it's just that we never know because they are speaking in japanese.
15:58:21 <oerjan> oh and the north koreans with internet access also do so. both of them.
16:00:33 <ehird> to be honest I don't exist
16:01:22 <oerjan> but then i thought: figments of imagination are people too!
16:01:37 <oerjan> in fact they're the only people
16:09:37 -!- dbc has quit (Read error: 110 (Connection timed out)).
16:36:36 <ehird> http://lost-theory.org/realultimatepower/ The Official Jeff Atwood Homepage
16:37:36 <ehird> I guess you also have to hate jeff atwood to find it funny :P
16:38:00 <ehird> Idiot extraordinaire.
16:38:18 <ehird> So idiotic that _Joel Spolsky_ teaches him something on a weekly basis. http://www.codinghorror.com/blog/
16:38:33 <ehird> jeffatwoodhorror.com
16:40:49 <ehird> http://www.reddit.com/r/WTF/comments/7q2rj/google_search_results_for_khaxn_for_x1_to_100/c072mvj
16:41:12 <ehird> eliezer's reply is so. perfectly. timed.
16:41:47 <ehird> shut up. it's humour.
16:41:54 <psygnisfive> you can find two dimensional graphs of ARGH
16:42:03 <ehird> im not talking about that
16:42:07 <ehird> im talking about the specific comment thread linked
16:42:15 <ehird> psygnisfive: clicking links since 2009
16:42:55 <oerjan> Don't joke about this. He's dead, Jim.
16:42:56 <ehird> the link I posted selects one comment thread in the comments for that link.
16:43:13 <psygnisfive> ah well, it doesnt do anything special for me, ehird. dunno why.
16:43:28 <ehird> http://www.reddit.com/r/WTF/comments/7q2rj/google_search_results_for_khaxn_for_x1_to_100/c072mvj
16:43:37 <ehird> The yellow-backgrounded comment.
16:43:42 <ehird> And Eliezer Yudkowsky's reply.
16:44:18 <psygnisfive> i didnt realize that it was only showing one thread
16:44:55 <psygnisfive> i wonder if he just stumbled across that thread or if he has An Algo
16:45:42 <oerjan> hm he really _must_ have come by google, it's a month since his last post :D
16:46:18 <ehird> (Context: qgyh2 is the person on reddit with the most submission & comments points, over 100,000 or sth)
16:50:15 <oklopol> did you know the turku university specializes in discrete math, and there's a lot of research in mathematical esolangs?
16:50:29 <oklopol> you didn't. my point is i think i know what i'm gonna be when i grow up.
16:53:31 <oklopol> WHORE LOGIC YOU SAY :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
16:53:51 <oklopol> psygnisfive: reductions from all kindsa constructs into turing machines.
16:54:06 <oklopol> talked to this prof who does cellular automata stuff today
16:54:31 <oklopol> i was instructed to meet him after mentioning i was thinking switching university.
16:54:50 <ehird> "im leaving, you guys are too practical"
16:54:54 <ehird> "HERE IS A CRAZY-ASS GUY"
16:55:50 <ehird> yeah I was just doing that to shut up the fucking xkcd fans
16:57:03 <oerjan> fucking-xkcd fans are scary.
16:57:43 <psygnisfive> i dont know many people who are fans of fucking xkcd
16:58:19 <ehird> 16:57 <niukas> HEJ PEOPLES HELP -TELL AROUND THE WORLD WHAT WE DIEING STOP MAKE DEATH STOP KILL ANIMALS PLANTS WATER METALL ANOTHER PEOPLES BAD PEOPLES MAKE THIS WORLD WE CAN LIVE FOREVER WIT NATURE WITH GOD WITH UNIVERSE PIECE
16:58:20 <ehird> 16:57 <niukas> STOP KILL STOP DEATH
16:58:22 <Slereah_> Is this fucking xkcd? http://d.furaffinity.net/art/seaweedprincess/1232091972.seaweedprincess_xkcd34.jpg
16:58:35 <ehird> Slereah_: I did not need to see that.
16:58:54 <ehird> No, I... really didn't
17:00:24 <oerjan> ehird: see, it's the swedes that are crazy
17:00:30 <psygnisfive> thats a totally inappropriate fake xkcd, slereah_
17:01:05 <ehird> finns and norway-yians are cool
17:01:08 <Slereah_> It's "Raptors on Hoverboards are Offscreen"
17:01:23 <Slereah_> Since you butts don't have FA accounts
17:01:51 <oerjan> what the heck is an FA account.
17:02:06 <ehird> the picture is on furaffinity.net, which is a shithole full of retarded furries.
17:02:11 <ehird> and the associated porn.
17:02:41 <oerjan> Slereah_: yes iirc. not me though.
17:02:59 <Slereah_> Ever since DA was created, furries have migrated from sites to sites
17:03:05 <ehird> wait, how can you know if someone is a closet furry
17:03:08 -!- kar8nga has joined.
17:03:16 <ehird> that doesn't make sense
17:03:27 -!- ehird has set topic: No furries allowed.
17:04:14 <ehird> Furries don't deserve logs
17:04:22 <oerjan> he must have thought they looked furry
17:04:30 <oerjan> ehird: it's just moss!
17:06:31 -!- oerjan has set topic: No smurfing.
17:07:07 -!- ehird has set topic: No furries allowed.
17:07:32 -!- oerjan has set topic: No smurfing furries allowed.
17:11:08 <oklopol> TOO MUCH REQUESTING INFORMATION
17:15:18 <oklopol> blah, i don't feel like reading, i feel like running around naked and eating doors.
17:15:32 <oklopol> but, i guess i have little choice.
17:16:27 -!- FireFly has joined.
17:17:30 <ehird> AnMaster: bookmarks
17:17:33 <ehird> do you know how to use them?
17:17:46 <oklopol> why use bookmarks when the topic has the logs
17:17:59 -!- Slereah_ has set topic: butt | http://tunes.org/~nef/logs/esoteric.
17:18:20 <AnMaster> ehird, yes you place them in books to remember where you should continue reading.
17:19:07 * ehird writes cat(1) program in Python because why not.
17:19:12 <ehird> #!/usr/bin/env python
17:19:12 <oerjan> i bet if i had said it ehird wouldn't have laughed. oh wait.
17:19:13 <ehird> for filename in sys.argv:
17:19:16 <ehird> file = sys.stdin if filename == '-' else open(filename)
17:19:18 <ehird> while not file.closed:
17:19:20 <ehird> sys.stdout.write(file.read(1))
17:19:29 <ehird> oerjan: no, I wouldn't have :P
17:19:44 <AnMaster> oerjan, yes, but not in such a sarcastic manner
17:20:58 <oerjan> ehird: you are missing _several_ POSIX options.
17:21:06 <ehird> isn't there just -u?
17:21:21 <ehird> Write bytes from the input file to the standard output without delay as each is read.
17:21:22 <ehird> which I already do
17:21:25 <ehird> and nobody uses that anyway
17:21:38 <ehird> mine misses stdin on no args through
17:21:44 <ehird> s/sys.argv/sys.argv or ['-']/
17:21:44 <oerjan> ok how many GNU options are there...
17:21:49 <ehird> oerjan: 5 bajillion
17:21:56 <ehird> i don't believe in gnu tools
17:22:16 <oklopol> so, you know how i like stuff right?
17:22:59 <oklopol> oerjan: i bet if i had said it ehird wouldn't have laughed. oh wait. <<< you would never say that
17:23:34 <oerjan> i could have made a similar joke. in fact i must have done so.
17:23:48 <oklopol> oerjan: you would've made a joke based on the same thing, yes
17:23:55 <oklopol> the point is you would've made it less direct
17:24:19 <oerjan> you mean like remote library loan?
17:24:47 <oklopol> see that's what you would've said. something so complicated i don't get it
17:24:57 <oklopol> plz explain i want to laugh.
17:25:16 <oerjan> less direct + books = remote library loan
17:26:28 <oerjan> NEITHER IS YOUR MOTHER.
17:26:55 <oklopol> FUCK YOU, MY MOTHER IS OUTRIGHT RIDICULOUS!!
17:27:11 <oerjan> also, i was obviously trying to make the joke even less direct than usual, it's a meta thing
17:27:20 -!- ais523 has joined.
17:27:23 <oerjan> and you know i never *hit by anvil*
17:28:05 <ehird> http://pastie.org/362562.txt?key=r1mvwcrozo1c5mcrklic8w
17:28:09 <oklopol> oerjan: trying to balance it out... or is that your new swatter replacement?
17:28:09 <ehird> Now it does rot13 too.
17:28:19 <ehird> because cat is _exactly_ the place for it
17:28:34 <oklopol> balance directness out that is
17:28:37 <oerjan> i don't think i can make a 1-line anvil. hm.
17:28:46 <ais523> ehird: I was thinking about the UNIX philosophy
17:28:53 <ehird> ais523: heh, nice timing
17:29:01 * ehird breaks oerjan's anvil with lines
17:29:06 <ais523> and actually, I decided find | grep is more unixy than either find -name blah or ls -R | grep
17:29:14 <oklopol> i think that was it, ehird.
17:29:19 <ais523> you can tell you're being properly UNIXy if you don't need command-line options
17:29:25 <oerjan> ehird: those were two anvils
17:29:31 <ehird> ais523: that makes sense to a degree
17:29:39 <ehird> some command line options just change how it operates, not fundamentally what it does
17:29:45 <ehird> ls -R changes fundamentally what it does, however
17:29:51 <ehird> so you're right in that case
17:30:19 <ehird> uh oh, my cat has a bug
17:30:26 <ais523> the fact that so many commands have recursion options implies that find is definitely a unixy command, when you don't use its options yourself
17:30:33 <ehird> ais523: http://pastie.org/362562.txt?key=r1mvwcrozo1c5mcrklic8w
17:30:34 <ais523> buggy cats normally imply some pretty difficult lang
17:30:39 <ehird> I wrote cat in python for no reason, but then added rot13
17:30:49 <ehird> ais523: no, just buggy logic for detecting EOF
17:31:00 <oerjan> ehird: use a flea collar
17:31:05 <ehird> btw, one instruction that more languages need
17:31:34 <ehird> pipe(lambda: file.read(1), lambda a: sys.stdout.write(transformer(a)))
17:31:46 <ehird> (pseudo-python, you can't assign in whiles in reality):
17:31:54 <ehird> while a = file.read(1): sys.stdout.write(transformer(a))
17:31:57 <ehird> it's such a common idiom
17:32:17 <ehird> pipe file.read(1) as a: sys.stdout.write(transformer(a))
17:32:23 <ais523> incidentally, I read somewhere that Python lambdas were syntactic sugar
17:32:28 <ais523> what do they expand to?
17:32:44 <ehird> def bar(x): return x
17:32:58 <ais523> oh, you can declare named functions in inner scopes in Python?
17:33:37 <ehird> python is a bit verbose, unfortunately
17:33:43 <ehird> so using it for scripting is a bit annoying
17:33:51 <ehird> but it's nicer than writing shell script...
17:34:04 <ais523> it depends on how long the scripts are
17:34:14 <ehird> even trivial things in shell can be a pain
17:34:32 <ehird> if I get beyond one for loop over something like * in a shell, it instantly goes to hell
17:34:36 <ehird> and I switch to a real language :P
17:36:43 <ehird> but it'd be nice if python was, you know, shorter
17:36:57 <ehird> I'm pretty sure that cat is the not much shorter than it would be in C
17:37:00 * ehird writes it in C to find out
17:38:39 <ehird> uppercase = code >= ord('A') and code <= ord('Z')
17:38:41 <ehird> lowercase = code >= ord('a') and code <= ord('z')
17:38:45 <ehird> uppercase = char.islower()
17:38:54 <ehird> lowercase = char.islower()
17:43:13 <ehird> c version: 55 lines
17:43:18 <ehird> so, python is quite a bit shorter
17:43:24 <ehird> the programs essentially look the same, though.
17:43:40 <ehird> http://pastie.org/362584.txt?key=bm06tagczdoiybatmth9q
17:44:24 <ehird> err, that transformer assignment needs to be lower
17:47:00 <ehird> amusingly, this python
17:47:00 <ehird> shifted = (((ord(char.lower()) - ord('a')) + 13) % 26) + ord('a')
17:47:05 <ehird> is more verbose than this c
17:47:05 <ehird> shifted = (((tolower(c) - 'a') + 13) % 26) + 'a';
17:48:03 <ehird> incidentally, C only does so well at this program because it involves no dynamic allocation whatsoever.
17:48:15 -!- kar8nga has left (?).
17:49:39 <ehird> also, my stdin check fails
17:49:42 <ehird> as I forgot to use strcmp.
17:49:50 <ais523> heh, comparing pointers?
17:49:55 <ehird> conclusion: python is better but sometimes uglier.
17:52:07 <ehird> I should now write some code that actually does anything.
17:52:12 * ais523 looks at the Wiki recent changes
17:52:19 <ais523> oh no, not yet /another/ BF derivative
17:53:25 <ehird> proposal: bf derivatives are banned
17:53:38 <oklopol> but what about continuous brainfuck
17:53:54 <ehird> ais523: I like the syntax, though
17:54:23 <ais523> also, the notion of BF derivatives isn't bad as a whole
17:54:27 <ais523> just, they ought to be interesting
17:54:35 <ais523> and most of the ones that people come up with aren't
17:55:17 <ehird> I wonder if I will ever use 25GB of mail storage.
17:55:48 <ehird> (My current gmail account, which I made in 2006 and only started using heavily in around 2008, is using "744MB (10%) of your 7285MB.")
17:55:57 <ehird> (Which is a lot for such a little time I've used it heavily.)
17:57:11 <ehird> I don't think I'm connected.
17:59:09 <ehird> "Why buy a dedicated fart app AND a flashlight, when you can have BOTH, and get a TWITTER CLIENT along with it!"
17:59:20 <ehird> This person has got the iPhone appstore 100% figured out.
17:59:51 <ais523> is that one of the adverts?
18:00:06 <ehird> http://www.atebits.com/pee/
18:00:25 <ehird> they actually sell it :D
18:01:56 -!- puzzlet has quit (Remote closed the connection).
18:02:00 <psygnisfive> but it's odd. i wonder what the photographers were thinking when they planned/took this photo.
18:02:01 -!- puzzlet has joined.
18:02:28 <ehird> psygnisfive: it's from a recent advert bought on reddit
18:02:31 <ehird> advertising viagra or something
18:02:46 <ehird> the ad is now gone due to complaints and there are tons of ads on reddit using the same image but advertising things like subreddits.
18:02:53 <psygnisfive> so they were thinking "we should make her look like she'
18:03:04 <ehird> yes, I don't think you have to elaborate psygnisfive.
18:03:05 <psygnisfive> s amazed at the size of the adviewer's engorged penis"
18:03:27 <ehird> The Bush Boom: How a Misunderestimated President Fixed a Broken Economy
18:03:31 <ehird> http://www.amazon.com/Bush-Boom-Misunderestimated-President-Economy/dp/1594670870?ie=UTF8&s=books&qid=1232115413&sr=8-1
18:03:49 <psygnisfive> if i wasnt, you might've thought i meant, "she's amazed at the low low prices of viagra that we're selling"
18:04:05 <psygnisfive> and i wouldnt want you to have wrong assumptions about my perspective on advertisements for viagra
18:07:51 <ehird> you know what would be cool?
18:07:58 <ehird> an irc server specifically designed for things like bitlbee
18:08:03 <ehird> clients can do things like
18:08:07 <ehird> MAKEDUMMY foobarbaz
18:08:11 <ehird> ASDUMMY foobarbaz JOIN #mychannel
18:08:17 <ehird> ASDUMMY foobarbaz PRIVMSG #mychannel :I am totally a real person
18:10:55 <ehird> bitlbee is a gateway that lets you use MSN/AIM/Jabber/etc through irc
18:11:03 <ehird> you connect to a special server and your contacts become irc users in a room
18:11:06 <ehird> you can just /msg them and stuff
18:11:29 <ehird> there's plenty of good things that could do with an "IRC interface" with that, I'm just thinking about a server that would make it as easy as writing an irc bot
18:11:34 <ehird> with some special commands to control fake users
18:18:46 -!- MigoMipo has joined.
18:21:23 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
18:22:26 -!- ais523 has joined.
18:31:24 -!- ais523 has quit (Client Quit).
18:34:17 <ehird> http://www.noteflight.com/scores/view/2177201ae448ab894682b16d557f5544fb678e7b
18:34:21 -!- puzzlet has quit (Remote closed the connection).
18:34:28 -!- puzzlet has joined.
18:36:00 -!- ais523 has joined.
18:36:26 <ehird> 18:34 puzzlet has joined (n=puzzlet@147.46.241.231)
18:36:26 <ehird> 18:36 ais523 has joined (n=ais523@147.188.254.127)
18:36:49 <ais523> 147.188 is Birmingham University
18:36:59 <ais523> therefore my guess is that puzzlet's on the UK academic network or something connected to it
18:37:53 <ehird> umm, puzzlet is chinese I'm prety sure
18:38:18 <ehird> (Puzzlet Chung lives in the Republic of Korea. He is one of the administrators of the Korean Wikipedia and the Korean Wikiquote.
18:38:18 <ehird> --http://en.wikipedia.org/wiki/User:PuzzletChung
18:38:21 <ais523> in that case, 147 stretches a long way
18:38:33 <ais523> there are only 256 /8s, and they aren't all used
18:38:43 <ais523> so it's not surprising that some of them go all over the world, I suppose
18:39:19 <ehird> also,http://kiwi.cabal.fi/home/aki/misc/cons-ceremony.txt
18:44:25 <ehird> Hmm. Oh dear. I think I have my editor committed to muscle memory.
18:45:07 <ais523> both vi and emacs are pretty quick to type
18:45:14 <ehird> I mean, the editor commands.
18:45:18 <ais523> and I have most common words committed to muscle memory, not just editors
18:45:25 <ehird> As in, switching to another editor for daily use would involve a lot of unlearning.
18:45:30 <ais523> and yes, editor commands seems reasonable
18:45:51 <ehird> (it's textmate, FWIW)
18:45:59 -!- BeholdMyGlory has joined.
18:47:40 <lament> i use a 7-string vi in drop-D tuning
18:49:29 -!- Hiato has joined.
19:08:32 <AnMaster> mysql docs doesn't even say when some sql syntax is non-standard
19:08:39 <ais523> AnMaster: that's easy enough
19:08:43 <AnMaster> postgresql manuals documents it all the time
19:08:46 <ais523> /all/ sql syntax is nonstandard
19:08:59 <AnMaster> ais523, for example it seems using LIMIT with UPDATE is non-standard
19:09:08 <AnMaster> I'm porting a program from mysql to postgresql btw
19:09:16 <ais523> AnMaster: LIMIT isn't standard at all
19:09:21 <ais523> although it's certainly useful
19:09:36 <AnMaster> ais523, well, postgresql supports it with SELECT, but nothing else
19:09:54 <ais523> the SQL standard doesn't even have LIMIT as a keyword
19:10:46 <AnMaster> ais523, interestingly, the worst problems so far has been 1) postgresql has bytea, but no blob 2) postgresql wants "" around column names that happens to be keywords, mysql wants ``
19:11:10 <ais523> AnMaster: yep, quoting is really inconsistent between the DB engines
19:11:12 <oerjan> hey, even i wasn't laughing
19:11:15 <ais523> surely they must have standardised that
19:11:33 <ais523> so why aren't DB engines staying consistent about it?
19:11:48 <AnMaster> ais523, well since I need to support both (eww) I wrote a small wrapper quote_for_stupid_db
19:11:55 <AnMaster> that quotes one word as a column name
19:12:34 <AnMaster> apart from column names and table names the code uses prepared statements everywhere
19:13:36 -!- sebbu has quit (Read error: 104 (Connection reset by peer)).
19:14:01 -!- sebbu has joined.
19:14:57 <AnMaster> ais523, anyway what is worse in this case (which is horrible php code), is that while pdo is supposed to be an abstraction layer, it is kind of useless when it returns mysql blobs as strings and postgresql bytea as streams
19:19:00 -!- KingOfKarlsruhe has joined.
19:20:27 <ehird> ooh, a syntax highlighting program that actually parses textmate theme files to work.
19:21:19 * Hiato hates to interrupt but is concerned that his NASM OS compiles with FASM, yet causes kernel panics randomly
19:21:35 * Hiato and is wondering what the compiler differences are
19:21:52 <ehird> Hiato: you have an os?
19:22:43 <Hiato> was in NASM, then I started porting it to FASM today so that I could port FASM to it. It's 16bit, real-time mono-tasking (for now)
19:23:01 <ehird> http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=7,475,086.PN.&OS=PN/7,475,086&RS=PN/7,475,086
19:24:08 <ehird> Lol! You think the US patent system cares?
19:24:11 <ehird> Oh, what a comedian
19:24:55 <AnMaster> ehird, this sounds like the definition of the CHAR(n) type...
19:25:06 <ehird> no, it's the definition of TRIM()
19:25:29 <AnMaster> well, using TRIM() in a trigger rather?
19:29:32 -!- Zetro has joined.
19:30:41 -!- Mony has joined.
19:45:14 <AnMaster> argh, mysql auto increment NEEDS a NULL in INSERT, it must be listed. PostgreSQL's equivalent requires the column to not be listed
19:49:46 <ais523> AnMaster: autoincrement is different between all sorts of db engines
19:50:31 <AnMaster> ais523, do you know any sort of true DB abstraction layer? A "anti-quirk middleware"
19:50:39 <ais523> they must exist, though
19:50:55 <ais523> ehird: that isn't a true abstraction layer
19:51:03 <ais523> it requires you to write the SQL yourself
19:51:12 <ehird> AnMaster: that was not specified. ais523: It translates the SQL to the correct dialect, I believe.
19:51:12 <ais523> in a syntax that the target DB engine understands
19:51:17 <ais523> ehird: no it doesn't, IIRC
19:51:22 <ehird> yes it does, IIRC>
19:52:12 <AnMaster> but I'm not using perl, no way I'm rewriting an existing software in perl
19:52:29 <AnMaster> at least this php program has all the DB calls in a single file
19:53:05 <AnMaster> ehird, ais523: also does DBI rewrite or not?
19:53:13 <ais523> Dates and times are returned as character strings in the current
19:53:15 <ais523> default format of the corresponding database engine. Time zone effects
19:53:15 <ehird> 19:51 <ais523> ehird: no it doesn't, IIRC
19:53:16 <ehird> 19:51 <ehird> yes it does, IIRC>
19:53:16 <ais523> are database/driver dependent.
19:53:25 <ais523> I haven't found a definitive answer to the original question yet
19:53:25 <ehird> I am talking about SQL syntax, ais523.
19:53:58 <AnMaster> ehird, and I'm waiting for you two to make up your mind
19:54:01 <ais523> The DBI itself does not mandate or require any particular language to
19:54:03 <ais523> be used; it is language independent. In ODBC terms, the DBI is in
19:54:04 <ais523> "pass-thru" mode, although individual drivers might not be. The only
19:54:06 <ais523> requirement is that queries and other statements must be expressed as a
19:54:07 <ais523> single string of characters passed as the first argument to the
19:54:09 <ais523> "prepare" or "do" methods.
19:54:12 <ais523> it doesn't even require SQL!
19:54:16 -!- MigoMipo has changed nick to PrepareForMigol0.
19:54:35 <AnMaster> ais523, what is ODBC btw? I have seen the term a lot, but never understood what it was
19:54:43 -!- PrepareForMigol0 has changed nick to Migol09.
19:54:44 <ais523> I think it's a DB driver, not sure though
19:54:48 <ehird> letmegooglethatforyou.com/?q=ODBC
19:54:51 <ais523> it's probably something DB-related, anyway
19:54:57 <ais523> ehird: does that site need JavaScript?
19:55:06 <ehird> enable it, it's worth it
19:55:08 <ais523> then it's considerably worse than just linking to Google
19:55:16 <ais523> <ehird> enable it, it's worth it <--- no it isn't
19:55:22 <ehird> ais523: it's a sarcastic insult.
19:55:32 <ehird> if I wanted to be helpful I wouldn't link to it.
19:56:14 <AnMaster> ehird, I have javascript off too
19:56:48 <AnMaster> "In computing, Open Database Connectivity (ODBC) provides a standard software API method for using database management systems (DBMS). The designers of ODBC aimed to make it independent of programming languages, database systems, and operating systems."
19:58:00 * AnMaster forces ehird to use MS Query with the Microsoft Excel backend for his databases
20:04:40 -!- oerjan has quit ("Good night").
20:14:29 -!- Zetro has quit (Read error: 104 (Connection reset by peer)).
20:14:49 -!- Zetro has joined.
20:18:16 -!- Migol09 has changed nick to JohnWins.
20:23:06 -!- Judofyr has joined.
20:26:47 -!- BeholdMyGlory has changed nick to ThisIsAReallyLon.
20:27:08 -!- ThisIsAReallyLon has changed nick to BeholdMyGlory.
20:28:15 <ehird> cool, the IRC interface I was thinking about exists
20:29:17 -!- Zetro has left (?).
20:34:05 <AnMaster> ehird, and what is that interface?
20:34:16 <ehird> you have 3 guesses
20:34:55 <AnMaster> not file system based since we talked about that before, not integrated in to zsh since we also talked about that before
20:35:15 <AnMaster> ehird, are you talking about a client or some server side feature?
20:35:26 <AnMaster> like say, a jabber<->irc proxy
20:35:36 <ehird> IRC interface: an IRC server that provides an interface to another service.
20:35:44 <ehird> For example, bitlbee is an IRC interface for IM services.
20:36:37 <AnMaster> related to web browser? (like, say cgi::irc but in server)
20:37:54 <AnMaster> ehird, is it for translating between different IRCD procotols?
20:38:04 <ehird> brb, feel free to guess while I'm brbing
20:38:18 <AnMaster> ehird, well if it isn't bitlbee I'm out of ideas.
20:44:22 -!- Corun has joined.
20:48:33 -!- Mony has quit ("Quit").
20:52:32 -!- Hiato has quit ("Leaving.").
20:54:08 <lament> bass fretboard showing the c major scale:
20:54:08 <lament> O O O O O O O O O O O O O O O
20:54:08 <lament> O O O O O O O O O O O O O O O
20:54:08 <lament> O O O O O O O O O O O O O O O
20:54:08 <lament> O O O O O O O O O O O O O O O
20:55:39 <lament> it looks like a punch tape
20:55:43 <AnMaster> lament, apart from the mirrored N
20:56:00 <AnMaster> hm have you seen that javascript punch card library?
20:56:26 <AnMaster> ah yes lament: http://www.outstandingelephant.com/jcquard/
21:00:33 <ais523> yay, this VHDL synthesizer actually seems half-decent
21:00:40 <ais523> it gave me several screenfuls of optimiser warnings
21:00:54 <ais523> Synplify Pro, it seems
21:00:55 <lament> AnMaster: that mirror N, could it be a lambda?
21:01:02 <ais523> must be a for-pay expensive one
21:01:06 <ais523> because there are no free ones
21:01:17 <ais523> which are at all good, and even the rubbish ones are closed-source
21:01:20 <ais523> AnMaster: no, at University
21:01:45 <AnMaster> lament, hm upper case or lower case?
21:01:56 <ais523> pretty much only companies and universities can afford good VHDL synthesizers
21:02:05 <ais523> I'm amused at the way that anything optimisable is considered a warning, though
21:02:12 <ais523> in VHDL, you're supposed to write optimal code yourself
21:02:26 <ais523> anything suboptimal is bad style
21:02:33 <ais523> good thing the compiler's catching it for me
21:02:53 <ais523> in my case, I'm doing all sorts of suboptimal things like not using all the codepaths in a function every time I use it
21:03:07 <AnMaster> ais523, eh, how do you then branch?
21:03:08 <ais523> or not running all the commands in a loop every iteration
21:03:18 <ais523> AnMaster: via loop unrolling and constant folding
21:03:33 <ais523> in VHDL, all functions are inlined and all loops are unrolled by the compiler anyway
21:03:46 <ais523> luckily, I trust it to do that job a lot more reliably than I trust me to do it
21:03:48 <lament> so it isn't turing-complete?
21:04:08 <ais523> although there are non-loop ways to get infinite repitition
21:04:27 <ais523> lament: a <= not b; b <= a
21:04:36 <ais523> causes infinite repetition in VHDL
21:04:38 <ais523> despite not being a loop
21:05:49 <ais523> if you don't want the loop to be a tight loop and block your program
21:05:57 <ais523> you can write a <= not a after 10 ns;
21:06:08 <ais523> then the loop only changes once every 10 nanoseconds, and you're fine
21:06:44 * AnMaster waits for lament comments on that
21:07:05 <AnMaster> lament, VHDL compiles to hardware
21:07:15 <lament> but what does a <= not a do?
21:07:57 <AnMaster> ais523, VHDL is event driven right?
21:08:07 <ais523> lament: delayed action assignment
21:08:25 <ais523> writing a <= b; b <= c; is equivalent to b <= c; a <= b;
21:08:40 <ais523> the assignments all happen at the end of the program/process
21:08:54 <ais523> immediate assignment is := but you aren't allowed to use it, except as local shorthand
21:09:16 <ais523> VHDL has lots of features that can't be synthesized into hardware
21:09:23 <ais523> they're fine on simulators, but you have to avoid them for synthesis
21:09:32 <ais523> this is why I think a VHDL->VHDL compiler would actually be highly useful
21:10:48 <ais523> the compiler warned me that it generated 6 copies of one of my variables
21:10:56 <AnMaster> ais523, I checked their website, it seems to be "contact for price"
21:10:56 <ais523> if you use a variable too much in VHDL, it overheats
21:11:07 <ais523> AnMaster: yep, if you have to ask, you can't afford it
21:11:07 <AnMaster> ais523, wow, sounds like an esolang
21:11:24 <ais523> so the compiler generated extra copies to spread the load around
21:11:27 <ehird> yeah, ask for price = this is too expensive for you
21:13:43 <AnMaster> ais523, and there seems to be an even more advanced product "Synplify Premier", which can handle ASIC too
21:14:05 <ais523> AnMaster: if you have any reason to be doing ASIC synthesis, then you can afford it
21:14:10 <ehird> I like the idea of using a variable too much overheating the "executable" :-)
21:15:04 <ais523> now let's see if this insane design fits on the processor
21:15:10 <ehird> see, I think vhdl synthesizers costing a lot makes sense
21:15:23 <ehird> it's a niche product and making it is extremely difficult
21:15:31 <AnMaster> "ESL synthesis" <-- don't know what that is, seems related to DSPs though
21:15:39 <ehird> and despite being niche, the people who need it really do need it
21:15:45 <ais523> you should try to implement mergesort using nothing but nested FOR loops sometime
21:15:52 <ais523> and no array indexes that can't be hard-coded
21:15:58 <ais523> after the loop's unrolled
21:16:14 <AnMaster> ais523, can't you use a sorting network if it is hardware?
21:16:28 <ais523> AnMaster: that's what it is
21:16:34 <ais523> this is the code for generating one
21:16:42 <ais523> and ugh, it seems my design is too complex to fit on the chip
21:17:14 <ais523> looks like I'll just have to cut down on some of the PRNGs
21:17:29 <ais523> I have sixteen 32-bit multipliers in there to provide test case data
21:17:35 <ais523> they must be taking up most of the chip, I reckon
21:17:35 <ehird> what are you doing
21:17:44 <ais523> ehird: project for University
21:17:50 <AnMaster> ehird, what irc gateway was it btw?
21:18:01 <ehird> ais523: what is it?
21:18:05 <ehird> AnMaster: I /msg'd the answer
21:18:12 <ehird> don't want to spoil anyone else's guessing :P
21:26:00 <ehird> ais523: would Verilog be easier?
21:26:02 <ais523> yay, Total Number 4 input LUTs: 2600 out of 3840
21:26:09 <ais523> and that was just deleting half the multipliers
21:26:20 <ais523> nowadays, VHDL and Verilog are the same lang with different syntax
21:26:24 <ais523> they started out very different
21:26:30 <ais523> but all features in one got added to the other, and vice versa
21:32:05 <ais523> Verilog wasn't even intended for synthesis, in the first place
21:32:11 <ais523> but for the construction of verifier testbenches
21:33:38 <ais523> and yay, the design wasn't too difficult to place in the end
21:33:45 <ais523> it only took the compiler 1 minute 47 seconds
21:33:52 <ais523> I've heard cases of it taking days
21:34:51 <ehird> ais523: does this like, actually print to hardware?
21:35:02 <ais523> although I don't have a JTAG cable on me atm
21:35:09 <ais523> nor a reprogrammable logic chip
21:35:14 <ais523> we can only book those out in working hours
21:35:23 <ehird> ais523: oh, so it just reprograms a generic thing?
21:35:31 <ehird> i want a CHIP PRINTER :|
21:35:39 <ais523> ehird: that's the ASIC stuff that AnMaster suggested
21:35:51 <ais523> but the typical price is about a million dollars setup cost
21:35:57 <ais523> plus 10 cents for each identical chip you make
21:36:07 <ais523> or up to maybe about 50 cents for complex ones
21:36:14 <ais523> if you make even a single change, that's another million dollars
21:36:40 <ehird> I want it, cheaper <_<
21:36:56 <ehird> a million dollars? Whaat
21:37:01 <ais523> there is some progress towards being able to generate arbitrary electronic components
21:37:05 <ehird> Do they do cold fusion or something?
21:37:06 <ais523> ehird: that's how much it costs to retool the factory
21:37:28 <ais523> I've heard there's progress towards printers which you fill with plastic n-type and p-type ink
21:37:33 <ais523> that can print transistors
21:37:40 <ais523> so maybe your wish will be fulfilled in the end
21:37:47 <ais523> at a rather higher unit price, but rather lower setup cost
21:38:26 <ehird> One day it shall be free :<
21:40:17 -!- Corun has quit ("This computer has gone to sleep").
21:42:44 <ais523> next problem: trying to figure out why a program for showing where everything was placed would trigger the firewall on the Windows computers here
21:47:01 <ais523> or some sort of automatic updates
21:48:49 <AnMaster> <ais523> ehird: that's how much it costs to retool the factory <-- what does a retool include?
21:48:59 <ehird> also, how big is this factory?
21:49:25 <ais523> I think they have massive foundries, but they produce more than one product at a time
21:49:36 <ais523> because you need a big assembly-line-type process
21:53:40 <AnMaster> ais523, but why does it cost 1 million, I mean...
21:53:56 <ehird> AnMaster: because you're making an actual chip.
21:53:58 <ehird> i mean, carbon and shit.
21:54:24 <AnMaster> but is it making some sort of "master" copies or something that cost?
21:54:34 -!- Judofyr has quit (Remote closed the connection).
21:55:07 <AnMaster> I mean, a lot of the actual tools wouldn't differ would they?
21:55:17 <ais523> AnMaster: yes, I think so
21:55:24 <ais523> the problem is trying to get all the photomasks into place
21:55:57 <AnMaster> ais523, how was it done back in the 1980s or so, because you wouldn't have as large batches back then
21:56:33 <ais523> AnMaster: my guess is much the same way, and the chips ended up more expensive as a result
21:56:44 <AnMaster> ais523, yet they were able to produce C64 and such?
21:56:53 <AnMaster> even though market was smaller
21:57:38 <AnMaster> just consider the sound chipset for it, to a modern sound chipset, surely the modern one has been produced in lot more copies
22:01:44 <ais523> I get a massively big circuit diagram I can look at
22:02:03 <ais523> and I can double click on a component, and it highlights a single instance of the word "if" in the source code, for instance
22:12:20 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
22:12:48 -!- puzzlet has joined.
22:13:45 -!- JohnWins has changed nick to MigoMipo.
22:20:04 -!- ais523_ has joined.
22:21:12 -!- olsner has joined.
22:22:08 -!- MigoMipo has left (?).
22:24:02 <ais523_> ehird: that's an interesting Unicode-art graph
22:24:07 <ehird> it's a unicode sparkline
22:24:12 <ais523_> btw, ohw do people here think Unicode art compares to ASCII art?
22:24:30 <ehird> http://en.wikipedia.org/wiki/Sparkline
22:24:39 <ehird> in this case, essentially a mini graph
22:25:19 <ehird> the unicode blocks are a bit ugly, but there you go
22:25:22 <ehird> i wrote a program to do it
22:26:59 <ais523_> heh, I just decompiled the resulting circuit into VHDL
22:27:13 <ais523_> with variable names like un75_prng_1_s_8_n_XORG
22:27:56 <ehird> whee, now it accepts input from stdin too
22:28:03 <ehird> lovely little 40-line hack.
22:28:33 <ehird> of course, unicode sparklines were someone elses idea and my script is almost identical to their(mozilla ubiquity)'s but there's not that many ways to implement this :P
22:28:50 <ehird> % seq 1 10 | sparkline
22:29:00 <ehird> now to make it scale M values into N values
22:29:05 <ehird> i.e., you can compress 1000 data points into 10
22:29:21 <ehird> just split the list every M values, and mean it up
22:29:27 <ehird> hmm, maybe that should go into another program
22:29:41 <ehird> % seq 1 1000 | squish 10 | sparkline
22:30:25 <ais523_> ah, skips every nth element?
22:30:34 <ais523_> oh, averages blocks of n elements
22:30:46 <ehird> hrmph, squish requires me to duplicate this code
22:30:48 <ehird> input = sys.argv[1:]
22:30:52 <ehird> input = re.split(r'\s+', sys.stdin.read().strip())
22:30:54 <ehird> numbers = map(float, input)
22:31:07 <ehird> since first arg is number to squish too
22:33:56 <ais523_> we should so make an esolang based on VHDL
22:34:01 <ais523_> even though it's arguably an esolang itself
22:34:58 -!- ais523 has quit (Read error: 110 (Connection timed out)).
22:39:31 -!- ais523_ has changed nick to ais523.
22:41:00 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
22:41:04 -!- puzzlet has joined.
22:42:23 <ais523> hmm... since when did <i> become a block element on Slashdot?
22:42:30 <ais523> OK, I get that it's unsemantic
22:42:41 <lament> my gtalk status line: Azure a Flatus volant Or
22:42:57 <ais523> lament: looks like a coat of arms description
22:47:06 <ehird> ais523: do you think squish(1) should expand values too?
22:48:19 <ais523> also, wouldn't the 1 2 be on stdin
22:48:21 <ehird> that's harder though :-)
22:48:24 <ais523> or can it take from stdin or arguments?
22:48:27 <ehird> if you omit the arguments, it reads from stdin
22:48:32 <ehird> same with sparkline(1)
22:48:39 * ehird tries to figure out how to do expansion easily
22:50:37 <ehird> % squish 3 1 2 3 4 | xargs echo
22:50:40 <ehird> I hate off by one errors
22:52:41 <ehird> ok, who has a bunchload of numbers they want turned into a sparkline?
22:52:51 -!- BeholdMyGlory has quit ("bye").
22:55:08 <Deewiant> ehird: http://www.eveandersson.com/pi/digits/1000000
22:55:33 <AnMaster> no idea how to implement it :(
22:55:53 <ehird> Deewiant: hee, sure
22:56:14 <Deewiant> and then http://antwrp.gsfc.nasa.gov/htmltest/gifcity/e.1mil
22:59:17 <AnMaster> http://filebin.ca/nastsa/pi_data.txt (16 million)
23:00:26 <AnMaster> http://ja0hxv.calico.jp/pai/epivalue.html <-- 100 billion... split over multiple files
23:00:36 <ehird> % curl http://www.eveandersson.com/pi/digits/1000000 2>/dev/null | python -c 'from BeautifulSoup import BeautifulSoup; import sys; print " ".join(list(BeautifulSoup(sys.stdin).pre.renderContents().replace("\n", "").replace("3.", "")))' | wc -w
23:00:45 <ehird> ok, now to | squish 100 | sparkline
23:01:05 <ehird> % curl http://www.eveandersson.com/pi/digits/1000000 2>/dev/null | python -c 'from BeautifulSoup import BeautifulSoup; import sys; print " ".join(list(BeautifulSoup(sys.stdin).pre.renderContents().replace("\n", "").replace("3.", "")))' | squish 100 | sparkline
23:01:07 <ehird> ▄▆▄▆▄▃▄▃▂▅▄▅▁▅▄▅▅▅▆▅▂▄▄▄▆▅▇▅▅▅▅▅▄▇▆▅▂▁▄▂▄▆▄▇▄▅▇▇▆▅▂▆▇▆▆▂▆▆▂▅▅▃▄▂▃▅▆▃▃▇▃▄█▅▄▂▆▆▄▇▃▅▄▇▅▆▂▆▆▄▄▃▂▆▆▆▅▃▁▄
23:01:11 <AnMaster> http://ja0hxv.calico.jp/pai/ee1value.html <-- e to 100 billion digits, again multiple files
23:01:11 <ehird> Deewiant: you're welcome.
23:01:15 <ehird> that python invocation is really ugly though.
23:01:26 <ehird> AnMaster: that's the first million digits of pi, graphed as a sparkline
23:01:30 <ehird> you know, what we've been discussing.
23:01:46 <ehird> Deewiant: conclusion: pi is random :P
23:01:46 <Deewiant> ehird: so how does that come out to less than a million characters
23:01:56 <ehird> Deewiant: | squish 100 |
23:01:56 <Deewiant> i.e. what does the squishing do
23:02:10 <Deewiant> ehird: yeah, but what's the transformation
23:02:11 <ehird> Deewiant: basically, it divides the input into the right amount of segments
23:02:16 <ehird> and runs mean on them
23:02:30 <ehird> % squish 5 1 2 3 4 5 6 7 8 9 10 | xargs echo
23:02:30 <ehird> 1.5 3.5 5.5 7.5 9.5
23:02:43 <ehird> (first arg is result length)
23:03:01 <AnMaster> ehird, links for these programs?
23:03:12 <Deewiant> right, so you preserve the arithmetic mean
23:03:13 <ehird> AnMaster: ~ehird/bin/{squish,sparkline}
23:03:28 <ehird> AnMaster: sure, after I've processed e
23:04:34 <ehird> the python invocation is ugly, but html scraping is ugly.
23:04:43 <AnMaster> <ehird> % squish 3 1 2 3 4 | xargs echo
23:04:43 <AnMaster> <ehird> 1 2 3 4 <-- why the xargs echo?
23:04:48 <ehird> AnMaster: because it outputs one per line
23:04:54 <ehird> since that's the unixy standard
23:05:23 <AnMaster> ehird, would you say sendmail is unixy?
23:05:41 <ehird> it doesn't exactly do one thing, and it doesn't exactly do it well.
23:05:54 <AnMaster> ehird, it is however traditional unix software
23:06:25 <ehird> plan 9 is the first system applying the unix philosophy to a reasonable degree
23:06:34 <ehird> AnMaster: it's a swiss army knife, and it's inconsistent with hte rest of the system
23:06:44 <ehird> Deewiant: here comes yer e sparkline
23:06:46 <AnMaster> ehird, indeed, command line argument format is weird
23:06:52 <ehird> % curl http://antwrp.gsfc.nasa.gov/htmltest/gifcity/e.1mil 2>/dev/null | python -c 'from BeautifulSoup import BeautifulSoup; import sys; print " ".join(list(BeautifulSoup(sys.stdin).hr.nextSibling.replace("e =", "").replace(" ", "").replace("\n", "").replace("2.", "")))' | squish 100 | sparkline
23:06:53 <ehird> ▄▂▃▄▄▁▁▄▄▄▄▂▃▄▄▁▂▃▂▆▂▃▅▄▇▄▂▅▅▅▃▄▃▂▅▃▂▃▄▅▄▁█▅▃▂▄▅▁▄▄▄▄▄▃▃▁▄▄▅▃▃▅▆▄▃▄▄▅▄▂▂▃▄▄▄▃▄▂▅▂▄▄▇▅▅▄▅▄▆▃▄▆▄▄▃▃▃▅▅
23:06:57 <ehird> conclusion: e is also random.
23:07:27 <ehird> squish gives _all_ 4s
23:07:32 <ehird> 4.5119 4.4689 4.481 4.5036 4.5132 4.4527 4.4554 4.5137 4.5147 (...)
23:07:39 <ehird> I wonder why? that's very odd.
23:07:46 <AnMaster> ehird, did it do so for pi too?
23:08:26 <AnMaster> anyway please pastebin sparkline?
23:08:32 <ehird> I don't think it's a bug, % seq 1 1000 | squish 100 works fine
23:08:37 <ehird> I guess it's just an odd numerical property o_O
23:08:42 <ehird> AnMaster: yes, I will in a bit
23:08:46 <ehird> Deewiant: is it? elaborate :P
23:09:03 <Deewiant> and we've got stuff in the range 0-9 randomly distributed
23:09:21 <ehird> one thing that saddens me about squish/sparkline
23:09:29 <ehird> is that there's one piece of almost identical code in them :P
23:09:37 <ehird> input = sys.argv[1:]
23:09:38 <Deewiant> ehird: make a library out of it
23:09:41 <ehird> input = filter(None, re.split(r'\s+', sys.stdin.read().strip())) or [0]
23:09:43 <ehird> numbers = map(float, input)
23:09:49 <ehird> input = sys.argv[2:]
23:09:50 <AnMaster> ehird, command line parsing you mean
23:09:53 <ehird> input = filter(None, re.split(r'\s+', sys.stdin.read().strip()))
23:09:55 <ehird> numbers = map(float, input)
23:09:57 <ehird> Deewiant: surely too small for that
23:09:59 <ehird> I don't want to tell people "Also, download this lib."
23:10:01 <ehird> AnMaster: not really
23:10:03 <ehird> just "give me inputs from arguments or stdin"
23:10:22 <Deewiant> ehird: doesn't python have some kind of magical library installation tool
23:10:23 <ehird> Deewiant: % curl http://blahblah -O blah; blah
23:10:50 <MizardX> re.split(r'\s+', sys.stdin.read().strip()) == sys.stdin.read().strip().split()
23:10:54 <Deewiant> 5 SLOC times 100 projects is 500 SLOC
23:11:13 <ehird> MizardX: does that split on all whitespace?
23:11:33 <ehird> MizardX: what about the filter(None, ) ugliness?
23:11:39 <ehird> it's to stop empty inputs giving ['']
23:13:13 <MizardX> (w for w in sys.stdin.read().strip().split() if w) ... maybe better with filter
23:13:31 <ehird> yeah, I'll just put it in a library if I ever expand it
23:13:51 <ehird> I should probably run slocc or something on them instead.
23:14:11 <MizardX> [ float(w) for w in sys.stdin.read().strip().split() if w ]
23:14:30 <ehird> nah, the float mapping is after to not duplicate it per input source
23:14:54 <AnMaster> ehird, download link? going brb in a sec
23:15:08 <ehird> AnMaster: sheesh, be patient
23:16:18 <MizardX> strip().split() does not leave any empty elements
23:16:43 <ehird> there, that's better
23:17:00 <ehird> Fewer numbers (1) than the target amount (3)!
23:17:13 <ehird> I probably need a squap or something to expand.
23:17:21 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
23:18:12 -!- puzzlet has joined.
23:18:35 <MizardX> What's the first argument for?
23:19:02 <ehird> MizardX: target numbers
23:19:12 <ehird> squish N means "squish the values I give you into N values"
23:19:22 <ehird> % seq 1 100 | squish 10 | xargs echo
23:19:22 <ehird> 5.5 15.5 25.5 35.5 45.5 55.5 65.5 75.5 85.5 95.5
23:20:29 <MizardX> oh, {ehird} (first arg is result length)
23:21:03 <MizardX> I was confused by % squish 5 1 2 3 4 5 6 7 8 9 10 | xargs echo -> 1.5 3.5 5.5 7.5 9.5
23:21:17 <ehird> mostly you'll give it stuff via stdin
23:21:37 <ais523> ehird: xargs echo? that's clever
23:21:42 <ais523> normally I do that using tr
23:22:10 <ais523> seems like an utter abuse of xargs
23:22:25 <ehird> % seq 1 100 | squish 10 | xargs
23:22:25 <ehird> 5.5 15.5 25.5 35.5 45.5 55.5 65.5 75.5 85.5 95.5
23:23:21 <MizardX> xargs = print sys.stdin.read().strip().split() :)
23:23:35 <ais523> on DJGPP, xargs does weird stuff to avoid ever passing the arguments directly
23:23:40 <ais523> due to the command-line length limit
23:23:43 <ehird> xargs = print ' '.join(sys.stdin.read().strip().split('\n'))
23:23:50 <ehird> or rather, xargs echo
23:23:53 <ehird> ais523: it's not an abuse
23:24:03 <ehird> we have values on multiple lines, and we want to give them as arguments to one command - echo
23:24:07 <ehird> that is what xargs is for
23:24:12 <ehird> xargs defaulting to echo is just even more convenient
23:24:19 <ehird> MizardX: and splitting on '\n'
23:24:21 <ais523> I see xargs as passing file lists to things, specifically
23:24:33 <ehird> ais523: then you see wrong
23:24:37 <ehird> xargs -- construct argument list(s) and execute utility
23:24:39 <AnMaster> ais523, nah, you use -exec to find
23:24:44 <ehird> MizardX: hmm actually xargs splits on all whitespace
23:24:50 <AnMaster> considering newlines in filenames
23:25:00 <ehird> yeah I put newlines in my filenames all the time.
23:25:13 <ais523> ehird: does `printf "ab cd\nef gh" | xargs ls` list the files "ab cd" and "ef gh"
23:25:17 <AnMaster> ehird, if I want to run a script as root to clean out /tmp
23:25:19 <ais523> or the 4 files ab cd ef gh?
23:25:35 <ais523> ehird: something's wrong, then
23:25:43 <ehird> it splits on all whitespace
23:25:50 <AnMaster> since I often need to work on files with spaces in them
23:26:05 <ais523> ehird: so why are you explicitly splitting on \n in your program above
23:26:15 <ais523> AnMaster: so do I, mostly trying to deal with Windows program URLs via Wine
23:26:16 <ehird> ais523: 23:24 <ehird> MizardX: hmm actually xargs splits on all whitespace
23:26:26 <ais523> anyway, I have to go now
23:26:32 <ais523> or I'll miss the last bus
23:26:39 -!- ais523 has quit.
23:27:59 <ehird> Deewiant: any other numbers you want graphed?
23:28:13 <ehird> ooh, I should graph the size of the IRC logs in #esoteric
23:31:26 <ehird> from 03.01.17 to 08.10.31:
23:31:27 <ehird> % wc -c *.*.* | head -n -1 | perl -pe's/\s+(\d+).*/$1/' | squish 100 | sparkline
23:31:28 <ehird> ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▁▂▂▂▂▂▃▁▁▁▂▂▁▁▁▁▂▁▁▃▃▂▂▂▁▁▄▃▂▂▃▂▁▂▂▄▅▄▃▂▃▃▂▃▄▄▃▆▅▄▃▄▆▇▇▆▆█
23:31:39 <ehird> conclusion: this place only gets more active over time.
23:32:16 <ehird> tl;dr 10-length version: ▁▁▁▁▂▂▃▄▄█
23:33:23 <ehird> tl;dr 2-length comedy version: ▁█
23:38:31 <MizardX> def chunked(iterable,size): return itertools.izip(*[iter(iterable)]*size) ... print ' '.join(str(1.0 * sum(chk) / len(chk)) for chk in chunked((float(x) for x in sys.argv[2:] or sys.stdin.read().strip().split()),int(sys.argv[1])))
23:38:32 <ehird> whoaaaa ,this looks awesome: http://pastie.org/362943.txt
23:38:39 <ehird> MizardX: ok, and ? :
23:38:48 <ehird> your chunking fails
23:38:53 <ehird> as it doesn'taccount non-divisible lengths
23:39:14 <ehird> so... mine is more elegant, works better, and is probably faster :-P
23:41:17 <ehird> p.s. i generated that arrow like this
23:41:17 <ehird> for i in `seq 20`; do (seq $i; seq $i | tac) | sparkline; done; for i in `seq 20 | tac`; do (seq $i; seq $i | tac) | sparkline; done
23:51:40 <ehird> Deewiant: i just read one of your reddit comments!
23:51:43 <ehird> everyone should stop internet-stalking me
23:52:19 <ehird> i'd tell you, but it'd be annoyingly tedious and you wouldn't understand.
23:53:41 <psygnisfive> i get that you're graphing channel activity
23:53:47 <psygnisfive> i was more nterested in what you're using to do it
23:54:00 <ehird> wc(1), squish(1) and sparkline(1)
23:54:15 <ehird> the latter two I wrote myself
23:54:28 <ehird> also, the pastie link I gave is just to some random arty thing I made with it
23:54:30 <ehird> not channel activity
23:55:42 <ehird> http://www.noteflight.com/scores/view/2177201ae448ab894682b16d557f5544fb678e7b
23:58:55 <psygnisfive> and i presume wc, squish, and sparkline are run in the shell?
23:59:22 <AnMaster> if not I'm going to bed in a second
00:02:08 <ehird> psygnisfive: no shit
00:03:22 <psygnisfive> i mean what languages/tools do you use to achieve it
00:03:51 <ehird> AnMaster: not yet :D
00:04:00 <ehird> psygnisfive: Python or whatever.
00:04:08 <AnMaster> ehird, well can you paste it in /msg so I can read it tomorrow then?
00:04:18 <ehird> what, you can't read the logs? :P
00:04:41 <psygnisfive> if you use python, how do you hook into IRC?
00:04:44 * AnMaster need to go to buy some more logs at the mall tomorrow
00:07:07 <ehird> psygnisfive: a network connection.
00:07:13 <ehird> do you know anything about programming...?
00:09:15 -!- KingOfKarlsruhe has quit (Remote closed the connection).
00:09:27 <psygnisfive> yes, ehird, i know plenty about programming. :P
00:09:41 <psygnisfive> i DONT know about using python to connect to an IRC server
00:09:50 <ehird> learn about network programming.
00:09:53 <ehird> then, learn the irc protocol.
00:09:56 <ehird> then put the two together.
00:10:26 <psygnisfive> an appropriate answer from you would be something more like "I use the so and so class to handle the communication with the server"
00:10:27 <ehird> psygnisfive: do you know how to IRC over telnet?
00:10:47 <ehird> I write/read the IRC protocol to a socket because it's trivial and wrapping irc only leads to pain along the line.
00:11:25 <ehird> psygnisfive: do you know how to irc over telnet?
00:11:48 <ehird> psygnisfive: open a shell.
00:11:48 <ehird> telnet irc.freenode.net 6667
00:11:59 <ehird> USER blahblah * * :foo baz
00:12:10 <ehird> PRIVMSG #esoteric :HELLO
00:13:25 <ehird> psygnisfive: at which part?
00:13:59 <psygnisfive> NOTICE AUTH :*** Looking up your hostname...
00:14:03 <psygnisfive> NOTICE AUTH :*** No identd (auth) response
00:14:05 <psygnisfive> ERROR :Closing Link: 127.0.0.1 (Connection Timed Out)
00:14:17 <ehird> psygnisfive: you typed too slowly
00:14:19 <ehird> type the USER/NICK lines faster
00:14:26 <ehird> the login procedure is timed
00:14:28 <ehird> the rest isn't though
00:14:36 <psygnisfive> oh i didnt realize that that was the "prompt" so to speak.
00:15:12 <psygnisfive> what are the parts of USER blah blah * * :foo baz?
00:15:22 <ehird> it's USER blahblah * * :foo baz
00:15:27 <ehird> psygnisfive: do it first, then you'll se
00:16:24 <ehird> psygnisfive: well?
00:16:46 <psygnisfive> NOTICE AUTH :*** Looking up your hostname...
00:16:46 <psygnisfive> NOTICE AUTH :*** Found your hostname, welcome back
00:16:47 <ehird> psygnisfive: copy the shell session and paste it here
00:16:50 <psygnisfive> NOTICE AUTH :*** No identd (auth) response
00:16:54 <psygnisfive> ERROR :Closing Link: 127.0.0.1 (Connection Timed Out)
00:17:02 <ehird> psygnisfive: start typing as soon as you hit enter on the telnet
00:17:05 <ehird> you don't have to wait for the server lines
00:17:25 -!- blahblahfoo has joined.
00:17:34 <ehird> blahblahfoo: HELLO TO YOU TOO
00:17:55 <ehird> psygnisfive: do a /whois blahblahfoo in your regular client
00:17:57 <blahblahfoo> ... I'm anmaster... look it works, same lines you pasted ehird. So well
00:18:34 <ehird> he just succeeded, dumbass
00:18:37 -!- blahblahfoo has quit (Client Quit).
00:18:49 <AnMaster> * blahblahfoo (n=blahblah@d90-130-2-10.cust.tele2.se) has joined #esoteric
00:19:05 <ehird> sooo, psygnisfive try again: P
00:19:10 <AnMaster> psygnisfive, also if you fail at it you are pasting too fast or too slow
00:19:32 <ehird> being condescending is not helpful, unless you're microsoft.
00:19:55 <psygnisfive> darryl-mcadamss-macbook-pro-15:~ darrylmcadams$ telnet irc.freenode.net 6667
00:19:57 <psygnisfive> USER blahblah * * :foo bazConnected to chat.freenode.net.
00:20:00 <AnMaster> ehird, how it is helpful if you are MS?
00:20:01 <psygnisfive> USER blahblah * * :foo bazNOTICE AUTH :*** Looking up your hostname...
00:20:03 <psygnisfive> NOTICE AUTH :*** Found your hostname, welcome back
00:20:07 <psygnisfive> NOTICE AUTH :*** No identd (auth) response
00:20:09 <psygnisfive> ERROR :Closing Link: 127.0.0.1 (Connection Timed Out)
00:20:12 <ehird> psygnisfive: where's the NICK line.
00:20:29 <ehird> 00:11 <ehird> type this in:
00:20:29 <ehird> 00:12 <ehird> USER blahblah * * :foo baz
00:20:30 <ehird> 00:12 <ehird> NICK blahblahfoo
00:20:32 <ehird> 00:12 <ehird> JOIN #esoteric
00:20:34 <ehird> 00:12 <ehird> PRIVMSG #esoteric :HELLO
00:21:19 <ehird> i see no blahblahfoo in here.
00:21:21 <ehird> have you done the other lines?
00:21:22 <AnMaster> psygnisfive, also read RFC 1459, though no one obey it
00:21:28 <ehird> don't read rfc 1459.
00:21:45 -!- augur_ has joined.
00:22:29 <AnMaster> though he fails to type when his input seems to get overwritten I bet
00:22:43 <ehird> AnMaster: fuck off if you're just going to talk about how much of an idiot he is, please
00:23:32 <ehird> psygnisfive: so, now you've seen:
00:23:38 <ehird> how to send a message
00:23:39 * AnMaster is testing his bnc "don't part channel ever"
00:23:44 <ehird> what received messages look like
00:23:47 <ehird> AnMaster: nope, you didn't
00:23:53 <AnMaster> ehird, great it works finally _D
00:24:02 <ehird> psygnisfive: open a tcp socket to irc.freenode.net, port 6667
00:24:09 -!- augur_ has quit (Remote closed the connection).
00:24:10 <ehird> print the connection lines, including a join
00:24:18 <ehird> then just use a regexp to match the incoming message lines as you see
00:24:22 <ehird> and react with matching privmsgs
00:24:28 <ehird> btw, it's USER ident * * :realname
00:24:35 <ehird> is what the USER command does
00:24:37 <AnMaster> ehird, those * have meaning though
00:24:41 <ehird> AnMaster: not really
00:24:45 <ehird> in the newer irc rfc, yes.
00:24:49 <ehird> in the older one, everyone ignores them.
00:24:52 <AnMaster> <username> <hostname> <servername> <realname>
00:24:55 <ehird> net result is it's best to leave them as *
00:25:03 <ehird> but you value standards over things that actually work, I realise
00:25:14 <psygnisfive> if i get around to coding my little language, i will create a bot for it
00:25:20 <AnMaster> I was just pointing out that they have meaning
00:25:41 <ehird> make sure to pick an obscure bot prefix :P
00:25:46 <ehird> say, $$ or something
00:26:03 <ehird> psygnisfive: fgsfds
00:26:42 <ehird> % (seq 10 | tac; seq 10) | sparkline
00:26:42 <ehird> █▇▆▅▄▄▃▂▁▁▁▁▂▃▄▄▅▆▇█
00:26:57 <psygnisfive> i find it mildly humorous that theres a book on tree-based automata called "tata"
00:27:20 <AnMaster> ehird: (for i in 1 2 3; do seq 10 | tac; seq 10; done) | sparkline
00:27:56 <ehird> AnMaster: ok, now make it cycle around and do a clear each time :-)
00:28:12 <AnMaster> ehird, well pastebin the result?
00:28:27 <ehird> % (for i in 1 2 3; do seq 10 | tac; seq 10; done) | sparkline
00:28:28 <ehird> █▇▆▅▄▄▃▂▁▁▁▁▂▃▄▄▅▆▇██▇▆▅▄▄▃▂▁▁▁▁▂▃▄▄▅▆▇██▇▆▅▄▄▃▂▁▁▁▁▂▃▄▄▅▆▇█
00:28:39 <ehird> just making that cycle around + clear should make waves
00:29:03 <ehird> AnMaster: using seq,
00:29:10 <ehird> (seq END is seq 1 END)
00:29:22 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)).
00:29:26 <AnMaster> ehird, you need to move the start/end one to the left each time
00:29:52 <AnMaster> well I won't try write it unless you paste your sparkline program
00:30:27 -!- bsmntbombdood has joined.
00:30:41 <AnMaster> so night really now, I need to sleep
00:30:46 <ehird> % j=1;while true; do (for i in 1 2 3; do seq $j $((j+10)) | tac; seq $j $((j+10)); done) | sparkline; j=$((j+1)); done
00:30:52 <ehird> since it just outputs the same thing all the time
00:31:06 <AnMaster> ehird, can't help you debug it without the script
00:31:20 <ehird> the script has defined behaviour that you already know, so no you don't nede the script :P
00:31:30 <AnMaster> ehird, also I pasted the irc log example in another channel, they thought it was really cool
00:31:45 <AnMaster> if you put it up you should reddit!
00:31:50 <ehird> you mean ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▁▂▂▂▂▂▃▁▁▁▂▂▁▁▁▁▂▁▁▃▃▂▂▂▁▁▄▃▂▂▃▂▁▂▂▄▅▄▃▂▃▃▂▃▄▄▃▆▅▄▃▄▆▇▇▆▆█?
00:31:52 <ehird> yeah, that one looks nice
00:31:59 <AnMaster> ehird, yeah think it was that one
00:32:08 <ehird> which channel btw?
00:32:11 <AnMaster> <~Lapper> That is pretty damn cool.
00:32:18 <AnMaster> ehird, private channel on another network
00:32:40 <ehird> i visited one of them once, till i realised i didn't like anyone there
00:33:11 <ehird> such a channel yeah
00:33:19 <ehird> except anyone there is allowed to invite anyone else
00:33:23 <ehird> one problem with sparkline(1) is that, well, you only have 8 different heights of bar
00:33:26 <ehird> due to unicode only having that many
00:33:36 <ehird> i might make it so that it can stack them
00:33:38 <ehird> i.e. use multiple lines
00:33:46 <ehird> so it doubles per line :P
00:34:11 <ehird> it'll just be something like
00:34:38 <ehird> AnMaster: for width just use squish on the values first
00:34:54 <AnMaster> ehird, now can I try the current version please?
00:35:05 <ehird> sheesh, fine I'll link you a paste in privmsg :D
00:35:11 <ehird> (and it's secret because it's fun being secret :D)
00:35:25 <AnMaster> ehird, I hate xmas because everyone is secret
00:49:14 <psygnisfive> a friend has said something about this: http://www.99-bottles-of-beer.net/language-malbolge-995.html
00:49:32 <psygnisfive> namely, that the odd striations look like a 1D CA's evolution
00:49:55 <ehird> it's just coincidence though
00:50:00 <ehird> just how malbolge works
00:50:10 <ehird> This pattern (diagonal lines of characters roughly parallel to y = -x) is not a feature of the code.
00:50:11 <ehird> My programming method uses many "NOP" intructions,
00:50:13 <ehird> that is why the pattern will occur corresponding to the specification of Malbolge.
00:50:28 <psygnisfive> but... i challenge you to design a 1D CA who's time evolution infact generates valid malbolge code. :D
00:50:29 -!- adimit has joined.
00:51:27 <adimit> I think BF might be easier/more natural to a CA though. Malbogle has too many characters, and CAs actually only have two 'characters'
00:52:19 <adimit> right, but having a CA with that many cell states might prove... well, more difficult.
00:52:42 <psygnisfive> adimit, this is #esoteric. more difficult is half the fun!
00:54:25 <adimit> sorry, I'm new to the game :-)
00:55:07 <psygnisfive> or which esolang do you write the most code in
00:55:22 <ehird> favourite: Underload or Unlambda, probably
00:55:28 <ehird> most written: probably underload with fungot here
00:55:29 <fungot> ehird: come, come to an endangered species... both of us... it'd be sad about? you don't have anywhere or anyone to go to work, back to life at some time...
00:55:55 <fungot> psygnisfive: right, cloud.... too? with super glue? oh, i'm pissed! i doubt shinra will attack now.
00:56:10 <fungot> Available: agora alice darwin discworld europarl ff7* fisher ic irc lovecraft pa speeches ss wp
00:56:11 <psygnisfive> i think i understand him better than i do finnegans wake
00:56:15 <fungot> Selected style: fisher (Fisher corpus of transcribed telephone conversations)
00:56:23 <ehird> psygnisfive: oh man. fizzie: PUT FINNEGAN'S WAKE INTO FUNGOT!
00:56:26 <fungot> ehird: you know for yourself whatever and i said this is what i heard as well
00:56:57 <ehird> adimit: btw, here's your initiation goat, sacrifice it: http://zem.fi/~fis/fungot.b98.txt
00:56:58 <fungot> ehird: i'm in kentucky my name is rhea noise yeah
00:57:00 <ehird> (that's the source to fungot)
00:57:01 <fungot> ehird: and that's it and um they're back in school and everything i i'm sure glad i don't live like where my parents live in pittsburgh but i live in
00:57:21 <ehird> ^ul (it also interprets underload)S
00:57:21 <fungot> it also interprets underload
00:58:05 <ehird> i take it you haven't seen mycology
00:58:20 <ehird> psygnisfive: http://users.tkk.fi/~mniemenm/files/befunge/mycology/mycology.zip
00:58:28 <ehird> and gape in awe at Deewiant's insanity
00:58:48 <psygnisfive> whats mycology?? is that one of his esolangs?
00:58:52 <adimit> ehird: what? is? that?
00:59:01 <ehird> psygnisfive: mycology is a test suite for befunge 98, same language fungot is written in
00:59:02 <fungot> ehird: it would drive me absolutely nuts i could never move anywhere the traffic would drive me crazy but uh uh
00:59:04 <ehird> it tests just about everything
00:59:13 <ehird> adimit: the befunge-98 source code to the fungot irc bot!
00:59:22 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
00:59:43 <ehird> heh, guess he never got that working
01:00:33 <adimit> I was actually writing an IRC bot in Prolog once, but that's not nearly half as fun as this thing...
01:00:47 <adimit> the prolog source was actually readable.
01:00:50 <ehird> i tried to write one in forth, but then I killed myself
01:02:20 <adimit> I actually didn't pull through the prolog project either. The threading stuff was quite weird. But I started from scratch again, maybe I'll finish it someday. ##compling needs a better bot.
01:03:05 <psygnisfive> compling needs a bot that doesnt mention chomsky being cunnilingual every time you say "syntax"
01:03:23 <psygnisfive> whats the purpose of the compling bot anyway
01:03:49 <adimit> well, DrNI just put it online sometime. It doesn't have a purpose. I regularly kick it out if it gets on my nerves.
01:04:14 <adimit> I was going to write one in Haskell, but there already is one..
01:05:05 <adimit> does fungot have BF interpreter?
01:05:05 <fungot> adimit: yeah there here in arkansas it was the classics you know there were no
01:05:41 <adimit> fungot: that sounds an awful lot like Mr. Markov spinning in his grave...
01:05:41 <fungot> adimit: great great great while um i even did weightlifting for a while i like a lot
01:09:57 <psygnisfive> i once made a markov chain word generator that would take a sample test and use it the analyze the form of words with parameterized length of the string of letters that's used to predict the next letter in the word.
01:10:16 <psygnisfive> occasionally it'd reinvent an existing word that wasn't in its input data.
01:29:58 -!- FireFly has quit ("Later").
01:41:13 -!- wkqwl has joined.
01:41:26 -!- wkqwl has set topic: tune into buttplugs and shitty ass languages!.
01:41:44 -!- wkqwl has changed nick to wkqlqw.
01:42:46 -!- wkqlqw has changed nick to dviakawe.
01:43:06 <psygnisfive> please change the topic back to include the link to the logs.
01:44:06 <psygnisfive> dviakawe, are you randomly following me? lol
01:44:25 <dviakawe> looking for channels without +t
02:00:26 -!- dviakawe has quit (Connection reset by peer).
02:01:32 <bsmntbombdood> i think it's because gnu dc 1) doesn't optimize tail-recursion, and 2) doesn't use the hardware stack for recursion
03:40:19 -!- puzzlet has quit (Remote closed the connection).
03:40:27 -!- puzzlet has joined.
04:05:41 -!- puzzlet has quit (Remote closed the connection).
04:05:49 -!- puzzlet has joined.
04:07:54 -!- Corun has joined.
04:57:35 -!- Corun has quit ("This computer has gone to sleep").
05:24:31 <bsmntbombdood> hey guys optimize this function: http://pastebin.ca/1310636
05:25:46 <kerlo> I don't like optimizing code that isn't referentially transparent.
05:26:40 <bsmntbombdood> it's pointless to optimize code that's referentially transparent.
05:26:53 <bsmntbombdood> because interpreting it is going to be slow as hell anywa
05:27:23 <kerlo> Isn't that why you compile it instead?
05:58:29 -!- puzzlet has quit (Remote closed the connection).
05:58:37 -!- puzzlet has joined.
06:11:45 <MizardX> bsmntbombdood: Does mpz_init_set_str need a '\0'? Does it modify the input? Otherwise you could just give it *input.
06:14:33 <MizardX> bsmntbombdood: If mpz_init_set_str does need a '\0', I'd change it to need a length-argument instead. Then you'd just need to calculate how long the number is...
06:15:23 <bsmntbombdood> mpz_init_set_str does need the '\0', but i think putting the '\0' in input would be ok
06:15:47 <MizardX> Was going to suggest that as a last possibility :P
06:31:41 <MizardX> Even if you change it back when you're done?
06:35:00 <MizardX> Is mpz_init_set_str your own function? Maybe create a new mpz_init_set_strn(mpz_t* obj, char* str, int len, int base) ?
06:37:41 <MizardX> How about you count the number of digits, allocate just that amount (+1 for '\0'), and use strncpy?
06:37:45 -!- oerjan has joined.
06:39:22 <MizardX> What does GETC do except *(*x++) ?
06:54:08 <oerjan> <AnMaster> it should have transactions
06:57:25 <oerjan> "Ristet brød er nemt at lave, blot man vil erindre, at når det oser, skal det have to minutter mindre." - Piet Hein
06:58:05 * oerjan wishes the web could agree with itself on how to spell that quote
07:08:56 <oerjan> <ehird> everyone should stop internet-stalking me
07:10:01 -!- Slereah_ has quit.
07:10:42 <oerjan> finest handcrafted wooden irc bots
07:31:23 -!- Slereah has joined.
07:41:09 -!- puzzlet has quit (Remote closed the connection).
07:41:16 -!- puzzlet has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:14:33 -!- MigoMipo has joined.
08:40:14 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
08:42:10 -!- puzzlet has joined.
08:57:44 -!- Mony has joined.
08:58:23 <AnMaster> <oerjan> "Ristet brød er nemt at lave, blot man vil erindre, at når det oser, skal det have to minutter mindre." - Piet Hein <-- translation?
08:58:36 * AnMaster is too sleepy to be able to parse Norwegian
08:59:43 <AnMaster> rosen bread is "nemt at lave", but we want to remind, when it "oser", it shall have two minutes less?
09:08:09 -!- MigoMipo has left (?).
09:09:18 -!- moozilla has joined.
09:21:58 -!- qwertyxxxxllll has joined.
09:32:38 <oerjan> AnMaster: actually it's danish
09:33:23 <oerjan> toast is easy to make, as long as you remember, when it's smoking, it needs two minutes less
09:34:39 <oerjan> bus, or possibly haircut ->
09:34:43 -!- oerjan has quit ("leaving").
09:35:30 <AnMaster> he can't use "->", he isn't from .fi...
09:37:53 <AnMaster> Slereah, hm, nop, it is more like if someone would ask (in German) for directions to Trafalgar Square while being located in Paris.
09:38:43 <Slereah> Hey, this is the internet.
09:38:48 <Slereah> We've got international flavor.
09:42:06 <AnMaster> Slereah, you don't think it would be a good idea to ask that in Paris?
09:42:07 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
09:42:35 <Slereah> Only because people would not understand
09:42:41 <Slereah> But here, we totally understand
09:43:11 <AnMaster> Slereah, what about "as above, but 2 years after the end of the second world war"?
09:43:41 <Slereah> Was there an internet war here?
09:43:42 -!- oklopol has quit (Read error: 54 (Connection reset by peer)).
09:44:06 -!- oklopol has joined.
09:45:55 <Slereah> AnMaster, remember the wisdom of VIP quality :
09:45:56 <Slereah> http://membres.lycos.fr/bewulf/Divers7/Take%20it%20easy.jpg
09:46:22 -!- M0ny has joined.
09:46:42 <AnMaster> Slereah, interesting pic, but I fail to see what the figures are supposed to be
09:47:19 <Slereah> Don't you know the 2channel kittens?
09:47:32 <Slereah> http://membres.lycos.fr/bewulf/Divers7/50GET.jpg
09:47:42 <Slereah> Do you know 4chan, AnMaster?
09:48:05 <Slereah> 2channel is sort of the grandfather of 4chan.
09:48:15 <Slereah> It's an anonymous BBS is Japan.
09:48:25 <Slereah> And the biggest motherfucking forum in the world :o
09:48:32 <AnMaster> I have run into /b/tards on irc. Horrible.
09:48:59 <AnMaster> you are an /b/tard? In that case I have seen much worse
09:50:38 <Slereah> Since 2channel was a textboard, the memes could not be in pictures.
09:50:56 <Slereah> So there's a shitload of ASCII (or, more accurately, SJIS) art for it.
09:51:56 <Slereah> Such as this little fellow here : http://membres.lycos.fr/bewulf/Divers7/Shii.jpg
09:52:22 <Slereah> You may remember her from this : http://www.albinoblacksheep.com/flash/shii
09:52:34 <Slereah> I sure do, 'cause it was my first contact with chan culture :o
09:52:54 <AnMaster> Slereah, from "missing plugin"?
09:53:57 <Slereah> You can get a .mp4 here : http://keepvid.com/save-video.mp4?http%3A%2F%2Fwww.youtube.com%2Fget_video%3Fvideo_id%3DirF5fEMixng%26t%3DOEgsToPDskJ7hZfQUZ2c0P1OfX12Ahra%26fmt%3D18
09:54:39 <AnMaster> well a youtube link I could play anyway. There is no need for flash for that. You can use mplayer if you know how.
09:55:03 <Slereah> Well, it's the .mp4 of a youtube video
09:56:20 <Slereah> Youtube link is : http://fr.youtube.com/watch?v=irF5fEMixng
09:56:21 <AnMaster> VIDEO: [avc1] 320x240 24bpp 29.970 fps 0.0 kbps ( 0.0 kbyte/s)
09:57:13 <AnMaster> Slereah, btw isn't that the awful "hello kitten" thing? It looks very similar anyway.
09:57:43 <Slereah> It's just how it was rendered from the bunch of characters that makes up the original
09:58:13 <Slereah> That's why you'll see one with a russian D for a mouth.
10:00:40 <Slereah> http://en.wikipedia.org/wiki/De_(Cyrillic)
10:04:08 -!- Mony has quit (Read error: 110 (Connection timed out)).
10:04:49 -!- M0ny has changed nick to Mony.
10:09:26 -!- puzzlet has quit (Remote closed the connection).
10:09:30 -!- puzzlet has joined.
10:16:49 <Slereah> Is there a good free program to screencap videos?
10:17:01 <Slereah> Because I know there's none for flash to video
10:25:12 <oklopol> oooooooooooooooooooooooooooo
10:25:23 <oklopol> oooooooooooooooooooooooooooo
10:25:51 <Slereah> Man, I got a video out, but no sound :(
10:27:04 <oklopol> link to logs to the topic plz.
10:27:28 -!- Mony has quit ("reboot xchat").
10:28:12 -!- Mony has joined.
10:28:25 -!- Mony has quit (Read error: 104 (Connection reset by peer)).
10:34:32 -!- Mony has joined.
10:36:30 -!- Mony has quit (Client Quit).
10:37:38 -!- Mony has joined.
10:37:50 -!- Mony has quit (Read error: 104 (Connection reset by peer)).
10:38:58 -!- Mony has joined.
10:45:36 -!- KingOfKarlsruhe has joined.
10:46:58 -!- puzzlet has quit (Remote closed the connection).
10:47:05 -!- puzzlet has joined.
10:51:55 -!- Mony has quit ("Quit").
10:52:50 -!- Mony has joined.
10:59:17 -!- Mony has quit ("Quit").
11:00:25 -!- FireFly has joined.
11:00:56 -!- Mony has joined.
11:10:25 <AnMaster> I can't get google to convert australian dollars
11:10:52 <AnMaster> USD -> SEK works, but AUD doesn't
11:25:57 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
11:37:17 -!- Judofyr has joined.
11:44:59 -!- qwertyxxxxllll has left (?).
12:00:11 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
12:00:16 -!- puzzlet has joined.
13:13:44 <oklopol> was fun talking to you, but now shoppe time ->
13:15:28 -!- decipher has quit (kornbluth.freenode.net irc.freenode.net).
13:15:44 -!- decipher has joined.
13:17:50 -!- moozilla has quit (Read error: 110 (Connection timed out)).
13:57:52 <Deewiant> woot, Language::Befunge now runs mycology in 18 seconds!! http://jquelin.blogspot.com/2009/01/how-to-shave-10-speed.html
14:05:57 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
14:18:37 <olsner> so what's the mycology speed record?
14:23:12 * oklopol considers running it manually
14:23:39 <olsner> oklopol: make sure you pass the test suite first
14:23:55 <olsner> would be a shame to waste that week doing it all wrong
14:28:57 <oklopol> well i ran sanity.bf already
14:29:21 <oklopol> i wanna make a befunge interp now :<
14:40:03 <Asztal> there's a part of mycology where it invokes the 'y' instruction 675 times (to test the timer fingerprint)
14:40:17 <Asztal> I bet that would get old quickly
14:40:48 <olsner> hmm, so what happens if you forget a couple of hundred 'y's?
14:42:08 <Asztal> apparently it just discards the values that y pushes
14:42:38 <Asztal> I guess if you were doing it by hand you could optimise it :)
14:50:48 -!- sebbu2 has joined.
14:56:13 -!- oerjan has joined.
15:02:44 <oklopol> ¨ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
15:03:21 <AnMaster> oklopol, is that a double-comma?
15:03:25 <oklopol> i don't know what character that was.
15:04:15 <oklopol> i didn't. it wasn't me. it was my blanket.
15:05:44 <MizardX> Ä (A umlaut), encoded in utf-8 as à + „
15:06:49 <oerjan> so that was a blanket statement?
15:07:07 -!- sebbu has quit (Connection timed out).
15:08:01 -!- oklopol has set topic: tune in for buttplugs and other aspects of esoteric programming.
15:09:54 -!- oklopol has set topic: tune into buttplugs and shitty aSS languages!.
15:10:32 <oklopol> yes someone should make like a bot that puts logs into topic
15:11:40 <oerjan> should be possible with bsmnt_bot
15:11:50 <Asztal> stupid unicode breaking my (irssi|screen|PuTTY)!
15:12:21 <MizardX> url: http://tunes.org/~nef/logs/esoteric
15:12:37 -!- MizardX has set topic: tune into buttplugs and shitty aSS languages! | http://tunes.org/~nef/logs/esoteric.
15:12:49 <Asztal> irssi does... odd things... when people talk in unicode
15:13:01 <Asztal> the status bar disappears, that sort of thing
15:14:05 <oerjan> Asztal: try setting some of the recode options
15:14:48 -!- Judofyr has joined.
15:14:52 <oerjan> 16:13 recode_autodetect_utf8 = ON
15:14:52 <oerjan> 16:13 recode_fallback = CP1252
15:14:52 <oerjan> 16:13 recode_out_default_charset = utf8
15:14:52 <oerjan> 16:13 recode_transliterate = ON
15:15:11 <Asztal> it shouldn't be necessary though, all three are set to support unicode
15:15:33 <oerjan> i'm using latin-1 still
15:16:18 -!- puzzlet has quit (Remote closed the connection).
15:16:22 -!- puzzlet has joined.
15:17:23 <oerjan> but maybe it's screen, i'm not using that
15:22:47 -!- Asztal_ has joined.
15:23:12 -!- Azstal has joined.
15:33:59 <AnMaster> Azstal, hm it is snowing and you don't like it?
15:36:52 <Asztal> in this SSH client, I see an a with a hat
15:36:59 <Asztal> in PuTTY, I just saw a box
15:38:13 <oerjan> in the logs, i saw a cat
15:39:41 <Asztal> but in either SSH client, that big line of funny As has turned into a diagonal line in irssi
15:45:58 -!- Asztal_ has quit ("leaving").
15:46:35 -!- Asztal_ has joined.
15:53:11 -!- Asztal_ has quit ("leaving").
15:53:24 -!- Asztal has quit ("leaving").
15:55:22 -!- Asztal has joined.
15:57:01 -!- join has joined.
15:57:10 -!- bsmntbombdood has joined.
16:04:13 -!- Asztal has quit ("leaving").
16:04:27 -!- Asztal has joined.
16:06:10 -!- Slereah has quit (Read error: 110 (Connection timed out)).
16:06:22 -!- Azstal has quit (".").
16:10:46 -!- Corun has joined.
16:28:23 <MizardX> Hmm... A hollow sphere with the same mass as earth (but larger radius to compensate for the interior). How would gravity behave on the inside? Would you fall towards the centre? Would you be weight-less? Would you fall outwards towards the crust?
16:28:59 <oerjan> weight-less, with newtonian gravity
16:29:01 <Asztal> you'd fall to the centre, still
16:29:01 <join> MizardX : You would fall at the center.
16:29:19 <join> Although you would oscillate once there
16:29:23 <oerjan> weight-less, with newtonian gravity. i remember this.
16:30:07 <oklopol> it isn't exactly that hard to show, is it.
16:30:25 <oerjan> well i don't remember the exact derivation
16:32:54 <oklopol> umm how's gravity between two points calculated? i know 0 about physics
16:33:12 <oklopol> well i could probably just think for a sec and see it
16:34:36 <oerjan> also the gravity from a sphere on the _outside_ is exactly the same as from the equivalent mass at the center of the sphere
16:35:12 <oerjan> s/at/squeezed into a point at/
16:40:20 <oerjan> i assume both of these things can be shown by integration, but i don't remember if there was any simplifying trick involved.
16:42:34 <oerjan> at least the second had something to do with gauss's theorem, i think
16:47:07 <oerjan> hm actually i think they both follow from Gauss's theorem
16:48:40 <oerjan> basically, integrating density over the volume inside (that what you are thinking of kerlo?) gives the same result as integrating the normal part of the force at the boundary. simplify this with symmetry.
16:49:11 <kerlo> Just a moment, I almost have an integral here.
16:49:24 <oerjan> (symmetry gives that the force at the boundary _is_ normal, so the normal part is all of it)
16:49:45 <kerlo> I just need to add how to find the horizontal component of a vector of a certain length in a certain direction...
16:49:49 <oerjan> also, the same all over the sphere
16:50:46 <kerlo> x = r cos(theta), theta = arctan(y/x), so x = r cos(arctan(y/x)), aye?
16:51:37 <kerlo> Prove: for all c between -1 and 1, integral from -1 to 1 of cos(arctan(sqrt(1-x^2)/(x-c)))*sqrt(1-x^2)/((1-x^2)+(x-c)^2) = 0.
16:51:58 <kerlo> There's probably a better way to write cos(arctan(y/x))...
16:52:41 <kerlo> Now I'll stick that whole big thing into a Mathematica integrator. I'm not good at taking integrals without manipulating them symbolically.
16:54:26 <kerlo> http://integrals.wolfram.com/index.jsp?expr=Cos(ArcTan(Sqrt(1-x^2)%2F(x-c)))*Sqrt(1-x^2)%2F((1-x^2)%2B(x-c)^2)&random=false
16:55:52 <oklopol> holy fuck that's pretty :D
16:56:01 <kerlo> That's what I get for assuming that two-dimensional things are simpler than three-dimensional things.
16:56:42 <oklopol> i doubt gravity works the same way in both dimensions
16:56:51 <oklopol> it definitely doesn't work in one dimension
16:57:06 <kerlo> Objection dismissed. :-P
16:57:38 <oklopol> it doesn't, i think it corresponds to having to points and the guy near one of them |_guy______________|
16:58:25 -!- Corun has quit ("Leaving").
16:58:27 <oerjan> i think in two dimensions you want gravitation to go as 1/r rather than 1/r^2 to keep it a conservative force
16:58:27 <kerlo> Okay, prove that the integral for x^2+y^2+z^2 = 1 of 1/((x-a)^2+(y-b)^2+(z-c)^2) = 0 for all a^2+b^2+c^2 < 1.
16:58:57 -!- psygnisfive has joined.
16:59:09 <kerlo> A two-dimensional thing *is* a three-dimensional thing.
16:59:18 <kerlo> It's just one that is contained entirely within a plane.
16:59:31 <oerjan> this is very misleading for gravity
16:59:47 <psygnisfive> kerlo: i suppose that depends on what you mean by three-dimensional :P
17:00:01 <oerjan> because how many dimensions gravity has to escape in determines how fast it weakens with distance
17:00:33 <kerlo> Gravity still has to escape in three dimensions here.
17:01:06 -!- ehird has left (?).
17:01:45 <Asztal> I think you need to divide by r^2 to get the result in the correct units
17:02:18 <kerlo> The only thing two-dimensional about my circle-whose-density-at-a-point-is-proportional-to-that-point's-distance-to-the-diameter is that it's contained entirely within a plane. It's an infinitesimal piece of a three-dimensional sphere.
17:02:30 <oerjan> there is a constant G there, its units could change with a different number of dimensions
17:02:31 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
17:02:36 -!- ehird has joined.
17:02:59 <ehird> reading slereah explain chan culture to anmaster was the highlight of my day
17:03:43 <oerjan> ehird: i think i shall not ponder that idea lest my head explode
17:03:45 * kerlo ponders how to integrate over a set
17:03:51 <ehird> oerjan: http://tunes.org/~nef/logs/esoteric/09.01.17
17:03:54 <psygnisfive> guys why doesnt you email neil degrasse tyson or brian green or michio kaku and ask them these things for certain
17:03:55 <join> ehird : I wanted to show him this : http://astrange.ithinksw.net/shii/view?url=hammer&name=vip.show
17:03:59 -!- join has changed nick to Slereah.
17:04:02 <oerjan> i've already browsed the logs
17:04:07 <Slereah> But bum's got no flash player
17:04:47 <oerjan> ah i guess my head already exploded then
17:05:08 <kerlo> Use a cross section, I guess.
17:05:14 <AnMaster> I think I have a bad cold. Might be kind of less active for a few days
17:05:15 -!- ehird has set topic: A secret area of VIP quality. Colon right-parenthesis. http://tunes.org/~nef/logs/esoteric/.
17:05:53 <oerjan> there is influenza going around, i assume sweden has it too
17:05:54 <oklopol> you'd think you'd be more active.
17:06:01 <ehird> 05:57:52 <Deewiant> woot, Language::Befunge now runs mycology in 18 seconds!! http://jquelin.blogspot.com/2009/01/how-to-shave-10-speed.html
17:06:10 <ehird> 06:18:37 <olsner> so what's the mycology speed record?
17:06:14 <oerjan> but i seem to have escaped it so far
17:06:19 <ehird> because AnMaster does no thing but optimise cfunge
17:06:28 <kerlo> Okay, let's simplify my fancy integral.
17:06:36 <oklopol> isn't that what diseases do, make you do less, and irc more
17:06:48 <kerlo> Prove: for all c between -1 and 1, integral from -1 to 1 of cos(arctan(sqrt(1-x^2)/(x-c)))/((1-x^2)+(x-c)^2) = 0.
17:06:54 <oerjan> kerlo: i still recommend a gauss's law approach
17:06:56 <AnMaster> oerjan, this may or may not be the infulenza
17:07:08 <ehird> ~exec sys.stdout(self)
17:07:08 <bsmnt_bot> <__main__.IRCbot instance at 0xf7c7e6ec>
17:07:12 <ehird> ~exec sys.stdout(dir(self))
17:07:13 <bsmnt_bot> ['COMMAND_CHAR', 'THREADING', '__doc__', '__init__', '__module__', 'ban', 'ban_file', 'banlist', 'chan', 'commands_running', 'commands_running_lock', 'connect', 'connected', 'disconnect', 'do_callbacks', 'do_ctcp', 'do_exec', 'do_kill', 'do_ps', 'do_quit', 'do_raw', 'error_in_chan', 'errorchan', 'exec_execer', 'get_message', 'handle_callback', 'host', 'ident', 'listen', 'l
17:07:13 <bsmnt_bot> oad_callbacks', 'locals', 'message_re', 'nick', 'owner', 'pong', 'port', 'print_callbacks', 'raw', 'raw_regex_queue', 'read_bans', 'realname', 'register_raw', 'save_callbacks', 'socket', 'sockfile', 'unban', 'verbose', 'write_bans']
17:07:26 <ehird> ~exec sys.stdout(self.raw_regex_queue)
17:07:26 <bsmnt_bot> [(<_sre.SRE_Pattern object at 0xf7cf2c98>, <bound method IRCbot.pong of <__main__.IRCbot instance at 0xf7c7e6ec>>), (<_sre.SRE_Pattern object at 0x80e0ce0>, <bound method IRCbot.do_quit of <__main__.IRCbot instance at 0xf7c7e6ec>>), (<_sre.SRE_Pattern object at 0x80dc828>, <bound method IRCbot.do_raw of <__main__.IRCbot instance at 0xf7c7e6ec>>), (<_sre.SRE_Pattern object
17:07:27 <bsmnt_bot> at 0x80dc628>, <bound method IRCbot.do_ctcp of <__main__.IRCbot instance at 0xf7c7e6ec>>), (<_sre.SRE_Pattern object at 0x80dcc98>, <bound method IRCbot.do_exec of <__main__.IRCbot instance at 0xf7c7e6ec>>), (<_sre.SRE_Pattern object at 0x80dd188>, <bound method IRCbot.do_exec of <__main__.IRCbot instance at 0xf7c7e6ec>>), (<_sre.SRE_Pattern object at 0x80b9190>, <bound me
17:07:27 <bsmnt_bot> thod IRCbot.do_ps of <__main__.IRCbot instance at 0xf7c7e6ec>>), (<_sre.SRE_Pattern object at 0x80dd460>, <bound method IRCbot.do_kill of <__main__.IRCbot instance at 0xf7c7e6ec>>), (<_sre.SRE_Pattern object at 0x80e2cd0>, <function <lambda> at 0xf7c7d72c>)]
17:07:28 <AnMaster> <ehird> 05:57:52 <Deewiant> woot, Language::Befunge now runs mycology in 18 seconds!! http://jquelin.blogspot.com/2009/01/how-to-shave-10-speed.html <-- well it is in perl iirc, not a compiled language?
17:07:38 <ehird> ~exec self.register_raw
17:07:42 <ehird> ~exec sys.stdout(dir(self.register_raw))
17:07:43 <bsmnt_bot> ['__call__', '__class__', '__cmp__', '__delattr__', '__doc__', '__get__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'im_class', 'im_func', 'im_self']
17:07:44 <kerlo> This is *much* simpler: http://integrals.wolfram.com/index.jsp?expr=Cos(ArcTan(Sqrt(1-x^2)%2F(x-c)))%2F((1-x^2)%2B(x-c)^2)&random=false
17:08:31 <ehird> ~exec sys.stdout(self.raw)
17:08:31 <bsmnt_bot> <bound method IRCbot.raw of <__main__.IRCbot instance at 0xf7c7e6ec>>
17:08:54 <ehird> ~exec self.register_raw(r':[^ ]+ TOPIC #esoteric :(.*)', lambda m: self.raw('TOPIC #esoteric :%s | http://tunes.org/~nef/logs/esoteric' % (m.group(1),))))
17:08:55 <bsmnt_bot> SyntaxError: unexpected EOF while parsing
17:08:57 <ehird> ~exec self.register_raw(r':[^ ]+ TOPIC #esoteric :(.*)', lambda m: self.raw('TOPIC #esoteric :%s | http://tunes.org/~nef/logs/esoteric' % (m.group(1),)))))
17:09:02 -!- ehird has set topic: a.
17:09:06 <ehird> ~exec self.register_raw(r':[^ ]+ TOPIC #esoteric :(.*)', lambda m: self.raw('TOPIC #esoteric :%s | http://tunes.org/~nef/logs/esoteric' % (m.group(1),))))
17:09:19 <ehird> ~exec self.register_raw(r':[^ ]+ TOPIC #esoteric :(.*)', lambda m: self.raw('TOPIC #esoteric :%s | http://tunes.org/~nef/logs/esoteric' % (m.group(1),))
17:09:21 <bsmnt_bot> SyntaxError: unexpected EOF while parsing
17:09:34 <ehird> ~exec self.register_raw(r':[^ ]+ TOPIC #esoteric :(.*)', lambda m: self.raw('TOPIC #esoteric :%s | http://tunes.org/~nef/logs/esoteric' % (m.group(1),)))
17:09:39 <bsmnt_bot> SyntaxError: unexpected EOF while parsing
17:09:49 <ehird> ~exec self.register_raw(r':[^ ]+ TOPIC #esoteric :(.*)', lambda m: self.raw('TOPIC #esoteric :%s | http://tunes.org/~nef/logs/esoteric' % m.group(1) ))
17:10:00 -!- ehird has set topic: I am green.
17:10:00 <bsmnt_bot> NameError: global name 'self' is not defined
17:10:14 <ehird> ~exec (lambda this: self.register_raw(r':[^ ]+ TOPIC #esoteric :(.*)', lambda m: this.raw('TOPIC #esoteric :%s | http://tunes.org/~nef/logs/esoteric' % m.group(1) )))(self)
17:10:15 <bsmnt_bot> NameError: global name 'self' is not defined
17:10:23 <ehird> ~exec (lambda this: this.register_raw(r':[^ ]+ TOPIC #esoteric :(.*)', lambda m: this.raw('TOPIC #esoteric :%s | http://tunes.org/~nef/logs/esoteric' % m.group(1) )))(self)
17:10:29 -!- ehird has set topic: aa.
17:10:33 <bsmnt_bot> NameError: global name 'self' is not defined
17:10:43 -!- bsmnt_bot has quit (Excess Flood).
17:10:46 -!- bsmnt_bot has joined.
17:10:55 <ehird> ~exec (lambda this: this.register_raw(r':[^ ]+ TOPIC #esoteric :(.*)', lambda m: this.raw('TOPIC #esoteric :%s | http://tunes.org/~nef/logs/esoteric' % m.group(1) )))(self)
17:10:58 <kerlo> oerjan: that seems to contain a surface integral.
17:11:03 -!- ehird has set topic: I am a big butt and who doesn't care.
17:11:03 <bsmnt_bot> AttributeError: 'str' object has no attribute 'group'
17:11:44 <oerjan> kerlo: yes, it comes out to integrating the force around the sphere
17:11:47 <ehird> oklopol: dude im writing a bot to do that
17:12:11 <kerlo> I don't know how to take a surface integral without using cross sections or something similarly silly.
17:12:12 <oklopol> but i'm more interested in local optimization than global
17:12:38 <oklopol> kerlo: no one cares about calculus
17:13:01 <oerjan> kerlo: it's over a sphere, and the value should be constant by symmetry, so just area * constant iirc
17:16:05 <kerlo> If you find anything, let me know.
17:16:19 <AnMaster> hm anyone here is good at css?
17:17:02 <AnMaster> ehird, I'm confused does: h1.foo { ... } and h1 .foo { ... } differ in meaning?
17:17:21 <ehird> h1.foo is a h1 with class foo, h1 .foo is an element with class foo somewhere beneath an h1.
17:18:28 <AnMaster> ehird, oh also, foo,.bar and foo, .bar are the same aren't they?
17:18:43 <ehird> but you should use the latter
17:19:38 <AnMaster> ehird, wouldn't a reduced size version be better if bw is an issue, of course the master copy will be kept readable, but the copy on the website would have unneeded spaces removed
17:20:00 <ehird> The difference will be nelegible unless you're Google.
17:20:22 <AnMaster> ehird, about 700 MB / month based on the output from webalizer.
17:20:35 <AnMaster> when all unneeded whitespaces are removed
17:20:41 <ehird> Um, what site is this?
17:20:51 <ehird> I think that's bullshit unless it's a really huge site.
17:20:52 <AnMaster> shared hosting so I can't add mod_compress or such :(
17:20:59 -!- Slereah has set topic: I am a big butt and who doesn't care http://tunes.org/~nef/logs/esoteric/.
17:20:59 <bsmnt_bot> AttributeError: 'str' object has no attribute 'group'
17:21:07 <AnMaster> ehird, supertux website, the mediawiki css files
17:21:29 <ehird> There's no way you're saving 700MB on the supertux website just by removing whitespace.
17:21:34 <AnMaster> ehird, the main css for mediawiki alone generate several GB of traffic per month
17:21:44 <AnMaster> ehird, and newlines and uneeded ; before }
17:21:49 <ehird> Why arey ou using mediawiki?
17:22:09 <AnMaster> ehird, before I joined the project
17:22:24 <ehird> Mediawiki is a huge hog, it's beyond belief
17:22:52 <ehird> No, but I doubt you're using many of the advanced mediawiki features...
17:23:30 <ehird> Try DokuWiki or something.
17:23:37 <ehird> That's quite fullfeatured but non-hoggy.
17:23:57 <ehird> The gains will likely be much larger than removing whitespace from a css file...
17:25:04 -!- bsmnt_bot has quit.
17:25:06 <ehird> AnMaster: is this an open wiki?
17:25:07 -!- bsmnt_bot has joined.
17:25:22 <ehird> oerjan: can't touch this! pythontime.
17:25:35 <AnMaster> ehird, yes, some pages are "only devs can edit" though
17:25:50 <AnMaster> like the ones with download links for last version and so on
17:25:53 <oerjan> i just wanted to get rid of the broken code
17:25:54 <ehird> AnMaster: ok, I was thinking making it a static site rendered into a layout with a script but that's obviously not appropriate in this case
17:26:15 <ehird> AnMaster: hmm, idea
17:26:28 <AnMaster> ehird, ah static has been rejected except for the front page and a few other pages due to "too much work to update" by several devs
17:26:31 <ehird> AnMaster: supertux players are tech-savvy right? I mean, they use linux :-P
17:26:42 <ehird> also, i don't mean hand-writing html
17:26:56 <AnMaster> ehird, yes they are, but they prefer to code on the game rather than mess with website
17:27:19 <AnMaster> ehird, oh players? no, not really
17:27:38 -!- Corun has joined.
17:27:43 <ehird> because you could do a static wiki by having an open git/darcs/hg/etc repository that anyone can push to
17:27:47 <ehird> and a post-push hook that renders the site
17:27:50 <AnMaster> in fact more than average of Ubuntutards and wintards
17:27:53 <ehird> but, then, users have to use that version system
17:28:00 <ehird> AnMaster: Windows? Seriously?
17:28:29 <ehird> AnMaster: That... doesn't make too much sense.
17:29:32 <ehird> well, if your users are incompetent you'll always have to sacrifice performance for them
17:29:44 <ehird> that applies to everything :P
17:30:46 <ehird> AnMaster: but try dokuwiki
17:30:55 <ehird> it's way less bloated and much less resource intensive
17:31:08 <ehird> and the html/css it outputs is learner
17:31:15 <ehird> so that could help a lot
17:31:43 <AnMaster> hm will take a look, of course I need to get the other devs (especially the project leader) to agree
17:32:21 <ehird> This follows on from the axiom "other people suck".
17:33:12 <ehird> oerjan let's go on a murder spree
17:33:19 <ehird> so that people die
17:33:25 <AnMaster> ehird, yes they have downsides, but also some good points, like how long would it take *one* person to write something like, uh, blender or firefox or whatever, Compared to how long it would take a team
17:33:49 <ehird> Well, i dislike firefox because it's bloated. :P
17:33:59 <ehird> I don't have a use for Blender but knowing me I'd probably say the same for it.
17:34:16 <ehird> Although for collaboration I prefer the linus torvalds model.
17:34:26 <ehird> It's still one person's projects, but you can send stuff along and he might take it.
17:34:43 <AnMaster> ehird, well there are sure other good (but large) software
17:35:02 <ehird> The kernel isn't large for what it does, though.
17:35:14 <AnMaster> ehird, also it isn't one persons project if that person isn't around any more, then it works on a team basis suddenly
17:35:20 <ehird> Sometimes things are complex because they do complex things and it wouldn't be possible to do something much simpler.
17:35:29 <ehird> AnMaster: and deteriorates. Better would be to pass down the torch.
17:35:39 <ehird> BDFL doesn't sound "open source"y, but it's practical.
17:36:12 <ehird> Benevolent Dictator For Life
17:36:28 <ehird> linus torvalds, guido van rossum, larry wall, ETC
17:37:38 <AnMaster> or maybe not a good example ;P
17:37:39 <ehird> Um, very benevolent :-P
17:37:58 <ehird> Although I agree with him in most cases.
17:38:20 <AnMaster> also one downside with open source for games: getting good artists is very very hard.
17:38:41 <ehird> Also, plot writers. :P
17:38:57 <ehird> (SuperTux's intro is cringeworthy...)
17:39:30 <AnMaster> however, supertux is jump and run, you don't need that much plot, compared to for example a RPG
17:39:36 <ehird> Well, it _is_ a carbon copy of Super Mario's plot.
17:39:41 <ehird> So I guess a lot of the blame lies on Nintendo. :P
17:40:30 <oerjan> how _dare_ you force us to steal your crap
17:41:06 <oerjan> wait, there was a pun in there?
17:41:14 <ehird> no, it was just stupid :D
17:41:33 <AnMaster> apache mod_deflate doesn't cache the compressed copy?
17:41:49 <ehird> AnMaster: don't you want to use gzip?
17:42:12 <ehird> it won't cache dynamic content
17:42:14 <AnMaster> ehird, well yes, but what module?
17:42:27 <ehird> also, there's quite a few, iirc mod_gzip is one
17:42:40 <ehird> AnMaster: you'll need a separate caching module
17:42:53 <ehird> i guess you can't choose that with a shared host.
17:43:01 <ehird> why not move it onto something non-shared :P
17:43:03 <AnMaster> ehird, shared hosting, I will have to do with what I can do in .htaccess
17:44:25 <AnMaster> in fact I'm not certain I can do this from .htaccess at all
17:45:31 <AnMaster> oh maybe mod_gzip is third party?
17:45:42 <AnMaster> since I can't find it in apache docs
17:47:24 * ehird considers writing a lisp. Because what more productive things exist?
17:47:34 <ehird> Eventful times, these.
17:48:01 <ehird> In a sarcastic way.
17:48:59 <AnMaster> ehird, well that spark wave, I started on it, but it is a bit complex since you need to possibly get a bit of next wave before clearing, so it is currently a quite complex script not yet done
17:49:22 <ehird> Surely you just need to tweak the numbers you pass to sparkline...
17:50:08 <AnMaster> ehird, not exactly, as you said you need to clear the line to be able to cause the wave effect, that is goto start of line and overwrite it.
17:50:18 <ehird> AnMaster: Er, i meant clear(1).
17:50:31 <ehird> But, um, can't you just do that with \r
17:50:35 <ehird> i.e., carriage return?
17:50:35 <AnMaster> ehird, oh I'm using tput to do it
17:51:05 <kerlo> Lisps! Everyone loves those!
17:51:23 <ehird> and echo -n everything else
17:51:37 <MizardX> ~exec sys.stdout(', '.join([m.__name__ for m in dir(self) if callable(m)]))
17:51:45 * kerlo finds that GHCi is conspicuously absent on this computer
17:52:48 <MizardX> ~exec sys.stdout(', '.join([getattr(self,m).__name__ for m in dir(self) if callable(getattr(self,m))]))
17:52:48 <bsmnt_bot> __init__, ban, connect, disconnect, do_callbacks, do_ctcp, do_exec, do_kill, do_ps, do_quit, do_raw, exec_execer, get_message, handle_callback, listen, load_callbacks, pong, print_callbacks, raw, read_bans, register_raw, save_callbacks, unban, write_bans
18:04:07 <ehird> r5rs is a wonderful language
18:07:25 <ehird> how can the committee that authored R5RS produce something as awful as r6rs
18:12:51 <AnMaster> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-19: ordinal not in range(128)
18:13:22 <ehird> AnMaster: Use unicode strings.
18:13:28 <ehird> You're trying to do unicode stuff with normal stirngs.
18:13:40 <AnMaster> ehird, well sparkline said that
18:13:51 <ehird> AnMaster: what data are you passing it?
18:14:08 <AnMaster> ehird, I believe it may have received a terminal control code by mistake
18:14:16 <ehird> That is probably it.
18:14:39 <AnMaster> assuming "trap 'tput cvvis; exit' INT TERM" while inside a piped function cause things to go to the pipe
18:15:12 <AnMaster> http://rafb.net/p/oVd5cO49.html
18:16:14 <ehird> | python ~/irc/sparkline
18:16:17 <ehird> Or, you know, | sparkline
18:16:54 <ehird> AnMaster: It kind of works... but, I'm sure you could base waves on that for i in 1 2 3 thing you did yesterday
18:17:00 <ehird> I think that could work better
18:18:57 <AnMaster> ehird, except it wasn't chmod +x and not in path
18:19:18 <ehird> people don't give ~/bin enough luv
18:19:19 <AnMaster> ehird, also yes it was a quick hack
18:19:27 <ehird> yeah, it stutters at one point
18:19:36 <AnMaster> well I have around 10 scripts in ~/bin
18:19:55 <ehird> it makse a jerky movement
18:20:03 <AnMaster> yes a mis calculation I believe
18:20:34 <ehird> "If Jobs had realized the margins behind selling software and ported MacOS to Intel"
18:20:40 <ehird> Umm, who wants to tell him?
18:21:01 <ehird> (For the idiots: 1. Steve Jobs is not a programmer 2. OS X _does_ run on Intel...)
18:22:13 <ehird> AnMaster: you coulds imulate game of life with this.
18:22:23 <ehird> Fixing jerks is difficult
18:23:39 <MizardX> ~exec sys.stdout(sys.version)
18:23:53 <MizardX> ~exec sys.stdout(callable(sys.stdout))
18:24:07 <ehird> bsmnt_bot is in a chroot
18:24:10 <ehird> Presumably built on gentoo
18:24:33 <ehird> It actually runs on ewwbuntu :D
18:25:09 <MizardX> ~exec self.print_callbacks(sys.stdout)
18:25:09 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~quit ?(.*)', 'do_quit'),
18:25:09 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~raw (.*)', 'do_raw'),
18:25:10 <bsmnt_bot> ('^\\S+ PRIVMSG \\S+ :~ctcp (\\S+) (.+)', 'do_ctcp'),
18:25:11 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG (\\S*) :~pexec (.*)', 'do_exec'),
18:25:12 <bsmnt_bot> ('\\S+ PRIVMSG (#esoteric|#baadf00d|#esoteric-blah|#bsmnt_bot_errors) :~exec (.*)',
18:25:14 <bsmnt_bot> ('\\S+ PRIVMSG \\S+ :~ps', 'do_ps'),
18:25:16 <bsmnt_bot> ('^\\S+ PRIVMSG (#esoteric|#baadf00d|#esoteric-blah|#bsmnt_bot_errors) :~kill (.*)',
18:25:20 <bsmnt_bot> ('^ERROR :Closing Link:.*', '<lambda>')]
18:26:24 <MizardX> ~exec sys.stdout(', '.join([getattr(self,m).__name__ for m in dir(self) if isinstance(getattr(self,m),list)]))
18:26:24 <bsmnt_bot> AttributeError: 'list' object has no attribute '__name__'
18:26:34 <MizardX> ~exec sys.stdout(', '.join([m for m in dir(self) if isinstance(getattr(self,m),list)]))
18:26:35 <bsmnt_bot> banlist, chan, commands_running, raw_regex_queue
18:26:40 <ehird> MizardX: you know,
18:26:45 <ehird> you can just get it to post its code to a pastebin
18:27:00 <ehird> how do you listdir in python again?
18:27:19 <ehird> ~exec import os; sys.stdout(os.listdir('.'))
18:27:19 <bsmnt_bot> ['bin', 'bot', 'etc', 'lib', 'usr']
18:27:26 <ehird> yes, it lives in /bot
18:27:31 <ehird> ~exec import os; sys.stdout(os.listdir('bot'))
18:27:31 <bsmnt_bot> ['files.img', 'a.out', 'scripts', 'betterbot.py', 'test.pickle', 'foo.py~', 'ski_repl.py', 'foo.py', 'ircbot.py~', 'start.sh', 'better.sh', 'start.sh~', 'ircbot.py', 'keep_running']
18:27:38 <ehird> It _isn't_ betterbot.
18:28:04 <ehird> Now to figure out how to make a paste to a pastebin
18:28:07 <MizardX> ~exec import __main__; sys.stdout(__main__.__file__)
18:28:25 <ehird> Hmm, dpaste has a restful paste API.
18:28:26 <ehird> I'll go with that.
18:28:39 <ehird> ~exec sys.stdout(__import__('urllib2'))
18:28:41 <bsmnt_bot> <module 'urllib2' from '/usr/lib/python2.4/urllib2.py'>
18:28:51 <ehird> ~exec import urllib2
18:28:57 * ehird waits for dpaste docs to load
18:29:34 <bsmnt_bot> NameError: name 'a' is not defined
18:29:45 <ehird> MizardX: try assigning to bot
18:30:28 <ehird> ~exec bot._vars = {}; bot.assign = lambda self, k, v: self._vars.__setitem__(k,v); bot.get = lambda self, k: self._vars.__getitem__(k)
18:30:34 <ehird> ~exec assign('a',2)
18:30:34 <bsmnt_bot> NameError: name 'assign' is not defined
18:30:39 <ehird> ~exec bot.assign('a',2)
18:30:39 <bsmnt_bot> TypeError: <lambda>() takes exactly 3 arguments (2 given)
18:30:50 <ehird> ~exec bot._vars = {}; bot.assign = lambda k, v: bot._vars.__setitem__(k,v); bot.get = lambda k: bot._vars.__getitem__(k)
18:30:52 <ehird> ~exec bot.assign('a',2)
18:30:57 <ehird> ~exec sys.stdout(bot.get('a'))
18:31:26 <ehird> ~exec open('ircbot.py').read()[:15]
18:31:27 <bsmnt_bot> IOError: [Errno 2] No such file or directory: 'ircbot.py'
18:31:31 <ehird> ~exec open('/bot/ircbot.py').read()[:15]
18:31:39 <ehird> ~exec coed=open('/bot/ircbot.py').read()
18:31:46 <ehird> ~exec self.assign('koed',open('/bot/ircbot.py').read())
18:31:53 <ehird> ~exec sys.stdout(bot.get('koed'))
18:31:57 <ehird> FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
18:32:08 <ehird> ~exec bot.raw('QUIT')
18:32:11 -!- bsmnt_bot has quit.
18:32:13 -!- bsmnt_bot has joined.
18:32:14 <ehird> ~exec self.assign('koed',open('/bot/ircbot.py').read())
18:32:15 <bsmnt_bot> AttributeError: IRCbot instance has no attribute 'assign'
18:32:19 <ehird> FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
18:32:30 <ehird> ~exec sys.stdout(open('/bot/ircbot.py').read()[:15])
18:32:46 <MizardX> ~exec sys.stdout(len(bot.get('koed')))
18:32:46 <bsmnt_bot> AttributeError: IRCbot instance has no attribute 'get'
18:33:00 <ehird> no persistence, its broken
18:33:13 <MizardX> ~exec sys.stdout(repr(bot))
18:33:14 <bsmnt_bot> <__main__.IRCbot instance at 0xf7caa6ec>
18:33:20 <MizardX> ~exec sys.stdout(repr(self))
18:33:20 <bsmnt_bot> <__main__.IRCbot instance at 0xf7caa6ec>
18:33:36 <ehird> ok, think ive realised how to paste it
18:35:44 <bsmnt_bot> <module 're' from '/usr/lib/python2.4/re.pyc'>
18:35:47 <AnMaster> ehird, http://rafb.net/p/554io037.html
18:35:57 <ehird> ~exec import urllib2; sys.stdout(urllib2.urlopen('http://dpaste.com/api/v1/', 'content=%s&language=Python&hold=1' % open('/bot/ircbot.py').read()).info()['Location'])
18:35:58 <bsmnt_bot> URLError: <urlopen error (-2, 'Name or service not known')>
18:36:12 <ehird> shit, it can't do networking
18:36:38 <oerjan> istr there was no dns when last we were fooling around with it
18:36:48 <ehird> well, that makes sense
18:36:51 * ehird looks up dpaste.com
18:36:55 <AnMaster> ehird, http://rafb.net/p/YW5JPt53.html
18:37:05 <ehird> ~exec import urllib2; sys.stdout(urllib2.urlopen('http://69.55.225.29/api/v1/', 'content=%s&language=Python&hold=1' % open('/bot/ircbot.py').read()).info()['Location'])
18:37:06 <bsmnt_bot> HTTPError: HTTP Error 404: Not Found
18:37:15 <ehird> oh, we need a host header
18:37:41 <AnMaster> ehird, well does the script work for you?
18:37:48 <ehird> AnMaster: will try in a bit
18:38:39 -!- Judofyr has joined.
18:38:51 <ehird> ~exec import urllib2; sys.stdout(urllib2.open(urllib2.Request('http://69.55.225.29/api/v1/', 'content=%s&language=Python&hold=1' % open('/bot/ircbot.py').read(), {'Host': 'dpaste.com'})).info()['Location'])
18:38:51 <bsmnt_bot> AttributeError: 'module' object has no attribute 'open'
18:38:58 <ehird> ~exec import urllib2; sys.stdout(urllib2.urlopen(urllib2.Request('http://69.55.225.29/api/v1/', 'content=%s&language=Python&hold=1' % open('/bot/ircbot.py').read(), {'Host': 'dpaste.com'})).info()['Location'])
18:38:59 <bsmnt_bot> URLError: <urlopen error (-2, 'Name or service not known')>
18:39:06 <ehird> ;_____________________________________;
18:39:12 <oerjan> i suppose there must be something you could put in the chroot to _get_ dns?
18:39:20 <ehird> nah, im doing without dns :DD
18:39:22 <ehird> ~exec import urllib2; sys.stdout(urllib2.urlopen(urllib2.Request('http://69.55.225.29/api/v1/', 'content=%s&language=Python&hold=1' % open('/bot/ircbot.py').read(), {'Host': 'dpaste.com'})).info()['Location'])
18:39:32 <bsmnt_bot> URLError: <urlopen error (-2, 'Name or service not known')>
18:40:36 <ehird> ~exec import urllib2; sys.stdout(urllib2.urlopen(urllib2.Request('http://69.55.225.29/api/v1/', 'content=%s&language=Python&hold=1' % open('/bot/ircbot.py').read(), {})).info()['Location'])
18:40:46 <bsmnt_bot> HTTPError: HTTP Error 404: Not Found
18:40:58 <ehird> Is urllib doing some sort of dns lookup when its given Host?
18:41:21 <oerjan> that was my question too
18:42:01 <ehird> meh, ill just use sockets
18:43:16 <AnMaster> ehird, yes should replace it with perl
18:43:32 <AnMaster> at least perl has a proper sandbox, the "safe" thing
18:43:48 <ehird> that's not suitable for actually sandboxing
18:44:07 <AnMaster> there are probably ways to break out of it
18:44:17 <ehird> no, it just makes the interpreter totally useless.
18:44:40 <AnMaster> two of the bars are the same height
18:44:50 <AnMaster> so what values should one pass to avoid that
18:44:59 <AnMaster> as of course you can't change how unicode works
18:45:13 <MizardX> ~exec import urllib2; sys.stdout(urllib2.open('http://whatismyipaddress.com/').read()[:15])
18:45:13 <bsmnt_bot> AttributeError: 'module' object has no attribute 'open'
18:45:24 <MizardX> ~exec import urllib2; sys.stdout(urllib2.urlopen('http://whatismyipaddress.com/').read()[:15])
18:45:24 <bsmnt_bot> URLError: <urlopen error (-2, 'Name or service not known')>
18:45:26 <ehird> MizardX: ping eso-std.org
18:45:42 <ehird> ~exec import socket; import urllib; encoded=urllib.urlencode(open('/bot/ircbot.py').read()); s=socket.socket();s.connect(('69.55.225.29',80)); s.sendall('GET /api/v1/\r\nHost: dpaste.com\r\nContent-Length: %i\r\n\r\n' % (31+len(encoded)); s.sendall('content=%s&language=Python&hold=1\r\n' % encoded); while True: sys.stdout(s.recv(1024))
18:45:47 <ehird> cmon work work work
18:45:55 <ehird> ~exec import socket; import urllib; encoded=urllib.urlencode(open('/bot/ircbot.py').read()); s=socket.socket();s.connect(('69.55.225.29',80)); s.sendall('GET /api/v1/\r\nHost: dpaste.com\r\nContent-Length: %i\r\n\r\n' % (31+len(encoded))); s.sendall('content=%s&language=Python&hold=1\r\n' % encoded); while True: sys.stdout(s.recv(1024))
18:45:58 -!- bsmnt_bot has quit (Excess Flood).
18:46:00 -!- bsmnt_bot has joined.
18:46:37 <ehird> ~exec import time; import socket; import urllib; encoded=urllib.urlencode(open('/bot/ircbot.py').read()); s=socket.socket();s.connect(('69.55.225.29',80)); s.sendall('GET /api/v1/\r\nHost: dpaste.com\r\nContent-Length: %i\r\n\r\n' % (31+len(encoded))); s.sendall('content=%s&language=Python&hold=1\r\n' % encoded); foo = lambda: (sys.stdout(s.recv(1024)), time.sleep(5)) while True: foo()
18:46:40 <ehird> ~exec import time; import socket; import urllib; encoded=urllib.urlencode(open('/bot/ircbot.py').read()); s=socket.socket();s.connect(('69.55.225.29',80)); s.sendall('GET /api/v1/\r\nHost: dpaste.com\r\nContent-Length: %i\r\n\r\n' % (31+len(encoded))); s.sendall('content=%s&language=Python&hold=1\r\n' % encoded); foo = lambda: (sys.stdout(s.recv(1024)), time.sleep(5)); while True: foo()
18:46:43 -!- bsmnt_bot has quit (Excess Flood).
18:46:46 -!- bsmnt_bot has joined.
18:46:50 <ehird> AnMaster: don't what
18:46:53 <ehird> do you even know what I'm doing?
18:46:57 <AnMaster> why do you want it to flood off?
18:47:23 <ehird> ~exec import time; import socket; import urllib; encoded=urllib.urlencode(open('/bot/ircbot.py').read()); sys.stdout(31+len(encoded)); s=socket.socket();s.connect(('69.55.225.29',80)); s.sendall('GET /api/v1/\r\nHost: dpaste.com\r\nContent-Length: %i\r\n\r\n' % (31+len(encoded))); s.sendall('content=%s&language=Python&hold=1\r\n' % encoded); foo = lambda: (sys.stdout(s.recv(1024)), time.sleep(5)); while True: foo()
18:47:30 <AnMaster> ehird, also about putting in chroot for dns
18:47:39 <ehird> AnMaster: I said I didn't want to.
18:47:42 <ehird> This means I don't want to.
18:48:38 <ehird> ~exec import time; import socket; import urllib; encoded=urllib.urlencode(open('/bot/ircbot.py').read()); sys.stdout(31+len(encoded)); s=socket.socket();s.connect(('69.55.225.29',80)); s.sendall('GET /api/v1/\r\nHost: dpaste.com\r\nContent-Length: %i\r\n\r\n' % (31+len(encoded))); s.sendall('content=%s&language=Python&hold=1\r\n' % encoded); foo = (lambda: (sys.stdout(s.recv(1024)), time.sleep(5))); while True: foo()
18:48:43 <ehird> /j #bsmnt_bot_errors
18:48:51 <ehird> ~exec import time; import socket; import urllib; encoded=urllib.urlencode(open('/bot/ircbot.py').read()); sys.stdout(31+len(encoded)); s=socket.socket();s.connect(('69.55.225.29',80)); s.sendall('GET /api/v1/\r\nHost: dpaste.com\r\nContent-Length: %i\r\n\r\n' % (31+len(encoded))); s.sendall('content=%s&language=Python&hold=1\r\n' % encoded); foo = (lambda: (sys.stdout(s.recv(1024)), time.sleep(5))); while True: foo()
18:49:12 <ehird> it pinpoints the error to... the line
18:49:43 <AnMaster> ehird, run it locally once to check?
18:49:45 <ehird> ~exec import time; import socket; import urllib; encoded=urllib.urlencode(open('/bot/ircbot.py').read()); sys.stdout(31+len(encoded)); s=socket.socket();s.connect(('69.55.225.29',80)); s.sendall('GET /api/v1/\r\nHost: dpaste.com\r\nContent-Length: %i\r\n\r\n' % (31+len(encoded))); s.sendall('content=%s&language=Python&hold=1\r\n' % encoded); foo = (lambda: (sys.stdout(s.recv(1024)), time.sleep(5), foo()));foo()
18:49:45 <bsmnt_bot> TypeError: not a valid non-string sequence or mapping object
18:51:51 -!- puzzlet_ has joined.
18:52:23 <AnMaster> ehird, hm are there such unicode chars except the other way around? like, their base is attached to the top of the char, not the bottom
18:52:41 <ehird> Um... Those are blocks.
18:52:52 <ehird> They don't have bases.
18:53:10 <AnMaster> but from the top of the char block
18:53:50 <ehird> what are you doing
18:57:05 <MizardX> ~exec import pydoc; sys.stdout(pydoc.getdoc(self.do_raw))
18:57:17 <ehird> MizardX: itt: .__doc__
18:57:56 <AnMaster> ehird, http://rafb.net/p/tSfBXg37.html
18:58:12 <AnMaster> ehird, I can't show this on irc I'm afraid
18:58:23 <MizardX> ~exec sys.stdout(self.do_raw.__doc__)
18:58:25 <AnMaster> ehird, also rounding issues make it non-perfect
18:58:40 -!- M0ny has joined.
18:58:41 <MizardX> ~exec import pydoc; sys.stdout(pydoc)
18:58:42 <bsmnt_bot> <module 'pydoc' from '/usr/lib/python2.4/pydoc.pyc'>
18:58:51 <MizardX> ~exec import pydoc; sys.stdout(pydoc.getdoc('foo'))
18:58:52 <bsmnt_bot> Return a nice string representation of the object.
18:58:52 <bsmnt_bot> If the argument is a string, the return value is the same object.
18:58:59 <ehird> Traceback (most recent call last):
18:58:59 <ehird> File "/Users/ehird/bin/sparkline", line 21, in <module>
18:59:00 <ehird> Traceback (most recent call last):
18:59:03 <ehird> File "/Users/ehird/bin/sparkline", line 21, in <module>
18:59:05 <ehird> numbers = map(float, input)
18:59:07 <ehird> ValueError: invalid literal for float(): {9..0}
18:59:09 <ehird> ^CTraceback (most recent call last):
18:59:11 <ehird> File "/Users/ehird/bin/sparkline", line 21, in <module>
18:59:13 <ehird> numbers = map(float, input)
18:59:15 <ehird> ValueError: invalid literal for float(): {9..0}
18:59:28 <ehird> GNU bash, version 2.05b.0(1)-release (powerpc-apple-darwin8.0)
18:59:28 <ehird> Copyright (C) 2002 Free Software Foundation, Inc.
18:59:46 <ehird> Let me know when it works with something other than bash 3
18:59:47 <AnMaster> well I could rewrite it with seq instead
18:59:53 <AnMaster> just didn't know you didn't have a modern bash
18:59:59 <ehird> seems to work with zsh.
19:00:00 <bsmnt_bot> TypeError: do_raw() takes exactly 3 arguments (1 given)
19:00:07 <ehird> AnMaster: it just flashes the bottom layer...
19:00:35 <AnMaster> ehird, you have a more modern bash then?
19:00:39 <ehird> MizardX: join #bsmnt_bot_errors
19:00:43 <ehird> AnMaster: works with zsh.
19:01:13 <AnMaster> ehird, anyway the bars doesn't match up perfectly
19:01:28 <ehird> I'll dcc you a screenshot
19:01:54 <ehird> Huh, dcc is grayed out
19:02:17 <AnMaster> ▄▃▃▂▁▁▁▂▃▃▄▅▅▆▇█▇▆▅▅▄▃▃▂▁▁▁▂▃▃▄▅▅▆▇█▇▆▅▅▄▃▃▂▁▁▁▂▃▃▄▅▅▆▇█▇▆▅▅
19:02:17 <AnMaster> ▃▄▅▅▆▇█▇▆▅▅▄▃▃▂▁▁▁▂▃▃▄▅▅▆▇█▇▆▅▅▄▃▃▂▁▁▁▂▃▃▄▅▅▆▇█▇▆▅▅▄▃▃▂▁▁▁▂▃
19:02:30 <AnMaster> where the lower one is inverted
19:02:35 <ehird> looks like that to me
19:02:40 <AnMaster> ehird, the top doesn't perfectly match the bottom
19:03:16 <AnMaster> I believe this is due to rounding errors
19:03:36 -!- puzzlet has quit (Connection timed out).
19:03:42 <ehird> They match up perfectly for me
19:03:54 <AnMaster> ehird, see above they didn't for me
19:04:05 <ehird> What is the issue?
19:04:10 <AnMaster> wait, zsh has floating point right?
19:04:30 <ehird> AnMaster: sparkline(1) handles floats, FWIW
19:04:42 <ehird> (Obviously, since squish(1) outputs floats)
19:04:48 <AnMaster> ehird, well yes, but bash doesn't in the offset bit (see variable hl)
19:06:02 <ehird> ▅▅▆▇█▇▆▅▅▄▃▃▂▁▁▁▂▃▃▄▅▅▆▇█▇▆▅▅▄▃▃▂▁▁▁▂▃▃▄▅▅▆▇█▇▆▅▅▄▃▃▂▁▁▁▂▃▃▄
19:06:03 <ehird> ▃▂▁▁▁▂▃▃▄▅▅▆▇█▇▆▅▅▄▃▃▂▁▁▁▂▃▃▄▅▅▆▇█▇▆▅▅▄▃▃▂▁▁▁▂▃▃▄▅▅▆▇█▇▆▅▅▄▁
19:06:28 <AnMaster> well in bash you can get perfect with:
19:06:30 <AnMaster> cycle_idx $(( off + hl + 1 )) | python ~/irc/sparkline
19:07:02 <ehird> zsh is superior anyway.
19:08:26 <AnMaster> ehird, wait I see.. the real issue is that screen is somehow always updated between the two sparkline calls
19:08:50 <ehird> AnMaster: it'll be the inversion setting
19:08:50 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:08:53 <AnMaster> so this probably depends on terminal
19:09:27 <AnMaster> actually it sometimes jumps and is updated correctly instead
19:09:30 -!- bsmnt_bot has quit (Excess Flood).
19:09:32 -!- bsmnt_bot has joined.
19:09:52 <AnMaster> hm this could be due to screen refresh rate *adds sleep calls*
19:11:04 <AnMaster> sometimes the lower line stalls for a bit
19:11:24 <AnMaster> ehird, does that make any sense?
19:11:37 <ehird> Maybe your machine sucks ;-)
19:12:12 <AnMaster> ehird, only happens with zsh for me
19:13:14 <AnMaster> it doesn't accept "local" however
19:13:19 <ehird> ksh is terrible :P
19:14:51 <ehird> bsmnt_bot code: http://dpaste.com/hold/110147/
19:15:04 <ehird> Loads a bit slow :\
19:15:36 -!- Mony has quit (Connection timed out).
19:17:52 <AnMaster> ehird, you did all that just to get the bot's code?
19:18:04 <ehird> I just copied it manually from the chroot.
19:20:42 <ehird> unicode needs slimmer blocks
19:20:46 <ehird> sparklines are meant to be tiny
19:24:06 <AnMaster> ehird, cleaned up version that runs under ksh, bash3 and zsh http://rafb.net/p/LVefnN13.html
19:24:31 <ehird> Wasteful & pointless...
19:24:36 <ehird> Won't even gain you anything in this case.
19:24:38 <AnMaster> ehird, yes I put it there to test, didn't make any difference
19:24:57 <ehird> I've never used it.
19:25:02 <ehird> I don't think anyone does.
19:25:21 <AnMaster> well looking at various python programs it seems quite common in the shebang line
19:25:30 <ehird> I've never seen it.
19:25:37 <AnMaster> when it is *supposed* to help?
19:26:00 <ehird> I don't know. I think it's basically unmaintained.
19:26:49 <oklopol> it's supposed to make you realize you're not a python programmer at heart, just prints "OptionError: not a chance"
19:26:51 <AnMaster> ehird, lots of files in python's own lib dir are *.pyo
19:27:13 <ehird> AnMaster: You use Gentoo.
19:27:52 <AnMaster> ehird, what about your /usr/local/lib/python2.5/ /usr/lib/python2.5/ or whatever
19:27:56 <ehird> Hmm. I wonder if I could get a scheme implementation something like 2-3x slower than C.
19:28:43 <ehird> Lots of both, interestingly/
19:30:32 * ehird calls his scheme something unappealing, like fatpig
19:32:32 -!- Corun has quit ("Leaving").
19:36:11 <AnMaster> floating point: when sin(pi) != 0
19:36:45 <ehird> Syntax highlighting is irritating. I move we outlaw syntax highlighting.
19:37:01 <AnMaster> ehird, I like basic syntax highlight
19:37:08 <AnMaster> also I vote we outlaw it for whitespace
19:37:25 <ehird> Syntax highlighting is kind of useless for scheme, since near everything is redefinable.
19:37:39 <ehird> All you can do is dim the parentheses, and maybe bold one or two things like "define", "let" and "lambda".
19:38:20 -!- ehird has set topic: a.
19:38:48 <AnMaster> ehird, matching () in matching colors help
19:39:00 <ehird> parentheses matching is hideous
19:39:10 <ehird> Lisp coders read the indentational structure, not the parentheses.
19:39:21 <ehird> Thus why most of them set parentheses to a light gray, to avoid eyestrain and concentrate on the actual code.
19:39:40 <ehird> However, a mode like paredit, which does semi-structural editing on s-expressions: yes please.
19:40:08 <ehird> http://mumble.net/~campbell/emacs/paredit.el
19:40:24 <ehird> Explanation & documentation is in the starting comments.
19:40:30 <ehird> AnMaster: Overview: http://www.emacswiki.org/emacs/ParEdit
19:44:32 -!- MizardX has set topic: b.
19:44:33 <bsmnt_bot> TOPIC #esoteric :b | http://tunes.org/~nef/logs/esoteric/
19:44:58 -!- ehird has set topic: fail.
19:44:58 <bsmnt_bot> TOPIC #esoteric :fail | http://tunes.org/~nef/logs/esoteric/
19:45:11 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric/.
19:45:12 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/.
19:45:13 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/.
19:45:17 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/.
19:45:21 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/.
19:45:25 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/.
19:45:29 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/.
19:45:34 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/.
19:45:39 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~ne.
19:45:40 <ehird> ~exec bot.raw('QUIT')
19:45:41 <ehird> AnMaster: not my code
19:45:50 -!- bsmnt_bot has quit.
19:45:52 -!- bsmnt_bot has joined.
19:46:06 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | WE LOVE OUR LOGS.
19:46:19 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef/logs/esoteric/ | http://tunes.org/~nef.
19:46:48 <ehird> as many logs as possible
19:46:59 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric http://tunes.org/~nef/logs/esoteric http://tunes.org/~nef/logs/esoteric http://tunes.org/~nef/logs/esoteric http://tunes.org/~nef/logs/esoteric http://tunes.org/~nef/logs/esoteric http://tunes.org/~nef/logs/esoteric http://tunes.org/~nef/logs/esoteric http://tunes.org/~nef/logs/esoteric http://tunes.org/~nef/logs/esoteric http://tunes.org/~nef/logs/esoteric http://tunes.org/~nef/logs/esoteric http://tunes.org/~.
19:47:08 -!- ehird has set topic: Let's try this.
19:47:08 -!- bsmnt_bot has set topic: Let's try this | http://tunes.org/~nef/logs/esoteric/.
19:47:20 -!- AnMaster has set topic: Let's try this | http://tunes.org/~nef/logs/esoteric/ | And this.
19:47:22 <ehird> MizardX: now make the command registers persist!
19:47:25 -!- AnMaster has set topic: Let's try this | http://tunes.org/~nef/logs/esotseric/ | And this.
19:47:32 -!- ehird has set topic: I like big butts and I cannot lie.
19:47:33 -!- bsmnt_bot has set topic: I like big butts and I cannot lie | http://tunes.org/~nef/logs/esoteric/.
19:47:53 -!- AnMaster has set topic: But why does it fail | if there is more than one section.
19:48:15 <AnMaster> so why didn't it add the logs?
19:48:17 -!- bsmnt_bot has quit (Client Quit).
19:48:19 -!- bsmnt_bot has joined.
19:48:32 -!- ehird has set topic: I like big butts and I cannot die.
19:48:39 <ehird> ~exec bot.raw('QUIT')
19:48:39 -!- bsmnt_bot has quit (Client Quit).
19:48:42 -!- bsmnt_bot has joined.
19:48:47 -!- AnMaster has set topic.
19:50:35 -!- AnMaster has set topic: ..
19:50:41 <oklopol> holy fucking fuck. i'm starting to think continuous brainfuck is not entirely possible to do.
19:50:45 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric.
19:50:51 <ehird> we are debugging :|
19:50:54 <AnMaster> oklopol, continuous brainfuck?
19:50:57 <ehird> oklopol: The name is "contfuck".
19:51:13 <oklopol> i just keep using the wrong name for some reason
19:51:19 <ehird> Also, you still have to fit a u in there to perfect it.
19:51:57 <ehird> oklopol's language.
19:52:00 <oklopol> no i can't get the semantics figured out really.
19:52:11 <oklopol> well. actually the semantics are pretty simple
19:52:16 <oklopol> but i can't find a way to implement it
19:52:41 <ehird> AnMaster: OKLOPOL LANGUAGES DO NOT HAVE A SPEC
19:52:41 <oklopol> AnMaster: my languages rarely have specs.
19:52:43 <ehird> You've been here months
19:52:46 <ehird> get it in your head already
19:52:57 <AnMaster> so tell me what is special about the language
19:53:39 <oklopol> {...} starts a block where inc's and dec's are infinitely smaller than values on the outside
19:53:48 <ehird> 19:53 <AnMaster> oklopol, continuations?
19:53:54 <oklopol> numbers are represented as an infinite list of bignums
19:54:04 <AnMaster> <AnMaster> oklopol, continuations?
19:54:06 <AnMaster> <oklopol> and cell 2 would be 10/3
19:54:12 <ehird> AnMaster: your network connection sux
19:54:42 <oklopol> where the ith bignum is kinda a "differential" of all bignums before index i, and {...} step one deeper in this infinite list of nested differentials
19:54:49 <ehird> Yeah, I only hear good things about xs4all.
19:55:08 -!- oerjan has quit ("Good night").
19:55:13 -!- CakeProphet has joined.
19:55:21 <ehird> New plan: Move to the Netherlands, perform hostile takeover of XS4ALL, ???, world domination
19:55:34 <oklopol> AnMaster: and no has nothing to do with continuations, but continuity
19:56:05 <oklopol> oh actually, the cells aren't bignums, they are rationals
19:56:16 <oklopol> or maybe general reals, but i hope that isn't needed...
19:56:17 <AnMaster> bf with continuations would be cool though
19:56:29 <oklopol> maybe, but much less innovative
19:56:44 <oklopol> continuations are so retro
19:56:53 -!- CakeProphet has quit (Remote closed the connection).
19:57:05 <ehird> I made bf+continuations in july 2007
19:57:08 <ehird> http://esolangs.org/wiki/JumpFuck
19:57:15 <ehird> weird, it got implemented
19:57:22 <oklopol> so did you know you can make a turing machine with affine transformations
19:58:04 -!- CakeProphet has joined.
19:58:25 <oklopol> the turku university is like #esoteric^2, the prof i talked to knows tons more about esolanging than i do, i mean, the mathematical aspects of it
19:59:14 <oklopol> also he's encoded turing machines in tiling infinite planes afaiu
19:59:21 <ehird> oklopol: Get him in here
20:00:03 <oklopol> i'm not sure he'd be at home here
20:00:15 <oklopol> much older than oerjan (i think)
20:00:23 <oklopol> (i can't really assess that, just assume)
20:00:29 <ehird> meh, we can just create #esoteric-sans-gay-sex
20:01:04 <Slereah> I guess it's not really esoteric without gay sex
20:05:07 -!- MigoMipo has joined.
20:13:34 -!- Corun has joined.
20:18:29 -!- bsmnt_bot has quit.
20:18:31 -!- bsmnt_bot has joined.
20:18:37 -!- ehird has set topic: Epic win time.
20:18:38 -!- bsmnt_bot has set topic: Epic win time | http://tunes.org/~nef/logs/esoteric.
20:19:28 <ehird> http://tunes.org/~nef/logs/eurocreme
20:19:31 -!- ehird has set topic: http://tunes.org/~nef/logs/eurocreme.
20:19:48 -!- ehird has set topic: ?.
20:19:48 -!- bsmnt_bot has set topic: ? | http://tunes.org/~nef/logs/esoteric.
20:19:51 -!- ehird has set topic: http://tunes.org/~nef/logs/eurocreme.
20:20:05 -!- ehird has set topic: tunes.org.
20:20:05 -!- bsmnt_bot has set topic: tunes.org | http://tunes.org/~nef/logs/esoteric.
20:20:05 <Slereah> Aw, the link does not exist :(
20:20:16 -!- ehird has set topic: http://tunes.org/~nef/logs.
20:20:17 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs | http://tunes.org/~nef/logs/esoteric.
20:20:20 -!- Slereah has set topic: goatse.cx | tunes.org | http://tunes.org/~nef/logs/esoteric.
20:20:22 -!- ehird has set topic: http://tunes.org/~nef/logs/esocreme.
20:20:22 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/esocreme | http://tunes.org/~nef/logs/esoteric.
20:20:26 -!- ehird has set topic: http://tunes.org/~nef/logs/eurocreme.
20:20:33 <ehird> Only eurocreme breaks it.
20:23:26 -!- ehird has set topic: eurocreme.
20:23:27 -!- bsmnt_bot has set topic: eurocreme | http://tunes.org/~nef/logs/esoteric.
20:23:34 -!- ehird has set topic: http://tunes.org/~nef/logs/esocreme.
20:23:34 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/esocreme | http://tunes.org/~nef/logs/esoteric.
20:23:37 -!- ehird has set topic: http://tunes.org/~nef/logs/eurocreme.
20:23:38 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/eurocreme | http://tunes.org/~nef/logs/esoteric.
20:23:42 <ehird> MizardX: it works now
20:24:29 -!- ehird has set topic: http://tunes.org/~nef/logs/eurocreme.
20:25:32 -!- ehird has set topic: a.
20:25:33 -!- bsmnt_bot has set topic: a | http://tunes.org/~nef/logs/esoteric.
20:25:41 -!- ehird has set topic: http://tunes.org/~nef/logs/eurocreme.
20:26:15 -!- MizardX has set topic: b.
20:26:21 -!- MizardX has set topic: b c.
20:26:28 -!- MizardX has set topic: b c :.
20:29:43 -!- MizardX has set topic: b.
20:29:43 -!- bsmnt_bot has set topic: b | http://tunes.org/~nef/logs/esoteric.
20:29:50 -!- MizardX has set topic: b c.
20:29:50 -!- bsmnt_bot has set topic: b c | http://tunes.org/~nef/logs/esoteric.
20:29:54 -!- MizardX has set topic: b c ://.
20:29:55 -!- bsmnt_bot has set topic: b c :// | http://tunes.org/~nef/logs/esoteric.
20:30:10 -!- MizardX has set topic: http://tunes.org/~nef/logs/eurocreme.
20:30:11 -!- bsmnt_bot has set topic: http://tunes.org/~nef/logs/eurocreme | http://tunes.org/~nef/logs/esoteric.
20:30:34 -!- MizardX has set topic: spamplex.
20:31:35 <MizardX> it always works a few times, then stops
20:31:35 <oklopol> so am i to understand you have a bug in a bot written in python?
20:35:27 -!- ehird has set topic: eurocreme.
20:35:31 -!- bsmnt_bot has set topic: eurocreme | http://tunes.org/~nef/logs/esoteric.
20:36:04 -!- ehird has set topic: eurocreme.
20:37:03 <MizardX> ... it works sometimes. Now I need some food
20:37:05 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
20:37:19 -!- bsmnt_bot has set topic: eurocreme | http://tunes.org/~nef/logs/esoteric.
20:37:21 -!- ehird has set topic: eurocreme.
20:37:22 -!- Judofyr has joined.
20:37:24 -!- bsmnt_bot has set topic: eurocreme | http://tunes.org/~nef/logs/esoteric.
20:37:25 -!- ehird has set topic: eurocreme.
20:37:28 -!- bsmnt_bot has set topic: eurocreme | http://tunes.org/~nef/logs/esoteric.
20:37:33 <ehird> it works odd times
20:39:15 <oklopol> well isn't that pretty awesome?
20:39:41 -!- ehird has set topic: eurocreme.
20:39:44 -!- bsmnt_bot has set topic: eurocreme | http://tunes.org/~nef/logs/esoteric.
20:39:53 -!- ehird has set topic: eurocreme.
20:39:53 -!- bsmnt_bot has set topic: eurocreme | http://tunes.org/~nef/logs/esoteric.
20:39:56 -!- ehird has set topic: eurocreme.
20:39:56 -!- bsmnt_bot has set topic: eurocreme | http://tunes.org/~nef/logs/esoteric.
20:39:59 -!- ehird has set topic: eurocreme.
20:40:00 <oklopol> :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
20:40:59 -!- Slereah has set topic: If you were to die tomorrow in a table-related accident, I wouldn't give a rat's ass because I would be sitting on my table..
20:41:00 -!- bsmnt_bot has set topic: If you were to die tomorrow in a table-related accident, I wouldn't give a rat's ass because I would be sitting on my table. | http://tunes.org/~nef/logs/esoteric.
20:48:10 <kerlo> It works only at times?
20:48:17 <kerlo> Maybe it waits for the next message or something.
21:15:45 -!- AnMaster has set topic: Hm What?.
21:16:18 -!- AnMaster has set topic: Odd..
21:16:18 -!- bsmnt_bot has set topic: Odd. | http://tunes.org/~nef/logs/esoteric.
21:16:30 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric.
21:16:36 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric | test.
21:16:52 -!- AnMaster has set topic: test | test.
21:16:53 -!- bsmnt_bot has set topic: test | test | http://tunes.org/~nef/logs/esoteric.
21:16:59 -!- AnMaster has set topic: test | test | http://tunes.org/~nef/logs/esotaeric.
21:17:12 <AnMaster> ehird, why does it only work sometimes?
21:17:17 -!- AnMaster has set topic: test | test | http://tunes.org/~nef/logs/esotaeric | any idea?.
21:17:18 -!- bsmnt_bot has set topic: test | test | http://tunes.org/~nef/logs/esotaeric | any idea? | http://tunes.org/~nef/logs/esoteric.
21:17:32 -!- AnMaster has set topic: Topic goes here | http://tunes.org/~nef/logs/esoteric.
21:19:17 -!- Slereah has set topic: Cock goes here | http://tunes.org/~nef/logs/esoteric.
21:43:27 <ehird> folklore.org is down :<
21:48:13 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric.
21:56:06 <psygnisfive> i once started reading it, and i wansn't really sure how i felt
22:03:37 -!- |MigoMipo| has joined.
22:09:27 -!- |MigoMipo| has quit ("QuitIRCException: MigoMipo out of IRC").
22:20:32 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
22:31:04 <AnMaster> ehird, English language question
22:31:24 <AnMaster> would "Please don't hotlink images" work as a text to replace externally hotlinked images with?
22:31:53 <AnMaster> (It isn't fun when someone hotlinks a full size screenshot and display it as a thumbnail.)
22:32:10 <ehird> AnMaster: I recommend goatse.
22:32:18 <ehird> Or, perhaps, "Hello! I am the owner of this site. I suck dicks!"
22:32:25 <ehird> But yes, what MizardX said
22:32:32 <AnMaster> ehird, not appropriate for this type of site
22:32:42 <ehird> goatse is _always_ appropriate.
22:32:46 <AnMaster> "Please don't hotlink images from this site"
22:32:48 <ehird> Family gathering? Goatse!
22:33:10 <Slereah> It's the party trick that brightens ever family event
22:33:25 <Slereah> I wonder if Kirk Johnson knows of his fame
22:36:10 -!- BeholdMyGlory has joined.
22:41:44 <oklopol> "this always happens to me in family scrabble games"
22:43:29 <ehird> "what letters do you have?"
22:43:38 <ehird> "D, I, S, T, E, N, D, E, D, BLANK, A, N, U, S"
22:43:47 -!- M0ny has left (?).
22:44:59 <kerlo> Who's Kirk Johnson?
22:50:44 <ehird> "And not all languages can do the same as all others.. as you seem to claim."
22:50:54 <flexo> no msg from christel
22:50:54 <ehird> => "What is turing completeness?"
22:51:06 <ehird> flexo: she doesn't love you any more.
22:51:09 <ehird> we all got messages from her.
22:51:45 -!- CakeProphet has quit ("lol").
23:06:45 -!- decipher has quit (kornbluth.freenode.net irc.freenode.net).
23:07:08 -!- decipher has joined.
23:08:07 -!- decipher_ has joined.
23:08:08 -!- decipher has quit (Read error: 104 (Connection reset by peer)).
23:10:06 -!- Judofyr has quit (Remote closed the connection).
23:10:41 <kerlo> ehird: who said not all language can do the same as all others?
23:10:48 <ehird> a reddit commenter
23:11:17 <kerlo> Well, he's right, if "all" means "all".
23:11:25 <ehird> Which it doesn't in context :P
23:12:40 <FireFly> [23:41:44] <oklopol> "this always happens to me in family scrabble games"
00:00:00 -!- BeholdMyBot has joined.
00:00:31 <FireFly> [00:59:58] <@FireFly> ^bf +++++++++++++.-----[->++++++++>++++>++++++++++++<<<]>++++++++++.+++++.------.+++++.>.+++.>+++++.++++++++++++++.----.+++++.---------------.+++++++++++++.---------.------.
00:00:45 -!- BeholdMyBot has left (?).
00:03:32 <Deewiant> ehird: I just released Coadjute, in case you're interested.
00:03:42 <Deewiant> And with that, I'm off to sleep ->
00:03:54 <Deewiant> iki.fi/matti.niemenmaa/coadjute
00:08:56 <oklopol> www.iki.fi/matti.niemenmaa/coadjute
00:09:38 <ehird> oh, for clickability?
00:13:41 <BeholdMyGlory> ^bf +++++++++++++.---[>++++++<-]>+++++<+++++[>+++<-]>.<+++++[>---<-]>.<+++++[>+++<-]>++.++.>+++++++[>+++++<-]>---.+++.<+++[<+++++>-]<++.++++++++++++++.----.+++++.---------------.+++++++++++++.---------.------.
00:15:51 -!- moozilla has joined.
00:28:21 <ehird> Holy shit kottke.org redesigned and it looks so ugly
00:30:40 <ehird> well, ok, only the STUPID BLUE BORDER looks ugly
00:43:25 <flexo> it started looking all fine
00:43:32 <flexo> until loading the images finished
00:44:02 * ehird sees if he can block that image ;-)
00:55:10 -!- BeholdMyGlory has quit ("bye").
00:57:51 -!- FireFly has quit ("Later").
02:07:26 <kerlo> Great, I have a functioning Lispoid. It has only one primitive: lambda.
02:07:56 <kerlo> I don't want to figure out how it works, so you guys tell me what expressions to evaluate.
02:08:41 -!- GregorR has joined.
02:09:01 <kerlo> Hi, GregorR. I'm a LISP bot now.
02:09:44 -!- GregorR has quit (Remote closed the connection).
02:09:58 <kerlo> I guess I was too scary.
02:11:13 <kerlo> *Lisp> evaluate . read $ "((lambda a (a a)) (3 4))"
02:11:47 <kerlo> Hey, I got it to go into an actual infinite loop.
02:11:55 <kerlo> As opposed to those fake infinite loops you see on TV.
02:15:25 <kerlo> *Lisp> evaluate . read $ "((lambda s ((lambda k s) (lambda x (lambda y x)))) (la
02:15:29 <kerlo> mbda x (lambda y (lambda z ((x z) (y z))))))"
02:15:31 <kerlo> [lambda x (lambda y (lambda z ((x z) (y z))))]
02:16:13 <kerlo> Replacing that inner thing with (s k) gives this: [lambda y (lambda z (((lambda x (lambda y x)) z) (y z)))]
02:18:05 <kerlo> ((s k) a) gives this: [lambda z (((lambda x (lambda a x)) z) (a z))]
02:18:16 <kerlo> (((s k) a) b), surprisingly, gives this: b
02:18:46 <kerlo> Wait, no, that's actually correct.
02:20:13 <kerlo> I'd be surprised if this could actually handle big expressions correctly.
02:30:36 * kerlo makes s, k and i built-ins
02:32:47 <kerlo> Now the only things we need are foldr and equality testing.
02:38:46 <kerlo> And both have now been implemented.
02:42:31 <kerlo> All we need to do now is make it an IRC bot!
02:47:18 <MizardX> Lambda is just one greek character. Why need 6 characters to encode it?
02:47:38 <kerlo> It would be shorter to just use L.
02:48:22 <MizardX> or some non-alphanumeric one, such as \, which resembles lambda
02:48:49 <MizardX> ((\s ((\k s) (\x (\y x)))) (\x (\y (\z ((x z) (y z))))))
02:54:47 <adimit> Yi actually has a built-in feature (in haskell mode) that translates '\' directly to the unicode-character 'lambda' in the right context.
02:55:10 <adimit> tremendously useful for my sore eyes :-)
02:57:59 <MizardX> ((λs ((λk s) (λx λy x))) (λx λy λz x z (y z)))
03:02:04 <kerlo> I think my Lispy IRC bot is ready.
03:02:19 <kerlo> There's a small problem, though, in that any parse error in your expression will cause it to disconnect.
03:02:26 -!- kerlobot has joined.
03:03:44 -!- kerlobot has quit (Remote closed the connection).
03:03:51 <kerlo> Cool, that made it quit.
03:10:08 <kerlo> So, I'm stealing someone else's IRC code.
03:18:18 -!- kerlobot has joined.
03:18:25 <kerlobot> [l x (l y (l z ((x z) (y z))))]
03:18:39 <kerlo> #eval This is a syntax error: ]]]]]
03:18:40 -!- kerlobot has quit (Remote closed the connection).
03:21:39 -!- kerlobot has joined.
03:21:44 <kerlobot> [l x (l y (l z ((x z) (y z))))]
03:21:50 <kerlo> #eval This is a syntax error: ]]]]]
03:22:53 <kerlo> #eval (((s i) i) ((s i) i))
03:23:03 <kerlo> #eval I'm waiting...
03:23:19 <kerlo> Yeah, that's never going to finish.
03:23:22 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
03:29:43 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
03:29:49 -!- puzzlet has joined.
03:34:16 -!- kerlobot has joined.
03:34:30 <kerlo> #eval This is probably a syntax error.
03:34:49 <kerlo> #temp This is probably a syntax error.
03:35:46 <kerlo> Built-in functions: s, k, i, l, f, e
03:36:03 <kerlo> So one thing it can do is evaluate SKI calculus.
03:36:50 <MizardX> no way to concatenate strings?
03:37:07 <kerlo> You might be able to figure out a way to concatenate lists, though.
03:37:27 <kerlo> f is the foldr function.
03:37:45 -!- puzzlet has quit (Remote closed the connection).
03:37:49 -!- puzzlet has joined.
03:38:16 <kerlo> #eval (((l x (l y (list x y))) 1) 2)
03:38:48 <kerlo> Obvious improvement: make l take a list of arguments, not just one.
03:39:45 <MizardX> #eval ((l list (list x)) y)
03:39:58 <MizardX> so how is list different from any other value?
03:40:16 <MizardX> numbers, strings and tuples
03:40:38 <kerlo> My lisp has three types: atom, list, and lambda function.
03:41:04 <kerlo> "foo" is an atom. "(blah blah blah)" is a list. "[l x y]" is a lambda function.
03:41:37 <kerlo> If you don't have any parentheses or brackets, you won't have any lists or lambda functions.
03:42:08 <MizardX> I know. Since you didn't mention strings, I had to test the function of "
03:42:40 <kerlo> " is not a special character in any way; only parentheses, brackets and whitespace are different from letters.
03:42:56 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
03:43:29 -!- kerlobot has joined.
03:43:52 <kerlo> #temp (the answer is input)
03:44:05 <kerlo> Oh, that's not the answer at all.
03:44:56 <kerlo> Now everything will evaluate to (x y).
03:45:24 <kerlo> The bot stores a template, which is by default "input".
03:45:49 <kerlo> The #temp and #eval commands substitute their input for the word "input" in the template, then do something with the results.
03:46:06 <kerlo> #temp sets the the template to it; #eval evaluates it and outputs the result.
03:46:14 <kerlo> Now the template is "input" again.
03:47:11 <kerlobot> [l x (l y (l z ((x z) (y z))))]
03:47:38 <kerlo> #eval (e 3 3 yes no)
03:47:40 <kerlo> #eval (e 3 4 yes no)
03:47:59 <kerlo> #eval (f one two (1 2 3))
03:48:08 <kerlo> #eval (f one two ())
03:48:49 <kerlo> #temp ((l foo (How useful!)) input)
03:49:00 <kerlo> #eval (one fish two fish red fish foo fish)
03:49:08 <kerlo> Oops, wrong way around.
03:49:21 <kerlo> #temp ((l foo input) (How useful!))
03:49:23 <kerlo> #eval (one fish two fish red fish foo fish)
03:49:24 <kerlobot> (one fish two fish red fish (How useful!) fish)
03:49:43 <kerlo> #temp ((l red input) (Not.))
03:49:45 <kerlo> #eval (one fish two fish red fish foo fish)
03:49:45 <kerlobot> (one fish two fish (Not.) fish (How useful!) fish)
03:50:03 <kerlo> #temp ((l fish input) (Look, they stack! foo foo foo))
03:50:07 <kerlo> #eval (one fish two fish red fish foo fish)
03:50:07 <kerlobot> (one (Look, they stack! (How useful!) (How useful!) (How useful!)) two (Look, they stack! (How useful!) (How useful!) (How useful!)) (Not.) (Look, they stack! (How useful!) (How useful!) (How useful!)) (How useful!) (Look, they stack! (How useful!) (How useful!) (How useful!)))
03:50:22 <kerlo> And that's how you set things.
03:56:30 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
03:56:36 -!- kerlobot has joined.
03:56:48 <kerlo> Now it should behave intelligently if you apply a function to too many arguments.
03:57:00 <kerlobot> ([l x (l y (l z ((x z) (y z))))] x y z)
03:57:53 <kerlo> Did I do something silly, like forget to reload?
03:57:58 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
03:58:10 -!- kerlobot has joined.
03:58:32 <kerlo> #eval (one fish two fish red fish blue fish)
03:58:32 <kerlobot> (((((((one fish) two) fish) red) fish) blue) fish)
03:58:42 <kerlo> Look how intelligent that is!
04:00:11 -!- CakeProphet has joined.
04:02:07 <kerlo> Now to figure out how to concatenate two lists using this thing.
04:03:41 <kerlo> Okay, here are the guts of this bot: http://pastebin.ca/1311359
04:04:00 <kerlo> If I figure out how to access the wiki, I might write a little spec for this language and put it there.
04:05:37 <kerlo> It's an esolang bot, I guess.
04:06:26 <kerlo> It's something resembling Lisp.
04:07:31 <kerlo> The whole bot is 152 lines. The guts of the interpreter are just 53, though, I guess.
04:07:58 <psygnisfive> i was wondering why i didnt see io stuff there :p
04:09:11 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
04:09:19 -!- kerlobot has joined.
04:09:26 <kerlo> #eval (cons 1 (2 3))
04:09:56 <kerlo> That's wrong, though. :-P
04:10:27 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
04:10:35 -!- kerlobot has joined.
04:10:57 <kerlo> CREAMPUFF! doesn't actually do anything.
04:11:11 <psygnisfive> and here i thought it was your special restart command
04:11:11 <kerlo> I mean, it doesn't do anything that, say, "There we go." wouldn't.
04:11:40 <kerlo> I assure you that this is all part of my evil plan.
04:11:48 <kerlo> #eval (list (1 2 3))
04:12:37 <kerlo> Do some ski, bsmntbombdood!
04:15:31 <MizardX> #eval (l x (l y (x y)) a b
04:15:36 -!- kerlobot has quit (Remote closed the connection).
04:16:50 <kerlo> Let me fix the parser, then...
04:17:24 -!- kerlobot has joined.
04:17:28 <MizardX> #eval (l x (l y (x y)) a b
04:17:29 <kerlo> #eval (l x (l y (x y)) a b
04:17:40 <MizardX> #eval ((l x (l y (x y)) a b)
04:17:54 <kerlo> Match your parentheses, my friend.
04:17:57 <MizardX> lambdas can only take one argument?
04:18:08 <kerlo> Lambdas can only take one argument, inded.
04:18:13 <kerlo> That was quick, indeed.
04:18:14 <bsmntbombdood> shouldn't it take longer than 3 seconds to make that change?
04:18:22 <kerlo> Well, I just added the line readsPrecLisp' n [] = []
04:18:39 <MizardX> #eval (l (x y) (z (x y))) (1 2)
04:18:45 <MizardX> #eval ((l (x y) (z (x y))) (1 2))
04:18:59 <kerlo> Meaning "if you're waiting for a close bracket and there's nothing there, there are no parses."
04:19:21 <kerlo> #eval ((l x (l y (x y))) a b)
04:19:44 <kerlo> #eval (this is the input)
04:20:01 <kerlo> #temp (input input input)
04:20:01 <kerlo> #temp (input input input)
04:20:02 <kerlo> #temp (input input input)
04:20:05 <kerlobot> ((((((3 3) 3) (3 3 3)) (3 3 3)) ((3 3 3) (3 3 3) (3 3 3))) ((3 3 3) (3 3 3) (3 3 3)))
04:21:10 <kerlo> Lists must be enclosed in parentheses.
04:21:17 <kerlo> #eval ((l x (e x 3)) 4)
04:21:59 <kerlo> Yes, but it takes four arguments.
04:22:16 <MizardX> #eval ((l x (e 0 1 x 3)) 4)
04:22:16 <kerlo> Returns the third if the first and second are equal, the fourth otherwise.
04:22:28 <MizardX> #eval ((l x (e x 3 0 1)) 4)
04:22:41 <MizardX> #eval ((l x (e x 3 1 0)) 3)
04:23:03 <kerlo> I'm still waiting for someone to figure out a function for concatenating two lists. :-)
04:23:08 <kerlo> Might not be possible; I dunno.
04:23:53 <MizardX> nothing I could think of. foldr works for breaking up a list, but not putting it back together
04:24:44 <kerlo> #eval (a (does this look like) (cons to you?))
04:24:45 <kerlobot> ((((does this look like) cons) to) you?)
04:25:01 <kerlo> What we need is...
04:25:37 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
04:26:01 -!- kerlobot has joined.
04:26:06 <kerlo> What we need is v!
04:26:20 <kerlo> #eval (v test (a (does this look like) (cons to you?)))
04:26:20 <kerlobot> (test ((((does this look like) cons) to) you?))
04:26:29 <kerlo> I think that's wrong.
04:26:42 <kerlo> apply (Atom "v") (x:xs) = evaluate (List (x : map evaluate xs))
04:27:40 <kerlo> It was intended to circumvent this: apply f (x1:x2:xs) = apply (apply f [x1]) (x2:xs)
04:27:55 -!- GregorR has joined.
04:28:00 <kerlo> But that line sucks, so I've removed both. Creampuff.
04:28:01 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
04:28:13 -!- kerlobot has joined.
04:28:26 <kerlo> #eval (a x (1 2 3))
04:28:35 <kerlo> Now it's starting to look like cons, eh?
04:30:14 <MizardX> #eval (f a () ((1 2 3) (4 5 6)))
04:30:44 <kerlo> I'm sure something looked like a good idea at the time.
04:31:05 <MizardX> #eval (f a x ((1 2 3) (4 5 6)))
04:31:07 <kerlo> Let me make it better.
04:32:00 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
04:32:06 -!- kerlobot has joined.
04:32:17 <MizardX> #eval (f a x ((1 2 3) (4 5 6)))
04:32:35 <kerlo> #eval (f a () ((1 2 3) (4 5 6)))
04:32:57 <MizardX> #eval (f one two ((1 2 3) (4 5 6)))
04:32:57 <kerlobot> (one (1 2 3) (one (4 5 6) two))
04:33:22 <MizardX> #eval (f (a x) () ((1 2 3) (4 5 6)))
04:33:22 <kerlobot> ((a x) (1 2 3) ((a x) (4 5 6) ()))
04:33:45 <kerlo> #eval (f (a x ()) () ((1 2 3) (4 5 6)))
04:33:45 <kerlobot> ((a x ()) (1 2 3) ((a x ()) (4 5 6) ()))
04:34:18 <MizardX> it should re-evaluate it until it can't any more
04:34:32 <kerlo> #eval ((a x ()) (1 2 3) ((a x ()) (4 5 6) ()))
04:34:32 <kerlobot> ((x) (1 2 3) ((a x ()) (4 5 6) ()))
04:34:38 <kerlo> Yeah, that's broken.
04:35:16 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
04:35:22 -!- kerlobot has joined.
04:35:29 <kerlo> #eval (f (a x) () ((1 2 3) (4 5 6)))
04:35:30 <kerlobot> ((a x) (1 2 3) ((a x) (4 5 6) ()))
04:35:39 <kerlo> #eval (f (a x ()) () ((1 2 3) (4 5 6)))
04:35:39 <kerlobot> ((x) (1 2 3) ((x) (4 5 6) ()))
04:35:57 <MizardX> doesn't seem to recognize (a x) as a partial application of a
04:38:37 <MizardX> #eval (f (l z (a x z)) () ((1 2 3) (4 5 6)))
04:38:38 <kerlobot> ([l z (a x z)] (1 2 3) ([l z (a x z)] (4 5 6) ()))
04:39:01 * kerlo ponders how a head or tail function might be made
04:39:47 <kerlo> A variable-argument lambda would be very nice.
04:40:02 <MizardX> #eval (f (l a (l b a)) (1 2 3) (4 5 6))
04:40:03 <kerlobot> ([l a (l b a)] 4 ([l a (l b a)] 5 ([l a (l b a)] 6 (1 2 3))))
04:40:10 <kerlo> A bit difficult, though.
04:40:28 <MizardX> #eval (f (l x (l y (a x y))) (1 2 3) (4 5 6))
04:40:29 <kerlobot> ([l x (l y (a x y))] 4 ([l x (l y (a x y))] 5 ([l x (l y (a x y))] 6 (1 2 3))))
04:41:09 <kerlo> Closing brackets don't seem to matter.
04:41:10 <MizardX> why doesn't that work? --^
04:41:26 <MizardX> #eval ([l x (l y (a x y))] 4 ([l x (l y (a x y))] 5 ([l x (l y (a x y))] 6 (1 2 3))))
04:41:26 <kerlobot> ([l x (l y (a x y))] 4 ([l x (l y (a x y))] 5 ([l x (l y (a x y))] 6 (1 2 3))))
04:41:39 <kerlo> Wait a bit, let me write the new lambdas.
04:41:41 <MizardX> #eval ((l x (l y (a x y))) 4 ((l x (l y (a x y))) 5 ((l x (l y (a x y))) 6 (1 2 3))))
04:41:41 <kerlobot> ([l x (l y (a x y))] 4 ((l x (l y (a x y))) 5 ((l x (l y (a x y))) 6 (1 2 3))))
04:44:50 <MizardX> #eval (((l x (l y x)) 3) 4)
04:44:50 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
04:51:01 -!- kerlobot has joined.
04:51:13 <MizardX> #eval (((l x (l y x)) 3) 4)
04:51:32 <kerlo> #eval ((l (x y z) (they are x y z z y)) 1 2 3)
04:52:40 <MizardX> #eval ((l (x) (l (y) x)) 3 4)
04:52:50 <MizardX> #eval (((l (x) (l (y) x)) 3) 4)
04:52:54 -!- puzzlet has quit (Remote closed the connection).
04:53:02 -!- puzzlet has joined.
04:53:27 <MizardX> #eval (((l (x) (l (x) x)) 3) 4)
04:54:52 <MizardX> #eval ((l (left right) (f a right left)) (1 2 3) (4 5 6))
04:57:34 <MizardX> #eval (f (l (x y) x) (1 2 3))
04:57:42 <MizardX> #eval (f (l (x y) x) r (1 2 3))
04:57:51 <MizardX> #eval (f (l (x y) x) x (1 2 3))
04:58:04 <MizardX> #eval (f (l (x y) x) x (this is a list))
04:58:15 <kerlo> Congratulations, you've implemented head.
04:59:02 <kerlo> #temp ((lambda (l) input) (f (l (x y) x) (error: empty list) l))
04:59:06 <kerlo> #eval (head (1 2 3))
04:59:06 <kerlobot> ((lambda (l) (head (1 2 3))) (f (l (x y) x) (error: empty list) l))
05:00:47 <kerlo> #temp ((lambda (head) input) (f (l (x y) x) (error: empty list) l))
05:00:51 <kerlo> #eval (head (1 2 3))
05:00:51 <kerlobot> ((lambda (head) (head (1 2 3))) (f (l (x y) x) (error: empty list) l))
05:01:10 <kerlo> Why isn't that evaluating...
05:01:43 <kerlo> #temp ((l (head) input) (f (l (x y) x) (error: empty list) l))
05:01:47 <kerlo> #eval (head (1 2 3))
05:01:47 <kerlobot> ((f (l (x y) x) (error: empty list) l) (1 2 3))
05:03:14 <kerlo> #temp ((l (head) input) (lambda (list) (f (l (x y) x) (error: empty list) list)))
05:03:21 <kerlo> #eval (head (1 2 3))
05:03:21 <kerlobot> ((lambda (list) (f (l (x y) x) (error: empty list) list)) (1 2 3))
05:03:55 <kerlo> #temp ((l (head) input) (l (list) (f (l (x y) x) (error: empty list) list)))
05:03:57 <kerlo> #eval (head (1 2 3))
05:04:40 <kerlo> #temp ((l (head) input) (l (ls) (f (l (x y) x) (error: empty list) ls)))
05:05:30 <kerlo> #eval (error: empty head)
05:05:30 <kerlobot> (error: empty (l (ls) (f (l (x y) x) (error: empty list) ls)))
05:06:42 -!- kerlobot has quit (Remote closed the connection).
05:07:16 -!- kerlobot has joined.
05:07:20 -!- kerlobot has quit (Remote closed the connection).
05:07:32 <kerlo> Right, the definition of s is now broken.
05:07:57 -!- kerlobot has joined.
05:08:06 <kerlobot> [l (x) (l (y) (l (z) ((x z) (y z))))]
05:08:13 <kerlo> That's the new definition of s.
05:08:37 <kerlobot> ([l (x) (l (y) (l (z) ((x z) (y z))))] x y z)
05:09:31 <kerlo> #temp ((l (s) input) lol)
05:09:36 <kerlo> #eval (((s x) y) z)
05:11:28 <kerlo> It's like Haskell, I guess. You have to explicitly uncurry them.
05:11:45 <kerlo> Explicitly curry them, rather.
05:12:02 <kerlo> It's just that Haskell pretty much uses curry by default.
05:14:31 <kerlo> Fun fact: a evaluates its first argument.
05:17:17 <MizardX> yesterday: «07:43:59» {MizardX} shower and breakfast
06:07:17 -!- metazilla has joined.
06:30:08 -!- moozilla has quit (Connection timed out).
06:41:08 -!- moozilla has joined.
06:54:16 -!- metazilla has quit (Connection timed out).
07:43:16 -!- moozilla has quit (K-lined).
07:56:01 -!- Corun has quit ("This computer has gone to sleep").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:56:58 -!- puzzlet_ has joined.
08:57:46 -!- puzzlet has quit (Remote closed the connection).
09:29:03 <AnMaster> huh, not a single spam message since yesterday? How strange, usually there are around 10-20 new spams after a night.
09:51:30 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
10:21:01 -!- FireFly has joined.
10:35:32 -!- MigoMipo has joined.
10:41:27 -!- FireFly has quit ("Later").
10:52:58 -!- oklopol has joined.
10:53:34 -!- BeholdMyGlory has joined.
11:16:38 -!- Judofyr has joined.
11:21:56 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
11:32:08 -!- KingOfKarlsruhe has joined.
12:14:11 -!- Mony has joined.
12:15:45 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
12:49:30 -!- sebbu2 has quit (No route to host).
13:04:56 -!- sebbu has joined.
13:16:21 -!- Judofyr has joined.
13:44:22 -!- ehird has left (?).
13:44:24 -!- ehird has joined.
13:46:52 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
13:47:57 -!- MigoMipo has joined.
13:49:23 -!- Corun has joined.
14:11:49 -!- BeholdMyGlory has joined.
14:12:32 <ehird> optimising scheme is hard, you can't even constant-fold (+ 1 1) because you can redefine + at any point
14:12:44 <ehird> including e.g. EVAL on user input
14:15:06 <oklopol> you can constant-fold it, and have a global trigger system, attaching a lambda to unfold the constant when + is changed
14:15:28 <oklopol> essentially just a hack to get over the theoretical possibility of being fucked in the ass by a smart-ass user.
14:15:33 <ehird> oklopol: that's not much of an optimization :-P
14:15:50 <oklopol> ehird: why not? you get the same speed as with just constant folding
14:16:00 <oklopol> you just need to do a few more lookups when defining functions
14:16:07 <ehird> (set! + (lambda (a b) 0))
14:16:26 <ehird> then it does exactly the same as constant-folded, but slowly
14:16:29 <ehird> and that's not very consistent
14:18:35 <oklopol> i'm not sure what you mean
14:18:56 <ehird> http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z-H-9.html#%_sec_6.4 <-- god, scroll down to dynamic-wind
14:18:59 <ehird> that shit is crazy
14:21:14 <oklopol> there isn't a subchapter on it, i would have to read the surrounding of the term
14:21:27 <oklopol> i've read that, so err what's its point?
14:21:53 * oklopol is too lazy to read more than absolutely necessary :<
14:22:03 <oklopol> maybe because i read about 10 hours yesterday
14:22:31 <ehird> oklopol: it lets you detect call/cc, pretty much
14:22:40 <ehird> i.e., if we call/cc out of the thunk thing, we call the after thing first
14:24:09 <oklopol> oh i remember. weird ordering shit and thunk stuff.
14:24:26 <oklopol> my brain is kinda mush atm :<
14:24:44 <ehird> oklopol: basically i'm thinking about writing a super-mega-fast scheme implementation
14:25:01 <ehird> and things like dynamic-wind piss me off because they throw my whole model around :<
14:25:57 <oklopol> ehird: well, the gist of compiling uncompilable things is to make the frequent case fast, that is, assume things happen the normal way and do somekinda hack around the fact they might not. this is a trivial idea of course, just that you might not want to do that because it's not fun to implement.
14:26:12 <ehird> oklopol: not schemey though is it
14:26:25 <oklopol> ehird: well it's more schemey than say befungey.
14:26:29 <ehird> schemey would be finding a fast way to implement everything without any special cases
14:26:41 <oklopol> in scheme you rarely, for instance, swap the meaning of + all the time for no reason.
14:26:42 -!- MigoMipo has quit ("QuitIRCException: MigoMipo out of IRC").
14:26:50 <oklopol> ehird: well i'm not talking about dynamic-wind
14:27:04 <oklopol> i'm talking about the weirder stuff.
14:27:04 <ehird> just, i mean, i don't like the idea of having your program being slower or whatever just because you used one particular featur
14:27:22 <ehird> it feels like someone saying, you know, "don't do this", but it's part of scheme, and you should be able to do it and stay as fast
14:27:51 <oklopol> well of course not, i just don't think redefining on the fly is really a feature; dynamic-wind i have a hard time commenting, because i'd have to think about it first :P
14:27:55 <ehird> oklopol: you have to understand that i'm going for crazy-ass speed
14:28:12 <ehird> like, first interpreter, I'm gonna aim for like 5-6x slower than c, or so
14:28:16 <ehird> i mean, that's really fast for an interpreter
14:28:27 <ehird> then I think I'll make it a compiler/jit and write it totally in scheme and stuff
14:28:34 <ehird> and I want to eventually get it ~2x slower than c
14:28:42 <ehird> which will be awesome because I'll never have to write c again.
14:28:49 <oklopol> ehird: i'll assume you're compiling a recursive fibonacci definition into a closed-form expression.
14:29:04 <oklopol> and something equally awesome for everything else too.
14:29:34 <oklopol> oh you're just going for c speed
14:29:35 <ehird> oklopol: a goal for the compiler is to get the generated asm be as compact as hand-written :DD
14:29:46 <ehird> well, c is pretty fast :D
14:29:47 <oklopol> i was thinking like faster than assembly.
14:29:53 <oklopol> faster than theoretically possible
14:30:01 <oklopol> i don't want to underestimate you see.
14:30:12 <ehird> well it could be faster than c
14:30:22 <ehird> because, I mean, it's compiling to machine code, pretty much
14:30:33 <ehird> so you could probably write a program faster than the equivalent in c
14:30:49 <oklopol> so have you read computer architecture - a quantitative approach?
14:31:14 <oklopol> so what's the first chapter's idea
14:31:26 <oklopol> 50 pages of fucking random charts about speeds of random processors and shit
14:31:48 <ehird> oklopol: i haven't, but
14:31:48 <oklopol> before getting to scheduling algorithms and other *content*
14:31:49 <ehird> that sounds awesome
14:32:13 <Corun> I'll have you guys know
14:32:20 <Corun> That I just copied a bit of your conversation
14:32:23 <Corun> In to another conversation
14:32:25 <oklopol> i mean i understand they want to include statistics and history and shit so people feel like they're reading about something that has practical significance.
14:32:32 <Corun> To show an example usage of the word lol
14:32:40 <Corun> You're THE INTERNET.
14:32:59 <oklopol> but what about us weirdos who can't skip the reading of the useless parts :|
14:33:18 <ehird> Corun: ooh, which part
14:34:28 <Corun> The bit with the lol in...
14:34:33 <Corun> <oklopol> i was thinking like faster than assembly.
14:34:33 <Corun> <oklopol> faster than theoretically possible
14:34:33 <Corun> <oklopol> i don't want to underestimate you see.
14:35:13 -!- ais523 has joined.
14:35:36 <oklopol> i had something to say to you at some point. just fyi, i already forgot what :P
14:35:39 <ais523> wow, I'm so busy in RL
14:35:45 <ais523> that explains why I'm here on Sunday
14:36:06 <ais523> ehird: me in #esoteric = me online
14:36:18 <ehird> maybe I could optimize scheme by requiring a Proof of Fastness, which is the same program written in assembly
14:36:21 <ehird> and it just uses that assembly
14:36:30 <ais523> so there's more chance of me being here when busy, than there is of me being here when not busy
14:36:41 <ais523> ehird: it would have to prove the two programs were equivalent, or there's be no point
14:36:55 -!- Corun has quit ("This computer has gone to sleep").
14:37:05 <ehird> if you want to mislead people, that's OK
14:37:14 <ehird> it won't try and force its philosophy on you.
14:37:19 <ais523> undefined behaviour if the two programs are different?
14:37:28 <ais523> that way, it is in fact implementing the Scheme
14:38:06 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
14:38:51 <ehird> ais523: yes, exactly!
14:39:19 <ais523> this is annoying, my mouse wheel seems confused
14:39:25 <oklopol> so have you read computer architecture - a quantitative approach?
14:39:27 <ais523> when I turn it downwards, it sometimes scrolls upwards, and vice versa
14:39:29 <AnMaster> ehird, that means you end up having to write asm instead of C
14:39:37 <oklopol> ais523: oh. you could have, maybe.
14:39:45 <ais523> AnMaster: meh, just write C that's the same as the Scheme, and compile it into asm
14:39:52 <AnMaster> <ais523> when I turn it downwards, it sometimes scrolls upwards, and vice versa <-- that happened to be once
14:39:55 <ais523> or, fwiw, write INTERCAL that's the same as the Scheme, and compile /that/ into asm
14:40:04 <ehird> IRC client extension idea: detects when you make a joke and ignores AnMaster for 5 minutes so you don't have to hear it flying over his head.
14:40:09 <AnMaster> ais523, what worked was taking the several old mouse apart, and cleaning it
14:40:16 <ehird> Wouldn't that be great?
14:40:20 <ais523> this one seems to be impossible to take apart
14:40:32 <ais523> I agree it probably needs cleaning, but there's no obvious method for it
14:40:40 <AnMaster> ais523, look under any stickers or such
14:41:06 <ais523> there's one screw on the bottom of the mouse
14:41:24 <ais523> but it has a big feel of "THIS IS AN OPTICAL MOUSE SO YOU DON'T NEED TO CLEAN IT SO WE AREN'T EVEN GOING TO LET YOU CLEAN IT, OK?"
14:41:50 <AnMaster> ais523, if it has some kind of "pads" in the corners the screws are probably hidden under them
14:41:56 <AnMaster> note that they can be hard to reattach
14:42:31 * ehird has a mouse that's like an optical mouse, except it doesn't suck and works on just about every surface. Also, no light on the bottom.
14:42:40 <ais523> the corner pads fell off on my mouse before this one, and there wasn't anything underneath them
14:42:40 <AnMaster> ais523, MS dumbm^Wintellimouse?
14:42:40 <ehird> (The comedy option you're about to pick isn't correct.)
14:42:46 <ais523> AnMaster: no, this one's by Toshiba
14:43:05 <ais523> I have an intellitrackball at home, I think
14:43:11 <AnMaster> ais523, on ms mice they tend to be hidden under those corner pads
14:43:16 <ais523> we got it for the desktop computer when mice kept falling off the table
14:43:22 <ais523> but that one is cleanable, and I have to clean it lots
14:43:45 <AnMaster> well I want a simple to clean mouse
14:44:25 <ais523> it's pretty hard to get decent mice nowadays
14:44:36 <ais523> the retailer I bought this one from has since gone bankrupt
14:44:38 <AnMaster> ais523, well yes, and hard to get large enough ones
14:44:54 <ais523> that's not so much of a problem for me, I'm OK with small mice
14:45:03 <AnMaster> ms mice actually tend to be the only ones that work for me when it comes to size
14:45:31 <ehird> things are too big for me.
14:45:45 <ehird> i don't use certain features of programs because hte keyboard shortcuts are too hard for me to hit.
14:45:47 <ehird> because i have tiny hands.
14:45:54 <oklopol> ehird: so you mean it's *not* a bit clown nose?
14:46:07 <ehird> also, it's hard to hold a mouse correctly when it's bigger than your hand
14:46:12 <ais523> ehird: get a smaller keyboard?
14:46:17 <ehird> ais523: this one _is_ small
14:46:39 <oklopol> oh dear. that joke was so oerjan.
14:46:50 <ais523> ehird: you can always get a smaller one
14:46:53 <oklopol> i seriously think i'm slowly oerjanizing.
14:46:58 <ais523> there must be some way to use an Eee PC as a keyboard, for instance
14:47:04 <ehird> ais523: unlikely, in this case
14:47:13 <ehird> and no way am I paying that much for a keyboard
14:47:19 <ehird> the eee pc keyboard isn't much smaller than this i think
14:48:19 <ehird> can't find any measurements of this kb on the internetwebs unfortunately
14:49:36 <ais523> ehird: you can measure it with a ruler easily enough
14:49:42 <ais523> if it's physically there in front of you
14:49:46 <ais523> and if it isn't, how are you typing?
14:49:48 <ehird> well, yeah, but that's _cheating_
14:51:10 * ehird compiles an in-head list of things R5RS Scheme is missing to be able to write programs in
14:51:18 <ehird> (it's surprisingly short, 5-6 or so elements)
14:51:47 <ais523> could you add them to it easily?
14:52:31 <ehird> Quite easily. Some are easier than others.
14:52:42 <ehird> I don't think any of them break backwards compatibility, either.
14:53:05 <ehird> (i.e., they don't change the semantics of any R5RS-correct programs, just define some R5RS-incorrect programs to be extended-R5RS-correct)
14:53:43 <ehird> ais523: i'm going to write a Scheme implementation you see
14:54:01 <ais523> Scheme's good for writing Scheme impls, but you have a chicken-and-egg problem there
14:54:03 <ehird> then, for the next version, Scheme
14:54:12 <ehird> 'm going to do is:
14:54:15 <ehird> first version - interpreter
14:54:23 <ehird> second version - compiler & JIT
14:54:31 <ehird> one of my main goals for both is to be stinking fast
14:54:39 <ehird> the first version I'm aiming for something like 5x slower than c
14:54:47 <ehird> second version? hopefully, competitive with C
14:54:56 <ais523> 5x slower, in an /interpreter/?
14:55:03 <ehird> ais523: ok, that was an exaggeration :-)
14:55:12 <ehird> i meant like 10x, I was just being hopeful
14:55:22 <ehird> i'm pretty sure 10x would be possible.
14:55:53 <ehird> ais523: but indeed, chicken and the egg for version 2
14:56:02 <ehird> one solution is to keep maintaining version 1 alongside it
14:56:05 <ehird> so you can run version 2
14:56:13 <ehird> but that kind of defeats the point of rewriting it in scheme
14:56:43 <ehird> i don't like ghc's solution of "compile with the previous version, then just hold on tight to that binary"
14:56:47 -!- ais523 has quit (Client Quit).
14:56:57 -!- ais523 has joined.
14:57:03 <AnMaster> ehird, hm when version 2 can bootstrap itself...
14:57:04 <ehird> what did you miss?
14:57:16 <ehird> You need to run it initially.
14:57:22 <ais523> ehird: how should I know what I missed?
14:57:26 <ais523> <ehird> one solution is to keep maintaining version 1 alongside it
14:57:30 <ais523> is the last thing I didn't miss
14:57:34 <ehird> 14:56 <ehird> so you can run version 2
14:57:34 <ehird> 14:56 <ehird> but that kind of defeats the point of rewriting it in scheme
14:57:35 <ehird> 14:56 <ehird> i don't like ghc's solution of "compile with the previous version, then just hold on tight to that binary"
14:57:38 <ehird> 14:56 <ehird> it's fragile
14:57:40 <ehird> AnMaster: yes, written in Scheme.
14:57:50 <ehird> and it will likely use its own extensions.
14:57:53 <ehird> so you need it to compile it.
14:57:55 <ais523> ehird: it isn't fragile if you hang on to past binaries
14:58:04 <ehird> you shouldn't rely on a binary like that
14:58:07 <ehird> it's too closed up
14:58:13 <ais523> ehird: CLC-INTERCAL works like that
14:58:14 <AnMaster> ehird, so well what about "statically compile if the code uses this subset" or something
14:58:21 <ehird> ais523: it's CLC-INTERCAL.
14:58:24 <ais523> and besides, it isn't closed up, you have the source and can regenerate it from the binary
14:58:31 <ehird> AnMaster: sorry, I can only answer coherent questions
14:59:01 <ehird> if you rephrase that coherently I'll answer :p
14:59:06 <AnMaster> ehird, basically: will it jit or be able to compile stand alone binaries?
14:59:32 <AnMaster> ehird, what about compiling to C as a different backend?
14:59:42 <ehird> chicken and the egg
14:59:45 <ehird> how do you run it to compile it to C?
15:00:04 <AnMaster> ehird, well you boot strap it, in the future you can use the C source to compile it
15:00:07 <ais523> AnMaster: that is the ghc solution for porting
15:00:22 <ais523> but the resulting C program is more or less illegible, despite being portable
15:00:35 <ehird> AnMaster: I dislike that solution
15:00:38 <AnMaster> ais523, interesting, but wouldn't you need more for porting ghc, like adding asm output backend
15:00:44 <ehird> because you don't have a way to get it going just from itself
15:00:49 <ehird> you need to hang on to the one compilation
15:00:53 <ais523> ghc compiles via C--, IIRC
15:01:04 <ais523> so yes, you'd need a new C-- to asm backend
15:01:08 <AnMaster> ehird, wasn't the original lisp hand compiled?
15:01:17 <ehird> AnMaster: Yes. The original lisp was also trivially useless.
15:01:44 <AnMaster> ehird, so maintain an interpreter that is portable
15:01:57 <ehird> 14:56 <ehird> one solution is to keep maintaining version 1 alongside it
15:01:58 <ehird> 14:56 <ehird> so you can run version 2
15:02:00 <ehird> 14:56 <ehird> but that kind of defeats the point of rewriting it in scheme
15:02:06 <ehird> I love it when I can just copy and paste past messages to answer people.
15:02:16 <ais523> actually, compiling gcc on a really old compiler needs a multi-stage bootstrap nowadays
15:02:18 <AnMaster> ehird, well not exactly. Since version 1 could be written in portable scheme?
15:02:20 <ais523> via older versions of gcc
15:02:35 <ais523> AnMaster: now ehird will tell you there's no such thing as portable scheme
15:02:36 <AnMaster> ais523, I'm pretty sure you can use a non-gcc for stage1?
15:02:43 <ehird> AnMaster: no, it couldn't, because that's like raping myself.
15:02:43 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
15:02:44 <ais523> AnMaster: you can, but only if it's relatively modern
15:03:04 <AnMaster> ais523, well C89 is ok to expect of course
15:03:07 -!- kerlobot has joined.
15:03:08 <ais523> for instance, there are no compilers for DOS that can bootstrap DJGPP
15:03:18 <AnMaster> ais523, you could cross compile it
15:03:22 <ais523> the only way to get a workign DJGPP impl starting from something else is to cross-compile
15:04:32 <AnMaster> ais523, shouldn't a standard following C89 compiler be enough for gcc stage1?
15:04:45 <AnMaster> well yes you need make, sh and so on
15:04:50 <ais523> for instance, I'm pretty sure it also needs a 32-bit int
15:05:02 <ais523> which is not a requirement of a C89 compiler
15:08:39 <kerlo> #eval ((l (x y) (f a y x)) (1 2 3) (4 5 6))
15:08:54 <ais523> kerlo: what does your bot do?
15:09:03 <kerlo> It evaluates this Lisp-like language.
15:09:23 <kerlo> The most important command is #eval, obviously.
15:09:28 <ais523> lisp with different primitives
15:09:38 <AnMaster> kerlo, specs for this lisp-like language?
15:09:51 -!- Mony has quit ("Quit").
15:10:06 <kerlo> Let me pastebin the source code and also demonstrate a bit.
15:10:34 <AnMaster> since when is specs == source code
15:10:37 <kerlo> http://pastebin.ca/1311618
15:11:35 <kerlo> The primitives are l (lambda), f (foldr), e (equality testing), and a (cons or apply); the familiar s, k and i are also implemented, but are not primitives.
15:12:14 <kerlo> #eval ((l (x y) (blah y x)) (2 3))
15:12:46 <kerlo> #eval ((l (x y) (blah y x)) 2 3)
15:12:59 <ehird> #eval *Y&DSY*&%&5ˆ‹̄›†¢ˆ¢§ˆ¯ßˆ•þ‡̂†̄ ̑›†‡·°_‚·̀
15:13:07 <kerlo> #eval (f raa ree (1 2 3))
15:13:14 <ehird> <AnMaster> since when is specs == source code
15:13:23 <ehird> Since nobody cares about your need of specs to survive.
15:13:35 <kerlo> #eval (e 1 2 yes no)
15:13:36 <ehird> And since we people started using expressive languages.
15:13:39 <kerlo> #eval (e 1 1 yes no)
15:13:53 <kerlo> #eval (a 1 (2 3 4))
15:14:19 <kerlo> Well, there are also the #temp, #reset, and #what commands.
15:16:47 <ehird> Dear DYNAMIC-WIND,
15:16:51 <ehird> Please remove yourself from R5RS.
15:17:27 <ais523> #eval (((s i) i) ((s i) i))
15:17:37 <ehird> ais523: it doesn't guard that.
15:17:40 <ehird> now kerlo will have to restart it
15:17:48 <ehird> #eval INFINITE LOOPED
15:17:57 <ais523> shouldn't be too hard to put an anti-infiniloop protection on...
15:17:57 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
15:18:21 <kerlo> ais523: not at all. I'll send you the full source code so that you can do that. :-P
15:18:25 -!- kerlobot has joined.
15:18:50 <ehird> have an extra argument to the reduce-stepper
15:18:57 <ehird> put it at 1000 initially, and decrement it every time you recurse
15:19:02 <ehird> when it gets to 0, return a special atom like
15:19:05 <kerlo> Oh, that does sound easy.
15:19:50 <ehird> you can't concatenate them.
15:19:58 <ehird> it can evaluate to a list, yes.
15:19:58 <AnMaster> ehird, I mean, could you cause excess flood
15:20:05 <ehird> since it outputs on one line, no,.
15:20:30 <AnMaster> you could still cause filled buffer I believe before it is split in lines
15:20:33 <kerlo> #eval (f (lambda (x y) (f a (y) x)) () (one two three))
15:20:33 <kerlobot> ((lambda (x y) (f a (y) x)) one ((lambda (x y) (f a (y) x)) two ((lambda (x y) (f a (y) x)) three ())))
15:20:39 <ehird> it isn't split into lines
15:20:42 <ehird> also, nobody cares
15:20:43 <ais523> #eval ((l (x) (f a x x)) (y))
15:21:04 <AnMaster> ehird, yes but if you send 1 MB in one line the server is going to quit you anyway I think
15:21:12 <ehird> nobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody caresnobody cares
15:21:39 <ais523> #eval ((l (y z) (y (y (y (y (y z))))) (l (x) (f a x x)) (y))
15:21:42 <ehird> #eval (l (f) ((l (x) (f (x x))) (l (x) (f (x x)))))
15:21:42 <kerlobot> [l (f) ((l (x) (f (x x))) (l (x) (f (x x))))]
15:21:53 <kerlo> #eval (f (l (x y) (f a (y) x)) () (one two three))
15:21:53 <kerlobot> (f a ((f a ((f a (()) three)) two)) one)
15:21:56 <ais523> #eval ((l (y z) (y (y (y (y (y z)))))) (l (x) (f a x x)) (y))
15:21:57 <kerlobot> ([l (x) (f a x x)] ([l (x) (f a x x)] (f a [l (x) (f a x x)] [l (x) (f a x x)]) [l (x) (f a x x)] ([l (x) (f a x x)]) f a [l (x) (f a x x)] [l (x) (f a x x)]) [l (x) (f a x x)] ([l (x) (f a x x)] ([l (x) (f a x x)]) f a [l (x) (f a x x)] [l (x) (f a x x)]) [l (x) (f a x x)] (f a [l (x) (f a x x)] [l (x) (f a x x)]) [l (x) (f a x x)] ([l (x) (f a x x)]) f a [l (x) (f a x x)] [l (x) (f a x x)])
15:22:14 <ehird> ais523: oi, use my y
15:22:21 -!- Judofyr has joined.
15:22:36 <AnMaster> #eval ((l (y z) (y (y (y (y (y z)))))) (l (x) (f a x x)) (l (f) ((l (x) (f (x x))) (l (x) (f (x x))))))
15:22:36 <kerlobot> ([l (x) (f a x x)] ([l (x) (f a x x)] (l (f) a ((l (x) (f (x x))) (l (x) (f (x x)))) [l (f) ((l (x) (f (x x))) (l (x) (f (x x))))]) [l (x) (f a x x)] [l (f) ((l (x) (f (x x))) (l (x) (f (x x))))] l (f) a ((l (x) (f (x x))) (l (x) (f (x x)))) [l (f) ((l (x) (f (x x))) (l (x) (f (x x))))]) [l (x) (f a x x)] ([l (x) (f a x x)] [l (f) ((l (x) (f (x x))) (l (x) (f (x x))))] l (f) a ((l (x) (f (x x))) (l (x) (f (x x)))) [l (f) ((l (x)
15:22:42 <ais523> #eval ((l (y z) (y (y (y (y (y z)))))) (l (x) (f a x x)) (q))
15:22:43 <kerlobot> ([l (x) (f a x x)] ([l (x) (f a x x)] (q q) [l (x) (f a x x)] (q) q q) [l (x) (f a x x)] ([l (x) (f a x x)] (q) q q) [l (x) (f a x x)] (q q) [l (x) (f a x x)] (q) q q)
15:22:50 <ais523> ok, that seems to be a bug
15:22:53 <ehird> #eval (l (f) ((l (x) (f (x x))) (l (x) (f (x x)))))
15:22:54 <kerlobot> [l (f) ((l (x) (f (x x))) (l (x) (f (x x))))]
15:22:55 <ais523> lambdas don't seem to be scoping properly
15:22:57 <ehird> ais523333333333333333333333333333333333333333333
15:23:08 <ehird> ais523: it doesn't do renaming
15:23:10 <kerlo> #eval (f (l (x y) (f a (x) y)) () (one two three))
15:23:24 <ais523> then how can I do recursion properly?
15:23:30 <kerlo> ais523: congratulations, you've discovered the lambda bug.
15:23:43 -!- MigoMipo has joined.
15:23:51 <ais523> well, if it's a known bug, that's OK
15:23:51 <AnMaster> too many bloody (non-indented) parentheses for me to read
15:24:05 <ais523> makes it pretty hard to program in, though
15:24:08 <AnMaster> ais523, would this bug make the language sub-tc?
15:24:24 <kerlo> Translate your program into SKI and see if it works.
15:24:28 <ais523> probably not, if SKI works
15:25:24 <kerlo> You might be able to circumvent it by using [l ...] instead of (l ...).
15:25:58 <ais523> what do the square brackets mean?
15:27:03 <ehird> The problem with writing a program in Scheme is that you have to write the implementation first.
15:27:19 <AnMaster> ehird, or use an existing implementation
15:27:28 <ehird> That does not work correctly.
15:27:49 <kerlo> ais523: it's special syntax for a Lambda instead of a List evaluating to a Lambda.
15:28:03 <ehird> AnMaster: I'd tell you, but that would take hours because it's you
15:28:10 <ais523> AnMaster: ehird seems to think that various langs, like Scheme and Smalltalk, are inherently incapable of being portable
15:28:12 <kerlo> The insert function, which lambdas use for substitution, doesn't affect Lambdas as badly as Lists.
15:28:16 <ehird> ais523: no, I don't.
15:28:26 <AnMaster> ais523, well good thing there is R6RS then :D
15:29:13 <ehird> and FWIW I'm incredibly tired of the "AnMaster says something stupid, ais523 replies saying something untrue in the format 'oh ehird thinks this and that' in a condescending manner" pattern that happens near-daily in here
15:29:15 <AnMaster> ais523, and well, if you want non-basic stuff then R5RS is a pain.
15:30:55 <AnMaster> at least C has a large enough standard library to make it possible to write kind of portable apps that are still quite useful
15:31:21 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
15:31:26 -!- ais523 has joined.
15:31:43 <AnMaster> <AnMaster> ais523, and well, if you want non-basic stuff then R5RS is a pain.
15:32:00 <ais523> someone should invent a PSOX but for non-esoteric langs
15:32:07 <ehird> ais523: No. They shouldn't.
15:32:23 <ais523> ehird: I had to use the equivalent of C's system() a couple of times when programming in Prolog
15:32:37 <ais523> in order to do things that weren't included in its stdlib
15:32:42 <kerlo> What does system() do?
15:32:56 <ais523> kerlo: causes the implementation to behave in an implementation-defined manner
15:33:00 <ais523> but in practice, normally runs shell commands
15:33:47 <ais523> system() probably has my favourite definition of any of C's standard library functions
15:33:58 <ais523> actulaly, system(NULL) is defined
15:34:08 <ais523> its return value tells you whether system() does anything or nt
15:34:15 <ais523> it doesn't tell you what, though, in the case where it doesn't
15:34:23 <ais523> *the case where it does
15:34:40 <AnMaster> ehird, argh you were half a second faster
15:34:47 <ehird> no, multiple seconds
15:34:57 <ehird> lag is for squares
15:35:04 <ais523> it was more like about 1 second from where I was watching
15:35:34 <ehird> I wonder if bitshifting pointers is allowed by C89.
15:35:44 <ais523> you have to cast them to ints first
15:35:53 <ehird> AnMaster: I don't care.
15:35:56 <ais523> it works better in C99 because you have uintptr_t to cast them to
15:35:57 <AnMaster> ais523, that is undefined isn't it? casting them to int?
15:35:58 <ehird> ais523: Can you cast those ints back?
15:36:03 <ais523> AnMaster: no, implementation-defined
15:36:13 <ais523> ehird: yes in C99, no in C89 because there might not be an integer type big enough
15:36:19 <AnMaster> ais523, also uintptr_t makes no sense if function pointers have a different size
15:36:23 <ais523> well, in C99 there might not be one either, but it at least gives you a compile-time error
15:36:30 <ais523> AnMaster: yes, it's designed for data pointers
15:36:32 <ehird> ais523: I don't care about stupid languages where sizeof(int) != sizeof(void *).
15:36:48 <ehird> s/languages/architechtures/
15:36:50 <ais523> lots of C implementations have sizeof(int) != sizeof(void *)
15:36:53 <ehird> AnMaster: amd64 is for squares.
15:36:58 <ehird> ais523: those implementations are for squares.
15:37:04 <ais523> unsigned long has the best chance of being the same size as void*
15:37:13 <ais523> although it differs on DOS in certain memory models
15:37:32 * ais523 remembers the days of things like farmalloc
15:37:45 <ehird> It allocates a farm.
15:37:54 <ehird> A farm is an old DOS concept.
15:38:01 <ehird> Basically, you can store N objects in there, where N is the size of the farm.
15:38:05 <ais523> AnMaster: it allocates memory in a different segment
15:38:07 <AnMaster> ehird, isn't it related to struct cow?
15:38:08 <ehird> It's efficient because they're grouped together in memory.
15:38:10 <ehird> ais523: Right, a farm.
15:38:16 <ais523> which means you need a special type of pointer, called a far pointer
15:38:25 <AnMaster> ais523, I see. I used mac back then
15:38:39 <ais523> there are lots of memory models
15:38:47 <ais523> basically, 4 of them allow for near/far pointers for data/code
15:39:01 <ais523> and a 5th has far pointers for data and for code, but also makes the data segment and stack segment differ
15:39:10 <AnMaster> ais523, so pointers come in several sizes? and some of these are relative current area?
15:39:22 <ais523> char __near * is 16 bits
15:39:25 <ais523> char __far * is 32 bits
15:39:42 <ais523> and if you don't put the unportable qualifier on, it uses implementation defaults
15:39:56 <ais523> (which is legal C89, but with different sizeof() returns, in all 5 memory models)
15:40:11 <ais523> malloc gave you a data pointer
15:40:16 <AnMaster> wtf is the "unportable qualifier"?
15:40:21 <ais523> AnMaster: __near or __far
15:40:27 <ais523> are qualifiers, but obviously not portable ones
15:40:34 <AnMaster> ais523, I thought there was something like __unportable
15:40:40 <ais523> no, that would be ridiculous
15:41:08 <oklopol> 17:40… WolfMn22: are you there
15:41:08 <oklopol> 17:40… WolfMn22: are you there
15:41:08 <oklopol> 17:40… WolfMn22: young beautiful woman
15:41:15 <AnMaster> there should be __portable too of course
15:41:18 <ais523> IIRC, most DOS compilers worked without the double-underscore, except in strict ANSI mode
15:41:30 <AnMaster> that forbids other GCC extensions :D
15:41:43 <AnMaster> (yes -ansi already does it...)
15:41:49 <ais523> AnMaster: well, nowadays in C99 we have _Pragma
15:42:03 <ais523> which is basically __attribute__ with a more official name
15:42:06 <AnMaster> ais523, well GCC actually have __extension__ iirc, for use in system headers
15:42:15 <ais523> IMO, gcc should accept it as a synonym for __attribute__
15:42:17 <AnMaster> ais523, also doesn't C89 have plain #pragma?
15:42:30 <AnMaster> _Pragma is just for using in macros iirc
15:42:31 <ais523> but the gcc folks didn't like it because it couldn't be generated using macros
15:43:31 <ais523> it's interesting to see what pragmas are used for, actually
15:43:47 <AnMaster> ais523, oh also x86_64 has several memory models, I don't know what the point is of that though
15:43:50 <ais523> my first C implementation was Borland C++, which I normally used in C++ mode because I didn't know better
15:44:01 <ais523> it had pragmas to turn compiler warnings on and off
15:44:14 <ais523> and to run things before the program started, like atexit in reverse
15:44:32 <AnMaster> <ais523> it had pragmas to turn compiler warnings on and off <-- very recent GCC has pragmas, and attributes, for that too
15:44:48 <ais523> oh, and a pragma to change its command-line options dynamically, which was fun
15:44:49 <AnMaster> like changing to -O3 for just a single function
15:45:09 <ais523> you should be able to change -Wl dynamically
15:45:16 <ais523> so you can have different linker options for different functions
15:45:26 <ais523> then watch the poor linker try to figure out wtf you're doing
15:45:44 <AnMaster> um would require changing the object file format I think
15:45:56 <ehird> "What's this? a JOKE?"
15:46:10 <ais523> ehird: #esoteric is where we make jokes possible
15:46:11 <AnMaster> -mcmodel=small, -mcmodel=kernel, -mcmodel=medium, -mcmodel=large
15:46:19 <ehird> ais523: and kill them seconds later..
15:46:22 <ais523> even if something is clearly absurd, it's still fun to figure out how to do it
15:46:37 <ais523> don't let not explaining a joke get in the way of a great esoprogramming idea
15:47:37 <ehird> I'd like to think that [<AnMaster> um would require changing the object file format I think] was written with that intention,
15:47:41 <ais523> grr... this VHDL IDE has frozen
15:47:42 <ehird> but I find it incredibly difficult.
15:48:00 <ais523> ehird: well, I was thinking about it as an actual serious idea
15:48:00 <AnMaster> ehird, I was thinking about how to implement it yes
15:48:13 <ais523> not really in terms of implementation, but about what could be done with such a feature if it existed
15:48:15 <AnMaster> not all linker options could be changed that way
15:48:24 <ais523> in gcc-bf, for instance, you could run-length-encode certain functions
15:48:30 <ais523> or cause only certain functions to show a progress bar
15:48:38 <ais523> (more useful would be adding debug info only to certain functions)
15:48:55 <AnMaster> ais523, there are already some __attribute__s that affect linking, like the visibility one
15:49:08 <ais523> yes, so it isn't utterly implausible
15:49:30 <AnMaster> --emit-relocs sounds like it could be done per-func too
15:49:32 * ais523 gets annoyed at DRM and licence managers
15:50:01 <ehird> you've never been annoyed at DRM before?
15:50:05 <ais523> back on my laptop, I just use ghdl, it doesn't need to contact a licence server to verify I'm allowed to use it
15:50:11 <ais523> ehird: rarely, I don't normally use DRMed prorgams
15:50:20 <ehird> drm is retarded, yep
15:50:28 <ais523> AnMaster: a gcc-based VHDL simulator
15:50:36 <ais523> it compiles VHDL into executables, which is crazy enough in the first place
15:50:57 <ais523> and the executables can be run as executables, but they have a huge number of debug options and switches
15:51:00 <ais523> which is what you normally end up using
15:51:04 <AnMaster> also what is wrong with the Direct Rendering Manager?
15:51:18 <ais523> possibly VHDL is the only lang more often run under a debugger than not
15:52:01 <AnMaster> I mean, DRM allows open source opengl drivers on linux
15:52:10 <ais523> AnMaster: I think you're taking a joke too far now
15:52:21 <ais523> especially when it wasn't that funny in the first place
15:52:47 <AnMaster> ais523, I believe the DRM in the meaning I used existed before the copy protection crap
15:53:07 <ais523> but TLAs are oversubscribed nowadays
15:53:09 <AnMaster> why not just call it copy protection, that is the original name
15:53:16 <ais523> and normally which one is meant is obvious from context
15:53:17 <ehird> because people call it drm
15:53:25 <ehird> language changes, it's only useful if we use the same one everyone else does
15:53:26 <ais523> AnMaster: also, DRM goes further than copy prevention mechanisms
15:53:32 <ehird> also, what ais523 said. again.
15:53:39 <AnMaster> ais523, well I have no personal experience of it
15:53:48 <ais523> DRMd stuff can normally be copied just fine, it's just that the resulting copies don't run
15:53:52 <ehird> 15:53 <stoned> are there good implementations of .NET for python? does it require mono?
15:53:56 <ehird> i implement .NET in python for breakfast
15:54:07 <ais523> but .NET is a bytecode and API, not a language
15:54:22 <ehird> ais523: congratulationsyougotthejoke.com
15:54:25 <ehird> (Someone register that)
15:54:37 <AnMaster> ais523, also there is only one copy protection that actually works. Make it all in hardware. Software can *always* be copied
15:54:45 <ais523> arguably, he might just want the API
15:54:56 <ehird> if you think hardware makes copy protection work you're deluded
15:54:56 <ais523> AnMaster: hardware can often be copied too
15:54:58 <ehird> ais523: yes, that's the idea
15:55:09 <AnMaster> ais523, yes but you need like millions to do it, you said so yourself
15:55:20 <ehird> digitally, if it can be consumed, it can be cloned instead
15:55:22 <ais523> AnMaster: to manufacture it, yes
15:55:36 <ais523> on the other hand, working out the internals and running on a simulator is a lot cheaper
15:55:47 -!- kerlobot has quit ("Exiting").
15:55:54 -!- kerlobot has joined.
15:56:01 <ais523> kerlo: using # as a bot prefix is really confusing
15:56:09 <ais523> all your kerlobot commands come out in blue and hyperlinked
15:56:10 <AnMaster> ais523, well depends on what thing you want to simulate, I mean you can simulate a SNES easily enough. But a Wii? Probably not on modern computers
15:56:26 <ehird> umm, simulating a Wii wouldn't exactly be hard...
15:56:27 <AnMaster> you would probably end up with an expensive cluster or such to do it
15:56:28 <ehird> It's not a supercomputer...
15:56:44 <ehird> It's less powerful than home computers.
15:56:45 <ais523> ehird: you'd still have to do cross-processor virtualisation
15:56:47 <AnMaster> ehird, ok what about a Sony Playstation thingy, those used for MD5
15:56:50 <ais523> what sort of processor does the Wii have?
15:57:05 <AnMaster> ehird, I believe it would be kind of slow to simulate that on most desktops
15:57:11 <ehird> http://en.wikipedia.org/wiki/Broadway_(microprocessor)
15:57:20 <ehird> AnMaster: that's just a gpu.
15:57:23 <ehird> computers can have gpus.
15:57:23 -!- Judofyr_ has joined.
15:58:04 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
15:58:39 -!- Corun has joined.
15:59:17 <ehird> ais523: the UTC time, too.
15:59:19 <ais523> still 3:59 by my clock
16:00:11 <kerlo> And now it is 16:00 according to normish.org.
16:00:32 <ais523> according to my NTP-synchronized clock, too
16:00:57 <AnMaster> + a few seconds when you said it kerlo
16:01:08 <kerlo> This little clock doesn't display seconds.
16:01:09 <ais523> hmm... may as well have a look at Normish while I'm waiting for this stupid IDE to figure out what it's doing
16:02:11 -!- Corun has quit (Client Quit).
16:02:30 -!- Corun has joined.
16:03:26 <AnMaster> btw, what is the difference between PPC and Cell?
16:03:33 <AnMaster> I haven't really managed to understand that
16:06:36 -!- kerlobot has quit (Read error: 54 (Connection reset by peer)).
16:07:34 -!- kerlobot has joined.
16:07:55 <kerlo> %eval (((s i) i) ((s i) i))
16:08:02 <kerlobot> ((loop i) (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i
16:08:22 <ehird> Damn, I was hoping for haskelleramation.
16:08:26 <ehird> kerlobot: epic fail thar
16:09:23 <AnMaster> and no I can't figure out what it means
16:09:41 <AnMaster> apart from being related to haskell
16:09:45 -!- ais523_ has joined.
16:09:54 <kerlo> Being interpreted as Haskell, or something.
16:10:02 -!- ais523 has quit (Nick collision from services.).
16:10:10 -!- ais523_ has changed nick to ais523.
16:10:21 <AnMaster> ais523, this IDE needs to run at uni? you can't run it at home?
16:10:34 <ais523> expensive closed-source stuff
16:10:59 <ais523> it seems to go wrong only when opening a project, not when loading hte IDE itself
16:11:18 <AnMaster> ais523, is it on your laptop or only on school computers?
16:11:29 <ehird> Okay, let's see, boolean pair symbol number char string vector port procedure continuation table.
16:11:39 <ais523> it's only on the university computers
16:11:44 <ehird> What else, I wonder?
16:11:44 <ais523> I'm typing this on my laptop
16:11:48 <ais523> which is next to the Uni computer atm
16:11:53 <ehird> That's it I think.
16:11:55 <ais523> keyboard, keyboard, mouse, mouse
16:12:11 <AnMaster> ehird, data types for your scheme?
16:12:18 <ehird> No. Fluffy bunnies.
16:13:34 <AnMaster> ehird, well if you are doing this insanely speed optimised you might want to optimise lists in some special way, to make them into arrays in some contexts, might not need a different data type
16:13:55 <ehird> Suggesting such a thing shows a severe lack of understanding of the general usage case of cons lists.
16:14:20 <AnMaster> ehird, well, true they are meant to be accessed from head to tail
16:14:36 <ais523> you could have an array type as well as a cons list type
16:14:45 <ais523> you could even go all OCaml and have imperative types as well as functional types
16:14:48 <AnMaster> but sometimes real arrays are useful indeed
16:14:52 <ais523> which drives me mad, but is good for speed
16:15:09 <AnMaster> oh, I didn't know about that either...
16:16:09 <ehird> I wonder how i should implement bignums.
16:16:17 <ehird> Maybe as an array of fixnums.
16:16:24 <ehird> In base MAX_FIXNUM.
16:16:45 <AnMaster> ehird, well I don't know what is fastest, but isn't gmp quite fast?
16:17:00 <ehird> I will not use gmp/
16:17:46 <kerlo> I now believe it impossible to get kerlobot to quit.
16:18:18 <ais523> /kill kerlobot would work if I was a server op, but I'm not
16:18:33 <AnMaster> if I had a botnet, which I do not, a DDoS would work
16:18:45 <kerlo> And that is a dare.
16:19:45 <ais523> we could physically go round to kerlo's computer and disconnect the network cable
16:19:52 <ais523> but that would be too expensive in plane fares, I think
16:20:02 <AnMaster> ais523, or we could fake an abuse@ to his isp?
16:20:10 <ais523> hmm... kerlo's in the same timezone as me, maybe not
16:20:30 <ais523> kerlo's bouncing off Normish
16:20:42 <ais523> no wonder ctcp time told me UTC
16:21:04 <AnMaster> GeoIP Country Edition: US, United States
16:21:49 <kerlo> I'm bouncing off Normish, but kerlobot is connected directly from here.
16:22:38 <AnMaster> ais523, another idea, which I admit would also be expensive: contact any local maffia, asks for the "special offer"
16:23:23 -!- Judofyr_ has quit (Remote closed the connection).
16:23:59 <ais523> not just expensive, you have to worry about repercussions on yourself too
16:24:17 <ais523> another option: bribe a Freenode staffer
16:24:24 <ais523> although we're into the realms of insanity here
16:24:25 <ehird> you know, killing kerlo doesnt kill kerlobot
16:24:26 <AnMaster> ais523, I believe social engineering on freenode staff would work better
16:24:42 <AnMaster> ehird: <kerlo> I'm bouncing off Normish, but kerlobot is connected directly from here.
16:24:53 <ehird> Killing kerlo != killing his net.
16:25:01 <AnMaster> ehird, when isp doesn't get paid they will cut his connection
16:25:14 <ehird> I imagine his parents pay for the connection.
16:25:46 <AnMaster> kerlo, anyway, does it handle connection timeout and such properly?
16:33:31 <ais523> hmm... it seems that this IDE is just very very slow today for some reason
16:33:39 <ais523> half an hour later, it shows signs of activity
16:34:09 <ais523> it might be the domain timeout bug, I suppose, but I don't think so
16:34:13 <AnMaster> if yes, all the spyware installed are busy calling home, please show some consideration and wait for them to finish
16:34:29 <ais523> mostly because these computers are reimaged every night
16:34:45 <AnMaster> idea: install a spyware on the master image
16:35:05 <ais523> there are legitimate reasons to knock and dislike Windows; please don't improve its reputation with baseless trolling that makes the legitimate complaints seem bad
16:36:01 <ehird> protip: jokes are meant to be funny
16:36:21 <AnMaster> ehird, in that case I would ask oerjan, not you
16:37:31 -!- MigoMipo has quit (Read error: 60 (Operation timed out)).
16:37:40 <ehird> s9.c:27: error: ‘NULL’ undeclared here (not in a function)
16:38:20 <ais523> I don't think I've used stddef for years
16:38:26 <ehird> stdlib is included.
16:38:27 <ais523> (hmm... maybe it's included from stdlib, that would explain it)
16:38:31 <ehird> and it is not my program.
16:38:49 <AnMaster> ais523, lots of headers include it
16:39:59 <ais523> this is really annoying, this program's running massively slowly and I'm not even allowed to use a top-alike to see what's happening
16:40:17 <ais523> ah yes, task manager is allowed here
16:40:21 <ais523> ehird: yep, locked-down system
16:41:48 <ehird> [[I've always hated the idea of a garbage collector. I understand why it's useful for most people, but I prefer being in control]]
16:42:00 <ehird> I wonder if there's a study on the link between programmers and sadists.
16:42:04 <ais523> when I try to run the program, it waits for a whiel
16:42:25 <ais523> then prints the message Process "Synthesize - Synpifly Pro" failed
16:42:30 <ais523> no error messages or warnings, but that
16:42:30 <Slereah> ehird : Do you like clothepins on your nipple
16:42:44 <ais523> no other output at all apart from that and a "Started" message
16:42:50 <ais523> IOW, this program is failing and won't tell me why
16:48:42 <ehird> I am becoming more and more convinced that the plain machine stack is the best way to handle function calls.
16:48:53 <ehird> It seems that copying the c stack isn't actually very hard
16:49:45 <ehird> One issue with using the machine stack is, how do you return multiple values in C, like scheme requires? You can't
16:50:18 <ais523> it's entirely possible to return multiple values on the stack, just C doesn't provide a syntax for it
16:50:21 <ais523> people do that all the time in asm
16:50:35 <ehird> Right, but is it _possible_ to do it portably in C? No.
16:50:40 <ais523> yes: you can do the same thing by returning a struct that contains all the data you want to return
16:50:50 <ehird> DING! Wrong. That is not the "same thing".
16:50:56 <ais523> that ends up compiling to the same asm that returning multiple elements is
16:51:15 <ais523> so that very is the same thing
16:51:24 <ais523> (unless you have a perverse ABI)
16:51:45 <flexo> 17:50 < ais523> it's entirely possible to return multiple values on the stack, just C doesn't provide a syntax for it
16:51:50 <flexo> as in.. returning a struct?
16:52:01 <ehird> returning a struct, in this case, is not an option
16:52:01 <ais523> returning a struct is technically speaking only returning one value
16:52:04 <ais523> but it comes to the same thing
16:52:22 <ais523> (returning a /pointer/ to a struct is different, returning the struct itself by-value isn't)
16:55:52 -!- BeholdMyGlory has quit (Excess Flood).
16:56:27 -!- BeholdMyGlory has joined.
17:00:39 -!- FireFly has joined.
17:01:57 <ehird> setjmp/longjmp are meant to be cheap, right?
17:03:17 <ehird> getcontext/setcontext presumably aren't :P
17:03:31 <flexo> depends on what you mean by cheap i suppose
17:04:00 <flexo> they all work in O(1)
17:05:17 <flexo> but setjmp/longjmp don't have to do context switching
17:05:21 <flexo> just stack unwinding
17:05:28 <ais523> ehird: setjmp/longjmp are relatively expensive, at least compared to goto
17:05:29 <flexo> so they are more cheap, yea
17:05:36 <ais523> there was an article on thedailywtf about them
17:05:41 <ais523> and lots of people went and did lots of benchmarking
17:05:53 <ehird> ais523: Craziness context: I'm considering writing my own :x
17:05:58 <ais523> and as for cheapness/expense, it depends on the processor
17:06:04 <ais523> most will have to save all the registers
17:06:16 <ais523> which is relatively cheap on an 8086 and expensive on something which has loads of registers
17:06:48 <AnMaster> ais523, wait, register starved is better?
17:06:59 <ais523> but it's faster at longjmps
17:07:20 <ais523> if you think about it, if you had no registers but the stack pointer a longjmp would just be assignment to the stack pointer
17:07:29 <oklopol> you guys think you're so tough at playing baseball.
17:07:31 <ais523> and the return at the end of longjmp would return to the setjmp not to where it had been called
17:07:48 <flexo> i've having serious trouble deciding for a couch
17:07:50 <oklopol> well let me tell you something: a professional baseball player would beat the crap out of each and everyone of you.
17:08:01 <ehird> ais523: well, yeah I'm pretty much going to do that since who cares about registers
17:08:01 <AnMaster> oklopol, um? I don't play baseball
17:08:38 <AnMaster> oklopol, I suck slightly less at chess, but I'm far from good at it
17:08:56 <flexo> i think i kinda like BEDDINGE
17:09:05 <flexo> but it has no.. the... stuff.. at the sides
17:09:13 <oklopol> let me make sure i understood, you suck slightly at it, but you are far from good at it?
17:09:30 <ehird> 17:07 <flexo> i've having serious trouble deciding for a couch
17:09:37 <AnMaster> beddinge? sounds like a 2D language
17:09:39 <ais523> oklopol: AnMaster sucks slightly less at chess than at scrabble, but is far from good at both
17:09:40 <ehird> BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE BEDDINGE
17:09:43 <ehird> sorry I like that word
17:09:53 <ehird> http://www.ikea.com/us/en/catalog/products/S49839894
17:09:53 <flexo> http://www.ikea.com/de/de/catalog/products/S29830007
17:10:11 <oklopol> ais523: lol okay i failed :P
17:10:26 <flexo> yea, i think so too
17:10:27 <ehird> like, to shoot things with
17:10:33 <ehird> it's in the constitution don't you know
17:10:41 <AnMaster> ais523, indeed. How was it ambiguous?
17:10:44 <flexo> not my constitution
17:11:17 <AnMaster> then it makes perfect sense that name
17:11:33 <AnMaster> well not perfect sense, but much more sense that in English
17:11:39 <ais523> AnMaster: I don't think it was, I was explaining for oklopol
17:12:05 <flexo> but the other sofa beds suck
17:12:44 <AnMaster> I want a desksofachairtablebed
17:13:23 <AnMaster> before anyone asks: no, I can't imagine how it would look
17:13:25 <ais523> AnMaster: I don't think that's impossible
17:13:38 <ais523> you should be able to lie in bed and use the desktable at the same time, though
17:13:42 <flexo> yea, just some huge tank with some fluid in it
17:13:46 <ais523> likewise, use the desktable at the same time as the sofa
17:14:07 <flexo> like the navigators in dune
17:16:08 <flexo> choosing a couch online sucks
17:16:09 <ehird> ais523: thought on bignums being array-of-ints-in-base-max-int?
17:16:21 <flexo> but running around in ikea sucks even more
17:16:24 <ais523> ehird: use an existing bignum library, it can almost certainly beat you by a lot
17:16:39 <ais523> that seems like a plausible implementation, though
17:16:52 <ais523> and it's the one that asm uses, if you're mad enough to do bignums in asm
17:18:32 <ehird> heh, one thing I can't do is track how many segments there are, since that needs to be a bignum too :)
17:18:37 <ehird> so it'll have to be NULL-terminated
17:18:52 <ehird> ais523: what about sign bits, do you think?
17:19:34 <AnMaster> ehird, in an actual implementation it would be limited by sizeof(void*)
17:19:48 <ehird> AnMaster: I think I'll make it a linked list
17:19:59 <AnMaster> ehird, sounds slow, a vector would be better
17:20:12 <ehird> ais523: that's for binray
17:20:53 <ais523> ehird: same trick works for any power-of-2 base
17:21:08 <ehird> is the max of an unsigned long always a power of 2?
17:21:09 -!- KingOfKarlsruhe has quit (Remote closed the connection).
17:21:11 <ehird> I guess so, in modern systems.
17:21:29 <ais523> it's a power of 2 minus 1 on all C systems, I think
17:22:17 <ehird> MAX_ULONG, MAX_UNSIGNED_LONG aren't defined
17:22:31 <ehird> probably should make it unsigned long long where that's supported
17:22:34 <ais523> AnMaster will know even if I get it wrong
17:22:44 <ehird> (2147483647L * 2UL + 1UL)
17:22:47 <ais523> what about gcc? it has a type longer than long long as an extension
17:22:49 <ehird> they couldn't just give a constant...
17:22:58 <ais523> ehird: it has to be done like that, I think
17:23:16 <ais523> due to handling buggy compilers which get confused by 'negative' numbers
17:23:33 <ehird> so, i'm working in base 4294967295 :D
17:23:42 <ehird> wonder what unsigned long long max is
17:23:53 <ais523> and you should be working in base 4294967296
17:23:55 <ehird> ULONG_LONG_MAX also
17:24:03 <ais523> because 4294967295 is the maximum possible value
17:24:09 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
17:24:13 <ehird> ULL_MAX is undefined
17:24:23 <ais523> ULLONG_MAX is actually plausible
17:24:24 -!- kerlobot has joined.
17:24:33 <kerlo> %eval (c W H A R R G A R B L)
17:24:48 <ehird> ais523: ok, on this machine I'm working in base 18446744073709551614
17:24:54 <ehird> what's the gcc thing you mentioned?
17:25:08 <ehird> ah. I won't bother touching it
17:25:21 <ais523> although if you don't have native 128-bit operators, it'll probably be slower
17:25:27 <ais523> fwiw, probably using unsigned longs is best
17:25:34 <ehird> why not unsigned long longs?
17:25:39 <ais523> ehird: because they'd have to be emulateed
17:25:53 <ehird> i'm on a 64 bit machine
17:26:20 <ais523> well unsigned long is 64 bits on a 64 bit machine
17:26:36 <ehird> OS X compiles things as 32-bit by default, though.
17:26:38 <flexo> unfortunatly people suck
17:26:41 <ehird> For god knows what reason.
17:26:52 <ais523> ehird: then 64-bit operations will have to be emulated
17:26:58 <ais523> because they aren't available when compiling as 32 bit
17:27:00 <flexo> long should more be like 128 bit on a 64 bit machine
17:27:13 <flexo> int should be the native register size
17:27:20 <ehird> ais523: what constant is defined for 64-bit/32-bit again?
17:27:43 <ais523> I don't think there's a standard one
17:27:44 -!- kerlobot has quit (Read error: 131 (Connection reset by peer)).
17:27:59 <ais523> sizeof(unsigned long) is normally an easy way to check, though
17:28:00 -!- kerlobot has joined.
17:28:02 <ehird> flexo: int is 32-bit on gcc mostly even when you do -m64 though, isn't it?
17:28:06 <kerlo> %eval (h WHARRGARBL)
17:28:08 <ais523> and sizeof(int), likewise, tells you if you're on 16-bit or 32-bit
17:28:08 <flexo> ais523: doesn't work on win32 though
17:28:25 <kerlo> So, now you can cut symbols apart and put them together.
17:28:46 <flexo> ehird: but that's only because people suck
17:28:51 <ehird> ais523: why doesn't #error sizeof(...) work :-P
17:28:52 <flexo> and fail to write portable software
17:28:55 <ehird> it shoooooooooould
17:29:01 <ais523> ehird: because sizeof is compile-time, not preprocess-time
17:29:16 <ais523> you can mess about with limits.h, though, if you prefer
17:29:20 <ais523> or else use a static assertion
17:29:39 <flexo> i had some flaming with zhivago about that one
17:29:47 <ehird> huh ... sizeof(unsigned long) = sizeof(int) here
17:30:11 <ehird> in 32 bit, sizeof(ul)=sizeof(int)=4
17:30:15 <flexo> sizeof(int) really should be the native register size.
17:30:15 <ehird> in 64 bit, sizeof(ul)=8; sizeof(int)=4
17:30:28 <flexo> and long should preferrably larger, emulated by software if necessary
17:30:31 <ehird> i think what I can draw from this, is:
17:30:35 <ehird> use unsigned long :-P
17:30:36 <flexo> and "long long" is just silly
17:30:47 <ehird> we need a long^N specifier
17:30:53 <ehird> unsigned long^4 x;
17:31:14 <ais523> ehird: algol actually had long long long long long int as a valid data type
17:31:16 <ais523> with any number of longs
17:31:30 <ais523> it had a constant, max lengths, which told you how many longs had an effect
17:31:47 <ais523> (identifiers could contain spaces in algol, which was a great way to cause confusion)
17:32:40 <ehird> [ehird:~/Code/bignum] % cc -m64 bignum.c; ./a.out
17:32:40 <ehird> 18446744073709551614
17:32:41 <ehird> [ehird:~/Code/bignum] % cc bignum.c; ./a.out
17:32:46 <ehird> that 64-bit output is lollerific
17:32:54 <ehird> how many numbers do you deal with bigger than that?
17:33:03 <ehird> typedef unsigned long bignum;
17:33:29 <ais523> ehird: my brother convinced me to teach him Perl, just so he could do really bignum calculations
17:33:32 <ais523> he's looking for big primes
17:33:34 <kerlo> short short short short short short int: if int is 32-bits wide and can hold any of 4294967296 values, this is half a bit wide and can hold any of sqrt(2) values.
17:33:42 <ais523> ofc, Perl isn't an ideal lang for doing that quickly, but it keeps him happy
17:33:44 <flexo> ehird: like addressing modern harddrives?
17:33:51 <ehird> ais523: lol, how old is he?
17:33:58 <ais523> I can't remember exactly how old
17:34:01 <ehird> flexo: except im using this in an implementation of Scheme :-P
17:34:09 <ehird> although theoretically you could do that
17:34:36 <flexo> hm.. i used a certain lisp-subset a lot when i was a kid
17:34:44 <flexo> anyone knows ADVSYS? :)
17:35:16 * ehird writes void bui_mod_succ(biguint n) , without knowing anything about how to actually implement stuff like this.
17:35:34 <ais523> ehird: how are you marking the length of the integer?
17:35:44 <ehird> ais523: {blah,blah,blah,NULL}
17:35:54 <ehird> dunno whether it'll be big endian or little endian
17:36:04 <ehird> I'm thinking little endian, so that it's easier to do things like succ
17:36:07 <ehird> without reading to the end
17:36:12 <ais523> ugh, that's a really bad way to do it
17:36:19 <ais523> IMO, it should be length-prefixed
17:36:23 <ais523> you don't want a special value
17:36:30 <ais523> because then you can't use the entire range of your int, or whatever
17:36:34 <ehird> how can you do that length prefixed
17:36:38 <ehird> the length would have to be a bignum
17:36:53 <ehird> i don't think that would work.
17:36:54 <ais523> but your method is much less efficient
17:37:18 <ehird> "that is inefficient, use this impossible method instead"
17:37:35 <ais523> ehird: you're going for speed, aren't you?
17:37:41 <ehird> if I wanted efficient I'd use gmp
17:37:44 <ais523> my advice is to make length-prefixed possible
17:37:50 <ais523> I bet that's what gmp does
17:38:00 <ehird> it's simpler to implement this
17:38:04 <ehird> and it's more conceptually pure
17:38:17 <ais523> no, it isn't more pure, it's conceptually a lot dirtier
17:38:30 <ais523> there's nothing purer than going add/add-with-carry/add-with-carry all the way along a bignum
17:38:43 <ehird> i don't caaaaaaaaaaare :)
17:38:48 <ais523> (besides, you can just length-prefix it with a long long, the computer would run out of memory before it ran out of length prefixes)
17:39:05 <ais523> or, if you prefer, prefix with a pointer to the last element
17:39:14 <ais523> it's clearly in memory, therefore it can be pointed at
17:39:21 <ehird> i prefer to live in a world of infinite memory
17:39:34 <ais523> ehird: then you have infinite pointers
17:40:08 <ehird> ais523: but then I have to use VLAs.
17:40:25 <ehird> BLOCK_TYPE data[];
17:40:50 <ais523> that's the legalised struct hack
17:41:05 <ehird> ais523: that's c99 only isn't it
17:41:07 <ais523> and you can just put a 1 in the square brackets on C89, there's no known system on which the original struct hack doesn't work
17:41:16 <ais523> despite it being technically illegal
17:41:21 <ehird> I've mostly seen it as data[0]
17:41:27 <ais523> ehird: that's a gcc-ism
17:41:27 <ehird> to emphasise the hack
17:41:39 -!- oerjan has joined.
17:42:03 <ehird> wouldn't an infinite-pointer system have infinite unsigned longs too?
17:42:09 <ehird> and thus no need for bignums...
17:42:26 <ais523> incidentally, C fails at handling sizeof infinite data types
17:42:35 <ehird> ais523: my aversion of length counting's justification: http://jwz.livejournal.com/854482.html :P
17:42:37 <ais523> I'm really annoyed that the definition of C excludes bignums
17:42:48 <ais523> ehird: I don't like length counting for strings, normally
17:42:52 <ais523> for bignums, though, it works a lot better
17:43:43 <flexo> c is a fucking macro assembler. no bigints there.
17:44:09 <ais523> that's just a flaw in their bignum implementation, though
17:44:18 <ais523> they didn't have a big enough length ehader
17:45:17 <flexo> The fifth season will commence on January 21, 2009 with a three-hour premiere consisting of a clip-show and two back-to-back new episodes.
17:45:45 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
17:45:56 -!- ais523 has joined.
17:46:05 <flexo> i didn't think i'd make it
17:46:28 <flexo> and my life will have meaning again
17:46:52 <flexo> lost? you know? as in tv?
17:47:43 <AnMaster> I just had a crazy idea for how to implement an AI that would actually work, it is technically unfeasible though
17:47:50 <ehird> AnMaster: no, it wouldn't work
17:48:11 <AnMaster> ehird, simulate life exactly, I mean simulate evolution, from the start
17:48:26 <flexo> that's not so much artitical
17:48:26 <AnMaster> would require huge resources though
17:48:32 <ehird> you couldn't do that
17:48:35 <ehird> because you don't know the details
17:48:36 <ais523> AnMaster: how do you know that intelligence would evolve before the extinction of life?
17:48:40 <ehird> and you don't have nature's random number generator
17:48:51 <AnMaster> ais523, you would have to do several runs of course
17:48:53 <ehird> AnMaster: what you're saying is,
17:49:01 <AnMaster> ais523, but given enough time it should work
17:49:06 <ais523> the odds against intelligence may be incredibly high
17:49:08 <ehird> "Here's an easy way to simulate intelligence: simulate everything!"
17:49:18 <AnMaster> ais523, I said "technically unfeasible"
17:49:19 <ais523> the fact that intelligence evolved here may have been a huge fluke
17:49:22 <ehird> simulating intelligence is almost certainly easier than simulating everything
17:49:29 <ehird> thus your solution is a non-solution, even with an infinitely powerful computer
17:49:42 <ais523> but anywhere where the point will be brought up, there must be intelligences to ask the question
17:49:53 <AnMaster> ais523, indeed. I said "technically unfeasible" and "given enough time"
17:50:05 <kerlo> Indeed, I'd rather just use genetic algorithms.
17:50:05 <ehird> AnMaster: you could also brute-force intelligence.
17:50:14 <ehird> that's both way easier to implement and about as efficient.
17:50:18 <ais523> ehird: how would you detect it once you had it?
17:50:25 <oerjan> you could probably stack the dice a bit by ensuring there was something resembling earth geologically...
17:50:32 <ehird> ais523: clone an infinite amount of people and have them talk with the iterations simultaneously
17:50:45 <ehird> (No harder than simulating the entire universe.)
17:50:49 <ais523> ehird: being able to clone an infinite number of people would probably mean you could just outsource your intelligence
17:50:57 <ehird> That would not be artificial.
17:51:15 <oerjan> plate tectonics, the right elements and the right temperature is a good start i think
17:51:34 <ais523> (recent Slashdot story: it seems some companies have been using Mechanical Turk to astroturf Amazon reviews of their products)
17:51:56 <AnMaster> oerjan, well yes, but all written in rules of basic physics
17:52:17 <AnMaster> I mean, quantum mechanics level or so, or you couldn't simulate all effects
17:52:44 <AnMaster> of course that would require as near infinite resources as it makes no practical difference that it would in fact only be finite resources
17:53:07 <oerjan> you may not need to simulate more than the biosphere to full precision
17:53:26 <AnMaster> oerjan, true, but probably not all of space
17:53:55 <ehird> d'aww, while (printf("%lu\n", *n++)); wouldn't work
17:54:02 <AnMaster> oerjan, I mean, relativity limits speed of information
17:54:05 <ehird> while (printf("%lu\n", *n++), *n);
17:54:14 <AnMaster> so only the visible universe at the end of the simulation
17:54:37 <AnMaster> oh you could probably fake it, no one would notice if the stars were made of paper ;)
17:55:50 <AnMaster> anyone, anyone up for the task of calculating much computer resources this would need?
17:56:20 <oerjan> AnMaster: er i said "you may _not_ need". did you read me backwards?
17:56:43 <AnMaster> oerjan, oh indeed I must have done
17:57:15 <oerjan> also, you could stack the dice even more, you could probably get a simple cell in there
17:57:35 <AnMaster> "stack the dice" I never heard that idiom before
17:57:53 <ais523> oerjan: stack the deck, surely?
17:58:00 <ais523> anyway, going for a while, I need to get dinner
17:58:02 <flexo> i suppose it would be less effort to build a new biosphere than simulating one
17:58:05 -!- ais523 has quit.
17:58:11 <AnMaster> and what does "stack the deck" mean?
17:58:28 <oerjan> "to arrange something in a way that is not fair in order to achieve what you want"
17:58:38 <AnMaster> also, what a shock they would get when they realise that they are simulated
17:58:44 <flexo> as the universe is kinda efficient in "emulating" stuff in itself.
17:59:02 <oerjan> AnMaster: well maybe. _we_ could be simulated.
17:59:11 <AnMaster> oerjan, yes I was thinking about that too
17:59:23 <flexo> actually it's more likely that it's just me being simulated :)
17:59:27 <oerjan> it could be simulations all the way up :D
17:59:33 <flexo> and you all consist of paper
17:59:48 <ehird> AnMaster: they wouldn't realise they were simulated.
17:59:55 <ehird> you'd get religions, and atheists.
18:00:10 <ehird> and some fringe ones arguing they're all simulated, dismissed as kooks.
18:00:13 <AnMaster> ehird, what if we planted a message, like that that book, Strata
18:00:21 <ehird> you mean like the bible
18:00:35 <AnMaster> ehird, I mean like in Strata by T. Pratchett
18:00:45 <ehird> I have not read it./
18:01:09 <AnMaster> since it is Pratchett, it is kind of hard to make a short plot summary
18:01:37 <oerjan> i'm sure there's one on wikipedia :D
18:01:45 <ehird> anyway, it'd almost certainly go on exactly as the religious situation in this world goes on.
18:01:58 <ehird> if you were extremely blatant, probably they'd die of shock, or rebel against you.
18:02:27 <oerjan> ehird: well that is assuming there _is_ no actual divine input to the world's religions.
18:02:53 <ehird> as is my belief :-)
18:03:09 <oerjan> yes. but that is not the same as "almost certainly".
18:03:33 <ehird> but christianity could well be truly divinely influenced, doesn't mean people take it any more seriously
18:05:13 <ehird> aight, I'll length count.
18:05:15 <AnMaster> <spoiler>Humans in the book have advanced to terraforming other planets and so on, to increase biodiversity. After some thousand generations before getting to space flight the emigrants tend to forget that they came from elsewhere. Something like that. However, sometimes the machine operators leave some (unauthorised) clues when terraforming. Like a fossile of a dinosaur holding a sign saying "Stop nu
18:05:15 <AnMaster> clear war".... And well in the end the protagonists find out that the universe they live in was constructed. Thanks to a clue left in it.
18:05:16 <ehird> now to incrementerament
18:05:28 <AnMaster> that clue was a flat world. This work iirc pre-dates disc world
18:06:01 <AnMaster> but it would be so cool if it wasn't ;P
18:09:31 <ehird> ugh, there should be a realloc that forces in-placeness
18:12:51 <ehird> :( my bui_mod_incr doesn't work
18:14:02 <kerlo> Algorithm: replace all vowels except I and Y with A.
18:14:30 <kerlo> Eh, leave silent E as well.
18:14:55 <kerlo> Actually, leave all E's.
18:15:49 <FireFly> ^bf ++++++++++>++++++++[->++++++++<]>++++++>++++++[[->+>+<<]>>[-<<+>>]<[-<<.>>]<-<<<.>>>]
18:15:50 <fungot> FFFFFF.FFFFF.FFFF.FFF.FF.F.
18:16:19 <oerjan> <kerlo> I assure you that this is all part of my evil plan.
18:17:02 <kerlo> GEARGE W. BASH WILL STAP BARACK ABAMA FRAM DESTRAYING AAR CAANTRY!
18:17:17 <ehird> Proto: Eliminate consonants.
18:17:58 <ehird> eoe u i o aa aa o eroyi ou ouny!
18:18:38 <oerjan> WHAT IS THE PAINT AF THIS?
18:18:52 <AnMaster> <ehird> ugh, there should be a realloc that forces in-placeness <-- that is not possible in practise since there could be other stuff allocated after
18:19:22 <AnMaster> ehird, why not just check the return value?
18:20:12 <AnMaster> that made no sense, not even grammatically
18:20:29 <oerjan> neither does your face
18:20:40 <AnMaster> oerjan, that made sense grammatically
18:20:47 <kerlo> I sint re soud dsust retrace arr tonsonants ris arzeorar tonsonants.
18:21:44 <oerjan> oklopol: ssh, it's a secret that AnMaster is Mr. Potato Head
18:21:49 <AnMaster> kerlo, what is the substitution? c->t I see
18:22:29 <AnMaster> but good thing it isn't telnet at least
18:22:31 <oerjan> AnMaster: a famous face
18:22:37 <ehird> kerlo: scarily, that worked
18:22:49 * AnMaster hopes someone gets that bad pun
18:23:22 * oerjan swats AnMaster -----###
18:23:44 <kerlo> ehird: what worked?
18:23:51 <ehird> kerlo: consonant replacing
18:24:55 <AnMaster> ehird, anyway there might be a way to handle the realloc() issue
18:24:59 <AnMaster> if you tell me why you need it
18:25:21 <ehird> but my increment doesnt work :(((((((
18:25:24 <AnMaster> ehird, well it seems to be linux specific anyway
18:26:26 <Ilari> Glibc specific? :->
18:27:01 <AnMaster> Ilari, linux kernel specific I think
18:27:08 <AnMaster> at least that is what the man page says
18:27:27 <Ilari> AFAIK, the memory allocation functions Linux kernel implements are brk() and mmap().
18:27:43 <AnMaster> basically: mmap with MAP_FIXED (and possibly MAP_GROWSDOWN), then mremap (possibly using MREMAP_FIXED, not 100% sure about that)
18:27:43 <Ilari> And also mremap().
18:28:06 <kerlo> P becomes T, B becomes D, T remains T, D remains D, CH becomes TS, J becomes DZ, K becomes T, hard G becomes D, F becomes S, V becomes Z, soft TH becomes S, hard TH becomes Z, S remains S, Z remains Z, SH becomes S, "zh" becomes Z, H becomes S, M becomes N, N remains N, NG becomes N, L remains L, R remains R, W becomes R, Y becomes R.
18:28:24 <kerlo> So yeah, "alveolar" becomes "alzeolar", not "arzeolar".
18:28:34 <AnMaster> kerlo, that isn't loseless, also how did you decide on this scheme?
18:28:48 <kerlo> All consonants become alveolar.
18:29:25 <kerlo> Unvoiced glottal fricative becomes unvoiced alveolar fricative, voiced bilabial stop becomes voiced alveolar stop, etc.
18:29:38 <Ilari> AnMaster: Process memory maps are available, so one can check if there's gap after current allocation...
18:29:44 <oerjan> Whap aboup mapim ip wabiw imfpeab?
18:30:07 <kerlo> That sounds really fun.
18:30:14 <AnMaster> kerlo, huh. I might understand that better if translated to Swedish
18:31:07 <AnMaster> <kerlo> Unvoiced glottal fricative becomes unvoiced alveolar fricative, voiced bilabial stop becomes voiced alveolar stop, etc. <- I understood the words "(un)?voiced", "stop", "becomes" and "etc" in that
18:31:20 <kerlo> Well, they're all phonetic terms.
18:31:31 <AnMaster> kerlo, well I don't know much about that
18:31:37 <oerjan> Ustemda glottala frikativer bliver ustemda alveolära frikativer ;D
18:31:48 <AnMaster> oerjan, no less understandable :P
18:32:04 <AnMaster> FireFly, 1000 or 10000 cells iirc
18:34:28 <ehird> http://boinkor.net/misc/terrible-xml-error.png
18:35:26 <AnMaster> oerjan, that is why I use an electrical piano :P
18:36:10 <AnMaster> oerjan, so not so bad it is good this time? :(
18:38:49 <oerjan> my brain cannot grasp how that comment leads from mine, even as a pun :D
18:39:23 <AnMaster> oerjan, you know an instrument needs to be tuned?
18:39:28 <AnMaster> well that is stämma in Swedish
18:39:38 <AnMaster> and, ostämda, would be non-tuned
18:39:55 <AnMaster> you don't need to tune an electrical piano :P
18:40:04 * ehird evacuates the building ->
18:40:09 <AnMaster> oerjan, maybe it doesn't work in Norwegian?
18:40:10 <ehird> come on, get away from the dangerous AnMaster, everyone
18:40:16 <ehird> terrible pun situation, let's get this under control
18:40:19 <ehird> everyone out in an orderly fashion ->
18:40:29 <oerjan> oh it works all right. it just doesn't make sense.
18:40:30 * ehird squirts AnMaster with funny juicde
18:40:37 <ehird> come on everyone ->
18:40:48 * ehird bats AnMaster with a cluebat
18:41:02 <AnMaster> ehird, Always were a hard hat on irc
18:41:16 * ehird puts AnMaster in a cage
18:41:40 <AnMaster> ehird, hey good thing I was Houdini in a previous life!
18:41:48 <AnMaster> (and good thing I believe in reincarnation)
18:42:01 <ehird> now we don't need to evacuate!
18:42:13 <ehird> AnMaster: funny-clue-giving-machine
18:42:17 <ehird> you're allergic to it
18:42:30 <AnMaster> ehird, ah good thing I took the medicine this morning then
18:42:36 <ehird> no, there is no cure
18:42:43 <ehird> source: channel logs
18:42:56 * ehird turns on the lhc, targets at AnMaster
18:43:02 <AnMaster> now what was it that was so dangerous in there?
18:43:16 <oerjan> ehird: but you're already a black hole, remember?
18:43:18 <ehird> [black hole expands to be as big as anmaster and everywhere at once]
18:43:27 * ehird turns off LHC just as AnMaster is sunk in.
18:43:31 <ehird> only a few million casualties.
18:43:32 <AnMaster> oerjan, no I dodged fast enough
18:43:43 <AnMaster> also that was debunked, see snopes or something
18:43:57 <AnMaster> or maybe busted, in that case see mythbusters
18:44:03 <oerjan> snopes is clearly one of the men in black
18:44:14 <oerjan> don't believe everything he debunks
18:44:16 <AnMaster> oerjan, then mythbusters clearly
18:44:47 <AnMaster> sure about not believe, but no they aren't MIB
18:44:55 <AnMaster> the SNMP protocol would simply reject them
18:44:59 -!- sebbu2 has joined.
18:45:16 * AnMaster certainly hopes no one find that funny
18:45:26 -!- Slereah has quit (Read error: 110 (Connection timed out)).
18:45:46 <oerjan> i might be hurting you now if i knew the acronyms without looking them up
18:46:05 <AnMaster> oerjan, first hit on google is "Management information base", used in the SNMP protocol
18:46:32 <oerjan> clearly anmasterful joke
18:46:46 <AnMaster> oerjan, and yes I like making bad puns, it is like you know, the counter weight continent
18:46:56 <AnMaster> someone need to balance your good puns
18:47:16 <oerjan> you mean some day the bad puns will create that black hole out of sheer weight?
18:48:07 <AnMaster> oerjan, no, I mean without me you would be a white hole just throwing out more and more puns until everyone in here died of laughing, as it is I'm kind of balancing this
18:49:11 <ehird> everyone walk away from the crazy man ->
18:49:38 <oerjan> which one? the channel is full of them
18:50:05 <AnMaster> ehird, well you are worse, you talked a lot about TIME CUBE
18:50:13 <ehird> shut up, stupid academic
18:50:46 <AnMaster> oh you are a bit untrained, you forgot upper case
18:51:31 <ehird> time cube is not all uppercase.
18:56:24 <oklopol> time to beat AnMaster at this joking game
18:56:25 <oklopol> "ehird: come on everyone ->"
18:57:03 <ehird> wait, AnMaster going :D at a sex joke?
18:57:06 <ehird> what is the world comingt o
18:58:02 <ehird> by the way, this is the pinnacle achivement of mankind today: http://music.metafilter.com/2943/Runnin-With-The-Songsmith
18:58:45 -!- kar8nga has joined.
19:00:48 <AnMaster> ehird, where is the actual music on that link?
19:01:04 <ehird> an mp3 link might be in the html source
19:01:12 <ehird> AnMaster: also, 'music' is a bit rich
19:01:24 <ehird> AnMaster: http://music.metafilter.com/music/DevilAudio.mp3
19:01:36 <AnMaster> ehird, well I did enable all scripts, and I don't see any such "missing plugin box"
19:02:31 <AnMaster> the song sounds like it should fit some sort of rock or possibly metal music
19:02:56 <ehird> http://uk.youtube.com/watch?v=tpX3NhpRGdE&feature=related
19:02:57 -!- sebbu has quit (No route to host).
19:02:58 -!- sebbu2 has changed nick to sebbu.
19:03:02 <ehird> 's vocal track, put into:
19:03:10 <ehird> http://uk.youtube.com/watch?v=3oGFogwcx-E
19:03:18 <ehird> which is a hideous abominatory microsoft creation
19:03:30 <ehird> AnMaster: it makes music
19:03:40 <ehird> the advert is linked to is simply hilarious
19:03:47 <ehird> AnMaster: it _attempts_ to
19:03:58 <AnMaster> ehird, but I say it doesn't make music
19:04:19 <ehird> well, it arguably improves van halen.
19:04:39 <AnMaster> I haven't listened to original yet
19:05:00 <ehird> i don't think anyone can listen to such an abomination all the way through
19:06:03 <AnMaster> ehird, the original is about as horrible in fact
19:06:15 <ehird> okay, now watch the songsmith advert :-D
19:06:19 <ehird> unless you've already seen it
19:06:27 <AnMaster> is it same as http://music.metafilter.com/music/DevilAudio.mp3 ?
19:06:49 <ehird> http://uk.youtube.com/watch?v=3oGFogwcx-E
19:06:53 <ehird> the official from-microsoft advert
19:06:55 <AnMaster> also how come youtube didn't remove audio from the original?
19:07:12 <ehird> AnMaster: they tried to, but everyone they sent to do it died of hearing it before they could mute it
19:08:34 <AnMaster> ehird, I can't watch more than 30 seconds of it
19:08:35 <ehird> it gets better as it goes
19:08:39 <ehird> where better means worse
19:10:02 <ehird> i checked their forums, people were actually asking when it could be bought in non-US places
19:10:29 <AnMaster> ehird, I mean compared to this even rap is good
19:10:32 <ehird> in the future, all music will be made with songsmith.
19:10:37 <ehird> musicians will be obsolete.
19:10:47 <ehird> then, the vocalists for it will be replaced with Microsoft Sam text-to-speech.
19:10:53 <ehird> The lyricwriters? markov chains.
19:11:03 <AnMaster> ehird, good thing I have some good old style gramophone records with classical music on them then
19:11:12 <ehird> AnMaster: they will be outlawed.
19:11:23 <AnMaster> ehird, actually, feeding Ms Sam into that would be interesting
19:11:25 -!- ais523 has joined.
19:11:30 <AnMaster> I wonder what the result would be
19:11:41 <ehird> AnMaster: well, microsoft sam doesn't exactly do any intonation
19:11:53 <AnMaster> ehird, yes so what will songsmith do with it I wonder
19:12:08 <ehird> play the same chord over and over again?
19:12:49 <AnMaster> anyway this product won't lower the overall music quality of the world. Because it doesn't count as music
19:13:09 <ehird> ais523: we're talking about feeding microsoft sam into songsmith.
19:13:26 <ehird> with text from markov chains.
19:13:36 <AnMaster> ehird, also how the heck does it handle when the person singing don't know how to sing properly, I mean can't "find the notes" or whatever you say in English
19:13:40 <ehird> actually, that could count as good piece of art-music, possibly. like, sarcastically.
19:13:44 <AnMaster> will it retune to a different freq on demand?
19:13:53 <ehird> AnMaster: probably it tries to correct it when making the chords
19:13:59 <ehird> it'll produce more awful crap
19:13:59 <AnMaster> ehird, oh yes modernistic music, sure it would work as that
19:14:09 <ais523> AnMaster: it just produces bad music, it does that even with people who can sing I expect
19:14:20 <ais523> SongSmith may turn out to be an even worse idea than Microsoft Bob
19:14:25 <ehird> ais523: have you seen
19:14:28 <AnMaster> ais523, someone fed some rock vocalist into it
19:14:30 <ehird> music.metafilter.com/music/DevilAudio.mp3
19:14:34 <ehird> yeah, what AnMaster said :-P
19:14:34 <AnMaster> it produced something totally different
19:14:40 <ehird> van halen vocals + songsmith = http://music.metafilter.com/music/DevilAudio.mp3
19:15:01 <ehird> they didn't even set the bpm correctly, they just set the "happy" slider at full
19:15:19 <AnMaster> ehird, <ehird> well, it arguably improves van halen. <-- no... equally bad before and after
19:15:41 <ehird> AnMaster: i can listen to the songsmithed version all the way through, not the original
19:16:09 <AnMaster> that is because the original has video too
19:16:23 -!- join has joined.
19:16:24 <AnMaster> if you hide that it isn't so bad
19:16:38 <ais523> someone who has it should pipe a few Fugue programs into it
19:16:56 <ais523> and htf did Slereah hit on an obvious non-registered nickname?
19:16:59 <ehird> there's a 6-hour demo, AnMaster
19:17:09 <ais523> AnMaster: http://esolangs.org/wiki/Fugue
19:17:32 <ehird> i could boot up windows and download it, I guess.
19:17:51 <ais523> ehird: as in, you only get to use it for 6 hours?
19:17:51 <AnMaster> ehird, well not an issue since you could take a snapshot before and reset it after
19:18:02 <ais523> that's a ridiculously short free trial
19:18:07 <ais523> they're normally 30 days
19:18:13 <AnMaster> ais523, enough to decide "I hate this"
19:18:17 <ehird> ais523: yeah but it's songsmiht
19:18:20 <ehird> all you do is sing then listen.
19:18:41 <ais523> AnMaster: I told you about the free trial GPL program a while back, didn't I
19:18:43 <ehird> if it was any good, 3 hours of listening to it (3 hours of singing in...) would be enough to decide, probably
19:19:07 <ais523> I just looked at the source, then replaced the licence manager with hello world
19:19:11 <ehird> AnMaster: http://esoteric.voxelperfect.net/files/fugue/src/hworld.mid
19:19:32 <ais523> if you can't play mids, I have an ogg version lying around somewhere over here
19:19:34 <AnMaster> so it wouldn't work in songsmith
19:19:40 <ehird> AnMaster: no, you can put instruments in it too
19:19:40 <AnMaster> ais523, I can, I have hardware midi
19:19:43 <ehird> and it tries to match it up
19:19:54 <ais523> AnMaster: I have software midi, it's pretty good apart from taking up 40% of my CPU
19:20:11 <ehird> someone should put a fast & complex electric guitar solo in there and see what it does t o it
19:20:11 <AnMaster> ehird, oh, I wonder what will happen if you use, say "Spring" of Vivaldi as input
19:20:21 <ehird> AnMaster: i think it kills the program.
19:20:26 <ehird> like, in an actual
19:20:36 <AnMaster> ehird, I think the result will kill anyone listening
19:20:39 -!- MigoMipo has joined.
19:20:53 <AnMaster> ais523, well I lack a good soundfont
19:21:06 <AnMaster> ais523, a340 is ok-ish as a soundfont
19:22:45 <AnMaster> but I quite like it, some atonality there too
19:22:50 <ais523> AnMaster: it isn't in any particular key
19:23:00 <ais523> it was in fact automatically generated by a BF->Fugue compiler
19:23:09 <ais523> which was sufficiently nonportable that I believe it only runs on one computer
19:23:12 <AnMaster> ok for auto generated it isn't too bad
19:23:32 <ais523> AnMaster: it's a crazy story, actually
19:23:59 <ais523> the compiler involved lots of different langs, including C, Prelude, Visual Basic, and a couple I invented specifically for the purpose
19:24:08 <AnMaster> ais523, hm Fugue is massively concurrent isn't it?
19:24:18 <ais523> the actual music entry was done by customizing the keyboard shortcuts of a proprietary MIDI editor
19:24:27 <ais523> then sending it keyboard events using VB's SendKeys
19:24:41 <ais523> and no, it isn't, it has a fixed number of threads which have to run in step
19:24:53 <ais523> it's more like having a lang where each command always does a large number of finite things
19:25:11 <AnMaster> ais523, was the compiler gc? (Goldberg Compiler)
19:25:29 <ais523> I wrote everything in the chain myself, except the proprietary midi editor
19:25:47 <ais523> I actually used to be pretty good at VB once, surprisingly
19:25:51 <ais523> but I rarely use it nowadays
19:26:02 <ais523> and why so complex? because I didn't know how to generate MIDI by hand
19:26:27 <ehird> ais523 my bignum kind of doesnt work :((((((((((((((((((((((((
19:26:50 <ehird> AnMaster: post-2005
19:26:53 <ehird> since fugue is 2005
19:27:11 <ais523> I don't know if there are any
19:27:15 <AnMaster> ais523, also how comes it isn't very concurrent? just play a chord?
19:27:15 <ehird> ais523: http://pastie.org/364042.txt?key=u3cqc6nuw91cp0cehfm5fg <-- the bui_mod_incr function doesn't work and I can't figure out why
19:27:24 <ais523> and this is back when I didn't do any programming on Internet-connected computers
19:27:29 <AnMaster> and you have a few threads, one per tone?
19:27:43 <ais523> because I had only public terminals for that
19:27:48 <ais523> and no, it isn't exactly a thread per tone
19:28:01 <ais523> because multithreaded programs can have threads running at different rates, and doing control flow
19:28:11 <ais523> when one line of music loops, every line loops, in Fugue
19:28:18 <ais523> I don't know what that's called, but it isn't multithreading
19:29:08 <AnMaster> ais523, anyway there are no loops in midi afaik
19:29:17 <AnMaster> every time i export a loop it ends up being expanded
19:29:21 <ais523> there are loops in Fugue, though, because it's a programming language
19:29:28 <ais523> that's like saying there are no loops in ASCII, so C can't have loops
19:29:38 <AnMaster> ais523, right, but how would you encode it in midi
19:29:50 <ais523> AnMaster: by using the loop-start and loop-end instructions
19:30:01 <ais523> just like you encode loops in C by using while or for or goto
19:30:05 <AnMaster> ais523, did you ever do something like "play as it runs"?
19:30:12 <ais523> AnMaster: no, that wouldn't be particularly interesting
19:30:29 <AnMaster> ais523, oh? it would include listening to the loops
19:30:31 <ais523> you would just get the bits inside the loops again and again
19:30:36 <ais523> which are only a few notes long
19:30:52 <ais523> and besides, due to the BF-like arithmetic the loops are going to be running around hundreds of times
19:30:57 <ais523> so it's going to get on your nerves
19:31:21 <AnMaster> oh idea: "Variations of hello world", which should keep the same output (printing hello world a few times) but sound a little different each time
19:31:35 <ais523> AnMaster: there were random numbers involved in the compiler
19:31:43 <ais523> I actually have a second hello world in Fugue, but it isn't as good
19:32:09 <AnMaster> ais523, also midi doesn't actually encode tempo? Just the length in ms or something
19:32:20 <AnMaster> so how can the interpreter know what a fifth is or such
19:32:32 <ais523> AnMaster: tempo has nothing to do with intervals
19:33:10 <ais523> actually, MIDI itself isn't a file format, but a communications format
19:33:13 <AnMaster> ais523, well, quater note = 180 or quater note = 120 would end up different in midi, and iirc midi doesn't store any "metronome values"
19:33:24 <ais523> AnMaster: quarter notes have nothing to do with fifths, the interval
19:33:36 <ais523> a fifth goes up from C to G, or C# to G#, or D to A, and so on
19:33:39 <AnMaster> hm? then I mentally mistranslate
19:33:44 <ehird> ais523: you should look at my bignum :-D
19:33:49 <ais523> and MIDI does store some metadata, such as the time signature
19:33:51 <AnMaster> ais523, yes that would make more sense
19:34:12 <ais523> ehird: why are you using goto?
19:34:33 <ehird> i thought about the algorithm in terms of a goto, so that's how I wrote it
19:35:00 <ais523> the algorithm looks correct
19:35:07 <ais523> in what way does it fail?
19:35:18 <ehird> % cc -Wall -m64 -ansi bignum.c; ./a.out
19:35:19 <ehird> 18446744073709551615
19:35:24 <ehird> that's the full output
19:35:32 <ehird> chops off everything after the length and then does nothing more o_O
19:36:41 <ais523> there's something seriously wrong with that
19:36:47 <ais523> unless the IRC server clipped a newline
19:36:52 <ais523> was there a double-newline in the actual output?
19:38:37 <ehird> it was my client stripping that
19:38:46 <ehird> before the last 1 :_)
19:39:01 <ais523> that's easy enough to explain
19:39:07 <ais523> so you broke out of the loop
19:39:12 <ais523> your print routine is incapable of printing a zero
19:39:21 <ehird> sorry, I forgot to make it account for the length-change
19:39:25 <ehird> instead of the null-termination
19:40:27 -!- kar8nga has quit (Connection timed out).
19:41:06 <AnMaster> ehird, how comes you are using a length instead of a zero terminated one?
19:41:17 <ais523> AnMaster: I persuaded him to
19:41:18 <ehird> because ais523 argued with me about it and told me to.
19:41:24 <ais523> it's a lot faster for bignums
19:41:29 <ais523> because it fits what the architecture is doing
19:41:45 <ais523> you can add two numbers just with add/add-with-carry/add-with-carry, etc
19:42:06 <ais523> unfortunately, C doesn't have a portable add-with-carry instruction, but given that ehird's going for speed I'm sure he won't mind rewriting that bit in asm
19:42:17 <ehird> I am not going for speed
19:42:20 <ehird> i've told you this 5000 times
19:42:20 <AnMaster> ehird, oh btw ehird, for is usually faster than while with GCC, since it can optimise it better
19:42:22 <ehird> this is just for fun
19:42:33 <ehird> yes, for the scheme impl
19:42:36 <ehird> i'm just writing a bignum library for fun
19:42:38 <ais523> AnMaster: no, where does that rumour come from?
19:42:46 <ais523> for and while translate to the same thing at the RTL level
19:42:50 <ais523> as does goto, for that matter
19:42:53 <ais523> AnMaster: no, the for faster than while thing
19:43:04 <AnMaster> ais523, as in I observed it myself, profiling.
19:43:08 <ais523> rewriting a loop can make it a lot faster
19:43:11 <ais523> but not for that reason
19:43:15 <AnMaster> ais523, for example it managed to vectorise a for loop
19:43:27 <AnMaster> while not the equivalent while loop
19:43:51 <AnMaster> ais523, and it managed to unroll some for loops but not the while loops
19:43:52 <ais523> AnMaster: there is no difference apart from scoping between for(a=0; a<64; a++) {foo; } and a=0; while(a<64) {foo; a++}
19:44:08 <ais523> as long as you have no continue statements inside the loop
19:44:12 <ehird> ssh, let him have his placebo!
19:44:14 <AnMaster> ais523, I belive the loop I tried on were a bit more complex, one was CRC for example
19:44:16 <ais523> and I'm pretty sure gcc unrolls while loops
19:44:52 <ehird> 18446744073709551615
19:44:54 <ehird> 18446744073709551615
19:44:58 <ehird> ok, that's an odd result...
19:45:43 <AnMaster> ais523, well why they does gcc not vectorise any while loops in my experiments
19:45:49 -!- kar8nga has joined.
19:45:49 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
19:46:11 -!- kar8nga has joined.
19:46:11 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
19:46:17 <ais523> while(c<16) {i*=i; ++c;}
19:46:21 <ais523> that loop was unrolled at -O3
19:46:24 <ais523> into 16 multiply instructions
19:46:29 <ehird> http://pastie.org/364057.txt?key=zpbkykzrv0q9xax847rpbw
19:46:40 <AnMaster> ais523, and vectorised with -ftree-vectorize or whatever it is called?
19:46:47 -!- kar8nga has joined.
19:46:47 -!- kar8nga has quit (Read error: 131 (Connection reset by peer)).
19:46:53 <ais523> AnMaster: just with -O3
19:47:00 -!- kar8nga has joined.
19:47:00 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
19:47:05 <ais523> I don't think this computer does vectorisation
19:47:10 -!- kar8nga has joined.
19:47:10 <ais523> but I'll try and see what happens
19:47:10 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
19:47:21 <AnMaster> ais523, gcc doesn't vectorize without -ftree-vectorize
19:47:27 <ais523> besides, that loop won't vectorise for obvious reasons
19:47:30 -!- kar8nga has joined.
19:47:30 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
19:47:31 <ais523> let me rewrite it as one that will
19:47:38 <AnMaster> ais523, see also -ftree-vectorizer-verbose
19:47:40 -!- kar8nga has joined.
19:47:40 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
19:47:50 <AnMaster> it will tell you why it can/can't vectorise
19:48:17 <AnMaster> some gcc versions segfault on that flag if too high, trying to print a null pointer
19:48:18 -!- kar8nga has joined.
19:48:18 -!- kar8nga has quit (Read error: 131 (Connection reset by peer)).
19:48:43 <ais523> cc1: error: unrecognized command line option "-ftree-vectorise"
19:48:57 <ais523> gcc (Ubuntu 4.3.2-1ubuntu11) 4.3.2
19:49:01 -!- kar8nga has joined.
19:49:01 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
19:49:09 -!- kar8nga has joined.
19:49:09 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
19:49:40 -!- kar8nga has joined.
19:49:40 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
19:49:56 <AnMaster> wtf is up with kar8nga's connection, this is getting irritating
19:50:27 <ehird> I haven't even noticed it
19:50:33 <ehird> nowhere near moozilla levels yet
19:50:39 <ais523> well, it didn't vectorise either the while or the for when I tested
19:50:40 -!- kar8nga has joined.
19:50:40 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
19:50:49 <ehird> AnMaster: no, my brain just filters it out
19:50:50 <ais523> a.c:8: note: not vectorized: no vectype for stmt: D.1209_21 = i[c_44] scalar_type: int
19:50:53 <ehird> why not ignore join/parts
19:51:01 <kerlo> "I'm irritated." "No you're not."
19:51:02 <AnMaster> ais523, yes they depend on each other I believe
19:51:28 * kerlo tries to find ais523's lambda scoping example
19:51:29 -!- kar8nga has joined.
19:51:29 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
19:51:32 <ais523> AnMaster: what do you recommend?
19:51:53 <ais523> I don't care, I'm not actually planning to run the program
19:51:57 <ais523> just compile to asm and read the asm
19:52:13 -!- kar8nga has joined.
19:52:13 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
19:52:36 <ais523> AnMaster: ah, it vectorised both of them
19:52:43 <AnMaster> ais523, anyway you can't vectorise that since all modify i
19:52:48 <ais523> yes, I rewrote the program
19:52:58 <AnMaster> ais523, it did? doesn't with older gcc
19:53:22 <ais523> int getchar(void), i[16], c;
19:53:23 <ais523> c=0; while(c<16) {c[i]=getchar(); ++c;}
19:53:24 <ais523> c=0; while(c<16) {c[i]*=c[i]; ++c;}
19:53:26 <ais523> for(c=0; c<16; ++c) {c[i]*=c[i];}
19:53:34 <ais523> I'm not at all surprised, because the while and the for loop are completely synonymous
19:53:44 -!- Judofyr has joined.
19:53:55 <AnMaster> how the heck could that for loop be vectorised? it includes a function call
19:54:07 <ais523> loops 2 and 3 are vectorised
19:54:25 <ais523> loop 1 is just there to prevent gcc constant-folding
19:54:35 <ais523> also, I apologise for the declarations line
19:54:42 <ais523> that's legal C, and good for brevity, but very confusing
19:54:48 <ais523> C-INTERCAL used it a lot before I fixed that sort of thing
19:55:20 <ais523> writing int getchar(void); inside a function is legal
19:55:21 <AnMaster> <ais523> int getchar(void), i[16], c; <-- function prototype and variables in one?
19:55:32 <kerlo> Well, having written this silly lisp-bot, I think I'll try writing a serious one.
19:55:45 <ais523> I bet you didn't even know that you can declare library function prototypes inside a lexical scope
19:55:49 <ais523> because it's an insane thing to do
19:55:49 <AnMaster> ais523, anyway using a volatile variable would have worked too
19:56:01 <ais523> AnMaster: I doubt it, that would prevent the compiler vectorising
19:56:04 <kerlo> Is a volatile variable a variable that is capable of varying?
19:56:21 <ais523> kerlo: it tells the compiler that the variable might change unpredictably without it knowing
19:56:31 <ais523> normally, because you've given a pointer to it to an interrupt handler or to some other program
19:56:34 <AnMaster> c=0; while(c<16) {c[i]=src; ++c;}
19:56:44 <AnMaster> ais523, how would it affect the other loops?
19:56:54 <ais523> kerlo: for instance, if you write volatile int i; i=1; i=2;
19:57:02 <ais523> then the compiler will store both 1 and 2 in memory where i is
19:57:13 <ais523> because volatile tells it not to get rid of redundant reads and writes
19:57:33 <AnMaster> like a memory mapped char output
19:57:36 <ais523> or a memory-mapped hardware register, I've used volatile for those before
19:57:57 <ais523> the other thing volatile does is to tell the compiler to definitely not store the variable in a register
19:58:01 <AnMaster> ais523, you wrote kernel stuff?
19:58:02 <ais523> which is useful when messing around with longjmp
19:58:08 <ais523> AnMaster: embedded stuff
19:58:33 <ehird> volatile int eax __asm__("%eax");
19:58:38 <ehird> (actually works :-))
19:59:00 <AnMaster> ais523, actually it may still have to put it in a register, but it need to load/store it before/after
19:59:12 <AnMaster> some arches may not be able to operate on stuff not loaded in registers
19:59:19 <ais523> AnMaster: it may need to do things via registers, yes
19:59:28 <ais523> but volatile tells it to reread the value whenever it's needed
19:59:33 <ais523> ehird: yes, I know that works
19:59:38 <ais523> I've written such before, for another architecture
19:59:42 <ehird> i was talking to AnMaster before
19:59:49 -!- kar8nga has joined.
19:59:50 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
19:59:52 <AnMaster> ais523, though I think add on x86 may take memory operands?
20:00:07 <AnMaster> what does <ehird> volatile int eax __asm__("%eax"); do?
20:00:08 <ehird> if you're doing that
20:00:11 <ehird> why not just write it as __asm__
20:00:12 -!- kar8nga has joined.
20:00:12 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
20:00:17 <ehird> AnMaster: err that syntax is wrong
20:00:26 <ehird> volatile int *eax __asm__("%eax");
20:00:31 <ehird> AnMaster: then *eax reads the eax register
20:00:37 <ehird> and *eax=...; sets it
20:00:47 <AnMaster> ehird, ok, but what does volatile for it mean? that it may not be stored in a register?
20:00:59 <ehird> AnMaster: well, %eax changes all the freaking time
20:01:05 <ehird> it's just telling gcc to not try and be clever with it...
20:01:24 <AnMaster> ehird, the "must not store in a register" bit is confusing though
20:01:26 <ais523> AnMaster: it's telling gcc that %eax might change when it does something that doesn't obviously change the variable
20:02:17 <AnMaster> ais523, it obviously ignore the bit about the "not store in a register", I bet that it won't work with longjmp
20:02:33 <AnMaster> also, could you pass this pointer around?
20:02:45 <AnMaster> or cast the pointer to an int?
20:02:47 <ais523> AnMaster: it isn't a pointer
20:02:55 <ais523> int *eax means that eax stores an int*
20:02:55 <ehird> volatile int *eax __asm__("%eax");
20:03:08 <ais523> not that you can do &eax and get a sensible value
20:03:15 <ais523> the variable has a pointer type, but it can't be pointed to
20:03:30 <AnMaster> yes of course it can't work like that in the machine code
20:03:44 <AnMaster> memory mapped CPU registers would be fun
20:03:53 <fizzie> My GCC info pages say "5.40.2 Specifying Registers for Local Variables -- You can define a local register variable with a specified register like this: register int *foo asm ("a5");".
20:04:04 <AnMaster> I have heard of register mapped memory before
20:04:11 <ehird> isn't that an overloading of "register", fizzie?
20:04:46 <fizzie> Well, wouldn't using "volatile int *eax __asm__("foo")" be an overloading of volatile?
20:04:54 <AnMaster> fizzie, err I think that means that the register will be reserved for that variable
20:05:16 <AnMaster> fizzie, which isn't same as "lets see what is in this register anyway"
20:05:55 <fizzie> Well, that's the only sort of "explicit register names for variables" I could find in GCC docs with a quick glance.
20:06:19 <AnMaster> fizzie, but as far as I know the meaning is quite different
20:07:07 <fizzie> Well, it doesn't reserve the register for that value except for where it's live, but I guess it is a bit different.
20:07:56 -!- KingOfKarlsruhe has joined.
20:08:22 <fizzie> I just can't find in the docs any references to "here's how you declare a variable which will read whatever eax is, but not reserve eax if you store something in it".
20:08:49 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
20:09:00 <ais523> fizzie: that's not done via a variable, I think
20:09:13 <ais523> you want to give an asm command with a constraint to read eax without reserving it
20:09:33 <ais523> OTOH, if you do that, there's quite a chance that the compiler will put the variable you're trying to copy to in eax, to save a command
20:10:35 <fizzie> Yes, well, if that's the case, I don't see how that "volatile int *eax" thing is different. It sounds like it would just tell GCC to explicitly use the eax register for storing values stored in that variable.
20:10:56 <AnMaster> ais523, if you didn't do that then volatile makes no sense since it wouldn't change
20:11:14 <ais523> fizzie: the question is, really, what exactly are you trying to do?
20:11:35 <fizzie> I'm trying to understand what you are speaking of. :p
20:12:01 <fizzie> And what that "volatile int *eax" was all about, since the only similar form I'm aware of is the "register int *eax asm("eax");" thing.
20:12:19 <ais523> actually, doing it with register is more common IIRC
20:12:23 <ais523> and I think that's the form I saw
20:12:55 <AnMaster> that would make a lot more sense
20:29:47 -!- kar8nga has joined.
20:29:47 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
20:30:10 -!- kar8nga has joined.
20:30:10 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
20:31:09 -!- kar8nga has joined.
20:31:09 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
20:31:26 -!- kar8nga has joined.
20:31:26 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
20:31:44 -!- kar8nga has joined.
20:31:44 -!- kar8nga has quit (Read error: 131 (Connection reset by peer)).
20:32:23 -!- kar8nga has joined.
20:32:23 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
20:33:20 -!- kar8nga has joined.
20:33:20 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
20:33:59 -!- kar8nga has joined.
20:33:59 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
20:34:18 -!- kar8nga has joined.
20:34:18 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
20:34:59 -!- kar8nga has joined.
20:34:59 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
20:35:16 -!- kar8nga has joined.
20:35:16 -!- kar8nga has quit (Read error: 131 (Connection reset by peer)).
20:36:04 -!- kar8nga has joined.
20:36:04 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
20:36:21 -!- kar8nga has joined.
20:36:21 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
20:36:49 -!- kar8nga has joined.
20:36:49 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
20:37:24 -!- kar8nga has joined.
20:37:24 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
20:38:10 <ais523> well, that's about 2/3 of a screenful of quitjoin spam
20:38:22 -!- kar8nga has joined.
20:38:22 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
20:38:28 <flexo> i suppose it depends on your screensize
20:39:00 -!- kar8nga has joined.
20:39:01 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
20:39:15 -!- kar8nga has joined.
20:39:15 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
20:39:49 -!- kar8nga has joined.
20:39:49 -!- kar8nga has quit (Read error: 131 (Connection reset by peer)).
20:40:07 <ais523> a screenful now, with only 4 lines interrupting it
20:40:22 <ais523> now, banning someone for unintentional quitjoin spam is too much, I think
20:40:29 <ais523> could we reverse-ban kar8nga?
20:40:35 <ais523> that would also stop the spam
20:41:11 <oerjan> it's not part, it's quit
20:41:17 <ais523> well, stop them quitting too
20:41:36 -!- kar8nga has joined.
20:41:36 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
20:41:54 -!- kar8nga has joined.
20:41:54 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
20:42:08 -!- kar8nga has joined.
20:42:08 -!- kar8nga has quit (Read error: 131 (Connection reset by peer)).
20:42:17 <oerjan> i would swat kar8nga, but he isn't here long enough at a time
20:42:27 <fizzie> Reminds me of that Hotel California song. "You can /quit any time you like / but you can never leave."
20:42:33 <fizzie> The reverse-banning, that is.
20:42:50 -!- kar8nga has joined.
20:42:50 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
20:43:55 -!- kar8nga has joined.
20:43:55 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
20:44:34 <fizzie> Maybe if I do a five-minute ban, his/her client will not try to rejoin after failing once.
20:44:37 -!- kar8nga has joined.
20:44:37 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
20:44:45 -!- ChanServ has set channel mode: +o fizzie.
20:45:03 -!- fizzie has set channel mode: +b kar8nga!*@*.
20:45:32 <ehird> never do this again :-P
20:45:50 <join> He is all powerful
20:45:59 -!- join has changed nick to Slereah.
20:46:09 <ais523> Slereah: how did you end up with the nick "join", anyway?
20:46:21 <ais523> ehird: you know how badly that went last time...
20:46:31 <ehird> ais523: yes, I wrote a bot to keep me an op :D
20:46:34 <Slereah> ais523 : You know when your nick is registered and you connect the server?
20:46:37 <ehird> and lament de-opped it :'(
20:46:44 <Slereah> It puts "/nick" as your default line
20:46:56 <Slereah> And I entered /join #esoteric
20:46:59 <ais523> well, in that case I'm doubly-shocked that nobody has taken join yet
20:47:11 <ais523> then prompts, I think, in a dialog box
20:47:13 -!- fizzie has set channel mode: -b kar8nga!*@*.
20:47:22 <Slereah> Because I actually stay Slereah
20:47:35 <Slereah> Because Freenode doesn't actually enforce registered nickls
20:47:39 <ais523> oh, just joining with a nick registered by someone else
20:47:45 <ais523> and Freenode does, but only on request from the nick's owner
20:47:56 <ais523> you can tell NickServ to enforce your nick, but hardly anyone ever does
20:48:09 -!- fizzie has set channel mode: -o fizzie.
20:48:13 -!- Slereah has changed nick to moot.
20:48:29 <ehird> go away, little girl
20:48:30 <moot> Hell, moot is actually registered!
20:48:36 <ais523> fizzie: you deopped fizzie? What did they do wrong?
20:48:40 <oerjan> that was a moot question
20:48:47 -!- moot has changed nick to Slereah.
20:48:56 <ehird> ais523: /me recalls deopping AnMaster in #ESO because he opped me without first asking for permission from an op
20:49:04 <fizzie> ais523: Senseless banning of poor, defenseless kar8nga.
21:03:44 <AnMaster> <Slereah> It puts "/nick" as your default line <-- what client?
21:04:31 <ehird> (mIRC is actually a good IRC client, despite being Windows software)
21:05:00 <Slereah> Or use Insurgent Sysreset, if you're an /i/nsurgent :D
21:05:34 <ehird> 21:05 <Twitter> Error(404): #twitter Your message is 142 characters long. Your message was not sent.
21:05:41 <ehird> Stupid artificial restrictions
21:06:01 <ehird> that's not very nice
21:06:11 <AnMaster> Slereah, he forgot to register it
21:06:24 <ais523> someone needed to register it
21:06:40 <ais523> and it isn't Slereah's nick really, Slereah made it clear that it was by accident
21:06:42 <ehird> without telling him you were going to.
21:07:09 <ehird> ...otpbot was my name.
21:07:15 <AnMaster> ehird, no it was mine, I wanted it
21:07:20 <ais523> I didn't even realise there was an otpbot
21:07:27 <ehird> I came up with otpbot _before_ you did.
21:07:35 <ehird> So only "same logic" if you're an idiot.
21:07:42 <AnMaster> but I wanted it for otpbot as in Erlang/OTP
21:08:16 <AnMaster> 22:05 -NickServ(NickServ@services.)- 1 failed login since Jan 18 21:05:10 2009.
21:08:16 <AnMaster> 22:05 -NickServ(NickServ@services.)- Last failed attempt from: Cats!n=92825d6c@Pantheon.Kanotix.com on Jan 13 18:10:37 2009.
21:08:25 * ais523 notes that tusho and ehird are different people according to NickServ
21:08:31 <ehird> 21:07 <AnMaster> but I wanted it for otpbot as in Erlang/OTP
21:08:35 <ehird> you wanted it _afterwards_
21:08:35 <AnMaster> (oh yes I own that nick, used it for a AYB joke)
21:08:44 <ehird> whereas you only regisered join because you saw Slereah using it
21:08:45 <AnMaster> ehird, I had plans long before
21:09:05 <ehird> that's about as verifiable as when i claimed I came up with the name cfunge first, AnMaster
21:09:06 -!- BeholdMyGlory has quit (Connection timed out).
21:10:53 <Slereah> Thank goodness, VIP is here to guide you in these troubled times :
21:10:54 <Slereah> http://membres.lycos.fr/bewulf/Divers7/Take%20it%20easy.jpg
21:11:17 <ehird> i'm not angry when I call people asses.
21:11:28 <ehird> getting angry over assholes would be counterproductive
21:12:03 <AnMaster> ehird, tell me, why are you so fond of donkeys?
21:12:15 <Slereah> Because of their huge penises
21:12:19 <ehird> congratulations. you are the 1 billionth person to make that joke, AnMaster.
21:12:26 <ehird> you win £-100. pay up.
21:12:48 <AnMaster> ehird, I'm the 1 billionth + 1 person
21:13:03 <AnMaster> you missed that one over there >>
21:13:17 <AnMaster> Slereah, no, in the other room
21:13:17 * ais523 wonders about making a map of UseNet
21:13:21 <Slereah> Owait, now it points at fizzie
21:13:23 -!- MigoMipo has changed nick to QwertUiop.
21:13:32 <oklopol> Slereah: indecisive asses are the worst.
21:13:34 <ais523> after all, we know that comp.lang.c++ is two rooms down the corridor on the left from comp.lang.c
21:13:36 -!- QwertUiop has changed nick to MigoMipo2.
21:13:43 <ais523> there may be enough of those references to draw a map of the whole thing
21:14:02 <AnMaster> ais523, what like alt.porn alt.porn.makes.no.sense (I forgot the details, it was something like alt.bin.whatever.sex-something.clinton iirc)
21:14:04 -!- MigoMipo2 has changed nick to MigoMipo.
21:14:09 * oklopol wonders what this usenet is everyone keeps referring to :P
21:14:23 <ais523> oklopol: you've never heard of usenet?
21:14:24 <Slereah> Usenet is where you use the internet
21:14:32 <oklopol> ais523: yes, tons of times.
21:14:37 <AnMaster> ais523, alt.bin.pic.sex.parachute or such
21:14:42 <Slereah> I used to go to usenet, because the first French furry group was thar :o
21:14:43 <oklopol> because people keep referring to it
21:14:51 <Slereah> Usenet is pretty much shit, though
21:14:51 <AnMaster> ais523, make whatever sense you want of that
21:14:53 <ais523> oklopol: do you know how to access it?
21:15:03 <ais523> AnMaster: alt.binaries., surely?
21:15:05 <ehird> How come most /b/tards are furries?
21:15:12 <AnMaster> ais523, I don't use usenet a lot
21:15:16 <ais523> oklopol: you can view it via groups.google.com
21:15:21 <ais523> have a look at alt.lang.intercal some time
21:15:27 <ais523> it's the esolang group, but it isn't very active
21:15:29 <Slereah> ehird : Remember the credo!
21:15:41 <Slereah> http://membres.lycos.fr/bewulf/Divers/1167175439619.gif
21:16:03 <ais523> Usenet is the last bastion of the True Spirit of the Internet
21:16:13 <ais523> even if there was that terrible accident where it got stuck in September 2003
21:16:22 <Slereah> What is the true spirit of the internet, ais523?
21:16:31 <ais523> Slereah: being able to talk to other people about anything you want
21:17:02 <ais523> well, you get flamewars on Usenet too
21:17:10 <ais523> but nobody can be blocked from it, pretty much
21:17:32 <ais523> the main tool for debate de-escalation there is the equivalent of /ignore
21:17:37 <ais523> if you don't like what someone's saying, ignore them
21:17:40 <AnMaster> ais523, btw, if you have ipv6, xs4all provides a good usenet read only server, very fast and very complete. Doesn't filter binary channels either. And it is at least available to users of the SixXS tunnel
21:17:41 <ais523> and talk to the people you do like
21:17:54 <Slereah> http://encyclopediadramatica.com/Alt.tasteless
21:17:55 <ais523> AnMaster: I don't, the computer's fine but the network here can't handle it
21:18:03 <Slereah> Why hello there, I am internet of the past.
21:19:14 <Slereah> "In 1993, alt.tasteless members orchestrated one of the first forum invasions, in which rec.pets.cats (a newsgroup for cat-lovers) was mercilessly trolled."
21:19:29 <ais523> before or after september/
21:20:23 -!- MigoMipo has left (?).
21:20:40 <AnMaster> Slereah, where does it say that?
21:21:24 <Slereah> There's a link to the thread : http://groups.google.com/group/alt.tasteless/browse_thread/thread/3f265cf9ef49d3e1
21:21:45 <AnMaster> Slereah, doesn't work for me, it refuses even when I click the 'yes i'm sure' button
21:21:55 <Slereah> That's because you are underaged
21:22:02 <ais523> Google have been doing a lot of archiving of Usenet
21:22:13 <ais523> they even bought up all the Usenet archives from before they started
21:22:16 <ais523> although I'm not entirely sure why
21:22:21 -!- FireFly has quit ("Later").
21:22:26 -!- KingOfKarlsruhe has quit (Remote closed the connection).
21:22:33 <ais523> hmm... deja.com still redirects to groups.google.com, after all this time
21:22:53 <ais523> AnMaster: Usenet archivers
21:22:59 <ais523> they got bought out by Google
21:23:12 <AnMaster> ais523, well how much would the domain cost google? relatively speaking
21:23:19 <AnMaster> it isn't like they would notice
21:23:25 <ais523> they got the domain free with the company
21:23:30 <ais523> so they may as well maintain it, I suppose
21:23:34 <AnMaster> ais523, well they have to renew it
21:23:38 <ais523> in case anyone still wants to visit Deja's archives for some reason
21:23:57 <ais523> or in case someone also got stuck in September 1993 and has only just come out of their coma
21:23:57 <AnMaster> ais523, also I hope links still work
21:25:11 <Slereah> http://encyclopediadramatica.com/Meow_Wars
21:26:58 <AnMaster> why are you linking to that horrible site all the time
21:27:18 <Slereah> You must face your demons, AnMaster
21:27:32 <AnMaster> that sounds like a quote from something
21:28:04 -!- oerjan has quit ("Good night").
21:28:40 <Slereah> It's a stock movie quote, AnMaster
21:28:48 <Slereah> It is not a quote of anything in particular
21:29:38 * AnMaster checks if there has been a new beta of that open source game yet
21:29:54 <AnMaster> yes!, no activity for several months before, finally a new beta
21:31:32 <fizzie> It is sad that the first association for any sentence of "that is no X" is the "that is no moon" thing.
21:31:57 -!- FireFly has joined.
21:32:11 <AnMaster> ais523, blob wars: blob and conquer
21:32:21 <ais523> that's a pretty ridiculous name...
21:32:29 <AnMaster> ais523, yes, but quite playable IMO
21:32:59 <AnMaster> ais523, well previous one was jump and run with guns. This one is third person shooter 3D
21:33:11 <ais523> hmm... I don't generally play shooter games
21:33:20 <AnMaster> ais523, and well if I played table top RPGs I would play Toons
21:33:21 <ais523> I used to play platform games a bit, but rarely do nowadays
21:33:34 <AnMaster> Saving to: `download.php?proj=blobAndConquer&file=blobAndConquer-1.05-1.tar.gz&type=zip'
21:33:43 <ais523> that's quite a filename
21:34:14 <ais523> it reminds me of the dontcountme=s that used to be at the end of URLs on Wikipedia
21:34:24 <AnMaster> ais523, what? I never seen that
21:34:27 <ais523> to avoid triggering the page counters, which ignored URLs ending in s because they thought it was js or css
21:34:40 <ais523> it wasn't on the actual pages, but on things that were XHRed via scripts
21:34:53 <ais523> they have better counters now
21:34:57 <ais523> based on sampling the HTTP logs
21:35:16 <ais523> and JS which loads images a small percentage of the time, to avoid Wikipedia DDOSing its own servers
21:35:24 <AnMaster> ais523, oh that reminds me... the main.css is included as main.css?164
21:35:35 <ais523> that's an anti-cache-problems tool
21:35:37 <AnMaster> since main.css is a static file
21:35:48 <AnMaster> ais523, err I like clients to cache it
21:35:50 <ais523> it may be static, but it can be changed by upgrades
21:35:52 <AnMaster> since it is using a lot of my bw
21:35:56 <ais523> clients are told to cache it aggressively
21:36:04 <ais523> but if it changes across an upgrade, the 164 changes to 165
21:36:07 <ais523> so clients will get a new copy
21:36:18 <ais523> the caching information is hidden in the URL
21:36:26 <AnMaster> ais523, also where are they told to cache it aggressively?
21:36:33 <ais523> in the HTTP headers, I think
21:36:41 <AnMaster> it would depend on server setup
21:36:54 <AnMaster> and since it is shared hosting I have no control over that
21:36:59 <ais523> but remember that MediaWiki was invented for Wikimedia, who do have control over that
21:37:02 <AnMaster> nor did I see anything in mediawiki manual
21:37:12 <AnMaster> ais523, I think it can be done in .htaccess
21:38:03 <AnMaster> ais523, also ehird was surprised the supertux site had around 15k hits on images *per day*
21:38:26 <ais523> I've vaguely heard of it, but no more than that
21:38:30 <ais523> don't even know what it's about
21:38:33 <ais523> but the name strongly suggests Linux
21:39:50 <AnMaster> ais523, and I'm a developer on it. I talked to him about image hits because I was implementing anti-hotlinking since that was using quite some bw
21:40:53 <AnMaster> ais523, yes, and no blocking if empty referrer of course
21:40:58 <AnMaster> and allowing google image search and so on
21:42:03 <AnMaster> ais523, some people were linking screen shots, full size and then scaling it down to thumbnail in <img> tag
21:42:21 <ais523> AnMaster: and wasting their reader's bandwidth as well as yours
21:42:29 <ais523> what's your anti-hotlink image?
21:43:12 <ais523> I'm not sure if I want to look at it
21:43:12 <AnMaster> ais523, http://supertux.lethargik.org/errors/img/nohot.gif
21:43:26 <AnMaster> ais523, too slow to cause epilepsy
21:43:48 <AnMaster> "Please don't hotlink\nimages from this site"
21:44:26 <AnMaster> and it won't cause epilepsy, it is too slow for that
21:45:04 <ais523> AnMaster: it's just such a pain for me to load images from IRC
21:45:17 <ais523> besides, I don't see the animation
21:45:21 <AnMaster> ais523, just copy and paste to the browser
21:45:23 <ais523> but my photo viewer prorgams don't show it
21:45:38 <ais523> I don't really like the colour scheme either, but I suppose that's the point
21:45:40 <AnMaster> ais523, as in text and bg colors change place
21:46:11 <AnMaster> oklopol, I remember it was 5 and some zero
21:46:49 <AnMaster> ais523, also gimp will show both as layers
21:46:51 -!- BeholdMyGlory has joined.
21:47:39 <AnMaster> Lovely: "This game contains scenes of gore"* (* which can be switched off)
21:48:18 <ehird> unreal tournament allows you to turn off the gore
21:48:23 <ehird> like, in case you're a kid playing it or something :|
21:49:17 <ehird> <AnMaster> why are you linking to that horrible site all the time
21:49:22 <ehird> ED is useful for internet culture.
21:50:24 <FireFly> Why are you writing in that horrible language all the time?
21:50:39 <ehird> AnMaster: What? FireFly: lol
21:50:57 <FireFly> Well, for others esolangs are pretty horrible.. I guess it's the same with ED
21:50:59 <ais523> FireFly: which lang are you thinking of?
21:51:21 <ehird> <AnMaster> wish it wasn't written in it
21:51:24 <ehird> can I have this in coherent form
21:51:26 <AnMaster> ehird, basically ED is written in /b/tard style a lot of the time. I mean compare the language used if wikipedia would discuss "lol" and if ED would.
21:51:36 <AnMaster> I haven't looked at the articles
21:51:48 <ehird> "I WISH AN INTERNET CULTURE COMPENDIUM DIDN'T TALK IN AN INTERNET CULTURE-RELATED STYLE"
21:52:01 <AnMaster> <ehird> ED is useful for internet culture. <AnMaster> wish it {ed} wasn't written in it {the style of that}
21:52:13 <ehird> which is the most ridiculous complaint I've ever heard.
21:52:23 <AnMaster> ehird, also all the shock pics
21:52:35 <ehird> yeah. all the vast expanses of them.
21:52:46 * ais523 wonders if Wikipedia has an article on lol
21:52:54 <ehird> ais523: it redirects to internet slang
21:53:06 <ais523> although teh gets its own article, IIRC
21:53:09 <ehird> anyway, most non-nsfw-related ED articlse are sfw. Well, not safe for owrk but not offensive.
21:53:18 <AnMaster> ais523, that should redirect to "the"
21:53:22 <ais523> AnMaster: no, it doesn't
21:53:28 <ais523> although there's a disambig header
21:53:32 <ais523> http://en.wikipedia.org/wiki/Special:Search?go=Go&search=teh
21:53:36 <ehird> the typo has enough of its life to deserve an article, AnMaster
21:53:40 <ais523> the word has too much of its own culture
21:53:52 <ehird> your own view of the way Things Should Be does not mean wikipedia shouldn't reflect reality
21:53:57 <ehird> AnMaster: no, very notable
21:54:00 <ehird> what you mean to say is, "I dislike it"
21:54:00 <ais523> oh no, it has an image now
21:54:19 <AnMaster> ehird, Missing reliable sources! Reads as advertisement! Is missing references!
21:54:49 <AnMaster> I was just imitating the style of wp
21:55:06 <ais523> I'm not entirely convinced the image adds to the article
21:55:27 <ais523> but then, it's reasonably common to drop a random vaguely-relevant image into an article in the hope of meeting GA criteria
21:55:50 <AnMaster> "This image is of a poster, and the copyright for it is most likely owned by either the publisher or the creator of the work depicted. It is believed that the use of scaled-down, low-resolution images of posters " <-- um, so you can't take a pic of a cityscape containing any posters?
21:56:46 <ais523> AnMaster: it depends on what it's a picture of
21:56:52 <ais523> and which jurisdiction, and all sorts of things
21:57:00 <AnMaster> ais523, like how much of the image it covers?
21:57:03 <ais523> but you can't, say, take a photo of an advert and crop out the logo of the advertiser
21:57:16 <ais523> copyright law is really complex and confusing
21:57:42 <ais523> anyway, the general reasoning is to, on Wikipedia, avoid images which contain even a small amount of copyvio stuff, unless it's covered by fair use
21:57:52 <ais523> because purely free-licensed images are fine
21:57:56 <fizzie> Heh, "purpose of use" field in the fair use rationale blob: "The spelling error in the image is unique and it depictures the Teh article's subject."
21:58:03 <fizzie> Yes, it is an unique spelling error.
21:58:16 <ais523> a free-licensed image which depends on fair use for a few pixels is more debatable
21:58:25 <ais523> because there are ways in which it can't be modified
21:58:36 <ais523> fizzie: what's your opinion on "a unique" vs. "an unique"?
21:58:53 <ais523> I normally use "a unique", because the pronunciation of "unique" starts with a consonant, even though the word itself doesn't
21:59:06 <ehird> an unique is incorrect, i've never heard anyone say that
21:59:49 <fizzie> My opinon is that I shouldn't have an opinion, being so very non-native speaker. And I would write it as "a unique", it's just that I caught myself only after the newline.
21:59:57 -!- GreaseMonkey has joined.
22:02:32 <ehird> oklopol: i want oklotalk - - bot ;-)
22:02:47 <fizzie> I blame the Finnish pronunciation where 'u' always sounds the same, and is always a vowel.
22:02:48 <ais523> preferably written in something stupid
22:03:11 <ais523> fizzie: most languages are more logical than English
22:03:13 -!- ehird has set topic: IRC IRC IRC.
22:03:14 -!- bsmnt_bot has set topic: IRC IRC IRC | http://tunes.org/~nef/logs/esoteric.
22:03:18 <ais523> maybe that's why English does so well...
22:03:21 <ehird> ais523: do you like our auto-topic-setting?
22:03:38 <ehird> it's the work of mizardx and I :D
22:03:43 -!- ais523 has set topic: IRC IRC IRC | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric.
22:03:53 * ais523 wonders if bsmnt_bot will add another
22:03:55 <ehird> it doesn't do anything if the logs are already in the topic
22:03:57 <ais523> apparantly not, though
22:04:03 <ais523> that would have made for a really amusing botloop
22:04:05 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric ** so you can do arty things like this.
22:04:12 <ehird> bsmntbombdood: we taught bsmnt_bot to do this:
22:04:13 -!- ehird has set topic: aaaaaaa.
22:04:14 -!- bsmnt_bot has set topic: aaaaaaa | http://tunes.org/~nef/logs/esoteric.
22:04:22 <ais523> bsmntbombdood: your bot has found itself a new usefulness
22:04:28 -!- GreaseMonkey has set topic: aaaaaaa | http://tunes.org/~nef/logs/esoteric/penis.
22:04:46 <ais523> hmm... we'll have to dig the BF-in-bsmnt_bot out of the logs
22:04:53 <GreaseMonkey> ^ aren't you glad you don't use a tinyurl one?
22:05:08 <ais523> I have a copy, but all the whitespace got corrupted
22:05:16 <ais523> and I don't think there's a way to automatically reconstruct it
22:05:17 <GreaseMonkey> because someone could always append to it and hijack it
22:05:28 <ais523> this, incidentally, is what caused my hatred of Python
22:05:29 <ehird> GreaseMonkey: ... what?
22:05:48 -!- ais523 has set topic: (a(:^)*S):^.
22:05:48 -!- bsmnt_bot has set topic: (a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric.
22:05:50 <ehird> ais523: unsurprisingly, Python is not optimized for entering code over IRC.
22:05:54 <GreaseMonkey> e.g if you had tinyurl.com/esolog and someone managed to take /esologs for something then yeah
22:06:03 <ehird> GreaseMonkey: how about they could just change the topic...
22:06:30 <ehird> GreaseMonkey: what?
22:07:38 <ais523> ^bf >,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>]!>,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>]
22:07:38 <fungot> ,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>]
22:08:02 <ais523> ^bf >,[.>,]<[<]+++++++++++++++++++++++++++++++++.>[.>]!>,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>]
22:08:03 <fungot> >,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>]!>,[>,.]<[<]+++++++++++++++++++++++++++++++++.>[.>]
22:08:09 <ais523> ^bf >,[.>,]<[<]+++++++++++++++++++++++++++++++++.>[.>]!>,[.>,]<[<]+++++++++++++++++++++++++++++++++.>[.>]
22:08:09 <fungot> >,[.>,]<[<]+++++++++++++++++++++++++++++++++.>[.>]!>,[.>,]<[<]+++++++++++++++++++++++++++++++++.>[.>]
22:08:20 <ais523> even though it's cheating, really
22:10:31 <AnMaster> <ais523> that would have made for a really amusing botloop3 <-- happened yesterday
22:10:51 <fizzie> ehird: I think the point here was that since you can add any suffix to the log URL, if the bot it set to keep "tinyurl/foo" in the topic always it fails if someone gets "tinyurl/foobar" and sets that as the topic, without the bot adding the real URL. If you "just change the topic" you won't get rid of the real log URL.
22:11:14 <ehird> well who cares, it's just for setting the topic easily
22:12:20 <fizzie> ChanServ could have a auto-append/prepend channel variables for that; there are 'topicappend' and 'topicprepend' commands, after all.
22:12:51 -!- MizardX has set topic: (a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo.
22:12:52 -!- bsmnt_bot has set topic: (a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric.
22:12:54 -!- bsmnt_bot has set topic: (a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric.
22:12:58 -!- bsmnt_bot has set topic: (a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric.
22:13:02 -!- bsmnt_bot has set topic: (a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric.
22:13:06 -!- bsmnt_bot has set topic: (a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric.
22:13:09 <ehird> why did you eff with it :P
22:13:11 -!- bsmnt_bot has set topic: (a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric.
22:13:16 -!- bsmnt_bot has set topic: (a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric.
22:13:16 <ehird> ~exec self.raw("QUIT")
22:13:20 <ehird> ~exec self.raw("QUIT")
22:13:21 -!- bsmnt_bot has set topic: (a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/foo | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes.org/~nef/logs/esoteric | http://tunes..
22:13:22 -!- ChanServ has set channel mode: +o fizzie.
22:13:23 -!- fizzie has set channel mode: +t.
22:13:24 -!- ChanServ has set channel mode: -t.
22:13:27 -!- bsmnt_bot has quit.
22:13:29 <ehird> fizzie: it'll stop
22:13:30 -!- bsmnt_bot has joined.
22:13:47 <fizzie> Well, +t would've been quicker, maybe. Except that chanserv removed it since it's in the mlock.
22:13:55 -!- bsmnt_bot has quit (Client Quit).
22:13:59 <ais523> it's intereseting to have a channel mlocked at -t
22:14:07 <ehird> ... come back, bsmnt_bot
22:14:42 <oklopol> fizzie: can i call you overlord while you're op?
22:14:59 <fizzie> oklopol: You can call me overlord whenever you want, I don't mind.
22:15:01 -!- fizzie has set topic: (a(:^)*S):^.
22:15:13 <oklopol> fizzie: i'll keep that in mind.
22:15:23 <fizzie> I just have to test that chanserv topicprepend thing, I want to see if it adds a separator or something.
22:15:41 -!- ChanServ has set topic: fancy! | (a(:^)*S):^.
22:15:43 <ehird> bots are always the correct solution
22:15:48 -!- ehird has set topic: aa.
22:15:53 <fizzie> Heh, yes, it added that | there.
22:16:39 <fizzie> It's not an auto-append, though. I'm not sure what it is for, really.
22:17:43 <ais523> fizzie: changing the topic when you aren't opped and the channel is +t
22:17:59 <fizzie> Right, I guess there's that.
22:18:14 <ehird> hey, who wants to fix bsmnt_bot
22:20:11 -!- GreaseMonkey has quit ("Client Excited").
22:21:48 <fizzie> Heh, interesting typo: "/frop gizzie"
22:21:51 -!- fizzie has set channel mode: -o fizzie.
22:22:10 -!- AnMaster has set topic: http://tunes.org/~nef/logs/esoteric.
22:22:19 <ais523> fizzie: your hand was too far to the right
22:23:04 <fizzie> ais523: Maybe my keyboard was just too far to the left. It's not always my fault!
22:23:05 <AnMaster> if (!substr(topic, "http://tunes.org/~nef/logs/esoteric") topic += "| http://tunes.org/~nef/logs/esoteric"
22:23:15 <ehird> AnMaster: because we have to write it one line in python
22:23:21 <ais523> ehird: that's easy enough
22:23:22 <ehird> also, MizardX effed up the disconnection logic
22:23:27 <ehird> so it's sitting there using up cycles
22:23:30 <ehird> instead of reconnecting
22:23:41 <AnMaster> ehird, kill it and restart it clean?
22:23:55 -!- bsmntbombdood__ has joined.
22:24:00 <ais523> just use the exec("""if !substr(topic, "http://tunes.org/~nef/logs/esoteric"):\n topic += "| http://tunes.org/~nef/logs/esoteric"\n""") trick
22:24:14 <ais523> that's how I wrote the BF interp in the first place
22:24:25 <ais523> bsmntbombdood: dc the reverse-polish-notation calculator?
22:24:52 <ehird> hey bsmntbombdood__
22:24:56 <ehird> how do you start bsmnt_bot again
22:25:08 <ehird> does that start the chroot
22:25:47 -!- bsmnt_bot has joined.
22:27:17 <fizzie> I have in my logs a whitespace-fixed version of that bsmnt_bot brainfuck. Will test.
22:27:33 <fizzie> ~exec self.bf3="def bfarg(x,y):\n p=y.group(2)\n a=y.group(3)+unichr(0)\n o=''\n p=p+'!'\n t=[0]*30000\n i=0\n l=0\n while p[i]!='!':\n if p[i]=='[' and t[l]==0:\n c=1\n while c>0:\n i=i+1\n if p[i]=='[': c=c+1\n if p[i]==']': c=c-1\n if p[i]==']' and t[l]!=0:\n c=1\n while c>0:\n i=i-1\n if p[i]==']': c=c+1\n if p[i]=='[': c=c-1\n"
22:27:46 <fizzie> ~exec self.bf4=" if p[i]=='+': t[l]=t[l]+1\n if p[i]=='-': t[l]=t[l]-1\n if p[i]=='<': l=l-1\n if p[i]=='>': l=l+1\n if p[i]=='.': o=o+unichr(t[l])\n if p[i]==',':\n t[l]=ord(a[0])\n a=a[1:]\n i=i+1\n sys.stdout(o)\nself.register_raw(r'\S+ PRIVMSG (\S+) :~bf ([^!]*)!?(.*)',bfarg)"
22:27:53 <fizzie> ~exec exec(self.bf3+self.bf4)
22:27:59 <fizzie> ~bf ++++++[->++++++<]>.
22:28:06 <ehird> ~bf ++++++++++++++++++++++++++++++++++++++++++++++.
22:28:12 <ehird> ~bf +++++++++++++++++++.
22:28:21 <ehird> ok, who wants to make it \nQUIT? :P
22:28:27 <ehird> although you can easily do that with ~exec
22:28:28 <ais523> ~bf ,[.,]!Hello, world!
22:28:32 <ehird> hey, someone make the callbacks persist
22:28:35 <ehird> its irritating having them not
22:29:03 <ais523> wow, one-line non-lambda based Python is really weird to read
22:29:06 <ais523> even when I wrote it...
22:29:12 <ais523> all those varying amounts of spaces
22:29:24 * ais523 thinks this is the only legitimate use-case they've ever seen for one-space indentation
22:30:45 <ehird> what bsmnt_bot needs is bracism
22:30:57 <ehird> def bfarg(x,y): { p = y.group(2); ... }
22:32:00 * ais523 wonders what a Python purist would say if they were watching this discussion
22:32:10 <ais523> couldn't you just start with from __future__ import braces; ?
22:32:19 <ais523> if it worked quickly enough, you wouldn't even need the newline after it
22:32:50 <ehird> ais523: Pythoners are generally an assholish lot.
22:33:04 <ehird> And Lispers in general; #lisp is awful.
22:33:38 <ais523> use ACME::Pythonic; requires the one last semicolon after the statement, unfortunately
22:33:43 <ais523> but you don't need any semicolons from then on
22:34:03 <ehird> anyway, bracism is a nice little hack. I think I will now reimplement it.
22:34:07 <AnMaster> <ehird> ais523: Pythoners are generally an assholish lot. <ehird> So are Schemers. <ehird> And Lispers in general; #lisp is awful. <-- what about perlers?
22:34:21 <AnMaster> I noticed the less sane the language is the nicer the people are in the support channels
22:34:23 <ehird> AnMaster: Perlers are bathshit insane, but very friendly, apart from in #perl, where they keep the assholes.
22:34:37 <ais523> AnMaster: and the INTERCAL support channel is very friendl
22:34:42 <ais523> even though it's mostly just me
22:34:42 <AnMaster> ehird, we are all insane in here
22:34:49 <AnMaster> and very friendly 99% of the time
22:34:59 <ehird> Yeah, #esoteric is the nicest channel on IRC.
22:35:06 <ehird> #haskell is about equal, though.
22:35:11 <AnMaster> ais523, also you missed some awful puns I made today
22:35:13 <ehird> I think that says something about Haskell.
22:35:36 <ais523> ehird: yep, I think Haskell is pretty insane too by common-language standards
22:35:41 <ais523> but insane in a "wow, that's so elegant" way
22:35:54 <ehird> Scheme is pretty esoteric, too.
22:35:54 <AnMaster> ais523, yes, but lisp is kind of like that too IMO
22:36:03 * ais523 joins #vhdl, to see what they're like
22:36:04 <ehird> Common Lisp is kind of unelegant.
22:36:12 <ais523> however, it seems to be a mostly idle channel
22:36:22 <ais523> I'm going to ask a question to see how they react
22:36:27 <ehird> ais523: "Verilog questions possibly answered but only if we get a cookie (Remillard will answer Verilog questions for a Chipotle burrito.) "
22:37:25 <ehird> AnMaster: elisp is _dynamically scoped_
22:37:28 <ehird> that's hard to beat.
22:37:40 <ais523> I've asked a question which is "I'm doing insane thing X, what should I do instead?"
22:38:03 <AnMaster> ais523, what is this insane thing?
22:38:14 <ais523> AnMaster: using a for loop with one iteration to define a temporary variable
22:39:16 <ehird> A colon followed by whitespace followed by { opens a new block, unless we're in a {} block that wasn't a bracism block
22:39:20 <ehird> (to allow {'foo': {...}})
22:39:33 <ehird> } ends a block if we're in a block and not a {} that isn't a block.
22:39:38 <ehird> ; is newline-and-indent.
22:39:53 <ehird> It's for writing one-line python.
22:40:03 <ehird> a bot in here used to have it
22:40:11 <ehird> it was great for irc
22:40:28 <ais523> the basic rule is { is newline and increase indentation, } is newline and decrease indentation, ; is newline and maintain indentation
22:40:36 <ais523> but you have to detect when those characters are used for other things
22:40:38 <ehird> but you have to deal with dictionaries
22:40:46 <ais523> and semicolons inside strings?
22:40:51 <ais523> luckily, Python is easy to parse
22:40:52 <ehird> thus my above rules
22:40:53 <bsmntbombdood> nc irc.freenode.net 6667 < /tmp/fifo | command > /tmp/fifo
22:40:56 <ehird> ais523: you don't have to parse it much
22:41:01 <ehird> bsmntbombdood: dunno :-D
22:41:31 <ehird> unfortunately, bracism parsing is more complex than a regex.
22:41:35 <ais523> bsmntbombdood: there's an option to nc to do that automatically
22:41:49 <AnMaster> ais523, I would recommend socat
22:41:49 <ais523> nc irc.freenode.net 6667 -e 'command', IIRC
22:42:07 <ehird> AnMaster: yes, you would recommend socat.
22:42:13 <ehird> this is a reason why you are unhelpful
22:42:15 <AnMaster> ehird, what is wrong with socat!?
22:42:23 <ais523> AnMaster: I may have used the wrong option
22:42:28 <ehird> "How can I do X with this tool?"
22:42:30 <ehird> "Use another tool"
22:42:36 <ehird> => very unhelpful unless all other situations have been covered.
22:43:21 <ais523> well, I'm going to declare #vhdl Helpful and Not At All Snarky
22:43:42 <fizzie> So it gets the coveted HNAAS award.
22:43:42 <ehird> ais523: is VHDL, I mean, good?
22:43:54 <ais523> ehird: it's a language which is good for what it's designed for
22:43:56 <ehird> whoa, kragen sitaker
22:43:59 <ehird> that guy gets everywhere
22:44:07 <ais523> if inspired slightly (well, far) too much by ADA
22:44:23 <ais523> you need to get used to writing lots of boilerplate to write VHDL
22:44:28 <ais523> but luckily Emacs has it all memorised
22:44:44 <ais523> anyway, I'd better go home now, or I'll never get any work done
22:44:53 -!- ais523 has quit (Client Quit).
22:50:17 -!- bsmntbombdood__ has quit.
22:51:28 -!- seabot has joined.
22:51:34 <ehird> here's the bracism bot
22:51:35 <seabot> karma: karma karma+ karma-
22:51:35 <seabot> meta: load reload unload
22:51:41 <seabot> karma: karma karma+ karma-
22:51:44 <seabot> No plugin called karma+.
22:51:44 <seabot> UnboundLocalError: local variable 'plugin' referenced before assignment
22:51:53 <seabot> You can't change your own karma, silly.
22:51:57 <seabot> seabot's karma raised to 2.
22:51:59 <seabot> seabot has a karma of 2
22:52:08 <ehird> @python if 1 == 2: { print "nooo" }
22:52:13 <ehird> @python if 1 == 1: { print "nooo" }
22:52:20 <ehird> hey AnMaster, or whoever
22:52:33 <ehird> @cdecl int (*)(int *)
22:52:49 <ehird> @cdecl int (*a)(int *);
22:52:50 <seabot> declare a as pointer to function (pointer to int) returning int
22:54:25 <ehird> @python users.ehird
22:54:29 <ehird> @python users.ehird['a']
22:54:32 <ehird> @python users.ehird['a'] = 2
22:54:55 <ehird> @python users.seabot
22:55:00 <ehird> hey AnMaster, do @python a= 2
22:55:16 <oklopol> ooooooooooooooooooooooooooooooooo
22:55:21 <ehird> oklopol: you do it
22:55:26 <ehird> @python users.oklopol
22:55:28 <ehird> @python users.oklopol['a']
22:55:30 <ehird> @python users.oklopol['a'] = 7
22:55:33 <ehird> @python users.oklopol['a']
22:55:38 <ehird> that isn't meant to wokrk
22:56:09 <ehird> AnMaster: seabot is my old bot, it has bracism
22:56:21 <oklopol> @python a={users.oklopol["a"]}
22:56:22 <seabot> SyntaxError: unexpected EOF while parsing (<irc>, line 1)
22:56:30 <ehird> @python def hello(a): { print "yo"; return a }; print hello("aa")
22:56:30 <seabot> SyntaxError: invalid syntax (<irc>, line 5)
22:56:43 <oklopol> @python a=[users.oklopol["a"]]
22:56:45 <ehird> ... a bug in bracism??????
22:56:46 <oklopol> i think that's what i meant
22:56:50 <ehird> @python def hello(a):{ print "yo"; return a }; print hello("aa")
22:56:50 <seabot> SyntaxError: invalid syntax (<irc>, line 5)
22:56:59 <oklopol> but in my fingers i think.
23:01:09 <ehird> bsmntbombdood: because butt
23:04:28 <ehird> bsmntbombdood: also, bsmnt_bot has dc
23:04:35 <ehird> ~exec bot.run('ls','usr/bin')
23:04:35 <bsmnt_bot> ['dc', 'nice', 'python2.4', 'wget']
23:07:00 -!- olsner has quit ("Leaving").
23:12:40 <fizzie> About that awk thing, my guess is there's some sort of buffering nastiness going on. When I run "awk -f test.awk < from-irc.fifo > to-irc.fifo" here, then start a "cat > from-irc.fifo" and a "cat to-irc.fifo", nothing appears no matter what I write into the "cat > from-irc.fifo" terminal, except when I ^d it, at which point the nick/user/join lines finally appear in "cat to-irc.fifo".
23:14:12 <fizzie> Also if I feed enough (a couple of rather large screenfuls) of stuff into the "cat > from-irc.fifo" terminal, awk replies in "cat to-irc.fifo". So I guess awk is reading the fifo with the usual few-kilobyte buffer.
23:14:16 <AnMaster> add calls to set non-buffered mode
23:14:25 <fizzie> I'm not sure I want to; it's not my bot.
23:15:07 <AnMaster> bsmntbombdood, does awk have a flush() or fflush()?
23:15:18 <AnMaster> modifying the gawk source is cheating
23:15:32 <fizzie> gawk has a fflush() call.
23:15:48 <fizzie> I'm not sure it'll help, though, if the problem is that awk's still waiting for input before actually executing any BEGIN { } blocks or anything.
23:15:53 <bsmntbombdood> fflush([file]) Flush any buffers associated with the open output file or pipe file. If
23:17:06 <bsmntbombdood> file is missing, then standard output is flushed. If file is the null string, then all open output files and pipes have their buffers flushed.
23:17:55 -!- FireFly has quit ("Later").
23:18:09 -!- dc-bot has joined.
23:19:13 -!- dc-bot has quit (Remote closed the connection).
23:19:25 -!- dc-bot has joined.
23:20:03 <psygnisfive> i know how to design parsers that recognize a language
23:20:15 -!- dc-bot has quit (Remote closed the connection).
23:20:17 <psygnisfive> but how the hell do i use the parser output to build an abstract syntax tree?
23:20:17 <ehird> you're not functionally retarded.
23:20:26 -!- dc-bot has joined.
23:20:27 <ehird> I retract my previous statement.
23:20:51 <ehird> ~dc [loop forever]
23:20:58 <psygnisfive> the only parser book i have is incredibly complete, except in that it doesnt explain how to use a parser's output :|
23:22:59 <oklopol> err what parser's output? i figured parsing out by thinking, and afaik i'm the retard from us two.
23:23:25 <fizzie> I'd really have to guess that depends on what sort of parser you have, and what its output is. If your parser outputs "accept" or "reject" depending on whether the input is in the language, you'd have to be Really Clever to build a syntax tree out of that.
23:23:45 -!- botbot has joined.
23:23:52 <dc-bot> loopPONG :leguin.freenode.net
23:24:08 <fizzie> dc-bot: Thank you, that was appropriately bizarre.
23:24:23 <oklopol> fizzie: you could find nested stuff by doing dynamic programming on all substrings of the code
23:24:26 <psygnisfive> what i mean is, parsers can produce things like stacks of symbols and so on. what im not sure about is how to reverse those symbols and get a tree
23:24:44 <oklopol> only nested expressions wouldn't fail, you could recurse on them
23:24:48 <psygnisfive> i suppose i could kind of run the parser in reverse, in a sense
23:25:08 -!- dc-bot has quit (Remote closed the connection).
23:25:11 -!- BeholdMyGlory has quit ("Konversation terminated!").
23:25:19 <psygnisfive> and instead of pushing it out to a string, i'd push it out to the tree itself, but im not entire sure how to do that. atleast not in any way thats well established
23:26:39 <ehird> psygnisfive: you're an idiot :D
23:26:42 <bsmntbombdood> can you be like recognize_addition = [+, read_expression, read_expression]
23:26:49 <psygnisfive> thank you for your constructive advice, ehird.
23:26:51 <oklopol> my suggestion is writing your own parser
23:27:13 <psygnisfive> oklopol, i can WRITE a parser, im just not sure about how to get anything useful out of it
23:27:28 <oklopol> psygnisfive: oh. i thought you wanted to use an existing parser or something.
23:27:29 <psygnisfive> the parsing is trivial. its the conversion to an AST that im confused about.
23:27:42 <ehird> parses PRODUCE ASTS
23:27:47 <ehird> that's the whole POINT of them
23:27:56 <ehird> psygnisfive: yes they do. bsmntbombdood: yes they do.
23:28:04 <AnMaster> bsmnt_bot, the bot is written in dc?
23:28:06 <oklopol> well, you can build the ast as you go, consider recursion descending in the ast.
23:28:13 <ehird> bsmntbombdood: that's a technicality :-)
23:28:15 <ehird> psygnisfive: yes. they do.
23:28:32 <oklopol> when you call a nested thingie recursively, you're parsing a child, just append result in list.
23:28:33 <ehird> "Hey guys, I don't get this topic. Can you explain it?" "Foobar" "No, not foobar."
23:28:46 <ehird> botbot: WHAT DAMMIT
23:28:49 -!- botbot has left (?).
23:28:54 -!- botbot has joined.
23:29:01 -!- botbot has quit ("...").
23:29:02 <psygnisfive> oklopol: im not entirely sure what you mean.
23:29:21 <oklopol> psygnisfive: have you tried parsing brainfuck?
23:29:36 <fizzie> If the parser is a recursive-descent one, building an AST is really simple, sure. Just have a "foo" function, for a non-terminal foo, return an AST node foo(x, y, z), with x, y, z given from whatever foo() recursive-descends into.
23:29:53 <oklopol> bsmntbombdood: yes, and it contains the basic idea
23:30:16 <psygnisfive> ehird: then i suppose i should rephrase it since you're a bit too dense. when building a parser, after i've gotten to the stage where each token in the string is recognized, and the production path has been determined, as a sequence of terminals and non-terminals, how does that get read off into an AST.
23:30:17 <oklopol> a way to parse a bf loop body is to make a list, and start appending instructions, and for [...]'s, call recursively, append result
23:30:39 <ehird> psygnisfive: Protip: Calling someone dense is not a way to get help.
23:30:52 <oklopol> psygnisfive: the paths are paths in the tree btw
23:31:03 <ehird> I suggest cutting yourself
23:31:06 <psygnisfive> you're just a whiney little twat who never has anything useful to say.
23:31:26 <ehird> yes. Because if I'm not here to help you do trivial stuff all the time, what am I here for?!
23:31:50 <psygnisfive> if you're not here to help, you might want to stop replying to my requests for help
23:32:11 <psygnisfive> oklopol: i know that they're paths in the tree. but that doesnt help much.
23:32:13 <ehird> or I might not, seeing as there isn't a channel rule that I can't reply to requests for help how I want.
23:32:16 <AnMaster> bsmntbombdood, try a tabbed terminal
23:32:22 <oklopol> psygnisfive: if not, read my actual help.
23:32:28 <AnMaster> like konsole, or whatever gnome have
23:32:30 <bsmntbombdood> AnMaster: i have a tabbed window manager, same thing
23:32:33 <oklopol> i suggest you try to see how brainfuck is parsed recursively
23:32:41 <fizzie> I'm not sure 253 terminal tabs would be very helpful either.
23:32:45 <oklopol> it's very simple, and you should see the general idea
23:32:58 <AnMaster> oklopol, parsing bf recursive? yeah dead easy
23:33:00 <psygnisfive> *sigh* nevermind. ill read this book on parsers more carefully and see if it has any explanation that i missed.
23:33:04 <bsmntbombdood> psygnisfive: maybe do it in a real language, not haskell
23:33:31 <oklopol> AnMaster: i've done it about 50 times. i do it every time i want to write something in brainfuck.
23:33:48 <oklopol> because it's faster than finding a brainfuck.py.
23:33:56 <fizzie> Building the syntax tree in a hand-crafted "bottom-up"-style LR parser might not be quite as easy, but really, if your parser is a recursive-descent stylish, I would think it'd be hard to not to get a syntax tree out of it.
23:34:03 <AnMaster> oklopol, are you on *nix? I don't remember
23:34:08 <oklopol> AnMaster: what's the difference really? both take <1min
23:34:23 <oklopol> AnMaster: could have a different name.
23:34:33 <AnMaster> oklopol, idea: store it in ~/bin ?
23:34:45 <ehird> 2. shut up, stop trying to make oklopol logical
23:34:46 <oklopol> anyway, i don't take very kindly to people suggesting me to do stuff unless i actually ask.
23:34:47 <ehird> you're ruining him
23:36:01 <oklopol> i'm perfectly logical. i just have different axioms.
23:36:14 <psygnisfive> fizzie: im sure thats the case, but i dont do much recursive descent stuff, so i cant really conceptualize why :)
23:36:35 <oklopol> (and a few psychological bugs)
23:36:43 <oklopol> i haven't actually listed them.
23:36:53 <AnMaster> oklopol, indeed, that is why I asked
23:37:13 <AnMaster> oklopol, and I need to consider them
23:37:24 <AnMaster> seeing your as examples would help me define them clearer
23:37:24 <psygnisfive> bsmntbombdood i have a copy of a really good intro to parsers book
23:37:37 <psygnisfive> well, its more of a somewhat comprehensive parsing techniques book actually
23:37:43 <psygnisfive> but it goes through a lot of intro stuff too
23:37:55 <oklopol> parsing is a solved problem
23:38:12 <psygnisfive> not that there aren't new and better techniques to be found
23:38:14 <oklopol> BECAUSE THAT DOESN'T GET SAID ENOUGH
23:38:53 <oklopol> reading on a monitor is pleasant, the only problem is irl books are prettier.
23:39:08 <ehird> books are so awesome
23:39:13 <AnMaster> psygnisfive, what is the name/ISBN of this book?
23:39:55 <psygnisfive> you can actually get it online i just forget where
23:40:01 <psygnisfive> you can probably find it by googling that.
23:40:06 <ehird> print to_python("{'a':{'b':lambda a: a}}; def a(b={'a':2}): { pass }")
23:43:16 <ehird> oklopol: can you writerate a program for me :P
23:47:24 <ehird> whee, it also handles def a(): { return {'a':2} }
23:47:28 <ehird> that's quite enough testing.
23:49:28 <bsmntbombdood> a used copy of introduction to algorithms for $70?!?!
23:50:14 <fizzie> That's strange, I get a "whoa, that stuff's so cheap" feeling, thanks to the book prices here. Most of my course books (if bought new from a local retailer) have had prices around $100.
23:50:53 <fizzie> Amazon seems to be clever enough to find Introduction to Algorithms if I write "clrs" in the search-box.
23:52:13 <ehird> books are crazy expensive : D
23:53:01 <fizzie> I'm not sure what's up with that $70-used version of CLRS. Even though it's printed in 2003, it's still the same old 2nd edition, for which Amazon is selling new copies (hardcover, even) for $60.
23:54:17 <fizzie> Even the page count is higher (1184 pages vs. 1056 pages) in the old one, so it's not like they'd have added any stuff.
23:55:42 <ehird> they could add and remove.
23:56:03 <fizzie> FWIW, in the two largest local book stores here in Finland, the hardcover edition of CLRS sells for $130.
23:56:38 <fizzie> Of course it's a big book. I think I've used that thing to stand on when I couldn't quite reach something.
23:58:37 <fizzie> ("Full disclosure" note: as a cheap student, I got the non-hardcover edition.)
00:01:46 <oklopol> hmm. how advanced is introduction to algorithms, and why clrs?
00:01:54 <fizzie> Well, it's the classic.
00:02:03 <fizzie> And it's called CLRS because of the authors.
00:02:04 <oklopol> yes but i haven't read it. i assume you have
00:02:44 <fizzie> Well, it's no Knuth. So it's not very advanced-advanced. But it's (maybe) good to have a reference book of them basics, just in case.
00:03:13 <fizzie> The first edition was abbreviated CLR; the second edition added an author and a letter in the abbrev.
00:03:20 <oklopol> does it prove algos, or just state them?
00:04:07 <fizzie> Something like that. It's not *that* formal, but it's no cookbook either.
00:04:31 <ehird> http://pastie.org/364233.txt?key=9rpypyo03fxtfukjimeq
00:04:35 <fizzie> There's a reasonable amount of work done on computing worst-case asymptotic effectiveness and things like that.
00:04:40 <ehird> Bracism->Python translator.
00:04:44 <ehird> Written in Bracism, of course. :-P
00:04:55 <oklopol> well yes, but that's much easier than correctness proofs, ime
00:05:13 <ehird> wait actually i broke it fuck
00:05:27 <ehird> bsmntbombdood: cleverly
00:05:35 <ehird> ill show the non-obfuscated source
00:06:17 <ehird> just need to fix this one bug
00:06:34 <fizzie> oklopol: Sure, that's probably why they've bothered to do them.
00:07:06 <ehird> bsmntbombdood: http://pastie.org/private/wqoy0vq8pdrfkapgzgg
00:07:15 <ehird> should be fairly easy to figure out how it works
00:07:16 <oklopol> because ordos and the like are often pretty much just arithmetic, with a small layer of explanation
00:07:55 <oklopol> i read *an* introduction to algorithms at some point i think
00:08:07 <oklopol> i mean skimmed through it because i already knew all the algos
00:09:31 <oklopol> no actually there were a few trees i didn't know about, these things where you have the strings as paths in a tree, and can thus check what's in the dict etc.
00:09:38 <oklopol> but anyway, i wonder what book that was
00:10:17 <ehird> bsmntbombdood: see how it works?
00:10:20 <oklopol> it was really big, but most of it was sample code, which was written in C# i think, and thus took the bulk of the book (levenshtein was like 3 pages)
00:10:42 <ehird> bsmntbombdood: :D, basically, it only triggers a block if you have a colon, whitespace, then a {, BUT
00:10:51 <ehird> it only does that trigger if the last { seen entered a block
00:11:00 <ehird> so {...} doesn't enter a block, no colon
00:11:09 <ehird> since the last { seen didn't open a block
00:11:19 <ehird> it's an essentially foolproof algorithm
00:12:02 <fizzie> CLRS code samples are all in their own pseudo-code thing.
00:12:19 <ehird> pseudo-code is a great evil.
00:12:56 <fizzie> The book's web page has their LaTeX macro for typesetting that pseudo-code, I've used it a couple of time for presentation slides and stuff.
00:13:37 <ehird> fizzie are you IRL buds with lament I have this fucked up view of #esoteric, and all the ops know each other.
00:13:56 <fizzie> ehird: No. I don't even know which country lament is from.
00:14:03 <ehird> he lives in canada.
00:14:10 <ehird> but he's russian iirc
00:14:28 <ehird> He's like a superhero
00:14:34 <ehird> "LAMENT! He lives in canada...
00:14:36 <ehird> But he's RUSSIAN!"
00:14:50 <oklopol> yeah, i wonder why that was such a crucial detail
00:15:04 <oklopol> i mean i'm australian, but i don't mention it much
00:15:13 <ehird> lament has inherent russian-nature
00:15:23 <ehird> wait oklopol are you really australian
00:15:35 <oklopol> ehird: how really are we talking?
00:15:36 <fizzie> From the people in the nick-list I only IRL-know ineiros. And I might've seen Deewiant accidentally, since we're in the same university.
00:15:42 <ehird> oklopol: like, really
00:15:53 <ehird> fizzie: wait you know ineiros the famous idler? WHOAAAAAAAAA.
00:16:04 <ehird> he's been idle _thirty two days_
00:16:44 <oklopol> i haven't seen esotericers irl, not even myself
00:16:44 <fizzie> Not on the IRCnet side of the fence.
00:16:50 <oklopol> at least directly and completely
00:17:01 <ehird> IRCnet is a crazy finnish thing.
00:17:09 <ehird> oklopol: there needs to be an #esoteric meetup sometime :|||||||
00:17:39 <fizzie> It's not that Finnish. Although I haven't seen statistics.
00:18:02 <fizzie> There are .de people around, at least.
00:20:53 <fizzie> Seems to be sort-of losing in popularity: http://irc.netsplit.de/networks/details.php?net=IRCnet&submenu=years when compared to the trend in http://irc.netsplit.de/networks/details.php?net=freenode&submenu=years
00:21:46 <ehird> Freenode has only had 52041 users max?
00:22:23 <fizzie> Well, it's not a big network.
00:22:37 <ehird> It feels like one of the biggest...
00:22:59 <fizzie> :wolfe.freenode.net 266 fasdfa :Current global users: 44083 Max: 52254
00:23:28 <fizzie> Must sleeps now, night.
00:24:38 <bsmntbombdood> does that mean they can use reference-counting for gc?
00:25:45 <oklopol> you can still have circular references that go out of scope
00:26:09 <ehird> bsmntbombdood: easy
00:26:37 <ehird> newtype Foo = Foo Foo
00:26:45 <oklopol> yeah it's not like types are that crucial in haskell :P
00:27:16 <ehird> bsmntbombdood: in fact, circular structures are very good for haskell programs
00:27:22 <ehird> e.g. a fold over an infinite list is an interesting control structure
00:27:59 <oklopol> bsmntbombdood: take this with a grain of salt though, i'm not feeling all that bright today, there might be some other optimizations for gc at least, given immutability.
00:28:28 <oklopol> i just haven't thought or read about it, and clearly you can at least do what makes mutable stuff circumvent refcounting.
00:31:45 <bsmntbombdood> http://www.amazon.com/Garbage-Collection-Algorithms-Automatic-Management/dp/0471941484
00:39:39 <kerlo> http://product.half.ebay.com/_W0QQcpidZ405747QQprZ305965
00:40:09 <ehird> Garbage collection has progressed a loooooong way since then.
00:40:28 <kerlo> "Visible shelf wear -- may have some notes/markings on pages" - $32.00
00:41:15 <ehird> lofl: lolling on the floor laughing?
00:41:26 <ehird> laughing on the floor louding?
00:41:43 <kerlo> Loudly on the floor laughing.
00:41:48 <kerlo> I am loudly on the floor.
00:41:48 <ehird> kind of like oko then
00:50:05 <GregorR> I see that my name has been said, so I look up through history to see in what context it was said, and am subjected to THAT :P
01:09:08 <MizardX> ehird: I think I got the persistance of triggers working. http://dpaste.com/110549/
01:09:46 <MizardX> just need to call bot.save_callbacks() to save, and it is loaded upon restart
01:11:54 -!- Corun has quit ("Leaving").
01:13:52 <MizardX> ehird: Strangely, the issue with the topic-change doesn't seem to have any obvious solution. The bot sends the TOPIC-command to the server, which responds with the standard ":nick!user@host TOPIC #chan :...", but the topic doen't seem to get changed anyway.
01:17:57 -!- seabot has quit (Read error: 113 (No route to host)).
01:37:49 <bsmntbombdood> is something besides bsmntbombdood developing bsmnt_bot ?!?!
01:48:29 <MizardX> well... ehird asked me to make added triggers persistant
01:51:30 <psygnisfive> ive begun coding the interp for my language :o
02:31:27 <comex> >>> ['a', 'b', 'C'].each().upper()
02:38:57 <kerlo> I no longer like Python.
02:39:44 <kerlo> Then again, you can do wild things like that in Haskell, too.
02:39:52 <comex> I got the idea from IO
02:40:20 <kerlo> You mean you can actually do that in Haskell?
02:40:48 <comex> however, implementing it in python required using ctypes to get at the internal dict :D
02:41:13 <comex> I don't know haskell :(
02:41:19 <comex> I'm afraid to learn it because then I will forget about prolog
02:41:37 <kerlo> newtype Each a = Each [a]; instance Stuff a => Stuff (Each a) where f (Each a) = Each (map f a)
02:42:01 <kerlo> Where Stuff is an arbitrary class, and f is an arbitrary class variable thingy.
02:42:26 <comex> I'll get back to you on that when I understand Haskell. ;)
02:43:03 * kerlo ponders the continuous functions in Sierpinsky space
02:45:48 <kerlo> Sierpinski, rather.
02:53:05 <kerlo> Oh, cool, a function to the Sierpinski space is continuous if and only if the set of functions it maps to 1 is open.
02:54:04 -!- GreaseMonkey has joined.
03:40:38 -!- bsmnt_bot has quit (Excess Flood).
04:00:15 <bsmntbombdood> it's sooo esoteric even though it was intended as a serious language
04:24:27 -!- puzzlet_ has quit (Read error: 60 (Operation timed out)).
04:25:34 -!- puzzlet has joined.
04:45:38 <GregorR> bsmntbombdood: HELP ME WRITE ZEE
04:46:22 <GregorR> ZEE is a game I'm writing, it stands for Zoom-Enhance-Extrapolate. It's a parody of those scenes in spy movies where they magically ... well, zoom, enhance and extrapolate images.
04:46:27 <GregorR> It's sort of an image-maze game.
04:47:15 <GregorR> You don't believe that they exist? :P
05:27:38 -!- oerjan has joined.
06:25:36 <oerjan> so you did solve your parsing problem?
06:25:51 <psygnisfive> oh, no, that wasn't for this yet. im going to need to solve it eventually.
06:26:00 <oerjan> what kind of parsing is it?
06:26:24 <oerjan> LR parsing or recursive descent, or what?
06:28:12 <oerjan> anyway, the thing is that when you recognize a non-terminal token, you should know what tokens it consists of.
06:28:46 <oerjan> so you can build the tree out of the trees for the subtokens at the same time...
06:29:15 <psygnisfive> im not entirely sure how you mean that but ok :P
06:29:52 <oerjan> well consider LR parsing. you have some tokens on the stack, and recognize that they form a non-terminal production
06:30:17 <oerjan> so you do a reduction, perhaps after considering lookahead
06:31:02 <oerjan> now, if you already have the trees for the subtokens built up, you can just combine them to get the tree for the replacement non-terminal
06:32:09 <oerjan> once more: you build the trees _while_ you are recognizing tokens, not afterwards
06:33:23 <oerjan> each token comes with its subparse tree
06:39:06 -!- bsmnt_bot has joined.
06:39:11 -!- bsmnt_bot has quit (Remote closed the connection).
06:50:35 -!- Alt-255 has joined.
06:50:44 -!- Alt-255 has quit (Remote closed the connection).
06:51:26 -!- Alt-255 has joined.
06:52:23 -!- Alt-255 has quit (Remote closed the connection).
06:53:36 -!- Alt-255 has joined.
06:53:40 -!- Alt-255 has quit (Remote closed the connection).
06:53:59 -!- Alt-255 has joined.
06:54:06 -!- Alt-255 has quit (Remote closed the connection).
06:55:12 -!- Alt-255 has joined.
06:55:18 -!- Alt-255 has quit (Remote closed the connection).
07:17:18 -!- oerjan has quit ("leaving").
07:41:42 -!- kerlobot has joined.
07:52:02 -!- ehird has quit (K-lined).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:06 -!- psygnisf_ has joined.
08:02:16 -!- psygnisf_ has changed nick to psygnisfive_.
08:02:16 -!- GregorR has quit (Remote closed the connection).
08:02:39 -!- psygnisfive_ has changed nick to psygnisfive__.
08:02:57 -!- psygnisfive__ has changed nick to psygnisfive_.
08:03:43 -!- psygnisfive_ has changed nick to psygnisfive_____.
08:03:50 -!- psygnisfive_____ has changed nick to p5.
08:03:56 <AnMaster> * ehird has quit (K-lined) <-- wow, why?
08:04:11 -!- p5 has changed nick to cygnus5.
08:04:27 <MizardX> maybe too many Excess Flood...
08:04:57 <fizzie> Heh, and he's always saying that Freenode admins do nothing.
08:05:33 -!- AntiGravityBot has joined.
08:11:25 -!- ehird has joined.
08:11:37 -!- ehird has quit (K-lined).
08:11:39 <AnMaster> what the heck did you do to get klined...
08:11:56 <AnMaster> MizardX, maybe too many clients from one host?
08:12:00 -!- AntiGravityBot has quit (Remote closed the connection).
08:12:18 -!- AntiGravityBot has joined.
08:13:37 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
08:21:20 -!- AntiGravityBot has quit (Remote closed the connection).
08:21:29 -!- cygnus5 has changed nick to psygnisfive.
08:22:31 -!- AntiGravityBot has joined.
08:22:47 <psygnisfive> i now have a bot that runs most of my little language. :D
08:28:30 -!- AntiGravityBot has quit (Remote closed the connection).
08:34:30 -!- puzzlet has quit (Remote closed the connection).
08:34:34 -!- puzzlet has joined.
08:47:29 -!- GregorR has joined.
08:57:01 -!- ais523 has joined.
08:57:34 -!- GreaseMonkey has quit ("Client Excited").
09:00:43 -!- ais523 has quit (Client Quit).
10:29:16 -!- puzzlet has quit (Remote closed the connection).
10:29:25 -!- puzzlet has joined.
11:06:34 <oklopol> GregorR: It's sort of an image-maze game. <<< like, all you can do is zoom, but only some parts of the picture contain details you can actually zoom to?
11:11:49 <oklopol> somehow the fractal's structure hints where the path continues
11:12:02 <oklopol> and at the end, there's a little winking smiley
11:12:16 <oklopol> so you know you finally did it.
11:16:42 <AnMaster> a lot of games are way too weak on the plot I think
11:17:12 <AnMaster> However, I'm not good at making up game plots myself...
11:18:00 <AnMaster> oklopol, well, not "need" indeed. But it wouldn't hurt.
11:18:20 <oklopol> it would hurt, it would just distract from the games' actual problems
11:18:45 <AnMaster> oklopol, well, you could include it as "background info" or something
11:18:48 <oklopol> well okay, i'm not saying anything bad about tetris, but chess doesn't really work as a computer game.
11:18:58 <oklopol> because you can't build on it.
11:19:09 <oklopol> it's always the same, change it, and it simply isn't chess anymore.
11:19:20 <AnMaster> oh that would be fun, chess with trench digging!
11:19:20 <oklopol> thus it's more of a puzzle imo
11:19:43 <oklopol> puzzle-typey game, not the kind that's fun to play with the computer
11:21:41 <AnMaster> oklopol, http://en.wikipedia.org/wiki/Trench_warfare
11:22:13 <AnMaster> oklopol, also add hitpoints to the chess pieces
11:22:29 <oklopol> i just thought you wanted to reroute rivahs or something.
11:22:41 <AnMaster> oklopol, now, at which point is it no longer chess? :D
11:22:59 <oklopol> i'd say pretty much instantly, and that's my point
11:24:14 <oklopol> it's not a very continuous game, on any level, it breaks easily, in a way
11:24:49 <oklopol> well okay not that easily, i guess this is more about what i consider the chess philosophy to be.
11:27:03 <oklopol> chess is more of an algorithmic game, you can't continuously add challenge to it, as material, i guess is my point.
11:28:26 <oklopol> the only way you can safely add challenge is to make the AI gradually better, but, well, first of all that doesn't really have a continuing feel to it. and second of all AI isn't inherently very gradually enhancable.
11:28:52 <oklopol> it just isn't all that visible how good the AI is, at least to me. it just sometimes wins, sometimes not.
11:29:10 <oklopol> i mean unless you're really good at chess, which i obviously am not.
11:31:22 <oklopol> tetris is pretty easy to build on, the general idea of dropping shit into a pile with rewrite rules is used quite a lot
11:32:16 <oklopol> not directly though, ofc, if you just increased the size of the dropped objects, and kept them random, you'd never get a complete row
11:32:45 <oklopol> you'd have to add fuzzy row removing
11:32:54 <oklopol> which again isn't very tetrisy.
11:33:32 <oklopol> but, if the puzzles were handmade, or, well, even just generated more sensibly, you could even have continuous tetris
11:33:58 <oklopol> of course, if you fucked up, you might never be able to get the piece destroyed.
11:34:08 <oklopol> because it might not fit anything else
11:35:23 <oklopol> of course closed, having holes would make it kinda hard to remove the insides (impossible, assuming the pieces can't roll around, which isn't tetrisy again)
11:44:51 <AnMaster> oklopol, you could also make something like, tetris but remove blocks of same colors if they are large enough
11:45:46 <AnMaster> oh yes... http://kfouleggs.sourceforge.net/
11:46:21 <oklopol> yes, that's the most common rewrite-rule-pile-based game.
12:08:58 -!- ais523 has joined.
13:11:47 -!- ehird has joined.
13:13:06 -!- bsmnt_bot has joined.
13:13:08 -!- bsmnt_bot has quit (Remote closed the connection).
13:26:02 -!- ais523 has quit (Client Quit).
13:26:42 <ehird> 17:13:52 <MizardX> ehird: Strangely, the issue with the topic-change doesn't seem to have any obvious solution. The bot sends the TOPIC-command to the server, which responds with the standard ":nick!user@host TOPIC #chan :...", but the topic doen't seem to get changed anyway.
13:27:10 <ehird> 18:40:48 <comex> however, implementing it in python required using ctypes to get at the internal dict :D
13:27:12 <ehird> no, it really didn't
13:27:18 <ehird> you can implement that trivially
13:28:31 <ehird> Anyway, I was offline when I was klined.
13:28:34 <ehird> I am asking #freenode now.
13:29:04 <MizardX> ehird: No. If I look at the console window (running the bot locally), the bot gets the standard response for successful topic change, but I don't see that in my normal IRC client.
13:29:17 <ehird> MizardX: That's very wtf.
13:34:21 <ehird> told me to email kline@freenode.net..
13:34:23 <ehird> I love indirection.
13:34:32 -!- ais523 has joined.
13:34:49 <ehird> Why'dya think I got klined twice overnight?
13:35:16 <ais523> which network? Freenode?
13:36:04 <ehird> I've sent an email to kline@freenode.net.
13:36:29 <ehird> ais523: are there automatic K-lines
13:36:34 <ais523> maybe some nick that yours is linked to got hijacked?
13:37:19 <fizzie> There used to be automatic K-lines on joining known botnet control channels, but that probably doesn't apply.
13:37:36 <ais523> also on joining GNAA channels
13:37:41 <ais523> hmm... do you have autojoin on invite?
13:38:02 <ehird> 13:36 <ais523> maybe some nick that yours is linked to got hijacked?
13:38:02 <ehird> 13:36 <ais523> and went mad?
13:38:09 <ehird> Considering the hostname was eso-std.org I very much doubt it.
13:38:12 <ais523> that combination seems to be an obvious way to get someone klined, if it works
13:38:17 <ehird> And I do not have autojoin on invite because it was my _freaking bouncer_
13:38:23 <ehird> Also, I've joined #gnaa on freenode before. No kline.
13:38:26 <ais523> anyway, in a lecture, I'd better go
13:38:30 -!- ais523 has quit (Client Quit).
13:40:00 <Slereah> What, #gnaa does not have hot african sex?
13:49:53 -!- ehird has quit (K-lined).
13:51:46 <fizzie> Maybe they didn't like his tone in the email.
13:52:53 <oklopol> maybe he should ask his big brother for help
14:06:28 -!- seabot has joined.
14:12:09 -!- seabot has quit (Remote closed the connection).
14:29:31 -!- seabot has joined.
14:35:21 -!- seabot has quit (Remote closed the connection).
15:03:14 -!- KingOfKarlsruhe has joined.
15:15:52 -!- MigoMipo has joined.
15:16:38 -!- join has joined.
15:17:06 -!- join has changed nick to Guest21688.
15:18:01 -!- Guest21688 has changed nick to Slereah_.
15:22:05 -!- puzzlet has quit (Remote closed the connection).
15:22:10 -!- puzzlet has joined.
15:23:26 -!- FireFly has joined.
15:24:53 -!- ehird_ has joined.
15:24:59 <ehird_> The fuckers. I'm still fucking banned.
15:25:06 <ehird_> God, freenode is a bunch of incompetend retards.
15:27:50 <fizzie> You'd better watch that mouth of yours, they'll be k-lining you for calling them retards.
15:29:32 <ehird_> It'd be nice if they, say, unbanned me while trying to fix it.
15:29:40 <ehird_> Instead of "contact our shitty issue tracker so we can ignore it".
15:32:01 -!- Slereah has quit (Read error: 110 (Connection timed out)).
15:45:42 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:51:56 -!- jix has joined.
16:02:13 -!- dbc has joined.
16:03:51 <comex> how do you propose this be trivially implemented
16:04:35 <comex> specifically, you can't just do list.foo = 'bar'
16:08:24 <ehird_> each([1,2,3]) is so bad? :P
16:08:55 <ehird_> also im ehird_ cuz ehird got k-lined.
16:21:01 <comex> because it requires thinking you're going to use "each" before typing out the list
16:21:08 <comex> this is a laziness construct
16:21:12 <ehird_> " what is cursor positioning "
16:21:21 <comex> however, obviously its uses in python are limited
16:21:57 <ehird_> clearly we should all use scheme
16:22:04 <comex> in io you can do, say, list(foo, bar, baz) each setNumber(x += 1)
16:22:08 <ehird_> clearly we should all use scheme
16:30:46 -!- MigoMipo has left (?).
16:43:47 -!- ais523 has joined.
16:59:25 -!- oerjan has joined.
16:59:55 <ais523> we need some chance at symmetry here...
17:00:28 <ehird_> so, now taking bets as to when freenode will de-kline my bouncer again
17:01:10 <ehird_> nothing, read the logs
17:01:16 * ais523 vaguely wonders why the desktop background on the Windows computer next to me says "Please Check Monitor For Updated Password"
17:01:21 <ehird_> freenode are incompetent maximus
17:02:00 <ais523> my guess is it's something to do with the practice on the lecture hall computers that they use of putting a guest username/password onto the monitor so visiting lecturers can log in
17:02:02 <oerjan> = incompetentissimus, iirc
17:02:07 <ais523> and it's somehow been deployed over here by mistake
17:02:23 <ais523> there isn't a username/password on this monitor
17:02:43 <ais523> but then, weirder was the time when I came to a similar computer and it was apparently off
17:02:55 <ais523> none of the LEDs on the front looked on (but it was sunny and I couldn't tell for certain)
17:03:01 <ais523> neither the keyboard nor mouse did anything
17:03:16 <ais523> the only thing that made me wonder if it was really off was the Windows XP screensaver on the monitor
17:03:24 -!- ehird_ has set topic: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.
17:03:37 <ehird_> ... guess it got klined too
17:04:27 <oerjan> perhaps bsmnt_bot was the reason
17:04:38 <ais523> was it going on a rampage, I wonder?
17:04:44 <ais523> it could be controlled by arbitrary people...
17:04:56 <ehird_> I doubt it, it didn't quit as k-lined
17:05:01 <ehird_> just as connection reset by remote
17:05:07 <ehird_> whereas I was explicitly auto-klined
17:05:10 <ehird_> or, umm, klined by a fucktard
17:05:19 <ehird_> but i'd prefer to think its incompetent programming
17:07:22 <GregorR> Chess plot: You are the king of a great empire, but for years there has been diplomatic tension with the empire just down the road. Now, their fury at you for completely duplicating their army in every detail has heatened so that they've declared war! Neither of your armies are very large (you have enough people to recruit a huge army, but then it wouldn't be an exact duplicate of your neighbors!), so this singular battle will likely determine the vic
17:07:24 <GregorR> tor in the war. Now, send your footsoldiers to their almost certain doom, as they are but pawns in ... oh, never mind. Welcome to the world of CHESS!
17:07:50 <ais523> GregorR: so why can you only move one a turn?
17:08:14 <GregorR> That has nothing to do with the plot, that's just a game rule.
17:08:24 <GregorR> The plot never actually explains the rules, that would be nonsensical.
17:08:40 <ais523> ah, it's just a chess-inspired film
17:08:44 <ehird_> http://groups.google.co.uk/group/net.micro.pc/msg/993d3e017d041ed4
17:08:48 <ehird_> The first me too post. EVER.
17:08:48 <ais523> you should make Tetris: the Movie
17:08:53 <ais523> I've wanted someone to make that for ages
17:08:59 <ehird_> A plague upon csu-cs!casterli.
17:09:00 <ais523> ehird_: how do you know it's the first ever?
17:09:18 <ehird_> http://www.google.com/googlegroups/archive_announce_20.html
17:09:34 <ais523> did Deja really archive usenet right from the start?
17:09:40 <oerjan> <AnMaster> 1) Chess 2) Tetris
17:09:55 <ais523> so there may have been a me-too that wasn't archived and got lost
17:09:56 <ehird_> but near-complete usenet archives are available
17:10:04 <ehird_> and they were mostly meta-discussion about usenet, really
17:10:07 <ais523> fwiw, someone might have written X-No-Archive: yes\n\nMe, too!
17:10:14 <oerjan> ass for (2), there is the sunken city of Tetris in Triangle and Robert...
17:10:21 <ehird_> yeah um I don't think people used those headers back then ais523 :P
17:10:40 <GregorR> ehird_: Somebody extremely psychic could have :P
17:11:14 <ehird_> http://groups.google.com/group/net.lang.c/msg/66008138e07aa94c
17:11:59 * oerjan recalls seeing a chess-inspired film on TV once. it ended with nuclear war iirc
17:12:16 <ehird_> HOW ABOUT A NICE GAME OF CHESS?
17:12:18 <ais523> "Many people (even Brian Kernighan?) have said that the worst feature of C is that switches don't break automatically before each case label. This code forms some sort of argument in that debate, but I'm not sure whether it's for or against."
17:12:23 <ehird_> oerjan was referencing that.
17:12:24 <ais523> A famous quote, it's nice to see the original
17:12:54 <ehird_> Seeing people talk about having written C for 10 years, around 10 years before I was born, is eerie.
17:13:06 <ais523> ehird_: just reading pre-C89 C is eerie
17:13:15 <ais523> some of that would have been written before I was born
17:13:21 <ais523> and the code you're talking about is even older than that
17:14:03 <ehird_> > MacOS app that can run on MacOS8 *WILL* run on MacOSX.
17:14:55 <ais523> because Apple don't need to stick to an insane backward-compatibility system to try to convince the rest of the world that all computers really are like that
17:18:16 -!- CakeProphet has quit ("lol").
17:19:58 <ehird_> ais523: how come there aren't any old replies to things like http://groups.google.com/group/comp.os.minix/browse_thread/thread/e3df794a2bce97da/2194d253268b0a1b?#2194d253268b0a1b ?
17:20:09 <ehird_> did people not reply in those days? Or are they just lost from the archive?
17:20:23 <ais523> quite possibly not archived
17:20:33 <ais523> Usenet is not very conducive to archiving, the way it's designed
17:20:48 <ais523> you need to be someone big like Google who's connected to more or less everyone to get the whole thing
17:21:06 <ehird_> I'm pretty sure archiving Linus's message was Deja's work.
17:21:23 <ehird_> Well, depends if it's older than Deja.
17:21:23 <ais523> I'd be surprised if Deja managed to get the whole of every thread
17:21:41 <ais523> besides, the discussion may have moved to whatever the old-fashioned equivalent of comp.sources was
17:21:46 <ais523> when he posted the source on Usenet
17:21:46 <ehird_> ? iirc some guy with vms experience.
17:21:48 <ais523> that used to be common
17:21:50 <ehird_> Why am I not surprised?
17:23:10 * ais523 finds http://mauke.ath.cx/stuff/poly.html on proggit
17:23:14 <ais523> which is actually esolang-related
17:24:15 <ais523> is 0 true for the purposes of ?: in Ruby?
17:24:19 <ais523> that source seems to imply it is
17:24:27 <ehird_> ais523: Only false and nil have falsity in Ruby.
17:24:38 <ehird_> (After all, why is 0 false? It's just another number.)
17:24:39 <ais523> clever way to detect Ruby vs. Perl then
17:24:43 <ais523> in code which is almost the same in both of htem
17:25:20 <ehird_> if you leave http://mauke.ath.cx/stuff/poly.html open for a while
17:25:25 <ehird_> to I'm a javascript-generated HTML page
17:25:37 <ais523> it detects all sorts of other things, too
17:25:42 <ais523> scripts enabled is one
17:25:51 <ais523> but it also detects whether you're using trigraphs, in the C
17:26:25 <ais523> actually, I vaguely wonder how Perl6 knows to run just that code
17:26:29 <ais523> is everything else commented out for it
17:26:34 <ais523> or does it have a program-starts-here line?
17:26:34 <ehird_> mauke is a #haskell and ##C denizen FWIW, he's pretty fun
17:26:43 <ehird_> ais523: Same way as all the programs: clever commenting.
17:26:52 <ehird_> and polyglotty snippets
17:27:06 <ais523> we should go for an esolang-only polyglotting record
17:27:20 <ais523> luckily, there are lots of joke lines which autopolyglot into anyhting
17:27:23 <ehird_> I have to say, the fact that it's a Whitespace program is just beautiful.
17:27:36 <ehird_> Polyglots have been done, but not effing whitespace ones.
17:27:46 <ais523> whitespace is quite good for polyglotting into things, really
17:27:57 <ais523> hmm... it's valid HQ9+, ofc
17:28:04 <ais523> but it could be meaningful valid HQ9+ with a couple of tweaks
17:28:09 <ais523> although it would just say hello world
17:29:09 <ais523> ok, that C99 check is just insane
17:31:06 <ehird_> it's also a valid oklotalk program :-D
17:32:07 <ais523> what does it do in oklotalk?
17:32:19 <ais523> AFAICT, it's a Kimian quine in some versions of INTERCAL
17:32:25 <ehird_> But every string of characters is syntactically valid oklotalk.
17:32:35 <ehird_> And oklotalk has no runtime errors.
17:32:49 <ehird_> So it does _something_, possibly nothing.
17:56:09 <ehird_> think my boouncer is still k-lined?
17:58:40 <ehird_> ais523: blognomic is impossible
17:59:54 <ehird_> wrong channel: it's a protest againt my k-line :-P
17:59:56 <ehird_> and because it's so effing fast
18:05:27 <ehird_> http://unix-tree.huihoo.org/V3/usr/man/man1/chdir.1.html
18:05:33 <ehird_> I am so glad they shortened the name
18:06:57 <oerjan> shortened the name of what?
18:09:45 <ehird_> i found two old bots of mine yesterday/today.
18:09:48 <ehird_> who wants to play with em
18:10:52 <ehird_> everyone loves bots right?
18:12:16 <ehird_> nope, KajirBot and seabot
18:12:28 <ehird_> seabot was in here yesterday: it gave birth to Bracism
18:12:46 <ehird_> so, let's say hello to KAJIRBOT
18:12:58 -!- KajirBot has joined.
18:13:03 <KajirBot> feed, help, kill, ps, q, tell, time
18:13:23 <KajirBot> sorry, i haven't eaten something before. have you got ten black holes?
18:13:32 <KajirBot> sorry, i haven't eaten mushrooms before. have you got ten black holes?
18:13:40 <KajirBot> sorry, i haven't eaten lhc before. have you got ten black holes?
18:13:51 <KajirBot> sorry, i haven't eaten sth before. have you got pizza?
18:14:00 <ehird_> how pointless. but endearing.
18:14:01 <KajirBot> feed, help, kill, ps, q, tell, time
18:14:04 <KajirBot> Right now, it is 2009-01-19, 18:14 GMT
18:14:34 <ehird_> Okay, um, that is pretty much all it does.
18:14:41 <ehird_> .q This is like a real AI.
18:15:03 <ais523> ehird_: that looks to me like a bad elizabot
18:15:13 <fungot> ais523: that's good though if it's going so slowly that i think
18:15:17 <ehird_> ais523: it just adds a ? and swaps I/you :-) and am/are :-)
18:15:19 <ais523> .q that's good though if it's going so slowly that i think
18:15:19 <KajirBot> that's good though if it's going so slowly that you think?
18:15:27 <fungot> ehird_: ( ( out if she does move you know i didn't know that mm th- there's no other circumstances that uh people are not even computer literate they don't even touch the tip of the iceberg when it comes
18:15:40 <ehird_> .q fungot, will you marry me?
18:15:40 <fungot> ehird_: even seen it and have thought nothing maybe their first thought would've been okay there's a helen of troy okay there's a helen of troy okay there's a helen of troy okay there's a bunch of ' em
18:15:41 <fungot> KajirBot: unfortunately i guess you would have a lot to do with
18:15:41 <ais523> ehird_: Kajirbot doesn't respond to its name, though, it seems
18:16:15 <ehird_> there's a way to break this
18:16:27 <ehird_> q = re.sub(re.compile(r' %s ' % a, re.I), ' %s___ ' % b, q)
18:16:27 <ehird_> q = re.sub(re.compile(r' %s ' % b, re.I), ' %s ' % a, q)
18:16:27 <ehird_> q = re.sub(re.compile(r' %s___ ' % b, re.I), ' %s ' % b, q)
18:16:45 <ehird_> Bot review: good code, cute, but lacks features.
18:17:07 -!- seabot has joined.
18:17:15 <ehird_> This is seabot. He is pretty advanced:
18:17:16 <KajirBot> feed, help, kill, ps, q, tell, time
18:17:19 <seabot> karma: karma karma+ karma-
18:17:19 <seabot> meta: load reload unload
18:17:24 <seabot> seabot has a karma of 2
18:17:44 <ehird_> @python if 1 == 1: { print "[broken implementation of] bracism!" }
18:17:44 <seabot> [broken implementation of] bracism!
18:17:52 <seabot> <bound method MagicGlobals.__import__ of <a big brother>>
18:17:55 <ehird_> @python __import__('sy')
18:17:58 <ehird_> @python __import__('sys')
18:18:23 <seabot> <bound method MagicGlobals.__builtins__ of <a big brother>>
18:18:25 <ehird_> @python __builtins__()
18:18:26 <seabot> NameError: global name 'builtins' is not defined
18:18:31 <seabot> NameError: name 'builtins' is not defined
18:18:40 <seabot> karma: karma karma+ karma-
18:18:40 <seabot> meta: load reload unload
18:19:53 <seabot> declare foo as pointer to function returning void
18:20:02 <ais523> it should manage it without the variable names
18:20:19 <ehird_> because cdecl(1) doesn't
18:20:24 <ais523> @cdecl int getchar(), c[16], i;
18:20:44 <AnMaster> I mean I don't find C types very hard unless extreme
18:20:47 <ehird_> the name seabot cames from the fact that I made it for ##free-c and it was originally written in C
18:20:55 <ehird_> AnMaster: meh, bot features are fluff
18:20:58 <ehird_> might as well pile them up
18:21:04 <AnMaster> like function pointers to function pointers that take arrays of function pointers or whatever
18:21:27 <seabot> AnMaster has a karma of 0
18:21:45 <seabot> oklopol's karma raised to 1.
18:21:46 <seabot> oklopol's karma raised to 2.
18:21:47 <seabot> oklopol's karma raised to 3.
18:21:47 <seabot> oklopol's karma raised to 4.
18:21:47 <seabot> oklopol's karma raised to 5.
18:21:50 <seabot> oklopol's karma raised to 6.
18:21:52 <seabot> oklopol's karma raised to 7.
18:21:54 <seabot> oklopol's karma raised to 8.
18:21:56 <seabot> AnMaster's karma raised to 1.
18:21:57 <seabot> oklopol's karma raised to 9.
18:21:59 <seabot> oklopol's karma raised to 10.
18:22:02 <seabot> oklopol's karma raised to 11.
18:22:05 <seabot> oklopol's karma raised to 12.
18:22:07 <seabot> oklopol's karma raised to 13.
18:22:14 <ehird_> you cant change your own karma!!
18:22:17 <seabot> You can't change your own karma, silly.
18:22:19 <ehird_> it specifically forbids it
18:22:25 <seabot> You can't change your own karma, silly.
18:22:47 <ehird_> but it always worked for me
18:22:51 <seabot> egobot has a karma of -1
18:22:58 <seabot> AnMaster's karma raised to 2.
18:23:18 <AnMaster> ehird_, do you lower case one and then compare or something?
18:23:18 <ehird_> if norm == msg.sender.nick:
18:23:18 <ehird_> msg.respond("You can't change your own karma, silly.")
18:23:21 <seabot> AnMaster's karma raised to 3.
18:23:21 <seabot> AnMaster's karma raised to 4.
18:23:21 <seabot> AnMaster's karma raised to 5.
18:23:25 -!- seabot has quit (Remote closed the connection).
18:23:30 <ais523> ehird_: easy to get round it, anyway
18:23:36 -!- seabot has joined.
18:23:38 <seabot> AnMaster's karma lowered to 4.
18:23:38 <seabot> AnMaster's karma lowered to 3.
18:23:39 <seabot> AnMaster's karma lowered to 2.
18:23:41 <seabot> AnMaster's karma lowered to 1.
18:23:41 <ehird_> (just balancing it out sry)
18:23:49 <seabot> AnMaster's karma raised to 2.
18:23:54 <ais523> ^bf ,[.,]!@karma+ ais523
18:23:55 <seabot> ais523's karma raised to 1.
18:24:00 <seabot> ais523's karma lowered to 0.
18:24:03 <ais523> ehird_: you should probably block bots
18:24:07 <seabot> ais523's karma raised to 1.
18:24:29 -!- ehird_ has changed nick to ehird.
18:24:30 <seabot> seabot's karma raised to 3.
18:24:43 <seabot> Unloaded the karma plugin.
18:24:49 <AnMaster> ehird, about that kline, too many connections from the same host could cause it
18:25:03 <fungot> ehird: ( ( noise yeah)) the one that's not conspicuous if they're ah laughter you know laughter stuff and ' cause she's packing))
18:25:03 <fungot> seabot: ( ( mm mhm mhm)) especially in the afternoon then it would come on fnord laughter laughter mm noise noise))
18:25:22 <ehird> @python while True: { print "lol
18:25:22 <seabot> SyntaxError: EOL while scanning string literal (<irc>, line 2)
18:25:26 <ehird> @python while True: { print "lol" }
18:25:26 -!- seabot has quit (Excess Flood).
18:25:45 -!- seabot has joined.
18:25:57 <seabot> karma: karma karma+ karma-
18:25:57 <seabot> meta: load reload unload
18:26:01 <seabot> Unloaded the cdecl plugin.
18:26:03 <seabot> Unloaded the help plugin.
18:26:05 <seabot> Unloaded the karma plugin.
18:26:07 <seabot> Unloaded the python plugin.
18:26:09 <seabot> Unloaded the meta plugin.
18:26:14 <ehird> Now it does NOTHING :-D
18:26:41 -!- seabot has quit (Remote closed the connection).
18:26:47 <ehird> Anyway, enough seabot.
18:26:51 -!- seabot has joined.
18:26:53 <ehird> Let me find another bot for us to enjoy!
18:27:03 <ehird> I have sooo many...
18:27:46 -!- olsner has joined.
18:27:51 <ehird> Ooh, old Endeavour./
18:28:00 <ehird> TypeError: __init__() got an unexpected keyword argument 'conn'
18:29:02 <ehird> Let's try that again.
18:29:08 -!- Endeavour has joined.
18:29:15 -!- Endeavour has quit (Remote closed the connection).
18:30:39 <ehird> bot.seen[input.nick] = (datetime.now(), input.target, input.text)
18:30:41 <ehird> is the failing line
18:30:48 <ehird> String or Integer object expected for key, unicode found
18:30:53 <ehird> just need to str() i guess
18:32:16 -!- Endeavour has joined.
18:32:22 -!- Endeavour has quit (Remote closed the connection).
18:34:29 -!- ais523 has quit (Remote closed the connection).
18:34:52 <AnMaster> I mean I would have thought maybe 2.3 or 2.2
18:35:11 <ehird> It was for this channel. :-P
18:35:20 <ehird> I only arrived here 2007 and I htink this bot is early-2008.
18:35:36 <ehird> AnMaster: python 2.4 is circa 2004
18:35:44 <ehird> So, 2.3 would have been 2003 or so
18:35:48 <ehird> 2.2 would have been about 2000
18:36:16 <ehird> 2.5 came out in 2006.
18:36:23 <ehird> So 2.4 only lasted 2 years or so.
18:36:52 <AnMaster> so it only lasted a single year?
18:37:04 <ehird> Well, I think it came out in 2002 :P
18:37:09 <ehird> I was just giving rough years.
18:37:20 <AnMaster> every second year new minor release?
18:37:32 <ehird> Seems about right.
18:37:47 <ehird> AnMaster: they do quite a few really-minor (toddler?) releases inbetween
18:38:10 <AnMaster> ehird, "micro" I think is the real name, though "toddler" is funnier
18:38:28 <AnMaster> btw postgresql call the second digit "major" and the third "minor"
18:38:33 <AnMaster> I have no idea what they call the first
18:38:37 <ehird> In this line, I propose a new term for "early adopter": "pedophile".
18:39:15 <ehird> Well, those early adopters are a dirty bunch.
18:39:38 * oerjan recalls Paul Erdos called children "epsilons"
18:39:42 <AnMaster> that would fit, at least for the period around 15 years
18:40:38 <ehird> Well I give up on endeavour.
18:40:42 <ehird> Let's find another bt.
18:40:50 <oerjan> endeavours are useless
18:40:56 <AnMaster> ehird, how many do you have in total
18:41:02 <ehird> AnMaster: like 50 :-P
18:41:03 <ehird> # bastard: fuck goddamn
18:41:03 <ehird> # released into the public domain by tusho, 2008
18:41:07 <ehird> Best. Comment header. Ever.
18:41:16 <ehird> I think I recall the discussion surrounding it.
18:41:24 <ehird> I think we were trying to come up with the most horrible IRC client ever.
18:41:34 <ehird> And I decided to run sed over netcat.
18:42:29 <oerjan> so, was it worse than telnet? :D
18:42:39 <ehird> oerjan: it's only 1 lines long, I never got around to it :P
18:43:36 <ehird> _10 = PRINT("HELLO, WORLD!"), GOTO(10)
18:43:40 <ehird> Valid Python code.
18:44:15 <ehird> http://pastie.org/364879
18:44:53 <AnMaster> ehird, that one doesn't work in the general case does it?
18:45:26 <AnMaster> could you have more than one label there
18:45:42 <AnMaster> to actually make control flow with it
18:45:44 <ehird> _10 = PRINT("HELLO, "), GOTO(20)
18:45:48 <ehird> _20 = PRINT("WORLD!"), GOTO(10)
18:45:58 <ehird> ctx = globals()['_'+str(self.i)]
18:46:13 <ehird> AnMaster: no, but you could make something like CALL(func, 1, 2)
18:46:34 <AnMaster> also am I right this works through some sort of reflection?
18:46:43 <ehird> ctx = globals()['_'+str(self.i)]
18:47:34 <AnMaster> what does the syntax _10 = classname(...), otherclass(...) do in python?
18:47:54 <ehird> a, b is (a,b), a tuple (like a list but immutable)
18:48:00 <ehird> _10 is just a random variable name
18:48:03 <ehird> that looks like a line number
18:48:36 <comex> even better on python 3 where exec is a function
18:48:49 <ehird> that makes no difference
18:48:57 <comex> well, you could lowercase it if you want in that case
18:49:25 <ehird> This botte looks like it works
18:49:33 <ehird> Specifically, botte.old/
18:49:39 <ehird> (I have 50 bots named botte, none of which work)
18:49:51 <ehird> ./lib/botte/client.rb:24:in `run': undefined method `feed' for #<Botte::Connection:0x559c4> (NoMethodError)
18:49:53 <AnMaster> ehird, you keep all bots in under one directory?
18:49:53 <comex> sed over netcat? lovely
18:50:10 <ehird> AnMaster: i keep everything in ~/Code/<name>/
18:50:24 <ehird> it's a freaking huge dir
18:50:41 <comex> I keep things organized by subject
18:50:52 <comex> $ ls /usr/src/b | wc -l
18:50:58 <AnMaster> comex, I keep them by size since my ~/src is too small
18:51:24 <comex> /usr/src/b is my "wii stuff" directory
18:51:25 <ehird> AnMaster: i doubt it
18:51:32 <ehird> how can you write 135 programs about /b/
18:51:45 <comex> (did that work, because konversation fucked up)
18:51:48 <comex> [13:51] <-> #esoteric> /usr/src/b is my "wii stuff" directory
18:52:07 <comex> also, I daresay it wouldn't be very hard
18:53:10 <AnMaster> you broke it's format string somehow?
18:53:48 <ehird> konversation does that
18:54:24 <comex> I typed /msg #esoteric
18:54:33 <ehird> /* "offensive programming" */
18:54:33 <ehird> printf("You SUCK! Go to HELL!\n");
18:54:37 <ehird> -- ~/Code/c-cont/cont.c
18:54:54 <comex> also, ehird: with konversation for normal channel messages I just get a standard layout
18:54:55 <ehird> (yes, real continuations for C)
18:55:06 <AnMaster> ehird, also. pastebin that code
18:55:08 <ehird> void restore_context(void) {
18:55:08 <ehird> cont_t *old = gcont;
18:55:08 <ehird> gcont = old->next;
18:55:10 <ehird> exec_context(old);
18:55:35 <ehird> Not strictly my code, I'm afraid: it was someone else's toy that I cleaned up the code of (it didn't compile)
18:55:42 <ehird> I wrote programs actually using it.
18:55:45 <ehird> For example, a factor(1).
18:55:53 <ehird> It was basically prolog-style.
18:56:00 <AnMaster> if possible I would very much like to see it
18:56:05 <ehird> TRY(x) -- Returns x, generally.
18:56:14 <ehird> If after a TRY, a FAIL; happens somewhere
18:56:20 <ehird> then we backup to the next TRY, and keep executing after it
18:56:24 <ehird> until the try points are exhausted
18:56:26 <ehird> at which point we fail
18:56:38 <ehird> AnMaster: the actual continuation library was stack smashing
18:56:47 <ehird> The API definition:
18:56:47 <ehird> #define FAIL restore_context()
18:56:47 <ehird> #define TRY(x) if (!save_context()) return x
18:57:00 <ehird> You also had to have a main looking like this:
18:57:02 <ehird> int main(int argc, char **argv)
18:57:03 <ehird> { cont_main(main_, argc, argv);
18:57:13 <ehird> where main_ is your real main function
18:57:17 <ehird> because it needs to grab a stack pointer
18:57:24 <ehird> so then it can't return while the program goes
18:57:38 <ehird> comex: "Stack smashing isn't portable"
18:57:43 <AnMaster> ehird, there are some tricks for getting stack pointer anyway. Boehm-GC does such stuff
18:57:47 <ehird> but it works on just about everything
18:57:56 <ehird> AnMaster: right, but you need to get a base stack pointer
18:58:05 <AnMaster> ehird, err, let me see if stack smashing works here :D
18:58:23 <AnMaster> or upload a project with it or so
18:58:27 <ehird> comex: it doesn't use asm.
18:58:35 <AnMaster> comex, not very odd, the only thing I can think of where it would break is SPARC
18:58:38 <ehird> AnMaster: it actually uses longjmp
18:58:42 <comex> yeah, but the stack can go different directions and shit
18:58:51 <ehird> AnMaster: and here's the oh god part
18:58:56 <ehird> it messes with the jmp_buf
18:59:01 <ehird> comex: you can detect that, the code doesn't but you can
18:59:20 <ehird> portable, n. works on shit
18:59:40 <AnMaster> ehird, jmp_buf format is "implementation defined", I'm pretty sure about that
18:59:51 <ehird> it doesn't actually mess with the jmp_buf
19:00:02 <ehird> it just uses the jmp_buf to restore the registers
19:00:07 <ehird> with setjmp/longjmp
19:00:21 <ehird> first it mangles the stack to restore it
19:00:24 <ehird> then it does a longjmp
19:00:29 <ehird> since the longjmp just contains the position in the stack
19:00:34 <ehird> it jumps to the right place on the newly-mangled stack
19:00:36 <ehird> and returns the registers
19:00:46 <ehird> so it makes longjmp do its bidding, without mangling the jmp_buf :-D
19:00:53 -!- GregorR has quit (Remote closed the connection).
19:00:55 <ehird> gotta find the original author of this code
19:00:58 <AnMaster> ehird, this would fail on SPARC I'm pretty sure
19:01:26 <AnMaster> ehird, I can't imagine this working with SPARC's moving register window thingy
19:01:43 <AnMaster> sadly I don't have a sparc to test on
19:02:18 <ehird> First, here's factor.c
19:02:27 <ehird> AnMaster: http://pastie.org/private/rm5gexu9dbovkfi3jch4g
19:03:08 <ehird> Note: rather inefficient :-P
19:03:15 <ehird> Specifically, in that it's copying the stack each integer it tries.
19:03:40 <ehird> AnMaster: yes, that's just the demo program
19:04:14 <AnMaster> that wouldn't be me however ;P
19:05:06 <ehird> AnMaster: http://pastie.org/private/yaoobsjszqr9ufddh9znfg
19:05:13 <AnMaster> ehird, idea: use this and boehm-gc at the same time, watch star collide
19:05:23 <ehird> source is mostly the other guyses, but with my cleanup and stuff
19:05:28 <ehird> examples are all mine
19:06:35 <ehird> AnMaster: fibs.c doesn't actually use it for prolog-style backtracking OFC
19:06:39 <ehird> it just uses it as a continuation
19:06:55 <ehird> generally you want multiple continuations that you can resume at your will and pass around, ofc
19:07:03 <ehird> left as an excersize to the reader :-P
19:07:17 <ehird> printf("fib(%i) = %i\n", i++, fib());
19:07:17 <ehird> if (i <= 10) FAIL;
19:07:25 <AnMaster> I'm splitting files atm, let see
19:07:34 <ehird> is possibly one of the most perverse behaviors of c code ever witnessed
19:08:14 <ehird> AnMaster: running those programs through cpp may help
19:08:53 <ehird> Note that I think getcontext/setcontext of posix ucontext may actaully do exactly what this code does.
19:09:06 * ehird runs one of these programs in gdb for shits 'n giggles
19:09:37 * ehird step step step step
19:09:53 <AnMaster> hm it works work -fstack-protector-all for amb at least
19:10:07 <ehird> Ha. Your stack protector is foiled!
19:10:18 <MizardX> Heh. I found python 1.5.2 on one of my school's servers. :)
19:10:21 <AnMaster> ehird, it is for buffer overwriting on normal return
19:10:33 <ehird> AnMaster: It's not a long jump.
19:10:37 <ehird> It actually modifies the memory on the stack.
19:10:40 <ehird> It just copies it in place.
19:10:41 -!- KingOfKarlsruhe has joined.
19:10:47 <ehird> the longjmp is only needed for restoring registers
19:10:55 <ehird> the stack smashing would work just as well without of it
19:11:15 <AnMaster> ehird, yes and there is no way stack smash protection can work for that case
19:11:20 <AnMaster> since it doesn't return normally
19:11:35 <AnMaster> ehird, oh btw, does it work on sparc?
19:11:48 <AnMaster> ==17012== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 1)
19:12:02 <ehird> The elk scheme implementation does continuations in a similar way, I think it has its own special setjmp/longjmp implementation in asm
19:12:04 <AnMaster> all of them are f*ing valgrind clean!
19:12:51 <AnMaster> ==17022== 4,560 (2,240 direct, 2,320 indirect) bytes in 10 blocks are definitely lost in loss record 3 of 4
19:12:52 <AnMaster> ==17022== at 0x4A0743E: malloc (vg_replace_malloc.c:207)
19:12:52 <AnMaster> ==17022== by 0x4008AE: get_context (in /home/arvid/irc/c-cont/fibs)
19:12:52 <AnMaster> ==17022== by 0x40091B: save_context (in /home/arvid/irc/c-cont/fibs)
19:12:56 <ehird> AnMaster: I am dubious as to valgrind's ability to track memory over stack smashing.
19:13:00 <ehird> Perhaps it's messing up.
19:13:09 <AnMaster> ehird, yes I agree, but that is a heap allocation
19:13:14 <ehird> hmm, you're right.
19:13:15 <ehird> it never calls free()
19:13:18 <ehird> but it does malloc stuff
19:13:31 <ehird> so that'll be a problem if you do like 50 thousand continuation sets :-P
19:14:06 <AnMaster> ehird, yes, to support enterprise grade applications it need to avoid leaking memory
19:14:27 <ehird> wow, oklotalk is so pretty.
19:14:41 <ehird> it uses the § symbol.
19:14:52 <AnMaster> ehird, btw I saw Try/Catch in C today
19:15:02 <ehird> It's just a setjmp/longjmp.
19:15:09 <ehird> it's a legitimate thing
19:15:17 <AnMaster> and that makes me even more sad
19:15:30 <AnMaster> ehird, btw: http://rafb.net/p/lwMx7W92.html
19:15:52 <ehird> It's a bit bloated :-P
19:16:50 <ehird> That's because it has to come after a try.
19:17:05 <ehird> you have a try, then a catch
19:17:25 <AnMaster> because it breaks code folding in this editor :,(
19:18:18 <AnMaster> ehird, you laughed at something I said? YES!
19:19:05 <AnMaster> ehird, btw have you seen the build systems (yes plural) of libpng?
19:20:00 <AnMaster> there are 1) lots of makfiles like makefile.gcc, makfile.vms and what not, around 40 or so I think, 2) autoconf 3) cmake. All in parallel
19:20:26 <AnMaster> sure 2 at once when you are changing, but 3 at once... from such different periods
19:20:59 * ehird is a fan of the "just make it, if there's a system issue change the vars in the makefile" approach
19:22:22 <AnMaster> ehird, well that is what optipng uses, and you need to change in several makefiles, since it uses one for the main program, one for the included and modified libpng, one for (again modified) zlib, and one for some "pngxtern"
19:22:33 <AnMaster> and I needed to debug something, so 4 places to add -g, compile
19:22:39 <AnMaster> find out it passes -s in LDFLAGS
19:22:41 <ehird> then that is not my system :-P
19:22:49 <ehird> then that is not my system :-P
19:22:57 <AnMaster> find that make clean does not work as advertised
19:23:17 <AnMaster> I mean, autoconf would be a step up
19:23:30 <ehird> Note that you can do system detection in plain make.
19:23:39 <ehird> with things like uname :_P
19:24:11 <ehird> nmake is almost gnu make, IIRC
19:24:20 <ehird> admittedly no uname :-)
19:24:24 <ehird> just run the windows specific command and check that
19:24:25 <AnMaster> ehird, err no it is microsoft make with a totally different syntax
19:24:33 <ehird> no, iirc, you're wrong.
19:24:49 <AnMaster> ehird, well I might be, it was years since I last had to deal with it
19:25:14 <AnMaster> ehird, and I don't have any windows around
19:25:15 <ehird> cool, my old DDoSing program
19:25:41 <AnMaster> wtf... dev-dotnet/gluezilla? (something depended on it. trying to figure out what the heck it is
19:26:06 <ehird> this ddos program was a random fuzz checker too :P
19:26:20 <ehird> it catted /dev/urandom to nc massively parallely
19:26:37 <AnMaster> WTF. What happened to the package dep graph
19:27:05 <AnMaster> first time gentoo package manager broke for me ever. And that is since 2004
19:27:16 <AnMaster> (that is when I started using gentoo)
19:28:30 <AnMaster> http://rafb.net/p/PnQjW524.html
19:28:38 <AnMaster> I have no clue what the hell happened
19:29:20 <AnMaster> well the mono one was easy to fix
19:37:28 -!- MigoMipo has joined.
19:42:22 -!- Corun has joined.
19:46:51 <MizardX> Heh. There's a module called tabnanny in Python :)
19:53:01 -!- sebbu2 has joined.
19:53:35 -!- sebbu has quit (Read error: 60 (Operation timed out)).
19:53:41 -!- sebbu2 has changed nick to sebbu.
19:54:52 <AnMaster> ehird, is there something like "perldoc" but for python?
20:07:07 -!- kar8nga has joined.
20:11:27 -!- KingOfKarlsruhe has quit (Remote closed the connection).
20:38:13 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
20:42:52 -!- Corun has quit ("This computer has gone to sleep").
21:03:34 -!- kar8nga has joined.
21:10:43 -!- GregorR has joined.
21:11:07 -!- GregorR has set topic: This topic unintentionally left unblank..
21:36:53 -!- MigoMipo has quit ("QuitIRCException: MigoMipo out of IRC").
21:39:53 -!- Corun has joined.
22:01:54 <ehird> http://blog.uncool.in/2009/01/19/computer-science-fail-higher-education-in-india/
22:01:58 <ehird> … Linux is basically a DOS based OS.
22:02:04 <ehird> A compiler is a software that converts code written in a particular programming language to machine code. To compile a program, you must hit ALT+F9.
22:02:08 <ehird> The first high level language was Ada, also known as Smalltalk
22:04:23 <ehird> Additional lulz: http://www.reddit.com/r/programming/comments/7qvdj/the_first_high_level_programming_language_was_ada/
22:06:41 <oklopol> A compiler is a software that converts code written in a particular programming language to machine code. To compile a program, you must hit ALT+F9. <<< xD
22:07:42 <oklopol> "a proof is a sequence of easily verifiable steps, in formal mathematics axioms or rules derived from them... to prove you use a pencil and you write "->"'s that mean "follows from""
22:08:03 <oklopol> well okay that had a few errors, but joke should be correct anyway.
22:09:22 <psygnisfive> so, oklopol, i now have a semi-workable version of my language :)
22:09:37 <oklopol> cooooool. i have a few new books \o/
22:09:54 <oklopol> psygnisfive: is it the graph thing
22:09:56 -!- ehird has set topic: how much could a if a could ?.
22:09:56 <psygnisfive> shall i bring my bot in here so you can poke at it? :P
22:10:08 <oklopol> of course, i should go read soon.
22:10:11 <psygnisfive> the graph thing is my linguistics project :p
22:10:41 -!- AntiGravityBot has joined.
22:11:10 -!- AntiGravityBot has quit (Remote closed the connection).
22:11:21 -!- AntiGravityBot has joined.
22:11:34 <ehird> you restarted it to change the ident?
22:12:28 <psygnisfive> it sort of works for what i want. i need to improve it tho. its just prototyped right now.
22:12:33 <oerjan> STOP BEING NEUROTIC OR I'LL SPANK YOU. OH WAIT.
22:12:38 <ehird> psygnisfive: AntiGravityBot.
22:12:40 <ehird> how do you use it.
22:12:44 <ehird> or does it just sit there.
22:13:00 <ehird> agbot: crash fucker
22:13:18 <ehird> agbot: (1 / 0) + 2
22:13:39 <psygnisfive> *** is its current way of saying "this is not possible"
22:13:41 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
22:14:00 <ehird> psygnisfive: um, Infinity+1 is very well defined
22:14:31 <psygnisfive> Infinity itself is not defined in the system. its relying on the ruby's math facilities to do math, see
22:14:38 <oerjan> AntiGravityBot: SUPPORT TAB COMPLETION YOU INFIDEL!
22:14:44 <psygnisfive> so it does 1 / 0 and ruby kicks back Infinity
22:14:59 <ehird> psygnisfive: now make its prefix its actual nick
22:15:03 <psygnisfive> and this gets converted back into a string
22:15:12 -!- AntiGravityBot has quit (Remote closed the connection).
22:15:19 -!- agbot has joined.
22:15:20 <ehird> what is interesting about it
22:15:26 <ehird> i'm not seeing anything more than basic arithmetic atm
22:15:40 <agbot> defined: fac 0 = 1
22:15:52 <ehird> you can define functions
22:15:52 <agbot> defined: fac N = N*(fac (N-1))
22:15:59 <ehird> when does it get interesting?
22:16:09 <ehird> agbot: fac 10000000
22:16:23 <ehird> and it'll run until we get bored.
22:16:31 -!- agbot has quit (Remote closed the connection).
22:16:41 <ehird> so where's the interesting part
22:16:46 -!- agbot has joined.
22:16:57 <oklopol> psygnisfive: now is there any of that nondeterministic stuff?
22:17:06 <agbot> defined: X my== X = true
22:17:14 <oklopol> ehird: when was the last time you made anything interesting? :P
22:17:17 <ehird> that is ugly syntax.
22:17:19 <agbot> defined: _ my== _ = false
22:17:21 <ehird> oklopol: all the time :P
22:17:23 <ehird> I just never release it.
22:17:57 <oklopol> ehird: if you don't finish and release it, it never existed.
22:18:00 <psygnisfive> but the point is that its using full blown unification based pattern matching on its rules
22:18:04 <ehird> where's the interesting part psygnisfive
22:18:17 <ehird> oklopol: like oklotalk
22:18:23 <psygnisfive> you can define things like lists ground up, in a sense.
22:18:32 <ehird> psygnisfive: you mean like in any language ever?
22:18:32 <agbot> defined: first nil = error
22:18:38 <ehird> not impressed yet.
22:18:46 <psygnisfive> im not trying to impress you, funnily enough
22:18:47 <oklopol> the point was i was just referring to my own incapability to finish a project after realizing how to finish it.
22:19:04 <ehird> psygnisfive: i was assuming it was esoteric in some kind of way.
22:19:17 <ehird> you know, since you were talking about the lang in #esoteric. and brought the bot here
22:19:22 <oklopol> knew you couldn't just play along, people lose some sense of spotting sarcasm when you attack them
22:19:25 <psygnisfive> its esoteric in the sense that its thue with syntactic variables.
22:19:26 <oerjan> psygnisfive: that's impossible anyhow :D
22:19:50 <psygnisfive> so if thue as eso then this is mildly less so :P
22:19:50 <ehird> oerjan: your puns are pretty impressive
22:20:09 <agbot> defined: a X = a X
22:20:17 -!- agbot has quit (Remote closed the connection).
22:20:23 <psygnisfive> thanks, you sent it into an infinite loop :P
22:20:26 -!- agbot has joined.
22:20:32 <psygnisfive> thats another thing im going to change in the next version
22:20:33 <ehird> agbot: ¡¶§¶åß®†∞¶ÂfiflÂÍfl
22:21:21 <psygnisfive> would it help if i explained the language? :P
22:21:43 <ehird> that generally helps.
22:21:46 <adimit> I had fun with that thing today already
22:22:45 <psygnisfive> ()[]{} are all individual symbols any time they appear. () is used to group things into trees in the text -- the interp never sees parens themselves
22:22:45 <oerjan> psygnisfive: if it's thue-based shouldn't the order of equations be irrelevant?
22:23:06 <psygnisfive> anything starting with a capital letter is a syntactic variable
22:23:51 <psygnisfive> oh, in defining things? no. because variables + pattern matching introduces certain issues
22:24:04 <ehird> psygnisfive: can you make it trace
22:24:09 <ehird> thue is only fun if you see every step
22:24:30 <psygnisfive> also, non-alphanumerics produce separate symbols. so a+b is a, +, c. a++b is a, ++, b, etc.
22:24:48 <psygnisfive> and each _ is a dummy variable that uniformly matches anything but doesnt unify
22:25:06 <psygnisfive> ehird: im going to do those things in the next version. its very primitive right now.
22:25:17 <ehird> adding tracing cannot possibly be hard.
22:25:33 <ehird> you have a step function, and a step-until-constant function, so just add an irc output in the step
22:25:45 <psygnisfive> but the way i evaluate it currently is using recursive evaluation, as opposed to iterative.
22:25:59 <psygnisfive> the next version will be properly iterative so itll work better.
22:26:10 <ehird> ok, I'll come back in 5 years
22:26:34 <ehird> it takes you two weeks to rewrite an interpreter for that?
22:26:38 <psygnisfive> schools going to start and i have stuff to do before then. i only worked on this yesterday because i wanted to experiment
22:26:51 <psygnisfive> no no writing the interpreter isnt what takes time dude
22:26:51 <ehird> sheesh, gimme the code and I'll add a trace
22:27:10 <psygnisfive> no, its horrible code. and you dont understand the garbage i put into it. and its not even close to working properly
22:27:32 <psygnisfive> when its more mature ill start distributing code.
22:27:33 <ehird> I've patched oklopol's awful code before.
22:27:40 <ehird> There is absolutely no way yours is worse.
22:28:04 <psygnisfive> ehird: im sure you have. and im sure mine could easily be worse. but im self-conscious about my code.
22:28:14 <ehird> oklopol: oklotalk-- or something I think
22:28:36 <oklopol> oklotalk-- is quite good code on a conceptual level.
22:28:42 <ehird> psygnisfive: well, I'd play with it if it traced.
22:28:44 <oklopol> of course, it's not very pretty
22:28:47 <ehird> oklopol: yeah. on a conceptual level ::::P
22:28:52 <ehird> hey oklopol when do we get oklotalk
22:29:04 <psygnisfive> ehird: give me a little bit to do that and you can play all you want.
22:29:15 <psygnisfive> right now i have to go back to working on my database project.
22:29:22 <oklopol> i'm trying to get myself to add at least a few hours of coding to my weeks, it's simply dropped out with all the university shit
22:29:33 <psygnisfive> i have to build this db system, analyze the data, and then also do some work on my ling project
22:29:39 <oerjan> oklotalk will be finished in _good_ time before duke nukem forever, i'm sure
22:29:46 <psygnisfive> cause ive slacked a bit this past month :p
22:29:50 <oklopol> ehird: oklotalk will probably not be my next language to complete.
22:30:03 <ehird> oklopol: yeah but if you did oklotalk the other langs could be written in oklotalk.
22:30:31 <oklopol> at least clue and a simple version of muture should probably appear before it
22:30:55 <psygnisfive> oh also, the interp is running inside textmate, which means its probably slow, so infinite loops are painful on my system.
22:31:04 <oklopol> ehird: true. if i made all of it, then probably yes. also that would be insanely cool.
22:31:41 <ehird> oklopol: then you could just, like, write oklotalk in oklotalk
22:31:48 <ehird> bootstrapping? who gives a fuckshit
22:31:52 <ehird> I run programs in my mind
22:32:43 <ehird> yes. wells are holes with water.
22:37:56 <ehird> < Prodego> yes, and you really shouldn't be /on/ the network while klined
22:38:11 -!- ehird has quit ("leaving").
22:39:42 <oklopol> i have to leave, 00:37 and i haven't gotten pretty much anything done. irc is so fucking addictive.
22:40:27 -!- olsner has quit (Remote closed the connection).
22:44:49 -!- ehird has joined.
22:45:03 <ehird> Freenode are hostile, incompetent fucks failing to run a shitty network.
22:45:21 -!- sriracha has joined.
22:45:29 <oerjan> are you really supposed to be here? ;D
22:46:40 <ehird> No, being here is against freenode policy at the moment -- and I don't give a shit because it's the fault of a shitty auto-Kliner written by the incompetent fucks.
22:46:46 <ehird> sriracha: disregard me.
22:46:51 * oerjan is actually having to remind himself how unimportant this is, otherwise he would be angry on ehird's behalf
22:47:12 <ehird> sriracha: not much at the moment, collectively, it seems
22:47:17 <ehird> not that I can speak on behalf of this channel.
22:47:24 <ehird> Although that would be neat. If I could.
22:47:31 <ehird> I'm scaring the newbie aren't I. Oh dear.
22:48:01 <ehird> Okay I'll pass this on to oerjan :P
22:48:44 <ehird> Well, sriracha looks new to me.
22:48:57 <oerjan> fungot, say hello to our newbie
22:48:57 <fungot> oerjan: okay well we can we walk pretty much everywhere so it was really
22:49:19 <fungot> Available: agora alice darwin discworld europarl ff7 fisher* ic irc lovecraft pa speeches ss wp
22:49:21 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
22:49:26 <ehird> fungot: be slightly more coherent
22:49:26 <fungot> ehird: i don't read much of cll lately :) hot showers seem so much better :)
22:49:33 <fungot> ehird: now calamari has set up a poll about the most useless key, sysrq is currently tied for the lead, anyway? who needs to learn how to write it
22:49:43 <ehird> sriracha: Have you sacrificed the obligatory amount of goats yet?
22:50:09 <sriracha> i'm more of a sacrificing kittens and puppies type of person...
22:50:49 <ehird> The cuter the better!
22:51:09 <sriracha> wow...what did i get myself into
22:51:12 <oerjan> wait, is this one of those actual magick guys we sometimes get when our topic is misleading?
22:51:24 <ehird> sriracha: what brings you here?
22:51:36 <sriracha> i was actually trying to figure out how to use IRC
22:51:51 <ehird> Well, you've come to the right place! Sort of. Kinda. :-)
22:52:16 <ehird> We're actually about esoteric programming languages. (How boring, right? :|)
22:52:38 -!- ehird has set topic: LGOS.
22:52:39 -!- ehird has set topic: LOGS.
22:52:46 <sriracha> don't know much about programming
22:52:58 <AnMaster> I should make a bot that screams that if someone edits topic and the logs are missing
22:53:04 <ehird> sriracha: Neither do we, that's why we're here (ok, that's a bad joke :-P)
22:53:08 <adimit> sriracha: here is the place to learn it.
22:53:18 <ehird> adimit: um that might be a bad choice of place :D
22:53:34 <adimit> why, I learned bass on a six-string fretless...
22:53:46 <sriracha> whoa...how'd you guys send a message to me directly like that?
22:53:51 <AnMaster> <ehird> fungot: oic <-- what did cll mean?
22:53:51 <kerlo> %eval (The logs are missing!)
22:53:52 <sriracha> or better put...what's the command?
22:53:53 <fungot> AnMaster: ok what it was when i first saw it i knew it once but must not have been merged and info on how too view it.
22:53:59 <kerlo> That was pretty useless.
22:54:06 <ehird> /msg person message.
22:54:12 <ehird> If you want a new window for them, /query person.
22:54:54 -!- oerjan has set topic: Logs: http://tunes.org/~nef/esoteric.
22:55:16 <ehird> um, he's a newbie.
22:55:20 <ehird> stop being elitist.
22:55:20 <oerjan> AnMaster: well he (or maybe she) said that
22:55:43 <ehird> oerjan: sneaky topic
22:55:43 <AnMaster> ehird, hey you are like that to me when it comes to some stuff
22:56:06 <ehird> oerjan: it's http://tunes.org/~nef/logs/esoteric
22:56:21 -!- oerjan has set topic: Logs: http://tunes.org/~nef/logs/esoteric.
22:57:00 <fizzie> AnMaster: I think CLL was comp.lang.lisp.
22:57:21 <ehird> say hi to the person who randomly came in here when trying to figure out how to use irc!
22:57:28 -!- BeholdMyGlory has joined.
22:57:41 <fizzie> Hi to anyone who's hi-able, although I'll be gone in half an hour or so.
22:58:00 <ehird> who isn't hi-able?
22:58:07 <sriracha> i'm assuming you guys more or less know each other?
22:58:13 <AnMaster> ehird, well... there is also #,0 pretty common to get there by mistake
22:58:28 <oerjan> sriracha: for a certain value of "know"
22:58:38 <ehird> sriracha: not really
22:58:40 <oerjan> i've never met any of the others in person
22:58:43 <fizzie> oerjan: You mean the biblical sense of "know", I guess?
22:58:55 <ehird> but there's not many people in here so we know pretty much all the non-idlers.
22:59:02 <ehird> fungot is a bot by the way.
22:59:02 <fungot> ehird: sure, tomorrow. i thought the wrong way.
22:59:13 <AnMaster> ehird, have you tried the channel #2,000? Very newbie friendly I heard
22:59:15 <ehird> [a computer program that sits on IRC.]
22:59:22 <ehird> AnMaster: yeah that was funny in like 2006
22:59:44 <AnMaster> ehird, actually I have seen it work, using some strange unicode thing instead of , on a network that allowed that
23:00:25 <AnMaster> ehird, since I could join it by copy and paste by not by typing :P
23:00:35 <AnMaster> (until I found out a bit later)
23:03:56 -!- agbot has quit (Remote closed the connection).
23:05:46 <oerjan> ^ul ((hum de dum de)S:^):^
23:05:46 <fungot> hum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum dehum de dum d ...too much output!
23:07:12 <fungot> what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what what ...too much output!
23:07:25 <lament> ^ul ((...too much output! )S:^):^
23:07:25 <fungot> ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...t ...too much output!
23:07:49 <lament> ^ul ((oo much output! ...t)S:^):^
23:07:49 <fungot> oo much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too m ...too much output!
23:08:22 <lament> ^ul ((put! ...too much out)S:^):^
23:08:23 <fungot> put! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output! ...too much output!
23:09:40 -!- CakeProphet has joined.
23:09:44 <kerlo> %eval (((s i) i) ((s i) i))
23:09:47 <fizzie> In retrospect, "out of patience" would have been more accurate there.
23:09:50 <kerlobot> ((loop i) (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i
23:10:29 <kerlo> I think I want to look up the Y combinator.
23:10:55 <ehird> I think we scared sriracha away.
23:11:11 <kerlo> %eval ((((s s)k)((s(k((s s)(s((s s)k)))))k) foo)
23:11:36 <kerlo> %eval (((s s)k)((s(k((s s)(s((s s)k)))))k)
23:12:37 <kerlo> %eval (((s s)k)((s(k((s s)(s((s s)k)))))k))
23:12:38 <kerlobot> [l (z) ((((s (k ((s s) (s ((s s) k))))) k) z) ((k ((s (k ((s s) (s ((s s) k))))) k)) z))]
23:12:47 <kerlo> %eval ((((s s)k)((s(k((s s)(s((s s)k)))))k)) foo)
23:12:48 <kerlobot> (foo (((s ((s s) k)) (k foo)) ((k ((s (k ((s s) (s ((s s) k))))) k)) foo)))
23:13:00 <kerlo> %eval (((s s)k)((s(k((s s)(s((s s)k)))))k))
23:13:00 <kerlobot> [l (z) ((((s (k ((s s) (s ((s s) k))))) k) z) ((k ((s (k ((s s) (s ((s s) k))))) k)) z))]
23:13:11 <kerlo> %eval (hold (((s s)k)((s(k((s s)(s((s s)k)))))k)))
23:13:11 <kerlobot> (hold (((s s) k) ((s (k ((s s) (s ((s s) k))))) k)))
23:13:22 <kerlo> I'm too lazy to add spaces myself.
23:13:51 <comex> there should be a language whose valid programs are KH(A^n)N, where the number of As is converted to opcodes
23:15:43 <oerjan> ^ul (A)(~:(A)*~(KH)~*(N)*S~:^):^
23:15:43 <fungot> KHANKHAANKHAAANKHAAAANKHAAAAANKHAAAAAANKHAAAAAAANKHAAAAAAAANKHAAAAAAAAANKHAAAAAAAAAANKHAAAAAAAAAAANKHAAAAAAAAAAAANKHAAAAAAAAAAAAANKHAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAAAANKHAAAAAAAAAAAAAAAAAAAAAANKHAAA ...too much output!
23:15:52 <oerjan> ^ul (A)(~:(A)*~(KH)~*(N )*S~:^):^
23:15:53 <fungot> KHAN KHAAN KHAAAN KHAAAAN KHAAAAAN KHAAAAAAN KHAAAAAAAN KHAAAAAAAAN KHAAAAAAAAAN KHAAAAAAAAAAN KHAAAAAAAAAAAN KHAAAAAAAAAAAAN KHAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAAAN KHAAAAAAAAAAAAAAAAAAAAAN KHAAAAAAA ...too much output!
23:16:19 <ehird> ^ul ( ...too much output!)S(()S:^):^
23:16:20 <fungot> ...too much output! ...out of time!
23:16:26 <ehird> ^ul ( ...out of time!)S(()S:^):^
23:16:27 <fungot> ...out of time! ...out of time!
23:16:48 <kerlo> %temp ((lambda (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k)))
23:17:16 <kerlo> Used lambda instead of l.
23:17:24 <kerlo> %temp ((l (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k)))
23:17:35 <comex> out of curiosity, what is that?
23:18:21 <kerlobot> [l (z) ((((s (k ((s s) (s ((s s) k))))) k) z) ((k ((s (k ((s s) (s ((s s) k))))) k)) z))]
23:18:49 <kerlo> That sets the evaluation template. Any expression you give to kerlobot is substituted for input in the template before it's used.
23:20:04 <kerlo> Let's see, I want the function to take itself, then take an argument, then return the argument a'd to itself... or something like that, anyway.
23:20:35 <kerlo> %eval ((fix (l (self) (l (x) (a x self)))) 3)
23:20:35 <kerlobot> (3 ((s ((s s) k)) (k (l (self) (l (3) (a 3 self))))) ((k ((s (k ((s s) (s ((s s) k))))) k)) (l (self) (l (3) (a 3 self)))))
23:20:44 -!- sriracha has left (?).
23:21:55 <kerlo> It doesn't evaluate self before passing it to a.
23:22:15 <kerlo> I wonder how to do that...
23:24:05 <kerlo> Eh, SillyLisp isn't for serious programming anyway. That's what SaneLisp is for.
23:24:54 <kerlo> How many times have I mentioned that I don't know why SKI calculus in SillyLisp works?
23:25:33 <oerjan> well basically each of S, K and I happen to work
23:25:44 <kerlobot> [l (x) (l (y) (l (z) ((x z) (y z))))]
23:26:20 <oerjan> variable capture is not a problem as long as you only pass closed expressions
23:26:55 <oerjan> when variable definitions shadow each other
23:27:06 <oerjan> which is the problem you get when you don't rename
23:27:16 <kerlo> Do you know how variable substitution in SillyLisp works?
23:27:43 <oerjan> i assume you are just doing it naively
23:27:56 <kerlo> Pretty naively, yes.
23:28:08 <oerjan> ignoring alpha conversion
23:28:11 <ehird> %eval ((l (x y) x) y foo)
23:29:42 <kerlo> (k foo), where foo is an arbitrary expression, will evaluate to [l (y) foo]. If foo contains any y's, those will be replaced when that's applied to something.
23:30:02 <kerlobot> [l (x) (l (y) (l (z) ((x z) (y z))))]
23:30:16 <comex> I have absolutely no idea what you guys are doing :(
23:30:18 <oerjan> however, if ... oh wait
23:30:27 <oerjan> hm there could be a problem
23:30:55 <oerjan> if foo contains both y's and what y's are replaced with
23:30:58 <kerlo> s doesn't contain anything at all!
23:31:21 <kerlo> It's only when it's evaluated that stuff happens.
23:31:32 <oerjan> so you don't expand s and k until they are applied, yeah that makes things safe
23:32:08 <kerlo> I don't expand anything at all unless it's evaluated.
23:33:28 <kerlo> Evaluating (x y z . . .) causes x to be evaluated. After something is evaluated, the result is also evaluated, effectively. Also, f causes some stuff to be evaluated.
23:33:39 <oerjan> %eval ([l (x) (x x)] s)
23:34:06 <kerlo> %eval ((l (x) (x x)) s)
23:34:14 <kerlo> Using brackets is cheating. :-P
23:35:07 <oerjan> i thought there was some difference
23:35:48 <kerlo> %eval ((l (foo) (I AM A HOT DOG)) (l (foo) (no ain't)))
23:36:07 <kerlo> I always get those mixed up.
23:36:10 <ehird> Makes sense to me.
23:36:25 <kerlo> %eval ((l (foo) (l (foo) (no ain't))) (I AM A HOT DOG))
23:36:25 <kerlobot> (l ((I AM A HOT DOG)) (no ain't))
23:36:36 <kerlo> %eval ((l (foo) [l (foo) (no ain't)]) (I AM A HOT DOG))
23:36:47 <kerlo> The brackets protect l's first argument from substitution.
23:38:59 <kerlo> Which is cheating, of course.
23:39:04 <kerlo> So, I'll be more specific.
23:39:42 <kerlo> About f evaluating stuff, that is.
23:40:49 -!- BeholdMyGlory has quit ("godnatt på er").
23:41:00 -!- FireFly has quit ("Later").
23:41:02 <kerlo> (f func e list), where list is a non-empty list, evaluates func and (f func e <the tail of list>) before evaluating its result.
23:42:37 <comex> "l" is lambda, what is "s"?
23:42:47 <kerlo> %eval (f (THIS IS FUN, EH MATE) e (1 2 3 4 54 5 6 7 8 9 0 10))
23:42:47 <kerlobot> ((THIS IS FUN, EH MATE) 1 ((THIS IS FUN, EH MATE) 2 ((THIS IS FUN, EH MATE) 3 ((THIS IS FUN, EH MATE) 4 ((THIS IS FUN, EH MATE) 54 ((THIS IS FUN, EH MATE) 5 ((THIS IS FUN, EH MATE) 6 ((THIS IS FUN, EH MATE) 7 ((THIS IS FUN, EH MATE) 8 ((THIS IS FUN, EH MATE) 9 ((THIS IS FUN, EH MATE) 0 ((THIS IS FUN, EH MATE) 10 e))))))))))))
23:42:47 <kerlobot> [l (x) (l (y) (l (z) ((x z) (y z))))]
23:43:28 <kerlobot> ((l (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k)))
23:45:17 <comex> %eval ((l x (x)) x)
23:45:22 <kerlobot> ([l (y) (l (z) ((x z) (y z)))])
23:45:33 <comex> %eval ([l x (x)] x)
23:45:38 <kerlo> l takes a list as its first argument.
23:45:43 <kerlo> Your argument is invalid.
23:45:51 <comex> how am I supposed to know that :)
23:45:55 <comex> %eval ((l (x) (x)) x)
23:46:01 <comex> %eval ((l (x) (x x x)) x)
23:46:03 <comex> %eval ((l (x) (x x x)) y)
23:46:28 <ehird> oh shit, freenode have a link to these logs as part of my email about the kline
23:46:36 <ehird> think I could get clog to erase the anti-freenode lines?
23:47:40 <kerlo> ehird: what were you klined for?
23:47:44 <comex> %eval (s (k y) (k z) x)
23:47:44 <kerlobot> ([l (x) (l (y) (l (z) ((x z) (y z))))] (k y) (k z) x)
23:48:00 <ehird> kerlo: nothing: I was offline when it was done.
23:48:18 <kerlo> Why are you saying "oh shit", then?
23:48:32 <kerlo> comex: the SKI functions don't really like it when you pass x, y and z to them.
23:48:40 <kerlo> %eval (s (k Y) (k Z) X)
23:48:41 <kerlobot> ([l (x) (l (y) (l (z) ((x z) (y z))))] (k Y) (k Z) X)
23:48:51 <kerlo> Though apparently they handled it well this time.
23:48:54 <ehird> kerlo: cuz I called freenode incompetent fucks in the log that I linked them
23:49:36 <kerlo> freenode without you would be... different.
23:49:51 <ehird> 'sthat a word for "better"? ;)
23:50:08 <ehird> oerjan: Harsh, man. Harsh.
23:50:31 <comex> %eval (l (x) (x x))(l (x) (x x))
23:50:38 <comex> %eval ((l (x) (x x)) (l (x) (x x)))
23:50:47 <kerlo> That terminated quickly.
23:51:10 <comex> %eval ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((x
23:51:19 <kerlo> Now what did you expect that to accomplish?
23:51:41 <kerlo> Anyway, it can handle recursion to a depth of 1000. If you want to hang it, use really wide recursion.
23:52:29 <kerlo> loop is nothing special.
23:52:57 <kerlo> Here, let me make it siller.
23:53:00 -!- oerjan has quit ("Good night").
23:53:13 <kerlo> Creamy is the puff.
23:53:13 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
23:53:20 -!- kerlobot has joined.
23:53:33 <kerlo> %temp ((l (fix) input) (((s s) k) ((s (k ((s s) (s ((s s) k))))) k)))
23:54:50 <ehird> http://lca2srv30.epfl.ch/sathe/data/emacs_learning_curves.png
23:54:57 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
23:55:54 -!- kerlobot has joined.
23:56:24 <kerlo> I wonder why it did that.
23:56:30 <kerlo> %eval ((l (x) (x x)) (l (x) (x x)))
23:56:46 <kerlo> Oh, I didn't even save it.
23:56:46 -!- kerlobot has quit (Read error: 54 (Connection reset by peer)).
23:56:52 -!- kerlobot has joined.
23:56:54 <kerlo> %eval ((l (x) (x x)) (l (x) (x x)))
23:57:29 -!- kerlobot has quit (Read error: 104 (Connection reset by peer)).
23:57:36 -!- kerlobot has joined.
23:57:39 <kerlo> %eval ((l (x) (x x)) (l (x) (x x)))
23:57:40 <kerlobot> ((IT IS LOOP SORRY) (l (x) (x x)))
23:57:47 <kerlo> Worth spamming the channel for, isn't it.
23:58:07 <ehird> %eval ((s i i) (s i i))
23:58:07 <kerlobot> (([l (x) (l (y) (l (z) ((x z) (y z))))] i i) (s i i))
23:58:13 <ehird> %eval (((s i) i) ((s i) i))
23:58:20 <kerlobot> (((YOU ARE LOOP SORRY) i) (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i (i
23:58:20 <ehird> IT IS LOOP SORRY???????
23:58:26 <ehird> YOU ARE LOOP SORRY?
23:58:37 <kerlo> Yeah, sometimes it says YOU ARE LOOP SORRY instead.
23:58:40 -!- Corun has quit ("This computer has gone to sleep").
23:58:42 <kerlo> For, um, diagnostic reasons.
00:11:35 -!- jix_ has joined.
00:21:22 -!- GreaseMonkey has joined.
00:24:35 -!- jix has quit (Read error: 110 (Connection timed out)).
00:47:00 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)).
01:05:29 <ehird> hey guys remember when psygnisfive called us all kids? that was funny
01:05:57 <psygnisfive> hopefully you dont think im using that in reference to your respective ages.
01:07:13 <psygnisfive> i call everyone "kids" or "children" for mostly humorous effect because of its odd inappropriateness from me (as i'm not in a position to call others kids, given that im only 22). its postmodern humor, ehird.
01:08:09 <psygnisfive> and if you get the jimmy carr reference in that, i love you forever and ever.
01:08:27 <ehird> hey guys remember when psygnisfive reacted to a joke with 5 long lines? that was funny
01:09:18 <psygnisfive> ehird: im bored. tell me about some new and interesting esolang.
01:12:48 <psygnisfive> nopol has never been much explained to me. i've never heard of muture.
01:13:17 <psygnisfive> well.. then i'll NEVER get an explanation :p
01:13:19 <ehird> oklopol makes pretty much all of the interesting esolangs nowadays
01:22:09 <kerlo> I'll have to make another esolang one of these days.
01:23:38 <psygnisfive> something that takes BF and comes up with bizarre but TC derivations
01:24:13 <psygnisfive> then we can just set it running and tell other people to not even bother with making BF-like languages ever again.
01:24:26 <ehird> make it an esolang description esolang
01:24:30 <ehird> you give it a template, it makes esolangs.
01:26:51 -!- ski__ has joined.
01:27:04 <psygnisfive> i think the benefit of something like the language im designing is that it'd probably be especially good for creating DSLs
01:27:28 <ehird> ski__: have you sacrificed the goat yet? or are you earlier in the initiation process
01:27:43 <ehird> Looking at http://chalmers.se/, yes, i'd say it was.
01:27:46 <ehird> Now what on earth sparked that question...
01:28:04 <psygnisfive> well, he's logging on through them it seems.
01:28:13 <psygnisfive> which leads me to ask, ski__ what do you study?
01:28:24 <ehird> Generally people log onto IRC with network connections :p
01:28:35 <psygnisfive> yes, but his is a university network connection
01:28:42 <ehird> I guess we should have a descriptive topic what with all the newbies these days.
01:28:56 <ski__> (psygnisfive : yes)
01:29:11 -!- ehird has set topic: the international hub for enterprise esoteric programming language design, development and deployment ~ http://esolangs.org/wiki/ ~ http://tunes.org/~nef/logs/esoteric/.
01:29:14 -!- ehird has set topic: the international hub for enterprise esoteric programming language design, development and deployment ~ http://esolangs.org/wiki/ ~ http://tunes.org/~nef/logs/esoteric.
01:29:14 <ski__> (depending on what you were asking ..)
01:29:28 <ehird> now it's semi-descriptive!
01:29:29 <ski__> ehird : which goat ?
01:29:36 <ehird> ski__: that one over there ------>
01:30:01 * ski__ see an elegant keyboard "over there" ..
01:30:08 <ehird> yeah, that's a goat.
01:30:13 <psygnisfive> ehird: im looking at http://www.vjn.fi/oklopol/muture.txt and not finding it to be especially.. insightful. :p
01:30:14 <ehird> trying to trick you. they're sneaky things.
01:30:20 <ehird> that's why we must sacrifice them.
01:30:34 <ehird> psygnisfive: it's oklopol, what did you expect?
01:30:35 <ski__> (<http://datamancer.net/keyboards/ergo1/ergo1.jpg>, if anyone wonders)
01:30:47 <ehird> ski__: that's a nasty goat, that
01:30:53 <ehird> you want to slay that pronto
01:31:05 <psygnisfive> they're normal keyboards with a steampunk veneer
01:31:06 <ski__> (ehird : as in .. SLAY Radio ?)
01:31:18 <psygnisfive> no, what i want to see is someone convert an old Corona
01:31:19 <ehird> no. as in kill. with your bare hands
01:31:25 <ehird> didnt they teach you anything in the initiation? ;-)
01:31:42 <psygnisfive> ski__ also kill your excessive parens. much as we love lisp, we dont need to speak in it
01:32:02 <ehird> parentheses are ((parenthical))
01:32:10 <ehird> ( parenthicalicious, even )
01:32:22 <ski__> (ehird : "parenthetical", itym)
01:32:30 <ehird> ski__: watch out for oerjan, by the way. he swats people indiscriminately.
01:32:30 <psygnisfive> it took me about 5 tries to say parenthicalicious
01:32:43 <ehird> psygnisfive: it would be hard if you have a lisp
01:32:48 * ski__ wonders what "swat" means
01:32:54 <ehird> he has a fly swatter.
01:32:56 <ski__> (psygnisfive : btw, yes)
01:33:01 <ehird> http://en.wikipedia.org/wiki/Flyswatter
01:33:14 <ehird> he swats people with it. normally after they make a pun that's worse than one of his.
01:33:42 <psygnisfive> ehird: also, if you love parens, theres a book written by some crazy french person who's used so many parenthetical asides that the text is incomprehensible
01:33:52 <ehird> psygnisfive: sounds excellent
01:33:56 <ehird> what I want is a book that is just like
01:33:56 <psygnisfive> single sentences have upwards of like 7 or 8 nestings
01:33:59 <ehird> Things happened.[1]
01:34:04 <ehird> [1] Specific things[2], in fact[3].
01:34:09 <ehird> [2] These thin (blah blah)
01:34:12 <ehird> [3] Where fact is subjective.
01:34:17 <ehird> the whole book is just nested footnoes
01:34:17 <psygnisfive> the bottom most nestings being like.. paragraphs sometimes
01:34:28 <ehird> for the whole book
01:34:33 <ehird> top-down book writing :-D
01:35:02 <psygnisfive> the whole book is a book of foot notes to a missing text
01:35:35 <psygnisfive> http://en.wikipedia.org/wiki/index.html?curid=2400949
01:35:59 <ehird> wiki/index.html?curid=2400949?
01:36:02 <psygnisfive> theres another book that consists entirely of reviews of the book itself.
01:36:02 <ehird> That's some old link.
01:36:11 <ehird> douglas hofstadter had that idea
01:36:15 <ehird> in godel, escher, bach
01:36:29 <psygnisfive> actually, that might be where i got it from :)
01:36:49 <psygnisfive> i can never be sure, because goodness knows its not as tho some poet wouldn't make something like that
01:38:33 <ehird> A Review: A Review. The review in question is an odd one, as it is entirely on the subject of itself. This creates an interesting metaness leaving no actual content beyond self-reference to the review. Wholly interesting. *****
01:40:22 -!- moozilla has joined.
01:41:58 <ehird> psygnisfive: I just wrote it :)
01:42:00 -!- metazilla has joined.
01:42:02 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
01:42:33 -!- metazilla has quit (Read error: 131 (Connection reset by peer)).
01:42:34 -!- moozilla has joined.
01:43:45 <comex> %eval (s (l (x) (l (y) he x y)) (l (x) x o) l)
01:43:46 <kerlobot> ([l (x) (l (y) (l (z) ((x z) (y z))))] (l (x) (l (y) he x y)) (l (x) x o) l)
01:43:54 <comex> ok, that was wrong
01:44:24 <comex> %eval (i (i a) (i b))
01:44:45 <comex> %eval (i (i a) (i b) (i c))
01:44:49 <comex> %eval (l (i a) (i b) (i c))
01:45:06 <comex> %eval (h (e l) (l o))
01:45:37 <comex> %eval (s (l (x) (l (y) (he x y))) (l (x) x o) l)
01:45:37 <kerlobot> ([l (x) (l (y) (l (z) ((x z) (y z))))] (l (x) (l (y) (he x y))) (l (x) x o) l)
01:46:48 <ehird> what are you doing comex
01:46:53 <comex> just screwing around
01:47:08 <ehird> %eval (f f f f f f)
01:47:17 <ehird> fold is messed up :D
01:47:59 <comex> %eval (l (x) (x)) (i)
01:48:03 <comex> %eval *(l (x) (x)) (i))
01:48:05 <comex> %eval 9(l (x) (x)) (i))
01:48:08 <comex> %eval 9(l (x) (x)) (i))
01:48:12 <comex> %eval ((l (x) (x)) (i))
01:51:55 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
01:52:02 -!- moozilla has joined.
01:59:11 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
01:59:16 -!- moozilla has joined.
02:00:32 <kerlo> %eval (s (l (x) (l (y) he x y)) (l (x) x o) l)
02:00:33 <kerlobot> ([l (x) (l (y) (l (z) ((x z) (y z))))] (l (x) (l (y) he x y)) (l (x) x o) l)
02:00:46 <kerlo> %eval (s (l (X) (l (Y) he X Y)) (l (X) X o) l)
02:00:46 <kerlobot> ([l (x) (l (y) (l (z) ((x z) (y z))))] (l (X) (l (Y) he X Y)) (l (X) X o) l)
02:12:25 -!- ehird has quit (Read error: 113 (No route to host)).
02:12:38 -!- melkonem has joined.
02:12:42 -!- melkonem has left (?).
02:13:15 -!- KajirBot has quit (Read error: 113 (No route to host)).
02:13:44 -!- seabot has quit (Read error: 113 (No route to host)).
02:50:30 -!- metazilla has joined.
02:51:22 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
02:51:32 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
02:51:35 -!- moozilla has joined.
02:57:54 -!- metazilla has joined.
02:58:01 -!- moozilla has quit (Nick collision from services.).
03:04:07 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
03:04:09 -!- moozilla has joined.
03:04:41 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
03:04:44 -!- moozilla has joined.
03:06:56 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
03:06:59 -!- moozilla has joined.
03:15:40 -!- metazilla has joined.
03:15:41 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
03:15:46 -!- metazilla has changed nick to moozilla.
03:16:15 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
03:16:19 -!- moozilla has joined.
03:24:21 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
03:25:29 -!- CakeProphet has joined.
03:30:57 -!- sebbu has quit ("@+").
05:00:31 -!- flexo has quit (Remote closed the connection).
05:04:57 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
05:04:58 -!- metazilla has joined.
05:18:54 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
05:18:56 -!- moozilla has joined.
05:19:27 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
05:19:34 -!- moozilla has joined.
05:31:53 -!- lifthrasiir has joined.
05:46:19 <oklopol> http://www.vjn.fi/oklopol/muture.txt <<< psygnisfive, ais523 rev-enged it.
05:48:28 <psygnisfive> it looks very haskellish, obviously, but what im not sure about is the definition of sim
05:48:29 <oklopol> i should probably try to write a spec or something, muture i at least think i understand myself, as opposed to, say, contfuck and noprob.
05:48:44 <psygnisfive> i mean, on the one hand i sort of understand it
05:49:00 <oklopol> well it's more just general functional stuff with pattern matching.
05:49:07 <oklopol> | isn't what it is in haskell
05:49:26 <oklopol> but not what "or" is in imperative langs ofc. more like "one of these, i dunno which"
05:49:33 <psygnisfive> namely, the definition where its not x:xs y:ys but rather where its nil y:ys or x:xs nil
05:50:04 <oklopol> yeah that's actually a bug, although less serious than you think
05:50:07 <psygnisfive> for instance, sim [1] [1,2] will fail when it gets to sim [] [2]
05:50:40 <psygnisfive> it wont match sim [] [], nor sim x:xs y:ys
05:50:43 <oklopol> it will just be suboptimal because it'll have to match the last two elements together
05:51:09 <oklopol> well rrrright, if you call with exactly that
05:51:18 <oklopol> yes, of course, that will fail.
05:52:36 <psygnisfive> im also not entirely sure how your sim algorithm is supposed to work in full. what does it report for sim "a111" "111"?
05:52:41 <oklopol> but thanks for showing it, i never realized muture allows is robust enough to alow that
05:54:06 <oklopol> yes, the gist of the language is ">>" means "maximize" ("<<" for "minimize", for completeness)
05:54:50 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
05:54:53 -!- moozilla has joined.
05:55:16 <oklopol> "maximize value of expression given all the possible nondeterminism allowed lol"
05:55:44 <psygnisfive> so its supposed to go through words, and find the one where sim "head" the_word is greatest
05:56:31 <oklopol> should be able to implement that with a search through the list and dynamic programming, in general it will do all kinds of search using the value of the expression as the heuristic.
05:57:05 <oklopol> err i need to go. lecture starts pretty sewn
05:58:27 <oklopol> decided to took one more course btw, "computer science and the society", who's a cute little masochist now, huh?
06:34:12 -!- jix_ has quit ("Computer has gone to sleep").
07:02:24 -!- jix has joined.
07:08:43 -!- jix has quit (Remote closed the connection).
07:08:46 -!- jix has joined.
07:54:36 -!- psygnisf_ has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:11:45 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
08:11:51 -!- psygnisf_ has changed nick to psygnisfive.
08:34:41 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)).
08:35:12 -!- lifthrasiir has joined.
08:37:33 -!- oerjan has joined.
08:41:54 -!- jix has quit (Read error: 110 (Connection timed out)).
08:49:39 -!- ais523 has joined.
09:06:03 -!- jix has joined.
09:09:06 <MizardX> {Marybelle} Hey all. I keep running into memory problems when querying a MySQL database. Any pointers?
09:15:04 -!- GreaseMonkey has quit ("Client Excited").
09:22:59 <AnMaster> MizardX, sure 0x3430536000 0x7fff0d6f2cb8 0x34304273c0
09:30:47 -!- Corun has joined.
09:35:44 * oerjan swats AnMaster -----###
09:36:01 <ais523> AnMaster: I don't get the reference
09:36:03 <oerjan> sorry, it's apparently become my job description
09:36:53 -!- oerjan has quit ("leaving").
09:37:16 <ais523> <Wikipedia API Help> This means that if, for example, "Main Page" is the first random page on your list, "List of fictional monkeys" will *always* be second, "List of people on stamps of Vanuatu" third, etc.
09:40:50 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
09:41:17 -!- moozilla has joined.
09:43:17 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
09:43:44 -!- moozilla has joined.
09:46:11 -!- metazilla has joined.
09:46:15 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
09:46:24 -!- metazilla has changed nick to moozilla.
09:46:46 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
09:46:49 -!- moozilla has joined.
09:50:51 -!- metazilla has joined.
09:50:52 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
09:51:02 -!- metazilla has changed nick to moozilla.
09:56:17 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
10:01:04 -!- Corun has quit ("Leaving").
10:08:24 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
10:12:14 -!- jix has quit ("Computer has gone to sleep").
10:20:21 -!- jix has joined.
10:34:16 -!- jix has quit ("Computer has gone to sleep").
11:24:20 <AnMaster> <ais523> AnMaster: I don't get the reference <-- hahah
11:24:40 <AnMaster> (that was obviously a joke about C++ references)
11:53:34 -!- ais523 has joined.
12:02:00 -!- ais523 has quit (Remote closed the connection).
12:30:36 -!- sebbu has joined.
12:56:23 -!- jix has joined.
13:03:27 -!- ais523 has joined.
13:32:13 -!- ehird has joined.
13:45:43 <ehird> http://www.yucs.org/~gnivasch/life/article_cat/
13:45:45 <ehird> duuuuuuuuuuuuuuuude.
13:47:12 -!- ais523_ has joined.
13:47:22 -!- ais523 has quit (Nick collision from services.).
13:47:36 -!- ais523_ has changed nick to ais523.
13:47:44 <ehird> http://www.yucs.org/~gnivasch/life/article_cat/
13:47:45 <ehird> http://www.yucs.org/~gnivasch/life/article_cat/
13:50:05 -!- jix has quit ("Computer has gone to sleep").
13:52:30 -!- jix has joined.
14:13:55 -!- KingOfKarlsruhe has joined.
14:53:17 -!- Judofyr has quit (Remote closed the connection).
15:05:59 <ehird> For no discernable reason.
15:08:02 <ais523> which browser are you using now?
15:08:15 * ais523 runs through some likely possibilities in their head
15:08:23 <ais523> hmm... does Opera have a Mac version, I wonder?
15:08:30 <ais523> also, browsing via Telnet is great, if a little slow
15:08:38 <ehird> (I don't know why, I just realiased I never actually used Opera.)
15:08:57 <ehird> I should try every browser in evolt.org's archive.
15:09:03 <ehird> It even has the original TBL NextStep browser.
15:09:31 <ehird> ais523: Pretty ordinary, except it renders really fast.
15:09:42 <ehird> And a lot of the HTML5 people work on it.
15:09:48 <ehird> So it has a lot of support for that stuff.
15:11:08 <ehird> I wonder if I could get nextstep working in a VM.
15:11:10 <ehird> That'd be interesting
15:11:32 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:24:14 <Asztal> edbrowse is the standard!
15:30:33 -!- jix has quit ("Computer has gone to sleep").
15:37:09 -!- sebbu2 has joined.
15:55:05 -!- sebbu has quit (Read error: 110 (Connection timed out)).
15:55:45 <AnMaster> "The application must insure that no other SQLite interfaces are invoked by other threads while sqlite3_config() is running. " <-- "insure"? Shouldn't that be "ensure"?
15:56:21 <AnMaster> ais523, also "<ais523> AnMaster: I don't get the reference" was a C++ joke right?
15:56:56 <AnMaster> ais523, you don't know what xkcd strip I was talking about?
15:57:09 <ais523> I hardly know any XKCDs, apart from the ones which are linked nearly all the time
15:57:35 <ais523> they should teach XKCD in school, it's needed to make any sense of the interent
15:57:39 <ehird> you know the funny thing about people quoting xkcd verbatim all the time?
15:57:47 <ehird> It has a strip exactly about the annoying people who do that.
15:58:01 <ehird> http://xkcd.com/16/
15:58:34 <AnMaster> ehird, Isn't that about quoting Monty Python?
15:58:34 <ais523> ehird: that's about Monty Python, not xkcd
15:58:49 <ehird> yeah, um, because the point it makes totally only applies specifically to monty python
15:59:28 <ais523> ehird: it does, really
15:59:33 <ais523> because the point is about surrealist humour
15:59:40 <AnMaster> also that thing about the car accident makes no sense
15:59:43 <ais523> so if you're quoting something that isn't surrealist humour, the point doesn't apply
15:59:50 <ehird> < AnMaster> also that thing about the car accident makes no sense
15:59:55 <ehird> nor does goddamn monty python
16:00:11 <ehird> that's the whole point
16:04:51 <ehird> http://www.peta.org/sea_kittens/
16:04:54 <ehird> peta rebrands fish.
16:05:03 <ehird> hilaripidity ensures
16:05:13 <ais523> is anyone even paying attention to them on that?
16:05:38 <ehird> PETA are a bunch of fucked-up idiots.
16:05:49 <ehird> Creepy "animal rights" extremists.
16:05:58 <ehird> They acre more about animals than humans, and actually they don't care about animals.
16:06:01 <AnMaster> well what is wrong with animal rights?
16:06:08 <Slereah_> Sea kittens aren't thhat great.
16:06:12 <ehird> I'm talking about PETA.
16:06:18 <Slereah_> They're so fuzzy and delicious
16:06:34 <ehird> haha, I am so calling kittens land fish from now on
16:07:30 <ehird> #esoteric: Talking about eating kittens since 2009
16:07:48 <Slereah_> I'm pretty sure we did it before
16:16:28 <Ilari> Fry how? RF EM radiation, IR EM radiation, heat, HVAC or HVDC? :->
16:17:18 <Slereah_> Fry with a regular frying pan, through thermal conduction
16:17:25 <Slereah_> You know, phonon transmission.
16:19:31 -!- ais523 has quit (Read error: 54 (Connection reset by peer)).
16:20:43 <ehird> http://isobamapresident.com/
16:21:14 <Slereah_> Quick, let's nuke the US before the negro!
16:21:34 <Ilari> One of those troijan-spreading sites?
16:24:33 -!- MigoMipo has joined.
16:28:02 -!- ais523 has joined.
16:31:42 <ehird> I think #haskell has entered Eternal January.
16:32:18 <adimit> I'm watching. It's cruel.
16:32:34 <adimit> don't they know about ghci
16:33:10 <ehird> 15 year olds don't use ghci. It's an unwritten rule.
16:33:39 <AnMaster> <ehird> I think #haskell has entered Eternal January. <-- ?
16:33:50 <ehird> AnMaster: irritating noob in #haskell.
16:33:59 <AnMaster> ehird, also you are 13 and use ghc iirc?
16:34:19 <ehird> I said 15 year olds.
16:34:42 <AnMaster> ehird, so you will stop when you are 15?
16:34:50 <ehird> yes. Then restart again when 16
16:34:55 <ehird> I would be killed if I did not.
16:37:42 <AnMaster> ehird, also why "Eternal January", has this happened more than once?
16:41:39 <ehird> its an eternal september ref
16:41:50 <AnMaster> yes, but hopefully this will end soon
16:44:59 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
16:45:12 -!- ais523 has joined.
17:07:25 <ehird> http://isobamapresident.com/
17:07:35 <ehird> i didn't even intend that
17:09:52 <ehird> Obama? Change? It changed?
17:09:54 <ehird> Ahahrahrharhahrahr
17:10:20 <AnMaster> right, read that as gedit for some reason...
17:10:29 <AnMaster> which iirc is some gnome based editor
17:10:36 <AnMaster> "Barack Obama has been president for 2009-1-20 12:07:00 GMT-05:00" <-- that makes no sense
17:11:10 <ehird> doesn't say that for me
17:11:18 <ehird> Barack Obama has been president for 4 minutes, 27 seconds
17:11:22 <ehird> guess you need scripts
17:11:31 <ehird> since it goes in realtime
17:12:32 <AnMaster> "(Changed protection level for "Barack Obama": to prevent premature declarations of presidency ([edit=sysop] (expires 17:00, 20 January 2009 (UTC)) [move=sysop] (indefinite)))"
17:13:06 <ehird> "BARACK OBAMA IS PRESIDENT"
17:13:09 <ehird> "NO HE IS NOT THERE IS 5 SECONDS TO GO"
17:13:22 <AnMaster> ehird, actually it was edited 17:02: http://en.wikipedia.org/w/index.php?title=Barack_Obama&diff=265311244&oldid=265306761
17:13:28 <ehird> "[CITATION NEEDED]"
17:13:37 <ehird> "IM BARACK OBAMA THAT'S HOW I KNOW"
17:13:39 <AnMaster> ehird, and that protection was done 30 minutes in advance
17:13:43 <ehird> "ORIGINAL RESEARCH"
17:14:17 <ehird> "Is it in a scientific paper or a newspaper yet?"
17:15:40 <AnMaster> ehird, oh also it seems he was sworn in 17:05 (UTC) so that meant there was somewhat of an edit war between 17:00 and 17:09
17:16:08 <AnMaster> http://en.wikipedia.org/w/index.php?title=Barack_Obama&action=history <-- quite interesting
17:16:44 <AnMaster> also the protection changes in it doesn't quite match up
17:18:45 <ehird> <!-- PLEASE DO NOT CHANGE OBAMA'S NAME -->'''Barack Hussein Obama II'''<!-- PLEASE DO NOT CHANGE OBAMA'S NAME -->
17:19:11 <AnMaster> also wtf is up with that II? He isn't royal
17:19:39 <AnMaster> I only ever seen numbers after the names used for royals
17:19:40 <ehird> Someone call me when we've returned to intelligent discourse.
17:21:57 -!- ehird has quit ("Lost terminal").
17:24:18 -!- oerjan has joined.
17:25:01 -!- ehird has joined.
17:25:19 <oerjan> ehird: i was just going to comment on your absense
17:26:17 <oerjan> heh curious you were only gone just as i joined
17:27:55 <oerjan> <ais523> <Wikipedia API Help> This means that if, for example, "Main Page" is the first random page on your list, "List of fictional monkeys" will *always* be second, "List of people on stamps of Vanuatu" third, etc.
17:28:04 <oerjan> wow the last one actually exists :D
17:28:27 <ais523> the second one presumably exists too
17:28:34 <ais523> I believe it is in fact telling the truth
17:28:39 <ais523> rather than coming up with facetious examples
17:29:30 <oerjan> um what is this about? random page selection being deterministic after the first page?
17:32:06 <ais523> AnMaster: it's to do with the way the randomization works
17:32:13 <ehird> page X always leads on to Y
17:32:15 <AnMaster> ais523, you mean the random page link?
17:32:15 <ais523> each page is given a random number
17:32:29 <oerjan> http://wiki.creativecommons.org/api.php
17:32:31 <ais523> if you generate one random page, you get a page whose random number is just above a random number
17:32:32 <Deewiant> AnMaster: heard of pseudorandom number generators and the way they always give the same results for the same seed?
17:32:35 <AnMaster> ais523, so random link from main page will always go to the same place?
17:32:37 <ais523> Deewiant: it isn't that
17:32:41 <ais523> AnMaster: no, not at all
17:32:46 <ais523> generating one random page at a time, it's random
17:32:56 <ais523> with differing probabilities for pages due to how the randomizer works
17:33:05 <ais523> let me explain the reason
17:33:12 <AnMaster> Deewiant, that would be too logical for mediawiki
17:33:18 <ais523> if you generate multiples, to save server time, then it takes the first n pages above the randomly-generated number
17:33:20 <ehird> AnMaster: actually, this _is_ logical.
17:33:29 <AnMaster> also why on earth would mediawiki api need random page thing
17:33:39 <ehird> Hey just guessing!
17:33:41 <ais523> so if main page is 0.5, then list of fictional monkeys is 0.50000000000000005 and list of people on stamps of Vanatu is 0.5000000000000059
17:33:43 <AnMaster> ehird, why would a bot need it
17:33:49 <ais523> AnMaster: random page patrolling?
17:33:54 <ehird> this is for things using the api
17:33:58 <ehird> like gregorr's Five Clicks to Jesus
17:33:59 <AnMaster> ais523, that would surely miss lots of pages
17:34:01 <ehird> that uses random pages
17:34:17 <AnMaster> ehird, also iirc the bot is mainly for the wiki bots?
17:34:27 <ehird> the API is for anything.
17:34:37 <AnMaster> sure you can use it for other stuff
17:34:56 <oerjan> <AnMaster> <ais523> AnMaster: I don't get the reference <-- hahah
17:34:57 -!- Slereah2 has joined.
17:35:06 -!- Slereah_ has quit (Read error: 145 (Connection timed out)).
17:35:09 <oerjan> AnMaster gets a joke i didn't? what is the world coming to
17:35:11 <ais523> oerjan: is there some joke in that line I'm missing?
17:35:25 <ais523> AnMaster explained the pun he thought I'd added there, but it was unintentional
17:35:25 <AnMaster> oerjan, yes I thought it was a joke about C++ &-style references
17:35:30 <oerjan> wait he gets a _non-existing_ joke?
17:35:43 <ais523> oerjan: well, it explains why you didn't get it
17:35:44 <ehird> negative sense of humour
17:35:49 <oerjan> ais523: heh, it was obvious after he pointed it out
17:36:00 * AnMaster wonders what the smiley _D means
17:36:47 <oerjan> a smiling person who's just been stamped on by an elephant
17:36:54 <ehird> why are they smiling
17:37:08 <oerjan> they didn't see it coming, naturally
17:37:22 <AnMaster> oerjan, wouldn't they stop smiling after?
17:37:58 <oerjan> how do you stop smiling when your brain is crushed? duh.
17:38:11 <AnMaster> oerjan, yeah I guess it is always fatal
17:38:16 <ehird> maybe it's a gentle elephant
17:39:03 <ehird> aww. cute tiny elephant kitten.
17:39:09 <ehird> who's an elephant kitten? YOU ARE!
17:39:16 <ehird> you're a good little elephant kitten. yeeeeeeees!
17:39:36 <ehird> I am ashamed of this channel.
17:39:45 * AnMaster has decided to always talk about Garfield when someone mentions "cute kitten"
17:39:56 <AnMaster> just because I'm tried of that thing
17:40:05 <oerjan> AnMaster: you mean to change the subject quickly?
17:40:09 <AnMaster> seriously, what about cute dogs? It is time for a change!
17:40:15 <ehird> dogs are not cute.
17:40:26 <AnMaster> oerjan, certainly, and get rid of lolcats too
17:40:27 <ehird> You're a kitty cat! YES YOU ARE.
17:41:53 <AnMaster> is it possible to have two keyboard attached that are on different keyboard layout?
17:42:01 <AnMaster> say, one dvorak, and one qwerty
17:42:15 <ehird> 5. MOST VAMPIRES DON'T EVEN KNOW IF THEY ARE VAMPIRES!
17:42:16 <ehird> -- http://www.trueghosttales.com/paranormal/do-vampires-exist/
17:42:34 -!- psygnisfive has joined.
17:43:35 <AnMaster> ok, then it is really fucked up
17:43:40 <oerjan> i have a slight suspicion i might be a vampire
17:43:47 <ehird> oerjan: Here's how to tell:
17:43:52 <oerjan> i sunburn so darn easily
17:43:53 <ehird> 1. Do you know if you're a vampire?
17:43:55 <ehird> Yes: You are not a vampire.
17:43:58 <ehird> No: You are a vampire!
17:44:59 <AnMaster> oerjan, what about blood? Like "blodpudding"
17:45:06 <AnMaster> don't know English word for that
17:45:17 <AnMaster> oerjan, it exists in Norway too?
17:45:20 <oerjan> i guess that settles it
17:45:33 <ehird> http://en.wikipedia.org/wiki/Black_pudding
17:45:39 <oerjan> ehird: something like that
17:45:50 <oerjan> i suppose the recipe varies
17:55:14 <adimit> arguably though, Haggis is worse. I wouldn't eat any of it though...
17:55:30 <AnMaster> adimit, what about surströmming or lutfisk?
17:56:36 -!- appletizer has joined.
17:57:00 <appletizer> does this channel happen to discuss real-time coding too? :)
17:58:01 <oerjan> otoh i won't eat cod tongue, which the rest of the family eats
17:58:33 <oerjan> and i've got a cousin who won't eat lutefisk
17:58:34 <ehird> define real time coding
17:58:46 <appletizer> http://en.wikipedia.org/wiki/Real-time_computing
17:58:56 <appletizer> or -> http://en.wikipedia.org/wiki/Synchronous_programming_language
17:59:01 <ehird> ok, hows that relevant to this channel? :P
17:59:06 <adimit> AnMaster: nothing compares to Hakarl.
17:59:09 <AnMaster> coding != computing, real time coding would be writing when you write
17:59:11 <appletizer> lol is esoteric the name of a language or?
17:59:13 <ais523> well, a real time esolang would be kind-of interesting
17:59:23 <appletizer> i assume that esoteric meant less-known languages no other channels discuss :P
17:59:26 <ais523> appletizer: [[e:Esoteric programming language]]
17:59:31 <ais523> appletizer: http://esolangs.org/wiki/Esoteric_programming_language
17:59:32 <ehird> http://en.wikipedia.org/wiki/Esolang
17:59:33 <appletizer> and since real-time are esoteric by that nature... :)
17:59:38 <ais523> whoops, messed up shortcut
17:59:46 <ais523> well, esolangs tend to be even weirder than that
17:59:56 <ais523> less-known languages that were deliberately designed to be lesser-known
18:00:00 <appletizer> i would assume it would include things like esterel etc :)
18:00:09 <ehird> appletizer: esterel?
18:00:12 <ais523> hmm... this goes back to the old argument about BANCStar
18:00:23 <appletizer> a synchronous programming lang for real-time applications
18:00:25 <ehird> appletizer: well, if you're interested in odd programming languages you'll definitely fit in
18:00:29 <ehird> we're pretty lax about our topics here
18:00:44 <ais523> Esterel looks to me like an unintentionally esoteric language
18:00:48 <ais523> it takes itself far too seriously
18:00:56 <ais523> but then, the BANCStars of this world are great to talk about
18:01:01 <ehird> um, real-time languages have real use cases.
18:01:15 <appletizer> lol they usually do, RT codes are used in nuclear reactors to more mundanes like neurophysiological measurements
18:01:16 <ais523> so does Thutu, but I wouldn't call that non-esoteric
18:01:48 <ehird> I could never code something for a nuclear reactor or a hospital.
18:01:52 <ehird> That's far too much responsibility :P
18:02:00 <ais523> and you wouldn't in an esolang
18:02:06 <ais523> they're mostly deliberately designed to be impractical
18:02:16 <ais523> Underlambda, for instance, when I get round to speccing it
18:02:50 <ais523> ^bf ,[.,]!Hello appletizer!
18:02:51 <AnMaster> ais523, what about feather? It could be both :P
18:03:06 <AnMaster> ais523, encode the string in bf directly
18:03:17 <ais523> please, don't mention it in front of people who haven't heard of it already, it gives me headaches just thinking about it
18:03:21 <ais523> let alone trying to explain it
18:03:40 <ehird> fungot: say hello to appletizer
18:03:41 <fungot> ehird: but i must admit, i haven't have an epiphany about those :p.
18:03:41 <ais523> let alone trying to /implement/ it
18:03:44 <ehird> fungot: say hello to appletizer
18:03:45 <ais523> which i still want to do some way
18:03:45 <fungot> ehird: the better way is to grovel through the package underlying the srfi-26 structure by opening it or opening a structure that includes a predicate to test if elements are lists or non-empty strings or vectors of arbitrary sizes.
18:04:01 <ais523> ^ul (Hello appletizer!)S
18:04:08 <fungot> appletizer: " the structure with the associated code in isolation seems to work fine
18:04:11 <ais523> ehird: and that Underload was not cheating
18:04:16 <ais523> appletizer: yes, written in http://esolangs.org/wiki/Befunge
18:04:17 -!- Slereah has joined.
18:04:26 <ais523> one of the most practical esolangs around
18:04:29 <ais523> which is to say, not very
18:04:46 <ehird> appletizer: http://zem.fi/~fis/fungot.b98.txt
18:04:47 <fungot> ehird: you have no imagination?)
18:05:09 <ehird> I'd tell you about the goat you have to sacrifice but I think looking at fungot will do
18:05:10 <fungot> ehird: i guess i really should finish sicp. time for sleep for me. what i also need to understand my brain because i have an idea... a quine in
18:05:16 -!- BeholdMyGlory has joined.
18:05:51 <appletizer> woah ehird, that's the most convoluted coding if i've ever seen one :)
18:06:10 <ais523> and Befunge is one of the more readable esolangs
18:07:30 <ehird> Not all esolangs are just about syntax :P
18:08:17 <AnMaster> ehird, you mean like Feather? ;P
18:08:18 <ais523> which doesn't even have an official syntax yet?
18:08:20 <AnMaster> actually that is only about syntax kind of
18:08:35 <ais523> incidentally, my guiding goal for Feather starting syntax is "looks vaguely like Smalltalk, but for different reasons"
18:08:40 <AnMaster> (in a not very much so kind of not kind of way)
18:09:00 <AnMaster> ais523, oh, interesting, I would never have ended up with feather by that
18:10:12 <AnMaster> appletizer, also I hope you realise by now this is not the right place to be serious (well not be serious seriously anyway, you can of course be serious in a not very serious way, such as java2k)
18:10:32 <AnMaster> http://p-nand-q.com/humor/programming_languages/java2k.html
18:10:36 <appletizer> lol AnMaster, yeah i sorta figured, though it could be cool if i bumped into some RT-ers :)
18:10:51 <appletizer> i guess this would be the place for brainfuck and the likes :)
18:10:55 <AnMaster> well, ais523 is working with some VHDL thing on the side.
18:11:07 <AnMaster> not the way you meant it though
18:11:25 <ais523> AnMaster: that isn't related to esolangs, but to my RL work
18:11:38 <ais523> it is rather weird, though, serious but weird, just like appletizer's realtime langs
18:11:41 <AnMaster> ais523, but would you call it "real time"?
18:11:59 <ais523> AnMaster: no, well arguably yes
18:12:03 <ais523> it can be very very realtime
18:12:13 <ais523> the fact that it has sleep-for-femtoseconds commands backs that up
18:12:51 <AnMaster> wait a sec. femtosecond would need the circuit to operate at a very high speed?
18:13:12 <ehird> circuits do operate at a very high speed
18:13:28 <AnMaster> how many Mhz do you need to get one cycle = 1 fs?
18:13:41 -!- FireFly has joined.
18:13:45 <ais523> but 1fs is too fast even for VHDL-generated code
18:13:49 <ais523> it's just there as a catchall option, I think
18:13:55 <ais523> picoseconds are more commonly used
18:14:13 <AnMaster> well I guess you could want sub-cycle
18:14:38 <ais523> AnMaster: this is sub-cycle
18:14:43 <ais523> it's to do with decompiled code
18:14:58 <ais523> basically, it measures the lengths of the actual wires
18:15:00 -!- psygnisfive has quit (Connection timed out).
18:15:03 <ais523> and puts delays on accordingly
18:15:06 <ais523> so you can simulate properly
18:15:15 <AnMaster> appletizer, take a look at that link btw
18:15:37 <ehird> appletizer: I recommend you ignore AnMaster.
18:15:43 <ais523> meh, Java2K isn't really that interesting
18:15:55 <ais523> and it's worth pointing out that AnMaster and ehird are both upstanding and fine members of this channel
18:15:56 <AnMaster> ais523, no but it's introduction is
18:16:03 <ehird> wait, I'm upstanding and fine?
18:16:03 <ais523> but somehow end up bickering when you leave them in the same channel together
18:16:06 <ehird> what have I been doing wrong?!
18:16:11 <ais523> ehird: well, for you it's more dubious
18:16:40 <ais523> why does this worry me: "NEW VERSION 7.3 PRE-GAMMA RELEASED EARLY 2004, with a completely new interpreter written in Python. Finally, it is safe to embed Python in Webpages!"
18:17:05 <AnMaster> ais523, indeed, ehird is "fine" but not "upstanding". He said himself he was short.
18:17:22 <ehird> ais523: whaaaaaaaaat
18:17:34 <ais523> ehird: from the Java2K page AnMaster linked
18:17:51 <oerjan> AnMaster: "upstanding" is about vector direction, not magnitude
18:18:14 <AnMaster> oerjan, well that makes less sense in this context.
18:19:00 -!- psygnisfive has joined.
18:19:14 <oerjan> AnMaster: he _could_ be reclining
18:19:22 <AnMaster> oerjan, subjective gravity? Sure some relativistic effects could maybe cause it, but this doesn't make sense for the rather "non-extreme" properties of this place
18:21:02 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
18:25:25 <AnMaster> I just had an idea for a horrible joke if anyone is interested.
18:26:11 <AnMaster> (and totally unrelated to the current convo)
18:26:39 * ais523 objects to the deletion
18:26:51 <appletizer> i just looked at the article, nice one :)
18:27:11 <ais523> AnMaster: it's a Wikipedia pun
18:27:22 <ais523> oerjan will be deleted in 5 days if nobody objects
18:27:26 <AnMaster> China: Democracy considered harmful.
18:27:28 * oerjan prepares ye olde swatter
18:28:01 <ehird> AnMaster: that wasn't even funny
18:28:15 <oerjan> that's not even worth a swat
18:28:26 <ais523> the problem is that watching AnMaster trying to make a joke is in fact very funny
18:28:27 <ehird> Hey guys! I made a joke! AnMaster.
18:28:27 <ais523> even if the jokes arent
18:28:31 <AnMaster> oerjan, exactly. I'm testing how low one can sink when it comes to humor
18:28:31 <ehird> see, that was funny.
18:28:33 <ais523> so it serves the intended purpose
18:28:47 <AnMaster> oerjan, this is a scientific study
18:28:53 <ais523> oerjan: does the swatter need to be used before you can put it away
18:28:59 <ais523> kind-of like some D&D artifact swords?
18:29:17 <ehird> oerjan NEVER puts his swatter away
18:29:35 <ais523> I reckon he has it in some kind of quick-draw holster
18:31:32 * AnMaster imagines replacing "gun" with "swatter" in a old Clint Eastwood movie
18:32:02 <ehird> Should I link to the obligatory bash?
18:32:05 <oerjan> that sounds like something Larson would draw
18:32:25 <ehird> http://bash.org/?111338
18:32:26 <ais523> ehird: probably, I'm sufficiently Internet-insulated to miss all the obligatory quotes
18:32:27 <lament> replacing gun with swatter in the good, bad, ugly climax scene?
18:32:33 <ehird> ais523: it's not exactly SFW.
18:32:37 <ehird> Well, text can't be NSFW/
18:32:51 <ais523> ehird: actually I've seen that one before
18:33:11 <oerjan> AnMaster: in that case your total lack of humor is no longer surprising
18:33:47 <oerjan> actually, *would have drawn, since he quit in the middle nineties
18:33:53 <AnMaster> oerjan, wait the name does sound slightly familiar
18:34:02 -!- jix has joined.
18:34:33 <AnMaster> ah yes I have seen that strip once I think
18:34:53 <AnMaster> oerjan, yes when I see the some of the google image results it looks slightly familiar
18:36:40 -!- jix has quit (Client Quit).
18:36:54 -!- jix has joined.
18:37:16 -!- kar8nga has joined.
18:38:14 <ehird> http://bash.org/?875652 I predict that one day, this quote will be in the top 100 of bash.
18:38:28 <ais523> ehird: what's it about?
18:38:35 <ais523> just asking this time in case it's an ASCII art goatse or something
18:38:47 <ehird> I doubt that would be accepted by the moderators
18:39:28 <ais523> ehird: you aren't giving much info
18:39:28 <ais523> I don't know how to interpret "evil" here
18:39:37 <ehird> it's not anything like that.
18:40:46 <ais523> surely the obvious answer is to report the person who set up the complicated scenario to the police?
18:41:13 <ais523> or possibly interfere while they're trying to set it up?
18:41:23 <ehird> I don't know, I mean, bacon.
18:41:30 <ehird> If you did that you might miss out on bacon.
18:41:37 <ais523> I can get my own bacon
18:41:41 <ehird> Perhaps you can't.
18:41:44 <ehird> Perhaps it is the last bacon left in the world.
18:41:47 <ehird> Had you considered that?
18:41:53 <ais523> ehird: no, because it's a silly consideration
18:41:54 -!- psygnisfive has quit (Success).
18:42:09 <AnMaster> ehird, actually I mean it, "dilemma" is for two options
18:42:18 <AnMaster> clearly you can't use it when there are three options
18:43:07 <jix> AnMaster: how is it a dilemma or trilemma... like you can get bacon...
18:43:26 <jix> AnMaster: if you chose bacon i mean
18:43:51 <AnMaster> and then as ais523 said, report this to the police
18:44:11 <jix> when the police comes they'll just eat the bacon
18:44:19 <ais523> I think you could save the person by shouting "Look out, there's a tripwire"
18:44:22 <ehird> AnMaster: save a person over kittens and bacon?
18:44:23 <ais523> while you were going to save the kittens
18:44:32 <AnMaster> jix, yes and? I can live without bacon
18:44:48 <ehird> That's simply _impossible_.
18:44:53 <AnMaster> ehird, I don't even like bacon
18:44:53 -!- psygnisfive has joined.
18:44:59 <ehird> Two basic needs: water, and bacon.
18:45:21 <jix> AnMaster: think of fish!
18:45:31 <ehird> bacon serves as air.
18:45:53 <AnMaster> ais523, btw how goes ick development now
18:47:06 <ais523> AnMaster: very busy in RL atm
18:47:07 -!- KingOfKarlsruhe has joined.
18:47:14 <ais523> so no big improvements
18:47:18 <ais523> apart from the repo now being online
18:47:21 <AnMaster> also: http://www.irregularwebcomic.net/polls/poll0248.html
18:47:48 <oerjan> ehird: Osama bin Laden disagrees with you on the bacon issue
18:48:16 <ais523> AnMaster: that's quite some question
18:48:16 <ehird> Osama bin Laden is an anti-bacon extremist
18:48:25 <AnMaster> ais523, yes and the answers are funny too
18:50:30 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
18:52:37 <AnMaster> ehird, um all the vegetarians doesn't eat any bacon
18:53:22 <AnMaster> also I don't eat bacon, I do eat meat though
18:53:36 <ais523> I do eat bacon sometimes
18:53:50 <ais523> but I wouldn't eat bacon over saving a person
18:53:54 <ehird> i don't t alk to liars.
18:53:59 <ais523> as for saving the kittens, I tend to get confused by Rube Goldberg machines
18:54:05 <ais523> but I'd probably manage it if I came to in time
18:54:19 <ehird> i'd feed the kittens to the human to give them the strength to escape
18:54:22 <ehird> then share the bacon with them
18:54:25 <AnMaster> ais523, hm RUBE is a nice lang
18:55:06 <ais523> ehird: *feed the kittens with the human?
18:55:39 <ehird> i don't think kitties eat bacon though.
18:55:52 <ehird> bacon is not meat, silly.
19:02:26 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
19:02:51 -!- ais523 has quit (Remote closed the connection).
19:04:20 -!- MigoMipo has changed nick to ZetroFly.
19:04:24 -!- ZetroFly has left (?).
19:05:29 -!- psygnisfive has joined.
19:06:06 -!- FireFly has changed nick to MigoMipo.
19:06:14 -!- BeholdMyGlory has changed nick to FireFly.
19:08:21 -!- MigoMipo has changed nick to Zetro.
19:08:27 -!- FireFly has changed nick to MigoMipo.
19:09:11 -!- ais523 has joined.
19:11:29 -!- FireyFly has joined.
19:12:31 -!- FireyFly has changed nick to Wamanuz.
19:14:39 -!- MigoMipo has changed nick to SuperUltraMegaMa.
19:14:47 -!- SuperUltraMegaMa has changed nick to SuperUltraMario.
19:15:08 -!- SuperUltraMario has changed nick to BeholdMyBot.
19:15:18 -!- Wamanuz has changed nick to Eldflugan.
19:15:27 -!- BeholdMyBot has changed nick to Wamanuz.
19:15:33 -!- Eldflugan has changed nick to BeholdMyBot.
19:24:09 -!- Wamanuz has changed nick to BeholdMyGlory.
19:24:52 -!- BeholdMyBot has changed nick to Wamanuz.
19:25:46 -!- MigoMipo has joined.
19:27:46 <MigoMipo> I'm sorry for the nick war earlier.
19:28:16 <MigoMipo> It got quite silly at an another channel, and we probably forgot that it would mess up other channels.
19:28:33 -!- ehird has set topic: IAmGreenAndAlsoFortunate.
19:28:38 -!- ehird has changed nick to IAmGreenAndAlsoF.
19:28:53 <ais523> Notify] ehird went offline (irc.freenode.net).
19:31:13 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
19:33:25 -!- psygnisfive has joined.
19:33:45 -!- Wamanuz has changed nick to FireFly.
19:34:01 * oerjan swats FireFly -----###
19:34:49 <ais523> MigoMipo: which channel?
19:35:15 <MigoMipo> ais523: our "private" at ##tullinge.
19:37:07 <oerjan> incidentally, "tulling" means stupid person in norwegian :D
19:37:47 -!- psygnisfive has quit (Read error: 60 (Operation timed out)).
19:38:41 -!- IAmGreenAndAlsoF has set topic: Tullings.
19:39:25 -!- ais523 has set topic: Tullings | http://tunes.org/~nef/logs/esoteric.
19:39:41 <ais523> IAmGreenAndAlsoF: what does the F stand for?
19:39:51 * ais523 guesses furious for no particular reason
19:40:30 <IAmGreenAndAlsoF> 19:28 -!- ehird changed the topic of #esoteric to: IAmGreenAndAlsoFortunate
19:40:53 <AnMaster> well MigoMipo is new here isn't (s)he?
19:40:58 <ais523> you typoed /nick for /topic?
19:41:20 <AnMaster> FireFly, also why did he join and excuse for the nick war?
19:41:34 -!- olsner has joined.
19:41:50 <AnMaster> IAmGreenAndAlsoF, why? why not?
19:42:08 <MigoMipo> AnMaster:Because apologies are a good thing.
19:42:21 <AnMaster> well, what prompted you to join here...
19:42:37 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:42:47 <AnMaster> * MigoMipo (n=MigoMipo@84-217-3-141.tn.glocalnet.net) has joined #esoteric <-- ?
19:42:56 <oerjan> everyone expects the AnMaster inquisition
19:43:03 <AnMaster> IAmGreenAndAlsoF, I just connected to bnc then.
19:43:27 <AnMaster> IAmGreenAndAlsoF, well, whatever happened after made no sense
19:44:03 <oerjan> In Soviet Russia, you make no sense to this joke
19:44:10 <AnMaster> IAmGreenAndAlsoF, that is only because you are ehird
19:44:24 <IAmGreenAndAlsoF> AnMaster: everyone else seems to be having no trouble whatsoever understanding it.
19:44:36 <AnMaster> IAmGreenAndAlsoF, well it makes more sense after reading logs
19:45:18 <MigoMipo> Whats the point of this anyway?
19:45:43 <AnMaster> IAmGreenAndAlsoF, you just made that up
19:52:55 -!- bsmntbombdood has quit (kornbluth.freenode.net irc.freenode.net).
19:52:56 -!- adimit has quit (kornbluth.freenode.net irc.freenode.net).
20:10:26 -!- bsmntbombdood has joined.
20:10:26 -!- adimit has joined.
20:24:31 -!- MigoMipo has left (?).
20:27:46 -!- appletizer has quit (Remote closed the connection).
20:33:38 -!- ais523 has quit (Remote closed the connection).
20:38:35 -!- kar8nga has joined.
20:51:28 -!- psygnisfive has joined.
21:32:20 <IAmGreenAndAlsoF> http://www.kongregate.com/games/squidsquid/the-irregulargame-of-life <-- amusing
21:33:33 <FireFly> Found out about that one in school a few months ago
21:52:13 -!- Zetro has quit (Nick collision from services.).
21:59:38 -!- kar8nga has left (?).
22:11:14 -!- BeholdMyGlory has quit ("hejdå ^^").
22:21:53 <IAmGreenAndAlsoF> "we have no doubt that Gdrive will become holy grail for privacy advocates around the world."
22:42:29 * ski__ wonders what the "map" is supposed to show
22:59:51 <ski__> -ChanServ(ChanServ@services.)- [#esoteric] Welcome to the esoteric programming channel! Check out the esoteric programmers map: http://www.frappr.com/esolang
23:00:19 <IAmGreenAndAlsoF> it's a map of the world with little pins for #esoteric denizens
23:00:20 <ski__> my w3m comes with no javascript
23:12:41 -!- jix has quit ("...").
23:21:07 -!- Corun has joined.
23:23:23 -!- FireFly has quit ("Brb irl").
23:29:33 -!- Dewi has quit (Remote closed the connection).
23:29:42 -!- Dewi has joined.
23:31:20 -!- oerjan has quit ("Good night").
23:32:53 -!- olsner has quit ("Leaving").
23:45:39 -!- Corun has quit ("This computer has gone to sleep").
23:53:57 <oklopol> http://www.kongregate.com/games/squidsquid/the-irregulargame-of-life <<< how utterly boring levels. ofc i doubt you could do much better, gol needs a crapload of bloat until you get to actually interesting stuff, like most automatons, they aren't very puzzly, more programmy.
23:59:32 -!- GreaseMonkey has joined.
00:07:26 <oklopol> IAmGreenAndAlsoF: i didn't read logs, are you ehird?
00:08:32 <oklopol> k. well. it's not very fun, it's mainly about doing simple arithmetic
00:08:47 <oklopol> okay, i'm only at level 33 sofar, because it's not very interesting.
00:09:26 <oklopol> well i did the levels before it on ~5 attempts, it's not like it took that long
00:09:39 <oklopol> yeah i've been thinking i should continue that
00:09:57 <oklopol> unfortunately: when :||||||||
00:10:18 <oklopol> i mean i took this electronics course
00:10:26 <oklopol> because i just take all kinds of random courses
00:10:31 <oklopol> and i don't know fuck about physics.
00:10:56 <oklopol> and the book is a scanned copy, because i'm sure as hell not gonna buy it
00:11:24 <oklopol> and i need to read quite a lot of it till friday
00:19:51 <oklopol> okay not arithmetic as such, the puzzles are about subset sum
00:28:08 <oklopol> and i don't call pointless easily.
01:04:13 <GregorR> What's the maximum acceleration a person could survive for an extended period ... obviously if you were in a spaceship accelerating at 1G indefinitely it would be perfectly comfortable, but how high does it get before people start bleeding and turning into pancakemen...
01:08:39 -!- GreaseMonkey has quit ("Client Excited").
01:17:45 <GregorR> If you were in a spaceship accelerating at 1G, it would feel just like gravity (but take a lot more energy). What's the maximum acceleration a ship could maintain for long periods before its human occupants go *squish* after fairly long periods of time?
01:21:53 <oklopol> ...why would they go squish?
01:24:15 <GregorR> I'm talking about acceleration, not velocity.
01:25:35 <oklopol> umm kay. that's what i thought you said.
01:28:47 <oklopol> GregorR: can you teach me the physics that lead to the squishing?
01:29:35 -!- GreaseMonkey has joined.
01:30:22 <GregorR> All objects in motion have a tendency to stay in motion, and all objects at rest have a tendency to stay at rest. If you push on them to force them not to stay in motion/at rest, they will push back (every action has an equal and opposite reaction). When your body pushes back with, say, 100Gs of force, it will most certainly not remain a body for long.
01:35:16 -!- GreaseMonkey has quit (Remote closed the connection).
01:41:13 <GregorR> If your velocity is 0.99999999999999999999999973c, you'll get to the Andromeda galaxy in ten minutes 8-D
01:44:02 <oklopol> and if it's c, you'll already be there
01:44:51 <GregorR> Whoops, miscalculation, make that v = 0.999999999999999999999972c (one more 9)
01:44:56 <oklopol> BUT IF IT'S C++, YOU'LL PROBABLY *insert something funny *
01:46:59 -!- GreaseMonkey has joined.
01:50:41 -!- IAmGreenAndAlsoF has quit (Read error: 113 (No route to host)).
01:53:14 <MizardX> GregorR: 10 minutes on a clock inside or outside the vehicle?
01:53:41 <GregorR> 2.5 million years will have passed outside.
01:53:43 <oklopol> MizardX: galaxies aren't exactly 10 light years away
01:54:18 <ski__> (the milky way is not very far away)
01:54:55 <oklopol> ski__: what a significant point to make
01:55:24 <ski__> not that significant, i admit
01:56:42 <ski__> that might have been
01:56:54 <oklopol> WHY IS YOUR NICK NOT IN NORMAL FORM?
01:57:16 -!- oklopol has changed nick to kllooop.
01:57:19 <ski__> ask freenode why you can't be in more than 20 channels ?
01:57:50 <kllooop> that's a pretty omnipresent rule
01:57:57 -!- kllooop has changed nick to oklopoll.
01:58:07 <oklopoll> and by that i mean quakenet has the same limit
01:58:36 <oklopoll> it's probably so you'll have to choose, they want to teach you not to be greedy
01:58:39 <ski__> (my "real" nick is `ski', btw)
01:59:05 <oklopoll> i know i'm a #haskell regular idler
01:59:33 <oklopoll> i'm assuming it's combinators and not, say, skiing?
02:01:06 <ski__> (i couldn't come up with anything less silly when i started with irc in c:a 2000)
02:01:42 <oklopoll> well you could've use something that actually did something. except i'm not sure how much you can do without parens
02:02:07 <oklopoll> interesting question though, what can you do?
02:03:22 <oklopoll> well. i have a lecture in 4 hours, better have some sleep now prolly
02:03:25 <ski__> istr someone wrote a basic concatenative EDSL in haskell, using only application for composition of words
02:03:57 <ski__> possibly one could do something similar in combinatory logic, if one defined a few appropriate combinators
02:04:49 <ski__> Embedded Domain Specific Language
02:05:56 * ski__ idly wonders what oklopoll has lecture in ..
02:06:25 <ski__> (ok, bye, get some sleep :)
02:52:05 <kerlo> I don't like sk = ki. Let's change it.
02:52:45 <kerlo> %eval (e (s k) (k i) (Darn.) (Celebrate! Ponies and flowers and cuddles.))
02:52:46 <kerlobot> (Celebrate! Ponies and flowers and cuddles.)
02:52:53 <kerlo> Hey, they're not equal after all.
02:53:40 <kerlo> %eval ((k z) (y z))
02:54:47 <kerlo> Therefore, (s k) = [l (y) [l (z) z]] and (k i) = [l (y) [l (x) x]], if you evaluate subexpressions that are eventually going to be evaluated anyway.
02:55:16 <kerlo> %eval (hold ((s k) x) ((s k) z) ((k i) x) ((k i) z))
02:55:16 <kerlobot> (hold ((s k) x) ((s k) z) ((k i) x) ((k i) z))
02:55:49 <kerlo> %eval (((s k) x) N)
02:55:52 <kerlo> %eval (((s k) z) N)
02:55:58 <kerlo> %eval (((k i) x) N)
02:56:01 <kerlo> %eval (((k i) z) N)
02:56:08 <kerlo> Wow, I didn't expect that.
02:56:27 <kerlo> %eval (((s k) y) N)
02:56:30 <kerlo> %eval (((k i) y) N)
04:26:56 -!- bsmntbombdood has changed nick to bsmntbombgirl.
04:55:41 -!- MizardX has quit (Read error: 60 (Operation timed out)).
05:06:07 -!- GreaseMonkey has quit ("Client Excited").
05:09:11 -!- MizardX has joined.
05:28:13 <GregorR> Wow, NOBODY understands length contraction (or I don't, but I really think I'm right here :P )
05:34:24 <MizardX> space-time bends by the effect of speed alone...
06:26:38 <Slereah> Space time bends for the slightest thing, MizardX.
06:35:13 <GregorR> Space-time doesn't bend, that implies that it's a global phenomenon. Space-time is perceived differently from different [inertial] reference frames.
06:38:02 -!- oklopoll has quit (Read error: 145 (Connection timed out)).
06:40:51 <GregorR> There is no Earth, there is no solar system, there is no galaxy, there is no space time. There is only one truth: There is only the spoon.
06:50:49 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
06:50:59 -!- moozilla has joined.
06:54:05 -!- FireFly has joined.
07:05:16 <fizzie> I've heard that Uri Geller can bend the space-time with his mind only.
07:14:41 <GregorR> Yay f**ed up relativity: to get to a location that's N lightyears away in N years (yes, N==N), how fast do you need to go? Answer: sqrt(0.5) times the speed of light GWAR
07:14:55 -!- MigoMipo has joined.
07:17:17 <Asztal> but how much time would that be from a bystander's perspective? :)
07:53:20 -!- FireFly has quit ("Later").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:06 <Ilari> N * sqrt(2) years?
08:19:16 -!- MigoMipo has quit ("http://www.mibbit.com ajax IRC Client").
08:38:56 -!- oerjan has joined.
08:46:27 <oerjan> <oklopoll> well you could've use something that actually did something. except i'm not sure how much you can do without parens
08:46:51 <oerjan> hm. starting with i or k is uninteresting
08:47:07 <oerjan> sk is also uninteresting
08:50:39 <oerjan> sixy -> y(xy), which is uninteresting if y is k or i
08:51:58 <oerjan> and by "uninteresting" i mean reduces to something simpler without parentheses than the original
08:53:09 <oerjan> siis -> ss, uninteresting
08:56:10 <oerjan> siksxy -> s(ks)xy -> ksy(xy) -> s(xy)
08:56:53 <oerjan> s tends to make things more complicated of course. i wonder if you can blow up using only those
08:58:09 <oerjan> sssssss -> ss(ss)sss -> ss(sss)ss -> ss(ssss)s -> ss(sssss)
08:58:18 <oerjan> i sense a pattern, and no
09:03:09 -!- ais523 has joined.
09:18:31 -!- ais523 has quit (Read error: 113 (No route to host)).
09:32:00 -!- ais523 has joined.
09:49:19 -!- Corun has joined.
09:50:16 -!- Corun has quit (Client Quit).
09:58:59 -!- metazilla has joined.
09:59:04 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
09:59:10 -!- metazilla has changed nick to moozilla.
10:02:13 -!- metazilla has joined.
10:02:22 -!- moozilla has quit (Nick collision from services.).
10:03:59 -!- moozilla has joined.
10:04:26 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
10:04:27 -!- moozilla has changed nick to metazilla.
10:05:58 -!- moozilla has joined.
10:05:58 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
10:06:07 -!- moozilla has changed nick to metazilla.
10:06:47 -!- moozilla has joined.
10:06:53 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
10:06:58 -!- moozilla has changed nick to metazilla.
10:10:03 -!- moozilla has joined.
10:10:03 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
10:10:18 -!- moozilla has changed nick to metazilla.
10:12:08 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
10:12:09 -!- moozilla has joined.
10:18:58 -!- metazilla has joined.
10:18:59 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
10:19:07 -!- metazilla has changed nick to moozilla.
10:19:35 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
10:19:37 -!- moozilla has joined.
10:25:31 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
10:25:33 -!- moozilla has joined.
10:26:13 -!- metazilla has joined.
10:26:13 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
10:26:21 -!- metazilla has changed nick to moozilla.
10:31:54 -!- metazilla has joined.
10:31:54 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
10:32:06 -!- metazilla has changed nick to moozilla.
10:32:48 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
10:32:58 -!- moozilla has joined.
10:33:46 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
10:33:54 -!- moozilla has joined.
10:35:47 -!- ehird has joined.
10:36:07 <ais523> it's off to work we go?
10:36:55 <ehird> wonder if im still klined
10:37:20 <ais523> so am I, intensive modules are wearing
10:40:18 <ehird> i think i had a dream about this channel
10:40:49 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
10:40:58 <ehird> i was using my old client :s
10:41:15 -!- moozilla has joined.
10:41:23 <ehird> yeah that was the one notable thing
10:43:39 <oerjan> I Have a Dream [citation needed]
10:44:40 <ais523> I had a dream a while back where a polar bear turned up on the doorstep to our house, which was useful because we'd forgotten to feed the foxes
10:45:26 <ais523> strange, really, I don't even own a trio of foxes
10:45:32 <ais523> and if I did I probably wouldn't keep them in the fight
10:45:44 <ais523> I'm dubious as to whether a polar bear or three foxes would win a fight anyway
10:48:32 -!- metazilla has joined.
10:48:44 -!- moozilla has quit (Nick collision from services.).
10:48:46 -!- metazilla has changed nick to moozilla.
11:36:33 <ais523> heh, thedailywtf sidebar has an argument about whether when all of the territory of Tuvalu ends up underwater, the .tv subdomain will still exist
11:37:00 <ehird> so many things use it
11:37:14 <ais523> it would be kind-of funny if it didn't, though
11:37:33 <ais523> http://forums.thedailywtf.com/forums/p/10875/190075.aspx#190075
11:37:42 <ehird> to be honest, country tlds are just random namespaces to me, since I don't believe in country-based segregation of dns
11:38:06 <ehird> I love that tooltip
11:38:23 <ehird> hilarious to the max
11:38:24 <ais523> well, if the country ceases to exist, does its DNS entry?
11:38:51 <ehird> Well... it gets obsoleted, but generally if enough people use it ICANN fail to bully them effectively to use another one, so they keep it around.
11:40:02 <ais523> the registrars would jump at the chance to force everyone with a .tv to go to a new domain, I reckon
11:40:05 <ais523> free money right there
11:40:18 <ehird> It's marketed by them as Super Valuable User Experience
11:40:25 <ehird> This kind of stuff has happened before
11:40:29 <ehird> ais523: you can still register .su
11:40:32 <ehird> that's Soviet Union
11:40:36 <ehird> they tried to get rid of it
11:40:44 <ehird> but people liked it and got angry.
11:40:50 <ehird> [and upped the prices...]
11:41:17 <ehird> essentially, obsolete ccTLDs just have to keep getting registrations in to ward of ICANN
11:41:30 <ehird> .tv is popular so they'll have no problem
11:43:03 <ehird> ais523: the Five tv channel which I presume you know about's main domain is five.tv
11:43:06 <ehird> that's pretty high-profile
11:43:23 <ais523> anyway, if the nation of Tuvalu itself survives whilst having no territory it'll make an interesting argument in the nomic=micronation? debate
11:43:39 <ais523> and yes, I used to watch Channel 5 back when it had a better name and was actually good
11:44:25 <ais523> it was really well designed to start with, a predictable schedule you could memorise (news every hour, particular sorts of programs in particular slots...)
11:44:34 <ais523> and it had lots of interesting program choice too
11:44:50 <ehird> tv is a bit obsolete now, IMO
11:45:23 <ais523> yes, I hardly watch it
11:45:33 <ehird> the idea of following someone else's schedule to watch a program they want you to see, (and with non-BBC channels, copious amounts of irritating adverts in between) is frankly quite old fashioned
11:45:37 <ais523> more bandwidth-efficient than internet for things it's designed for, though
11:45:47 <ehird> yes, broadcast is unfortunately being abandoned
11:46:05 <ais523> anyway, time to get lunch
11:46:07 -!- ais523 has quit (Remote closed the connection).
12:05:46 -!- ais523 has joined.
12:06:42 -!- ehird has quit ("Lost terminal").
12:08:35 -!- ehird has joined.
12:08:37 <ehird> *** Banned: Your bot is still broken and reconnects way too fast and too often.
12:08:41 <ehird> Go. Fuck. Yourself. Freenode.
12:08:44 <ehird> I don't have a fucking bot.
12:08:51 <ehird> The only connecting is when I f ire up miau to see if I'm still klined.
12:09:07 <ehird> And my bouncer was NEVER OFFLINE FOR AGES when it was klined.
12:09:11 <ehird> Fuck you fuck you FUCK YOU.
12:09:42 <ais523> hmm... maybe the bouncer is doing frequent reconnects for some reason?
12:09:48 <ais523> as it's a bouncer, it would hide that from you
12:09:58 <ais523> just like it hides your reconnects from the channel
12:10:06 <ehird> it tells you about discos/recos
12:10:09 <ehird> and besides, I checked the logs
12:10:12 <ehird> no disconnects or reconnects
12:10:23 <ehird> the only other client on this server is bsmnt_bot
12:10:32 <ais523> not even on the server?
12:10:32 <ehird> see the logs, I'm the one who gets klined
12:10:35 <ehird> so it's not bsmnt_bot
12:10:46 <ehird> ais523: rutian runs miau (not anymore, ofc) and bsmnt_bot
12:10:49 <ais523> you might have disconnected/reconnected a lot without ever joining #esoteric
12:10:58 <ehird> because i was in #esoteric
12:10:58 <ais523> so it wouldn't show up in the logs
12:11:06 <ehird> i DID read the logs
12:13:47 <ehird> maybe I should put up a bot that does do that
12:13:47 <ehird> leave it up for a few days
12:13:48 <ehird> then tell them I fixed it
12:14:00 <ehird> yeah that probably wouldn't work
12:14:10 <ais523> did you reply to them with an explanation that the account klined wasn't even running a bot?
12:14:37 <ehird> Indeed, I did that even before this new ban message.
12:17:29 <oerjan> have you asked them for evidence?
12:18:29 <ehird> I might. Not that I expect that to help.
12:19:08 <oerjan> well then it won't. nothing ever helps if you don't believe in it.
12:22:19 <oerjan> if bsmnt_bot's quits and joins are the cause of this (overreaction, but still) would putting it on the bouncer help?
12:22:45 <oerjan> hm the replay might mess up things
12:23:05 <ais523> replay can be turned off
12:23:15 <ais523> the bouncer ehird and I used to use only replayed on request
12:23:24 <ais523> although the request was in my startup script
12:24:47 <ehird> if bsmnt_bot's quits and joins are the cause of this
12:24:50 <ehird> it's not running any more
12:25:02 <oerjan> is the bouncer running?
12:26:11 <oerjan> is all of eso-std.org klined, or just you?
12:27:08 <ehird> I'm not sure, possibly all, but in the logs, I was the one who quit as (K-Lined)
12:27:14 <ehird> and the bouncer is not running.
12:30:59 -!- oerjan has quit ("Bass").
12:53:01 -!- oklopoll has joined.
12:54:11 <ehird> oklopollololololol
12:54:26 <ais523> is an oklopoll a sort of vote?
12:54:43 -!- puzzlet has quit (Remote closed the connection).
12:54:50 -!- puzzlet has joined.
12:54:56 <ais523> Oklopol: a) oko; b) the swatter; c) messing with the topic
12:55:19 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic.
12:57:41 -!- Slereah has set topic: a) oko; b) the swatter; c) messing with the topic d) http://tunes.org/~nef/logs/esoteric.
12:58:43 -!- oklofok has joined.
12:59:00 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic.
12:59:05 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric.
12:59:09 <ehird> just wanted to add the ;
12:59:28 <ais523> can you remove the extra space after c) too?
12:59:54 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric.
13:03:59 <ehird> oklofok: oklotalk-- bot plz
13:05:14 <oklofok> it's hardcoded to quakenet atm
13:05:57 -!- oktabot has joined.
13:06:08 <ehird> what's yer command prefix den
13:06:27 <oklofok> :: (+ "still no " "support for anything?")
13:06:28 <oktabot> still no support for anything?
13:06:30 <ehird> um I think I forgot the syntax
13:06:52 -!- FireFly has joined.
13:07:08 -!- SirDayBat has left (?).
13:07:41 <ais523> oklofok: how do you do iteration?
13:08:00 <ehird> ais523: beware, Things double as objects.
13:08:04 <ehird> oklofok: do you still have my cons-class?
13:08:06 <ais523> is -> purely a lambda?
13:08:10 <ehird> that thing was nice
13:08:12 <ais523> or is it more complicated?
13:08:13 <ehird> ais523: no, it's a Thing match
13:08:23 <ehird> ais523: coed samples:
13:08:28 <ehird> ais523: http://www.vjn.fi/oklopol/oklotalk--.txt
13:08:33 <oklofok> ptrn is matched on whatever is in _
13:08:37 <ehird> basically {} is a function and an object
13:08:44 <ehird> oklofok: ssh, the examples are enough for anyone
13:09:10 <oklofok> i was actually thinking i'd add like at least somekinda spec stubs in the /oklopol/ examples?
13:09:35 <ais523> by inspection, that seems most likely to be the thing implementing recursion
13:09:49 <oklofok> ais523: you can do recursion by name as well.
13:10:03 <ehird> not in objects tho
13:10:24 <ehird> :: (= cons {(-> [h t] {(-> [$pb :] [h t]) (-> $car h) (-> $cdr t) (-> [$setcar h] h) (-> [$setcdr t] t) (-> [$! 0] h) (-> [$! n] (! t (- n 1))) (-> $length (+ 1 (length t)))})})
13:10:28 <ehird> :: (= nil {(-> [$pb :] $f) (-> $car $f) (-> $cdr $f) (-> [$setcar h] $f) (-> [$setcdr t] $f) (-> [$! n] $f) (-> $length 0) })
13:10:39 <ehird> :: (cons 1 (cons 2 (cons 3 nil)))
13:10:46 <ehird> :: (car (cons 1 (cons 2 (cons 3 nil))))
13:10:49 <ehird> :: (cdr (cons 1 (cons 2 (cons 3 nil))))
13:10:57 <oklofok> i realized the other day that one thing i definitely should've had in oklotalk-- is umm err liek. setting a dynamic variable
13:11:02 <ehird> :: (! (cons 1 (cons 2 (cons 3 nil))) 0)
13:11:05 <ehird> :: (! (cons 1 (cons 2 (cons 3 nil))) 1)
13:11:07 <ehird> :: (! (cons 1 (cons 2 (cons 3 nil))) 2)
13:11:09 <ehird> :: (! (cons 1 (cons 2 (cons 3 nil))) 3)
13:11:15 <ais523> oklofok: not even by implementing monads by hand?
13:11:18 <ehird> :: (length (cons 1 (cons 2 (cons 3 nil))))
13:11:42 <ehird> i wrote that cons/nil ^.^
13:11:49 <oklofok> ais523: you can't set dynamic variables as the language implements them, stepping onto interpretation level allows you to do anything in any language.
13:12:09 <ehird> oklofok: well, any tc lang
13:12:10 -!- oklopoll has quit (No route to host).
13:12:10 <ais523> I wonder if monads by hand counts as interpretation level?
13:12:12 <oklofok> ais523: yeah btw that's a pretty fun example the one on /oklopol/
13:12:20 <oklofok> i made the sort and the rational class
13:12:25 <ehird> yeah it implements its own numer class
13:12:28 <ehird> that you can use like regular ones
13:12:35 <oklofok> so it's sorting rationals entirely from scratch
13:12:44 <oklofok> lists, sorting and rationals synthetic
13:12:51 <ehird> oklofok: although that qs is the functional one and so not really qs.
13:13:04 <oklofok> ehird: well yes, i read the article too
13:13:45 <ehird> as in, (a -> Bool) -> [a] -> [a]
13:13:53 <ehird> i'm sure you can work that out
13:14:15 <ehird> oklofok: what is the array syntax again
13:14:22 <ais523> having that in your stdlib is kind-of cheating for implementing quicksort, though
13:14:36 <ehird> many langs have filter
13:14:40 <ehird> it's partition that's cheating
13:14:41 <oklofok> ais523: well it's implemented in oklotalk
13:14:54 * ais523 accidentally cut the power supply to their monitor
13:15:02 <ehird> ais523: also note that qs works on conses
13:15:03 <ais523> good thing it wasn't the CPU...
13:15:05 <oklofok> var_map["ftr"]=ofunc("(-> [p (: (@ h (tst p)) t)] (+ [h] (' p t))) (-> [p (: h t)] (' p t)) []","ftr")
13:15:12 <ehird> because $! and length were defined
13:15:24 <oklofok> ais523: you could just copypaste that in there.
13:15:34 <ehird> :: (ftr {$f} [1 2 3])
13:15:35 <ehird> :: (ftr {$t} [1 2 3])
13:15:45 <oklofok> the problem is you can't do imperative stuff really, which you should be able to do
13:15:53 <oklofok> this is because the lvalue system is degenerate in --
13:15:58 * ais523 is pondering how to make a botloop, as always
13:16:22 <ais523> how does string quoting work in oklotalk?
13:16:34 <oklofok> ais523: very degenerate :<
13:16:49 <oklofok> the whole object system is kinda ugly, i was mainly just going for getting it extendable
13:16:58 <oklofok> should integrate strings and lists at some point
13:16:58 <ais523> oklofok: " to " is a raw string?
13:17:03 <ais523> or is there an escaping syntax?
13:17:15 <oklofok> ais523: i'm not sure whether there are, but i assume yes
13:17:26 <oklofok> i just remember strings were really stupid.
13:17:47 <ais523> hmm... my triple-quotes seem to have confused it
13:18:11 <oklofok> it just evaluates the first
13:18:14 <ehird> and the last expression is taken
13:18:26 <ehird> and quotes aren't quo0ted in their output
13:18:44 -!- KingOfKarlsruhe has joined.
13:18:45 <ehird> 13:18 < ehird> thus
13:18:50 <ehird> 13:18 < ehird> :: 1 2 3
13:18:50 <ehird> 13:18 < oktabot> 3
13:20:07 <ais523> :: (map {"\""+_+"\""} [1 2 3])
13:20:25 <ais523> :: (map {"\""+_+"\""} ["1" "2" "3"])
13:20:48 <ais523> :: (map {(+ "\"" (+ _ "\""))} ["1" "2" "3"])
13:21:14 <ais523> :: (fold {+} "\"" (map {(+ "\"" (+ _ "\""))} ["1" "2" "3"]))
13:21:14 <oktabot> An error: Application consists of 2 or 3 expressions.
13:21:33 <ais523> :: (fold {+} (map {(+ "\"" (+ _ "\""))} ["1" "2" "3"]) "\"")
13:21:33 <oktabot> An error: Application consists of 2 or 3 expressions.
13:21:45 <oklofok> also {+} is a constant function that returns +
13:21:46 <ehird> {+} wouldn't work.
13:21:47 <ais523> ah, if there isn't why would there be that particular error?
13:21:57 <ehird> because you have too many applications
13:21:59 <ehird> :: (aaaaaaa aaaaaaaaa aaaaaaa)
13:22:03 <ehird> :: (aaaaaaa aaaaaaaaa aaaaaaa aaaaaaa)
13:22:03 <oktabot> An error: Application consists of 2 or 3 expressions.
13:22:07 <ehird> :: (aaaaaaa aaaaaaaaa aaaaaa)
13:22:08 <ais523> :: (fold + "\"" (map {(+ "\"" (+ _ "\""))} ["1" "2" "3"]))
13:22:08 <oktabot> An error: Application consists of 2 or 3 expressions.
13:22:09 <ehird> :: (aaaaaaa aaaaaaaaa)
13:22:14 <oktabot> An error: Application consists of 2 or 3 expressions.
13:22:16 <ais523> :: (foldl + "\"" (map {(+ "\"" (+ _ "\""))} ["1" "2" "3"]))
13:22:17 <oktabot> An error: Application consists of 2 or 3 expressions.
13:22:27 <ais523> well, let's implement a fold if there isn't one already
13:22:29 <oklofok> ais523: functions are either monadic or dyadic
13:22:36 <ehird> fold is trivial, look
13:22:40 <ais523> and ok, that's an interesting restriction
13:22:49 <oklofok> you see this is just a simple sexp syntax over an infix system.
13:22:55 <ais523> I should implement total from Underload, it's like fold but with two args
13:23:47 <ais523> what are arrays/lists syntactic sugar for?
13:23:53 <ais523> how do I head/tail them?
13:23:59 <ais523> or do I have to rely on ehird cons cells?
13:24:10 <oklofok> ais523: well you can pattern match on them
13:24:22 <oklofok> but i'm not sure you can actively cut them...
13:24:32 <ais523> pattern matching will do
13:24:38 <ehird> :: (= fold {(-> [f i] {(-> [] i) (-> l (f (! l 0
13:24:42 <ehird> that's as far as I've written
13:24:44 <ehird> feel free to continue
13:24:55 <ais523> :: (-> (: a b) [1 2 3])
13:25:03 <ais523> ok, that was surprising
13:25:09 <ais523> :: (-> (: a b) [1 2 3])
13:25:21 <oklofok> ais523: well i'm not sure : means anythin.
13:25:24 <ehird> maybe you should learn oklotalk :s
13:25:32 -!- MigoMipo has joined.
13:25:34 <ais523> ehird: what do you think I'm doing?
13:25:39 <oklofok> i can see if there's a beheader....
13:25:47 <ehird> (-> a b) pattern matches on the value of _
13:25:56 <ehird> and force a return if it matches
13:26:05 <ehird> so you need them in {} to be useful
13:26:15 <ais523> :: ({(-> (: a b) [a b])} [1 2 3])
13:26:20 <oklofok> :: ({(-> (: a b) a)} [1 2 3 4])
13:26:41 <ehird> huray now we sing songs of the hello
13:26:51 <ehird> 13:18 < ehird> :: 1 2 3
13:26:51 <ehird> 13:18 < oktabot> 3
13:27:00 <ehird> :: (= fold {(-> [f i] {(-> [] i) (-> l (f (! l 0
13:27:20 <oklofok> :: (! [1 2 3 4 5 2 34 12 4 2 5 2 4 23 21] 10)
13:27:22 <ehird> :: (= fold {(-> [f i] {(-> [] i) (-> (: a b) (: (f a) (' b)))})})
13:27:31 <oklofok> there's an indexing operator it seems :D
13:27:31 <ehird> :: ((fold + 0) [1 2 3])
13:27:47 <oktabot> [[1 4] [1 5] [1 6] [2 4] [2 5] [2 6] [3 4] [3 5] [3 6]]
13:27:57 <oklofok> THERE'S A CARTESIAN PRODUCT AND NO ONE TOLD ME
13:28:09 <ehird> :: (= fold {(-> [f i] {(-> [] i) (-> (: a b) (: (f a) (' b)))})})
13:28:09 <oklofok> :: (* [[1 2 3] [4 5 6] [7 8 9]])
13:28:21 <ehird> :: ((fold + 0) [])
13:28:25 <ehird> :: ((fold + 0) [1])
13:28:35 <oklofok> that's a good question.....
13:28:45 <ais523> :: ({(-> [(: h t) f] (f h (' t f))) (-> [x f] x)} + [1 2 3 4 5])
13:28:51 <ais523> hmm... not quite right
13:29:13 <oklofok> that's probably the problem
13:29:35 <ehird> :: (= fold {(-> [f [a]] a) (-> [f (: a b)] (: (f a) (' f b)))})
13:29:42 <ais523> :: ({(-> [(: h t) f] (f h (' t f))) (-> [x f] x)} [1 2 3 4 5] +)
13:29:42 <oktabot> An error: unsupported operand type(s) for +: 'int' and 'list'
13:29:45 <ehird> :: (= fold {(-> [f [a]] a) (-> [f (: a b)] [(f a) (' f b)])})
13:29:49 <ehird> :: (fold + [1 2 3])
13:29:52 <ais523> my problem was I got the args the wrong way round
13:30:04 <ehird> :: (= fold {(-> [f [a]] a) (-> [f (: a b)] (f a (' f b))})
13:30:04 <oktabot> An error: Unmatching parens @ row 1.
13:30:08 <ehird> :: (= fold {(-> [f [a]] a) (-> [f (: a b)] (f a (' f b)))})
13:30:12 <ehird> :: (fold + [1 2 3])
13:30:22 <oklofok> "@ row 1", what a great irc bot feature!
13:30:35 <ehird> :: (fold * [[1 2 3] [4 5 6]])
13:30:35 <oktabot> [[1 4] [1 5] [1 6] [2 4] [2 5] [2 6] [3 4] [3 5] [3 6]]
13:30:40 <ehird> :: (fold * [[1 2 3] [4 5 6] [7 8 9]])
13:30:40 <oktabot> [[1 [4 7]] [1 [4 8]] [1 [4 9]] [1 [5 7]] [1 [5 8]] [1 [5 9]] [1 [6 7]] [1 [6 8]] [1 [6 9]] [2 [4 7]] [2 [4 8]] [2 [4 9]] [2 [5 7]] [2 [5 8]] [2 [5 9]] [2 [6 7]] [2 [6 8]] [2 [6 9]] [3 [4 7]] [3 [4 8]]
13:30:40 <ais523> :: ({(-> [(: h t) f] (f h (' t f))) (-> [[x] f] x)} [1 2 3 4 5] +)
13:30:40 <oktabot> An error: Atm instance has no attribute 'call'
13:30:45 <ais523> :: ({(-> [(: h t) f] (f h (' t f))) (-> [[x] f] x)} [1 2 3 4 5] +)
13:30:45 <oktabot> An error: Atm instance has no attribute 'call'
13:30:47 <ehird> ais523: give up, I beat you :D
13:31:09 <ehird> i mean, that's ind of right
13:31:22 <ais523> anyway, that's total not fold
13:31:22 <ehird> (= fold {(-> [f [a]] a) (-> [f (: a b)] (f a (' f b)))})
13:31:32 <ehird> well fold is cooler :D
13:31:35 <ais523> although you can implement fold from total just by putting an extra element on the end of the list
13:31:49 <ehird> fyi, two-argument fold
13:32:01 <ais523> yes, I just like to give it a different name
13:32:14 <ehird> total is misleading, it does fold
13:32:20 <ehird> arguably, the fold-with-default needs a special name
13:32:55 <ehird> :: (fold fold [+ [1 2 3]])
13:33:04 <ehird> :: (fold fold [+ [1 2 3] + [1 2 3]])
13:33:05 <oklofok> errr, that's just confusing.
13:33:16 <ehird> :: (fold fold [+ + [1 2 3]])
13:33:22 <ais523> :: (fold fold [fold [+ [1 2 3]]])
13:33:33 <ehird> ais523: so, it's application?
13:33:39 <ais523> :: (fold fold [fold [fold [+ [1 2 3]]]])
13:33:43 <ais523> ehird: of course it is
13:33:46 <ehird> (fold fold [x y]) -> (x y)
13:33:47 <ais523> when you have a two-arg list
13:33:49 <oklofok> OKLOTALK-- ONLY MAKES SENSE WHEN USED NICELY.
13:34:08 <ais523> oklofok: no, that's inherent in the definition of defaultless fold
13:34:12 <ais523> it would work just as well in Haskell
13:34:40 <oklofok> ais523: you sure haskell likes lists with functions and values in them?
13:34:44 <ehird> as [(+),[1,2,3]] is invalid
13:34:49 <ais523> oh, forgot about the strict typing
13:34:49 <ehird> as lists are monotyperated
13:34:52 -!- Hiato has joined.
13:34:59 <ehird> conclusion: this is AWESOME BEANS PLUS.
13:35:02 <ais523> it would work in Visual Haskell
13:35:07 <oklofok> how can people forget haskell is strict about types
13:35:08 <ais523> which has a Variant type, and is otherwise identical
13:35:16 <ehird> haskell has a variant type
13:35:22 <ais523> oklofok: because I've used OCaml
13:35:22 <oklofok> that's what haskell is, being pedantic about types
13:35:33 <ehird> also http://www.haskell.org/visualhaskell/
13:35:34 <ais523> Haskell is a breath of fresh air compared to it in terms of type dicipline
13:35:44 <ais523> ehird: well, I was just trying to pun on Visual Basic
13:35:57 * Hiato wonders who it was that used arch here
13:36:02 <ehird> Hiato: too many idiots.
13:36:06 <ehird> mostly AnMaster :P
13:36:22 <ais523> Hiato: AnMaster ported C-INTERCAL to Arch
13:36:27 <ais523> although I don't know if he actually uses it
13:36:48 <ais523> ehird: well, just a build library
13:36:49 <ehird> he just added some lines into a packagefile.
13:36:54 <ais523> porting is easy if you don't have to change the source
13:37:03 <AnMaster> ais523, I use arch on one system. And yes it was just making a package
13:37:20 <AnMaster> so porting would be the wrong word
13:38:58 <ais523> :: (fold + (map {(+ "\"" (+ _ "\""))} ["1" "2" "3"]))
13:40:14 -!- Hiato1 has joined.
13:40:35 <ehird> :: "["+(fold + (map {(+ "\"" (+ _ "\""))} ["1""2""3"]))+"]"
13:40:35 <oktabot> An error: Unmatching parens @ row 1.
13:40:46 <ehird> :: (("["+(fold + (map {(+ "\"" (+ _ "\""))} ["1""2""3"])))+"]")
13:40:46 <oktabot> An error: Unmatching parens @ row 1.
13:40:50 <ais523> :: (fold + (map {(-> "\"" "\"\\\"\" ") (-> "\\" "\"\\\\\" ") (-> x (+ "\"" (+ _ "\"")))} ["1" "2" "3"]))
13:40:57 <ais523> :: (fold + (map {(-> "\"" "\"\\\"\" ") (-> "\\" "\"\\\\\" ") (-> x (+ "\"" (+ _ "\" ")))} ["1" "2" "3"]))
13:41:06 <ais523> :: (fold + (map {(-> "\"" "\"\\\"\" ") (-> "\\" "\"\\\\\" ") (-> x (+ "\"" (+ _ "\" ")))} ["1" "2" "3" "\"" "\\"]))
13:41:37 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
13:42:17 <ehird> oklotalk-- is for real men
13:43:03 -!- KingOfKarlsruhe has quit (Remote closed the connection).
13:43:27 <ehird> :: (= range {(-> [x x] -> []) (-> [x y] ([x] + (range (x+1) y)))})
13:43:27 <oktabot> An error: Application consists of 2 or 3 expressions.
13:43:36 <ehird> :: (= range {(-> [x x] []) (-> [x y] ([x] + (range (x+1) y)))})
13:43:37 <oktabot> An error: Application consists of 2 or 3 expressions.
13:43:46 <oklofok> :: (= .. {(-> [a a] [1]) (-> [a b] (+ [a] (' (+ a 1) b)))})
13:44:04 <oklofok> :: (= .. {(-> [a a] [a]) (-> [a b] (+ [a] (' (+ a 1) b)))})
13:44:12 <oktabot> An error: maximum recursion depth exceeded
13:45:05 <oklofok> currently all handles all except for atoms
13:45:14 <ais523> :: (fold + (map {(+ "\"" (+ ((-> "\"" "\\\"") (-> "\\" "\\\\") (-> x x)) "\""))} ["1" "2" "\"" "\\" "3" ]))
13:45:14 <oktabot> An error: 'NoneType' object has no attribute 'clbl'
13:45:37 <oklofok> ais523: i'm not sure what that means.
13:45:47 <ais523> :: (fold + (map {(+ "\"" (+ ({(-> "\"" "\\\"") (-> "\\" "\\\\") (-> x x)) "\"")} _)} ["1" "2" "\"" "\\" "3" ]))
13:45:48 <oktabot> An error: Unmatching parens @ row 1.
13:45:48 <oklofok> i mean that's an unwrapped python error
13:46:06 <oklofok> ((->... doesn't look right
13:46:25 <oklofok> you clearly have paren errors there
13:46:30 <ais523> :: (fold + (map {(+ "\"" (+ ({(-> "\"" "\\\"") (-> "\\" "\\\\") (-> x x)} _) "\"")} ["1" "2" "\"" "\\" "3" ]))
13:46:30 <oktabot> An error: Unmatching parens @ row 1.
13:46:37 -!- KingOfKarlsruhe has joined.
13:46:43 <ais523> :: (fold + (map {(+ "\"" (+ ({(-> "\"" "\\\"") (-> "\\" "\\\\") (-> x x)} _) "\""))} ["1" "2" "\"" "\\" "3" ]))
13:46:50 <ais523> :: (fold + (map {(+ "\"" (+ ({(-> "\"" "\\\"") (-> "\\" "\\\\") (-> x x)} _) "\" "))} ["1" "2" "\"" "\\" "3" ]))
13:48:49 -!- ais523 has quit ("mibbit.com: lectures").
13:51:34 <FireFly> "There are 4 primitive datatypes: integer, string, list, atom and thing."
13:53:23 <ehird> oklotalk-- is one of my favourite languages
13:53:54 <oklofok> i wanna implement some muture :<<<
13:54:57 <ehird> wut is muture again
13:55:12 <oklofok> www.vjn.fi/oklopol/muture.txt
13:55:25 <oklofok> it's the search thingie stuff
13:56:30 <oklofok> ">> expr" maximizes expr given the some nondeterministic choices the interp can make in evaluating expre.
13:56:52 <oklofok> \list means an elem of list
13:59:25 <oklofok> the problem is of course it's pretty goddamn hard to implement, tried once, crapped my pants.
14:17:08 -!- Mony has joined.
14:20:21 -!- Hiato1 has quit (Remote closed the connection).
14:29:30 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
14:29:36 -!- moozilla has joined.
14:37:12 -!- MigoMipo has quit ("QuitIRCException: MigoMipo out of IRC").
15:18:09 -!- Judofyr has joined.
16:50:30 -!- impomatic has joined.
16:51:50 <impomatic> I've just implemented RSSB in Redcode and I'm looking for a new project
17:01:05 <impomatic> Any suggestions. I'd prefer stack or cell based, minimal instruction set and relative addressing!
17:03:45 -!- BeholdMyGlory has joined.
17:03:59 <ehird> Well, bf fits that but is boring.
17:07:17 <Slereah> Someone already did brainfuck in everything
17:08:39 <impomatic> I want one of these for esoteric programming langs http://www.levenez.com/lang/lang.pdf :-)
17:09:46 <Slereah> Interpreter or interpretee?
17:11:10 <impomatic> The interpreter will be written in Redcode
17:18:11 -!- FireyFly has joined.
17:32:57 -!- ais523 has joined.
17:41:41 -!- oerjan has joined.
17:42:26 <oerjan> yoohoo i've got a part in the topic
17:42:49 <oerjan> tip of the hat to you Mr. ais523
17:45:21 -!- BeholdMyGlory has quit (Read error: 131 (Connection reset by peer)).
17:47:50 -!- BeholdMyGlory has joined.
17:49:11 <MizardX> impomatic: Pick and choose -> http://esoteric.voxelperfect.net/wiki/Language_list
17:50:50 -!- ais523_ has joined.
17:51:11 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
17:51:50 -!- ais523_ has changed nick to ais523.
17:52:18 <oerjan> <oklofok> i can see if there's a beheader....
17:52:37 <ais523> hmm... so who's impomatic, then?
17:52:44 <oerjan> impomatic: there's also the random page button
17:52:47 <ais523> this channel is getting new members so fast it's scary
17:53:09 <impomatic> For now I've looked through the Hello World implementations for a language I like the look of
17:53:10 <oerjan> since most pages are on a single language, should be nearly the same
17:53:41 <ais523> and if it hits something you aren't looking for, you can always click again
17:54:09 <impomatic> ais523: new here. I'm a redcode programmer
17:54:15 <oerjan> hm hello world is not good for unlambda, say, the structure is trivial
17:54:32 <oerjan> so doesn't really show it
17:54:36 <ais523> oerjan: hello world works best to show how languages manage string handling, and what the basic syntax is
17:54:51 <ais523> I mean, lots of different languages could just have "Hello, world!" as a hello world program
17:54:57 <ais523> in all sorts of different paradigms
17:55:15 <ais523> ^bf ,[.,]!Hello, world!
17:55:19 <ais523> three rather different langs
17:55:23 <ais523> and yet the programs look pretty similar
17:55:42 <ais523> 99bob is at least good for control flow
17:56:15 <oerjan> impomatic: if you're interested in redcode might i suggest FuckYourBrane (iirc)?
17:56:31 <ais523> but there's a fatal bug in it if you don't limit program length
17:56:36 -!- puzzlet has quit (Remote closed the connection).
17:56:44 -!- puzzlet has joined.
17:56:48 <ais523> there's also Brainfuck Joust, which has become popular over at Agora recently
17:56:52 <ais523> someone should add it to the esowiki, really
17:57:10 <oerjan> ais523: well the bf hello world with ! is cheating
17:57:22 <ais523> without ! I don't have it memorised, though
17:57:29 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help
17:57:38 <ais523> and why is there not a hello world in fungot's program list?
17:57:39 <fungot> ais523: for s in (find prefix -type fnord do if -z instrarrayid then echo " /star does not point to get_install" then echo " double fnord else fnord
17:57:47 <fungot> ,[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+14<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>>+5[<-5>-]<2-[>+<-[>+<-[>+<-[>+<-[>+<-[>+
17:57:59 <ais523> hmm... that's not the whole program
17:58:07 <fungot> >,[>,]+32[<]>[[.>]<[<]>[-]>]
17:58:17 <ais523> IMO, BF's strong point is simple text processing
17:59:25 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
17:59:33 <oerjan> ^def hw bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+.
17:59:59 <ais523> I was going to ask if that's the esowiki's version
18:00:12 <ais523> it looks like it, it has too many loops to be the EgoBot version
18:00:13 <impomatic> oerjan: thanks, I'll take a look shortly
18:00:33 <oerjan> yeah it doesn't use the several cell initialization
18:01:12 <oerjan> fizzie: is it necessary to save new commands explicitly?
18:01:25 <ais523> you could always read the source to find out
18:01:27 <fungot> http://zem.fi/~fis/fungot.b98.txt
18:02:53 * ais523 decides that right now, he /is/ insane enough to find the particular relevant bit of fungot's code
18:02:54 <fungot> ais523: i'm already sobbing!!
18:03:46 <oerjan> fungot: how rational of you
18:03:47 <fungot> oerjan: they really don't dare open anything else for some time now i know smthg abt the differences fnord mit-scheme n other schemes too.
18:05:00 <oerjan> btw about earlier this morning - does anyone know a non-terminating ski expression without parentheses?
18:05:18 <oerjan> (when i was talking to myself)
18:05:37 <ais523> hmm... which way does SKI associate when written normally?
18:05:47 <ais523> I'm far too used to Unlambda to know that off by heart
18:05:57 <ais523> as in, SII = ((S I) I) ?
18:06:37 <ais523> well, there isn't an obvious solution that I can see
18:06:41 <ais523> although there might well be a subtle one
18:06:48 <ais523> do you think just fuzzing would discover one?
18:06:53 <oerjan> starting with sii was useless at least
18:07:12 <ais523> because you may as well just write whatever it's applied to twice
18:07:30 <oerjan> and just s's didn't work, even though s's tend to make things complicated in general
18:07:36 <ais523> ah, I was wondering about just Ss
18:07:52 <ais523> K is a simplifier, although simplifiers may help for loops
18:07:56 <oerjan> <oerjan> sssssss -> ss(ss)sss -> ss(sss)ss -> ss(ssss)s -> ss(sssss)
18:07:57 <ais523> and S is a complicator
18:09:51 <oerjan> summing up from this morning, it must start with ss, siks or siss
18:09:59 <fizzie> It is necessary to use ^save, yes.
18:10:00 <oerjan> anything else simplifies
18:10:07 -!- MigoMipo has joined.
18:10:43 <ais523> let's see... we know it starts with s
18:10:47 <ais523> as starting with i is redundant
18:10:53 <ais523> and starting with k is doubly redundant
18:11:05 <ais523> therefore, it's S x y z and possibly more combinators
18:11:10 <oerjan> starting with sk is also redundant
18:11:11 <ais523> which is ((x z) (y z))
18:11:51 <ais523> and starting with sii we've already demonstrated is redundant
18:11:59 <oerjan> and i looked at si this morning
18:12:29 <oerjan> and x!=i as you noticed
18:12:30 <ais523> where z is the next term
18:13:07 <ais523> oerjan: well, I think serialised SKI counts as a new esolang
18:13:14 <ais523> I wonder if it's usable, or if it's a new subtle cough?
18:14:23 <ais523> what if it starts with ss?
18:14:35 <oerjan> siks = s(ks), siss = s(ss)
18:14:55 <ais523> which doesn't evaluate further
18:15:06 <ais523> ssxyz = (s y) (x y) (z)
18:15:16 <oerjan> yeah that was the trouble with just s's, tend to gobble up arguments
18:15:33 <ais523> it becomes (yz)((xy)z)
18:15:49 <ais523> I think the trick may be to s a lot to generate complicated bracketing patterns
18:15:54 <ais523> then after that fill it with an s/k/i mix
18:16:00 <ais523> to get the arguments into the pattern we need
18:17:36 <ais523> I think I'm beginning to spot a pattern here
18:17:56 <Slereah> What's going on with the birds?
18:18:03 <ais523> not birds in particular
18:18:12 <ais523> the problem is to make an SKI infinite loop
18:18:18 <ais523> with the restriction that the entire thing has to left-associate
18:18:33 <ais523> so sii(sii) is out because it needs that pair of parens
18:21:58 <oerjan> "Flattening Combinators: Surviving Without Parentheses, Chris Okasaki, JFP03"
18:22:29 <ais523> oerjan: does it just use backquotes instead, I wonder?
18:22:52 <Slereah> Is unlambda that popular that people know of those conventions though?
18:23:02 <Slereah> I don't recall PN with ` anywhere else
18:23:07 <ais523> although I know I think of combinators with backquotes not parens
18:23:08 <oerjan> i think that's unlikely for a JFP submission...
18:24:12 <ais523> oerjan: can't you read postscript?
18:24:48 <ais523> I have at least two postscript readers on here
18:25:53 <Slereah> From the original article of combinators : 'If we now take the form FU as a point of departure, then, by means of Z alone, F can be transformed in such a way that all parenthesis disappear. By means of C, Z and S, therefore, every formula of logic can be written without parenthesis as a simple sequence of these signs"
18:26:09 <ais523> hmm... which combinators are C and Z?
18:28:10 <Slereah> C is K, Z is... Zxyz = x(yz), S is S.
18:28:40 <ais523> well, Z is cheating in this particular instance
18:28:54 <ais523> because clearly it lets you mess with associativity at will
18:29:00 -!- impomatic has quit (Read error: 110 (Connection timed out)).
18:29:09 <Slereah> Don't diss the Schonfinkel man himself.
18:29:26 <ais523> I mean, Schonfinkel's idea was really clever in that context
18:29:37 <AnMaster> funny: http://rafb.net/p/L2FgYp89.html (I added the comment)
18:29:37 <ais523> however, trying to port it into another context fails in this case
18:30:14 -!- kar8nga has joined.
18:30:25 <ais523> AnMaster: is postfunc declared volatile?
18:30:47 <ais523> that's the only real hope of sanity here
18:30:55 <AnMaster> ais523, it is a local auto variable
18:31:02 <ais523> is closefunc local or global?
18:31:06 <ais523> not that it really matters
18:31:23 <AnMaster> (it will get put into a struct that is constructed a bit below
18:31:30 <AnMaster> ais523, clearly a case of copy-and-paste error
18:31:42 <AnMaster> the right way would be to use macros to avoid code duplication too
18:31:43 <ais523> the second and third ifs are unreachable, aren't they
18:32:03 <AnMaster> yes, and the second one should check closefunc, and the third one should be removed
18:32:27 <ais523> well, I agree with you that that looks like the obvious fix
18:33:35 <AnMaster> I was debugging another issue when I ran into that
18:38:13 <ais523> http://www.xsharp.org/
18:38:35 -!- MigoMipo has left (?).
18:38:50 * ais523 tries to figure out what paradigm it is
18:39:34 <ais523> hmm... looks imperative
18:40:09 <ais523> but they implemented functional programming too
18:40:17 <AnMaster> ais523, the desc sounds "tree rewriting"
18:40:59 <ais523> it seems to use append-child a lot
18:41:48 <ais523> heh, the wiki's main page is
18:41:49 <ais523> #REDIRECT [[X Sharp on wheels]]
18:42:38 <ais523> and the protection level of the original main page is move/edit at autoconfirmed
18:42:42 <ais523> so anons can't even fix those problems
18:42:56 <ais523> someone's gone to the effort of getting autoconfirmed, then vandlising it...
18:44:26 <ais523> <agentace> This is only slightly more annoying than LOLCODE.
18:47:45 -!- MigoMipo has joined.
18:56:28 -!- MigoMipo has left (?).
19:10:05 <ais523> ehird: there is no response to that. You win already.
19:10:15 <ais523> now, stop using such a degenerate opening
19:10:21 <oerjan> still, you have to say B
19:10:36 -!- ais523 has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game.
19:12:00 <oerjan> "the channel that is more than gay sex"
19:13:45 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game.
19:14:01 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
19:14:07 <ehird> now it is a complete description
19:14:21 <ais523> ok, I admit that's a #esoteric meme
19:14:25 <ais523> although I don't like it
19:14:33 <ais523> and it's hardly unique to #esoteric like some of the others are
19:14:45 <ais523> well, I suppose messing with the topic isn't a #esoteric-specific meme
19:14:49 <oerjan> what about the goat sacrifices?
19:14:49 <ais523> the loglink possibly is, though
19:14:57 <ais523> oerjan: they never really caught on
19:15:12 <oerjan> they're still new aren't they
19:15:22 <oerjan> and we only use it when there are newbies
19:15:52 <ehird> ais523: gay sex is certainly a recurring theme here, you can't deny it :P
19:16:00 <ehird> we must be objective.
19:16:10 <ais523> I just tried to redefine the inclusion criteria instead
19:16:17 <ais523> also, don't scare off the new peopel
19:16:30 <ehird> the new people need thicker skin to survive here :-P
19:16:31 <oklofok> would probably be silly to add esolangs to the list?
19:16:42 <ehird> oklofok: when do we talk about esolangs?
19:16:42 <ais523> oklofok: those aren't exactly a meme
19:16:46 <ais523> they're what the channel is for
19:16:50 <oerjan> "languages. occasionally programming ones."
19:17:02 <oklofok> ais523: not talking about esolangs, though, is.
19:17:22 <oklofok> not that i like that one either :P
19:17:29 <ehird> lament: does #linguistics still have a strict anti-gay-sex policy?
19:20:49 <ehird> dfsddddddddddddddddddddd
19:23:38 -!- olsner has joined.
19:37:46 <ehird> that is valid perl code
19:37:50 <ehird> valid after a z-onslaught
19:38:37 <Slereah> ffffffffffffffffffffffffffffffffffffff
19:39:07 <ehird> due to the perl maneuver
19:40:23 <ais523> to see how long it takes someone to add the final slash
19:40:26 <Slereah> Because look at the rules, oerjan
19:40:43 <ehird> Slereah: buy a real rulebook, lamer.
19:40:49 <ehird> ais523: see p645, section 9
19:41:01 <ais523> ehird: in the ANSI or ISO edition?
19:41:09 <ais523> the rules are the same, but the page numbering is different...
19:41:12 <ehird> Jekyll & Montgomery
19:41:22 <ehird> Third.FirstFourth edition
19:42:11 <oerjan> wait i only have the DVD version
19:43:03 <ehird> just use the xref tool included
19:43:10 <ehird> which translates various reference numbers
19:43:23 <oerjan> with appendix by Hyde & Seech
19:43:39 <ehird> sorry, I'll just the standardized numbering system from now on (you know, they put it in a whole other spec because none of the specs are consistent enough...)
19:44:37 <oerjan> the standard with arabic numerals or the one with babylonian numerals?
19:45:09 <ehird> arabic, since we're modern people here.
19:45:21 <oerjan> yeah i know the last one is really only used on MSN, and is overcomplicated
19:45:47 <ehird> let's have a rematch... with the swatter
19:47:24 <ehird> now I have the swatter
19:47:39 <oerjan> the swatter must not be used for games!
19:47:46 <ehird> 19:45 < ehird> let's have a rematch... with the swatter
19:47:53 <ehird> im not talking about the physical swatter
19:48:00 <ehird> see p1333, section 8
19:48:12 <oerjan> ah but then you still lose
19:48:21 <oerjan> you said "foul" rather than "swat"
19:48:29 <ehird> i didn't have the swatter
19:48:31 <ehird> so i couldn't swat
19:48:34 <ehird> gainign me the swatter
19:50:04 * ehird swats oerjan for making a triplication ---###
19:50:35 <ehird> [nice try, but that was no foul]
19:50:45 <oerjan> sure it was, the triplication was a trap
19:51:01 <ehird> right but the letter differenciation was 3
19:51:02 <oerjan> after it you have to triplicate, see p983
19:51:15 <ehird> ok, swatter goes back to you
19:52:22 <ehird> Irish people are often green.
19:52:34 <ehird> (Irish trick, see p1334 section 9)
19:53:14 <oerjan> after the irish trick you have to do consonant mutation
19:53:28 <ehird> swatter goes back to you
19:53:55 <ehird> nnnnnnnnnnnnnnnnnnnnn
19:53:58 <ais523> meh, too busy trying to prove a slightly modified version of Russel's Paradox to be self-contradictory
19:54:38 <ehird> [triple score for letters+numbers+mathematical expression]
19:54:58 <oerjan> darn i lose, i cannot make enough letters on irc to answer that
19:56:15 <oerjan> i still say the rules don't take irc properly into account, the internet appendices are really only suitable for email
19:56:32 <ehird> nah, the email game is obsolete
19:56:35 <ehird> it relies on real-time, really
19:56:44 <ehird> oerjan: i suggest Wadler's book
19:56:58 <oerjan> wadler plays this game?
19:57:07 <ehird> it's a 100 page or so summary of little things to know when playing over realtime communication like irc
19:57:15 <oerjan> hm was it he who made the haskell ai for it?
19:57:28 <ehird> unfortunately it's a bit slow
19:57:31 <ehird> so not really suited to irc.
19:57:52 <oerjan> if it wasn't they'd have amended the rules
19:58:04 <oerjan> to make it slower and prevent cheating
19:58:09 <ehird> well naturally. it's like... the most antagonistic rule committee ever :-D
19:59:04 <oerjan> yeah putting paul graham in the committee was not such a great idea
19:59:13 <ehird> good thing they kicked him out in 2004
19:59:30 <ehird> i mean seriously can you remember oerjan?
19:59:33 <ehird> "my arc AI is sooo fast"
19:59:39 <oerjan> well that was one good thing that came out of the haskell ai
19:59:41 <ehird> did he ever contribute a non-reverted rule?
20:00:08 <oerjan> he did some quine-based ones
20:00:28 <ehird> nobody uses them do they?
20:00:44 <oerjan> nobody understands them
20:01:02 <oerjan> 500 lines of incomprehensible symbols
20:01:16 <oerjan> well i guess people in this channel could decipher it
20:02:57 <oerjan> i mean _technically_ one of them is official, but no one has ever managed to call that rule without using an AI
20:03:13 <ehird> did the ai produce a pretty parse tree?
20:03:25 <oerjan> which of course means disqualification in most tournaments
20:03:45 <ais523> meh, this is a #esoteric tournament
20:03:49 <ais523> it should be allowed here
20:03:53 <ais523> but only if written in an esolang
20:04:12 <ais523> in fact, I propose that right now, as 270:A
20:04:37 <ehird> propose it to the committee, or we can just bend rules to it
20:04:40 <ehird> but proposing is cheating
20:04:48 <oerjan> there's a house rule provision but it has to be anonymous
20:04:59 <ehird> can't be anonymous on irc, really
20:05:17 <oerjan> would have been unanimous but a misspelling crept through
20:05:42 <ehird> oerjan: for a laugh look at p2457
20:05:50 <ehird> it's written in a special font
20:05:53 <ais523> oerjan: don't, it's a goatse
20:05:56 <ehird> and the rule parts are so nested
20:06:00 <ehird> that they have to use differing font size
20:06:08 <ehird> ais523: similar effect on the brain...
20:06:26 <oerjan> the fractal maze rule, yeah i've seen it
20:06:44 <ehird> oerjan: also, one of the first uses of monads outside of category theory
20:06:49 <oerjan> i think it won some art prize
20:06:51 <ehird> it's actually structured as a monadic operation
20:06:53 <ehird> if you look closely
20:07:19 <ehird> been revised of course
20:07:30 <oerjan> it would have to be from before the 90s
20:07:52 <ehird> it's from 1980-something
20:08:30 <ehird> oerjan: p329 is from the *1970s*, unchanged...
20:09:21 <oerjan> actually the page number was changed. there were only 2000 pages before they computerized the rules
20:09:33 <ehird> yeah but they did that really early on
20:09:42 <ehird> so it's expanded a lot by now
20:10:14 <oerjan> i hear the next edition won't fit on an ordinary DVD
20:10:28 <ehird> oh right, the old text version
20:10:38 <ehird> oerjan: you have the multi-dvd version I assume?
20:10:42 <ehird> since you know about the formatting
20:10:57 <ehird> well, you have to really
20:11:07 <ais523> ehird: meh, you just need the multi-dvd compression algorithm
20:11:18 <ais523> which can decode the entire ruleset from the picture of Lenna
20:11:25 <ehird> oh not that joke again
20:11:30 <ehird> puhleeze, that got old in 1999
20:11:36 <ais523> ehird: I made it in reverse this time
20:11:46 <lament> You can decode pretty much anything from the picture of Lenna
20:11:49 <lament> I know from experience
20:12:16 <ais523> now, really creepy would have been if AnMaster had got that joke before my explanation
20:12:22 <ais523> whilst ehird still needed one...
20:12:42 <ehird> ais523: yeah um the likelyhood of that is 0.
20:12:50 <ais523> only because AnMaster is idle
20:13:01 <ehird> i just misread, sheesh
20:13:08 <oerjan> i just have one DVD. it's the special internet version leaving out the physical play rules.
20:13:25 <ehird> oerjan: wait, the internet is just an appendix
20:13:27 <ehird> oh, wait, that one
20:13:30 <ehird> that one is actually a trick
20:13:35 <ehird> it downloads the complete rules from the internet
20:13:40 <ehird> that's why the install takes so long
20:13:41 <ais523> no wonder oerjan's been doing so badly all this time
20:13:48 <ehird> he has the full rules
20:13:48 <oerjan> rubbish, my disk is not that large
20:13:56 <ehird> oerjan: yes, the disk just downloads the rules
20:14:02 <ehird> bit of a ripoff :P
20:14:09 <oerjan> my _hard_disk_ is not that large
20:14:16 <ehird> well how big is it
20:14:22 <ehird> the rules fit compressed on a few dvds
20:14:25 <ehird> so unless your hd is tiny...
20:16:37 -!- kar8nga has left (?).
20:16:38 -!- ais523 has quit (Read error: 54 (Connection reset by peer)).
20:17:47 <oerjan> AnMaster: they were discussing a joke you couldn't possibly have got
20:17:56 <oerjan> or something like that, anyway
20:19:02 <AnMaster> well I actually know about Lenna, but I would have thought ais got it the wrong way round instead realising that he meant it as that.
20:19:05 -!- ais523 has joined.
20:24:00 -!- ais523_ has joined.
20:28:00 -!- ais523_ has quit (Read error: 54 (Connection reset by peer)).
20:28:26 -!- ais523_ has joined.
20:28:40 <ehird> http://en.wikipedia.org/wiki/U2charist
20:29:31 -!- KingOfKarlsruhe has quit (Remote closed the connection).
20:38:09 -!- ais523 has quit (Read error: 110 (Connection timed out)).
20:39:39 -!- ais523_ has quit (Read error: 60 (Operation timed out)).
20:41:55 -!- ais523_ has joined.
20:42:19 -!- ais523_ has changed nick to ais523.
20:46:00 -!- Mony has quit ("Quit").
20:53:57 <ais523> yay, they finally fixed MediaWiki bug 10569
20:54:01 <ais523> and I only reported it in 2007
20:54:14 <ais523> not that it's a particularly important one
20:54:22 <ais523> I only found it deliberately trying to provoke a failure mode
20:54:36 <ais523> but still, I can imagine a vandal having used it for something malicious
20:56:29 -!- ais523 has quit.
20:56:39 -!- ais523 has joined.
20:57:33 <oklofok> yay i guessed correct what the two most common letters are when measured by amount of google results for 20 of those characters.
20:58:55 <oklofok> after second i though mmmmmmmmmmmmmmmmmmm might be third, but there i went wrong
20:59:23 <ehird> what did you guess?
20:59:33 <ehird> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?
20:59:33 <oklofok> well x is the first of course
21:00:06 <oklofok> x means "unspecified", w i guessed based on www being a common acronym :P
21:00:24 <oklofok> i'm not sure that's the reason. point is i was right, not why i was right.
21:00:44 <ehird> I thought AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHH or something would top
21:01:28 <ehird> let's just say loads of letters 20 times in here so google indexes them
21:02:17 <ehird> oooooooooooooooooooo
21:02:18 <ehird> oooooooooooooooooooo
21:02:18 <ehird> oooooooooooooooooooo
21:02:20 <ehird> oooooooooooooooooooo
21:02:20 <ehird> oooooooooooooooooooo
21:02:22 <ehird> oooooooooooooooooooo
21:02:25 <ehird> oooooooooooooooooooo
21:05:41 -!- ais523 has quit (Read error: 145 (Connection timed out)).
21:06:03 -!- ais523 has joined.
21:08:23 <oerjan> ^ul (o):::***::::****( )*(~:S~:^):^
21:08:24 <fungot> oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo oooooooooooooooooooo ooooooooo ...too much output!
21:11:06 -!- ais523_ has joined.
21:11:31 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
21:11:40 <ais523_> ugh, they didn't even fix the actual bug
21:11:48 -!- ais523_ has changed nick to ais523.
21:11:51 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
21:13:29 <ais523> https://bugzilla.wikimedia.org/show_bug.cgi?id=10569
21:16:37 -!- BeholdMyGlory has joined.
21:17:00 <ehird> [[Redirects to Special:Mypage and Special:Mytalk are no longer allowed]]
21:17:06 <ehird> can we murder the mediawiki devs?
21:17:17 <ais523> the problem is, there might be other pages with the same problem
21:17:35 <lament> the problem is, there might be other mediawiki devs, now or in the future
21:17:55 <ehird> again, let's kill MW devs.
21:18:05 <ais523> OK, the fix makes the list configurable
21:18:19 <ais523> and there are some special pages which shouldn't be redirectable-to, like Special:Userlogout
21:19:52 <oerjan> Special:LaunchMissiles
21:19:59 <ehird> ais523: wait, does that work on wikipedia?
21:20:06 <ehird> I may have to give in to my inner vandal...
21:20:35 <ais523> all redirs to special pages are blocked on Wikipedia
21:20:38 <ehird> dammit. wait, are you only saying that because of [[WP:BEANS]]?
21:20:52 <ehird> [[I see a featured article on Washington D.C., and the image File:Obama_Portrait_2006.jpg on the Main Page. This is absolutely ridiculous -- the U.S. is not the only country in the world, and filling the Main Page just because of the upcoming inauguration is obviously a violation of NPOV.
21:21:00 <ais523> no, WP:BEANS technically says "Don't tell people not to do something, because they'll be certain to try"
21:21:24 <ais523> nothing about not giving vandalism hints, although there are good reasons not to do that either
21:21:59 -!- adimit has quit ("leaving").
21:23:27 -!- adimit has joined.
21:23:50 <ehird> move to Wikipedia:Main Page
21:23:50 <ehird> shouldn't this page moved out of the article Space? this is only one of some Wikipedia-related things, so please put it into the Wikipedia: namespace, thanks. --84.44.177.212 (talk) 14:13, 20 January 2009 (UTC)
21:24:28 <ais523> that's what it's designed for
21:24:43 <ehird> I saw you in one of those debates about it from like 2006 a while ago
21:24:47 <ehird> Typical ais523 :-P
21:25:31 <ehird> http://en.wikipedia.org/wiki/Template:REMOVE_THIS_TEMPLATE_WHEN_CLOSING_THIS_AfD
21:25:42 <oerjan> ehird: iirc moving the Main Page has been discussed before
21:25:46 <ehird> especially since it has nothing to do with its naming, other than being useful in the source
21:25:50 <ehird> oerjan: I know, thus "oh no"
21:25:52 <ehird> the debates were... heated
21:26:06 <ais523> ehird: sorry about that
21:26:09 <ais523> the name sort-of stuck
21:26:27 <ais523> I had to invent a migration path for AfD that people could follow without breaking anything and without realising it was happening
21:26:45 <ais523> although I wasn't an admin back then
21:27:05 <oerjan> istr someone pondering what would happen if something noteable with the name "Main Page" appeared
21:27:06 <ais523> <ais523> "Starting to implement Wikipedia:AfD reform. This template is initially blank so that the process can be started without interfering with AfD."
21:27:38 <ehird> Articles for Deletion.
21:28:08 <ehird> aaaaaaaaaaaaazzzzzzzzzzzzzzzzzzxxxxxxxxccccccvbnm,.
21:28:11 <ais523> the heavyweight process for deleting things that not even admins can get away with just arbitrarily deleting
21:28:16 <ehird> OOH! I wanna make an esolang.
21:28:22 <ehird> I just remembered, you know.
21:28:37 <ehird> I may or may not be forgetful <_________<
21:29:47 <ehird> You know, slashdot would be better if it wasn't so impossible to read the comments.
21:29:59 <oerjan> (yeah i know it's a myth)
21:30:08 <ehird> oerjan: although the new standard is Digg users
21:30:18 <ehird> Mark Pilgrim proved that Digg's memory is shorter than a goldfishes
21:30:31 <ehird> http://diveintomark.org/archives/2006/10/02/digg
21:32:18 <oerjan> i like the striked out Japanese Chinese
21:32:48 -!- adimit has left (?).
21:40:21 -!- GreaseMonkey has joined.
21:40:25 <ehird> is there a turing-complete OISC with only one operand?
21:40:40 <ehird> yes, http://esolangs.org/wiki/RSSB
21:40:46 <ehird> ok, what about _no_ operands?
21:40:51 <ais523> ehird: how many operands would you say MiniMAX has?
21:41:14 <ehird> Word of data to send to the previous command
21:42:24 <ehird> maybe something stack-based
21:44:33 <oerjan> one instruction, no operands, er that leaves very little actual information content...
21:45:48 <ehird> oerjan: hardcoded data
21:46:19 <oerjan> um then the real program is the data, surely
21:46:30 <ehird> because the amount of times it runs differs
21:46:49 <ehird> data: "&*^&*^~HDCUJ"
21:46:50 <ais523> ehird: the problem with MiniMAX is that the operands sort of blur between different commmands
21:46:56 <ais523> although they're definitely there
21:47:03 <ais523> also, the program is the data
21:47:23 <ehird> the programs is the ocruances of cmd + the data
21:47:54 <oerjan> ehird the evil mangler
21:48:18 <ehird> no, that's ghc's Literate Perl script
21:48:23 <ehird> (it mangles gcc's assembly output)
21:48:27 <ehird> and yes, literate perl
21:48:30 <ehird> comments are default
21:48:34 <ehird> it's filtered before using
21:48:54 <ais523> ehird: you could just do that with a source filter
21:49:27 <ehird> they run perl on it, IIRC
21:49:30 <ehird> to get the perl script
21:49:55 <ais523> that's what a source filter /is/
21:50:19 <ehird> they don't use a source filter
21:50:42 <oerjan> ais523: then it wouldn't be as evil, duh
22:00:34 <olsner> literate perl? is that when you have alphanumerics in your source?
22:01:59 -!- Corun has joined.
22:04:15 -!- adimit has joined.
22:16:22 -!- Max_D has joined.
22:22:56 <oerjan> hello, are you Max Demian from the wiki?
22:25:02 <oerjan> if so, nice of you to make an omgrofl implementation just as hope of retrieving the original was lost
22:25:53 <ais523> also, it's very funny to see LOLCODE beaten at its own game
22:26:04 <oerjan> i _specifically_ rubbed out the word "all", after typing it
22:26:21 <oerjan> i supposed technically someone _could_ have mirrored it
22:26:43 <ais523> oerjan: I thought the location at which all hope was lost was the entrance to Malbolge
22:27:21 -!- Corun has quit ("This computer has gone to sleep").
22:27:32 <Max_D> sorry, went afk, yeah I am Max Demian from the wiki
22:27:46 <ais523> oerjan: it's working for me I think
22:27:55 <oerjan> me too, it was just temporary
22:28:47 <Max_D> yeah, I have lots of free time, lol. playing with omgrofl just seemed like a good time killer, lol
22:28:47 <ehird> I want to kill the creator of LOLCode.
22:29:48 <oerjan> ehird: HAI. I CAN HAS AXE IN SKULL?
22:30:03 <ehird> oerjan: YES WE CAN
22:31:02 <ais523> or is LOLCODE behind the times?
22:31:15 <oerjan> ais523: i'm not entirely fluent
22:31:20 <ehird> I'm going to write GoL in Haskell. :-D
22:31:35 <ehird> Step one: neighboursFold
22:31:39 <ehird> A fold, but includes neighbours.
22:31:48 <ais523> why not implement the rest of RedGreen while you're at it?
22:31:57 <ais523> the ALPACA reference interp is rubbish
22:32:25 -!- olsner has quit ("Leaving").
22:32:26 <ehird> I think Lahey Space is a good fit for GoL.
22:32:30 <ehird> i.e., wrapping neighbours, but infinite field
22:32:58 <ais523> ehird: it wouldn't make a difference
22:33:07 <ais523> Lahey space wrapping only matters when you project rays
22:33:11 <ehird> you have a cell at the top bound
22:33:18 <ehird> the top cell has the bottom as a neighbour
22:33:22 <ais523> despite being infinite?
22:33:27 <ehird> if the cell went higher
22:33:30 <ehird> it'd still have the same neighbour
22:33:44 <ehird> and neighbours take the bounds into account
22:33:44 <ais523> oh, it's a torus which gets bigger
22:33:50 <ais523> when does it get bigger?
22:33:54 <ais523> when things get near the edge?
22:34:01 <ehird> ais523: when they hit beyond the edge
22:34:02 <ais523> if so, it's likely to expand indefinitely due to gliders
22:34:04 <ehird> ais523: you just store the boundaries
22:34:08 <ehird> of the whole thing
22:34:15 <ais523> how do they get beyond
22:34:18 <ais523> in a wrapping environment?
22:34:24 <ehird> ais523: wrapping is only for neighbours
22:34:26 <ais523> cells in Life don't move
22:34:32 <ehird> ais523: wrapping is only for neighbours
22:34:42 <ais523> ehird: there is no movement in Life
22:34:49 <ais523> rather, nearby cells turn on
22:34:55 <ehird> when a cell turns on outside the field
22:35:06 <ehird> but for neighbour calculation, it wraps at the edges
22:35:12 <ais523> ehird: but the cell at the opposite side of the field would also turn on?
22:35:18 <ais523> that's getting weird and messed-up, now
22:35:21 <lament> there's no movement in the real world
22:35:31 <ais523> ehird: imagine a glider hitting the edge of the map
22:35:34 <ehird> what part of "WRAPPING ONLY APPLIES TO NEIGHBOURS" don't you get
22:35:34 <ais523> the cells beyond it turn on
22:35:41 <ais523> the cells at the other end of the map also turn on
22:35:42 <ehird> all of it, apparently.
22:35:48 <ais523> by only applying to neighbours
22:35:55 <oerjan> ehird: what are the neighbors of a cell far outside the field?
22:36:05 <ehird> There is nothing outside of the field...
22:36:06 <ais523> oerjan: they wrap, obviously, wrapping only applies to neighbours
22:36:16 <ehird> ais523: what I mean is
22:36:19 <ais523> ehird: suppose a cell isn't on
22:36:19 <oerjan> ehird: so where do new cells come from?
22:36:23 <ehird> when you run the "flipState" function
22:36:27 <ehird> you pass neighbours that wrap
22:36:28 <ais523> and at the other end of the field, there are three consecutive on cells
22:36:29 <ehird> but NOTHING ELSE wraps
22:36:41 <ais523> ehird: then how do the cells outside the boundary ever turn on
22:36:42 <ehird> ais523: the GoL calculations only deal with the middle cell
22:37:09 <oerjan> ehird: anyway you _are_ going to get strange edge effects this way
22:37:11 <ais523> ehird: then how do the cells outside the boundary ever turn on
22:37:29 <ehird> ais523: you're not making any sense to me
22:37:41 <ais523> ehird: neither are you to anyone else
22:37:53 <ais523> calculating neighbours seems easy to calculate for cells inside the grid
22:37:58 <ais523> given your current clear definitions
22:38:01 <ais523> but expanding the grid doesn't
22:38:10 <ais523> as cells outside the grid don't seem to have defined neighbours to know when to turn on
22:38:22 -!- GreaseMonkey has quit (Remote closed the connection).
22:38:39 <ehird> meh, I'll just make it unbounded.
22:38:43 <ehird> even though this will cause me hell.
22:39:07 <ehird> (in that you have to store the boundaries)
22:39:20 * ais523 vaguely wonders what C## would be like, if it existed
22:39:28 -!- GreaseMonkey has joined.
22:39:40 <ehird> #c# redirecst there
22:39:45 <ais523> yes, but that's only one sharp
22:39:55 <ais523> arguably, C## would be D, based on enharmonics
22:39:58 <ais523> but that's stretching it a bit
22:41:14 <ehird> neighbours :: Grid -> Point -> Neighbours
22:41:19 <ehird> wonder if that should be Point -> Grid
22:43:27 <ehird> Do most Life implementations store bounds?
22:43:30 <ehird> I'm sure there's a trick
22:44:12 <ehird> Well, how do you transform an infinite grid apart from storing bounds?
22:44:37 <ehird> Also, isn't a wrapping Life easier to look at? :P
22:45:03 -!- psygnisfive has quit ("Leaving...").
22:45:46 <oerjan> it wreaks some havoc with simulations if you wrap though, even if the live field is not that large - gliders tend to come back and ruin things
22:46:23 <ehird> Coooooooooooooooool, my random pattern spawned a glider
22:46:23 <ehird> oerjan: all life patterns tend to mess up after a while :P
22:46:35 <oerjan> i mean mess up compared to the ideal
22:53:34 -!- ais523 has quit (Remote closed the connection).
22:56:10 * Max_D killed the convo with his bleh!
23:03:46 -!- psygnisfive has joined.
23:07:45 -!- FireyFly has quit ("Brb IRL").
23:08:50 -!- BeholdMyGlory has quit ("hejdå!").
23:09:16 <ehird> whee, maze generating cellular automata!
23:09:17 <Max_D> bleh, half the languages in this wiki are the exact same language just with different ways of doing the same thing... no originality =/
23:09:26 <Max_D> they are all brainfuck basically xP
23:09:27 <ehird> Max_D: we agree :-)
23:09:34 <ehird> everyone's first langi s a brainfuck clone...
23:10:03 <Max_D> instead of > you do poop, and < is doodoo, and + is crap
23:10:29 -!- FireFly has quit (Read error: 104 (Connection reset by peer)).
23:12:19 <Max_D> it's gonna be HUGE
23:26:27 -!- oerjan has quit ("Good night").
23:36:37 <MizardX> Life in matlab: nlfilter(A,[3 3],@(N)sum(sum(N))==3||N(5)&&sum(sum(N))==4)
23:37:04 <MizardX> (can't figure out how to only evaluate sum(sum(N)) once...)
23:39:31 <ehird> MizardX: nlfilter sounds ... specialized
23:40:24 <MizardX> [3 3] is the size of the sub-image you want passed to the function
23:41:08 * Max_D wonders what you are talking about :P
23:44:11 <MizardX> conways game of life, and image processing, in matlab
23:46:24 <MizardX> better implementation in the built-in version:
23:46:24 <MizardX> n = [m 1:m-1]; e = [2:m 1]; s = [2:m 1]; w = [m 1:m-1];
23:46:28 <MizardX> N = X(n,:) + X(s,:) + X(:,e) + X(:,w) + X(n,e) + X(n,w) + X(s,e) + X(s,w);
23:46:30 <MizardX> X = (X & (N == 2)) | (N == 3);
00:10:38 -!- ehird has quit (Read error: 113 (No route to host)).
00:32:39 <oklofok> MizardX: does matlab have lambdas?
00:33:50 <MizardX> I think @(params)expr could be considered a lambda-function... combinators and forks, I don't know.
00:34:53 <oklofok> well. you can rename the sum with a lambda and use the name
00:35:10 <oklofok> but err. seems like there could be a simple more mathematical hack there
00:39:20 <MizardX> min(abs(sum(sum(N)) - 3 - [N(5) 0])) == 0
00:39:29 <oklofok> err matlab doesn't distinguish between functions and lists?
00:40:52 <MizardX> All values are matrices. Scalars have dimension 1x1.
00:41:04 <oklofok> couldn't you skip the abs and use max?
00:42:11 <oklofok> but it's an implicit map in that case?
00:42:32 <oklofok> i still don't know what [N(5) 0] means
00:42:43 <oklofok> unless it's an array of size 2 containing those two
00:43:03 <MizardX> [1 2 3; 4 5 6; 7 8 9] is the syntax for matrices
00:43:55 <MizardX> N(5) is the fifth element of N (ignoring the second dimension)
00:43:58 <oklofok> 2:42, need to sleep now. anyway i'll just assume i guessed it right because it works :P
00:44:34 <oklofok> are arrays functions in matlab, can you pass them to, say, map?
00:44:46 <oklofok> but really, sleep, can't keep my eyes open
00:45:45 <MizardX> Hard to explain everything. Most the syntax have evolved and are there for convenience.
00:46:32 <MizardX> Matlab is good att matrix and vector calculation.
00:47:49 <MizardX> If you can express an algorithm as a matrix/vector expression, then matlab can execute it quickly.
00:49:15 <MizardX> A * B = matrix product, with special casing for vector and scalar values.
00:52:48 -!- bsmntbombgirl has quit (kornbluth.freenode.net irc.freenode.net).
00:52:49 -!- Dewi has quit (kornbluth.freenode.net irc.freenode.net).
00:52:49 -!- Slereah has quit (kornbluth.freenode.net irc.freenode.net).
00:52:50 -!- oktabot has quit (kornbluth.freenode.net irc.freenode.net).
00:52:50 -!- CakeProphet has quit (kornbluth.freenode.net irc.freenode.net).
00:52:50 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
00:52:55 -!- sebbu2 has quit (kornbluth.freenode.net irc.freenode.net).
00:52:55 -!- kerlobot has quit (kornbluth.freenode.net irc.freenode.net).
00:52:56 -!- adimit has quit (kornbluth.freenode.net irc.freenode.net).
00:52:57 -!- MizardX has quit (kornbluth.freenode.net irc.freenode.net).
00:52:57 -!- Judofyr has quit (kornbluth.freenode.net irc.freenode.net).
00:52:57 -!- oklofok has quit (kornbluth.freenode.net irc.freenode.net).
00:52:59 -!- decipher_ has quit (kornbluth.freenode.net irc.freenode.net).
00:52:59 -!- kerlo has quit (kornbluth.freenode.net irc.freenode.net).
00:52:59 -!- GreaseMonkey has quit (kornbluth.freenode.net irc.freenode.net).
00:53:00 -!- dbc has quit (kornbluth.freenode.net irc.freenode.net).
00:53:00 -!- pikhq has quit (kornbluth.freenode.net irc.freenode.net).
00:53:01 -!- AnMaster has quit (kornbluth.freenode.net irc.freenode.net).
00:53:02 -!- comex has quit (kornbluth.freenode.net irc.freenode.net).
00:53:03 -!- lament has quit (kornbluth.freenode.net irc.freenode.net).
00:53:03 -!- rodgort has quit (kornbluth.freenode.net irc.freenode.net).
00:53:04 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
00:53:04 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net).
00:54:18 -!- sebbu2 has joined.
00:54:18 -!- kerlobot has joined.
00:54:53 -!- comex has joined.
00:55:04 -!- adimit has joined.
00:55:04 -!- Judofyr has joined.
00:55:04 -!- oklofok has joined.
00:55:04 -!- MizardX has joined.
00:55:04 -!- decipher_ has joined.
00:55:04 -!- kerlo has joined.
00:55:06 -!- oktabot has joined.
00:55:06 -!- CakeProphet has joined.
00:55:06 -!- GregorR has joined.
00:55:27 -!- Dewi has joined.
00:55:27 -!- Slereah has joined.
00:55:55 -!- GreaseMonkey has joined.
00:55:55 -!- dbc has joined.
00:55:55 -!- pikhq has joined.
00:55:56 -!- bsmntbombgirl has joined.
00:56:27 -!- lament has joined.
00:56:30 -!- SimonRC has joined.
00:58:17 -!- rodgort has joined.
01:15:32 <puzzlet> typical netsplit, apprently
02:45:19 -!- kerlobot has quit (Read error: 113 (No route to host)).
02:47:02 * Max_D loves the fishes cuase they're so delicious
02:59:33 -!- mtve has joined.
03:06:44 -!- Max_D has quit.
04:21:01 -!- moozilla has changed nick to metazilla.
04:21:24 -!- metazilla has changed nick to moozilla.
06:15:27 -!- Max_D has joined.
06:19:46 * Max_D wakes everybody up
07:37:27 -!- Max_D has quit ("$hiv++").
07:58:06 -!- AnMaster has joined.
07:58:29 -!- AnMaster has quit (Remote closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:41 -!- AnMaster has joined.
08:18:46 -!- GreaseMonkey has quit ("Client Excited").
08:21:48 -!- metazilla has joined.
08:21:49 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
08:22:00 -!- metazilla has changed nick to moozilla.
08:24:50 -!- amca has joined.
08:32:04 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
08:38:15 -!- metazilla has joined.
08:38:17 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
08:38:25 -!- metazilla has changed nick to moozilla.
08:39:01 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
08:39:03 -!- metazilla has joined.
08:48:34 <amca> What do you wonder?
08:48:49 <psygnisfive> what kinds of programming can we do if we force the entire model to be MISD
08:49:47 <amca> As in Multiple Instruction, Single data?
08:50:21 <amca> I think it would be called CISC. ;)
08:50:47 -!- ais523 has joined.
08:51:02 <psygnisfive> if we had to force all our functions to accept one and only one argument
08:51:12 <psygnisfive> except the functions that act like reduces
08:51:13 <ais523> psygnisfive: then you'd end up with Unlambda?
08:51:43 <amca> Like Lambda Calculus?
08:52:28 <ais523> amca: http://esolangs.org/wiki/Unlambda
08:52:43 <ais523> it's one of the seminal esolangs, you should look it up if you don't know it
08:53:56 <psygnisfive> im just thinking about how the brain processes data, and such.
08:54:11 <psygnisfive> i guess purely functional programming is vaguely like that i suppose
08:54:46 <amca> ais523: Ive come across it. It is more combinatorial logic than LC isnt it?
08:55:23 <ais523> although LC can be compiled into combinatorial logic
08:55:33 <amca> And vice versa?
08:55:36 <ais523> I don't know of anyone who's tried to write Unlambda without going via LC first
08:55:39 <ais523> except for very simple programs
08:59:24 <psygnisfive> hm.. everything-as-a-stream is interesting too
09:03:48 <amca> There is a name for that isnt there? Data <something> programming languages?
09:04:09 <psygnisfive> well, there are stream programming languages
09:04:17 <psygnisfive> but i dont know of a language where _everything_ must be a stream
09:09:22 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
09:09:58 -!- ais523 has joined.
09:10:56 -!- rodgort has quit (kornbluth.freenode.net irc.freenode.net).
09:10:56 -!- bsmntbombgirl has quit (kornbluth.freenode.net irc.freenode.net).
09:11:35 -!- rodgort has joined.
09:11:35 -!- bsmntbombgirl has joined.
09:17:28 -!- Leonidas has quit (Read error: 104 (Connection reset by peer)).
09:17:34 -!- Leonidas has joined.
09:48:56 -!- oerjan has joined.
09:55:25 -!- ais523 has quit (Client Quit).
10:01:43 -!- oprz has joined.
10:02:26 <oprz> i was coding in +'s and .'s
10:03:08 <oerjan> well you can print fixed strings that way
10:03:35 <oerjan> well with wrapping cells
10:04:15 <oprz> i dont like brainfuck that much
10:04:33 <oprz> i like the PHP function used for parsing brainfuck code
10:05:09 <oerjan> but brainfuck is implemented in almost everything
10:05:40 <oprz> how do you mean
10:06:13 <oerjan> there are implementations in lots of languages.
10:06:51 <oerjan> it's so simple it's very easy to implement
10:07:04 <oprz> i think it is hard to implement
10:07:11 <oprz> but then again my brain is small
10:07:20 <oerjan> not compared to nearly any other languages
10:07:40 <oprz> whats the point of implementing another language into an existing language?
10:08:15 <oerjan> well you have to do it at least once to get the new language running at all :D
10:08:59 <oerjan> but most people do it as a programming exercise i think
10:09:35 <oerjan> we have a page on our wiki about esoteric languages implemented in each other
10:10:18 <oerjan> http://esoteric.voxelperfect.net/wiki/EsoInterpreters
10:14:30 <oprz> will look later got to go now
10:16:13 -!- oprz has left (?).
10:35:26 -!- puzzlet has quit (Remote closed the connection).
10:35:34 -!- puzzlet has joined.
10:57:19 -!- oerjan has quit ("Lost terminal").
11:13:06 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
11:13:14 -!- puzzlet has joined.
12:05:27 -!- Slereah2 has joined.
12:17:38 -!- Slereah has quit (Read error: 110 (Connection timed out)).
12:31:01 -!- ehird has joined.
12:44:37 -!- amca has quit ("Farewell").
12:47:12 <ski__> [] ([] a -> a) -> [] a
12:48:39 <ski__> .. but can you implement it ?
12:48:53 <ehird> Well, it's just [[a] -> a] -> [a].
12:49:11 <ehird> So, some fix magic there.
12:49:12 <ski__> well `[]' doesn't stand for "List", here
12:49:19 <ehird> ski__: What does it stand for?
12:49:30 <ski__> `[]' is supposed to look like the "box" character
12:49:43 <ski__> you can interpret `[]' as "Code", if you wish
12:50:34 <ski__> so, a value in `[] a' is an expression/code for a value in `a'
12:50:40 <ski__> consider things like
12:50:51 <ehird> Like (2+2) :: [] Integer?
12:51:00 <ehird> Or, well, you'd need a quoting char.
12:51:02 <ski__> no, `2+2' is an integer
12:51:04 <ehird> {2+2} :: [] Integer?
12:51:33 <ehird> Okay. so you pass it code that evaluates to a function that takes some code evaluating to type a and returns a value of type a.
12:51:42 <ehird> And it gives you some code evaluating to type a.
12:51:48 <ski__> (or `<2 + 2>' in MetaML .. i don't recall if MetaO'Caml had the same syntax there)
12:51:53 <ehird> {eval} works for the first argument.
12:52:04 <ehird> But what does it do?
12:52:27 <ski__> i'm trying to implement it to find out
12:52:38 <ski__> i have a proof of it in a book
12:52:55 <ski__> where `[]' is interpreted as "Provable"
12:52:58 <ehird> foo x = eval x $ foo x
12:53:23 <ski__> the proof i've seen seems quite remniscent of
12:53:44 <ehird> Is foo x = eval x $ foo x not a valid definition?
12:54:14 <ehird> ski__: foo x = eval x $ foo x
12:54:17 <ski__> (if you squint the right way)
12:54:28 <ehird> foo x = {eval x $ foo x}
12:55:45 <ski__> i think that might often hang
12:56:09 <ski__> (that definition is basically the `loebF :: Functor f => f (f a -> a) -> f a', i think)
12:56:20 <ehird> ski__: But, certainly it would.
12:56:24 <ehird> It still meets the type.
12:56:27 <ski__> yes, Loeb's theorem
12:56:59 <ski__> however, i think if one implements it correctly, it would never hang (on defined inputs)
12:57:19 <ski__> (the logic in the book is supposed to be a consistent one ..)
12:57:56 <ski__> (MizardX : never seen nestable quotes before ?)
12:58:40 <ski__> (ehird : another strange thing is that `[] a -> a' is not generally provable in the logic (it would lead to contradiction))
12:59:03 <ehird> ski__: `' style quotes are pretty ugly :-P
12:59:18 <ehird> ski__: ah, goedel-y stuff?
13:00:34 <ski__> if `[] a -> a' is a theorem, then `[] ([] a -> a)' is also a theorem, and by loeb's theorem `[] ([] a -> a) -> [] a', we could then deduce that `[] a' is a theorem ..
13:00:58 <ehird> Therefore, the universe does not exist.
13:01:27 <ski__> .. so if we want the logic to be consistent, and want `[]' to really mean "provable", then for any false `a' we'd better not have a proof of `[] a -> a'
13:01:48 -!- ais523 has joined.
13:02:02 <ais523> you win, but not by much
13:03:48 <ski__> (.. in any case, i'm trying to implement it in haskell .. by defining a data type `[]' .. but the quoting is not obvious how to handle)
13:04:06 <ehird> Defining a data type, [], might clash slightly :-P
13:04:12 <ais523> why is #esoteric getting so many new people nowadays?
13:04:17 <psygnisfive> ski__ is an AI build out of the ski combinatory calculus
13:04:20 <ais523> has esolanging accidentally become popular?
13:04:20 <ehird> ais523: I brought this one from #haskell <_<
13:04:22 <ski__> obviously i'm not calling it `[]' ! :)
13:04:46 <ehird> also, one of our newbies only came here by chance
13:04:53 * ski__ has visited here once or twice before ..
13:05:06 <ehird> hmm I think I may be mixing you up with someone else
13:05:16 <ais523> I'm worried that my INTERCAL evangelism may have gone too far...
13:05:38 <ehird> Grepping the logs for 'ski' is nontrivial
13:05:54 <ehird> 06.03.19:08:04:31 --- join: ski__ (n=slj@84-217-32-122.tn.glocalnet.net) joined #esoteric
13:06:23 <ehird> First occurance of "ski":
13:06:23 <ehird> 03.01.21:01:59:01 <fizzie> printed with a befunge prog or something? I recall seeing a sierpinski-triangle-printer once.
13:06:35 <ehird> (YY.MM.DD:HH:MM:SS, in case anyone didn't know)
13:07:29 <ais523> hmm... I keep hitting MichaelRaskin from #IRP
13:07:33 <fizzie> It was about one of dbc's printed-out ascii-art thingsies.
13:07:45 <ehird> The name Michael Raskin rings a bell.
13:07:53 <ehird> fizzie: wow, how can you remember that?
13:08:03 <fizzie> ehird: With the magic of 'grep'.
13:08:13 <fizzie> That is to say: I cheated.
13:09:21 <ais523> well, ski__ and me have never been in the same channel at the same time before
13:09:24 <ais523> at least not while I'm on this client
13:09:33 <ais523> but that's not surprising, 2006 was before I got this laptop
13:09:59 <ehird> ais523: You only came in here 200
13:10:07 <ehird> 07.01.15:09:15:34 --- join: ais523 (n=chatzill@chillingi.eee.bham.ac.uk) joined #esoteric
13:10:30 <ais523> ah, everyone loves CDE
13:10:37 <ais523> which is the desktop environment that old server was running
13:10:52 <ais523> via X forwarding to a terminal running on Windows
13:11:03 <ehird> You know, I think Windows would be preferable to that, ais523.
13:11:11 <ais523> ehird: it didn't have an IRC client
13:11:16 <ais523> and we weren't allowed to install executables
13:11:24 <ehird> Use a web-based one? :p
13:11:33 <ais523> besides, I did pretty much everything back then using xterm
13:11:40 <ais523> that way the desktop environment didn't really matter
13:11:45 <ais523> it's where I learnt the UNIX command line
13:14:41 <ehird> 09:45:05 <ais523> Yes, I'm enjoying esolangs. I enjoyed the logs, too, before I had access to an IRC client.
13:14:46 <ehird> you were a logreader before you ever came in
13:14:59 <ais523> they were linked from the wiki
13:15:17 <ais523> took me a while to find an IRC client
13:15:24 <ais523> without installing any software
13:15:28 <ais523> or knowing about netcat/telnet
13:15:52 <ehird> How did you install firefox?
13:16:11 <ehird> Bloatzilla, then, I assume
13:17:21 <ais523> it was a case of clicking on a irc:// link to see what happened
13:17:21 <ais523> and that was a really old version of Mozilla
13:17:21 <ais523> it did some really weird things
13:17:32 <ais523> (I blanked Talk:Main Page on Wikipedia by accident, once, for instance, and quite a lot of my edits introduced spurious line breaks. I stopped using Mozilla for Wikipedia when I noticed.)
13:21:46 * ehird complains about human bias on Talk:Main_Page
13:22:24 <ehird> It's a "featured article" full of bilge. This is one of the few really reprehensible things about Wikipedia: that we have so many brilliant articles but we filter them in such a manner that the most ridiculous crap is designated as the best we have. It's pretty horrible. If you're involved in this bilious process, stop. If you're not, stay away from it. Write about what need to be written about , edit the articles that need to be edited, and avoid the pr
13:22:35 <ehird> Can Wikipedia pick a FA that won't be complained about?
13:22:41 <ehird> Is it physically possible?
13:22:50 -!- Hiato has joined.
13:23:35 <ehird> [[ I'm left with the urge to ask if wikipedia got paid for running this commercial. ]]
13:23:39 <ehird> Nobody's EVER done that before!
13:23:59 <ais523> ehird: I think there have been some FAs that haven't been complained about
13:24:06 <ais523> although I can't think of one offhan
13:27:26 <ski__> (cut off at "... and avoid the pr")
13:29:04 <ehird> ski__: you got the gist
13:29:35 <ski__> was it a quote or something you actually wrote just above ?
13:32:34 <fizzie> Wikipedia, request for discussion about the "Nasal Sex → Sexual intercourse" redirect: "Delete. Why would anyone search for nasal sex?" "While I don't wish to speculate the reason why, it was seached for 70 times in novemeber 2008 and 100 times in october."
13:33:40 <ehird> http://en.wikipedia.org/wiki/Nasal_Sex
13:48:01 -!- Hiato has quit (Read error: 110 (Connection timed out)).
14:22:59 <ehird> I entered here first 17 days before ais523 did:
14:22:59 <ehird> 06.12.29:12:42:41 --- join: ehird (n=ehird@user-5440e204.wfd80a.dsl.pol.co.uk) joined #esoteric
14:23:04 <ehird> But I didn't say anything.
14:23:09 <ehird> I only returned in 2007.
14:23:18 <ehird> 2007-05-14, to be precise.
14:23:55 <ehird> 12:42:41 --- join: ehird (n=ehird@user-5440e204.wfd80a.dsl.pol.co.uk) joined #esoteric
14:23:58 <ehird> 12:43:09 --- part: ehird left #esoteric
14:24:00 <ehird> That's some epic shyness.
14:26:00 <ehird> I should get a PhD in #esoteric Log Analysis.
14:27:44 <oklofok> so, like, i was at this lecture just now
14:27:48 <oklofok> and, like, there was this dude
14:28:02 <oklofok> who was coding a function called parseDoubles in java
14:28:36 <oklofok> well correcting it for two hours, at the end of the lecture, the code was red with errors
14:28:48 <oklofok> err i was listening to the lecture and reading algebra
14:28:56 <oklofok> and watching him, silently lolling inside
14:29:16 <ais523> oklofok: "silently lolling" is a bit of an oxymoron...
14:29:28 <ehird> oklopol is an oxymoron
14:29:30 <oklofok> yeah, that was actually not intentional
14:29:32 <ehird> he breathes, and he's a moron
14:30:00 <ehird> hahahaha that's the funniest joke I've made all year
14:30:06 <oklofok> ais523: also "silently xxxing inside" is the opposite of oxymoron
14:30:11 <oklofok> there's a term for it too right?
14:30:19 <ais523> ehird: your jokes are even worse than AnMaster's
14:30:32 <ais523> oklofok: I'm not entirely sure if it's the opposite
14:30:38 <ehird> 14:30 < ais523> ehird: your jokes are even worse than AnMaster's
14:30:38 <ehird> 14:30 < AnMaster> ?
14:30:44 <ehird> AnMaster is physically incapable of looking up one line
14:31:04 <AnMaster> <ehird> oklopol is an oxymoron <-- I mean that one
14:31:05 <ais523> it looks like it's the same thing, a contradiction negated is still a contradiction...
14:31:14 <ais523> depending on what sort of negating you use
14:32:08 <oklofok> ais523: "silently lol", silently do something out loud, contradictory; "silently ... inside", to do something silently, and not do it out loud, a tautology
14:32:23 <ais523> oklofok: oh, silently...inside is a redundancy
14:32:48 <oklofok> yes, but i'm pretty sure there's another term for when you do it in english
14:33:14 <oklofok> but still, was just pointing out it was doubly weirdly put.
14:34:32 <ehird> * SimonRC worships B.S.
14:34:43 <ehird> Actually referring to Bjrane Stroustrup, but they're equivalent.
14:36:14 <oklofok> i agree with a lot of his writingz
14:36:18 <ehird> and thought it was good
14:36:33 <oklofok> yes, but he hates the parts that suck as much as everyone
14:36:52 <ehird> you mean like all of them?
14:37:55 <oklofok> i don't consider it a bad language, just too low-level for my taste
14:38:57 <oklofok> :: (- "asdasdfasdfasdf" "aaa")
14:39:07 <oklofok> :: (* "asdasdfasdfasdf" 6)
14:39:07 <oktabot> asdasdfasdfasdfasdasdfasdfasdfasdasdfasdfasdfasdasdfasdfasdfasdasdfasdfasdfasdasdfasdfasdf
14:55:10 * ehird writes alphabet look and say in thue
14:55:30 -!- asiekierk has joined.
14:55:43 <ais523> the final a got missed somewhere along the line, though
14:55:51 -!- asiekierk has changed nick to asiekierka.
14:55:55 <ais523> he's good at finding missing letters from nicks
14:56:22 <asiekierka> Just pulled it out and scanned it, so i could send it IRC-wise to my nickname
14:57:41 -!- asiekierka has changed nick to asiekierka[Cooki.
14:57:48 -!- asiekierka[Cooki has changed nick to asiekierkCooking.
14:58:02 <asiekierkCooking> Everyone that doesn't understand it please leave this chatroom
14:58:11 -!- asiekierkCooking has changed nick to asiekierka.
14:59:38 <ehird> I've been here all this time
14:59:43 -!- FireFly has joined.
15:02:26 <ehird> Keymaker redesigned his site, I notice.
15:02:43 <ehird> It's just a directory index now.
15:02:52 <ehird> [http://yiap.nfshost.com/index.php]
15:07:22 <ehird> wolframtones is a fun timewaster
15:08:22 <ais523> wait, Encyclopedia Britannica is becoming a wiki?
15:08:28 <ais523> is this an April Fool's joke, I wonder?
15:08:59 <ais523> http://www.smh.com.au/news/technology/biztech/battle-to-outgun-wikipedia-and-google/2009/01/22/1232471469973.html
15:09:19 <ehird> keyword: its online version
15:09:22 <ehird> Not the printed one, I assume.
15:09:28 <ais523> yes, although probably they'll backport changes
15:09:34 <ais523> besides, it's almost impossible to run a printed wiki
15:09:35 <ehird> "If I were to be the CEO of Google or the founders of Google I would be very [displeased] that the best search engine in the world continues to provide as a first link, Wikipedia," he said."Is this the best they can do? Is this the best that [their] algorithm can do?"
15:09:43 <ais523> all those crossings-out and tippex build up after a while
15:09:44 <ehird> Because Wikipedia is bad because I said so
15:09:50 <ais523> and you can't fit all that many people around the book
15:10:31 <ais523> Citizendium-style, it seems, they haven't gone /completely/ against type
15:11:50 <ehird> What would you call (x) from P'' in one uppercase letter?
15:12:38 <ais523> hmm... I know P'' but not its notation
15:12:41 <ais523> what does (x) do again?
15:13:52 <ehird> R ( R ) L ( r' ( L ( L ) ) r' L ) R r
15:13:56 <ehird> > [ > ] < [ − [ < [ < ] ] − < ] > +
15:14:10 <ais523> why do you need in one capital letter?
15:14:19 <ais523> given that it's inherently a two-different-places operation?
15:14:30 <ehird> P seems most logical to me, for parens.
15:14:56 <ais523> in Underlambda it is (or will be) w for while, but that's a lowercase letter
15:18:48 <ais523> ehird: it isn't properly specced yet
15:19:09 <ais523> I'm more interested in getting Underlambda right rather than having it ready quickly
15:21:10 <ais523> my other big new esolang project, besides Feather
15:22:42 -!- BeholdMyGlory has joined.
15:43:52 -!- KingOfKarlsruhe has joined.
15:55:26 <ehird> of course, no parsing, it's for a genetic algorithm
15:58:30 <ais523> it's the opposite of r
15:58:30 <ais523> r increments, r' decrements
15:58:41 <ais523> and you decrement by incrementing one less times than the max
15:59:19 <ais523> P'' has a max value of n-1
15:59:23 <ais523> n is normally set to 2, but can be set higher
15:59:29 <ais523> and it's a different lang for each value of n
15:59:42 <ehird> I was going by infinite ints
16:00:02 <ais523> ehird: as they can only be incremented, not decremented, bignum P'' would be kind-of pointless...
16:00:09 <ehird> I'll interpret P''_256
16:00:18 <ehird> actually, that's cheating
16:00:23 <oklofok> would it be entirely pointless?
16:00:25 <ais523> are you doing P'' because it's more mathematical-looking than BF?
16:00:33 <ais523> oklofok: ah, that's actually an interesting question
16:00:43 <ais523> I'm not at all sure now
16:00:44 <ehird> 16:00 < ais523> are you doing P'' because it's more mathematical-looking than BF?
16:00:47 <oklofok> i'm pretty sure yes, but i don't instantly see why it couldn't let you do at least something
16:00:47 <ehird> simpler to implement
16:00:57 <ehird> run' :: State -> P -> State
16:00:58 <ehird> run' (t,h) R = (t, h+1)
16:00:58 <ehird> run' (t,h) L = (t',h')
16:00:58 <ehird> where t' = gTake h t ++ [(t !!! h) + 1] ++ gDrop h t
16:00:58 <ehird> h' = if h == 0 then 0 else h - 1
16:01:01 <ehird> run' s (C p q) = run' (run' s p) q
16:01:05 <ehird> | (t !!! h) == 0 = (t,h)
16:01:07 <ehird> | otherwise = run' (run' (t,h) q) (P q)
16:01:08 <ais523> it would effectively be BF with a set-to-1 command rather than + and -
16:01:10 <ehird> 9-line P'' implementation
16:01:35 <ehird> (!!!) = genericIndex
16:01:45 <ehird> Integral a=>[b]->a->b
16:01:49 <ais523> ah, nth element of a list
16:01:49 <ehird> i'm sure you can figure it out.
16:01:55 -!- Hiato has joined.
16:01:57 <ehird> yes it's normally !!
16:01:59 <ehird> but that only takes Ints
16:02:01 <ehird> instead of Integers
16:02:13 <ehird> 16:02 < ehird> yes it's normally !!
16:02:15 <ehird> 16:02 < ehird> but that only takes Ints
16:02:15 <ehird> 16:02 < ehird> instead of Integers
16:02:15 <oklofok> ehird: it's essentially !!
16:02:17 <ehird> 16:02 < ehird> so finite tape
16:02:20 <ais523> why can't they just take anything of numeric type?
16:02:27 <ehird> ais523: because haskell has warts, too
16:02:35 <ais523> impossible, it should be fixed
16:02:46 <ehird> done, said, easier than
16:02:50 <ais523> indexing with floats is obviously silly
16:02:56 <ais523> when you're dealing with Haskell lists
16:03:01 <ais523> (less silly in other langs, it actually works in JS)
16:03:26 <ais523> oklofok: it has arrays
16:03:29 <ais523> but they're basically just hash tables
16:03:35 <ais523> you can put any junk you like in the subscript and it works
16:03:55 <oklofok> yeah, that was more of a statement.
16:04:00 <ais523> there's no actual reason but efficiency to differ arrays and hashmaps
16:04:00 <ehird> if by clever you mean slow and hacky.
16:04:03 <oklofok> oklotalk generalizes it much better
16:04:06 <ehird> ais523: yes there is
16:04:09 <ehird> arrays don't have gaps.
16:04:30 <ais523> ehird: that's just an arbitrary restriction
16:04:30 <ehird> also, it fucks up iteration.
16:04:38 <ais523> and iteration still works just as well
16:04:44 <ehird> ais523: allowing arrays not to be an elephant is also an arbitrary restriction
16:04:49 <ehird> but it's part of the definition of arrays.
16:04:51 <oklofok> ais523: yes, that's arbitrary, but there are also things that are not arbitrary
16:05:01 <oklofok> like all merging, inserting and deleting
16:05:16 <oklofok> the behavior simply has to be different
16:05:18 <ais523> we should generalise those operations to hashmaps too
16:05:24 <ais523> a delete-adjust action, for instance
16:05:29 <oklofok> in fact hashmaps and functions are closer together than lists and hashmaps
16:05:54 <ais523> lists are different from arrays, though
16:06:03 <ais523> in that lists aren't really designed to be indexed
16:06:12 <ais523> and can be accessed from the start much more easily than from the end
16:06:37 <oklofok> ais523: that's *much* more arbitrary than the distinction ehird mentioned.
16:07:05 <ais523> for instance, when you delete from an array, which way do the elements shift?
16:07:07 <ais523> for a list it's obvious
16:07:19 <ais523> but it's not obvious that they should go left not right in an array, because they're symmetrical
16:07:21 <ehird> 16:07 < ehird> the end
16:07:22 <ehird> 16:07 < ais523> but it's not obvious th
16:07:27 <ehird> Python calls its arrays lists.
16:07:29 <ehird> You are talking about LINKED lists
16:07:34 <ehird> Please be aware of the difference
16:07:35 <ais523> yes, and Lisp-like lists
16:07:42 <ehird> ... which are linked lists.
16:07:52 <ais523> they're more like binary trees than arrays
16:07:57 <ehird> "list" != "linked list"
16:08:12 <ais523> ehird: well, if you insist on defining a list as an array of course they're the same
16:08:17 <ais523> IMO, Python naming here is just confusing
16:08:18 <oklofok> list should be used for arrays without the arrayish properties
16:09:03 <ais523> oklofok: I think I agree
16:09:16 <oklofok> arrays have a strongly typed feel to them
16:09:31 <ais523> also, I think lists and ring buffers are pretty similar
16:09:35 <ais523> whereas arrays and ring buffers aren't
16:10:34 <ais523> you can imagine a list which somehow contains itself, at the end
16:10:44 <oklofok> this is more of a philosophy question of course, the terms aren't that standard
16:11:07 <ais523> I think the fundamental difference is that arrays are inherently linked to (positive/nonnegative) integers
16:11:09 <oklofok> well, they are standard in that many ppl have an opinion on what they obviously mean
16:11:10 <ais523> as a method of indexing
16:11:18 <oklofok> but those opinions don't always agree
16:11:21 <ais523> and deleting elements from an array isn't really an intuitive operation at all
16:11:26 <ais523> it doesn't fit arrays, really
16:11:27 <ehird> not linked lists though
16:11:29 <ais523> because it involves renumbering
16:11:38 <ais523> deleting from a list, though, does make sense
16:12:10 -!- Hiato has quit ("Leaving.").
16:13:21 <oklofok> i need to start doing an unspecified thing ~
16:14:56 -!- Hiato has joined.
16:16:09 -!- MigoMipo has joined.
16:34:54 <ehird> http://tech.mit.edu/V128/N64/squidvswhale.html
16:35:38 <ais523> does it answer 3 foxes vs. polar bear?
16:35:42 <ais523> I'll be wondering about that one for years, now
16:35:48 <ais523> and it would be inhumane to find out by experiment
16:35:55 <ais523> also, it's unlikely to happen in the wild...
16:36:05 <ehird> it's nothing to do with squids v whales
16:37:04 <ais523> unless a whale is a badly-configured web browser with no caching, and a squid is a sort of proxy, maybe?
16:37:27 <ehird> I think squid vs whale is the name of the column.
16:37:41 <ais523> I like my explanation bette
16:52:11 -!- KingOfKarlsruhe has quit (Remote closed the connection).
16:53:20 -!- Hiato has quit ("Leaving.").
17:04:03 <ehird> "In fact, although I have not tested Safari 3.1, I am relatively certain it will not render properly in any released browser. "
17:04:07 <ehird> -- http://annevankesteren.nl/2009/01/moving-the-goalposts
17:09:22 <ais523> ehird: someone tried to design a page that wouldn't render?
17:09:34 <ais523> apart from that SHORTTAGS one we had in here a while back?
17:09:39 <ehird> ais523: clicking the link helps
17:09:50 <ais523> yes, but I prefer to do my internetting over IRC and email
17:10:04 <ehird> then you don't get context, that's your loss
17:10:16 <ehird> or, I could pipe lynx -dump into here
17:14:36 -!- kar8nga has joined.
17:39:10 -!- Mony has joined.
17:42:21 -!- M0ny has joined.
18:00:40 -!- Mony has quit (Read error: 110 (Connection timed out)).
18:00:58 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
18:03:44 -!- comex has changed nick to retarded_monkey.
18:19:40 -!- FireFly has quit (Read error: 60 (Operation timed out)).
18:20:06 <ehird> Not notable enough to have a page. There are thousands of thousands books. A book must be very very notable to have a page(e.g. Bible, Quran, Dante's divine comedy etc etc).
18:20:12 <ehird> I wonder what this guy thinks of the Pokemon articles.
18:26:10 -!- BeholdMyGlory has quit (Read error: 145 (Connection timed out)).
18:26:18 -!- BeholdMyGlory has joined.
18:55:13 -!- BeholdMyGlory_ has joined.
18:55:30 -!- BeholdMyGlory has quit (Read error: 110 (Connection timed out)).
19:07:25 -!- olsner has joined.
19:07:47 -!- MigoMipo has quit (Read error: 60 (Operation timed out)).
19:12:36 -!- asiekierka has quit.
19:17:45 <fizzie> Why would he mind those? There are less Pokemons than books.
19:22:52 -!- Hiato has joined.
19:25:51 -!- Hiato has quit (Client Quit).
19:52:12 -!- BeholdMyGlory_ has quit (Read error: 110 (Connection timed out)).
19:53:01 -!- ehird has quit (Read error: 110 (Connection timed out)).
19:53:17 -!- Corun has joined.
20:07:36 -!- M0ny has quit ("Quit").
20:19:18 -!- jix has joined.
20:33:22 -!- oerjan has joined.
20:43:59 <oerjan> <ehird> he breathes, and he's a moron
20:44:19 <oerjan> erm wait he's not here
20:45:57 <Deewiant> enjoy the silence while it lasts
20:46:03 -!- kar8nga has quit (Read error: 145 (Connection timed out)).
20:46:46 -!- MigoMipo has joined.
20:46:59 <oerjan> the silence of the lambdas
20:47:13 -!- retarded_monkey has changed nick to comex.
20:47:35 * oerjan wasn't going to say that but his finger decided to miss the s
20:50:02 <oerjan> <ais523> maybe oerjan has it
20:50:16 <oerjan> unlikely, my dialect drops final vowels all over the place
20:50:59 <oerjan> some of which may or may not be a's
20:51:35 <oerjan> s/all over the place/in infinitives/, really
20:53:13 -!- MigoMipo has left (?).
20:59:30 <oerjan> wait ais523 is not here either?
21:01:51 <oklofok> no one's here, maybe you should leave too.
21:02:33 <oklofok> i agree it's sad, but hey, you can't tell a goat to be sacrificed.
21:03:05 <oerjan> don't say that, it's remarkable what science can do
21:05:06 <oerjan> oh well, at least they weren
21:06:14 <oklofok> YOU TOOK THE WHITESPACE OUT LOL
21:17:20 -!- BeholdMyGlory has joined.
21:20:46 -!- kar8nga has joined.
21:24:48 -!- ehird has joined.
21:24:55 <ehird> My fucking ISP is unable to maintain DNS servers
21:26:03 -!- FireFly has joined.
21:27:42 <AnMaster> ehird, maybe time to enable a local dns server then?
21:27:50 <ehird> I'm using opendns.
21:27:57 <ehird> Even though it sucks too.
21:28:09 <AnMaster> ehird, I use a local recursive resolver.
21:28:25 <ehird> Aren't you special.
21:28:27 <AnMaster> that bypasses isp, no idea why that works
21:28:46 <AnMaster> I mean, why use opendns, when setting it up to query directly works just as well
21:29:07 <AnMaster> (tcpdump indicates it query root servers directly sometimes)
21:29:28 <ehird> Time to set up custom DNS server, maintain it [even though i really fucking don't want to bother with that], and do all this without access to DNS: days, weeks, who knows.
21:29:37 <ehird> Time to stick in the OpenDNS ip: 20 seconds.
21:31:40 <AnMaster> ehird, emerge bind; emacs /etc/namedb/named.conf; /etc/init.d/named start
21:32:24 <ehird> "emacs /etc/namedb/named.conf"
21:32:35 <ehird> "kill yourself for wasting so much fucking time"
21:32:38 <ehird> and the process stops there.
21:35:13 <AnMaster> <ehird> "emerge bind" <-- genlop (a tool analyzing emerge.log) says average merge time was 7 minutes and 23 seconds for bind on my system
21:35:35 <AnMaster> ehird, also why in such a hurry?
21:37:02 <ehird> because I'd rather put in the OpenDNS IPs in 20 seconds than wait hours compiling and configuring BIND for ABSOLUTELY NO GAIN WHATSOEVER other than a weird form of nerd mental masturbation?
21:37:17 <ehird> also, good fucking luck installing + configuring bind without any DNS
21:37:31 <ehird> won't start? oh snap good luck finding out why!
21:38:45 -!- GreaseMonkey has joined.
21:39:09 <AnMaster> ehird, well, you could just use host to query root servers directly
21:39:20 <AnMaster> or you could use some existing dns server you have installed
21:39:31 <ehird> Yes, everyone has a DNS server installed.
21:39:45 <ehird> AnMaster: now WHY would I do this over putting in the opendns IPs until my ISP gets its act together?
21:39:49 <AnMaster> ehird, well since OS X is based on *BSD I would assume so. bind is part of FreeBSD base
21:39:56 <ehird> Wow, I'd be a few hours without annoying search pages on invalid resolves
21:40:08 <ehird> Except I'd have wasted many more hours getting it working. What fun.
21:40:25 <AnMaster> ehird, it takes less than 30 minutes for me to set it up
21:40:50 <AnMaster> also there is dns over irc while you set it up: asking friends (like me) to resolve the domain for you
21:40:52 <ehird> And it takes me less than 30 seconds to put the OpenDNS IPs in.
21:41:10 <ehird> "friends (like me)" hahahah. And I couldn't connect to freenode, duh.
21:41:19 <AnMaster> ehird, well if you don't want it, fine, however it is useful even during normal operation
21:41:34 <ehird> Yes, I daily wish I ran my own DNS server.
21:41:34 <AnMaster> faster dns since it caches more locally
21:42:06 <ehird> 12:44:06 <oerjan> EHIRD MUST DIE
21:42:06 <ehird> 12:44:19 <oerjan> erm wait he's not here
21:42:06 <ehird> 12:45:57 <Deewiant> enjoy the silence while it lasts
21:45:00 -!- pikhq has quit (Read error: 110 (Connection timed out)).
21:53:42 -!- Corun has quit ("Leaving").
22:00:46 -!- pikhq has joined.
22:11:36 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
22:15:11 <oerjan> ehird: yeseitedoesebuteitecouldebeeworse
22:17:39 -!- BeholdMyGlory has quit ("bye").
22:17:55 <Slereah2> http://images.encyclopediadramatica.com/images/d/de/Dancing_cats.gif
22:18:15 <ehird> I clicked and saw a cat but it was stationary.
22:18:19 <ehird> Can I have my money back?
22:18:45 <oerjan> many people would like cats on their stationary
22:19:15 <ehird> Slereah2: my browser hates you :(
22:19:29 * oerjan wonders if he is thinking of the right word
22:20:37 <oerjan> oh it's spelled stationery
22:25:55 -!- FireFly has quit ("Later").
22:50:21 <kerlo> In.Lojban,.you.can.use.dots.to.separate.words.
22:50:36 <kerlo> But--that--indicates--that--you--pronounce--it--like--this.
22:51:27 <oklofok> although i guess that's just "."
22:52:20 <kerlo> Well, it can affect the prosody of the preceding word.
22:52:52 <kerlo> "My.uncle,.Jack" and "My.uncle.Jack" are different.
22:55:54 -!- Max_D has joined.
23:03:52 <oklofok> kerlo: err maybe in english. not in lojban
23:03:56 <oklofok> not that i know what prosody is.
23:04:07 <oklofok> i'm assuming it's something that makes what i said true.
23:04:18 -!- olsner has quit ("Leaving").
23:05:11 <kerlo> Prosody is the part of speech that you can't express with a list of words.
23:06:59 <kerlo> That is a very good example of a sentence consisting virtually entirely of prosody.
23:08:37 <kerlo> Had that that had that had had that that had had that had that that had, I would have had that.
23:09:05 <kerlo> Now I will tell you the grammar of the above sentence for make benefit.
23:09:20 <oklofok> why would you ruin a good puzzle for us
23:09:35 <oerjan> because he's EVIL, duh
23:09:55 <oklofok> had that "that" had that "had had" that that "had had" had that that had, i would have had that
23:10:21 <oklofok> i'm not sure that actually helped you see what parsing i meant ;)
23:11:20 <oerjan> had that bad hat that that that had had that bat had that hat hat
23:11:41 <kerlo> <noun phrase> ::= that <verb phrase>; <noun phrase> ::= that that <verb phrase>; <verb phrase> ::= had <noun phrase>; <verb phrase> ::= had had <noun phrase>; <sentence> ::= had <noun phrase> <verb phrase>, I would have had that.
23:11:51 <kerlo> That's the grammar of the above sentence.
23:11:58 <kerlo> Unfortunately, it's still an ambiguous grammar.
23:12:26 <kerlo> Also, I'm wrong in that sentences of the form "I like that had had ice cream." aren't actually valid.
23:12:27 <oklofok> how bout you put some parens in
23:12:49 <kerlo> Okay, I'll put parentheses in according to my incorrect grammar.
23:12:54 <oerjan> what what that that what that that what that that what that what would that what?
23:13:32 <kerlo> (had (that that (had (that (had had (that that (had had (that (had (that that had)))))))))), I would have had that.
23:14:10 <kerlo> I don't really feel like coming up with a better grammar.
23:14:30 <oklofok> i don't understand how a sentence can have its own grammar
23:14:49 <kerlo> It can't; that's a really tiny segment of English grammar that's sufficient for this sentence.
23:15:25 <oklofok> that's valid... what's the language again
23:15:31 <oerjan> that that that that that that that that that that that refers to refers to refers to refers to nothing
23:22:14 -!- Max_D has quit.
23:24:11 <ehird> oklofok: should be intentional; isn't
23:25:23 <oerjan> should should be intentional isn't isn't intentional
23:27:16 <oklofok> ehird: wait actually, nm, there's no "+" instruction in the lang i'm thinking of. but, the structure looks the same
23:40:20 <ehird> http://seattletimes.nwsource.com/html/pacificnw/2008177548_pacificpendgame14.html
23:43:19 <ehird> he totally lost the game lol get it
00:09:15 -!- jix has quit (Read error: 60 (Operation timed out)).
00:11:11 -!- jix has joined.
00:13:44 -!- Corun has joined.
00:19:48 -!- Corun has quit ("Leaving").
00:39:02 -!- oerjan has quit ("Good night").
00:42:06 -!- CakeProphet has joined.
01:16:41 -!- Corun has joined.
01:59:13 -!- ehird has quit (Read error: 113 (No route to host)).
02:15:36 -!- Corun has quit ("Leaving").
02:15:49 -!- Corun has joined.
02:42:58 -!- boily has joined.
02:45:57 -!- gzou2000 has joined.
02:51:07 -!- gzou2000 has quit (Remote closed the connection).
03:00:58 -!- Corun has quit ("Leaving").
03:03:17 -!- boily has quit ("leaving").
03:41:20 -!- Corun has joined.
03:43:54 -!- Corun has quit (Client Quit).
06:22:41 -!- oktabot has quit (Read error: 110 (Connection timed out)).
06:23:36 -!- oklofok has quit (Connection timed out).
06:32:05 -!- Sgeo has joined.
07:10:06 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:38:38 -!- Sgeo has joined.
07:48:52 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:27 -!- Sgeo_ has joined.
08:16:17 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
08:30:12 -!- GreaseMonkey has quit ("Client Excited").
08:57:22 -!- bsmntbombgirl has quit (kornbluth.freenode.net irc.freenode.net).
08:57:22 -!- rodgort has quit (kornbluth.freenode.net irc.freenode.net).
08:57:22 -!- Leonidas has quit (kornbluth.freenode.net irc.freenode.net).
08:57:22 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
08:57:23 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net).
08:57:23 -!- jix has quit (kornbluth.freenode.net irc.freenode.net).
08:57:23 -!- Dewi has quit (kornbluth.freenode.net irc.freenode.net).
08:57:25 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
08:57:26 -!- AnMaster has quit (kornbluth.freenode.net irc.freenode.net).
08:57:26 -!- lament has quit (kornbluth.freenode.net irc.freenode.net).
08:57:27 -!- dbc has quit (kornbluth.freenode.net irc.freenode.net).
08:57:28 -!- comex has quit (kornbluth.freenode.net irc.freenode.net).
08:57:29 -!- MizardX has quit (kornbluth.freenode.net irc.freenode.net).
08:57:29 -!- adimit has quit (kornbluth.freenode.net irc.freenode.net).
08:57:30 -!- metazilla has quit (kornbluth.freenode.net irc.freenode.net).
08:57:30 -!- decipher_ has quit (kornbluth.freenode.net irc.freenode.net).
08:57:30 -!- kerlo has quit (kornbluth.freenode.net irc.freenode.net).
08:57:31 -!- Judofyr has quit (kornbluth.freenode.net irc.freenode.net).
08:57:31 -!- Sgeo_ has quit (kornbluth.freenode.net irc.freenode.net).
08:57:31 -!- Slereah2 has quit (kornbluth.freenode.net irc.freenode.net).
08:57:32 -!- sebbu2 has quit (kornbluth.freenode.net irc.freenode.net).
08:59:05 -!- Sgeo_ has joined.
08:59:05 -!- jix has joined.
08:59:05 -!- Slereah2 has joined.
08:59:05 -!- Leonidas has joined.
08:59:05 -!- bsmntbombgirl has joined.
08:59:05 -!- rodgort has joined.
08:59:05 -!- metazilla has joined.
08:59:05 -!- AnMaster has joined.
08:59:05 -!- mtve has joined.
08:59:05 -!- SimonRC has joined.
08:59:05 -!- lament has joined.
08:59:05 -!- dbc has joined.
08:59:05 -!- Dewi has joined.
08:59:05 -!- GregorR has joined.
08:59:05 -!- comex has joined.
08:59:05 -!- sebbu2 has joined.
08:59:05 -!- adimit has joined.
08:59:05 -!- Judofyr has joined.
08:59:05 -!- MizardX has joined.
08:59:05 -!- decipher_ has joined.
08:59:05 -!- kerlo has joined.
08:59:27 -!- Sgeo_ has quit ("Leaving").
09:51:53 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
09:52:04 -!- moozilla has joined.
09:53:59 -!- oerjan has joined.
10:18:07 -!- oerjan has quit (Read error: 104 (Connection reset by peer)).
10:18:58 -!- metazilla has joined.
10:19:07 -!- moozilla has quit (Nick collision from services.).
10:19:22 -!- moozilla has joined.
10:19:30 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
10:19:31 -!- moozilla has changed nick to metazilla.
10:24:02 -!- moozilla has joined.
10:24:03 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
10:24:11 -!- moozilla has changed nick to metazilla.
10:24:33 -!- moozilla has joined.
10:24:42 -!- metazilla has quit (Read error: 131 (Connection reset by peer)).
10:24:43 -!- moozilla has changed nick to metazilla.
10:26:02 -!- moozilla has joined.
10:26:02 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
10:26:11 -!- moozilla has changed nick to metazilla.
11:57:36 -!- Corun has joined.
12:01:21 -!- Corun has quit (Client Quit).
12:04:14 -!- CakeProphet has joined.
12:07:43 -!- sebbu has joined.
12:16:04 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
12:20:24 -!- moozilla has joined.
12:20:32 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
12:20:33 -!- moozilla has changed nick to metazilla.
12:25:32 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
12:25:38 -!- moozilla has joined.
12:26:15 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
12:26:17 -!- metazilla has joined.
13:18:40 -!- Azstal has joined.
13:26:40 -!- Hiato has joined.
13:32:48 -!- Hiato has quit ("Leaving.").
13:39:45 -!- ehird has joined.
13:41:38 <ehird> There was a user matching bsmnt_bot!n=bsmnt@eso-std.org repeatedly
13:41:39 <ehird> reconnecting so the host eso-std.org was banned. This was only in place
13:41:39 <ehird> for a short time and you should be able to connect now.
13:41:49 <ehird> bsmntbombgirl: fix bsmnt_bot so people can't make it disconnect
13:46:37 -!- Azstal has quit (".").
13:47:21 <MizardX> two scripts: one keeping the connection up, and binding input/output to stdin/stdout. The other handling the interaction trough stdin/stdout
13:47:46 <MizardX> that way you can quit the latter script, and let the first script reload it
13:51:42 -!- KingOfKarlsruhe has joined.
13:52:17 <MizardX> possible with subprocess.Popen
13:52:43 <ehird> MizardX: yes, but, that's a pretty big restructuring
13:52:45 <ehird> I guess I could do it
13:53:41 -!- ehird has quit ("Lost terminal").
13:53:44 -!- ehird_ has joined.
13:54:28 -!- ehird_ has changed nick to ehird.
14:01:25 -!- KingOfKarlsruhe has quit (Remote closed the connection).
14:06:49 -!- KingOfKarlsruhe has joined.
14:24:00 -!- KingOfKarlsruhe has quit (Remote closed the connection).
14:49:08 <ehird> http://userscripts.org/scripts/review/38736
15:15:50 <ehird> http://www.techcrunch.com/2009/01/23/google-puts-the-squeeze-on-free-apps/ <-- Meh, Google are cutting down the free Google Apps.
15:15:59 <ehird> 'sok, I don't mind paying a bit a year to avoid running a mail server.
15:17:23 -!- oklopoll has joined.
15:18:02 -!- oklopoll has changed nick to oklopol.
15:18:29 <oklopol> i can do what the fuck i want
15:18:35 <ehird> subject to some laws.
15:18:47 <ehird> well, ok, that's a MAY NOT, not a CAN NOT.
15:18:55 <ehird> but you can't break the laws of physics. i mean, probably.
15:19:29 <ehird> but, then, if you could break the laws of physics everyone would fuck up everything
15:19:34 <ehird> and you wouldn't be able to do what you want any more
15:20:03 <oklopol> but, the point is i'm free enough
15:20:08 <oklopol> and that's not even the best part
15:20:16 <oklopol> the best part is there's so much that's awesome i can do
15:20:43 <ehird> are you 20 yet? you being 20 would be weird
15:20:56 <ehird> i mean, i don't think you can be 20. physically impossibl
15:21:00 <ehird> I think it'll go like
15:21:31 <oklopol> actually more than a month, more like two months
15:22:56 <oklopol> you're correct in that i'm definitely not 20.
15:23:45 <ehird> oklopol will you get all boring when you get older :(
15:24:28 <ehird> oklopol: wait, _go_?
15:24:55 <oklopol> well yes, currently i'm only insane in the good way, for the most part.
15:25:59 <oklopol> i mean, i have weird opinions and i have weird ideas. but i'm able to talk to people, and i don't often yell during classes etc.
15:26:27 <ehird> oklopol being decent at social interaction is still an idea I haven't yet grasped
15:26:28 <oklopol> well, of course i'm not good at either of those, and i'm getting worse
15:26:59 <ehird> ooooooooooooofolololololo
15:27:06 <oklopol> ookookookookookookook!ook?ook.
15:27:12 <ehird> dude omg that turned out so perfectly in my client
15:27:13 <ehird> 15:27 <oklopol> ooooooooooooofololololo
15:27:13 <ehird> 15:27 <ehird> ooooooooooooofolololololo
15:27:17 <ehird> they freaking line up
15:27:36 <oklopol> there have been weirder instances of oko.
15:27:58 <oklopol> how's this sound, 6 hours of silence, then two guys simultaneously produce an oko of the same lenght?
15:28:21 <oklopol> i mean. without planning it.
15:32:37 -!- Hiato has joined.
15:33:30 -!- Hiato has quit (Client Quit).
16:20:33 -!- Hiato has joined.
16:22:48 -!- Hiato has quit (Client Quit).
16:58:20 -!- Judofyr_ has joined.
17:03:52 -!- Judofyr__ has joined.
17:04:53 -!- Judofyr_ has quit (Read error: 60 (Operation timed out)).
17:12:09 -!- Judofyr__ has changed nick to Judofyr_.
17:13:43 -!- FireFly has joined.
17:14:19 -!- Judofyr has quit (Read error: 110 (Connection timed out)).
17:14:29 -!- Judofyr_ has changed nick to Judofyr.
17:18:02 -!- Hiato has joined.
17:28:49 -!- Zetro_ has joined.
17:41:24 -!- Hiato has quit ("Leaving.").
17:46:01 -!- metazilla has left (?).
18:09:56 -!- BeholdMyGlory has joined.
18:11:23 -!- Zetro_ has quit (Read error: 104 (Connection reset by peer)).
18:56:39 -!- kar8nga has joined.
19:02:27 -!- Hiato has joined.
19:40:04 -!- oerjan has joined.
19:53:12 -!- Hiato1 has joined.
19:56:15 <oerjan> <ehird> MizardX: yes, but, that's a pretty big restructuring
19:56:39 <oerjan> um, isn't that just a slightly more primitive version of my suggestion to put bsmnt_bot on the bouncer?
19:57:33 <ehird> well, that would work
19:59:55 -!- Hiato has quit (Read error: 60 (Operation timed out)).
20:01:31 <oerjan> <oklopol> i mean, i have weird opinions and i have weird ideas. but i'm able to talk to people, and i don't often yell during classes etc.
20:01:45 <oerjan> you have many people in your classes that do? :D
20:03:09 -!- Mony has joined.
20:04:06 <Slereah2> http://images.encyclopediadramatica.com/images/d/de/Dancing_cats.gif
20:08:04 -!- oerjan_ has joined.
20:08:12 -!- oerjan_ has quit (Client Quit).
20:08:26 -!- oerjan has quit (Remote closed the connection).
20:08:37 <ehird> that's why you embed it in another process that handles the irc, duh :P
20:08:41 -!- oerjan has joined.
20:10:48 -!- oerjan has quit (Remote closed the connection).
20:13:16 <oklopol> oerjan: no, i'm the worst in that area.
20:22:23 -!- Hiato1 has quit ("Leaving.").
20:28:22 <psygnisfive> seriously, who the fuck makes plays like that
20:29:45 <oklopol> so, hopefully someone, looks fun.
20:30:27 <Slereah2> psygnisfive : The dancing cats are awesome
20:30:58 <psygnisfive> and dancing_cats.gif is not the same as that play
20:31:11 <psygnisfive> that PLAY was undoubtedly created by some crazy cat lady
20:33:46 <psygnisfive> clearly slereah thinks that dancing_cats.gif is just some little animation someone made of dancing cats
20:34:09 <oklopol> and clearly you think it's not
20:34:11 <psygnisfive> what he fails to realize is that dancing_cats.gif is an animation someone made from video of an actual theatre play
20:35:37 <oklopol> i know you're unable to understand it when people stretch language when they stretch it in ways that look like they might be due to failure.
20:35:46 <oklopol> i've learned not to give a shit
20:36:02 <oklopol> anyway plz link play or didn't happen
20:36:25 <psygnisfive> the pattern is, in general, that the second repetition drops the first consonant and replaces it with schm
20:36:54 <psygnisfive> it doesnt distribute across every word in the reduplicated phrase.
20:37:02 <oklopol> i know, that was the stretch
20:37:31 <oklopol> but you assumed i have somehow managed not to get how it works
20:37:45 <oklopol> because it's a fucking substitution
20:40:50 <oklopol> tastes good, feels good and also is a palindrome!
20:42:02 <oklopol> english is so trivial to make palindromes in
20:42:07 <oklopol> i mean everything means something
20:42:53 <oklopol> even a retard can make a palindrome!
20:43:47 <oklopol> irc is full of such interesting people
20:43:52 <oklopol> why don't i know any lunatics irl
20:43:58 <psygnisfive> apparently theres at least ONE person on the internet
20:44:01 <oklopol> i mean, the kind of lunatics that are insane
20:44:40 <oklopol> there's this other finnish guy, who's nick is oklopol
20:44:54 <psygnisfive> he's your evil twin from the parallel universe
20:47:00 <psygnisfive> i think someone should make a more realistic guy fawkes mask
20:47:29 <Slereah2> I only buy the Epic Fail GUy mask myself.
20:48:35 <psygnisfive> theres such irony in V for Vendetta using guy fawkes as its iconic inspiration
20:49:33 <Slereah2> He was sort of an icon for 19th century anarchists
20:49:56 <Slereah2> Well, mostly as a joke I think
20:50:00 <psygnisfive> since he was trying to blow up parliament so he could institute a catholic theocracy of sorts
20:50:12 <Slereah2> They had this all "The only man to enter parliament with good intentions"
20:50:25 <psygnisfive> maybe V is supposed to have chosen it in self deprecating irony
20:50:34 <Slereah2> Back then, anarchists were mostly about blowing stuff up
20:55:36 <lament> Would you perform oral sex on a woman?
20:57:45 <bsmntbombgirl> what is the that ehird is spouting about priviledge seperation
21:01:18 <psygnisfive> lament: do you mean would I perform oral sex on a woman, or a person with a vagina? there's a difference, at least in that some women are transwomen and therefore have penises, while some men are transmen and therefore have vaginas.
21:01:23 <bsmntbombgirl> ehird: user code is already executed in a different thread, so it should be too hard to make it into a different proccess. you have my permission, go
21:01:41 <bsmntbombgirl> psygnisfive: i don't think the state of vaginoplasy is good these days
21:03:05 <lament> psygnisfive: i'm confused by your terminology.
21:03:19 <lament> I'm using "woman" in the sense people normally use the word.
21:03:27 <oklopol> psygnisfive: that it's such a deformed vagina you could just as well think of it as just a retarded penis, and therefore be able to perform on it, i presume
21:03:38 <psygnisfive> lament: but the people i know use it to mean biofemales and transwomen!
21:04:25 <psygnisfive> lament: http://i30.tinypic.com/2qdxv7r.jpg is this a woman in your definition?
21:04:33 <lament> i don't think i want to open that
21:05:07 <Slereah2> psygnisfive : That looks like a faggot
21:06:33 <lament> i haven't opened the image, but judging by the fact that everybody says "he", he must be a man?
21:06:49 <psygnisfive> well take a look at the image and tell me what you think
21:07:04 <lament> why should i? everybody agrees it's a man
21:07:09 <lament> i'll follow the consensus
21:07:27 <psygnisfive> ok then, so you mean women to mean ciswomen and transwomen
21:07:33 <Slereah2> Since psygnisfive beats off to trannies
21:07:54 <psygnisfive> that boy is infact a transboy, yes slereah. but i think he'd punch you if you said he's a woman :P
21:08:52 <Slereah2> http://cgi.4chan.org/r/src/1232744300603.jpg
21:09:52 <Slereah2> http://community.livejournal.com/wtf_omgz/2552900.html
21:13:35 <adimit> "cellulite in cellophane", yeah. BTW, female, pretty sure.
22:00:26 -!- CakeProphet has quit ("lol").
22:14:54 <ehird> bsmntbombgirl: I'll patch ircbot.py, then.
22:19:46 <ehird> ok, ircbot.py patched, now for runloop.py
22:26:59 <ehird> class StdoutChildSafetyWrapperForYourProtection:
22:27:00 <ehird> def write(self, a):
22:27:01 <ehird> if a.startswith('QUIT'):
22:27:03 <ehird> raise MmmNopeIDontThinkIllLetYouDoThatThankYou
22:27:35 <ehird> taking half-assed code to a whole new level
22:27:43 <ehird> also, had a sex change recently bsmntbombgirl?
22:28:53 <ehird> once per every 2 seconds? makes sense
22:29:35 <ehird> unfortunately, it's breakable
22:29:39 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
22:29:49 <ehird> sys.stdout._StdoutChildSafetyWrapperForYourProtection__original_stdout
22:29:54 <oklopol> bsmntbombgirl actually doesn't think the state of vaginoplacy is good these days.
22:32:17 <ehird> bsmntbombgirl: let's see if that works
22:32:34 <ehird> i don't think there's a way to actually get totally secret data in python bsmntbombgirl
22:32:45 <ehird> I could rate limit in the wrapper script.
22:32:50 <ehird> why did i not think of that?
22:32:52 <ehird> is it because I am stupid? yes
22:33:13 <bsmntbombgirl> the child communicates with the parent via a socket pair, right?
22:34:08 <bsmntbombgirl> sys.stdout.write = lamba x:parent_socket.write("PLEASE_WRITE_THIS_DATA_TO_IRC %s" % x)
22:34:29 <ehird> well, yeah, exactly
22:34:33 <ehird> that's wha ti'm doing
22:35:01 <bsmntbombgirl> i think bsmnt_bot needs to be split up a little more
22:35:23 <oklopol> you're still developerizing it?
22:36:10 <bsmntbombgirl> ok i'm going to my shitty local library to see if they have a book
22:37:06 <oklopol> did you know Communication is the most critical and time-consuming activity in software engineering?
22:37:38 <ehird> here gooooooooooooooooooooooooes, bsmntbombgirl
22:38:19 <ehird> Traceback (most recent call last):
22:38:19 <ehird> File "/bot/runloop.py", line 3, in ?
22:38:23 <ehird> ImportError: No module named queue
22:38:51 <oklopol> hey you know what i realized to today for the seven hundredth time
22:39:10 <oklopol> that deque is kindof a pun for *deck*
22:39:25 <oklopol> i mean that's just so clever
22:40:05 <oklopol> i mean two perfectly logical derivations that lead to the same term
22:40:33 <oklopol> rationale is the justification of decisions
22:42:37 <ehird> okay, mr bot, just waddle in here
22:43:20 <ehird> Traceback (most recent call last):
22:43:20 <ehird> File "/bot/ircbot.py", line 381, in ?
22:43:23 <ehird> File "/bot/ircbot.py", line 107, in listen
22:43:25 <ehird> line = raw_input()
22:43:27 <ehird> EOFError: EOF when reading a line
22:43:29 <ehird> additionally, dear bot
22:58:55 -!- Sgeo has joined.
23:10:42 -!- BeholdMyGlory has quit ("bye").
23:11:47 -!- Mony has quit ("bye").
23:22:52 -!- Corun has joined.
23:30:13 -!- bsmnt_bot has joined.
23:30:15 -!- bsmnt_bot has quit (Read error: 131 (Connection reset by peer)).
23:47:02 -!- FireFly has quit ("Later").
23:55:46 -!- Sgeo_ has joined.
23:58:36 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
00:04:36 <ehird> so guys how is backwards land
00:05:01 <ehird> wait did that not reverse properly
00:07:27 <oklopol> reminds me of that xkcd comic
00:07:42 <oklopol> where the text was mirrored and upside down or something
00:07:51 <oklopol> and it says "wanna annoy the hell out of our readers"
00:07:56 <oklopol> and i'm like what the fuck is the joke
00:08:29 <oklopol> psygnisfive: well supposedly some people can't read mirrored text :|
00:09:37 <psygnisfive> the hello world program, and a (slightly restricted) cat program, are easily some of the simplest programs in my wip language :O
00:09:39 <ehird> so gentlemen, how are you today? Are you enjoying the amazing thing known as backwards?
00:10:16 <ehird> then type between the arrows
00:10:19 <ehird> then deplete arrows.
00:10:29 <ehird> --> so easy a green could do it<--
00:11:07 -!- jix_ has joined.
00:11:17 <ehird> no, I used black magic
00:11:35 <ehird> also, green magic.
00:11:47 <psygnisfive> green magic is the magic of environmentalists
00:11:51 <ehird> also, purple magic.
00:12:03 <psygnisfive> they use all natural biodegradable materials to cast spells
00:23:25 -!- jix has quit (Read error: 110 (Connection timed out)).
00:35:03 -!- jix_ has quit ("...").
00:51:17 -!- oklopol has quit (Connection timed out).
01:06:02 -!- GreaseMonkey has joined.
01:07:30 -!- Corun has changed nick to MateyHuber.
01:14:37 <psygnisfive> so one of my professors is in a russian music video...
01:25:17 -!- MateyHuber has changed nick to Corun.
03:35:15 -!- Corun has quit ("This computer has gone to sleep").
06:02:08 -!- Sgeo_ has quit ("Leaving").
06:12:33 -!- Dewio has joined.
06:25:27 -!- Dewi has quit (Read error: 101 (Network is unreachable)).
07:36:42 -!- Dewio has changed nick to Dewi.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:55 -!- Mony has joined.
09:20:34 -!- GreaseMonkey has quit ("Client Excited").
09:30:23 -!- asiekierka has joined.
09:30:54 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say.
09:31:50 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz.
09:33:25 <Mony> h) the letter h
09:35:02 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz h) the letter h.
09:35:25 -!- Slereah2 has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz h) the letter h j) there is no i.
09:37:07 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz h) the letter h j) there is no eye.
09:38:00 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz h) the letter h j) there is no eye z) Let's skip to ASCII char 42, shall we? :D.
09:38:15 <Mony> can you tell me something about the esoteric comics ?
09:39:00 -!- Slereah2 has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) #esoteric comics to be made soon; watch what you say g) bring back the bots plz h) the letter h j) there is no eye z) Let's skip to ASCII char 42, shall we? :D {) beep boop.
09:43:07 <asiekierka> http://www.stripcreator.com/comics/asiekierka/453254
09:44:48 -!- Corun has joined.
09:45:00 <Mony> tiens, un sélérat ! :o
09:51:07 <Mony> it's a french word, Slereah and scélérat sound like the same words
09:51:29 <Mony> scélérat = wicked
09:53:49 -!- Slereah has joined.
09:54:02 <Mony> slereah came back
09:54:24 <Mony> asiekierka, maybe you can make the comic from scratch
09:59:00 <Mony> wait, i don't understand that word
09:59:46 <asiekierka> http://asiekierka.boot-land.net/screebles/img/comic/28.JPG
10:00:02 <asiekierka> http://asiekierka.boot-land.net/screebles/img/comic/32.JPG
10:00:08 <Mony> you can keep on using stripcreator, and when the comic book is ended, you can modify it with paint or what you want
10:00:25 <asiekierka> nope, it'll be also crapfestic quality
10:00:29 <asiekierka> http://asiekierka.boot-land.net/screebles/img/comic/25.JPG
10:00:40 <asiekierka> http://asiekierka.boot-land.net/screebles/img/comic/23.JPG
10:03:16 <Mony> stripcreator seems to be good, but i don't like so much the characters' faces
10:03:54 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
10:06:00 <asiekierka> Mony: Ok, but do you prefer my Screebles, then?
10:07:35 <Mony> I don't know, the Screebles (28 and 32) have something dirty (except the 25 and 23, there're good :))
10:08:55 <asiekierka> i must reproduce it, make it a vector image and use it
10:12:28 <Mony> I ever wanted to make my own comic or cartoon
10:12:48 <asiekierka> get a scanner, get a pen and let your imagination fly!
10:13:11 <Mony> something like 8bit NES game, with bigs pixels and chiptune music
10:15:53 <Mony> maybe i can make moving the sprite, scroll the background, etc
10:16:21 <Mony> it can be pretty cool
10:17:15 <Mony> yeah, i used to make some flash animations
10:17:44 -!- oklopol has joined.
10:20:08 <asiekierka> and there will be both b&w and color versions
10:40:46 -!- Hiato has joined.
10:52:31 -!- Corun has quit ("This computer has gone to sleep").
10:55:03 -!- Hiato has quit ("Leaving.").
10:55:44 -!- Hiato has joined.
10:56:13 <asiekierka> http://asiekierka.boot-land.net/aa1_template_color.PNG
10:56:50 -!- Hiato has quit (Client Quit).
10:57:09 -!- Hiato has joined.
11:02:04 -!- asiekierka has quit.
11:30:01 -!- FireFly has joined.
11:34:25 -!- Corun has joined.
11:51:07 -!- Mony has quit ("reboot").
11:56:24 -!- Mony has joined.
12:17:36 -!- MigoMipo has joined.
12:25:58 -!- FireyFly has joined.
12:26:07 -!- FireFly has quit (Nick collision from services.).
12:26:12 -!- FireyFly has changed nick to FireFly.
12:48:12 -!- FireFly has quit (Read error: 104 (Connection reset by peer)).
12:50:27 -!- FireFly has joined.
12:58:22 -!- MigoMipo has quit ("http://www.mibbit.com ajax IRC Client").
13:11:42 -!- Hiato has quit (Read error: 104 (Connection reset by peer)).
13:12:15 -!- Hiato has joined.
13:15:57 -!- Hiato has quit (Client Quit).
13:36:34 -!- kar8nga has joined.
14:14:04 -!- BeholdMyGlory has joined.
14:27:20 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
14:32:37 <ehird> oh jesus, fucking asiekierka fucked with the topic again
14:32:48 <ehird> has he figured out that it's irritating yet
14:33:21 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
14:34:53 -!- Hiato has joined.
14:35:22 <ehird> <asiekierka> don't use it except if i allow you
14:35:32 <ehird> Does this count as a formal licensing, or can I use it blatantly?
14:35:39 <ehird> I think the latter.
14:37:15 -!- KingOfKarlsruhe has joined.
14:45:33 -!- Hiato has quit ("Leaving.").
14:59:01 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:05:18 -!- Corun has quit ("This computer has gone to sleep").
15:09:28 -!- olsner has joined.
15:32:15 <comex> I don't think you have enough coins to buy 50 VP...
15:32:42 <comex> sorry, wrong channel
15:45:15 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
15:45:20 -!- puzzlet has joined.
16:43:07 <psygnisfive> i think i know how im going to add types to my language :o
16:43:19 <psygnisfive> ehird! you once said you wished haskell had first class types, or something. what did you mean?
16:43:35 -!- BeholdMyGlory has quit ("bye").
16:43:41 <ehird> type language = code language, turing complete compilation (has its downsides ... like non-terminating compilations ... )
16:43:47 <ehird> e.g. you can strongly type printf
16:44:20 <psygnisfive> can you give me a more detailed example? im not sure what a dependent type would be
16:44:43 <psygnisfive> also, doesnt C++ or something have require TC compilation due to its type system? x.x
16:44:44 <ehird> dependent types is just the theoretical term
16:44:48 <ehird> psygnisfive: here's a concrete example
16:45:13 <ehird> psygnisfive: http://www.cs.chalmers.se/~augustss/cayenne/examples.html Scroll to the vey bottom
16:45:21 <ehird> that's a strongly typed printf
16:45:31 <ehird> you can probably get the gist of how it fits in with what i've said
16:47:41 <ehird> basically, it's calling a function in the type system there
16:47:50 <ehird> which varies printf's type depending on what string you feed it
16:48:04 <ehird> (yes, it breaks down if you e.g. feed it user input, you have to offer proofs that its' gonna be a certain type then)
16:51:20 <ehird> does it make sense to you? :P
17:16:25 -!- asiekierka has joined.
17:16:35 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) fake.
17:17:02 <ehird> Oh noes, offensive words
17:17:29 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:17:49 <oklopol> oh my god is there something offensive on irc
17:17:58 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) stfu ehird.
17:18:08 <ehird> asiekierka telling me to stfu?
17:18:25 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:18:25 <oklopol> gay sex... oh dear god i can't take it anymore
17:18:27 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
17:18:59 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) stands for "freak".
17:19:08 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:19:11 -!- Slereah has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) stands for "freak" g) THE GAME.
17:19:12 <ehird> I can do this all day.
17:19:13 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:19:22 -!- Slereah has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally. g) THE GAME.
17:19:27 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:19:35 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) asiekierka is an idiot that sucks so much he doesn't even deserve being in the freaking topic g) THE GAME i) there is no h.
17:19:42 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:19:54 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) asiekierka is an idiot that sucks so much he doesn't even deserve being in the freaking topic g) THE GAME i) there is no h.
17:20:07 <ehird> asiekierka: You know, most who hate themselves that much just cut themselves.
17:20:19 <ehird> That would be a lot less annoying for me, to boot.
17:20:21 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:20:42 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) ehird is a super-lame super-bad idiot that sucks so much he doesn't even deserve being in the freaking topic g) THE GAME i) there is no h.
17:20:59 <ehird> I think I'll make bsmnt_bot set the topic for me.
17:21:00 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:21:03 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) ehird is a super-lame super-bad idiot that sucks so much he doesn't even deserve editing this freaking topic g) THE GAME i) there is no h.
17:21:10 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:21:27 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) ehird is a super-lame super-bad idiot that sucks so much he doesn't even deserve editing this freaking topic g) nor does bsmnt_bot h) THE GAME j) there is no i.
17:21:38 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:21:49 -!- asiekierka has set topic: a) oko; b) the swatter; c) no messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) ehird is a super-lame super-bad idiot that sucks so much he doesn't even deserve editing this freaking topic g) nor does bsmnt_bot h) THE GAME j) there is no i.
17:21:56 <ehird> Remember when asiekierka did anything interesting esolang-related? No, me neither.
17:21:57 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:22:08 -!- asiekierka has set topic.
17:22:12 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:22:18 -!- asiekierka has set topic: ehird sux.
17:22:22 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:22:37 -!- asiekierka has set topic: all your topic are belong to asiekierka.
17:22:40 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:22:58 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) g. occasionally..
17:23:09 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:23:15 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) x. occasionally..
17:23:21 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:23:29 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gxscc for the wi9n.
17:23:40 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:23:49 -!- asiekierka has set topic: 3.14.
17:24:07 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:24:14 <ehird> Hey, remember when asiekierka spammed?
17:24:30 -!- asiekierka has set topic: What about we leave the topic alone now and be friends? ...please?.
17:24:48 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:24:53 <ehird> We can leave the topic alone now.
17:24:53 -!- asiekierka has set topic: I said something!.
17:25:05 <ehird> Oh, you're breaking your own truce.
17:25:08 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:25:23 -!- asiekierka has set topic: What about we leave the topic alone AT THIS POINT WITHOUT EVER EDITING IT and be friends? ...please?.
17:25:37 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:25:40 -!- Slereah has set topic: http://tunes.org/~nef/logs/esoteric.
17:26:20 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:29:57 -!- asiekierka has set topic: What about we leave the topic alone AT THIS POINT WITHOUT EVER EDITING IT and be friends? ...please? Please? Anyone who edits this topic is an idiot..
17:30:03 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:34:12 -!- asiekierka has set topic: please stop. now..
17:34:22 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:34:28 <ehird> How about you? You changed it initially.
17:34:43 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) *** ***. occasionally..
17:34:52 <ehird> How about you? You changed it initially.
17:34:53 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:35:06 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) ehi rd!. occasionally..
17:35:09 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:35:19 -!- asiekierka has set topic: CoinTalesQ.
17:35:28 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:35:43 -!- Mony has set topic: STOP PLAYING WITH THE TOPIC !! è_é.
17:35:47 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:35:51 -!- asiekierka has set topic: ,[.,] input:"ehird sucks".
17:35:55 <ehird> Mony: asiekierka is messing with it, i am setting it back.
17:35:56 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:36:00 <ehird> he'll get tired eventually.
17:36:17 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) you want my father to see that?.
17:36:24 <ehird> Tch. If only you weren't so annoying all the time I might have some sympathy.
17:36:55 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
17:36:56 -!- asiekierka has left (?).
17:37:03 -!- asiekierka has joined.
17:37:11 <ehird> Bye. Oh wait, you're bacj
17:37:31 -!- asiekierka has left (?).
17:37:51 -!- asiekierka has joined.
17:38:08 <ehird> Your "leaving FOREVER"s are remarkably short.
17:44:02 -!- CakeProphet has joined.
17:55:20 -!- kar8nga has joined.
18:24:43 -!- puzzlet has quit (Remote closed the connection).
18:24:51 -!- puzzlet has joined.
18:34:23 -!- asiekierka has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game;.
18:34:24 -!- asiekierka has left (?).
18:37:11 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally..
18:40:07 <ehird> "I used to be a KDE user. I thought KDE 4.0 was such a disaster I switched to GNOME"
18:47:04 -!- Slereah2 has joined.
18:58:39 -!- Slereah has quit (Read error: 110 (Connection timed out)).
18:58:55 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
19:04:16 -!- puzzlet has quit (Remote closed the connection).
19:04:24 -!- puzzlet has joined.
19:05:11 -!- Corun has joined.
19:22:01 -!- oklopol has joined.
19:27:17 <oklopol> ehird: i remember more of asiekierka's esolang related stuff than yours, but, umm, maybe it's just my memory :P
19:27:34 <ehird> i said interesting
19:32:31 <oklopol> lifthrasiir: do you like pudding?
19:36:43 -!- puzzlet has quit (Remote closed the connection).
19:36:50 -!- puzzlet has joined.
19:40:56 <ehird> "What's ironic got to do with Alanis Morisette?!:
19:43:23 <Slereah2> It's sort of like rain on your wedding day.
19:44:16 -!- BeholdMyGlory has joined.
19:51:32 -!- Mony has quit ("Quit").
19:54:10 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
19:57:45 -!- psygnisf_ has joined.
19:57:45 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)).
19:59:58 -!- puzzlet has quit (Remote closed the connection).
20:00:05 -!- puzzlet has joined.
20:06:53 -!- Corun has quit ("This computer has gone to sleep").
20:08:47 -!- Corun has joined.
20:10:12 -!- MigoMipo has joined.
20:54:44 -!- ktne has joined.
20:54:56 <ktne> can i ask some language design questions here?
20:55:13 <ktne> i'm designing my own language and i have some issues to solve
21:31:02 <Ilari> ktne: Well, if the language is esoteric... :->
21:31:19 <ktne> well my main issue is performance
21:31:29 <ktne> i would like a prototype based language
21:31:36 <ktne> but with C-like performance
21:31:43 <ktne> and i was wondering how that could be done
21:32:24 <Ilari> ktne: Well, usually esoteric languages don't care about performance...
21:32:26 <ktne> i was wondering if a Seal method on objects, this would block all further structure changes, if that would be fine
21:32:46 <ktne> that way the structure could be guaranteed and optimizations done
21:34:35 <ktne> well my language is not that esoteric
21:34:45 <ktne> other than i plan each statement to be in a custom micro-language
21:35:02 <ktne> one would be a raw lisp form-like
21:35:09 <ktne> other formats could be made available
21:36:44 <ktne> { statement;statement;statement}
21:37:04 <ktne> each statement could be in a different micro language, such as SQL-like, LISP-like, etc
21:37:36 <ktne> there would be a number of such microlanguages, optimized for common usages
21:37:50 <ktne> like reges text processing and such
21:41:19 -!- BeholdMyGlory has quit ("bye").
21:41:57 <Ilari> ktne: Regexes with nondeterminate backreference operator (match anything that subexpression could match)? That can be defined to work in case where those backrefs refer to subexpression those are in... :->
21:43:25 <Ilari> ktne: With that sort of extension, stuff like E-mail address syntax becomes expressable.
21:45:25 <Ilari> ktne: Example: '(|\(<1>\)|<1><1>)'. There is no equivalent regular expression with only standard operators (Kleene closure, alternatives and concatenation)...
21:45:58 <ktne> well i was thinking about customizable regex character classes
21:46:24 <ktne> for example you could have class 'c' that would match against any object that implements let's say interface Car
21:46:36 <ktne> then you could match all Car objects in a collection
21:47:47 <ktne> therefore text matching would be just a subset of all possible uses, the cases where an object matches if it's a Char with a specific value
21:48:05 <ktne> i'm not sure if i put it in a clear way :)
21:48:11 <Ilari> ktne: Matching on sequence of values?
21:48:32 <ktne> matching against any stream of objects
21:48:42 <ktne> and text would be a subcase
21:49:05 <ehird> ktne: so what brings ya here
21:49:07 <ktne> for example matching against an XML parse tree
21:49:39 <Ilari> ktne: Don't you need something more powerful than regexps there?
21:50:08 <ktne> Ilari: well, it depends on how you define your custom classes
21:50:42 <ktne> also the tree would have to be flattened in a stream first obviously, maybe using a custom tree walking algorithm
21:50:43 <Ilari> ktne: Well, with that sort of backreference operator as I shown, it should be powerful enough...
21:51:22 <ktne> well you could implement any sort of operator i guess
21:51:42 <ktne> since the whole regex engine could be programmed
21:52:04 <Ilari> The challenge is to choose operators that are powerful but don't seriously blow up the execution time in common cases...
21:52:07 <ehird> soooooooooooooooooooooooooo
21:52:09 <ehird> what brought you here
21:52:13 <ktne> ehird: but my questions are related mainly to performance :)
21:52:27 <ehird> okay. Well that's sort of esoteric
21:52:32 <ktne> how to achieve C-like performance in a language without classes
21:52:53 * ehird 's pet in-head project for a while has been to make a scheme implementation that's competitive with C
21:53:08 <ktne> but is that possible?
21:53:10 <ehird> which you could probably build a prototype OO system on top of without too much overhead
21:53:17 <ktne> at least i'm willing to accept language limitation
21:53:28 <ktne> i'm not sure if scheme has the right semantics to allow that
21:53:38 <ehird> SBCL--a common lisp compiler--is competitive with C, iirc, but of course CL is far less lenient than Scheme
21:53:44 <ehird> you can't redefine + in CL... :-)
21:53:55 <ehird> i think it boils down to having really efficient function calls
21:53:56 <ktne> ehird: no overhead means for me c++-like performance
21:54:14 <ehird> why so interested in performance, anyhoo?
21:54:16 <ktne> yes but how do you dispatch them if the object structure is dynamic
21:54:22 <ehird> wanna write an OS? :p
21:54:38 <ktne> no, i'm more interested in an alternative to matlab and mathematica
21:54:41 <ehird> also, well, with Scheme you have to dynamically look up everything
21:54:46 <ktne> because they are so incredibly slow... :(
21:54:52 <Ilari> ktne: And if you do SQL, allow possibility for parametrized queries (and make them relatively _easy_), since nonparametrized ones can easily turn into security nightmares...
21:54:54 <ehird> so having an object would be no overhead
21:54:59 <ehird> ew, don't do SQL :(
21:55:14 <ktne> ehird: i said that each statement could be in a microlanguage
21:55:32 <ehird> I don't think that would be very helpful
21:55:37 <ktne> ehird: with several microlanguages for common usages, like text procesing, collection operations (like sql), etc
21:55:47 <ktne> and a raw lisp-form one
21:55:49 <ehird> "I want to embed an entirely different language without any markets into this program" is no common thought of mine
21:55:58 <ehird> s/markets/markers/
21:56:12 <ktne> well i was thinking about some guesswork in the parser
21:56:20 <ktne> and some marker to make things sure when ambigous
21:56:46 <ktne> i was thinking about using \sql or \regex as markers
21:56:59 <ktne> sort of macro call :)
21:57:28 <ktne> but this would be just syntax sugar
21:57:41 <ehird> I rather embed other languages into the one I'm working in instead of just having them there literally.
21:57:46 <ehird> This falls down for regexs, tho.
21:57:47 <ktne> i'm designing the semantics right now, the object layout and the function call standard
21:58:06 <ehird> so how did you find this place then? :)
21:58:12 <ehird> btw our wiki is at http://esolangs.org/
21:58:18 <ehird> guess I can add that to our sprawling topic
21:58:25 <ktne> i was here a few times before :)
21:58:34 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/.
21:58:37 <ktne> i think i was designing some concatenative language back then
21:58:44 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page.
21:58:56 * ehird greps 2002-present logs for you
21:59:01 <ktne> but now i'm thinking about something more classical, something with semantics close to .NET (C-like objects, etc)
21:59:12 <ktne> mainly because such bad performance in matlab and mathematica
21:59:27 <ehird> I wanted to write a Mathematica replacement myself once.
21:59:29 <ehird> Still at the back of mind.
21:59:54 <ehird> THis was mostly driven by ais523 of this place's horror stories about it.
22:00:17 <ehird> must be recent, then
22:00:20 <ehird> (I manually downloaded those logs)
22:00:25 -!- impomatic has joined.
22:00:28 <ehird> ends at 2008-10-31
22:00:28 <ktne> what horror stories?
22:00:40 <ktne> i haven't been here since 2008-10-31
22:00:52 <ehird> ok, you haven't been here before that either, at least at ktne
22:00:56 <ktne> so maybe i'm not in the logs, aha, i'm a vampire, no mirrors :)
22:01:27 <ehird> ktne: the horror stories were mostly from when he was writing his proof of: http://www.wolframscience.com/prizes/tm23/solved.html; he wrote the programs for it in Perl but wolfram required him to rewrite them in mathematica for their egos
22:01:33 <ktne> i'm looking mainly for a replacement for matlab but with more symbolic stuff, a la mathematica
22:01:37 <ehird> stuff like its awful performance, the crazy-ass HoldFirst thing
22:01:43 <ehird> and the basic idea that it's just a pattern-matcher at heart
22:01:52 <ehird> iirc he got it to crash a lot
22:02:24 <ktne> my main issues are peformance related
22:02:29 <ehird> i tried to actually try it, but they wanted to look over my trial request manually, and they didn't send me a link. ho hum
22:02:49 <ktne> first, they are not fast when interpreting algorithms, they are fast only when doing core processing, stdlib stuff
22:02:50 <ehird> ktne: doesn't mathematica just hardcode a bunch of algos in C so that it's fast iff you're doing what wolfram does?
22:02:59 <ktne> then second issue
22:03:06 <ktne> is that they cannot handle large datasets
22:03:17 <ktne> because they want to load everything in memory
22:03:31 <ktne> i need something that can work off-disk
22:03:38 <ktne> maybe mmap the data files
22:03:42 <ehird> why does it have to be C-speed though?
22:03:45 <impomatic> Does anyone know what the smallest Brainfuck hello world is?
22:03:46 <ehird> C is pretty, well, fast.
22:03:52 <ehird> impomatic: yes, iirc egobot generated it
22:03:54 <ehird> but egobot is dead
22:03:57 <ehird> i think it may be on the wiki
22:04:44 <ktne> because i wanted to do some rather intensive pattern matching in mathematica and it was just too slow and memory-hungry compare to the C version
22:04:53 <ehird> impomatic: I could try and grep the logs for egobot's I think it was 113 or sth
22:05:07 <ehird> right, but surely it doesn't need to be _as_ fast as C?
22:05:20 <ktne> well that's one of my goals, from the start
22:05:30 <ktne> R for example is extremely slow too
22:05:38 <impomatic> Ehird: thanks, that would be a big help. Google didn't show up much
22:05:54 <impomatic> Is 113 the best? Was that generated by a GA or something?
22:06:04 <ehird> I'm not sure of the actual number, but ye
22:06:12 <ehird> a Java program, I think
22:06:19 <ktne> matlab can be fast but it requires you to vectorize your algorithms, which can be complicated sometime
22:06:19 <ehird> (egobot let you generate BF text as a command)
22:06:44 <ktne> neither mathematica or matlab have actually been designed for fast random access into arrays
22:06:59 <ktne> just try to do a FOR loop in matlab :)
22:07:00 <ehird> 15:20:20 <rice> !bf_txtgen Hello, world!
22:07:01 <ehird> 15:21:04 <EgoBot> 118 +++++++++++[>++++++>++++>+++++++++>+++<<<<-]>++++++.>>++.+++++++..+++.<.>>-.<++++++++.--------.+++.------.--------.>+. [839]
22:07:08 <ehird> rice is me by the way
22:07:10 <ehird> that's from jan 2008
22:07:13 <ehird> so probably the most refined so far
22:08:18 <Ilari> And there is annoying thing in matlab that doing per-element lookup on vector can transpose the result...
22:08:48 <ehird> everything will be perfect when we have processors that run Haskell natively.
22:08:57 <ktne> so basically i want something really fast, but with an interactive repl and interactive graphics
22:09:15 <ktne> but i want to stay away from class based oop for personal taste
22:09:21 <ehird> ktne: do you want a pony too? :p
22:09:27 <ehird> why not just stay away from oop, anyhoo
22:09:31 -!- Corun has quit ("Leaving").
22:09:50 <ktne> ehird: well i really want oop :)
22:09:57 <ktne> maybe something that mirrors the file system
22:10:02 <ktne> so you could store values in the FS
22:10:24 <ehird> I think you want PHP, they chose \ as their namespace separator because they can't write a parser and because it was the windows dir separator (seriously)
22:10:26 <ktne> persistence is another goal of mine
22:10:51 <ehird> serializable continuations are awesome but you also have to serialize sockets and crap to do that properly
22:11:07 <ktne> well i'm not that interested into serializing externalities
22:11:18 <ktne> only the internal state
22:11:30 <ehird> ktne: there's an efficient way to do garbage collection that leaves you with efficient function calls and also efficient continuations
22:11:31 <ehird> http://home.pipeline.com/~hbaker1/CheneyMTA.html
22:11:46 <ehird> might be worth checking out
22:11:53 <ehird> "Appel's method avoids making a large number of small trampoline bounces by occasionally jumping off the Empire State Building. "
22:14:15 <ehird> ktne: i assume, by the way, that you're compiling
22:14:22 <ehird> because interpreting at C speed is, um... impossible.
22:14:29 <ktne> i'm thinking about using llvm
22:14:52 <ehird> llvm unfortunately is very imperative
22:15:18 <ktne> i can't see any other option
22:15:27 <ehird> compile to machine code?
22:15:29 <ktne> i don't feel like wanting to implement a JIT :)
22:15:48 <ehird> if you really need C speed... )
22:15:56 <ktne> llvm generates C speed
22:16:09 <ktne> i'm mostly afraid of optimizations
22:16:20 <ehird> it generates C speed if your language is mostly imperative, I would say
22:16:28 <ktne> implementing proper optimizations is very time consuming which is why i don't want to compile to machine code myself
22:16:42 <ktne> well i guess my language is meant to be mostly imperative
22:16:45 <ehird> well heck, if you want C speed you'd better be ready to spend a lotta time on it ;)
22:16:51 <ktne> maybe single assignment
22:17:16 <ehird> i think haskell is nearing C-speed
22:17:21 <ehird> that's pretty mathematical :P
22:17:31 <ktne> i don't really like pure functional stuff
22:17:47 <ktne> mainly because of resource impredictability issues
22:17:48 <Deewiant> haskell's compiler is also black magic
22:18:06 <ktne> resource usage has be be fairly easy to estimate
22:18:08 <ehird> Deewiant: I don't think ghc is _that_ obscure...
22:18:19 <ehird> ktne: i think some of the peeps in #haskell have done work on that
22:18:32 <ehird> might wanna ask them
22:18:37 <ktne> well also pure functional is not that suitable for matlab-like stuff
22:18:55 <ktne> and i'm not willing to spend years on the compilation stuff :)
22:19:08 <ktne> i have to have this done in months :) llvm with a frontend on top :)
22:19:37 <ehird> if you have to have c speed really quickly, use c? :P
22:19:40 <ktne> well i have to use it for some real stuff
22:19:46 <ktne> because C is not interactive, nor ddynamic
22:19:54 <ktne> i want interactive graphs and stuff
22:20:07 <Deewiant> good luck with C speed for that ;-)
22:20:54 <ktne> well i was thinking about using some google jvm-like techniques
22:21:10 <ktne> jscript vm i mean
22:21:22 <ktne> but jscript is limited from the start due to semantic issues
22:21:23 <ehird> i think your three goals - interactive, c-speed, and not long to develop - are contradictory.
22:21:56 <ktne> there is no such language so far
22:22:36 <ktne> it doesn't feel that hard to do, i just think nobody tried
22:22:44 <Deewiant> the first two are contradictory I'd say — it's like having a language which compiles to optimized C but with zero compilation time :-)
22:22:55 <ehird> and the first two contradict the last
22:23:02 <ktne> for example most scripting languages don't have C-like types which makes them slow from the start
22:23:23 <ktne> Deewiant: i'm not that interested in zero compilation time, more in fast execution
22:23:36 <ehird> ... and interactiveness.
22:23:40 <Deewiant> ktne: just talking about the semantics of 'C speed' and 'interactive' put together
22:24:07 <Deewiant> i.e. if you want interactive + C speed you need zero time spent to generate the C-speed code :-)
22:24:20 <Deewiant> unless you can generate code which is faster than C, which is unlikely
22:24:27 <ktne> well C spends a lot of time in compilation stage too :)
22:24:34 <ehird> and C is not interactive
22:24:38 <ktne> compilation time is not an issue for me
22:24:48 <ktne> only execution speed is an issue
22:24:49 <Deewiant> if you want it to be interactive, it is
22:24:49 <ehird> you want interactivity
22:24:58 <ehird> interactive time = compilation time + runtime
22:25:18 <ktne> i don't see how compiling one line of code at a time can be that slow
22:25:29 <ktne> since that's what i mean by interactivity, a repl
22:25:42 <Deewiant> it's not that slow, but it won't be C speed
22:25:45 <ktne> that's all compilation that needs to be fast
22:25:51 <ktne> compiling a file can be slower
22:26:01 <ehird> it's REPL is basically C speed
22:26:02 <Deewiant> we're just arguing semantics :-P
22:26:05 <ktne> well i assume that each line takes a long time toe xecute
22:26:30 <ktne> that's why repl compilation time is not an issue, as long as there is no visible lag per command, i'm ok with it
22:26:36 <ehird> "no visible lag per command"
22:27:18 <Deewiant> 'no visible lag' + 'C speed' don't mix unless you add a qualifier like 'close to' to the latter :-)
22:27:18 <ktne> ok, let's not digress
22:27:52 <ktne> i mean no visible lang from when you type ENTER and up to when it starts executing the command
22:28:07 <ktne> even if compiling just one line of code takes 0.25sec, that's still acceptable
22:28:13 <ehird> 0.25sec is, um, visible lag.
22:28:20 <ehird> 0.25sec is HUGELY visible
22:28:25 <Deewiant> 0.1 is approximately when it starts to get visible
22:28:38 <Deewiant> depends on the user's speed obviously
22:28:41 <ktne> i assume llvm compiles quite fast
22:28:59 <ktne> compiling one function is not that much
22:29:11 <ktne> my main issue is execution time
22:29:18 <Deewiant> depends on what you're doing, too, of course
22:29:27 <ktne> what kind of semantic restrictions do i have to add in order to get good performance from a dynamic language
22:29:31 <ktne> that's my question
22:29:39 <ktne> anything but classes, i can't stand classes
22:29:47 <Deewiant> losing dynamic types helps ;-)
22:30:10 -!- nice has joined.
22:30:10 <Deewiant> assuming that's what you meant by 'dynamic'
22:30:10 <ktne> how can you have interactivity without dynamic types?
22:30:16 <ehird> everything is a tradeoff, purity vs efficiency.
22:30:30 <ktne> i'm not interested in language purity at all
22:30:30 <ehird> haskell even behaves dynamic
22:30:32 <ehird> since it's inferred
22:30:34 <Deewiant> ktne: why would interactivity require dynamic types?
22:30:35 <ktne> i don't care if it looks like perl :)
22:30:41 <ehird> ktne: you misunderstand purity.
22:30:51 <ehird> you're saying, oh I need mallable prototype objects
22:30:53 <ktne> Deewiant: because i want to be able to add methods at runtime
22:30:59 <ehird> and that's taking purity over efficiency
22:31:09 <Deewiant> that does sort of require dynamic types, yes :-)
22:31:16 <ktne> i was thinking about adding something liek a Seal method to objects
22:31:31 <ehird> can you do object.Seal.Club
22:31:33 <ktne> that would prevent any further modification of object structure
22:31:46 <ktne> how useful would that be?
22:31:55 <ktne> if it's not sealed then it would execute slower
22:32:14 <ehird> sooo now you can't add methods at runtime
22:32:16 <ehird> so what is the point
22:32:25 <impomatic> My first attempt to write a brainfuck hello world by hand - 122 instructions :-(
22:32:26 <ktne> but then it would be "un-sealed"
22:32:33 <ktne> and execution would be slower
22:32:36 <ktne> see what i mean?
22:32:54 <ktne> i'm willing to accept this as a sacrifice :)
22:32:58 <Asztal> take a look at recent javascript engines
22:33:23 <ktne> Asztal: the problem with jscript is that you have to check to see if the object structure has been modified after each function call
22:33:29 <ehird> ktne: dropping objects helps a lot.
22:33:39 <ehird> you can still add methods at runtime
22:33:41 <ehird> by just defining a function
22:33:51 <ehird> and there's no overhead to the actual "object"
22:34:43 <ktne> that would still have the same issue
22:34:53 <ktne> because the object structure could change
22:35:07 <ktne> (data structure)
22:35:17 <ehird> instead of changing it
22:35:29 <ktne> what would happen to old objects?
22:35:39 <ktne> or maybe i could redefine then copy the old object in the new one?
22:35:47 <ehird> ktne: yeah, something like that
22:35:50 <ktne> that would also be more semantically pure
22:36:02 <ehird> ktne: immutable objects also helps
22:36:10 <ehird> but that's going into functional purity land
22:36:31 <ehird> Prelude> let a $$ b = a+(b/2.0)
22:36:43 <ehird> bam, I just defined a method on (Fractional a) => a -> a -> a :-P
22:36:48 <ktne> well immutable objects would be ok too
22:37:02 <ktne> but i need to be able to apply immutability to any object at any point
22:37:14 <ehird> i meant make all "objects" immutable
22:37:20 <ktne> no, i can't do that
22:37:26 <ktne> that would make many algorithms too slow
22:37:40 <ehird> you can optimize it very well
22:37:59 <ehird> make copied objects reference their copier, use mutation if there's only one reference around
22:38:06 <ehird> see: GHC haskell compiler
22:38:14 <ktne> i can't afford optimisations other than llvm
22:38:40 <ehird> You can afford GHC :-)
22:38:43 <ktne> i can't really reimplement GHC :)
22:38:55 <ktne> can it be embedded?
22:39:03 <ktne> to compile snippets of code to machine code
22:39:08 <ktne> within the same process
22:39:19 <ehird> like I just showed you
22:39:20 <ehird> Prelude> let a $$ b = a+(b/2.0)
22:39:25 <ehird> that was in a REPL
22:39:29 <ktne> but still, i'm not sure how could you translate an imperative program to ghc
22:39:30 -!- MigoMipo has left (?).
22:39:36 <ehird> to haskell, you mean
22:39:41 <ehird> well, it is a restructuring, of course
22:39:56 <ehird> IMO the result is a better program, but there you go
22:40:16 <ehird> there's plenty of real-world haskell libraries, btw:
22:40:17 <ehird> http://hackage.haskell.org/packages/archive/pkg-list.html
22:40:25 <ktne> my issue is the language :)
22:40:34 <ktne> i just don't like ghc :) or haskell :)
22:40:42 <ktne> in general i don't like functional stuff
22:40:59 <ktne> because i need to run common algorithms
22:41:00 <Deewiant> haskell is the best imperative language
22:41:12 <ehird> ktne: common algorithms fit functionality well
22:41:24 <ehird> i just feel that most of the optimizations you do just bring you closer to haskell
22:41:26 <ktne> ehird: common as in: expressed in standard C form
22:41:43 <ehird> if you can read C and you can read Haskell ... you can translate between the two
22:41:51 <ehird> there's also libraries for stuff like that
22:42:10 <ktne> i don't really want to do that :)
22:42:21 <ktne> i don't want ghc as a dependency :)
22:42:29 <ktne> i won't touch it with a pole :)
22:42:53 <ktne> i need a classical environment that can be used by people familiar with matlab
22:43:00 <ehird> then you have to go slower
22:43:01 <ehird> it's all tradeoffs
22:43:04 <ktne> as a faster matlab replacement
22:43:15 <ehird> you can have your cake and eat it, but it might not have cherries on top :-)
22:43:56 <ktne> the reason why i don't want to rely on ghc is because of the black magic that happens behind
22:44:21 <ktne> at least with llvm i have a good idea of all optimizations that happen and how the program is transformed by those optimizations
22:44:35 <ehird> ghc has documentation
22:44:43 <ktne> also how could i debug that code?
22:45:01 <ehird> by... debugging it?
22:45:03 <ktne> because you can't debug it if it's converted to haskell
22:45:18 <ktne> i mean debugging the interactive repl code
22:45:20 <ehird> i'm not saying convert the program to haskell . . .
22:45:37 <ktne> how could you otherwise use ghc as a compiled?
22:45:52 <ehird> by feeding it haskell?
22:46:08 <ktne> then i have to convert my program to haskell, right?
22:46:11 <ktne> hi bsmntbombgirl
22:46:21 <ehird> bsmntbombgirl: a bit broken atm, I can fix it.
22:46:28 <ehird> bsmntbombgirl: I think I'll sue you for the misleading name
22:46:35 <ehird> ktne: or you could write your program in haskell, y'know
22:46:45 <ktne> not my program
22:46:49 <bsmntbombgirl> ehird: that shit needs to be put in source control
22:46:52 <ktne> the program you run in the repl
22:47:10 <ehird> ktne: what i'm saying is: Haskell already does all your requirements :-)
22:47:19 <ehird> bsmntbombgirl: it needs a rewrite tbh
22:47:19 <ktne> it's not orthodox enough
22:47:25 <ehird> ktne: why is this a problem?
22:47:33 <ktne> because it has to run standard code
22:47:35 <ktne> imperative stuff
22:47:51 <ktne> because i find it nearly impossible to code functional :)
22:48:04 <ehird> bsmntbombgirl: i thought that, it's a bit of a pain tbh
22:48:50 -!- CakeProphet has quit ("lol").
22:48:54 <ehird> because the RFC is stupid, and networking code handling a huge amount of people is stupid
22:49:43 <bsmntbombgirl> i just wrote a rather nice (imo) abstraction over the network part
22:50:18 <ehird> bsmntbombgirl: bsmnt_bot's charm is that it sucks
22:50:56 <ehird> it doesn't do anything and you can mess it up with the python command, but it's fun to have it around anyway :P
22:51:34 -!- oklopol has joined.
22:52:46 -!- puzzlet_ has joined.
22:53:34 -!- puzzlet has quit (Remote closed the connection).
22:55:32 -!- jix has joined.
23:01:20 <ktne> ehird: ghc appears to have quite poor performance compared to C
23:01:30 -!- Corun has joined.
23:01:35 <ehird> it's not perfect, but it can be made faster with some optimization hints
23:01:50 <ehird> and the speed is still very reasonable by default, for most tasks
23:02:22 <ktne> it's not really what i want
23:02:28 <ktne> i can't stand haskell :-/
23:02:32 <Deewiant> if GHC is poor compared to C then good luck getting the kind of speed you want :-P
23:02:48 <ktne> Deewiant: llvm is pretty fast
23:02:58 <Deewiant> ktne: depends on the kind of code you give it
23:03:00 <ehird> haskell is great, I think what you're saying is ... I haven't really used haskell much, but it sounds scary :-)
23:03:06 <ktne> Deewiant: classical imperative code
23:03:21 <Deewiant> well yeah, that's what the LLVM IR is
23:03:27 <Deewiant> more important is what the code does :-P
23:03:47 <ktne> mostly array and graph manipulations
23:04:09 <ehird> that does not sound very imperative to me
23:04:33 <ehird> imperative code is just manually optimized functional code. kind of like writing asm instead of C. you rarely do better. meh.
23:04:43 <ehird> except you often do better :P
23:04:54 <ktne> i can't think in a pure functional fashion
23:05:02 <ktne> so i don't want a pure functional language
23:05:04 <ehird> you just haven't tried
23:05:29 <ehird> convincing arguments
23:05:38 <ktne> ok, let's suppose you want to implement a longest common subsequence algorithm in haskell, how that would look like?
23:06:04 <ehird> ktne: pretty simple
23:06:09 <ehird> http://www.rosettacode.org/wiki/Longest_Common_Subsequence#Haskell
23:06:39 <ehird> trivial translation of http://en.wikipedia.org/wiki/Longest_common_subsequence#LCS_function_defined
23:08:05 <ktne> how many years of haskell experience do i need to implement the memoization example?
23:08:06 -!- nice has quit (Read error: 104 (Connection reset by peer)).
23:08:26 <ehird> bsmntbombgirl: sure, it's a naive implementation
23:08:32 <ehird> those are generally slow
23:08:39 <ktne> ehird: i'm looking at the memoization example
23:08:43 <ehird> ktne: that haskell code is easy to understand once you have a grasp of Haskell
23:08:44 <ktne> not at the simple recursive one
23:08:51 <ehird> so, like I said.. 0
23:09:03 <ktne> 0 if using integer divide :)
23:09:16 <ehird> ok, what I mean is < 1
23:09:20 <Deewiant> you didn't specify the type of your answer so it defaulted to integer :-P
23:09:29 <Deewiant> s/your answer/the answer you wanted/
23:10:24 <ktne> that code is horrible :/
23:10:39 <ehird> ktne: ITYM "I don't understand that code"
23:10:41 <ehird> bsmntbombgirl: i see
23:11:32 <psygnisf_> the nonmemoize haskell code is beautiful
23:11:40 <ehird> so is the memoized :P
23:11:48 <psygnisf_> i tried reading the definition of LCS and its painful to read
23:11:52 <psygnisf_> the haskell code makes it all clear
23:12:06 <ktne> how can i test that code?
23:12:13 <ktne> without installing ghc
23:12:32 <ehird> how can you run code without installing an implementation
23:12:40 <ktne> is it possible in ghc to redefine object?
23:12:49 <ktne> i mean, redefine functions
23:13:53 <ktne> let's suppose i want to count how many times a substring appears in a larger string
23:13:57 <ktne> how would that look in haskell?
23:14:11 <ehird> are you getting me to write your program for you? :D
23:14:20 <ktne> i can't write them myself :)
23:14:47 <ktne> i just want to see how it looks like
23:15:30 <ehird> http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html
23:15:34 <ehird> there's probably a function in there to do it :P
23:15:40 <ktne> that's not what i need
23:15:46 <ktne> i need to implement all those algorithms myself
23:16:00 <ehird> the library writers are much better at it than you
23:16:02 <ktne> because it's a tool for computing stuff
23:16:09 <ehird> why do you have to write your own
23:16:19 <ktne> because isn't that the purpose of the tool?\
23:16:27 <ktne> to allow people to implement algorithms
23:16:46 <ktne> i need a matlab replacement
23:16:51 <ehird> generally people don't write all the algorithms they use in their program
23:16:59 <ktne> i can't depend on libraries for that
23:17:19 <ehird> that library is in core GHC
23:17:23 <ehird> if you have GHC, you have that library
23:17:30 <ktne> because i need to implement that many more algorithms
23:17:35 <ktne> that are mostly non-standard
23:18:16 <ktne> so, any idea how to speed a jscript-like language? :-D
23:18:33 <ktne> first, add proper C integer types and proper C arrays
23:18:35 <ehird> yes, apply all the transformations to it to make it more static
23:19:03 <impomatic> New brainfuck Hello World = 115. That's 3 instructions shorter
23:19:20 <oklopol> where's egobot when you need one
23:19:32 <ehird> oklopol: i already gave him that
23:19:45 <ehird> but impomatic's beaten that
23:20:07 <oklopol> ehird: ah cool; seems i didn't read the logs then.
23:21:01 <impomatic> I was hoping to reach 88 so my interpretter and Hello World fit in 100 instructions, but I don't think there's any chance
23:21:10 <impomatic> +++++++++++[>+++++++>+++++++++>++++>+++>++++++++<<<<<-]>-----.>++.+++++++..+++.>.>-.>-.<<<.+++.------.--------.>>+.
23:21:16 <ehird> impomatic: you have a 22 char bf interp?
23:21:28 <oklopol> but you probably know that too
23:21:40 <impomatic> No, 12 instruction interpretter :-)
23:21:57 <ehird> ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
23:22:26 <ehird> impomatic: show this interp! :)
23:22:54 <oklopol> 12 instructions beats cise by quite a lot
23:22:55 <impomatic> And it's not slow. When it starts execution, it converts all [ and ] to relative jumps
23:23:17 <oklopol> impomatic: can you show it?
23:23:20 <ehird> shoooooooooooooooooow itttttttttttttt
23:23:24 <impomatic> The interpretter is more of a compiler, and it's in redcode
23:25:35 <ehird> damn 12 instructions
23:25:37 <ehird> that is impressive
23:26:25 <impomatic> Not so impressive: http://pastebin.ca/1317388
23:27:01 <impomatic> When the redcode is compiled, it uses macros to compile brainfuck to redcode
23:27:27 <ehird> still pretty awesome
23:27:29 <impomatic> There are 12 instructions to fix the [ and ] jump addresses
23:27:36 <ehird> where are the macros
23:28:12 <ehird> man, that's awesome
23:28:24 <ehird> impomatic: how much would it take to add a parser?
23:29:22 <impomatic> Not much, but first I need to recompile the redcode interpretter. Haven't got a C compiler on this Windoze machine
23:30:03 <ehird> i gotta write my own RISC, beating 12 instructions will be hard
23:30:16 <impomatic> I will add a parser to read in Brainfuck from a file.
23:30:16 <impomatic> And possibly add a table based optimizer
23:30:32 <impomatic> Often 2 brainfuck instructions could be reduced to 1 redcode instruction
23:30:35 <ehird> http://esolangs.org/wiki/Yael 15 instructions
23:30:43 <ehird> but only 256 bytes of addressable memory...
23:30:53 <ehird> so code+data has to be <256 bytes :(
23:31:23 <ehird> well, it also has 8 registers
23:31:40 <ehird> but you can't put code in registers, ofc
23:31:48 -!- yuri815 has joined.
23:33:28 <oklopol> ehird: you should add a context switch operator, so you could have a tape of 256 cell memories
23:33:39 <ehird> but it's basically vinalized
23:33:46 <ehird> i think it's prety nice
23:33:55 <ehird> I mean, that cat program is pretty small
23:34:01 <oklopol> it's a local maximum, definitely.
23:34:14 <ehird> whaddya talking about :P
23:34:25 <oklopol> small fixes won't make it purer.
23:34:45 <oklopol> and by pure i mean... i don't know. pretty
23:35:28 <ehird> unfortunately, code isn't always a round number of bytes
23:35:34 <ehird> e.g. cat is 8 bytes + 1 bit
23:35:40 <ehird> so you just need to pad it out with 0s
23:35:46 <ehird> 9 byte cat program
23:35:58 <ehird> 6 instructions, 9 bytes
23:36:20 <ehird> 00000000 00110100 00001000 01111110 01010110 10011000 11000000 00001111 10000000
23:37:13 * ehird writes yael interp 'cuz why not
23:40:03 <impomatic> The Hello World from Wikipedia outputs a different string. No comma, but a newline
23:45:38 <ehird> oklopol: problem with implementing yael: you have to split bytse apart :(
23:45:44 <ehird> because shit can go across byte lines and stuff
23:46:07 <oklopol> ehird: yeah. are you surprised? :P
23:46:10 -!- jix has quit ("...").
23:46:45 <ehird> oklopol: what is hello world in cise
23:46:47 -!- yuri815 has quit.
23:47:04 <oklopol> it's not actually hard though, it's just slower
23:47:59 <oklopol> i have no idea how to output stuff :P
23:48:11 <oklopol> i usually don't care much for that practical nonsense
23:48:41 <oklopol> no... i think printing hello world is H... :P
23:48:51 <ehird> ok what about printing hello world sans cheatin
23:49:00 <oklopol> iirc i decided Q and H should be in the instr set for luls
23:49:28 <oklopol> it would just be "Hello world", plus 1 or 2 characters of function before it if i add a print command
23:50:20 <oklopol> it prints the stack after running the program?
23:50:26 <ehird> yeah, pops and prints
23:50:31 <ehird> and puts input first on stack before running
23:52:25 <oklopol> cise could well work like that too, have input as the program's param, apply the program to it, print result
23:52:49 <oklopol> but, well, i'm more interested in the more interesting aspects.
23:53:39 <ehird> what can make an assembly language really concise is good comparison jumps, I think
23:53:43 <ehird> like C's switch(){}
23:55:06 <oklopol> so how about designing such a basic instruction set you're writing in computation itself?
23:55:55 <oklopol> ehird: well, on second thought, that made absolutely no sense.
23:56:05 <oklopol> but still, it's worth considering.
23:56:20 <ehird> that's basically a OISC
23:56:27 <ehird> "what operation embodies the fundamental operation of computing?"
23:59:04 <oklopol> that's not nearly as fundamental as i had in mind
23:59:29 <oklopol> i'm talking so low-level you may not even be able to implement it in this universe.
23:59:38 -!- Corun has quit ("Leaving").
23:59:38 <oklopol> there's simply too much computation going on no matter what you do
00:00:08 <oklopol> you can't reach the level i'm talking about. the absolute bottom of informational computationality.
00:00:29 <ehird> i think the fundamental imperative computational is something like:
00:00:39 <oklopol> in other words i think i should sleep
00:00:48 <ehird> Perform an operation on two values and put the result somewhere, then go somewhere else depending on the result.
00:01:16 <ehird> A and B are memory addresses
00:01:26 <ehird> subtracts the value in A and the value in B
00:01:34 <ehird> and puts the result in B
00:01:38 <ehird> then, if the result is zero
00:01:44 <ehird> otherwise, execution continues as normal
00:02:19 <ehird> equality comparison:
00:02:21 <oklopol> that's so compicated i can't understand it, let alone read or see it.
00:02:36 <kerlo> Notwithstanding, there is no Turing-complete language simpler than BCT.
00:02:47 <ehird> but i"m talking about instruction sets
00:02:49 <kerlo> oklopol: is "equals" too complicated for you?
00:02:58 <ehird> Execution of one instruction A B C subtracts the value of memory in A from the content of memory in B. If value after subtraction in B less or equal to zero, then execution jumps to the address C; otherwise to the next instruction.
00:03:05 <ehird> well, less or equal to zero
00:03:07 <kerlo> No, simplicity is objective and I'm always right.
00:03:10 <ehird> so mine's kind of less complex
00:03:25 <oklopol> kerlo: testing equality is pretty hard, yes
00:03:37 <kerlo> I never said testing equality.
00:03:48 <oklopol> how about continuous computation
00:03:55 <oklopol> you need an infinite amount of it to get anything done
00:04:08 <oklopol> programs are functions from reals to instruction fragments
00:04:13 <ehird> Reads A and B, if the values are equal, it stores 1 in B, otherwise it stores 0 in B.
00:04:16 <ehird> If they ARE equal, it jumps to C.
00:04:17 <impomatic> RSSB is less complex. One instruction and only one operand
00:04:38 <ehird> i'm going for conceptual simplicity here
00:04:44 <ehird> so if RSSB does a lot, it doesn't qualify
00:04:53 <ehird> i think ej could possibly be TC
00:04:56 <ehird> if you scratched the storing
00:05:09 <ehird> if the value in A is the value in B, jump to C. otherwise, continue as normal.
00:05:13 <ehird> dunno how you store things ofc :D
00:05:35 <kerlo> It's a programming language where every variable thingy is a function of real numbers.
00:05:48 <kerlo> You can implement the sine function very easily in Proce.
00:06:07 <oklopol> that has nothing to do with what i said, but yeah, i remember it
00:06:20 <impomatic> See the RSSB page I made the other day http://esolangs.org/wiki/RSSB
00:06:37 <oklopol> essentially you have differential equations iirc
00:06:38 <ehird> but it has registers
00:06:45 <oklopol> which are automatically solved
00:06:53 <kerlo> Well, it had plenty to do with what you said until you said "programs are functions from reals to instruction fragments".
00:06:56 <oklopol> to get definitions for funcs involved
00:06:59 <kerlo> What do you mean by "instruction fragments"?
00:07:19 <ehird> impomatic: can't IP/ACC be in memory?
00:07:37 <ehird> "The result is stored in both memory and the accumulator"
00:07:41 <ehird> surely that is not needed
00:07:46 <ehird> can't it just be in the accumulator/
00:07:47 <oklopol> kerlo: proce doesn't have continuous computation, it has computation applied on continuous things.
00:07:48 <kerlo> (Tough language: Programs are continuous functions from reals to reals where the image contains only integers.)
00:08:17 <oklopol> kerlo: i have no idea what i mean by instruction fragments.
00:08:48 <oklopol> i mean continuous computation. instructions you can have any real amount of.
00:09:09 <impomatic> ehird: I'm not sure why the spec said both
00:09:20 * ehird writes simplified rssb
00:09:27 <oklopol> say you do instruction : 3.16 times, then # 87.001 times, and... umm... maybe something happens.
00:09:47 <ehird> impomatic: define below 0
00:09:52 -!- puzzlet_ has quit (Remote closed the connection).
00:09:56 -!- puzzlet has joined.
00:09:57 <ehird> signed integers in an architechture? Perverse.
00:10:03 <oklopol> kerlo: i'm just trying to think outside the box, computation's always so discrete and boring.
00:10:13 <impomatic> below 0: if the subtraction causes a borrow
00:10:41 <kerlo> So, memory is a continuous function from R.
00:10:47 <impomatic> There's a redcode implementation at http://impomatic.blogspot.com
00:10:51 <ehird> impomatic: i don't follow
00:11:05 <oklopol> kerlo: yeah maybe, and instructions perform on single values
00:11:06 <ehird> despite not being below 0
00:11:08 <ehird> since there's no such thing
00:11:26 <oklopol> kerlo: so you need an uncountable amount of them to get anything done
00:11:46 <impomatic> Basically if prior to the subtraction, acc > contents of memory location, skip the next instruction
00:12:10 <ehird> mem locs: 0 ip, 1 accumulator, 2 always contains 0, 3 input, 4 output
00:12:11 <ehird> Instruction: Subtract the accumulator from the contents of the operand, and
00:12:12 <ehird> store it in the accumulator. If this caused a borrow, jump to the instruction
00:12:14 <ehird> past the next one.
00:12:22 <oklopol> kerlo: also flow control isn't jumping, it's more like slowly fading into another kind of computation, and somehow implement this by finding the conceptual integral of what the fading computation will achieve during its infinite fade.
00:12:23 <kerlo> An instruction is a continuous function f : <state> x real number -> <state> such that f(f(x,a),b) = f(x,a+b).
00:12:31 <kerlo> For all x, a and b.
00:12:36 <ehird> impomatic: so is there a reason it has to be stored in both?
00:12:59 <impomatic> There is an implementation of RSSB by David Tanguay, but I can't find a copy online
00:12:59 <kerlo> s/real number/non-negative real number/
00:13:23 <impomatic> ehird: I just implemented as per David Tanguay's spec
00:13:33 <ehird> I'm just wondering if only storing in the acc could be simpler
00:13:41 <oklopol> kerlo: that's a bit too concrete at this point.
00:13:54 <oklopol> you don't want to have your functions be discrete objects....
00:14:13 <oklopol> they need to be continuous computation
00:14:18 <ehird> storing it in just one is useless
00:14:33 <ehird> i think the accumulator is a hack
00:14:42 <oklopol> kerlo: i guess that's pretty much the definition of continuous computation though :P
00:15:16 <oklopol> kerlo: but err, probably a good definition.
00:15:23 <impomatic> ehird: if it only stores in acc, there's no way to modify memory. if it only stores in memory, then the only thing you can do with acc is set it to zero
00:16:12 <kerlo> The set Q consists of all continuous functions Q -> Q.
00:16:27 <kerlo> Q is the least fixed point of that.
00:16:40 <kerlo> Or, if you prefer, the union of all fixed points of that.
00:16:47 <ehird> sjlz a b: Subtract the contents of a from the contents of b, and store the
00:16:48 <ehird> result in b. If this caused a borrow, skip the next instruction.
00:16:52 <ehird> much more conceptually pure
00:16:58 <ehird> and only one more operand
00:18:34 <kerlo> I is in Q, as for all x in Q, x is in Q, and if a set S of Q's is open, its preimage under I (that is, S) is also open.
00:19:16 <kerlo> For all x in Q, K x is in Q, as for all y in Q, x is in Q, and if a set S of Q's is open, its preimage under I (either Q or empty) is also open.
00:19:23 <kerlo> I is identity combinator, K is constant combinator.
00:19:30 <oklopol> yeah you answered that already
00:20:02 <oklopol> kerlo: did you invent Q just now?
00:20:48 <oklopol> "if a set S of Q's is open, its preimage under I (that is, S) is also open" i don't understand this
00:21:00 <oklopol> but then again, you're the abstract nonsense guy :P
00:21:05 <ehird> where a out -> ajlz a out
00:21:13 <ehird> and =a 97 defines a bit of memory with that value in.
00:21:26 <ehird> ajlz a b: Add the contents of a to the contents of b, and store the result in b.
00:21:26 <ehird> If this caused an overflow, skip the next instruction.
00:21:30 <kerlo> The preimage of S under I is S. Therefore, if a set S is open, its preimage under I is also open.
00:21:36 <kerlo> And yeah, I love abstract nonsense.
00:22:07 <oklopol> preimage of x = the set of things that map to x?
00:22:22 <ehird> here's a one-instruction one-character cat program
00:23:00 <kerlo> oklopol: the set of things that map to elements of x.
00:23:24 <oklopol> kerlo: that's what i meant
00:23:27 <ehird> impomatic: how do you jump backwards with rssb?
00:24:30 <oklopol> kerlo: what's the significance of the "and if a set S of..." part?
00:24:36 <kerlo> For K to be in Q, it must be a function Q -> Q (it is) and it must be continuous. For it to be continuous, the preimage of every open set must be open.
00:25:05 <oklopol> oh. that's a definition for being continuous?
00:25:16 <ehird> impomatic: how do you jump backwards with rssb?
00:25:23 <oklopol> i'm quite new to this still
00:26:15 <ehird> and we all know that subtracting is a special case of addition ;-)
00:26:38 <oklopol> kerlo: oh actually i think i see how that relates to the crucial axiom of dedekind sets
00:26:42 <kerlo> The preimage of a set under K is {x : K x is in the set}, of course. And, um... bah, I'm going to ask #math a question.
00:27:12 -!- CakeProphet has joined.
00:28:32 <ehird> then my infinite cat program is
00:29:29 <ehird> 3=input 4=output 2=maximum int (4294967295) 0=ip
00:29:34 <ehird> ajof a b: Add the contents of a to the contents of b, and store the result in b.
00:29:34 <ehird> If this caused an overflow, skip the next instruction.
00:29:58 <ehird> actually since the whole idea there is to overflow that doesn't work. i think
00:30:36 <impomatic> Is there a brainfuck variant which adds a stack?
00:30:46 <ehird> many. but brainfuck sucks :P
00:30:52 <kerlo> Darn, the answer is "no".
00:31:39 <ehird> but then when it loops, it runs it twice
00:31:45 <ehird> (max max doesn't touch max, ofc, since it's constant)
00:31:53 * kerlo ponders the definition of a neighborhood of an element of Q
00:32:00 <ehird> impomatic: any thoughts?
00:32:17 <oklopol> kerlo: what are neighborhoods?
00:33:11 -!- impomatic has quit ("mov.i #1,1").
00:33:29 <kerlo> A neighborhood of a point is a superset of an open set containing that point.
00:33:40 -!- ktne has left (?).
00:33:48 <oklopol> hmm. i'm not sure #math with appreciate your set
00:34:06 <ehird> 0 is ip, 1 contains 0, 2 contains max int (4294967295), 3 is input, 4 is output
00:34:07 <ehird> ajof a b: Add the contents of a to the contents of b, and store the result in b.
00:34:09 <ehird> If this caused an overflow, skip the next instruction.
00:34:11 <ehird> go forth and write progz >:(
00:34:20 <ehird> ps ajof a b can be written as ... a b
00:35:06 <kerlo> f is near g if and only if for all x, f(x) is near g(x). Unfortunately, "near" doesn't mean anything.
00:35:46 <kerlo> In a neighborhood F of f, for all x, F(x) is a neighborhood of f(x), I think.
00:36:31 <oklopol> kerlo: btw that's a pretty weird definition, like, (2,4) U {0} would be a neighborhood of 3?
00:37:03 <oklopol> probably would be less weird if i saw uses.
00:37:34 <oklopol> kerlo: i'm not sure you understand what Q is.
00:37:42 <kerlo> What do you think Q is?
00:37:56 <kerlo> Nonexistent due to a power set cardinality theorem?
00:37:58 <oklopol> well i mean; how can a function from functions to functions be continuous?
00:38:33 <oklopol> kerlo: well my intuition says there might be a problem like that, but i don't actually know. what i do know is i don't understand what the definition even means.
00:38:38 <kerlo> I believe that for all topological spaces P and Q, there is a standard topological space P -> Q.
00:38:51 <oklopol> kerlo: problem is i don't know topology
00:39:15 <oklopol> you see i started doing math this fall. i'm doing integrals and groups now.
00:45:57 -!- oklopol has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
00:56:12 -!- GreaseMonkey has joined.
01:17:28 -!- GreaseMonkey has quit ("Client Excited").
01:27:00 -!- Corun has joined.
01:35:46 -!- Corun_ has joined.
01:42:40 -!- FireFly has quit ("Later").
01:50:28 -!- Corun has quit (Connection timed out).
02:20:40 <psygnisf_> wtf is this "instantaneous computation"?
02:20:56 <psygnisf_> and "strong synchronous programming"? D:
02:21:29 <Slereah2> You enter shit, and bam! It's computed!
02:25:33 -!- Corun_ has quit ("This computer has gone to sleep").
03:17:40 -!- GreaseMonkey has joined.
04:11:23 -!- GregorR has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page; h) Felching – The Freshmaker!.
04:16:32 -!- Sgeo has joined.
04:31:31 -!- psygnisf_ has quit ("Leaving...").
06:10:41 -!- Sgeo_ has joined.
06:28:31 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
06:29:01 <GregorR> A Dorponnified Talliachre is a lunchbox! It makes clicking noises!
06:29:37 <GregorR> Gregor is a lightbulb that floats in water! It pushes things down staircases and works underwater.
06:34:46 <GregorR> A woman is like a normal cricket bat, but it squirts clouds of black ink.
06:34:56 <GregorR> A man is like a normal pogo stick, but it's inflammable.
06:36:19 <GregorR> A pogo stick is a hair gel that fits in your pocket! It crushes ice.
06:36:29 <GregorR> Hair gel is a speaker system that's great for hammering in nails! It emits dangerous radiation and repairs itself.
06:39:54 -!- Sgeo_ has quit ("Leaving").
07:05:21 -!- GreaseMonkey has quit ("Client Excited").
07:50:57 -!- spicule has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:05 -!- spicule has quit ("Leaving").
09:07:25 -!- SpaceManPlusPlus has joined.
09:13:02 -!- MigoMipo has joined.
09:25:46 -!- oklopol has joined.
09:27:07 -!- SpaceManPlusPlus has quit (Read error: 110 (Connection timed out)).
10:37:59 * oklopol is listening to some quality heavy metal bashing: http://www.vjn.fi/s/black.mp3
11:11:37 -!- Mony has joined.
11:39:39 -!- FireFly has joined.
12:02:37 -!- Judofyr_ has joined.
12:05:35 -!- Judofyr has quit (Nick collision from services.).
12:05:51 -!- Judofyr_ has changed nick to Judofyr.
12:17:59 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
12:28:55 -!- jix has joined.
12:30:52 -!- Slereah has joined.
12:35:08 -!- MigoMipo has joined.
12:42:44 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
12:49:43 -!- Corun has joined.
12:56:43 -!- MigoMipo has left (?).
13:09:43 -!- Corun has quit ("Leaving").
13:09:54 -!- Corun has joined.
13:24:12 -!- oklopol has quit (Read error: 60 (Operation timed out)).
13:42:45 -!- impomatic has joined.
13:49:05 <impomatic> 112 Hello, World! ++++++++++++++[>+++++>+++++++>+++>+<<<<-]>++.>+++.+++++++..+++.>++.>[<-<<+>>>-]<++.<<+.>.+++.------.--------.>+.
13:59:45 -!- ehird has left (?).
14:00:03 -!- ehird has joined.
14:00:42 <ehird> <impomatic> 112 Hello, World! ++++++++++++++[>+++++>+++++++>+++>+<<<<-]>++.>+++.+++++++..+++.>++.>[<-<<+>>>-]<++.<<+.>.+++.------.--------.>+.
14:02:44 <impomatic> Hi Ehird. 1 instruction longer than Wikipedia, but it includes the comma.
14:02:56 <ehird> does it include the newline
14:03:08 <ehird> you really want a newline :p
14:03:28 <impomatic> Some of the other examples didn't have newline
14:03:39 <ehird> It is standard to terminate with 10, thoug
14:03:45 <ehird> err, not 10 newlines :P
14:08:50 -!- Corun has quit ("This computer has gone to sleep").
14:30:23 -!- Judofyr has quit (Remote closed the connection).
14:34:50 -!- luqui has joined.
14:35:25 <ehird> 00:42:31 --- nick: oklopol -> Z
14:35:26 <ehird> 00:42:46 --- nick: Z -> oklopol
14:35:28 <ehird> 00:42:59 <oklopol> too late
14:35:31 <ehird> oklopol you let it get away
14:35:47 <ehird> ^bf ,[.,]!brainfuck. etc.
14:41:06 <impomatic> Lol at censoring brainfuck to b****fuck :-)
14:48:57 <impomatic> Anyone want to implement Redcode++? http://corewar.co.uk/opcodes.htm
14:50:00 <Mony> I wanted to make a esolang like this
14:50:04 <Mony> but now, it's too late :o
14:51:21 -!- oerjan has joined.
14:52:02 * oerjan thinks that looks like the end of a haiku
14:52:19 <ehird> Yael still beats redcode
14:52:39 <ehird> admittedly, you only get 256 bytes of memory.
14:53:03 <ehird> AnMaster: Newsflash: taking SQL and bashing something on the end of it is not the source of a thousand hilarious ideas.
14:53:06 <ehird> as much as you want it to be.
14:53:49 <AnMaster> ehird, actually C++ style object orientation bolted onto SQL would be quite nasty
14:53:57 <ehird> nasty != interesting and funny
14:54:01 <AnMaster> I mean even nastier than it already is
14:54:14 <ehird> in as much as the same way as a language based on the holocaust would be "nasty"
14:54:45 <ehird> speaking of which, who wants to beta-test holocaust++ :p
14:56:50 <oerjan> ehird: what about SQLCOATL?
14:56:52 <ehird> jew: Takes a random jew off the heap. gas(x): Gasses the jew x.
14:57:11 <ehird> When you have gassed as many jews as the nazis, it executes the remaining program as Perl.
14:57:16 <AnMaster> also: QUERY foo = NEW QUERY('SELECT * FROM mytable'); foo.EXECUTE();
14:57:28 -!- luqui has left (?).
14:57:52 <oerjan> the great database serpent
14:59:57 * oerjan realizes that holocaust++ was made up on the spot here
15:00:06 <oerjan> i was starting to worry about ehird
15:01:13 <Slereah> The holocaust never happened, silly man
15:01:58 <oerjan> AnMaster: doesn't roll that well off the tentacle
15:02:20 <oerjan> Slereah: from you this is expected
15:02:21 -!- Judofyr has joined.
15:02:55 <Slereah> oerjan : You expect that from a jew?
15:03:10 <oerjan> Slereah: you've done so before
15:03:56 <oerjan> actually there is probably some jew somewhere denying the holocaust
15:04:58 <oerjan> i mean i vaguely recall hearing about neo-nazi jews
15:05:07 <oerjan> AnMaster: um no spoilers
15:05:21 <oerjan> that's next on my schedule :D
15:05:22 <Asztal> I always read that as neon-nazis
15:05:27 <Asztal> it sounds so much cooler than it is
15:06:08 <oerjan> much easier to hit them when lighted up
15:07:05 <oerjan> ah the Espionage theory was right
15:07:38 <oerjan> er wait, disregard, SPOILER :D
15:08:08 <AnMaster> oerjan, well, it could be a red hearing
15:08:24 <AnMaster> http://www.irregularwebcomic.net/draakslair/viewtopic.php?t=3190
15:08:33 <oerjan> no i mean the theory that since it wasn't in the list, it had escaped unscathed
15:09:10 <AnMaster> oerjan, that could be a red hearing
15:09:38 <oerjan> um wait are you misspelling that on purpose?
15:10:05 <AnMaster> oerjan, why should I misspell it on purpose?
15:10:15 <oerjan> another awful pun attempt of course
15:10:26 <AnMaster> I can't see how that could be a pun
15:10:38 <ehird> I can't see how any of your "puns" could be a pun.
15:11:00 <oerjan> AnMaster: now we're just missing a Supers strip
15:12:02 <oerjan> http://tvtropes.org/pmwiki/pmwiki.php/Main/ChekhovsPun
15:12:23 <oerjan> (standard tvtropes warning applies)
15:13:44 <oerjan> oh it's a tvtropes meta-thing
15:14:00 <oerjan> and self-referential too :D
15:14:58 -!- impomatic has quit ("http://impomatic.blogspot.com").
15:15:20 <AnMaster> oerjan, oh btw uf was quite funny today
15:15:32 <AnMaster> as for the current xkcd: I don't get it
15:15:37 <oerjan> it's about making new trope names by making puns on completely unrelated ones
15:16:10 <ehird> uf=userfriendly. shit comic.
15:16:52 <AnMaster> isn't it over 10 years now? daily
15:17:21 <AnMaster> ehird, would you say garfield is shit?
15:17:35 <ehird> Why is that even a question? Who the fuck would say "no"?
15:17:48 <AnMaster> I agree. But some of the early ones aren't as bad
15:17:49 <oerjan> AnMaster: you don't want your genetic algorithm to develop sentience and destroy the world, is the point
15:18:04 <ehird> all garfield comics are irredeemably terrible
15:18:07 <AnMaster> oerjan, true, but xkcd wasn't very good today
15:18:11 <ehird> and anyone who likes them has some sort of mental defect
15:18:14 <ehird> also, xkcd was hilarious.
15:18:27 <ehird> if you want to read xkcd it's best to know pop culture.
15:18:39 <oerjan> Monday, Wednesday, Friday, 5:00 UTC
15:18:55 <ehird> http://www.google.com/search?q=skynet
15:19:00 <AnMaster> square root of minus garfield rocks though
15:19:17 <AnMaster> but I didn't get the other things, like fuel and such
15:19:28 <ehird> umm, those weren't part of the joke.
15:19:34 <ehird> those were part of a regular genetic algorithm.
15:19:45 <ehird> Sources: the _huge freaking arrow_ pointing to the skynet.
15:22:17 * oerjan reads the annotation and realizes why AnMaster spoke about red herrings
15:23:01 -!- oerjan has quit ("leaving").
15:24:02 * ehird reads logs and rediscovers that `vi` is a 4-character ruby infinite loop
15:25:00 <AnMaster> I wonder who many read xkcd? I mean I googled for some of those phrases in the last blag post and got over 200 000 posts for some...
15:25:09 <AnMaster> (that he said was original when he tried)
15:25:43 <ehird> 34974 is the forum members. about 10% of people join the forum, I bet.
15:26:38 -!- BeholdMyGlory has joined.
15:29:38 <Asztal> I'd guess 10% is a very optimistic figure
15:30:40 <ehird> probably 2% or something
15:30:47 <ehird> i mean, i never looked at the forum
15:31:06 <AnMaster> I have looked at it if I was linked by someone else
15:33:08 -!- ais523 has joined.
15:51:31 -!- Hiato has joined.
15:51:38 <ais523> to both ehird and Hiato
15:51:50 <ais523> who I have different reasons to say hi to, ehird because he just said hi, and Hiato for just joining
15:51:52 <ehird> i was 20 minutes late
15:52:07 <Hiato> Well hello ais523, glad I could 'just join' you :P
16:26:55 -!- Metcalf has joined.
16:28:49 <Metcalf> Should I remove this from the Brainfuck wiki page, or add a note to say it doesn't work? http://max.subfighter.com/tools/brainfuck.php?subsite=eso
16:28:57 <ais523> add a note to say it doesn't work
16:29:07 <ais523> sometimes we try to find pages in Wayback
16:29:15 <ais523> as esoprogramming links tend to break pretty quickly
16:30:03 <Metcalf> ais523: the page hasn't disappeared. The JavaScript Brainfuck interpretter doesn't work. I think the problem is with nested loops.
16:30:33 <Metcalf> Example should display ijk: +++[>+++++[>+++++++[>+<-]<-]<-]>>>.+.+.
16:30:37 <ais523> oh, in that case all the more so say it's a non-working interp
16:30:49 <ais523> I'm surprised how many non-working BF interps there are out there, actually
16:30:52 <ais523> given it's such a simple language
16:31:04 <ais523> ^bf +++[>+++++[>+++++++[>+<-]<-]<-]>>>.+.+.
16:31:30 <ais523> I remember a while back sampling how the BF interps linked from the esowiki that I could easily test handled EOF
16:31:49 <ais523> conventional wisdom here is that 0, -1, and no-change are the only three sane values, with arguments about the merits of each
16:32:08 <ais523> I came across all sorts of other values, though, like 32 and error
16:32:14 <ehird> i don't think many people argue for -1 nowadays
16:32:16 <ehird> so it's 0 vs no-change
16:32:35 <ehird> and there are programs that work with 0 but not no-change, yet all(?) no-change programs do [-], to loop anyway
16:32:38 <ehird> so 0 is prolly the best choice
16:34:11 <ais523> ehird: -1 is clearly correct if you have bignum cells
16:34:26 <ais523> inability to input NUL is just ridiculous
16:34:41 <ehird> BF cells are unsigned.
16:34:58 <ais523> because you can't wrap from 0 to +infinity
16:35:08 <ehird> bignum interps don't wrap.
16:35:16 <ehird> they error on - at 0
16:35:17 <ais523> hmm... arguably, they ought to
16:35:42 <ais523> for instance, making [-] clear a cell in a bignum interp would be kind-of cleve
16:35:48 <ais523> even if it accepted negative numbes
16:36:07 <ais523> you'd have to do a lot of converting loops to polynomials to get that to work, thuogh
16:36:55 <ais523> anyway, I strongly disagree with a system which makes it possible to have a character the interpreter is incapable of reading
16:37:10 <ais523> which is an argument for no-change on bignum I suppose
16:37:19 <ais523> because you could set the cell to 0x110000 or something before reading
16:37:24 <ais523> even though that would take a while
16:38:12 -!- Metcalf has changed nick to impomatic.
16:40:04 <AnMaster> ais523, you could do it another way: out-of-band signaling?
16:40:14 <ais523> AnMaster: in Brainfuck?
16:40:18 <ais523> you'd have to redefine the language spec
16:40:35 <ais523> I agree that might make sense for a new language, but not for a language as established as BF
16:40:37 <AnMaster> you have input store error code in one cell above
16:45:08 <ehird> <ehird`> molchuvka: the fuel that powers the steam engine that creates nightmares
16:45:30 <ais523> ah, delving into the history of #esoteric
16:45:37 <ehird> yeah, I do this a lot.
16:45:37 <ais523> back when someone had stolen ehird's nick
16:45:43 <ehird> it's more fun than the present-day #esoteric :P
16:46:01 <ais523> hmm... I need to finish Underlambda sometime
16:46:08 <ais523> and start the Great Esolang Compilation Project
16:46:37 <ais523> Slereah: no, that's just to interpret things
16:46:38 <ehird> This channel was similar to how it is now in 2002-2003.
16:46:43 <ehird> Not actual esolang discussion.
16:46:49 <ehird> Just a few active people talking about random crap.
16:46:54 <ais523> I want a project that can compile any esolang into any other, as long as they're both TC
16:47:00 <Slereah> I resemble that remark >:|
16:47:18 <ais523> and write an interp for any esolang in any other, why not
16:47:42 <ais523> if you have the compilers themself written in an esolang, you need just the one interp and you can combine it with a couple of compilers to get an anything-to-anything interp
16:47:44 <ehird> I love how in 2002 lament set the topic to "this channel is not dead aummmmmmmmm"
16:47:53 <ehird> and yet it only gets more active over time
16:47:53 <Slereah> ais523 : Wouldn't that priject be gigantic?
16:47:59 <Slereah> Or do you just mean the big esolands?
16:48:08 <ais523> I'll start with the famous ones, I think
16:48:22 <ais523> maybe make a generic BF-equivalent-compiler, that would handle half of them
16:54:15 -!- jix has quit ("Computer has gone to sleep").
16:55:58 <ehird> <Twitter> Error(461): #twitter Unable to update @replies. Twitter Fail Whale.
16:56:48 -!- Hiato has quit (Read error: 110 (Connection timed out)).
17:01:06 <impomatic> Does anyone know what the smallest bf quine is?
17:01:37 <ais523> impomatic: the null string
17:01:40 <ais523> I'm not sure what it is without cheating
17:03:36 <ehird> http://www.hevanet.com/cristofd/brainfuck/392quine.b
17:03:42 <ais523> is that the shortest possible, or just the shortest known?
17:04:01 <ehird> "(392 may be the shortest real one known)" -http://www.hevanet.com/cristofd/brainfuck/
17:14:45 -!- oklopol has joined.
17:33:06 <impomatic> Revised bf interpreter in Redcode http://impomatic.blogspot.com/2009/01/brainf-interpreter-in-redcode.html
17:33:37 <ehird> someone should implement my add-jump-if-overflow :P
17:34:13 <ehird> a b -- Add the contents of a to the contents of b, and store the result in b. If this caused an overflow, skip the next instruction.
17:34:23 <ais523> how does it do backwards jumps?
17:34:30 <ehird> special memory locations: 2=input 3=output 1=maximum int (4294967295) 0=ip
17:34:36 <ehird> ais523: overflow the ip
17:34:50 <ais523> impomatic: probably not very useful for actual CoreWars games, but it's always nice to have esolang-in-esolang implementations
17:35:06 <ais523> how does it handle EOF, by the way?
17:37:42 <impomatic> I'd have to check, I think there's a problem with the Redcode interpreter. When it reaches EOF, I think it continues to wait for a character.
17:38:05 <ais523> sometimes underlying IO issues are impossible to work aruond
17:38:26 <ais523> I've actually been trying to design an IO system for Underlambda which is general enough to compile easily into anything
17:38:36 <ais523> hmm... I have to go but I'll be back soon, need to go to a different connection
17:38:42 -!- ais523 has quit ("mibbit.com: going to a different computer").
17:45:02 -!- MigoMipo has joined.
17:46:58 -!- ais523 has joined.
17:47:48 <ais523> <sign I saw on the way here, presumably previously outside the Door but it had been moved> SECURITY DO NOT LOCK THIS DOOR, IT IS WORKING CORRECTLY
17:52:03 <ais523> AnMaster: to what appeared to be a storage place for not-in-use signs
17:52:11 <ais523> so presumably that Door has started malfunctioning again
17:52:22 <ais523> the other one seems to be working, but now has about 3 brand new control panels around it
17:54:17 <AnMaster> ais523, how hard can door be...
17:54:41 <AnMaster> well of course it depends on what material it is made of ;P
17:54:42 <ais523> this is one of the main amusements in the constant tale of the Doors
17:55:00 <ais523> AnMaster: don't explain that, I got it first time
17:55:25 <AnMaster> ais523, anyway there is more than one door with issues?
17:55:48 <ais523> yes, there are two doors
17:55:50 <ais523> and they've both had issues
17:55:59 <ais523> there is a third door which doesn't but we're not allowed to use
17:56:03 <AnMaster> no other doors at the place has issues?
17:56:07 <ehird> ais523: start a blog about the doors!
17:56:17 <AnMaster> also why aren't you allowed to use the third one?
17:56:18 <ais523> AnMaster: well, it's just external doors here
17:56:22 <ais523> from inside to outside
17:56:41 <ais523> AnMaster: they thought that having too many usable doors for entering and leaving was a security risk
17:56:57 <AnMaster> ais523, they key word here I feel is "usable"
17:57:21 <ais523> they did have to open up the third one for a while
17:57:25 <ais523> just because the other two had gone so mad
17:57:32 <ais523> but that was a while ago now
17:57:42 <AnMaster> ais523, the third one continued working even when they opened it up?
17:58:00 <ais523> the third one's been working all along
17:58:07 <ais523> normally they set it to lock itself permanently, though, nowadays
17:58:08 <AnMaster> ais523, so make it the primary?
17:58:11 <ais523> but when they set it to do something else, it works
17:58:16 <ais523> and it's in an awkward place to be the primary
17:58:32 <AnMaster> also did you say "three control panels"+
17:59:04 <ais523> because the first two didn't work?
17:59:11 <ais523> actually, I suspect one of them is actually for the air conditioning
17:59:15 <AnMaster> well if all three were brand new
17:59:17 <ais523> and it's just coincidence that it's next to the Door
17:59:21 <ais523> but why spoil a good story?
18:01:31 -!- Corun has joined.
18:13:13 <ehird> graue used to have a very short fuse
18:13:15 <ehird> http://esolangs.org/w/index.php?title=User_talk:Stux&diff=2936&oldid=2935
18:14:12 <ais523> I remember that incident
18:14:36 <ehird> the category policy is pretty stupid
18:14:46 <ais523> also, how rare to see an IP where all the numbers are less than 99?
18:15:17 <ais523> from IP because he was blocked at the time
18:16:53 <ais523> graue calmed down after a bit, anywya
18:17:10 <ais523> apparently the block was just to prevent the person causing any more damage before they saw the message telling them to stop
18:17:23 <ais523> and well-intentioned edits are sometimes blocked for the same reason in Wikipedia itself
18:17:30 <ais523> when someone isn't communicating
18:18:43 <ehird> it wasn't damage, though.
18:19:19 <ais523> it was from graue's point of view though, I think
18:19:42 <ais523> editing pages on a wiki is kind-of different from changing the set of pages that exist
18:19:51 <ais523> even though those are both considered fair game to tinker with on most wikis
18:20:01 <ais523> presumably graue wanted people to change the first but not the second
18:20:22 <ehird> meh. he's inactive enough for that policy to be irrelevant nowadays
18:21:28 -!- Hiato has joined.
18:23:31 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
18:47:19 -!- Mony has quit ("Quit").
19:00:58 -!- jix has joined.
19:07:24 <AnMaster> can you explain wtf is up with http://en.wikipedia.org/wiki/File:Erard_double_pilot_action.svg I just see a "transparency grid" there
19:07:39 <AnMaster> full size works and so does thumbnail in articles
19:07:53 <ais523> AnMaster: well to confuse the issue, it works for me too
19:08:01 <ais523> visit http://en.wikipedia.org/wiki/File:Erard_double_pilot_action.svg?action=purge
19:08:33 <ais523> do a browser cache reset?
19:08:35 <AnMaster> ais523, I'm not logged in, I don't have any account, could that affect
19:08:39 <ais523> it's control-F5 in firefox and IE
19:08:59 <ais523> cache reset and purge, and it isn't working for you but it is for me?
19:09:16 <AnMaster> ais523, ok now it suddenly works the fifth time or so...
19:09:24 <ais523> AnMaster: I just purged it
19:09:40 <ais523> and as purging is for all users, possibly my purge affected it for you
19:09:42 <AnMaster> ais523, maybe non-logged in can't purge?
19:09:52 <ais523> AnMaster: they can, but there's a click-through
19:09:55 <ais523> I wasn't logged in either
19:14:09 * ais523 just found http://en.wikipedia.org/wiki/Intelligent_falling
19:14:23 <ais523> the theory that gravity is incorrect, and some intelligent being causes things to fall
19:15:14 <Slereah> What about things that don't fall?
19:15:14 <AnMaster> ... maybe the flying spaghetti monster?
19:16:21 <Slereah> Especially devil shaped balloon
19:19:47 <ais523> hmm... it seems useless use of cat has evolved
19:19:54 <ais523> <some poster on Slashdot> cat "216.34.181.45 slashdot.org" >> /etc/hosts
19:20:23 <ais523> embarrassingly it took me a moment to spot what was wrong with that
19:24:45 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
19:25:41 <ehird> cat should be echo
19:25:42 <ais523> ofc, there is a command that does just that, it just isn't cat
19:25:45 <ehird> ais523: you missed the previous line
19:25:50 -!- puzzlet has joined.
19:25:58 <ehird> echo "127.0.0.1 slashdot.org" >"216.34.181.45 slashdot.org"
19:25:59 <ais523> ehird: didn't miss, messages crossed due to IRC and typing lag
19:26:07 <ehird> the previous line of the post
19:26:13 <ais523> ehird: the post didn't say that
19:26:23 <ais523> although someone did comment on the fact that it might just be an oddly named file
19:26:32 <ehird> i don't understand, what is this humour you speak of
19:26:34 <ehird> i mean, jokes?? what
19:27:09 <ehird> it's funny because it's true.
19:27:31 <ais523> ehird: your joke just wasn't funny
19:27:42 <AnMaster> ehird, does this imply that anything that is true is funny?
19:27:45 <ehird> better than AnMaster's, ais523
19:45:10 <AnMaster> ehird, also i wasn't making any joke here
19:45:45 * ais523 vaguely wonders if the 18 minute delay in AnMaster's comment was due to looking up an internet joke-funniness-meter
19:45:52 <ais523> there must be one in existence by now
19:46:00 <ais523> some way to tell if something is funny or not automatically
19:46:31 <ais523> ehird: you should so try that
19:46:40 <AnMaster> looking for a CD with classical music
19:46:40 <ehird> the training would be rather tedious.
19:46:41 <ais523> also, try with multiple sets of training data
19:46:46 <ais523> rated by different people
19:47:02 <ehird> actually, I could just feed it everything AnMaster has ever said in here as unfunny
19:47:10 <ehird> that'd probably work well enough
19:48:31 <ehird> I like how you're proving my joke
19:48:34 <ais523> AnMaster: {{tl|pov}}'s a block rather than inline template (at least it was last I looked), so you can't place it after a comma
19:48:49 <ais523> at least, not without formatting weirdness
19:49:05 <AnMaster> ais523, ah, well I don't edit much wikipedia. there is one that is inline however
19:49:48 <ais523> AnMaster: {{tl|pov-statement}}, apparently
19:50:03 <ais523> AnMaster: for mentioning a template rather than using it
19:50:12 <ais523> tl| is basically the quote mark for template
19:50:14 <AnMaster> ais523, and why are you doing that on irc...
19:50:16 <ais523> or tlx| if it takes arguments
19:50:22 <ais523> AnMaster: because the joke doesn't work otherwise
19:50:37 <AnMaster> ais523, I wasn't aware of this feature on wikipedia
19:50:46 <ais523> AnMaster: it isn't a feature, it's just another template
19:50:53 <ais523> which takes template names as arguments
19:50:58 <ais523> and returns the markup used to call that template
19:51:27 <ais523> you don't use it in articles, but it's pretty common on discussion pages (and often substed there, btw)
19:52:04 <ais523> to subst or not to subst tl is a huge argument
19:52:13 <ais523> and I can't even remember the arguments now, it's been so long ago
19:52:17 <ais523> since I last went over them
19:52:40 <ais523> especially as half the arguments made on that particular debate tended to be wrong or irrelevant
19:52:55 <AnMaster> there is no performance gain if the system is properly designed (ie, cache pre-rendered pages)
19:53:06 <AnMaster> and that is about the only argument for I can think of
19:53:24 <ais523> performance was one argument
19:53:36 <ais523> and actually there is, it makes the templatelinks table smaller, but people were arguing about whether that was relevant or not
19:53:54 <ais523> also, pages are edited often enough on Wikipedia that once-per-edit costs are certainly potentially relevant
19:54:02 <ais523> AnMaster: I don't think so
19:54:05 <ehird> it's hard to profile a live website.
19:54:11 <ehird> that you don't have shell access to.
19:54:13 <ais523> but see [[WP:AUM]] if you're interested in the history
19:54:15 <ais523> that was about something else
19:54:16 <ehird> without disrupting.
19:54:19 <ais523> but it was a similar argument
19:54:28 <AnMaster> well you could run a db dump and then re-run some edit history
19:54:57 <ais523> there was also <http://en.wikipedia.org/wiki/Wikipedia:Transclusion_costs_and_benefits>
19:55:08 <AnMaster> ehird, 1) db dumps are public 2) that includes edit history
19:55:09 <ais523> which was an alleged non-POV version of AUM which some people still think was biased
19:55:24 <ehird> that wasn't why I ...ed
19:55:25 <AnMaster> thus it shouldn't be that hard
19:55:35 -!- Hiato has quit ("Leaving.").
19:55:40 <ais523> and then <http://en.wikipedia.org/wiki/Wikipedia:Don%27t_worry_about_performance>
19:58:15 <ais523> and then, see <http://lists.wikimedia.org/pipermail/wikien-l/2008-February/089548.html> for the followup
19:58:33 <ais523> and there was an amusing but only vaguely related incident some time later when an admin deleted the Main Page by mistake
19:59:08 <ais523> you can restore anything
19:59:25 <ais523> unless it was deleted before the deleted revisions archive got deleted by mistake, and that was ages ago
20:00:10 <ais523> they have deleted revision archives too
20:00:32 <ais523> it's a feature new enough that I was there when it was added
20:06:02 <AnMaster> ais523, anyway about archive being deleted by mistake, that mean some with direct sql access and missing backups?
20:08:07 <ais523> AnMaster: I think it was lost in a crash
20:52:31 -!- kar8nga has joined.
20:58:37 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
21:07:14 -!- Corun has quit ("This computer has gone to sleep").
21:17:27 -!- Corun has joined.
21:22:25 -!- ais523 has quit ("http://www.mibbit.com ajax IRC Client").
21:30:48 -!- jix has quit ("...").
21:35:45 -!- puzzlet has quit (Remote closed the connection).
21:35:49 -!- puzzlet has joined.
21:36:02 -!- impomatic has quit ("http://impomatic.blogspot.com").
21:37:47 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
21:39:16 -!- oerjan has joined.
21:43:06 -!- GreaseMonkey has joined.
21:47:51 <oerjan> i don't think (h) belongs there. the others actually happen regularly. (h) fortunately does not.
21:48:26 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page; h) 4chan.
21:48:32 <ehird> Now it more accurately represents this place.
21:48:54 <oerjan> hm i haven't really noticed much 4chan. reddit, however...
21:48:55 <ehird> a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page; h) Felching – The Freshmaker!
21:49:04 <ehird> reddit is a copy of 4chan a year ago :p
21:49:09 <ehird> Slereah is responsible for most of the 4chan tbh
21:49:19 <ehird> but I have my suspicions about some people around here.
21:49:24 <oerjan> i may not recognize it...
21:49:38 <AnMaster> what about esoteric languages?
21:49:52 <GregorR> http://www.youtube.com/watch?v=3-k9C3v9Ng0
21:50:00 <ehird> that is explicitly not an element of this place
21:50:06 <oerjan> (d) and (g) cover that somewhat
21:50:06 <ehird> and basically the whole joke of the topic
21:50:11 <AnMaster> ehird, yes, ick, ccbi and so on
21:50:14 <ehird> those are just convenient links, oerjan
21:50:19 <ehird> AnMaster: no. esolangs is not a topic discussed here.
21:51:07 * oerjan shouldn't complain, given how many times he's reverted people trying to remove perl from the wiki :D
21:51:38 * AnMaster wants a complete collection of Mozart, wonder how many CDs it would fill...
21:51:44 <ehird> AnMaster: too many.
21:51:53 <ehird> also, you'd never be able to listen to it all. probably.
21:52:07 <AnMaster> ehird, well I listen to about 1 classical music CD / day
21:52:20 <ehird> I bet mozart would fill like 50 bajillion cds :-P
21:52:28 <ehird> Assuming we're talking everything mozart ever wrote.
21:52:30 <oerjan> i expect you could get Oz/Mozart on a single CD ;D
21:52:58 <ehird> it wasn't even funny
21:53:10 <ehird> AnMaster: letmegooglethatforyou.com
21:53:24 <AnMaster> "The Mozart Programming System"?
21:53:30 <ehird> no. some other oz/mozart.
21:54:12 <ehird> wow, you actually have a sarcasm detector
21:54:17 <ehird> now that's legitimately surprising :D
21:54:24 <oerjan> ehird: he _is_ slowly improving you know
21:54:27 <AnMaster> ehird, well it isn't very sensitive
21:54:50 <oerjan> a couple more years on #esoteric and AnMaster could start doing standup
21:54:58 <ehird> that's a bit optimistic
21:55:07 <AnMaster> oerjan, no thanks, I wouldn't want that
21:55:17 <ehird> GregorR: holy shit that video is depressing.
21:55:20 <AnMaster> + I have "scenskräck", don't know English word
21:55:22 <ehird> and I'm only 2:30 in.
21:55:27 <ehird> AnMaster: Scene crack?
21:55:51 <AnMaster> ehird, as in scared to be in front of a large audience
21:55:54 <GregorR> ehird: It's so well done in a horrible, horrible way.
21:55:57 <ehird> GregorR: WHY ARE YOU DOING THIS TO ME
21:56:39 <ehird> AnMaster: I don't think there is one
21:57:00 <oerjan> agoraphobia is related
21:57:30 <AnMaster> haha at google translate "scene of horror" <--- no. not at all
21:57:40 <ehird> GregorR: oh my god. I think you just ruined my life forever.
21:57:53 <AnMaster> ehird, well right I'm not going to watch that video then
21:58:03 <ehird> AnMaster: It's about a cartoon rabbit. He dies.
21:58:17 <AnMaster> oh, doesn't sound too bad, unless it is bloody
21:58:50 <ehird> AnMaster: It will ruin your life forever.
21:58:57 <AnMaster> Slereah, I explicitly don't trust what you say. ever.
21:59:06 <GregorR> AnMaster: It's not bloody, it's not even violent.
21:59:12 <GregorR> AnMaster: It's just really, really sad :P
21:59:35 <AnMaster> well too much work using youtube-dl and so on
21:59:48 <ehird> You are safe, AnMaster.
21:59:49 <Slereah> 'cause Watership Down is totally awesome
21:59:52 <ehird> You can still feel happiness.
22:00:03 <ehird> Shed a tear for those lost to that video.
22:00:12 <AnMaster> also, have anyone here ever heard about the composer Kraus before?
22:00:18 <Slereah> http://en.wikipedia.org/wiki/Watership_Down_(film)
22:00:42 <oerjan> ooh found it: "stage fright"
22:01:40 <ehird> You know, I think I support internet censorship. We need to protect the human race from that video.
22:02:04 * oerjan searched http://phobialist.com/ . it was not a keyword, but part of a description.
22:02:28 <FireFly> Phobophobia- Fear of phobias.
22:02:30 <ehird> "Use Manipulative Psychology to Make People Like, Respect, and Befriend You"
22:02:42 <ehird> -http://www.thepopularlife.com
22:02:45 <AnMaster> ehird, ouch, don't you see, the pro-censor people made this to make people want to censor the internet
22:02:57 <ehird> AnMaster: It destroys lives. We cannot accept this.
22:03:02 <ehird> Think of the goddamn children. :'(
22:03:21 <AnMaster> ehird, well their parents shouldn't let them enter on youtube
22:03:35 <AnMaster> parent control thing you know ;P
22:03:40 <ehird> I think compared to that video the rest of youtube is fine by me :P
22:03:48 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
22:03:50 <ehird> I'm only glad I didn't click the HD version
22:03:53 -!- puzzlet has joined.
22:03:58 <ehird> I think the high quality would have destroyed my brain
22:04:05 <ehird> On the other hand, that's better than my permanent torment.
22:04:23 <AnMaster> <FireFly> Phobophobia- Fear of phobias. <-- does that exist?
22:04:45 <FireFly> It says in the list on that page
22:05:04 <AnMaster> what about a phobia against not having a complete list of phobias?
22:05:48 <ehird> Nothavingacompletelistofphobiasphhobia
22:05:52 <ehird> *Nothavingacompletelistofphobiasphobia
22:06:08 <AnMaster> something like that probably yes
22:06:34 <AnMaster> Google translate to the rescue!
22:08:20 <FireFly> It has greek, but it gives you greek letters (how surprising)
22:09:02 <AnMaster> FireFly, and that is modern greek I believe
22:09:12 * oerjan invents apanphobophobia
22:09:18 <FireFly> Could be, I know.. 0 greek
22:10:10 <kerlo> We should use lojban affixes to make these.
22:11:06 <kerlo> Fear of dogs, ge'uphobia. Fear of abruptness, suksyphobia. Fear of milk, ladryphobia.
22:11:28 <GregorR> Apandaphobia = not basing your entire life on fear or something :P (Not all from fear)
22:12:17 <GregorR> It's a corruption of "de" :P
22:12:53 <GregorR> Just because "phobia" is greek doesn't mean the prefix can't be latin, we're not speaking either.
22:13:07 <ehird> Pandaphobia = fear of pandas
22:13:14 <ehird> GregorR's is therefore fear of a lack of pandas
22:13:23 <FireFly> Apandaphobia = fear of no pandas ?
22:13:26 <oerjan> i was just about to claim that
22:13:27 <kerlo> Dyspandaphobia: fear of difficulty with pandas.
22:13:29 <GregorR> It's the lack of the fear of pandas :P
22:13:39 <kerlo> Actually, I was--yes, what GregorR said.
22:14:06 <ehird> Panda NAND a phobia
22:14:10 <kerlo> So you're about to say something, when someone else says something similar, and then another person says they were about to say the same thing, and then another person says they were about to say the thing you were about to say.
22:14:13 <ehird> sounds like a surrealist programming comic.
22:14:35 <kerlo> badnyphobia, fear of bananas.
22:14:52 <oerjan> kerlo: clearly it was an idea whose time was come
22:15:40 <oerjan> badny? is that more lojban?
22:15:42 <kerlo> xralisphobia, fear of comic strips.
22:15:46 <kerlo> badny is lojban, yes.
22:16:17 <GregorR> Englishprefixaphobia, fear of words with prefixes from English (rather than Greek or Latin)
22:16:20 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
22:16:50 -!- puzzlet has joined.
22:18:15 <GregorR> Calorimeteraphobia: Fear of words formed from irrelevant roots or prefixes.
22:18:43 <FireFly> Lojbanophobia, self explaining
22:18:55 <GregorR> Fear of large bananas, of course.
22:19:00 -!- Judofyr_ has joined.
22:19:03 <kerlo> You mean gicli'erafyphobia.
22:19:18 <kerlo> (English-precede-affix-phobia.)
22:19:42 -!- Judofyr has quit (Read error: 60 (Operation timed out)).
22:20:00 <kerlo> And you mean jbophobia, of course, jbo being the lojban affix. :-P
22:20:47 <GregorR> Phobaphobaphobaphobaphobia: Fear of the fear of the fear of fear of fear.
22:21:33 <AnMaster> <oerjan> is de greek? .de is German....
22:21:49 * oerjan swats AnMaster -----###
22:22:13 <AnMaster> oerjan, it went right through without hitting anything
22:22:37 <oerjan> rooseveltophobia: the fear of nothing but fear itself
22:22:49 <ehird> GregorR: The only thing to fear is the fear of the fear of the fear of the fear of fear itself.
22:23:04 <AnMaster> oerjan, um what? wouldn't it be the fear of meeting roosevelt?
22:23:26 <oerjan> AnMaster: Nej, han är ju død.
22:23:29 <ehird> that's a roosevelt quote
22:23:55 <AnMaster> oerjan, ja, jag skulle nog vara rädd att möta honom just därför!
22:24:21 <kerlo> Fear of the fear of fear of fear of the fear of fear of the fear of the fear of fear of inconsistency.
22:24:45 <oerjan> AnMaster: you're supposed to say "Men han rör ju på sej!"
22:24:52 <AnMaster> you have basic phobias, I mean fear of snakes, fear or whatever
22:25:05 <AnMaster> then you have fear of fear of snakes, and so on
22:25:09 <kerlo> Sing it to the tune of "Clocks" by Coldplay: fear of the fear of the fear of fear of the fear of the fear of...
22:25:13 <ehird> It's called language, AnMaster
22:25:16 <FireFly> Hexakosioihexekontahexaphobia — fear of the number 666.
22:25:24 <ehird> kerlo: That would involve listening to Coldplay.
22:25:28 <ehird> I really don't want to do that.
22:25:42 <oerjan> actually phobophobophobophobia _clearly_ means fear of recursion
22:26:02 <AnMaster> oerjan, yes and fear of fear of recursion is?
22:26:16 <kerlo> Much simpler in lojban: xavyxavyxavyphobia = fear of 666.
22:26:23 <oerjan> AnMaster: too horrible to contemplate.
22:26:29 <ehird> Lojban uses decimal. Why. :(
22:26:36 <kerlo> It doesn't have to use decimal.
22:26:47 <kerlo> I think decimal is default, but xa can be 6 in any base.
22:26:49 <oerjan> AnMaster: no idea what psykfall means
22:26:54 <kerlo> It even has words for the digits A-F.
22:27:35 <AnMaster> oerjan, well it is slang.... "nutjob" I believe the English slang would be
22:28:09 <AnMaster> psykfall implies someone locked in too
22:28:48 <kerlo> nagjibyphobia, fear of nut jobs.
22:29:06 <BeholdMyGlory> Hippopotomonstrosesquippedaliophobia- Fear of long words.
22:29:10 <ehird> bsmntbombgirl: by implementing trivial pattern matching as a hash table
22:29:35 <AnMaster> bsmntbombgirl, with a perfect hash I guess
22:29:51 <kerlo> I believe gainovaivaireirei ju'u paxa is lojban for 0xC0FFEE.
22:30:33 <ehird> bsmntbombgirl: as in
22:30:40 <ehird> f 0 = 1; f 1 = 45345345; f 2 = 892748396;
22:30:48 <ehird> should be implemented as a hash table from {0:1,...} in the lang
22:31:57 <bsmntbombgirl> what's the table containing all the values from 1 to n, n determined at runtime
22:32:15 <ehird> lazy evaluation :P
22:32:41 <Asztal> ehird: what would you use, sexagesimal?
22:32:49 <kerlo> Say, have there been attempts to interpret the nick "kerlo" as a subtle hint that I'm a transwoman?
22:32:58 <ehird> kerlo: I think so.
22:33:04 <ehird> Asztal: duodecimal or something. It's meant to be perfect :-P
22:33:58 <AnMaster> kerlo, um? I googled the nick just now and first hit was some starwars wiki
22:39:56 -!- BeholdMyGlory has quit ("godnatt på er, folk").
22:46:46 <kerlo> Consensus is that the nick "Warrigal" was by far the most explicit.
22:48:43 -!- olsner has quit ("Leaving").
22:49:13 -!- Corun has quit ("This computer has gone to sleep").
23:39:06 <ehird> WHAT THE CHRIST. [[WP:DICK]] was turned into a soft redirect.
23:43:55 <oerjan> you mean it went soft?
23:53:58 <ehird> http://svn.python.org/view?rev=68924&view=rev OH YEAH.
23:54:05 <ehird> Python 3.0 SPPEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDD
23:54:26 <ehird> Or rather, still slow :-P BUT STILL
00:08:06 -!- FireFly has quit ("Later").
00:21:23 <ehird> <RodgerTheGreat> the halting problem can be solved trivially on a machne without time or memory constraints
00:22:35 <ehird> he then clarifies that he was talking about an FSM.
00:22:43 <ehird> because it's not as if the halting problem refers to turing machines or anything.
00:23:50 <ehird> no, because "halting problem" means "turing machine halting problem"
00:24:01 <ehird> since ther eis no such problem on a FSM
00:24:57 <ehird> sure, halt-checking an FSM on a turing machine is trivial.
00:25:02 <ehird> you just check for repeated states.
00:25:38 <ehird> I was talking about FSMs.
00:27:34 <oerjan> ehird: actually the halting problem for lower complexity classes is somewhat important. for one thing, it gives an easy way to prove that there _are_ an infinite hierarchy of such classes.
00:27:48 <ehird> oerjan: we were discussing turing machine halting problems at the time, tho.
00:30:39 <oerjan> not sure, i'm not used to think of those as potentially non-halting
00:33:59 <oerjan> since they are usually combined with parsing, for which the important thing is which languages they recognize
00:34:27 <oerjan> any non-halting would have to happen _between_ two input chars (or at the ends)
00:37:39 <oerjan> the recognized languages are context-free, so contained in the context-sensitive ones, which can be recognized in linear space
00:39:32 <oerjan> if you can do that on the level of computation, then a little more than linear space should be sufficient to solve the halting problem.
00:42:40 <oerjan> http://www.cse.ohio-state.edu/~gurari/theory-bk/theory-bk-threese6.html: "Theorem 3.6.3 The halting problem is decidable for pushdown automata."
00:46:54 <oerjan> bsmntbombgirl: so apparently, yes
00:52:16 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
00:54:15 -!- puzzlet has joined.
01:04:23 <oerjan> (non-deterministic pda)
01:06:32 <oerjan> well befunge without self-modification
01:07:36 <bsmntbombgirl> because it would be interesting to see how useful a language for which the halting problem is solvable is
01:08:45 <oerjan> oh and no deep stack operations in case befunge has that (i forget)
01:10:42 <oerjan> i don't think you could use it to add two bignums in ordinary decimal notation, say
01:11:22 <oerjan> although bizarrely if you reversed the second number, you could print the reverse result :D
01:11:53 <oerjan> won't work for multiplication though
01:17:13 <bsmntbombgirl> because the halting problem is still solvable there
02:27:42 -!- CakeProphet has quit ("lol").
02:33:40 <GregorR> Kipple is a PDA if you only use one stack :P
02:35:21 -!- GregorR has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page; h) Felching – The 4chanmaker!.
02:47:36 -!- psygnisfive has joined.
02:56:31 -!- psygnisfive has quit (Read error: 145 (Connection timed out)).
03:05:34 -!- CakeProphet has joined.
03:13:35 -!- Sgeo has joined.
03:38:53 -!- Sgeo_ has joined.
03:56:33 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
04:26:41 -!- oerjan has quit ("leaving").
05:06:28 -!- MizardX has quit ("reboot").
05:09:48 -!- Sgeo_ has quit (Read error: 104 (Connection reset by peer)).
05:10:53 -!- MizardX has joined.
05:31:46 -!- lament has changed nick to lamente.
07:05:13 -!- jix has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:16:47 -!- poiuy_qwert has joined.
08:25:33 -!- Slereah2 has joined.
08:36:33 -!- Slereah has quit (Read error: 110 (Connection timed out)).
08:55:35 -!- GreaseMonkey has quit ("Client Excited").
10:24:09 -!- oklopol has joined.
10:26:00 <oklopol> possible? no. happened? fuck yeah.
10:49:39 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
11:25:19 <ehird> <pikhq> SimonRC: You've just commited a grave logical fallacy: Argumentum ad Paul Graham.
11:41:48 <ehird> You will be happier not knowing.
11:43:46 <Slereah2> "Paul Graham (born 1964) is a programmer, venture capitalist, and essayist, known for his work on Lisp."
11:46:08 <ehird> It's kind of complicated.
11:49:04 -!- CakeProphet has quit ("lol").
11:51:20 -!- oklopol has joined.
12:32:43 -!- poiuy_qwert has quit.
12:55:48 <ehird> 10:56:12 <oklokok> "I enjoy doing thing spontaneously." <<< thing is a character in addam's family
12:55:48 <ehird> 10:56:19 <oklokok> it's a hand10:56:24 <oklokok> does this refer to masturbation?
13:13:09 -!- Slereah has joined.
13:29:44 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
14:12:38 -!- Judofyr_ has changed nick to Judofyr.
14:31:31 -!- Slereah2 has joined.
14:43:44 -!- Slereah has quit (Read error: 110 (Connection timed out)).
15:30:01 -!- FireFly has joined.
15:43:14 -!- BeholdMyGlory has joined.
15:43:54 -!- Sgeo has joined.
16:40:12 -!- kar8nga has joined.
16:45:48 -!- Hiato has joined.
16:57:09 -!- kar8nga has quit (Read error: 145 (Connection timed out)).
17:12:25 -!- impomatic has joined.
17:13:26 <impomatic> ^bf ++++++++++++++[>>+>++>+++>++>+++<<[++++<]<-]>>>>>[+++<]>-.>>.+++++++..+++.>>++.<+.<<.>.+++.------.--------.>+.
17:13:36 -!- oklopol has quit (Read error: 110 (Connection timed out)).
17:16:50 <ehird> impomatic: i think that's longer than it could be
17:17:07 -!- ais523 has joined.
17:18:28 <Hiato> Does anyone have an intricate understanding of FAT12+[N/Y/F]ASM here?
17:19:05 <ais523> Hiato: FAT12 sounds like a 12-bit filesystem
17:19:13 <ais523> presumably it isn't that
17:19:44 <Hiato> nope, shouldn't think so.. Personally I have no actual clue, just did the ole "copy-n-paste" and it failed me
17:20:03 -!- MigoMipo has joined.
17:21:47 <impomatic> It's 12 bit, I wrote code to read files from it about 15 years ago
17:22:06 <impomatic> But I wouldn't be much help. I only read it, never tried to manipulate it
17:22:09 -!- Sgeo_ has joined.
17:25:05 <Hiato> Well, it's a start, so if you dig it up that would be nice :)
17:25:24 <Hiato> I think the write code is fine, but I can't test it until I can read :P
17:32:54 -!- oklopol has joined.
17:34:00 -!- MigoMipo has quit ("Changing server...").
17:36:39 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
18:21:01 -!- Slereah has joined.
18:33:03 -!- decipher_ has changed nick to decipher.
18:33:19 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
18:34:51 -!- olsner has joined.
18:40:24 -!- BeholdMyGlory has quit ("hejdå").
18:43:04 -!- Sgeo has joined.
19:00:59 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
19:27:43 -!- jix has quit (Read error: 104 (Connection reset by peer)).
19:27:54 -!- jix has joined.
19:33:39 -!- FireFly has quit ("Brb").
19:37:12 -!- ais523 has quit (Remote closed the connection).
19:40:50 -!- ais523 has joined.
19:41:37 -!- BeholdMyGlory has joined.
19:51:50 -!- oklopol has quit (Read error: 110 (Connection timed out)).
19:53:35 -!- oklopol has joined.
19:55:21 <impomatic> ^bf +++++[>+++[>>+>++>+++>+++>++>+++<<[++++<]<-]<-]>>>---.>>----.>+++..+++.>>-.<++.<<<---.>>.+++.------.<-.>>+.
19:55:46 <ais523> triple-nested loops in a BF hello world?
19:55:48 <ais523> I don't see that often
19:56:43 <oklopol> we should make a <=50 character hello world
19:57:01 <impomatic> Yeah, shame it's 107 instructions and not <106
19:57:16 <ehird> you can shave off an instruction
19:57:26 <ehird> ^bf +++++[>+++[>>+>++>+++>+++>++>+++<<[++++<]<-]<-]>>>---.>>----.>+++..+++.>>-.<++.<<<---.>.+++.------.<-.>>+.
19:58:08 <ehird> anyway it isn't even a correct program right now
19:58:11 <ehird> the w should be lowercase
19:58:14 <ehird> does it do newlines?
19:58:18 <ehird> ^bf +++++[>+++[>>+>++>+++>+++>++>+++<<[++++<]<-]<-]>>>---.>>----.>+++..+++.>>-.<++.<<<---.>>.+++.------.<-.>>+
19:58:33 <ais523> ehird: there are all sorts of debates about the exact spelling and punctuation of hello world
19:58:48 <ehird> Hello, world!\n is the most common for human-written ones as far as I can se
19:59:03 -!- psygnisfive has joined.
19:59:16 -!- psygnisf_ has joined.
19:59:45 <impomatic> I've seen "Hello, World!", "Hello World!\n" and "Hello, world!"
19:59:48 -!- psygnisf_ has changed nick to psygnisfive_.
20:00:02 <ehird> without newline is just a bug
20:00:11 <ehird> since it will fail on any correct console interpreter
20:00:16 <impomatic> I'm working on "Hello, World!" because that's the example someone showed me
20:00:28 <ehird> I'd go for Hello, world!\n
20:00:32 <ehird> just a change of case and one new char
20:02:20 <GregorR> I would go with Greetings, personified globular iron construct orbiting sol!\r
20:02:40 <ehird> he's been here days
20:02:46 <ais523> only a few days, though
20:03:30 <ehird> psygnisfive_: you're new too :p
20:04:32 <psygnisfive_> also, im pretty sure i was actually first here in like
20:04:41 <ehird> I grepped for both augur and psygnisfive
20:05:25 <ehird> for the record: I first joined 2006-12-29, left like 20 seconds after, next joined (and spoke and stuff) 2007-05-14
20:06:26 <ehird> then you were here as a ghost.
20:06:28 <ehird> what was your nick
20:06:42 -!- FireFly has joined.
20:06:48 <psygnisfive_> dude, thats after your first reported sighting of me :P
20:07:02 <ehird> that's your first join as augur
20:07:10 <ehird> you first joined as augur
20:07:16 <ehird> then on the 27th as psygnisfive
20:07:19 <ehird> 08.05.27:07:36:40 --- nick: augur -> psygnisfive
20:08:55 <psygnisfive_> so from the 16th to the 19th i was using mibbit for irc i guess
20:09:07 <ehird> guys, remember faxasthisia? he was cool
20:09:25 <ehird> why did he fall off the face of the earth?
20:09:26 <ais523> although not what they were like
20:09:49 <oklopol> i remember the nick, and that there was something worth remembering about it, but i don't remember what it was.
20:10:05 <oklopol> oh wait is it just that he *may have been* the guy who knew j.
20:11:06 <ehird> he was last here 38 weeks ago
20:11:50 <ehird> wow, someone has a text file of ridiculous faxathisia quotes.
20:11:52 <ehird> http://ross.fappett.com/misc/fax.txt
20:11:56 <ehird> he never acted like that in here :P
20:14:45 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
20:17:56 <ehird> Faxathisia is dead. RIP.
20:19:29 <oklopol> lol some of those were pretty funny
20:19:58 <ehird> FAXATHISIA IF YOU BE READING THIS COME BACK K
20:20:34 <ehird> http://fax.twilightcoders.net/ Site of a dead man
20:20:45 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
20:22:43 <ehird> http://fax.twilightcoders.net/AquaBreakout/ Cute
20:23:00 <ais523> a polyglot binary that ran on lots of different OSs and architectures could be interesting
20:23:07 <ais523> but probably impossible due to the way ELF headers work
20:23:09 <psygnisfive_> i think i shall start working on an actual interpreter for my language. :T
20:36:42 -!- Hiato has quit (Read error: 110 (Connection timed out)).
20:38:17 <impomatic> psygnisfive_: new here, not new to esoteric languages :-)
20:39:59 <ehird> i kind of doubt that
20:40:38 <psygnisfive_> i mean, its not like i marked it in my calendar, you know, but
20:41:19 <psygnisfive_> i think i first discovered esolangs in yahoo's directories
20:41:40 <psygnisfive_> this was before wikipedia was what it is now, obviously
20:42:02 <ehird> wikipedia started in 2001.
20:42:11 <ehird> your lies are revealed!
20:42:16 <psygnisfive_> yeah, but i didnt know about it until like .. 2002?
20:42:32 <ehird> thats not what you asid
20:42:38 <ehird> you said before wikipedia was what it was now
20:42:46 <oklopol> i probably learned about wp in like 2007
20:42:48 <ehird> thus implying the existance of wikipedia
20:42:58 <ehird> or you would have just said, before wikipedia
20:43:01 <ehird> ergo, not 10 years
20:43:16 <psygnisfive_> i actually thought wikipedia started in the late 90s
20:43:18 <ais523> I discovered esolangs via the 99bob website
20:43:25 <ais523> and esolangs.org via Wikipedia via google
20:43:37 <ais523> and #esoteric via esolangs.org
20:43:53 <oklopol> i'm pretty sure "before wp was what it is now" meant wikipedia didn't exist, with the additional "don't make smart-ass comments about it somehow technically existing in some form"
20:44:00 <ehird> ais523: but I thought you could do without google.
20:44:08 <ais523> I can nowadays, mostly
20:44:18 <ais523> this was back before I was very internet-savvy
20:44:24 <ais523> I didn't even know about IRC or Usenet back then
20:44:50 <ehird> umm, 1992 wasn't it
20:44:56 <impomatic> I started playing with esolangs in 1993.
20:45:04 <ehird> redcode counts, impomatic
20:45:08 <ehird> so when did you start then
20:45:09 <ais523> redcode's more an interesting variant of asm
20:45:26 <ais523> and asm would be an esolang if it wasn't so widespread
20:46:00 <ehird> all this only proves that your definition of esolangs is needlessly vague and wide-spanning, ais523
20:46:38 <psygnisfive_> since my definition is needlessly specific and narrow-spanning
20:47:24 <oklopol> NARROW NARROW NARROW IT DOWN, GENTLY DOWN THE STREAM
20:49:21 <oklopol> lol i wasn't even alive in 91 :\
20:49:25 <impomatic> My modem is apparently not connected?
20:49:28 <ehird> oklopol: nor I :-D
20:49:31 <ehird> impomatic: i hear you
20:49:46 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page; h) Felching – The 4chanmaker!; i) YOUNGUNS.
20:49:48 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page; h) Felching – The 4chanmaker!; i) YOUNG UNS.
20:50:03 <ehird> that is why i added the space
20:50:03 <oklopol> that's much worse than eurocreme...
20:50:34 <impomatic> oklopol: You're making me feel old!
20:52:18 -!- FireFly has quit ("Later").
20:54:38 <ehird> I don't think we need to know, psygnisfive_
20:56:18 <oklopol> was just about to ask "what are those", but i guess ehird is right
20:56:29 <ehird> 20:50 ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page; h) Felching – The 4chanmaker!; i) YOUNG UNS
20:56:44 <ais523> I think it's time for a new topic
20:56:56 <ehird> so does GregorR, since he's added to it.
20:57:02 <ehird> also, i didn't even originate it, you did
20:57:08 <ehird> the first three items are yours
20:57:09 <ais523> it's just got out of control
20:57:16 <ehird> it's not that long
20:57:23 <ehird> remove up to the end of the wiki link, I guess
20:57:29 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page.
20:58:32 -!- GreaseMonkey has joined.
20:58:58 -!- BeholdMyGlory has quit ("hejdå").
21:02:08 -!- GreaseMonkey has quit (Client Quit).
21:02:58 -!- GreaseMonkey has joined.
21:05:30 <GregorR> Awww, but you shouldn't have removed imne :(
21:08:30 -!- kar8nga has joined.
21:11:02 -!- psygnisfive_ has quit (Read error: 110 (Connection timed out)).
21:12:18 <impomatic> Anyone here got a programming blog?
21:13:33 -!- BeholdMyGlory has joined.
21:22:52 <Judofyr> impomatic: http://judofyr.net
21:26:53 -!- BeholdMyGlory has quit.
21:27:48 <ais523> Judofyr: about that tail-call optimisation
21:27:55 <ais523> why doesn't Ruby have that tail-recursion operator from Perl?
21:28:12 <ais523> it's one of my favourites!
21:28:20 -!- BeholdMyGlory has joined.
21:40:12 -!- FireFly has joined.
21:41:15 -!- Corun has joined.
21:43:04 * ehird blogs, but doesn't atm. :-P
21:43:59 <oklopol> i can't blog, because i dislike the term :<
21:45:48 * ehird bookmarks http://vjn.fi/oklopol/og/ pre-emptively
21:46:17 <oklopol> guess i could og my reading diary....... that would pretty much sum up my life.
21:46:27 <oklopol> that is, publish thems.rtf.
21:46:46 <ehird> i would totally pay you to maintain an html page with date-attached oko towers and reading log entries.
21:46:53 <ehird> it'd be like. the oko shrine
21:47:00 <ehird> the ogo shrine hur hur
21:47:22 <oklopol> yeah, maybe it could be an og about oko.
21:47:37 <oklopol> liek jib down the oko aspects of my life.
21:48:40 <ehird> 2009-01-26<br>Today I made an oko so big it crashed the IRC server.<br><br>
21:49:09 <ais523> crashing Freenode with an oko would be impressive
21:49:15 <ais523> it would effectively have to be a DDOS oko
21:49:31 <ehird> AnMaster: I think you should stop provoking me to give you the full rant on why XHTML lovers are idiots.
21:50:02 <ais523> ehird: that common maxim that you keep quoting, I suspect is dangerous
21:50:09 <AnMaster> ehird, simple: If I loved html you would love xhtml instead ;P
21:50:27 <ais523> if everyone's being liberal in what they accept, then people with an agenda can be liberal in what they produce
21:50:40 <ehird> AnMaster: fun fact: I have had opinions before I unfortunately met you.
21:50:47 <ais523> in XHTML, it's the people who don't know what they're doing that look like idiots
21:50:49 <ehird> ais523: Postel's Law isn't the whole argument by far.
21:51:00 <ehird> Also, people with an agenda being liberal in what they produce...
21:51:03 <ehird> will change what, exactly?
21:52:17 <ais523> it will change the standard
21:52:25 <ais523> as other people will have to conform to their liberal productions
21:52:31 <ais523> rather than other people's liberal prodcutions
21:52:59 <ehird> You misunderstand Postel's Law, but I'm not having this conversation atm.
21:54:41 -!- kar8nga has quit (Read error: 60 (Operation timed out)).
21:56:07 <oklopol> can you translate that, i do not understand natural language.
22:02:33 -!- impomatic has quit ("http://impomatic.blogspot.com").
22:02:56 <ehird> http://uncyclopedia.wikia.com/wiki/Uncyclopedia:An_Appeal_From_Uncyclopedia_Mother%2C_Codeine%27s_Mum
22:04:12 <ais523> %27 is apostrophe, IIRC
22:09:29 <Slereah> Don't go to uncyclopedia, ehird
22:09:46 <ehird> the idiot m p darke linked to it. But I found the linked article, linked to in the header of the linked article, funny.
22:09:52 <ehird> was that sufficiently confusing
22:10:03 <ais523> I think one of the only times I went to Uncyclopedia was because someone had copied one of their articles over to Wikipedia
22:10:22 <ais523> and people kept removing deletion tags from it
22:10:37 <ais523> so I marked it copyvio
22:10:51 <ais523> yay for incompatible licences
22:39:47 -!- oerjan has joined.
22:43:26 <oerjan> <Slereah2> "Paul Graham (born 1964) is a programmer, venture capitalist, and essayist, known for his work on Lisp."
22:43:39 <oerjan> <Slereah2> Why is he so terrible
22:43:59 <oerjan> iiuc he is essentially a lisp fundamentalist
22:44:26 <ehird> he's just an idiot
22:44:27 <oerjan> although i haven't paid that much attention to him
22:45:46 <oerjan> ehird: i _might_ claim that follows as a consequence, if he is a fundamentalist
22:46:12 -!- BeholdMyGlory has quit ("godnatt").
22:47:06 <oerjan> s/fundamentalist/fanatic/ if the first word doesn't actually fit
22:59:35 -!- ais523 has quit.
23:13:35 <ehird> 0xFF bottles of beer on the wall
23:13:37 <ehird> 0xFF bottles of beer
23:13:39 <ehird> Take one down, two's complement it
23:14:50 <oerjan> or is there a size problem?
23:15:25 <oerjan> and how do we reverse entropy?
23:15:38 <oerjan> (last one thrown in just in case)
23:15:57 <GregorR> ... "two's complement" is not a verb ...
23:16:13 <oerjan> i think it verbs just fine
23:16:34 <GregorR> Then what does it mean? There's no action that's "two's complement"ing a ... number? Stream of bits?
23:18:41 <oerjan> it whats a meaning of calculating the two's complement. stop complainingly mindlessing.
23:19:30 <oerjan> probably in-placing it, too
23:24:11 <ehird> GregorR: I don't care, it amuses me.
23:24:19 <ehird> (It's from the 2007 logs, said by me)
23:26:49 -!- CakeProphet has joined.
23:44:09 -!- olsner has quit ("Leaving").
23:57:38 <oklopol> GregorR: i think you just lack a skill in an english.
23:58:04 <oerjan> oklopol: i sentiment exactly
23:58:30 <oklopol> i think i should probably book a read
23:58:52 <oerjan> also, since finnish doesn't have articles, would those be reasonable mistakes for a finn to make?
23:58:54 <ehird> concatenative languages are awesome
00:00:27 -!- FireFly has quit ("Brb IRL").
00:00:32 <oklopol> oerjan: finns tend to drop articles, and occasionally swap a/an. i don't think "an english" could ever happen.
00:01:20 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
00:01:25 <oklopol> ofc there's no such thing as a reasonable mistake
00:03:59 <oklopol> i want to make a graphical programming language :|
00:04:11 <oklopol> not only based on graphs, but also, like, graphical.
00:04:15 <ehird> i wrote a 6 line concatenative program
00:04:20 <ehird> non-concatenative version? 20 fucking lines.
00:04:31 <ehird> more like 25 actually.
00:05:30 <ehird> it isn't technically a program as much as a program fragment I cooked up when thinking about concatenative langs for a game engine scripting language
00:05:35 <oerjan> ehird: so you have a non-concatenative fucking programming language where the programs consist of fucking lines?
00:05:38 <ehird> class: <person> name age ;
00:05:39 <ehird> : make-person <person> make 'age set! 'name set! ;
00:05:41 <ehird> : speak [ 'name get ] dip "%s says: %s\n" printf ;
00:05:43 <ehird> class: <npc>:<person> evilness ;
00:05:45 <ehird> : make-npc make-person <npc> downcast 'evilness set! ;
00:12:17 -!- jix_ has joined.
00:16:59 -!- jix has quit (Read error: 60 (Operation timed out)).
00:32:27 -!- Corun has quit ("This computer has gone to sleep").
00:36:00 -!- jix_ has quit ("...").
02:27:26 -!- CakeProphet has joined.
02:42:19 -!- bsmntbombgirl has quit (Read error: 60 (Operation timed out)).
02:45:40 -!- bsmntbombgirl has joined.
02:46:30 -!- bsmntbombgirl has changed nick to bsmntbombdood.
03:14:56 * oerjan notes that the genius of his idea has left bsmntbombdood speechless
03:16:19 <oerjan> what do you have against wallabies, you animal fiend
03:17:44 <bsmntbombdood> Ken Thompson visited our lab at QMC while I was developing it and said something like: "yeah, I've seen editors like that, but I don't feel a need for them, I don't want to see the state of the file when I'm editing".
03:21:07 -!- Sgeo has joined.
03:48:48 -!- sazl has joined.
05:01:15 -!- oerjan has quit ("leaving").
05:09:11 -!- sazl has quit (kornbluth.freenode.net irc.freenode.net).
05:09:11 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
05:09:11 -!- Leonidas has quit (kornbluth.freenode.net irc.freenode.net).
05:09:14 -!- Leonidas has joined.
05:09:21 -!- sazl has joined.
05:09:27 -!- mtve has joined.
05:09:40 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
05:09:41 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net).
05:10:04 -!- sebbu has quit (kornbluth.freenode.net irc.freenode.net).
05:10:04 -!- adimit has quit (kornbluth.freenode.net irc.freenode.net).
05:10:23 -!- sebbu has joined.
05:11:31 -!- Sgeo has quit (kornbluth.freenode.net irc.freenode.net).
05:11:47 -!- Sgeo has joined.
05:12:10 -!- sazl has quit (kornbluth.freenode.net irc.freenode.net).
05:12:10 -!- Leonidas has quit (kornbluth.freenode.net irc.freenode.net).
05:12:10 -!- GreaseMonkey has quit (kornbluth.freenode.net irc.freenode.net).
05:12:10 -!- oklopol has quit (kornbluth.freenode.net irc.freenode.net).
05:12:11 -!- dbc has quit (kornbluth.freenode.net irc.freenode.net).
05:12:11 -!- lamente has quit (kornbluth.freenode.net irc.freenode.net).
05:12:12 -!- AnMaster has quit (kornbluth.freenode.net irc.freenode.net).
05:12:26 -!- oklopol has joined.
05:12:29 -!- dbc has joined.
05:12:32 -!- lamente has joined.
05:12:59 -!- bsmntbombdood has quit (kornbluth.freenode.net irc.freenode.net).
05:12:59 -!- Slereah has quit (kornbluth.freenode.net irc.freenode.net).
05:13:00 -!- ehird has quit (kornbluth.freenode.net irc.freenode.net).
05:13:00 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
05:13:05 -!- ehird has joined.
05:13:07 -!- Slereah2 has joined.
05:13:27 -!- puzzlet has quit (kornbluth.freenode.net irc.freenode.net).
05:13:28 -!- comex has quit (kornbluth.freenode.net irc.freenode.net).
05:13:37 -!- comex has joined.
05:13:38 -!- GregorR has joined.
05:13:48 -!- rodgort has quit (kornbluth.freenode.net irc.freenode.net).
05:13:54 -!- rodgort has joined.
05:13:58 -!- Sgeo has quit (Client Quit).
05:14:05 -!- bsmntbombdood has joined.
05:14:21 -!- comex has quit (kornbluth.freenode.net irc.freenode.net).
05:14:21 -!- Slereah2 has quit (kornbluth.freenode.net irc.freenode.net).
05:14:22 -!- MizardX has quit (kornbluth.freenode.net irc.freenode.net).
05:14:22 -!- Dewi has quit (kornbluth.freenode.net irc.freenode.net).
05:14:23 -!- Ilari has quit (kornbluth.freenode.net irc.freenode.net).
05:14:23 -!- ineiros has quit (kornbluth.freenode.net irc.freenode.net).
05:14:24 -!- Leonidas has joined.
05:14:29 -!- sazl has joined.
05:14:29 -!- MizardX has joined.
05:14:32 -!- comex has joined.
05:14:36 -!- cherez has joined.
05:14:43 -!- Slereah2 has joined.
05:15:06 -!- Leonidas has quit (kornbluth.freenode.net irc.freenode.net).
05:15:06 -!- lamente has quit (kornbluth.freenode.net irc.freenode.net).
05:15:08 -!- decipher has quit (kornbluth.freenode.net irc.freenode.net).
05:15:08 -!- kerlo has quit (kornbluth.freenode.net irc.freenode.net).
05:16:01 -!- MizardX has quit (kornbluth.freenode.net irc.freenode.net).
05:16:02 -!- sebbu has quit (kornbluth.freenode.net irc.freenode.net).
05:16:02 -!- CakeProphet has quit (kornbluth.freenode.net irc.freenode.net).
05:16:02 -!- Judofyr has quit (kornbluth.freenode.net irc.freenode.net).
05:16:04 -!- ski__ has quit (kornbluth.freenode.net irc.freenode.net).
05:16:19 -!- MizardX has joined.
05:16:29 -!- CakeProphet has joined.
05:17:32 -!- oklopol has quit (kornbluth.freenode.net irc.freenode.net).
05:17:32 -!- Asztal has quit (kornbluth.freenode.net irc.freenode.net).
05:17:52 -!- sebbu has joined.
05:18:30 -!- puzzlet has joined.
05:19:00 -!- Judofyr has joined.
05:19:27 -!- Leonidas has joined.
05:24:12 -!- ski__ has joined.
05:24:17 -!- Asztal has joined.
05:24:34 -!- ineiros has joined.
05:24:42 -!- SimonRC has joined.
05:31:10 -!- clog has joined.
05:31:10 -!- clog has joined.
05:31:11 -!- comex has quit (brown.freenode.net irc.freenode.net).
05:31:11 -!- CakeProphet has quit (brown.freenode.net irc.freenode.net).
05:31:11 -!- GregorR has quit (brown.freenode.net irc.freenode.net).
05:31:21 -!- sebbu has joined.
05:31:21 -!- rodgort has joined.
05:31:23 -!- comex has joined.
05:31:39 -!- CakeProphet has joined.
05:31:56 -!- GregorR has joined.
05:32:45 -!- pikhq has joined.
05:33:03 -!- Judofyr has joined.
05:33:05 -!- bsmntbombdood has joined.
05:33:20 -!- ehird has joined.
05:34:08 -!- puzzlet has joined.
05:37:19 -!- MizardX has joined.
05:37:22 -!- MizardX has quit (brown.freenode.net irc.freenode.net).
05:37:43 -!- Deewiant has joined.
05:37:44 -!- sazl has joined.
05:37:55 -!- MizardX has joined.
05:38:18 -!- kerlo has joined.
05:41:18 -!- GreaseMonkey has joined.
05:41:52 -!- oklopol has joined.
05:42:16 -!- lifthrasiir has joined.
05:42:39 -!- Leonidas has joined.
05:42:57 -!- fizzie has joined.
05:43:18 -!- decipher has joined.
05:44:11 -!- ski__ has joined.
05:44:33 -!- Ilari has joined.
05:45:34 -!- lamente has joined.
05:45:57 -!- AnMaster has joined.
05:52:49 -!- cherez has left (?).
07:02:45 -!- jix has joined.
07:20:20 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:46:11 -!- jix has quit (Read error: 110 (Connection timed out)).
08:59:52 -!- GreaseMonkey has quit ("Client Excited").
09:07:37 -!- puzzlet_ has joined.
09:08:20 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
09:18:42 -!- comex has quit (Remote closed the connection).
09:18:55 -!- comex has joined.
10:59:26 -!- jix has joined.
11:47:36 -!- Slereah has joined.
12:01:52 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
12:06:50 -!- Sgeo has joined.
13:46:21 <Deewiant> Is there no "not implemented" category/list on the wiki?
13:49:41 <fizzie> Isn't that just the set subtraction of the language list and the Implemented category? (What, MediaWiki doesn't do set operations?)
13:50:11 -!- Sgeo has quit ("Leaving").
13:50:17 <fizzie> Related: there are 192 articles in the "Languages" category, but 200 articles in the "Implemented" category. That probably means there are -8 unimplemented languages.
13:51:06 <Deewiant> fizzie: Unfortunately you'll find that the 192 refers only to the number it's showing on that page, which is less than 200 due to the subcategories.
13:51:14 <fizzie> Yes, that was the silly.
13:51:38 <Deewiant> Aaand evidently subcategories aren't shown on just one page either.
13:51:40 <Deewiant> http://www.esolangs.org/wiki/Category:Unimplemented
13:51:47 <fizzie> Yes, it seems to be sorted.
13:53:34 <fizzie> Heh, Καλλίστῃ is apparently written with a kappa instead of a 'k', since it's at the end of the list there.
13:54:05 <Deewiant> Hooray for byte value-based sorting.
13:56:14 <fizzie> Anyway... 71 in Unimplemented, 200+62=262 in Implemented, 192+179+11=382 in Languages; this time I counted them right. 49 languages are neither implemented, nor unimplemented; probably some sort of superposition of both.
13:56:51 <Deewiant> Moving some of the Unimplemented to Unimplementable might be in order
13:57:10 <Deewiant> For instance, the already mentioned Καλλίστῃ.
14:44:27 -!- Judofyr has quit (Remote closed the connection).
14:51:46 -!- jix has quit ("...").
15:23:15 -!- decipher has quit (Remote closed the connection).
15:37:55 -!- sebbu2 has joined.
15:44:34 -!- sebbu has quit (Read error: 60 (Operation timed out)).
15:57:16 -!- Slereah2 has joined.
16:03:23 -!- Slereah has quit (Read error: 145 (Connection timed out)).
16:08:04 -!- puzzlet_ has quit (Read error: 60 (Operation timed out)).
16:08:07 -!- puzzlet has joined.
16:13:53 -!- Slereah has joined.
16:15:05 -!- MigoMipo has joined.
16:31:14 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
17:07:52 -!- BeholdMyGlory has joined.
17:12:56 -!- oerjan has joined.
17:14:33 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
17:15:00 -!- puzzlet has joined.
17:23:18 -!- oerjan has quit ("Whoosh!").
17:50:35 -!- Metcalf has joined.
17:55:58 -!- Metcalf has changed nick to impomatic.
17:56:05 -!- FireFly has joined.
18:17:41 <impomatic> Is there a term for mainstream languages that are rarely used / hear of? E.g. Oberon
18:27:41 -!- Azstal has joined.
18:27:43 <MizardX> impomatic: http://answers.yahoo.com/question/index?qid=20080118233717AASGNps
18:28:06 -!- kar8nga has joined.
18:28:42 <ehird> lol, yahoo answers
18:28:54 <ehird> impomatic: I saw a reddit submission of yours earlier today :-)
18:28:59 <ehird> recognized the name
18:30:59 <ehird> impomatic: what's a reverse call? I'm not sure I understand
18:31:11 <ehird> also, is #2-return, <stack just a comment?
18:31:18 <ehird> not too hot at redcode...
18:31:59 <impomatic> I use impomatic in most places, twitter, stumbleupon, delicious, blogger, reddit
18:33:20 <impomatic> Each redcode opcode has two operands (though sometimes they're omited)
18:33:46 <ehird> so "mov #2-return, <stack "
18:33:49 <ehird> is mov with two arguments
18:34:01 <impomatic> so: call equ mov #2-return, <stack ; defines call to be a mov #2-return, <stack
18:34:17 <ehird> what about a reverse jump? a function that is before the IP or something?
18:40:41 <impomatic> There are a couple of solutions to that problem on my blog, but they're both a bit messy
18:40:41 <impomatic> There's a redcode specific IRC channel, #corewars on irc.koth.org
18:40:41 <impomatic> If the subroutine is above the call in the source listing, the calculated addresses are incorrect
18:40:41 <impomatic> Due to wierd behaviour in the macro pre-processor
19:01:58 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
19:24:26 -!- olsner has joined.
19:34:44 -!- BeholdMyGlory has quit (Remote closed the connection).
19:35:53 -!- BeholdMyGlory has joined.
19:50:42 -!- KingOfKarlsruhe has joined.
20:32:35 -!- jix has joined.
20:48:13 -!- sazl has quit ("Lost terminal").
20:54:49 <impomatic> ^bf ++++[>++++<-]>+[>>++>+>+>++<[+++++<]<-]>>>++.>-.-<++++..+++.>>--.+<<<.----->.---<[.>]
21:03:03 -!- kar8nga has joined.
21:41:03 <ehird> impomatic: no output?
21:48:50 <ehird> ^bf ,[.,]!I am alive
21:48:54 <ehird> impomatic: er, three is no bot
21:48:56 <ehird> fungot isn't online
21:49:13 <ehird> fizzie: fungot's down
21:49:16 <ehird> (just some context :P)
21:49:17 <AnMaster> ehird, just to freak you out I'm going to test the results of using tcmalloc from http://code.google.com/p/google-perftools/ with cfunge ;P
21:52:47 <AnMaster> I have no idea what the result will be.... Also this may take a while: building instructions for x86_64 linux is kind of complex due to glibc unwinder may call malloc on x86_64 causing a deadlock. So I need to install a snapshot version of libunwind first amongst other things
21:54:37 <ehird> What about the firefox/freebsd malloc? jemalloc
21:55:20 <AnMaster> ehird, it seems harder to get going as non-freebsd malloc
21:55:33 <ehird> I thought speed is what mattered. :p
21:55:40 <AnMaster> but apart from that it seems optimised to keep memory fragmentation low, rather than ultimate speed
21:55:58 <ehird> Just write yer own damn malloc. :p
21:56:00 <AnMaster> good speed yes, and good multi-cpu performance
21:56:11 <AnMaster> but not good against fragmentation
21:56:34 <AnMaster> and I don't have multi-core, nor does cfunge use more than one thread
21:57:07 <AnMaster> ehird, anyway I'd rather not do that
21:57:13 <ehird> Single-core systems. Weird shit.
21:57:19 <ehird> Do you keep a dinosaur next to it? :P
21:57:24 <AnMaster> ehird, rather a quite good system from 2005
21:57:29 <AnMaster> I just don't have that much money
21:57:35 <AnMaster> so I can go buy new every year
21:57:48 <ehird> Yeah, it's just that multi core is really really useful.
21:57:49 <AnMaster> I'm going to use this until it is really no longer usable and/or breaks
21:58:04 <ehird> because you can have a cpu thrashing away at a problem and still run smoothly
21:58:12 <ehird> AnMaster: Hm? Well, yeah, multi core systems cost.
21:58:28 <ehird> It's kind of like an OS without multiprocessing to me :-)
21:58:49 <AnMaster> ehird, ah you pay for it then? Great thanks. Just send me your credit card number and the code :D
21:59:21 <ehird> Um I don't have a credit card :P
21:59:29 <AnMaster> ehird, also I will send it on to a friend from Nigeria who is looking for a UK account for some millions.
22:00:08 <fizzie> "IRC read failed." Seems that freenode had some issues at some point.
22:00:12 <impomatic> Unfortunately it's from something like 1990, so not very impressive.
22:00:42 <AnMaster> fizzie, oh yes during the night, doesn't it auto reconnect?
22:00:50 <AnMaster> or don't you run it under a supervisor
22:01:01 <impomatic> AnMaster: 19" MVME boards, with a "Cray" logo on the front
22:01:21 <fizzie> I don't want to do that, it sounds far too serious.
22:01:24 <AnMaster> impomatic, also what is 19" in metric?
22:01:31 <fizzie> The bot itself just @s if the read fails.
22:01:51 -!- fungot has joined.
22:02:02 <AnMaster> of course, we all know esoteric languages is serious business!
22:02:07 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft pa speeches ss wp
22:02:14 <fungot> Selected style: speeches (misc. speeches from Project Gutenberg)
22:02:16 <ehird> impomatic: does it run an infinite loop in 6 seconds?
22:02:18 <fungot> AnMaster: does mr bentham deny this? if he had fallen in a common vehicle. they were dominant at oxford, powerful in the inns of court, not in those known and responsible counsellors to whom he early attached himself, and then proceed to another.
22:02:35 <ehird> I nominate fungot for president 2012
22:02:38 <fungot> ehird: the effect of the victory. in 1824 the free men who seek to better their conditions, but also the most faultless, that the ablest men have been chosen as deputies of the nobility, what was never forgotten by anyone else who ever read it, as will give a single instance from our existing laws, some alterations are thought to be of any weight, who refuses to adopt the tariff, we think his explanation fnord at least, behindh
22:02:57 <AnMaster> bentham? isn't he the person who wanted to be preserved or whatever?
22:03:07 -!- MigoMipo has quit ("QuitIRCException: MigoMipo out of IRC").
22:03:20 <fizzie> 19" is a standardish rack size, around half a metre.
22:04:17 <impomatic> About 47cm, haven't got a photo - looks like a washing machine without the door. Never tried the infinite loop!
22:04:54 <impomatic> Is lovecraft a esolang? That'd be cool :-)
22:05:15 <ehird> hehe, ^style controls fungot's babble
22:05:16 <fungot> ehird: after the adjournment of congress, i could easily account for the obscurity of the african. the fnord sings, the spinning-wheel turns round, the wedding-day is fixed, not by the shortest fnord abate the nuisance, they pull down the house.
22:05:18 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc lovecraft pa speeches* ss wp
22:05:21 <fungot> Selected style: darwin (Books by Charles Darwin -- you know, that evilution guy)
22:05:24 <ehird> fungot: Be heretical!
22:05:25 <fungot> ehird:/ cumbre, includes all/ chief races have not descended by independent lines from/ rock-pigeon. this reflection :)/ moon " as indexed by/ tides, unaided by a heavy fall :) snow on rocks.
22:05:30 <ehird> oh, the :) and / bug
22:05:37 <fizzie> There's still the famous Darwin smiley issue, yes.
22:05:55 <ehird> Darwin was a happy man.
22:07:32 <fizzie> "the cumbre, includes all the chief races have not descended by independent lines from the rock-pigeon. this reflection of the moon as indexed by the tides, unaided by a heavy fall of snow on rocks." in fixed format.
22:08:05 <fizzie> It is comforting to know we have not all descended from the rock-pigeon.
22:09:16 <MizardX> ^bf ++++[>++++<-]>+[>>++>+>+>++<[+++++<]<-]>>>++.>-.-<++++..+++.>>--.+<<<.----->.---<[.>]
22:13:00 -!- jix has quit ("...").
22:13:46 <AnMaster> is it possible to prove a specific bf program is the shortest possible encoding of a specific string in bf?
22:14:19 <olsner> by exhaustively searching all shorter programs :D
22:14:40 -!- KingOfKarlsruhe has quit (Remote closed the connection).
22:15:01 <impomatic> ^bf ++++[>++++<-]>+[>>++>+>+>++<[+++++<]<-]>>>++.>-.<++++..+++.>>--.++<<<.---->.--<[-.>]
22:15:07 <AnMaster> well you could exclude any program without output, and all programs with input would be uninteresting
22:15:17 -!- kar8nga has left (?).
22:15:20 <olsner> there could be, but I think there's a reason optimization is hard in general
22:19:42 <impomatic> We're also talking about bf in #corewars on irc.koth.org
22:20:30 <ehird> Tell them to come here :-P
22:20:38 <olsner> I had a 116-char bf hello world as a test case for my thue interpreters
22:21:43 * ehird tries to work out impomatic's name in #corewars
22:22:32 <olsner> it couldn't be just "impomatic"?
22:22:46 <ehird> there is no impomatic in there.
22:22:59 <ehird> also, nobody's talking.
22:23:20 <olsner> it's a fish with a reddish hue, that's what it is
22:23:47 <impomatic> It's OoS. I already mentioned #esoteric
22:26:29 <impomatic> ehird: it was busy before you arrived http://www.koth.org/irc-logs/2009-01-27.txt
22:26:41 <ehird> I kill everything I touch.
22:26:50 <impomatic> We're a bit shy around strangers ;-)
22:27:43 <ehird> impomatic: if you can get BF hello world in a standard 80-char line I'll be amazed
22:27:57 <AnMaster> ehird, result: At least this build of tcmalloc is slower than glibc malloc for cfunge
22:28:11 <oklopol> WE'RE NO STRANGERS TO LOOOOOOOVE
22:29:18 <impomatic> ehird: I don't think I can knock off the last 4 instructions
22:29:20 <AnMaster> still the heap profiler should be interesting :)
22:29:27 -!- nescience has joined.
22:29:40 <ehird> is a pretty shoddy way to do it :P
22:30:05 <oklopol> AnMaster: is it possible to prove a specific bf program is the shortest possible encoding of a specific string in bf? <<< if you're asking in general, you can't be serious
22:30:17 <ehird> oklopol: no, he is
22:30:31 <ehird> I don't think AnMaster has ever fully grasped the halting problem, he says things like that all the time
22:30:33 <AnMaster> oklopol, I'm only asking for "hello world!"
22:30:45 <AnMaster> and I suspected it would run into the halting problem yes
22:31:11 * oklopol dances a wild dance of oko
22:34:46 <ehird> [21:15]<OoS> http://golf.shinh.org/
22:34:50 <ehird> another anagolf player!
22:35:13 <MizardX> 453339721324993013548175354624816937305067727045881380840502707195746854576 possible bf-programs of length 85 :) ... that's 75 digits!
22:35:49 <AnMaster> I get "could not find gv" as a cryptic error
22:36:05 <ehird> what about length 80
22:36:39 <MizardX> 15114869455135780537081431784864382700651060085404149964957776780638292 of length 80, 71 digits
22:37:01 <AnMaster> would a genetic search work at all for this? Probably not
22:37:12 <AnMaster> MizardX, what about excluding input?
22:37:16 <AnMaster> since it isn't relevant for this
22:37:17 <ehird> AnMaster: You're really attentative.
22:37:24 <ehird> impomatic's beaten it by far.
22:37:32 <oklopol> so.... 80 digits in octal = 71 digits in base 10? that's quite an observation :P
22:38:32 <MizardX> 284508415089842693556340016101767865172552487769291117597604246945 of length 80, without input, 66 digits
22:38:39 -!- GreaseMonkey has joined.
22:38:45 <AnMaster> MizardX, does this include invalid programs like ]]]]
22:39:03 <oklopol> right, right, you're not an idiot
22:39:37 <AnMaster> MizardX, how long would an exhaustive search take? :D
22:39:45 <AnMaster> assume a modern desktop computer
22:39:55 <AnMaster> and an optimised bf implementation
22:40:11 <AnMaster> and that each program will be terminated after, say, 10 seconds at most
22:40:22 <AnMaster> since there is no way to know if it will halt at all
22:40:52 <MizardX> 9.0157127687693897e+53 years given 1ms execution time per parogram
22:41:00 <Azstal> Now we just need to know http://en.wikipedia.org/wiki/Chaitin%27s_constant to get an estimate!
22:42:10 <ehird> AnMaster treats huge brute forcing like I did a year ago.
22:42:22 <oklopol> also median running time of all halting problems
22:42:38 <oklopol> ehird: you mean all awe about combinatorial explosion?
22:42:57 <oklopol> lecturer showed today a loop that started 10 threads
22:43:11 <oklopol> for(i=0;i<10;i++)pid[i]=fork();
22:43:16 <ehird> no, just continually asking if halting problem-related things can be solved, and asking how long huge brute forcing will take as if it's even worthy of consideration
22:44:03 <AnMaster> MizardX, and assuming IBM RoadRunner or whatever the current fastest super computer is?
22:44:11 <impomatic> It requires 12 . only two of which are next to each other
22:44:27 * oklopol waits for someone to lol @ lecturer :<
22:44:42 <ehird> Yeah, I was "joking" too in 2007
22:44:47 <impomatic> If the 1st . doesn't output a 'h' it can terminate
22:44:47 <impomatic> Forget that, . could be in a loop :-/
22:45:14 <AnMaster> ehird, so? You have been here way longer than I have
22:45:30 <ehird> Being in #esoteric is not the be-all end-all of computational knowledge.
22:45:55 <AnMaster> oh gv is some "view *.ps" thing
22:47:29 * Azstal invents Brainfrak, where the square brackets have chamfered edges.
22:48:03 <ehird> proto: halting problem solver which, when given P, outputs "go to hell" and terminates the program.
22:50:43 <fungot> FireFly: " 651? 1. this paragraph was published in/ :( notices" just alluded to. in/ tenth chapter it was shown that no ascertained limit to/ amount :) structural difference between/ inhabitants :)/ radack archipelago, a length :) time.
23:00:43 -!- oerjan has joined.
23:03:59 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
23:05:11 <FireFly> Does the fungot chat style thing select random lines?
23:05:12 <fungot> FireFly: on mac osx maybe? maybe switch on both?) ( else ( occurn ( cdr markers) ( cdr list) value)
23:07:12 <oerjan> FireFly: markov chain of words
23:07:49 <oerjan> the style files are preprocessed
23:09:46 <MizardX> impomatic: Heh. Right after your program has printed out "hell" in "hello world!", exactly 666 operations has been executed. :P
23:11:18 <impomatic> Is that the 84 instruction version?
23:12:51 <MizardX> I also counted [, ] as single operations. Loop length is (1 + inner_ops)*num_cycles + 1
23:13:12 <oerjan> <AnMaster> wtf is "gv"?
23:14:00 <AnMaster> oerjan, maybe you shouldn't do like me, and instead read the whole scrollback first
23:14:16 <oerjan> but then i would forget that there was something to answer :D
23:14:17 <GregorR> READING THE BACKLOG IS FOR THE WEAK
23:17:03 -!- CakeProphet has joined.
23:22:47 <oklopol> GregorR: well what do you do in order to make sure you haven't missed any of the fun then?
23:24:03 -!- puzzlet_ has joined.
23:24:52 -!- puzzlet has quit (Remote closed the connection).
23:42:20 -!- olsner has quit (Remote closed the connection).
23:42:27 -!- BeholdMyGlory has quit ("bye").
23:42:44 <oklopol> so umm anarchy gold is actually *alive*?
23:44:17 <ehird> it's never been particularly active, but people play it
23:44:43 * oerjan swats oklopol for making him google a nonexisting term -----###
23:44:49 <ehird> whatever the chan is called
23:45:35 <oklopol> oerjan: don't google a term with "gold" in it.
23:46:16 <oerjan> you mean you want to hoard it all yourself?
23:46:58 <oklopol> http://golf.shinh.org/p.rb?99+shinichiroes+of+hamaji <<< so umm 14 characters of ruby?
23:47:55 <ehird> probably a sneaky cheat
23:47:57 <ehird> $_,$x=split"!",<>;$x=reverse$x;s/</\$i--;/g;s/>/\$i++;/g;s/-/\$a[\$i]--;/g;s/\+/\$a[\$i]++;/g;s/./print chr\$a[\$i];/g;s/,/\$a[\$i]=chop\$x;/g;s/\[/while(\$a[\$i]){/g;s/\]/};/g;eval$_
23:48:00 <ehird> wonder why this doesn't work.
23:48:28 <oklopol> just seems like kinda hard to cheat in a program that just prints a fuckload of text.
23:49:01 <oklopol> of course, would be interesting if it was his submit, and shinichiroes of hamaji wasn't actually anything sensible, but just something that he could easily print.
23:49:49 <ehird> the guy's hame is "shinh"
23:49:58 <ehird> -> shinichiro hamaji
23:50:03 <ehird> so it's probably the owner's submission
23:51:11 <ehird> http://golf.shinh.org/p.rb?Print+out+a+lot+_56K+BEWARE_
23:51:38 <ehird> probably shoulda chosen less determinatistic output
23:51:48 <ehird> 1-99999 is pretty easy
23:54:20 <fungot> oklopol: homo sapiens hei_e__er_ensis ' !hangman lcase-guess' to guess a letter!! fnord::: 0xff sponsor gift
23:54:34 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft pa speeches ss wp
23:56:20 <oerjan> except it's apparently consider an own species, not a subspecies of sapiens
23:57:12 <oklopol> cise would probably be like Jn" .1e9
23:58:00 <oklopol> i would prefer not having numbers at all (you know, for purity), but wouldn't be very golfy.
23:58:49 <oklopol> btw: thought of a new fun unimplementable feature for cise
23:58:57 <oklopol> there's a lot of parse trees
23:59:03 <oklopol> how about if there's ambiguity
23:59:45 <oklopol> ehird: oh i tried it right after #anagolf.
00:00:14 <impomatic> When does the fungot bf interpreter terminate? E.g. if I put it in an infinite loop printing something?
00:00:15 <fungot> impomatic: you could ask him to move two seats from mine. it's just werid that it never returned in the first place
00:00:40 <oerjan> impomatic: iirc it's pretty robust
00:00:44 <oklopol> impomatic: after $lot instructions?
00:00:56 <fungot> <CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP><CTCP> ...
00:01:02 <ehird> It's not meant to break.
00:01:18 <ehird> impomatic: fungot is written in befunge
00:01:19 <fungot> ehird: basically lots of spaces there.)
00:01:20 <FireFly> Didn't it replace chars <31 with dots?
00:01:21 <oerjan> impomatic: well i think it also stops after a number of characters
00:01:28 <ehird> impomatic: http://zem.fi/~fis/fungot.b98.txt
00:01:29 <fungot> ehird: or is it new zealand... do you do if you keep using the module system command processor chapters.
00:02:30 <oerjan> FireFly: not all of them, just LF and CR iirc, it was changed so it could do emotes and stuff
00:02:48 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
00:02:57 <ehird> 00:03 <Bouncer> CTCP-query unknown( ..) from fungot
00:02:58 <fungot> ehird: bad things happen when 2 year olds realize " wow. i have moral fiber.
00:03:04 <FireFly> [01:02:47] Channel CTCP .. request from fungot [n=fungot@momus.zem.fi] (.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...), ignored (unrecognized)
00:03:05 <fungot> FireFly: i'll blame them regardless. :-p i just feel optimistic in general.
00:03:15 <oerjan> FireFly: but the channel censors some others
00:03:28 <ehird> a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page; h) <fungot> ehird: bad things happen when 2 year olds realize " wow. i have moral fiber. <fungot> FireFly: i'll blame them regardless. :-p i just feel optimistic in general.
00:03:29 <fungot> ehird: so...if i were to use cps to do any key input without actually matching the keycodes
00:03:31 -!- ehird has set topic: a) oko; b) the swatter; c) messing with the topic; d) http://tunes.org/~nef/logs/esoteric; e) the letter game; f) gay sex. occasionally.; g) http://esolangs.org/wiki/Main_Page; h) <fungot> ehird: bad things happen when 2 year olds realize " wow. i have moral fiber. <fungot> FireFly: i'll blame them regardless. :-p i just feel optimistic in general..
00:04:24 <fizzie> Yes, the interpreter stops after aaaaaa***** instructions. ("Instructions" here means bytecode instructions, so +++++ counts as a single instruction.)
00:04:50 <fizzie> (And it also terminates after 88+:* output characters.)
00:05:07 <ehird> People can't read befunge numbers, fizzie :P
00:05:18 <fizzie> Well, 10^6 and 256, then.
00:06:05 <oerjan> ehird: sure we can, with a little thought.
00:07:18 <FireFly> I didnẗ know there were a hex addition
00:07:37 <fizzie> Comes in Funge-98; doesn't exist in Befunge-93.
00:08:01 <fizzie> Although I've seen at least one "mostly Befunge-93" interpreter that did a-f (and the single-shot string-mode ') as an extension.
00:09:05 <FireFly> <> #" 91+6*:,2+,84*:,:3+,84*2+,>:#,_84*2+,@" is my most creative creation in Befunge so far
00:09:29 <FireFly> By parsing the stuff inside the string as code
00:09:37 <FireFly> After pushing it to the mem as a string
00:09:45 <fizzie> The string-mode feature makes it pretty well-suited for quines.
00:10:26 <FireFly> It jumps over the next command
00:10:42 <oklopol> so yes, but a different kind than i thought.
00:10:46 <FireFly> So I basicly jump over the " that enters string-mode
00:10:56 <oklopol> that's the great thing about inventing your own words
00:11:02 <oklopol> if you're wrong, no one will know
00:11:02 <fizzie> The underload interpreter termination condition is even more arbitrary, since it's ffaa***, so 225000. Not sure why. Since it counts Underload commands, it's easy to get a rather slow Underload program by just ":*"ing up two strings that are close to half of the stack size limit, then looping with (~:^):^.
00:11:44 <oerjan> oklopol: a suparene observation
00:12:02 <oklopol> oerjan: lol i almost googled that.
00:12:14 <FireFly> It doesn't contain "gold" at least
00:12:22 <oklopol> fizzie: better arbitrary than base 10
00:24:01 -!- impomatic has quit (Read error: 110 (Connection timed out)).
00:25:16 <ehird> By the way, from 2003-01-something to 2008-10-31, 786499 lines were said here.
00:25:21 <ehird> 800k. Not really that many...
00:25:46 <ehird> It'd take 9 straight days to read the logs, assuming 1line/sec
00:26:05 <ehird> so probably like nearing a month to read them all if you allocated a bit of your day to it
00:29:37 -!- FireFly has quit ("zzzzz").
00:30:12 * oerjan is slightly startled by his watch
00:30:31 <oerjan> it has day names in both english and german
00:30:45 <lamente> Time flies like an arrow, FireFly's a banana
00:30:58 <oerjan> normally it's in english, but for a brief time each night it goes by the german one
00:31:06 <oerjan> so currently it reads "DIE" :D
00:31:29 <oerjan> (well, abbreviated to 3 letters)
00:31:59 <oerjan> lamente: a burning banana?
00:32:24 <lamente> it has english and spanish, spanish is what's normally on
00:34:13 <oerjan> er, a russian in canada, with his watch set to spanish?
00:34:25 <ehird> lamente is a polyglot
00:34:35 <ehird> lamente do you know toki pona or is that someone else
00:37:34 <ehird> lamente how do you say "segmentation fault" in toki pona :P
00:37:56 <ehird> I was expecting "you can't".
00:38:03 <ehird> What does pakala literally mean?
00:38:14 <lamente> the creator of toki pona was in #linguistics today, actually
00:38:53 <ehird> lamente: I take it that applies to all error?
00:39:37 <ehird> I should learn toki pona.
00:48:41 <ehird> lamente: So I take it technical discussion in toki pona is near-impossibl
00:50:53 <ehird> I take it this is a feature
00:51:14 <ehird> Maybe someone should design a toki pona programming language. The only error message is "pakala"
00:51:44 <oerjan> the name alone tells us it's intended for pacific paradise islands without modern technology.
00:52:55 <Azstal> pakala, tu ala, nasa jan! (note, I know none of the grammar, so I put them in a random vaguely english-like order)
00:56:59 <ehird> lamente: Doesn't toki pona kind of rely on the Sapir-Whorf hypothesis being strongly true?
00:58:36 <lamente> strongly true, or maybe strongly false, something like that
00:59:50 <ehird> lamente: how strongly false? It's meant to change how you think.
01:00:20 <ehird> It can become a sort of "yoga for the mind". Instead of getting caught in negative thoughts and anxiety, you learn to relax, meditate and explore your relationship to life itself.
01:00:26 <ehird> Training your mind to think in Toki Pona can lead to many deeper insights about yourself or the world around you.
01:01:37 <ehird> http://www.tokipona.org/intro.html
01:01:42 <ehird> section Wisdom and True Meaning
01:02:05 <ehird> it's certainly bullshit
01:02:07 <lamente> but then sonja is a profoundly fucked up individual
01:07:00 -!- Sgeo has joined.
01:27:51 <ehird> lamente: More bullshit: "medical benefits" http://www.tokipona.org/ponasijelo.html
01:29:06 -!- puzzlet_ has quit (Remote closed the connection).
01:29:12 -!- puzzlet has joined.
01:29:31 <ehird> ^bf ++++[<+++++<+++<++<+<++[>]<-]<-<-<<<-<<+++++[>+++++<-]>[>+>[++++>][<]>-]>>.---.>..>.<<<.>>>>.<.+++.<.<-.<+.
01:31:01 -!- psygnisfive has joined.
01:33:22 <ehird> means good language in toki pona
01:38:40 <kerlo> I guess my Translation-Creds have run out.
01:41:17 <oerjan> so what does kerlo mean in lojban?
01:42:00 <kerlo> It's a metaphor. Maybe. :-P
01:56:25 <psygnisfive> theres this language, armenian, written with a funky alphabet, and one joke about the written language is that it looks like hu muh umun unuuu mumuhu mukum unum utuh mumhumuhum
01:56:52 <psygnisfive> i've suggested in #isharia that someone make an eso conlang that looks like that when romanized
01:57:34 <psygnisfive> everything is hmnu or some other similar stuff
01:58:01 <psygnisfive> i wonder if we could make similar analogies here
01:58:21 <Azstal> that'th not very nithe
01:58:33 <oerjan> i think that has been done
01:59:00 <oerjan> http://esoteric.voxelperfect.net/wiki/Brackets
01:59:07 <oerjan> ok not exactly the same
02:00:00 <psygnisfive> do yo see that? that is way too comprehensible! :|
02:00:32 <oerjan> must be your linguist training
02:02:33 <oerjan> hm there should be something closer but i don't know how to search for it
02:36:50 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
02:51:55 -!- lamente has changed nick to lament.
03:42:53 -!- Kinjet has joined.
03:43:17 -!- Kinjet has left (?).
03:43:48 -!- GregorR has quit (Remote closed the connection).
03:44:00 -!- GregorR has joined.
04:35:47 -!- Sgeo has quit ("Leaving").
05:36:00 -!- oerjan has quit ("leaving").
06:42:48 <bsmntbombdood> a while ago we were talking about fastly implementing brainfuck, specifically bounds checking on the tap
06:43:36 <bsmntbombdood> the best way is probably to just mmap 2 gb and put a gaurd page on either end
06:44:16 <lament> brainfuck memory checking is O(1) for sufficiently large values of 1
06:56:23 -!- olsner has joined.
07:00:26 -!- impomatic has joined.
07:20:22 -!- olsner has quit ("Leaving").
07:22:48 -!- puzzlet has quit (Remote closed the connection).
07:22:54 -!- puzzlet has joined.
07:33:08 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
07:33:26 -!- puzzlet has joined.
07:34:16 -!- cherez has joined.
07:34:32 -!- cherez has quit (Client Quit).
07:35:15 -!- cherez has joined.
07:35:27 -!- cherez has left (?).
07:42:48 -!- ehird has quit (Remote closed the connection).
07:43:01 -!- ehird has joined.
07:45:58 -!- mtve has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:09:36 -!- jix has joined.
08:26:04 <MizardX> Anyone know a good parser generator/library for python?
08:31:07 <MizardX> PLY seems interesting... couldn't find Parsec >_>
08:34:02 -!- GreaseMonkey has quit ("Client Excited").
08:54:56 -!- NerdyChic has joined.
08:56:27 -!- NerdyChic has left (?).
08:59:38 <AnMaster> using bsearch() is slower than a simple linear search with "stop if passed the value we searched for" in certain cases.
08:59:55 * AnMaster wonders about a custom binary search instead
09:01:07 <AnMaster> (and yes I did large tests and plotted the results)
09:02:40 -!- puzzlet has quit (Remote closed the connection).
09:02:47 -!- puzzlet has joined.
09:23:58 <AnMaster> for custom the difference is so small in this case that the mean of 500 runs varies less than 0.00001 between custom binary search and the linear search. Heh.
09:30:28 -!- ais523 has joined.
09:36:01 <AnMaster> I was testing the best way to search for fingerprint to load, and a linear search is faster than bsearch() for some reason.
09:36:15 <AnMaster> A custom binary search is just about as fast as a linear search
09:38:03 <ais523> AnMaster: you're on a small array
09:38:18 <ais523> binary is only faster than linear if you have a lot of elements
09:38:30 <ais523> simple algorithms tend to be faster on small numbers of entries no matter what their computational class
09:38:38 <ais523> in this case, lsearching 30 entries is trivial for a computer
09:38:51 <ais523> bsearching involves lots of complicated comparisons and looping and out-of-order memory accesses
09:38:56 <AnMaster> ais523, the array stride is quite large
09:39:02 <ais523> if you had 100000 fingerprints, the bsearch would probably be faster
09:39:40 <AnMaster> since I'm searching an array of structs
09:39:46 <AnMaster> based on the first field in the struct
09:41:00 <AnMaster> ais523, I guess maybe cache matters too?
09:41:17 <ais523> possibly, but that's unlikely to be the reason
09:41:56 <AnMaster> well, the way Mike Riley is going, I guess bsearch will be faster soon ;)
09:44:13 <AnMaster> Deewiant, mycology doesn't test 3DSP right?
09:44:36 <AnMaster> because cfunge implements that one
09:44:48 <AnMaster> and if mycology doesn't test it, ccbi doesn't implement it
09:45:26 <AnMaster> _3dsp.d, yet I can't find it when grepping mycology
09:46:47 <AnMaster> "3D space manipulation extension" is the official name, but actually it is FPSP-style matrix operatiosn
09:47:21 <ais523> you know, I'm slightly scared at all the "useful" operations that Befunge is accumulating...
09:47:21 <AnMaster> dot product or vector, matrix translation and so on
09:47:36 <AnMaster> ais523, that is mostly due to RC/Funge I'm afraid
09:47:47 <AnMaster> like malloc() stuff for funge and what not
09:48:17 <AnMaster> most of them I'm never going to implement.
09:51:44 <impomatic> Finally I'm in first place on something :-) http://golf.shinh.org/p.rb?google#Brainfuck
09:52:03 <ais523> impomatic: ah, I remember anagold
09:52:11 <ais523> I used to play it a lot, but haven't checked in recently
09:53:16 <ais523> AnMaster: Befunge has loads more commands and also string literals, it's easily going to win in a problem like that
09:54:03 <ais523> bash is a special one, because it allows you to call out to external programs
09:54:10 <ais523> whereas most of the others don't by default
09:54:25 <ais523> bash always has exec allowed, though
09:54:30 <ais523> no matter what the global setting
09:56:41 <ais523> GolfScript is an esolang specifically designed to give small programs
09:56:51 <AnMaster> ais523, do you get xkcd today?
09:56:56 <ais523> although I think it's beatable with a newly designed language, it beats everything else on anagolf's list hollow
09:57:00 <ais523> AnMaster: I don't read xkcd
09:57:57 <AnMaster> hm... seems like a humor program according to wikipedia. Then xkcd make even less sense
10:08:09 <AnMaster> ais523, unusually mad concept: http://en.wikipedia.org/wiki/Space_fountain
10:09:28 <ais523> AnMaster: OK, that's very clever, but insane
10:09:43 <ais523> especially as it might lead to the destruction of the surrounding countryside, or possibly the entire Earth, if the power supply failed
10:10:11 <AnMaster> ais523, and I think it would need enormous amount of energy...
10:10:30 <ais523> Wikipedia thinks it wouldn't survive re-entry, though, so you would only have a minor disaster on your hands
10:11:18 <ais523> incidentally, I just received an email saying "door controllers not working"
10:11:24 <ais523> but it was the internal doors this time for a change
10:11:42 <AnMaster> also would transporting people in that work? I mean the G force would be rather huge wouldn't it?
10:12:09 <ais523> I'm not entirely convinced that I could get back out again
10:12:12 <ais523> but I may try later today
10:12:24 <ais523> the doors are generally quite good at opening from the inside, though
10:12:47 <AnMaster> ais523, space elevator though, that sounds quite sane nowdays
10:13:23 <ais523> compared to the fountain
10:13:28 <ais523> I think they're both insane, personally
10:14:11 <AnMaster> ais523, would someone have thought the space shuttle insane back in 1850?
10:14:31 <ais523> but then, some people think the space shuttle insane even in 2009
10:15:15 <AnMaster> well, from an environmental viewpoint the whole rocket launch concept is insane...
10:15:40 <AnMaster> in that case a space elevator would actually be sane :D
10:15:45 <ais523> hmm... maybe not, I reckon most rocket fuels could be derivable from renewable sources in theory
10:17:01 <ais523> AnMaster: well, CO2 would be removed from the atmosphere as the fuels were made
10:17:16 <ais523> water vapour is unlikely to be much of a problem, it can cause global warming but most of it won't be at the right height
10:17:22 <ais523> nitrous oxides might be problematic
10:17:34 <AnMaster> http://en.wikipedia.org/wiki/Launch_loop
10:18:54 <AnMaster> also: http://en.wikipedia.org/wiki/Orbital_ring
10:31:01 <ais523> AnMaster: I think that they're probably less insane than space elevators
10:31:08 <ais523> but still, I'm not entirely sure they'll be relevant any time soon
10:31:14 <ais523> we just don't have high-volume space traffic yet
10:31:31 <AnMaster> ais523, well that is maybe because of the costs?
10:32:06 <AnMaster> but I think we need to solve the environment issues first instead
12:44:33 -!- ais523 has quit ("lunch").
13:16:22 -!- FireFly has joined.
13:22:26 -!- psygnisfive has quit (Remote closed the connection).
13:33:02 -!- puzzlet has quit (Remote closed the connection).
13:33:06 -!- puzzlet has joined.
14:01:05 <ehird> oklopol: learn APL. trust me: http://se.youtube.com/watch?v=a9xAKttWgP4
14:02:02 <ehird> because the reddit link was se.
14:02:11 <ehird> AnMaster: when did ais523 part
14:02:59 <ehird> except I was in #haskell overnight
14:03:12 <ehird> so when the bouncer spewed the backlog at me, it crashed my poor client because #haskell is really fucking active
14:03:18 <ehird> well, froze it up.
14:03:24 <ehird> so I'd have to open the logfile.
14:04:40 <ehird> <AnMaster> I was testing the best way to search for fingerprint to load
14:04:47 <ehird> Does it occur to you that that is not your bottleneck?
14:05:26 <AnMaster> ehird, also how comes your client froze from it?
14:05:33 <AnMaster> I mean, sounds like a poorly designed one
14:05:39 <ehird> AnMaster: because #haskell is really damn active (it's hard to keep up with)
14:05:43 <ehird> and I was offline for many hours
14:05:50 <ehird> and the bouncer doesn't do delays
14:06:12 <ehird> AnMaster: for example
14:06:13 <AnMaster> I'm also in #haskell, and ##linux, and #gentoo, all very active. And lots of other channels. When I reconnect the client is kind of slow for about 5 seconds or so
14:06:26 <ehird> haskell logs are 500KB on average
14:06:34 <AnMaster> ehird, yes and? I'm in there too
14:06:43 <AnMaster> and I have been disconnected over night as well
14:06:47 <ehird> so for the whole of 500KB, my client - written in Ruby, and using Cocoa... not the fastest combination -
14:06:57 <ehird> puts it in the log
14:07:00 <AnMaster> well my client is written in elisp
14:07:03 <ehird> and puts it in the "view of everything else"
14:07:07 <ehird> at the bottom of the sceen
14:07:09 <AnMaster> and the logging is done in bouncer
14:07:12 <ehird> repeat for ~500KB worth of lines
14:07:16 <ehird> AnMaster: umm, no shit
14:07:27 <ehird> it gets the log from the server
14:07:29 <ehird> and puts it in its log
14:08:38 <ehird> <AnMaster> what is "Mind of Mencia"
14:09:05 <ehird> Carlos Mencia is a douchebag "comedian" that steals all his jokes and isn't funny in the slightest. At least, that's what the interwebs hivemind says.
14:11:52 <AnMaster> ehird, ok APL is really "wow", but the keyboard layout must be horrible
14:11:59 <ehird> it's not a keyboard layout, IIRC
14:12:06 <ehird> you type with a regular ascii keyboard and get APL instead
14:12:13 <ehird> multi-key operators, I think
14:12:21 <ehird> well, in modern ones
14:12:24 <ehird> old ones had their own keyboard
14:12:33 <ehird> also check out J and K, which are basically ascii apl
14:12:36 <ehird> but they're less cool.
14:12:37 <AnMaster> that sounds rather irritating to type, I mean somewhat like { is AltGr-7 on Swedish keyboards
14:12:43 <AnMaster> which is irritating when coding in C
14:12:52 <ehird> I think it balances out because you barely need to type.
14:13:24 <ehird> http://www.dyalog.com/linux.htm Dyalog APL (used in that video) for Linux
14:13:28 <ehird> I see no download linnk, though.
14:13:33 <ehird> It's non-free, of course.
14:13:37 <ehird> Linux License Fees
14:13:40 <ehird> Developer 32 bit incl. Support & Upgrades
14:13:45 <ehird> annual license fee
14:14:04 <ehird> I can't believe APL is popular enough for that to actually be profitable :-P
14:15:51 <AnMaster> it is like those VHDL stuff, so few buy it that the per-unit price must be very very high
14:16:19 <FireFly> [15:12:43] <AnMaster> which is irritating when coding in C
14:16:23 <AnMaster> hm.... that isn't correct... stuff is singular
14:16:45 <FireFly> I press altgr+7 so often that I'm used t o it
14:17:01 <AnMaster> FireFly, well too, but it is still irritating
14:17:27 <AnMaster> ehird, I wonder if there is any open source APL implementation
14:17:36 <ehird> Probably. They probably suck too.
14:17:55 <AnMaster> also I wonder what befunge-98 in APL would look like. Apart from that most people wouldn't be able to read it
14:17:56 <ehird> The APL/J/K kind of languages seem to have something about them leading to that.
14:18:01 <ehird> AnMaster: Concise. :p
14:18:07 <ehird> I mean, heck, fungespace would be trivial
14:18:18 <AnMaster> ehird, yes, but what about IO?
14:18:44 <ehird> well... I think most APL implementations have system interface libraries
14:18:52 <ehird> but you're not meant to use them
14:19:11 <ehird> Well, most APL programmers don't make binaries.
14:19:23 <AnMaster> <ehird> The APL/J/K kind of languages seem to have something about them leading to that. <-- maybe because they seem to be write-once languages?
14:19:26 <ehird> Primarily, as far as I can tell, they develop in the REPL and stuff,
14:19:30 <ehird> then it's run from there
14:19:41 <ehird> AnMaster: Nah, I can read that stuff to a degree
14:19:44 <ehird> it's just a learning curve
14:19:56 <AnMaster> ehird, well, and a different paradigm
14:20:23 <AnMaster> yes, that makes the learning curve unusually steep
14:20:52 <ehird> AnMaster: http://nsl.com/papers/befunge93.htm Befunge-93 in K, with a GUI interface
14:21:11 <ehird> AnMaster: yes, you can watch the IP go around
14:21:18 <ehird> and it also has a console interface.
14:21:27 <ehird> AnMaster: http://nsl.com/k/befunge93.k
14:21:52 <ehird> that INCLUDES the gui
14:22:02 <AnMaster> befunge-98 would of course be a bit longer, but yes very concise
14:22:03 <ehird> and it's only like 2 pages of code
14:22:16 <AnMaster> ehird, it isn't very readable though
14:22:27 <ehird> no? that explains it then :P
14:22:39 <FireFly> I don't know a single command of that
14:22:41 <FireFly> W.P:80 25#,," "/ program window
14:22:42 <FireFly> W.P..bg:{:[_i~|P[1;2];999900;999999]}/ yellow cell is current pointer
14:22:47 <AnMaster> it looks like some of those "lots of operators, but 1D" languages "B::"";b:{[f]if[~#B;B::0:`];r:f B;B::(#r)_ B;r}"
14:23:17 <ehird> I don't think that has any explicit loops at all
14:23:22 <ehird> most APL/J/K programs don't
14:23:39 <ehird> (they use vector operations instead, since array programming language)
14:23:55 <AnMaster> ehird, also I wonder how fast it would run game of life? as fast as jitfunge?
14:24:00 <ehird> http://nsl.com/ has a bunch of other APL/J/K code btw
14:24:03 <ehird> AnMaster: um... no :P
14:24:11 <ehird> It'll probably be not very fast.
14:24:13 <AnMaster> ehird, probably not as fast as cfunge either ;)
14:24:24 <ehird> Probably around ccbi speed, I guess.
14:24:41 <ehird> (The array programming language family have _very_ optimised vector operations)
14:26:09 <ehird> AnMaster: here's something impressive:
14:26:23 <AnMaster> gcc-befunge, someone should make it... (yes I realise this means me probably... and I might if I have time at some point)
14:27:02 <ehird> AnMaster: shortest sudoku solver, evar, in K:
14:27:03 <ehird> f:{$[&/x;,x;,/f'@[x;i;:;]'&27=x[,/p i:x?0]?!10]}
14:27:07 <ehird> written by the creator of K
14:27:12 <ehird> that's _really_ short
14:27:31 <ehird> and a comment from him:
14:27:32 <ehird> "a few more bytes with a greedy algorithm is one million times faster on some harder puzzles .. (30ms instead of 1 hour) "
14:27:34 <AnMaster> <ais523> AnMaster: OK, that's very clever, but insane <-- that comment *could* have been about APL, but in fact it was about http://en.wikipedia.org/wiki/Space_fountain
14:27:48 <ehird> yeah I read the logs :P
14:28:01 <AnMaster> ehird, have you seen the sudoku solved in *.deb
14:28:25 <AnMaster> don't remember which part handles what
14:28:55 <AnMaster> ehird, did he post that longer version?
14:29:06 <ehird> not that I can see, it's probably on the google somewhere
14:30:20 <AnMaster> which is like HQ9+ but has s for "solve sudoku"
14:30:37 <AnMaster> FireFly, because it doesn't make sense :D
14:31:02 <ehird> someone make a sudoku program that only runs as root
14:31:09 <ehird> stop stealing my bad jokes
14:31:10 <AnMaster> ehird, hah I won by one second
14:31:22 <ehird> 14:31 <ehird> someone make a sudoku program that only runs as root
14:31:23 <ehird> 14:31 <AnMaster> sudo ku?
14:31:28 <FireFly> Well I won by 5 secs in thinking
14:31:32 <ehird> (but it was clearly unconnected)
14:31:42 <AnMaster> ehird, for me it was 15:31:01 <AnMaster> sudo ku? 15:31:02 <ehird> someone make a sudoku program that only runs as root
14:31:47 <ehird> ku would of course have to be a KDE program
14:32:13 <FireFly> There'd had to be a "Q" program, so that the KDE one is Ku
14:32:15 <ehird> AnMaster: isn't it kdesu
14:32:22 <ehird> and I know, you're meant to use it
14:32:26 <ehird> to avoid home directory stuff I think
14:32:50 <ehird> I always read kdesu as "K desu" and then I read it as "K desu desu desu desu desu desu" and then I die.
14:33:08 * AnMaster googles desu since he forgot what that meme was about
14:33:35 <ehird> I think by now it's more or less completely meaningless.
14:33:35 <AnMaster> "# A Japanese copula, or word used to grammatically link a subject and predicate. i.e. It is a Japanese verb meaning "to be"." "# An abbreviation for Delaware State University."
14:33:38 <ehird> And therefore zen.
14:33:45 <AnMaster> "# The nickname of Suiseiseki, a fictional character in Rozen Maiden, which is also used as a meme."
14:33:56 <ehird> http://encyclopediadramatica.com/index.php/Desu, but the likelyhood of you clicking an ED link is approximately 0
14:34:22 <ehird> Not later down the page.
14:34:41 <FireFly> http://www.youtube.com/watch?v=AcaW_ZYWSbo
14:35:08 <FireFly> Interesting how many meanings one word can have
14:35:14 <FireFly> Comparing the subs to the vocals
14:35:47 <ehird> Cavemanime: "ug ug ug ug ug ug ug ug ug"
14:36:36 -!- BeholdMyGlory has joined.
15:00:06 <pikhq> FireFly: Perhaps one should study Japanese. ;)
15:05:16 -!- BeholdMyGlory has quit ("yay, kde 4.2!").
15:11:16 -!- BeholdMyGlory has joined.
15:11:41 -!- BeholdMyGlory has quit (Client Quit).
15:12:15 <oklopol> ais523: impomatic: ah, I remember anagold <<< lul i did the same typo
15:15:18 <impomatic> I think I'm going to implement Underload
15:19:47 <oklopol> ehird: The APL/J/K kind of languages seem to have something about them leading to that. <<< maybe because they're point-free for the most part?
15:20:00 <ehird> how is that related to having shitty open source implementations
15:20:33 <oklopol> i thought you were referring to being hard to read, based on what anmaster answered
15:21:06 <oklopol> forget i said that or i will kill you.
15:25:29 <oklopol> i'm still far from good at it.
15:34:41 <oklopol> j would do that the same way, except some of the stuff like "apply to each" there can be omitted in j
15:35:19 <ehird> oklopol: yeah but it looks cooler
15:35:26 <ehird> because it's ap fucking l and has its own character set
15:36:26 <oklopol> anyway would be so cool to be able to write j/apl that fast
15:36:32 <oklopol> i mean it just looks so awesome
15:36:59 <oklopol> of course i probably could if i wrote it a bit more, i haven't really tried writing anything in it, so i'm fairly slow.
15:37:29 <FireFly> Someone should implement Sir. Cut
15:37:39 <FireFly> I tried, but it didn't work out well
15:40:30 <ehird> http://www.hortont.com/racarr/?p=27
15:43:12 <ehird> http://en.wikipedia.org/wiki/Video_Life
15:44:53 <FireFly> 'only "20 cartridges or less" of Video Life were ever made.'
15:45:08 <ehird> Yes. Also quite slow :P
15:55:39 <ehird> oklopol: i have a GoL quesitonnnnnnnnnnnnnn
15:55:51 <ehird> wouldn't it be possible to be really efficient by storing the neighbour count of cells?
15:55:54 <ehird> then just switching based on that
15:57:48 <pikhq> One still needs to store each cell's state and update the state of the surrounding cells...
15:58:02 <pikhq> Also, that takes up a fuckton of memory.
15:58:40 <pikhq> If you want to be really efficient, go with hashlife. ;)
16:00:29 <oklopol> ehird: you just move the problem of checking all neighbors.
16:00:58 <oklopol> you'd get one check for deciding next state, but you'd have to propagate the state to neighboring neighbor counts
16:44:52 <ehird> #tokipona in too many lines:
16:44:53 <ehird> 16:44 Potkan has joined (n=Potkan@a40-unl1-2-27.static.adsl.vol.cz)
16:44:53 <ehird> 16:44 <Potkan> Saluton.
16:44:55 <ehird> 16:44 <donri> toki :)
16:44:57 <ehird> 16:44 <Potkan> Good evening.
16:44:59 <ehird> 16:44 <Potkan> toki
16:45:05 <ehird> 16:44 <donri> hello
16:45:07 <ehird> 16:44 <Potkan> coi
16:45:09 <ehird> 16:44 <donri> saluton
16:45:11 <ehird> 16:44 <Potkan> hej
16:45:13 <ehird> 16:44 <Potkan> hello
16:45:17 <ehird> They're still at it .
17:21:22 <AnMaster> ais is sure having a long lunch...
17:28:50 -!- puzzlet_ has joined.
17:30:05 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
17:47:53 <ehird> "A type system powerful enough to express exactly what a function does would be quite nice."
17:47:57 <ehird> Aka, a programming language.
17:48:03 <ehird> (ihope 2007-07-30)
17:54:43 <oklopol> so i was thinking about a stack-based logic programming language
17:58:33 <oklopol> and i made a program snippet that solved a sudoku with it
17:58:40 <oklopol> and it was longer than the k thing
17:58:46 <ehird> showshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshowshow
17:59:27 <oklopol> well, i kinda deleted the thingie.
17:59:37 <oklopol> and it was fairly half-assed
17:59:51 <ehird> IT SOUNDS PHUN MOBILE
18:02:49 <oklopol> blah how the fuck does k do it :|
18:03:14 <ehird> JUST GIMME THE KOE
18:04:23 <oklopol> something like this: A(1,9)@A(3,3)/adA(1,9)/adA(9,1)/ad
18:04:52 <ehird> dude that's pretty um how did it work
18:04:54 <oklopol> basically the solving just means specifying the rules of sudoku
18:06:01 <ehird> oklopol now write it IN APL
18:07:05 <oklopol> so, A(1,9)@ means all elements of A are from set {1, 2.. 9}
18:07:18 <ehird> but thats not stack based
18:07:21 <oklopol> the rest is predefined splicings.
18:07:39 <oklopol> just you can't really see it because i named the array.
18:08:06 <ehird> don't name ANYTHING :|
18:08:45 <oklopol> A(3,3)/ad; (3,3)/ is a splicing that splits the axes evenly in three parts, same semantics as in oklotalk
18:09:02 <oklopol> ad is just alldiff, its rank is 1
18:09:09 <ehird> don't name ANYTHING :|
18:09:15 <oklopol> (it's also an array-processing language ofc)
18:09:39 <oklopol> stack-based logic programming array-processing language
18:10:03 <oklopol> well you don't have to name it, but here it's shorter that way
18:10:09 <ehird> don't name ANYTHING :|
18:10:48 <oklopol> could just do the operations on shallow copies of A using ":"
18:12:44 <lament> so why don't you kill me
18:15:02 <ehird> 18:11 <oklopol> hello lament
18:15:03 <ehird> 18:11 <oklopol> who are you?
18:15:06 <ehird> 18:12 <lament> i'm a loser baby
18:15:08 <ehird> 18:13 <lament> so why don't you kill me
18:15:10 <ehird> 18:13 <oklopol> yeah that's a good song
18:15:12 <ehird> The best of #esoteric.
18:18:01 <lament> that's pretty depressing.
18:18:30 <ehird> lament: protip: oklopol is never serious
18:18:33 <ehird> even when he's serious
18:18:52 <lament> I'm always serious, even when I'm not.
18:19:13 <lament> Does that make me all that different from oklopol?
18:26:05 <oklopol> lament: DO YOU STILL KNOW MENTAL IS AN ANAGRAMMAR OF YOUR NICK?
18:26:29 <oklopol> i was like "wow cool, wait old"
18:26:53 <lament> oklopol: have you noticed i was 'lamente' for a few days
18:27:01 <lament> it means 'the mind' in Spanish
18:28:08 <lament> actually ment means mind in catalan, i wonder if the article is still 'la'
18:29:10 <oklopol> http://es.wikipedia.org/wiki/Mente_(psicolog%C3%ADa)
18:30:01 <lament> my nick means 'the mind' in Catalan
18:32:47 <oklopol> "actually 'ment' means..." i thought that was a typo of "meant"
18:33:28 <oklopol> was kinda wondering why you completely ignored what i said; now i realize it's because i was being an idiot.
18:40:49 -!- Azstal has quit (Connection timed out).
18:50:09 -!- Hiato has joined.
18:59:41 <ehird> <lament> is 23 your IQ?
18:59:52 <ehird> 2007-08-02, on the subject of asiekierka's IQ
19:00:00 <ehird> (using the nick "squazr23")
19:00:07 -!- KingOfKarlsruhe has joined.
19:02:12 <oklopol> i hear these iq tests are a bunch of woodoo magic.
19:05:36 <ehird> asiekierka's bot was amusing
19:05:37 <ehird> <asiebot> A computer is a body fluid that carries food and obtaining energy and vital substances from within the body.
19:08:12 <ehird> <asiebot> asiekierka: The lungs are organs used for filtering urine from the blood.
19:08:24 <ehird> <asiebot> ehird`: Asiebot is a tree native to australia where it is the basic living substance of all the judges i've had the strangest dream... I dreamed i killed you again.
19:08:30 -!- kar8nga has joined.
19:09:07 <ehird> it was just a megahal
19:09:12 <ehird> since asiekierka can't program
19:09:21 <ehird> so, markov chain essentially
19:10:14 <ehird> <asiebot> asiekierka: You love ehird`.
19:11:24 <ehird> <asiebot> asiekierka: Blood is a cell which receives and transmits electrical impulses.
19:11:27 <ehird> <asiebot> asiekierka: Say stfu to the muzzle of a lot easier, just so long as i'm the dictator." - george w. Bush.
19:12:18 <ehird> <asiebot> ehird`: Ehird` is not a dumb computer program that translates high level language code into machine language code.
19:12:40 <ehird> 12:00:57 <asiekierka> asiebot: What is love?
19:12:40 <ehird> 12:01:09 <asiebot> asiekierka: I hate you.
19:13:12 <ehird> <asiebot> ehird`: I guess if someone says "fuck is a limb extending from the initials of other words.
19:14:15 <ehird> <asiebot> ehird`: Asiekierka is a sensory organ found on the head with the mzx community and pancake, and the anger from someone poking me.
19:14:26 <ehird> <asiebot> ehird`: Asiekierka is a bony girdle in vertebrates that connects the head with the mzx community and pancake, and the anger from someone poking me.
19:15:59 <ehird> <asiebot> A pub is a confectionery made from cocoa beans.
19:19:45 <ehird> it was more intelligent than its owner
19:21:06 <AnMaster> ehird, so the bot would win in a turing test if asie was the human?
19:22:25 <lament> smarter != wins the turing test
19:22:59 <AnMaster> also it would be fun if the bot faked being the human
19:23:31 <lament> Why do you think the human faked being the bot?
19:23:35 <AnMaster> would a human manage to act as incoherent as a bot?
19:23:46 <AnMaster> so a kind of reverse turing test
19:23:58 <AnMaster> lament, and I don't think the human faked, I just suggest it would be fun to try
19:24:02 <lament> Sounds interesting. Tell me more.
19:24:21 <lament> Why do you think haha?
19:24:42 <AnMaster> You mentioned a faked human before? Tell me more about your faked human.
19:27:05 <AnMaster> lament, hey, running two Eliza against each other is fun, you need something to start them off though
19:29:35 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:31:05 <FireFly> I'd like to see two fungots talking to each other
19:31:06 <fungot> FireFly: do you think it's good that he knows what he's talking about a real bite though. more like doing what is in the same sentence as per bothner will probably give riastradh a fish!
19:31:33 <AnMaster> FireFly, that cause an annoying endless loopi
19:31:40 <ehird> per bothner will probably give riastradh a fish!
19:32:17 <AnMaster> FireFly, however after that fungot started limited number of same lines per person
19:32:17 <fungot> AnMaster: i don't have scheme48, i assume
19:32:20 <oklopol> annoying infinite loop? seriously, two bots talking to each other = annoying infinite loop? that's just.. surprising :O
19:32:32 <AnMaster> so it will only answer the same person 4 times in a row
19:32:40 <AnMaster> before ignoring until someone else speak too it
19:32:53 <AnMaster> a 3 bot loop is still possible
19:35:25 <oklopol> was writing on another channel
19:35:59 <oklopol> yes, accidentally clicked it open at the last few chars
19:35:59 <AnMaster> oklopol, then it is customary to write: "
19:36:49 <AnMaster> ehird, not saying I like irssi
19:37:06 <ehird> no, you think you're being funny
19:37:11 <AnMaster> I'm just saying it is funny when they manage to write " /w 23" or such
19:37:20 <AnMaster> ehird, I'm not trying to be funny
19:37:53 <oklopol> en minä nyt oikein tajua mistä puhutte, taidan jatkaa algebran tehtävien kyöntiä
19:39:49 <oklopol> what's the point of writing in finnish if i just translate it right after
19:40:07 <oklopol> i mean what the fuck, i've been doing this exercise for 50 minutes now
19:40:42 <oklopol> well algebra, i'm never sure what term to use for uni schoolwork
19:40:53 <oklopol> we call them "demonstrations"
19:41:22 <oklopol> that's what the situation is called, but so are the exercises for some reason.
19:41:40 <oklopol> i mean when you liek demonstrate them to the class and shit.
19:42:19 <AnMaster> does google translate handle *.fi?
19:42:48 <AnMaster> "I now I really understand what you are talking about, going to continue the algebra of kyöntiä"
19:43:31 <FireFly> Just add an ! in front of it
19:43:39 <AnMaster> oklopol, you mean it should have been "I now really doesn't understand what you are talking about"?
19:44:03 <AnMaster> ok that is a major fail of google
19:44:04 <oklopol> AnMaster: "now i don't really understand what you're talking about..."
19:44:26 <oklopol> it's just in a different place in finnish, but almost the same construct
19:44:37 <AnMaster> oklopol, and where is the negation bit?
19:45:09 <oklopol> anyway, google did fail the latter part of the sentence, but so would fizzie.
19:45:19 <oklopol> i wasn't exactly expecting you to care what i said.
19:45:37 <oklopol> AnMaster: because "kyö" is a verb used only by vjn.
19:46:12 <FireFly> You lost me somewhere near token 1 on row 1
19:46:18 <oklopol> it means pretty much anything, we have tons of words you need to guess from context.
19:46:35 <AnMaster> at least you can understand Norwegian but Finnish is just strange...
19:46:58 <AnMaster> language family mess up over there I'm afraid
19:47:13 <AnMaster> isn't it closest to Japanese or something? I forgot
19:47:19 <oklopol> okay second attempt at the exercise; fucked up an equation there
19:47:19 <FireFly> Hungarian I believe it is?
19:47:31 <oklopol> should probably get matlab or something
19:48:18 <AnMaster> FireFly, I think it was oklopol or fizzie that claimed that a Finnish thought a lot of foreign people thought "Noika" was Japanese
19:49:01 <AnMaster> I always thought it was Finnish
19:49:23 <AnMaster> whooo gcc 4.3.3 hit stable on arch linux
19:50:14 <AnMaster> arch linux is probably the most bleeding edge distro I know
19:53:15 -!- FireFly has quit ("Later").
19:56:08 -!- puzzlet_ has quit (Remote closed the connection).
19:56:08 -!- FireFly has joined.
19:56:12 -!- puzzlet has joined.
19:57:39 <GregorR> Spam subject line: "There is a little mess in your pants - change it to a big order."
19:58:18 <lament> by the well-ordering principle
20:04:11 -!- Hiato has quit ("Leaving.").
20:04:57 <ehird> <ihope> I should look at Lojban.
20:08:28 <ehird> he certainly did :P
20:11:20 -!- puzzlet_ has joined.
20:13:57 <oklopol> AnMaster: I always thought it was Finnish <<< probably living closer to nokia than i do, you're not exactly a prime example of a foreigner.
20:15:38 -!- Judofyr has joined.
20:15:48 <oklopol> where are all the immense congratulations
20:17:37 <oklopol> what's that thing in yer hand is it a present for me
20:22:25 <AnMaster> <oklopol> AnMaster: I always thought it was Finnish <<< probably living closer to nokia than i do, you're not exactly a prime example of a foreigner. <-- eh?
20:23:08 <AnMaster> oklopol, Stockholm is closer to any part of Finland than I am
20:23:24 <oklopol> AnMaster: and do i live in stockholm?
20:23:26 <AnMaster> and I got no idea where in Finland Nokia is
20:23:39 <AnMaster> oklopol, no but Stockholm is pretty far from Finland
20:23:48 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
20:24:04 <oklopol> i live about 150 km from stockholm, nokia is a lot farther.
20:24:31 <oklopol> so yeah i was indeed lying about you living closer than me; but the difference is not that great
20:24:51 <AnMaster> oklopol, so what is the distance for you?
20:24:56 <oklopol> you might catch my bullshits.
20:25:10 <AnMaster> oklopol, what do you mean "your bullshits"?
20:25:16 <AnMaster> "We apologize for the inconvenience, but Google Earth has crashed."
20:25:41 <AnMaster> reproducible every time I start it
20:25:57 <oklopol> AnMaster: i mean i'm throwing the numbers from absolutely nowhere.
20:25:58 <FireFly> It'd be nice if they wrote "the Earth"
20:26:23 <FireFly> "We're sorry, but the Earth has crashed."
20:26:32 <FireFly> Like, if it'd be their fault if the world ended
20:28:18 <oklopol> AnMaster: if your seriously going to measure, i live in turku
20:28:32 <AnMaster> oklopol, yes I am if I get google earth running
20:28:40 <oklopol> in case you don't know that, i've mentioned it quite a few times
20:29:20 <AnMaster> oklopol, indeed I didn't remember the name of the city
20:29:31 <oklopol> well just use the mesh-current method to find the branch currents
20:29:34 <AnMaster> oklopol, best would of course be from the correct house
20:29:55 <oklopol> well. i'm not sure i want to divulge that
20:30:05 <AnMaster> oklopol, and your CC number of course too!
20:30:21 <AnMaster> oklopol, anyway what did you mean with "<oklopol> well just use the mesh-current method to find the branch currents"
20:30:55 <oklopol> AnMaster: lol just assume it's random if you don't get it :P
20:31:01 <oklopol> AnMaster: very close to campus, if that helps
20:31:58 <oklopol> turku is the international name afaik
20:32:53 <AnMaster> from you to Nokia about 132 km
20:33:12 <AnMaster> from you to Stockholm around 265 km
20:33:24 <AnMaster> oklopol, by roads it may be longer
20:33:59 <oklopol> there's a pretty straight highway there, it's just i thought it was a lot futher down it.
20:34:12 <oklopol> k. i guess a bit more then.
20:34:13 <AnMaster> I'm not going to give the distance to any other point
20:34:20 <AnMaster> don't want you to triangulate my position
20:34:47 <oklopol> how far do you live from me just out of curiosity
20:34:50 <AnMaster> actually put that marker wrong, it is more like 560 km
20:35:30 <AnMaster> I was just correcting the distance to Nokia
20:37:27 <FireFly> [21:35:15] <AnMaster> oklopol, no I didn't
20:37:51 <oklopol> yeah the i and you keys are right next to each other
20:57:18 -!- olsner has joined.
21:36:47 -!- GreaseMonkey has joined.
21:37:41 <kerlo> Have I mentioned that I've decided to refer to everyone using first-person pronouns?
21:37:47 <kerlo> Not that I've actually been doing so.
21:38:01 <kerlo> Hi, everyone. How am I doing?
21:40:43 -!- BeholdMyGlory has joined.
21:42:21 -!- kar8nga has left (?).
21:54:47 -!- BeholdMyGlory has quit (Remote closed the connection).
21:55:50 -!- Corun has joined.
22:04:11 -!- BeholdMyGlory has joined.
22:33:02 -!- oerjan has joined.
22:37:27 -!- Corun has quit ("Leaving").
22:41:01 <oerjan> <ais523> water vapour is unlikely to be much of a problem, it can cause global warming but most of it won't be at the right height
22:42:06 <oerjan> i don't _really_ know but i would imagine that the atmosphere stays pretty much saturated with water vapour, so adding more is very temporary (hydrological cycle)
22:42:34 <oklopol> haha you and your silly anecdotes
22:42:41 <oerjan> i mean, we have huge oceans precisely because you _cannot_ add most of it to the atmosphere
22:43:43 <oerjan> so while water vapour is the most important greenhouse gas, it's much less important for global warming because it's self-regulating
22:44:34 <oerjan> also, why didn't i check if ais523 was here before starting blathering :(
22:46:01 <oerjan> (it could still _strengthen_ global warming i think, because warming the atmosphere makes it have a higher water vapor threshold)
22:46:34 <oerjan> obviously this stuff has to be well-known
22:48:51 * oklopol tries to come up with something completely nonsensical, but fails miserably.
22:49:16 <oerjan> i can help you with that by shaving this iguana
22:49:50 <oklopol> haha an iguana that's like givin birth to a sevenfold quilt :D
22:50:33 <oerjan> yes and without the lactose too
22:51:13 <oklopol> you know how it is with these verifiables.
22:51:37 <oerjan> yes heine was known for his predicates
22:51:38 -!- GregorR has quit (Remote closed the connection).
22:51:41 -!- GregorR has joined.
22:56:37 <oklopol> and i hear it in cracker a minute later
22:56:44 <oklopol> (tv show i don't even watch)
22:57:28 <oklopol> well it's not not that common, but, you know, i wasn't actually watching, i turn my head on the screen, and the guy uses it
22:57:37 <oerjan> it's a sign. you must now convert to tibetan buddhism and go live in a small hut at the base of mount everest.
22:58:09 <ehird> there's a word for that
22:58:15 <ehird> i.e., you just use/find out about something
22:58:17 <ehird> bam, there it is again
22:58:21 <ehird> it's a special condition thing
22:58:59 <oerjan> synchronicity is one word for it but i guess you mean something more specific
22:59:03 <oklopol> yeah. a phenomenon i noticed when i was like 7, and heard about when someone here linked it
22:59:10 <ehird> something more specific yes
22:59:15 <ehird> it basically comes down to
22:59:20 <ehird> no, it isn't uncommon, your brain just didn't notice it
22:59:24 <ehird> because it wasn't interesting previous times
23:01:08 <oklopol> i don't recall when i last used the word, so i was very conscious when i did just now
23:02:28 <oklopol> but still, i did actually turn my head just before the guy used it, so there's definitely *some* magic involved (he yelled something during a lecture or something just before using it)
23:02:44 <oklopol> (and i was like huh whatchayellin)
23:03:15 <oklopol> (i still don't know what he yellin)
23:03:46 <oerjan> it's a law of nature. if any atheist hears about it, the evidence must be just vague enough that he can claim to explain it away.
23:04:55 <oklopol> i had religious thoughts the other day. well more like spiritual. caffeine made me feel alive and philosophical.
23:05:19 <oklopol> then i proceeded reading about software engineering, and all was numb again
23:05:26 <oerjan> ic maybe i should drink more coffee
23:05:40 * oerjan is down to a couple cups a day
23:05:45 <oklopol> well caffeine, taurine and a few others
23:05:55 <oklopol> i don't really drink coffee anymore, it's too much work
23:05:59 <ehird> oklopol: i thought you said religious people were obsolete
23:06:09 <oklopol> ehird: yes, i still think so :D
23:06:25 -!- BeholdMyGlory has quit ("godnatt").
23:06:25 <ehird> <oerjan> it's a law of nature. if any atheist hears about it, the evidence must be just vague enough that he can claim to explain it away.
23:06:30 <ehird> Atheism != rationalism.
23:07:21 <oerjan> well ok if an _irrational_ atheist hears about it, the evidence can be conclusive and he still won't believe it :D
23:07:25 <oklopol> ehird: my religious thoughts are usually about greater universes containing this one as a simulation; i don't actually believe in that stuff, but it just sounds so appealing i might not die when i die.
23:07:39 <oklopol> because, you know, life is awesome
23:07:50 <ehird> i don't want to lose conciousness.
23:07:58 <oklopol> i'm much less afraid of it than i was, say, at your age
23:08:19 <oklopol> i think it's normal for the fear to lessen with time, at least it would make sense
23:08:24 <ehird> I used to not be afraid of death at all. Then I realised, you know, it was death. End of.
23:09:29 <oklopol> ehird: it's probably not that scary once you actually experience it ;)
23:09:50 <ehird> Well, that's the thing isn't it. You can't exactly reflect on death.
23:09:59 <oklopol> i should get back on my electronics
23:10:09 <ehird> It's just impossible to imagine not ... existing. I mean, obviously. Because existing is the only perspective you can percieve things through.
23:12:13 <kerlo> When you die, you forget everything and become someone else instead.
23:12:35 <oklopol> that doesn't sound very plausible
23:12:47 <oklopol> somewhat appealing of course
23:12:52 <ehird> If you forget everything, whether you're you is... debatable.
23:13:16 <kerlo> That's why you become someone you had an especially great amount of impact on.
23:13:22 <ehird> I also hate the idea of a heaven... I don't like a segregated world where you can only watch life and everyone you know is dead.
23:13:42 <kerlo> That's why cool people are Alcor members.
23:14:00 <oklopol> i've always wanted to be like a janitor in a big building
23:14:20 <oklopol> just watch people from my little peepholes in the walls
23:14:21 <kerlo> I've always wanted to quit everything and explore the world.
23:14:59 <kerlo> Preferably an enclosed world, so that I don't have to get cold when it snows.
23:15:03 <oklopol> YOU MEAN LIKE YOUR IRC CLIENT
23:15:16 <kerlo> I'd bring an IRC headset along!
23:15:28 <kerlo> Type with my jaws. It's not that difficult once you get used to it, you see.
23:16:00 <oklopol> if you don't die, there's no reason to let your brain feel cold.
23:16:18 <kerlo> I can die, though.
23:17:26 <oklopol> if i'm doing mesh current and i have a current source, umm, how the fuck does that work? :\
23:17:44 <oklopol> then again that's not very helpful either
23:17:58 <kerlo> So, transcranial brain stimulation.
23:18:20 <kerlo> Transcranial magnetic stimulation.
23:18:58 <kerlo> It blasts your brain for a while, so after you're done, that part of your brain doesn't work for a while.
23:19:58 <kerlo> And you become an autistic savant! Kind of.
23:20:03 <kerlo> Does that sound interesting?
23:20:06 * oklopol learned today about a condition where you can only perceive one object at a time :o
23:20:23 <oklopol> kerlo: definitely, i've always wanted to be an autistic savant
23:20:43 <oerjan> i vaguely thought magnetism had little effect on human biology
23:20:47 <oklopol> currently i'm just good at stuff, and not that practical.
23:20:56 <oerjan> i mean, otherwise MRI would be dangerous
23:20:59 <ehird> http://en.wikipedia.org/wiki/Transcranial_magnetic_stimulation
23:21:24 <kerlo> Good at stuff like knowing what d^2f(x,y)/dxdy means?
23:22:06 <oklopol> i do know what that means, but that's more about knowing stuff than being good
23:22:07 <oerjan> oh it's rapidly changing magnetism, which is essentially electromagnetic
23:22:34 <oklopol> kerlo: what i mean is i'm like the square root of autistic savant, like most nerds.
23:22:58 <kerlo> oklopol: how would you explain it?
23:23:45 <oklopol> i would have to tell you what i know it means.
23:23:57 <oklopol> explaining has little to do with math
23:24:14 <kerlo> Please explain it, then?
23:24:28 <ehird> oklopol: he's trying to get you to do his homework
23:25:46 <kerlo> Yeah, since students of this class are all able to visualize things like that.
23:26:02 <oklopol> i mean how can i explain it without somehow telling you what it means?
23:26:15 <oklopol> that's impossible by definition
23:26:44 <kerlo> My explanation would be something like "d^2f(x,y)/dxdy is how twisty it is".
23:26:59 <oklopol> kerlo: what nice intuitive nonsense.
23:27:44 <kerlo> Useful intuitive nonsense.
23:27:50 <kerlo> ...or maybe it's not useful at all.
23:27:50 <oklopol> that's what my intuition about differentials says; but i do not know what differentials are.
23:28:33 <oklopol> it may be useful. but in math, you should keep intuition to yourself unless teaching.
23:28:34 -!- Corun has joined.
23:28:44 <oklopol> at least that's how i perceive the field
23:29:02 <kerlo> Should I continue trying to determine how intelligent you are compared to me?
23:29:31 <oklopol> while you're at it, answer my question
23:30:06 <kerlo> I don't know how possible it is to explain something without saying what it means. I don't think I asked you to do that.
23:30:41 <ehird> i think you're both stupid.
23:30:43 <oklopol> anyway, the calculus i'm taking does not define differentials. haven't seen a definition for them, and i've heard TRWBW say they are more of an intuitive concept.
23:31:22 <oklopol> kerlo: it was my own addition.
23:31:31 <kerlo> You got TRWBW to call something an intuitive concept? Wow. :-)
23:31:45 <oklopol> kerlo: it's not a matter of opinion
23:31:49 <kerlo> I like ehird's frankness.
23:32:05 <oklopol> in this case it's a matter of my lack of knowledge.
23:32:11 <oklopol> i don't know shit about calculus
23:32:19 <oerjan> no definition of the differential by limits? oh well i guess they might do that in engineering courses
23:32:36 <oklopol> oerjan: naturally there's a definition of the differential by limits
23:32:38 <kerlo> TRWBW is the guy in #math whose opinion is generally "mathematics is fundamentally about formal rules; therefore, most things in mathematics are generally best understood as formal rules".
23:32:41 <ehird> ... wait, is he a person in that #math place?
23:32:54 <ehird> kerlo: I assume he likes metamath, then.
23:32:56 <oklopol> oerjan: but differentials are used in actual calculations.
23:33:04 <ehird> Because it's soo easy to understand, right?
23:33:13 <oerjan> oklopol: you said "the calculus i'm taking does not define differentials. haven't seen a definition for them,"
23:33:14 <ehird> http://us.metamath.org/mpegif/2p2e4.html
23:33:19 <ehird> Best way to understand 2+2=4
23:33:21 <kerlo> ehird: how smart are you?
23:33:27 <oklopol> which makes absolutely no sense to me, i asked the lecturer what the fuck that was about, and he muttered something about the course being for non-mathematicians.
23:33:32 <lament> ehird is incredibly smart for his age
23:33:38 <lament> he's the smartest 4-year-old i know
23:33:47 <ehird> lament: harsh, man. harsh.
23:33:58 <oklopol> oerjan: yeah sorry, for differentials, no definition.
23:34:11 <oklopol> you're welcome to supply me with one
23:34:19 <kerlo> Well, he's obviously smart enough to be doing esoteric programming at the age of 12.
23:34:32 <ehird> Weren't you in here in 2005?
23:34:40 <ehird> If my calculations of everyone in #esoteric is correct, you'd have been 12 then.
23:34:44 <kerlo> I think I was also doing esoteric programming at the age of 12, indeed.
23:34:54 <oerjan> oklopol: um you are contradicting yourself
23:34:59 <ehird> I knew about Brainfuck since I was like 10, I think.
23:35:05 <oklopol> oerjan: not contradicting, correcting
23:35:10 <ehird> I only actually wrote programs in it when I was like 11 though. Even then barely
23:35:29 <oklopol> oerjan: derivatives and integrals were defined via limits, differentials not
23:35:36 <lament> I only learned about esoteric programming at 65
23:35:44 <lament> a latecomer to the field so to speak
23:35:47 <oerjan> oklopol: ok, d f(x) / dx = lim_{h -> 0} (f(x+h)-f(x))/h
23:35:58 <oklopol> oerjan: that's the definition of derivative
23:36:17 <oklopol> those are the differentials
23:36:28 <oerjan> i am not aware of any distinction between derivative and differential :D
23:36:30 <oklopol> they gave us that definition, and started using them as if they were numbers.
23:36:39 <kerlo> For quite a while, I've wanted to take a GCSE and be done with high school.
23:36:44 <oerjan> they're the same thing
23:36:54 <oklopol> oerjan: well, does it sound feasible to you to multiply d f(x)/dx by dx?
23:37:03 <oklopol> that's what you do when dx is a differential
23:37:05 <oerjan> oh you mean separately
23:37:52 <oklopol> oerjan: yes, afaiu a differential means an infitesimal number two of whose division gives the derivative.... that is, blabber blabber nonsense nonsense whappidippydoo.
23:38:01 <kerlo> Or A-Levels or something.
23:38:22 <oerjan> oklopol: hm right. it's usually done wishy-washy
23:38:27 <kerlo> I like to think of things like dx as simply meaning the derivative of x with respect to a universal implicit variable.
23:38:40 <oklopol> another lecturer said on a different occasion differentials can be defined via multivariable functions.
23:38:54 <oerjan> you _can_ do it with non-standard analysis, which uses some heavy logic to embed infinitesimals in set theory
23:38:54 <oklopol> and that i should probably just try to live with them for now.
23:39:35 <oklopol> kerlo: everyone likes to think things. that's called nonsense :D
23:39:45 -!- oklopol has changed nick to okloWBW.
23:40:47 <oerjan> okloWBW: well kerlo's idea probably works best in practice
23:41:09 <oerjan> at least until you start with partial derivatives
23:41:35 <okloWBW> i don't really care what works. i don't learn math because it's useful
23:42:36 <oerjan> okloWBW: of course this all goes back to leibnitz's notation (That d/dx stuff) which was really based on noting that treating stuff as infinitesimals mostly works
23:42:38 <kerlo> Partial dx is the partial derivative of x with respect to a different, non-universal implicit variable.
23:42:48 <oerjan> centuries before anyone defined it properly
23:44:52 <okloWBW> kerlo: doesn't sounds all that formal to mea.
23:45:41 <oerjan> okloWBW: http://en.wikipedia.org/wiki/Gottfried_Leibniz#Calculus is very relevant to our discussion
23:46:35 <kerlo> I think it can be formalized.
23:46:45 <ehird> okloWBW: can I ask a J q
23:47:08 -!- FireFly has quit (Remote closed the connection).
23:47:20 <okloWBW> kerlo: most likely. but i can't do it in my head just like that.
23:47:39 <ehird> okloWBW: what's the "mean" code again? this leads onto another q
23:48:13 <oerjan> okloWBW: also, http://en.wikipedia.org/wiki/Differential_(infinitesimal) mentions several ways of making it rigorous
23:49:28 <ehird> okloWBW: so in (+ /% #), howcome it doesn't apply % to the functions themselves
23:49:35 <ehird> I mean, how does the implicit arg get fitted in?
23:52:14 <okloWBW> x (a b c) y means (x a y) b (x c y)
23:52:28 <ehird> that seems arbitrary
23:52:55 <okloWBW> it may be arbitrary, but it's extremely useful, and lets you write most functions without naming your arguments
23:53:10 <ehird> what about if I did
23:53:14 <okloWBW> although i definitely don't think it's arbitrary
23:53:20 <ehird> mean =: (+x)/%(#x)
23:53:23 <ehird> would it try and put the arg in?
23:53:52 <okloWBW> it would crash because x isn't defined
23:54:05 <ehird> assume x is the formal parameter.
23:54:33 <okloWBW> if x is a list, then (+x)/%(#x) is the mean of that list.
23:54:58 <ehird> so how come it doesn't feed in the arg automatically
23:55:01 <ehird> what's the rule for that
23:55:20 <okloWBW> oerjan: let's hope they teach me that in uni, i don't want to learn calculus on my own.
23:55:33 <okloWBW> because, well, i'm not really that interested in it
23:55:42 -!- olsner has quit ("Leaving").
23:55:50 <okloWBW> ehird: feed in the arg automatically..?
23:55:57 <okloWBW> i... don't know what you mean
23:56:13 <ehird> transform into, etc
23:56:17 <ehird> how does it know when to fork
23:56:36 <ehird> I see you dividing two functions.
23:56:48 <okloWBW> yes, the semantics of which i already defined
23:57:36 <okloWBW> essentially three adjacent functions evaluates to a lambda
23:57:59 <ehird> ascii art parse trees.
23:58:01 <ehird> I can't decide if that's fucking stupid or fucking awesome
23:58:20 <okloWBW> just a notational thing, i think you can change that somehow
23:58:27 <oerjan> ehird: it's very common in math to apply things to functions that way ("pointwise")
23:58:31 <ehird> how do you retrieve the previous line into the prompt in J?
23:59:06 <okloWBW> x doesn't need to be bound, those can be functions too
23:59:19 <okloWBW> you're just adding funcs then
23:59:30 <ehird> 23:58 <ehird> how do you retrieve the previous line into the prompt in J?
23:59:37 -!- Corun has quit ("This computer has gone to sleep").
00:00:02 <okloWBW> that's how i do it in idle, therefore also in j
00:00:09 <okloWBW> there probably are better ways
00:00:50 <ehird> how do you look up a functions doc in j
00:01:38 <ehird> like I wanna look up &
00:01:47 <okloWBW> there's a reference card, googl it
00:01:55 <ehird> yeah I get all the &s in it.
00:01:58 <okloWBW> you'll probably need some basics first
00:02:08 <ehird> "vocabulary" helps
00:02:22 <ehird> I'm just going to write code
00:02:24 -!- Corun has joined.
00:02:48 -!- Corun has quit (Client Quit).
00:02:48 <ehird> how do you undefine somethin
00:02:50 <okloWBW> tell me when you're better than me
00:06:27 -!- CakeProphet has joined.
00:07:23 <ehird> is _ "i dunno lol"
00:09:07 <ehird> okloWBW: in the vocab list
00:09:11 <ehird> is that _really_ it?
00:12:00 -!- jix_ has joined.
00:14:02 <ehird> okloWBW: are strings, umm, lists of sth
00:14:11 <ehird> i might read the tutorial
00:14:13 -!- Corun has joined.
00:14:49 <ehird> what can you do wid them
00:15:01 <ehird> and it opened up a printer dialog
00:15:28 <okloWBW> umm i haven't done anything with strings
00:15:39 <ehird> how does that work
00:15:43 <okloWBW> ehird: still don't know what coins meant?
00:17:45 <okloWBW> monadically: (b c) d = (d b (c d))
00:18:35 -!- Corun has quit (Client Quit).
00:19:16 <ehird> ah, strings are documented in j602/help/user/script_strings.htm
00:21:05 <ehird> hrm, where's range...
00:23:51 -!- jix has quit (Read error: 110 (Connection timed out)).
00:24:45 <okloWBW> j makes you go like that a lot
00:24:59 <ehird> how do you input a multid array
00:25:48 <ehird> glider=:3 3$1 1 1 1 0 0 0 1 0
00:26:13 <ehird> how would you do it
00:26:27 <okloWBW> well you can use raze........
00:27:43 <ehird> how do you expand a matrix? :s
00:27:45 <ehird> I searched the docs...
00:29:01 <okloWBW> you can consider the arrays lists of lists as long as you make sure length issues don't arise; / maps an operator over a list, and , concatenates
00:29:27 <ehird> that helped a bittttttttttt
00:30:00 <okloWBW> o o o o o o o o o o o o o o o
00:30:09 <ehird> .....................................................
00:30:10 <okloWBW> o o o o o o o o o o o o o o o o o o o o o o o o o o
00:30:17 -!- okloWBW has changed nick to oklopol.
00:30:22 <ehird> what the fuck are you doing lament
00:31:53 <lament> what? It's a game of life state
00:32:18 <ehird> but yeah oklopol i can't figure out how to drown my glider in a sea of 0s <_<
00:33:43 <oklopol> there's a way to do that, but umm.
00:34:32 * ehird notes that neighbours are
00:35:11 <ehird> neighbour at point goes into point.
00:35:47 -!- jix_ has quit ("...").
00:37:37 <ehird> soooooooooooooooooooooooooooooksdfsdfsdf
01:26:17 -!- Corun has joined.
02:00:28 -!- psygnisfive has joined.
02:06:30 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
02:06:33 -!- MizardX has joined.
02:49:12 -!- Corun has quit ("This computer has gone to sleep").
04:05:01 -!- oerjan has quit ("Lost terminal").
04:16:17 <psygnisfive> i dont like the idea of having to create a parser that recognizes things character by character
04:16:33 <psygnisfive> but unfortunately, stupid regex's dont let me specify set intersections :(
04:16:48 <psygnisfive> EVEN THO regular languages are closed under intersection
04:17:10 <psygnisfive> supposedly perl allows it but ruby's regex doesnt. :|
04:18:21 <psygnisfive> i suppose i could also use subtraction. that would help too. but no.
04:19:07 -!- bsmntbombdood has changed nick to bsmntbombgirl.
04:40:10 <psygnisfive> well, no. im actually an irrational number but five is close enough for convenience.
05:20:42 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
05:20:57 -!- oklopol has joined.
06:59:39 -!- puzzlet_ has quit (Read error: 60 (Operation timed out)).
06:59:54 -!- puzzlet has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:43 <MizardX> psygnisfive: (?:(?=[a-r])[d-z]) == [d-r]
08:14:57 <MizardX> And a trick for the built-in classes: [^\W\d] == \w - \d
08:26:01 -!- GreaseMonkey has quit ("Client Excited").
08:37:52 <MizardX> >>> del __builtins__.__import__
08:37:57 <MizardX> ImportError: __import__ not found
08:56:45 -!- ehird has quit ("Disconnecting from stoned server.").
08:57:08 -!- ehird has joined.
10:13:53 -!- puzzlet has quit (Remote closed the connection).
10:19:11 -!- puzzlet has joined.
10:49:09 -!- Slereah2 has joined.
11:00:21 -!- Slereah has quit (Read error: 110 (Connection timed out)).
11:07:24 -!- jix has joined.
12:18:12 -!- comexk has joined.
12:18:54 -!- comex has quit (Remote closed the connection).
12:18:54 -!- ehird has quit (Remote closed the connection).
12:18:54 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
12:18:56 -!- ehird has joined.
12:20:19 -!- puzzlet has joined.
12:40:21 -!- Corun has joined.
12:50:11 -!- AnMaster has quit ("ZNC - http://znc.sourceforge.net").
12:52:40 -!- AnMaster has joined.
12:57:31 -!- Corun has quit ("This computer has gone to sleep").
13:05:57 <MizardX> How is single \r and \n handled by *nix shells? On windows; a single \r moves the cursor to the start of the current line.
13:08:47 <MizardX> hmm... print 'foo\rx\nbar\rx' gives "xoo" on one line, and "xar" on the next, both on windows and SunOS
13:10:36 <MizardX> could be python that makes it so though... >_>
13:14:11 <impomatic> Corewar will be 25 years old later this year :-)
13:39:38 <AnMaster> depends on terminal rather than shell I think
13:40:16 <AnMaster> and yes python could mess with it
13:40:34 <AnMaster> so why not: echo -ne 'foo\rx\nbar\rx'
13:47:47 <MizardX> probably putty that resets the cursor position on \r
13:48:23 <fizzie> If you manage to print out a raw \r, it probably does move the cursor to the start of the current line on just about any sensible terminal.
13:56:24 -!- bsmntbombgirl has quit (Read error: 110 (Connection timed out)).
13:56:56 -!- bsmntbombgirl has joined.
14:53:00 <ehird> oklopol: i am totally understanding j
14:54:08 -!- Hiato has joined.
14:54:10 <oklopol> do you know how raze works?
14:54:14 <ehird> i think I'm starting to "get" J
14:54:17 <ehird> and I think I know how raze works.
14:54:36 <ehird> i don't _entirely_ understand it all, but I think I'm getting the gist.
14:55:12 <oklopol> array languages are fun in that there actually is a gist
14:55:32 <oklopol> compared to learning liek umm what was the thing i was reading
14:55:54 <oklopol> nevermind, probably proves my point even better than remembering
14:56:00 <ehird> i kind of wish j gave things more conventional names though
14:56:05 <ehird> it's kind of hard to find something
14:56:18 <ehird> "reflex . passive / evoke" well duhhhhh
14:59:05 <ehird> okay hrmmmmmmmmmmmmmmm how could I run |. over the various args without troubles hrmmmmm
15:00:43 <ehird> well, yesterday I said:
15:00:52 <ehird> 16:34:32 * ehird notes that neighbours are
15:00:53 <ehird> 16:34:36 <ehird> 0 0 |. x
15:00:54 <ehird> 16:34:39 <ehird> 0 1 |. x
15:00:56 <ehird> 16:34:44 <ehird> 1 0 |. x
15:00:58 <ehird> 16:34:46 <ehird> 1 1 |. x
15:01:00 <ehird> 16:34:51 <ehird> 0 _1 |. x
15:01:02 <ehird> 16:34:54 <ehird> _1 0 |. x
15:01:04 <ehird> 16:34:55 <ehird> _1 _1 |. x
15:01:06 <ehird> 16:35:11 <ehird> neighbour at point goes into point.
15:01:08 <ehird> it's just like... i don't want to write out all those :D
15:02:37 -!- FireFly has joined.
15:02:56 -!- MigoMipo has joined.
15:03:09 <ehird> so I'm wondering how I could do lieeeeeek
15:03:16 <oklopol> i suggest you do some searching, i don't remember :|
15:03:21 <ehird> "lieeeeeeek length two permutations of _1 0 1, feed em to |. k"
15:03:32 <oklopol> there's a simple way to (1,0,1)2
15:04:00 <oklopol> wtf is it with my laptop constantly putting insert on
15:04:11 <oklopol> i've never actually pressed it except to off it.
15:04:45 <oklopol> well i don't know what length 2 permutations of _1 0 1 are, but i guess you mean the cartesian product because you listed it
15:13:00 <oklopol> (i:1) ((<@([;]))"0/) (i:1) holy fuck that was hard
15:13:19 <oklopol> that's the hardest part of j, getting ranks and all that right
15:14:18 <ehird> ranks are kind of confusing
15:14:19 <ehird> oklopol: what is sp
15:15:35 <oklopol> "a oper/ b" applies oper to the cartesian product.
15:15:44 <oklopol> and there probably is a function that just gives the cp
15:15:56 <ehird> (_1 0 1) |./ glider
15:15:58 <ehird> | (_1 0 1) |./glider
15:16:37 <oklopol> (each of a) oper (each of b)
15:16:41 <oklopol> liek makes an array of them.
15:16:50 <ehird> lol can u c im confused lol
15:17:15 <ehird> i mean it's not even all permutations
15:17:25 <ehird> because it's all permutations of (one elem, one elem)
15:17:47 <ehird> you're so helpful :D
15:19:33 <ehird> j is for people who
15:19:37 <ehird> DON'T NEED ANY HELP
15:20:06 <ehird> there is a j channel
15:20:12 <ehird> they have j evaluation bots.
15:20:53 <ehird> there's only 4 people in ther
15:29:44 -!- BeholdMyGlory has joined.
16:02:22 <ehird> % grep -i 'youtube' *|head
16:02:22 <ehird> 06.05.23:03:38:04 <SimonRC> http://www.youtube.com/watch?v=vD4OnHCRd_4
16:04:08 <ehird> 04.05.27:14:16:29 <lament> i have never even seen a breadboard, but they sure sound sexy
16:47:41 <ehird> guy in #jsoftware, gnomon
16:47:45 <ehird> is in the logs of here im reading now
17:00:03 -!- BeholdMyGlory has changed nick to IllegalNameExcep.
17:00:59 -!- MigoMipo has changed nick to NullPointer.
17:01:04 -!- NullPointer has changed nick to MigoMipo.
17:01:30 -!- IllegalNameExcep has changed nick to BeholdMyGlory.
17:06:50 <AnMaster> I have a python question, if I want to dump everything python knows about a module, how would I do it? This is for debugging, basically I have a crash in a C program using python for an embedded scripting language. And I want to dump everything python knows about the module it implements.
17:07:08 <ehird> "Everything it knows" makes little sense.
17:07:11 <ehird> What do you want to dump?
17:07:41 <ehird> I'm afraid I'm not too familiar with the C API. Can you get the module from inside a Python prompt?
17:07:52 <AnMaster> ehird, I can run python code yes
17:08:03 <AnMaster> I'm stepping in gdb to right before the point it crashes
17:08:04 <ehird> Try module.__dict__
17:08:51 <AnMaster> ehird, yes that did what I wanted.
17:09:04 <AnMaster> (gdb) call PyRun_SimpleString("print Crossfire.__dict__\n")
17:09:16 <AnMaster> now if it was a bit easier to read only :/
17:09:22 <ehird> AnMaster: import pprint
17:09:37 <ehird> pprint.pprint(Crossfire.__dict__)
17:10:06 <AnMaster> call PyRun_SimpleString("import pprint\npprint.pprint(Crossfire.__dict__)\n") I guess
17:10:36 <AnMaster> 'Time': <module 'Crossfire_Time' (built-in)>,
17:10:37 <AnMaster> 'Type': <module 'Crossfire_Type' (built-in)>,
17:10:53 <ehird> You can make it recursive.
17:11:24 <AnMaster> anyway the issue is something is wrong with reference count, python thinks that module, 'Crossfire_Type' has no references, but I think it has, to be specific: in that dict
17:11:40 <AnMaster> so does the python object think. but not the python gc
17:11:55 <AnMaster> result: crossfire-server: Modules/gcmodule.c:277: visit_decref: Assertion `gc->gc.gc_refs != 0' failed.
17:12:14 <AnMaster> ehird, so I'm digging deep into the internals atm
17:12:15 <ehird> if hasattr(o, '__dict__'):
17:12:18 <ehird> for k, v in o.__dict__.iteritems():
17:12:28 <ehird> pprint.pprint(recdict(Crossfire))
17:12:38 <AnMaster> oh nice, now to write it all in a C string :D
17:12:48 <ehird> "def recdict(o):\n if hasattr(o, '__dict__'):\n r = {}\n for k, v in o.__dict__.iteritems():\n r[k] = recdict(v)\n return r\n else:\n return o\n"
17:12:57 <ehird> "def recdict(o):\n if hasattr(o, '__dict__'):\n r = {}\n for k, v in o.__dict__.iteritems():\n r[k] = recdict(v)\n return r\n else:\n return o\npprint.pprint(recdict(Crossfire))\n"
17:13:06 <ehird> I got that by doing """(code)""" in python and looking at the output :P
17:14:24 <ehird> btw, I would recommend against using python as an embedded scripting language.
17:14:30 <ehird> It isn't very...embeddable.
17:14:48 <AnMaster> ehird, well not my choice, has been like that since before I joined the project
17:15:20 <ehird> Lua is... rather crappy.
17:15:21 <AnMaster> heh, 800 lines of output from that
17:15:29 <ehird> The syntax isn't very nice, and *arrays index at 1*
17:15:45 <AnMaster> ehird, well there is guile too, but I don't expect anyone else to have liked that idea.
17:16:04 <AnMaster> apart from that I can't think of any embedded scripting language
17:16:15 <ehird> guile is a rather crappy Scheme, too :P
17:16:23 <AnMaster> however since the embedded scripting language is in a plugin and not in core it should be easy to replace
17:16:24 <ehird> I'd go for elk, it's an embeddable Scheme with nice things like full continuations
17:16:28 <ehird> but that's a bit dormant
17:16:32 <ehird> (2 years of no dev, IIRC)
17:16:49 <AnMaster> well, that would make me rule it out probably
17:17:04 <AnMaster> anyway you could have it as well. just a cfelk plugin
17:17:19 <ehird> I'd just rewrite the whole thing in Scheme, to be honest. :-P
17:17:53 <AnMaster> you mean the core too? hah, well the code is old in parts, there is stuff in common/porting.c that even Lovecraft would avoid writing about.
17:20:04 <AnMaster> ehird, is there any way from inside python to ask python what it thinks about reference count of objects?
17:20:04 <ehird> Yes, I believe so, let me find it in the library reference
17:20:04 <AnMaster> hm even better would be: if the GC thinks it can see a specific pointer in C
17:20:04 <ehird> AnMaster: http://python.org/doc/2.6/library/gc.html
17:20:04 <AnMaster> ehird, huh I looked there just a second ago *re-reads*
17:20:09 <ehird> get_referrers/get_referents is probably what you want
17:21:07 <ehird> AnMaster: note: python does freaky shit to handle circular references.
17:21:18 <ehird> if you have some of them, might wanna look there.
17:21:42 <AnMaster> I don't think I have it, but that recursive dump above was over 800 lines long
17:22:46 <AnMaster> NameError: name 'Crossfire_Time' is not defined
17:22:52 <AnMaster> that is supposed to be a module?
17:23:17 <AnMaster> ah I need to import it in the line too
17:23:27 <ehird> AnMaster: make a script
17:23:30 <ehird> to check for circular references
17:23:39 <ehird> i.e., walk the recdict tree, remembering every object you see
17:23:43 <ehird> if you see one again, print it
17:25:15 <AnMaster> the result of gc.get_referrers made no sense
17:25:19 <AnMaster> call PyRun_SimpleString("import pprint, gc, Crossfire_Time\npprint.pprint(gc.get_referrers(Crossfire_Time))\n")
17:25:57 <AnMaster> it seems to return a list of many modules instead of "who is holding a reference to the PyModuleObject for Crossfire_Time
17:26:51 <AnMaster> ehird, does http://rafb.net/p/0gPG5U88.html make any sense to you?
17:27:16 <ehird> AnMaster: I think that means that Crossfire_Time imports all those modules, directly or indirectly.
17:27:22 <ehird> Maybe you want referrents
17:28:05 <AnMaster> that only lists what the module contains...
17:28:38 <AnMaster> well I will after I debug this some more first
17:29:24 -!- Corun has joined.
17:30:05 <AnMaster> maybe there is some way to say "don't ever try to garbage collect this stuff because there is C side stuff you don't know about, so GC should just ignore this"?
17:31:11 * oklopol waits for AnMaster to ask what it is
17:31:28 <oklopol> HOW SHOULD I KNOW NOT HAVING GC IS A RETARDED IDEA
17:32:06 -!- Mony has joined.
17:33:22 <AnMaster> oklopol, I mean from the C Embedding API point of view
17:34:51 <oklopol> hmm, i'm not actually sure you can ignore only some objects.
17:35:34 <ehird> why would you, AnMaster
17:35:41 <ehird> you're meant to fit your freeing to python's gc
17:37:02 <AnMaster> ehird, well the issue is it is freeing something that is used from C code. just increasing reference count doesn't work, then python thinks there is a bug due to a missing decrease:
17:37:07 <AnMaster> crossfire-server: Modules/gcmodule.c:277: visit_decref: Assertion `gc->gc.gc_refs != 0' failed.
17:37:15 <ehird> that's not what you're meant to do.
17:37:19 <ehird> you're meant to set up a proper reference
17:37:37 <AnMaster> ehird, well there is a proper reference to this object inside the dict of the Crossfire module
17:37:48 <ehird> If there is a reference it won't be freed.
17:42:35 <AnMaster> ehird, well following from the top module through the dict, using gdb, seems to indicate there is a reference there
17:42:57 <AnMaster> and if that is actually freed then python should certainly have decreased reference count by one?
17:43:54 <AnMaster> also this is a crazy line: print *(PyDictObject*)(((PyModuleObject*)CrossfireModule).md_dict)
17:44:13 <AnMaster> yes all show up as PyObject, but they are really the other ones basically
17:44:27 <ehird> <AnMaster> and if that is actually freed then python should certainly have decreased reference count by one?
17:44:28 <AnMaster> what python does is like manual union
17:45:29 -!- Hiato has quit ("Leaving.").
18:04:06 <psygnisfive> MizardX: oh sir if that works and i hadn't thought of it, i love you.
18:06:21 -!- olsner has joined.
18:07:03 -!- Mony has quit ("Quit").
18:32:15 -!- Corun has quit ("This computer has gone to sleep").
18:41:58 -!- Corun has joined.
19:10:49 -!- Hiato has joined.
19:20:19 -!- monu has joined.
19:20:30 <oklopol> fungot: demonstrate yourself.
19:20:31 <fungot> oklopol: i could just not claw/ bite the network cable... they waxed the floors here and then think they have the same problem
19:21:05 <ehird> ^bf ,[.,]!runs brainfuck too
19:21:08 <ehird> ^ul (and underload)S
19:21:11 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
19:21:37 <ehird> Worst. PRNG. Evar/
19:21:53 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft pa speeches ss wp
19:21:56 <fungot> Selected style: alice (Books by Lewis Carroll)
19:21:59 <fungot> ehird: and now how much of human suffering i fnord only relieved, but actually fnord!" her husband uneasily replied. " it would be fnord of entertainment!" the professor suggested. " a lady never knows on which side he will jump down.
19:24:08 <olsner> yo dawg I heard u like fnord so I put a fnord in your fnord so you can fnord while you fnord
19:25:08 <lament> a lady never knows on which side he will jump down.
19:26:54 <ehird> I think that's a statement about sex changes/
19:27:09 <Slereah2> Yo dawg I herd yo dawg likes yoyos so I put a dog in a y if your brother worked on the civ 2 team
19:27:31 <Slereah2> Disregard this, it is meaningless.
19:27:43 <monu> who is fungot ?
19:27:43 <fungot> monu: " there's more evidence to come yet, please your majesty," said sylvie.
19:27:58 <monu> are you sure ?
19:27:59 <ehird> the bot written in befunge.
19:28:07 <monu> ehird: i know that :P
19:28:17 <monu> ehird: u just told me
19:28:41 <monu> is fungot an animal ?
19:28:42 <fungot> monu: 30. sometimes the conclusion, offered to us, with much pride, the handle of it caught her under the chin, and, in the course of the evening."
19:29:15 <monu> who is fungot ?
19:29:16 <fungot> monu: " but it's the wrong street. that's where we've made our mistake! our best plan, now, did you?
19:29:41 -!- MigoMipo has quit ("QuitIRCException: MigoMipo out of IRC").
19:29:56 <ehird> fungot's a mineral
19:29:57 <fungot> ehird: though the barrister tried to appeal to its pride, and vainly proceeded to fnord his attention.
19:30:54 <monu> is fungot a storyteller ?
19:30:55 <fungot> monu: ' i know they're talking nonsense,' alice thought. still, she couldn't make out what it could possibly be. but lady muriel seemed to take it quite as a matter of course that doesn't do unless children are healthy: i quite allow that. well, well!' said alice, looking about in great fnord, that seemed to exist in the air a weary and wandering sigh then sounded like " fnord!"
19:31:08 <ehird> it's a markov chain
19:31:10 <fungot> Available: agora alice* darwin discworld europarl ff7 fisher ic irc lovecraft pa speeches ss wp
19:31:18 <ehird> Currently it's spewing lewis caroll, feel free to change that.
19:31:24 -!- Hiato has quit ("Leaving.").
19:31:42 <monu> so fungot forgets, he doesnt remember ...
19:31:43 <fungot> monu: alice did not like shaking hands with either of them first, for fear of hurting my feelings). " you're nothing but a bottle of ink, and when he urged " for fnord sake: ' the nights are very damp!"
19:31:59 <fungot> Selected style: wp (1/256th of all Wikipedia "Talk:" namespace pages)
19:32:06 <fungot> FireFly: i began to try to thrust all that into the lead section's image: we haven't even explained heredity and variation yet, so great was his power." i suggest we begin to doubt the fnord as we called him, the reason for this?
19:33:47 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
19:34:10 <fungot> monu: going against th fnord of society in the quest for fnord beauty" by pointing to frth :) thanks again!) but with none of the stories are about robots.
19:34:57 -!- Corun has quit ("This computer has gone to sleep").
19:37:00 <fungot> monu: financial loss from feeding it anyway.
19:38:31 <fungot> monu: local person the question " how is a named-let different from a let that binds the variables it binds in their scope so functions bound to them so strong that you need anything lower-level than syntax-rules.)
19:39:18 <monu> sayonara fungot
19:39:18 <fungot> monu: after tusho writes a proposal that allows players to donate points, by creating a continuation at some other time
19:39:40 -!- monu has left (?).
19:43:25 <AnMaster> ehird, btw: I found and fixed the issue
19:43:47 <AnMaster> though the fix seems wrong... and disagree with the documentation.
19:43:50 <kerlo> Would you use fungot daily?
19:43:51 <fungot> kerlo: funet does, bash doesn't have, and that i'm not a wolf. you communicate by howling, but i'm doing sicp exercise 1.22 and wondering whether it just does
19:44:31 <kerlo> It's a question. A question is the kind of thing you can answer.
19:46:13 <kerlo> I wonder where the "i'm not a wolf. you communicate by howling" thing came from.
19:46:53 <fungot> Selected style: agora (a large selection of Agora rules, both current and historical)
19:46:59 <fungot> kerlo: a player becomes sitting. a zombie may not
19:47:07 <fungot> kerlo: an office is not impaired by contradiction between the announcement the scorekeepor. the
19:51:24 <fungot> Available: agora* alice darwin discworld europarl ff7 fisher ic irc lovecraft pa speeches ss wp
19:51:31 <fungot> Selected style: europarl (European Parliament speeches during approx. 1996-2006)
19:51:35 <fungot> AnMaster: mr president, a few members of a national side of the house to go back on what is being proposed for the reserved sector and the right of the presumption of guilt of terrorism for any person going through a period of 10 years for revision. i have several questions to the greek authorities, which includes ' pre-emptive strikes', such as poverty, public servants being unable to cope with the new initiatives for employme
19:53:18 <FireFly> Ooh, interesting, isn't it, fungot?
19:53:18 <fungot> FireFly: mr president, ladies and gentlemen, the third aspect concerns the role of the joint research centre. as you will be informed of the progress made should not be underestimated.
19:53:35 <fungot> Selected style: pa (around 1200 transcribed Penny Arcade comics)
19:53:45 <fungot> AnMaster: because i hate myself. and when you do play, it's like a copyright infringement kit. you want in on some of this stuff is actually really tasteful.
19:53:53 <fungot> Selected style: alice (Books by Lewis Carroll)
19:53:57 <fungot> AnMaster: ' it says " fnord!" that fnord is fnord to me is my fnord' doggie than a dozen sic' as thou! and through and through me without seeing me. " this is harder than fnord!" thundered the vice-warden.
19:54:08 <fungot> Available: agora alice* darwin discworld europarl ff7 fisher ic irc lovecraft pa speeches ss wp
19:54:21 <fungot> Selected style: fisher (Fisher corpus of transcribed telephone conversations)
19:54:22 <FireFly> But I'd like to see an xkcd one :D
19:54:35 <AnMaster> FireFly, you transcribe the comics+
19:54:36 <fungot> kerlo: ( ( closest to)) did we look at how the people over
19:54:43 <fungot> AnMaster: you too how are you oh okay oh)) someone and they called him i think
19:55:01 <fungot> Selected style: wp (1/256th of all Wikipedia "Talk:" namespace pages)
19:55:06 <fungot> AnMaster: look here fnord/ fnord/ tco/ fnord
19:55:12 <FireFly> AnMaster: http://www.ohnorobot.com/index.pl?comic=56&s=test&search=Search
19:55:14 <fungot> kerlo: how come this section is about violence that has occurred at the beginning and end of each title's description, there is still a paramount pa., age 1) and ruby j. wilson ( born n.y., age 8).
19:55:14 <fungot> AnMaster: if there is other fair use media, consider checking that you have specified the fair use rationale on the other images used on this article.
19:55:17 <FireFly> [[A man sits at a computer connected through a wall to another computer.]]
19:55:17 <FireFly> TURING TEST EXTRA CREDIT: CONVINCE THE EXAMINER THAT HE'S A COMPUTER. / Man: You know, you make some really good points. I'm ... not even sure who I am anymore.
19:55:17 <FireFly> {{Title Text: Hit Turing right in the test-ees.}}
19:55:37 <fungot> Selected style: ss (Shakespeare's writings)
19:55:59 <AnMaster> fungot, To be or not to be (a markov chain)
19:56:01 <fungot> AnMaster: gon. not since widdow dido's time to counsaile thee that art to me, and ile not wish thee to a shrew'd ill-fauour'd wife? thou'dst thanke me but a little, comfort a little, and legion himself possessed him, yet he talkes well, but that i am
19:57:14 <fungot> AnMaster: richard. then, heaven, i love thee well; and, by my faith, this league that we haue giuen thee faces of the groomes withall, for it is not that a good word
19:57:31 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
19:57:44 <fungot> AnMaster: or even smalltalk ( see squeak) smalltalk to find that out.
20:13:09 <impomatic> Borland C++ Builder 5.0's license doesn't allow the user freedom of use for compiled files :-(
20:13:20 -!- bsmntbombgirl has changed nick to bsmntbombdood.
20:13:38 -!- bsmntbombdood has quit.
20:13:57 -!- bsmntbombdood has joined.
20:18:33 <AnMaster> bsmntbombdood, "cc hackathon"?
20:18:34 -!- BeholdMyGlory has changed nick to ewih.
20:18:40 <ehird> A hackathon. On C compilers.
20:18:44 <ehird> Is that a difficult concept? :P
20:18:52 -!- ewih has changed nick to BeholdMyGlory.
20:19:03 <ehird> bsmntbombdood: clang?
20:19:14 <ehird> Reasonable license, advancing quickly, not bloated, etc.
20:19:15 <AnMaster> ehird, clang didn't codegen C++ last I looked
20:19:22 <ehird> I'm talking about the future.
20:19:27 <AnMaster> so not a solution today, for the future, sure
20:19:56 <AnMaster> creating build/temp.linux-x86_64-2.6-pydebug/home/anmaster/src/python/Python-2.6.1/Modules
20:20:01 <ehird> Does a real compiler need REAL MEN working on it or something, bsmntbombdood?
20:20:17 <ehird> LLVM compiles to native code.
20:20:31 <ehird> I'm incredibly surprised you haven't heard of it; it has a lot of backing.
20:20:58 <AnMaster> I'm surprised you didn't read the main text on llvm.org, it says "llvm can be a static compiler"
20:22:39 <ehird> llvm is worse is better
20:22:53 <ehird> Dismissing it as "dumb" after you just hear of it is, um, dumb.
20:23:15 <AnMaster> also if you like it that way just use tcc or pcc
20:23:28 <AnMaster> tcc is very fast because the only optimising it does is constant folding
20:23:50 <AnMaster> lament, that wasn't very zen I'm afraid
20:24:05 <ehird> because it wasn't zen
20:24:26 * lament whacks AnMaster with a stick
20:25:09 <ehird> lament: you need an Oerjan-Approved A Grade IRC User Swatter from Oerjancorp.
20:25:24 <lament> I will simply use my Zen skills.
20:25:43 <ehird> no. mythbusters are corporate drones.
20:25:50 <ehird> oerjancorp is a non-profit. despite the name.
20:26:04 <lament> corporate drones armed with guided missiles!
20:26:31 <lament> if you want a zen compiler
20:26:34 <lament> just compile haskell to haskell
20:35:37 <ehird> 07.03.18:06:15:42 <oklopol> noweach, lopoda, nopol implementation, oklotalk, nestor
20:35:44 <ehird> dude. you've had nopol since 2007
20:39:53 <ehird> <oklopol> that fucking K has almost all advantages of oklotalk... how dare it
20:43:28 <oklopol> hmm i don't remember what lopoda was...
20:45:03 <oklopol> noweach was one sick language, it was a cellular automaton kinda thing, except you could also refer to current state, so it was kinda constraint programming with an infinite datastructure
20:45:22 <oklopol> my madness is probably decreasing :|
20:47:18 <AnMaster> oklopol, wow noweach sounds fun
20:47:58 <oklopol> probably something with a lot of < brackets.
20:52:45 <impomatic> Okay, I give up with C++ Builder. Is GCC a big download?
20:54:53 <impomatic> I only want to compile one thing, then I'll probably never use it again
20:55:10 <Deewiant> MinGW is around 200M when installed, for me
20:55:55 <Deewiant> But then I think I've got ada and objective-c there as well, along with some third party libraries possibly
20:56:21 <Deewiant> 6,4Mgcc-part-c++-4.3.0-20080502-2-mingw32-alpha-bin.tar.gz
20:56:21 <Deewiant> 7,8Mgcc-part-core-4.3.0-20080502-2-mingw32-alpha-bin.tar.gz
20:56:46 <Deewiant> So I guess around 15-20M for everything if you need C++, 10-15 if only C
20:57:02 <Deewiant> impomatic: but VC++ might be easier to get working
20:57:45 <impomatic> Thanks, I'll download next month :-)
20:58:31 <Deewiant> You poor common law countries and your bandwidth limits
20:59:10 <ehird> oklopol: (∼R∈R∘.×R)/R←1↓⍳R
20:59:12 <ehird> howdya write that in j
20:59:36 <ehird> that's a prime number finder
20:59:43 <ehird> life is a bit longer :-P
20:59:58 <ehird> Deewiant: about 50-60 chars
21:00:13 <ehird> Deewiant: http://www.catpad.net/michael/APLLife.gif
21:00:15 <Deewiant> was the whole thing that long?
21:01:39 <ehird> you mean the video I linked to?
21:01:44 <ehird> that was kind of spread over multiple lines tbh
21:01:52 <ehird> but even with the infrastructure it was still ~60 chars
21:02:04 <Deewiant> I'd type it now if I had an APL keyboard :-P
21:02:41 <Deewiant> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
21:02:50 <Deewiant> I don't think it uses anything
21:02:58 <Deewiant> takes a matrix and outputs the next state
21:03:10 <ehird> "APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: It creates a new generation of coding bums."
21:03:11 <Deewiant> how does one link to specific points in youtube videos
21:03:33 <Deewiant> I tried that and it doesn't seem to work
21:03:46 <Deewiant> http://www.youtube.com/watch?v=a9xAKttWgP4#4m23s anyway
21:22:50 -!- MigoMipo has joined.
21:31:38 -!- kar8nga has joined.
21:35:30 <Asztal> aha, http://uk.youtube.com/watch?v=a9xAKttWgP4#t=4m23s
21:43:56 -!- MigoMipo has quit ("QuitIRCException: MigoMipo out of IRC").
21:47:34 -!- GreaseMonkey has joined.
21:58:57 -!- sebbu has joined.
22:12:42 -!- GreaseMonkey has quit ("Client Excited").
22:15:16 -!- sebbu2 has quit (Read error: 113 (No route to host)).
22:19:13 <MizardX> Heh. #t=4m23s doesn't work when first loading the web-page in Google Chrome, but when stepping back or forward in browser-history it jumps to the correct time.
22:19:55 <MizardX> v1.0.154.43... just saw that there is a newer version
22:22:18 -!- yoR has joined.
22:24:24 <yoR> ehird: The 'bug' in bf languages still exists ;-)
22:24:33 <yoR> (in anarchy golf)
22:24:52 <yoR> The 'feature' that allows cheating/using the codespace
22:25:19 <ehird> how does it work again
22:27:42 <yoR> This finds the last instruction of your program itself
22:34:37 <yoR> I'm currently writing my first self-made-esolang-interpreter
22:35:01 <yoR> Since I aleady made subleq and bf interpreters, I created my own language this time
22:38:19 -!- BeholdMyGlory has quit ("TooTiredException").
22:41:19 <impomatic> I made another bf interpreter last night in 8086 asm
22:43:22 <yoR> You have too much time impy ;)
22:58:29 -!- jix has quit ("Computer has gone to sleep").
23:04:51 -!- jix has joined.
23:09:07 -!- oerjan has joined.
23:09:10 <ehird> oklopol: OMG OMG OMG
23:09:15 <ehird> It cannot handle huge numbers :'(
23:09:17 <ehird> 69999999999999999999999999699999999999999999999999996999999999999999999999999969999999999999999999999999699999999999999999999999996999999999999999999999999969999999999999999999999999699999999999999999999999996999999999999999999999999969999999999999999999999999699999999999999999999999996999999999999999999999999969999999999999999999999999699999999999999999999999996999999999999999999999999969999999999999999999999999699999999999999999999999996999999999999
23:09:20 <ehird> 99999999999996999999999999999999999999969999999999999999999999999699999999999999999999999996999999999999999999999999969999999999999999999999999699999999999999999999999996999999999999999999999999969999999999999999999999999699999999999999999999999996999999999999999999999999969999999999999999999999999699999999999999999999999996999999999999999999999999969999999999999999999999999699999999999999999999999996999999999999999999999999969999999999999999999999999699
23:09:25 <ehird> 999999999999999999999996999999999999999999999999969999999999999999999999999
23:12:31 <oerjan> <ehird> lament: you need an Oerjan-Approved A Grade IRC User Swatter from Oerjancorp.
23:12:44 <oerjan> comes with a free fly simulator!
23:14:19 * oerjan swats FireFly -----###
23:14:47 * FireFly tries to dodge, but fails miserably
23:16:28 * oerjan notes the swatter is on fire and dips it in water
23:16:43 <oerjan> always a risk with fireflies
23:17:11 <oerjan> be especially careful with greek fireflies, as water doesn't work on greek fire
23:17:49 <oerjan> fortunately this one was swedish. they practically fly into the swatter by themselves.
23:19:01 <AnMaster> oerjan, it is a myth it is dodge proof
23:19:45 <oerjan> the swatter is sweeped in many myths
23:19:47 <ehird> oerjan: AnMaster thinks the swatter is dodge proof. this is because he has no brain.
23:19:52 -!- GreaseMonkey has joined.
23:19:56 <ehird> everyone knows it's dodgeproof.
23:20:03 <ehird> typing a line on IRC saying you dodge post-swatting doesn't change that.
23:20:25 <AnMaster> it does since he swatted by typing a line on irc too
23:20:34 <oerjan> ehird: especially when you're not actually being swatted
23:21:40 <oerjan> actually the swatter is dodgeproof but not foolproof (there's always a better fool). therefore AnMaster can dodge it.
23:22:33 <ehird> oerjan: he dodges it but it still hits him
23:26:20 <FireFly> I'm not greek, just a geek
23:28:13 <FireFly> "they practically fly into the swatter by themselves." :<
23:30:13 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
23:32:18 <oerjan> do you reek of leek all the week?
23:32:42 <FireFly> Now you have to involve 'cheek' too
23:32:54 <FireFly> I'm having math homework for tomorrow, but boolean algebra seems more interesting
23:34:18 <oerjan> something else seeming more interesting is normal. the strange thing is that it is still math...
23:35:15 <FireFly> The things we currently do is a bit.. basic :<
23:40:02 -!- olsner has quit ("Leaving").
23:42:45 <oerjan> <ehird> Does a real compiler need REAL MEN working on it or something, bsmntbombdood?
23:43:17 <oerjan> no. real women and real small furry creatures from Alpha Centauri can also be utilized.
23:45:41 -!- jix has quit ("Computer has gone to sleep").
23:47:07 <oklopol> FireFly: i have boolean algebra on a course atm
23:47:28 <FireFly> I'll have it in another two years
23:48:53 <FireFly> Um, well, I don't know the english term, but I'm only in the 'gymnasium' atm
23:49:05 <FireFly> I think the american equalient is high school, but I'm not sure :\
23:49:58 <ehird> well how old are you
23:50:18 <oerjan> the gymnasium is where everyone runs around naked. at least that's the original meaning.
23:51:27 <oklopol> FireFly: then are you sure you mean boolean algebra and not like, say, digital logic?
23:51:51 <FireFly> I dunno, but I found what they talked about on some discrete math course interesting
23:52:05 <oklopol> not that the difference is all that crucial, i'm just very jealous if it's actual boolean algebra.
23:52:16 * oerjan 's first exposure to boolean algebra was from his father's digital logic book
23:52:42 <FireFly> I only know that we have a course called "descrete mathematics" in year 3 (me being in year 1 now)
23:53:35 <oklopol> i see. i think we had something like that too
23:53:57 <oklopol> of course by second year i was so fed up with the system i couldn't really enjoy even the nice courses.
23:53:59 <FireFly> And I just watched http://video.google.com/videoplay?docid=-2965569821331370765 <-- and that seems interesting
23:54:20 <oklopol> i hated it so much i cannot stop ranting about how much of a waste it was.
23:55:25 <FireFly> Hm, I wonder why i^-i = e^(pi/2) :\
23:55:25 -!- CakeProphet has quit ("lol").
23:55:41 -!- Judofyr has quit ("raise Hand, 'wave'").
23:55:57 <ehird> I wonder what the average age in here is
23:56:06 <oerjan> FireFly: i = e^(i*pi/2)
23:56:16 <ehird> probably the few really old (:P) people and the few really young people mess up the balance
23:56:49 <FireFly> Well, me, MigoMipo and BeholdMyGlory being 16 propably takes the average age down a bit
23:56:53 <impomatic> I'm 34, so I guess I'm with the few really old people!
23:57:17 <FireFly> But of course, there's a lot of people in here
23:57:39 * oerjan swats oklopol -----###
23:57:53 <ehird> <FireFly> Well, me, MigoMipo and BeholdMyGlory being 16 propably takes the average age down a bit
23:58:07 <ehird> FireFly: No, you're near the average :
23:58:27 <ehird> asiekierka is I think 11 or 12, but his status as an intelligent being is... debatable.
23:59:02 <oklopol> yeah he's more like a bot.
23:59:20 <oklopol> i wanna make a bot that uses a simple hand-woven conlang
23:59:30 <oklopol> so i don't have to parse english
23:59:35 <ehird> go for lojban, I mean then people will actually be able to understand it
23:59:36 <ehird> without learning it
23:59:40 <oklopol> i'm more interested in mimicing being social
00:00:10 <oklopol> i could maybe do lojban minus gismu.
00:00:26 <oklopol> i was thinking you'd teach real life concepts to it yourself
00:03:17 <oklopol> but probably i'd go for a simpler language.
00:03:35 <oklopol> and, you know, more mathy.
00:03:49 <oklopol> closer to Absolute Fundamental semantics
00:04:06 * oklopol remembers a certain moment of madness
00:04:58 <FireFly> Hm, is A XOR B = (A+B)(¬(AB)) ?
00:06:42 <FireFly> I mananged to do the basics
00:11:53 -!- FireFly has quit ("Later").
00:18:47 -!- Corun has joined.
00:30:16 -!- yoR has left (?).
00:48:15 -!- Corun has quit ("Leaving").
00:48:20 -!- CakeProphet has joined.
01:10:16 -!- Sgeo has joined.
01:29:50 -!- Corun has joined.
01:31:36 -!- Sgeo_ has joined.
01:31:36 -!- Sgeo_ has quit (Client Quit).
01:33:31 -!- Corun has quit (Client Quit).
01:39:53 <AnMaster> I shall try to port it to python 3 while keeping it working under python 2
01:42:20 <oerjan> i think that's - not recommended.
01:47:51 -!- CakeProphet has quit (Read error: 60 (Operation timed out)).
01:48:33 -!- CakeProphet has joined.
01:52:17 <AnMaster> oerjan, one of the devs use debian stable, if we didn't support both it would take like 5 years before we could upgrade!
01:52:41 <oerjan> no, trying to make something both Python 2 and 3
01:52:52 <AnMaster> oerjan, well the C module, not the python code
01:53:03 <AnMaster> oerjan, for the code you could just use 2to3
01:53:15 <AnMaster> not so for the C code embedding python
01:53:27 <AnMaster> http://docs.python.org/3.0/howto/cporting.html#cporting-howto
01:54:09 <oerjan> oh i was thinking you were going for a complete polyglot. at least that would be the properly insane thing.
01:54:25 <AnMaster> oerjan, impossible for the C API
01:54:37 <AnMaster> oerjan, as for that, it is just avoiding "print" and a few other things
01:54:53 <AnMaster> 2to3 shows that is basically one of the few changes
01:57:56 <AnMaster> $ LD_LIBRARY_PATH=$HOME/local/python-3.0-dbg/lib PYTHON_HOME=/home/arvid/local/python-3.0-dbg ~/local/python-3.0-dbg/bin/2to3 *.py
01:57:56 <AnMaster> RefactoringTool: Skipping implicit fixer: buffer
01:57:56 <AnMaster> RefactoringTool: Skipping implicit fixer: idioms
01:57:56 <AnMaster> RefactoringTool: Skipping implicit fixer: set_literal
01:57:56 <AnMaster> RefactoringTool: Skipping implicit fixer: ws_comma
01:57:57 <AnMaster> RefactoringTool: No files need to be modified.
01:58:07 <AnMaster> of course it could still break
02:35:52 -!- psygnisfive has quit (Remote closed the connection).
02:50:33 <GregorR> There once was a man from Man-Fuck-Dick,
02:50:33 <GregorR> Whose horse enjoyed when he sucked it,
02:50:33 <GregorR> 'til the day that he moved to Nantucket.
02:54:01 <oerjan> Meta-meta-humor success?
02:55:54 <fungot> Available: agora alice darwin discworld europarl ff7 fisher ic irc* lovecraft pa speeches ss wp
02:56:18 <fungot> oerjan: i don't think exists? and all?
02:56:31 <AnMaster> oerjan, I need some data to feed into an eliza
02:56:41 <oerjan> fungot is being descartian today
02:56:42 <fungot> oerjan: hmn. first dead fnord family member in years. mother's father died when i was a big php advocate for awhile. not so much
02:56:57 <AnMaster> "mother's father died when i was a big php advocate for awhile"
02:57:56 <fungot> Selected style: lovecraft (H. P. Lovecraft's writings)
02:58:02 <fungot> AnMaster: the tiles on graves and rotting temples flash like ripples, as earth's gods dance against it; i shall see the dancing forms of the people always represented by the sacred reptiles appeared to be, while the boys were overseas. some fateful mood impelled me to ask for work.
02:59:55 <fungot> AnMaster: after a time he became very numb and somnolent, moving more from automatic impulse than from reasoned fnord nor did he neglect a small store of gold for earthly use.
03:00:45 <oerjan> i'm not sure reasoned fnord is an improvement
03:32:10 -!- psygnisfive has joined.
03:32:50 <psygnisfive> i need to add built ins to antigravity to allow for things like IO i think ya
03:36:16 -!- CakeProphet has quit (Read error: 60 (Operation timed out)).
03:39:06 <psygnisfive> also, "uplift" is occasionally used as a verb to mean "increase the intelligence of some animal to the point of sentience"
03:39:18 <psygnisfive> so an uplifting function would be quite interesting to have!
03:40:21 <oerjan> it's a *whoosh* ... but but ... it comes back ... and hits!
03:41:10 <oerjan> well dent do that then
03:42:46 -!- CakeProphet has joined.
04:10:41 <psygnisfive> i just had another idea for something to add to the AntiGravity system
04:10:51 <psygnisfive> besides types, which i will add eventually
04:11:29 <psygnisfive> you'll also be able to define attributes on the grammatical rules
04:11:54 <psygnisfive> so that you can not only define new parts of the grammar
04:12:20 <psygnisfive> but you'll also be able to perform attribute grammar types of computation while parsing
04:34:26 -!- psygnisfive has quit (Remote closed the connection).
04:45:40 -!- psygnisfive has joined.
05:21:31 -!- oerjan has quit ("leaving").
07:11:51 <ski__> .. oh attribute grammars, shiny !
07:14:44 <psygnisfive> well, the language itself is actually an unrestricted grammar engine, so it can do things attrgrams cant do, ofcourse. but im considering making the parsing engine capable of handling attrgrams for the potential odd kinds of solutions it might permit
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:19:25 -!- jix has joined.
08:21:40 * ski__ want to experiment with coupling AGs with LP
08:22:41 -!- jix has quit (Client Quit).
08:23:57 <fizzie> Antigravity with linear prediction.
08:24:40 <ski__> why do you call it "AntiGravity" ?
08:29:40 <psygnisfive> its a working name, i think. ill rename it something more nice eventually
08:30:22 * ski__ called a language `contagion', once
08:30:52 <ski__> the only abstraction primitive was anonymous continuations
08:31:35 <fizzie> I don't know why, but I've seen AG used as an abbreaviation for antigravity. And linear prediction is a rather fundamental signal processing thing.
08:32:10 <ski__> oh .. i used `AG' as abbreviation of "Attribute Grammar"
08:32:18 <psygnisfive> AG is indeed a standard abbreviation for antigravity
08:32:32 <ski__> (maybe that was psygnisfive's point in calling it "AntiGravity", though)
08:32:51 <psygnisfive> no. the name preceded the potential use of attribute grammar qualities
08:33:20 <ski__> (never heard of `AG' as abbreviation of "Anti-Gravity")
08:33:28 -!- Sgeo has quit ("Leaving").
08:34:29 <fizzie> Linear prediction is just "predict next sample as a linear combination of p earlier samples"; you can use it for statistically modeling signals, and things like that.
08:39:10 <fizzie> Er, not really, there are no state transition probabilities involved anywhere.
08:43:49 <fizzie> But sure, in the sense that both could be used for somewhat similar things. Although when modeling a random process, linear prediction is usually called autoregressive modeling. LP is used a lot in things like compressing speech to very low bitrates. The GSM codecs are linear-predictive.
08:47:57 <psygnisfive> so fizzie what /other/ built ins should i have? :P
08:48:30 -!- GreaseMonkey has quit ("Client Excited").
09:04:48 <fizzie> Oh, antigravity was mentioned earlier too. I didn't bother to read the context.
09:05:12 <fizzie> I don't really know how linear prediction would be related to whatever-it-is-you-were-doing.
09:20:41 * ski__ just realizes fizzie might have interpreted `LP' as "Linear Prediction"
09:21:22 <fizzie> Yes, your "AGs with LP" is what made me say what I did.
09:22:00 <ski__> by `LP' i meant "Logic Programming"
09:24:16 <psygnisfive> AG does do some unification stuff, so you might be able to do some LP kind of stuff
09:25:29 <ski__> some AG systems statically stage tree traversal in several steps, to compute inherited and synthesized attributes
09:25:30 <psygnisfive> it wouldn't be elegant like prolog because you'd be building it on top of a non-logical system, and you could only prove truths, not discover truths, i think.
09:25:52 <ski__> i want to have a system that allows such static (maybe dynamic, too ..) staging of predicates
09:26:32 <psygnisfive> i didn't realize there were things related to AG that _i_ wasn't making. :P
09:30:49 <ski__> i believe that is a standard abbreviation, in relation to grammars, and programming languages
09:32:24 <psygnisfive> so cmon! what should i add to my language as a primitive.
09:32:55 <psygnisfive> and what do i need to consider for laziness/forced evaluation
09:33:14 <psygnisfive> it cant have continuations, really. or it might be able to but im not sure how.
09:33:21 <ski__> (you might note that i have no idea what you already have in your language)
09:34:29 <psygnisfive> a unrestricted tree rewriting engine with variables in the grammar's rules, and a unification system for pattern matching
09:35:17 <psygnisfive> thats really it. the core functionality is math rules, and a rule for substitution of an item in a tree
09:35:45 <ski__> could you give some contrived samples to exemplify what you mean ?
09:36:28 <ski__> how about giving a BNF, then ?
09:37:09 <psygnisfive> i mean, there are really only two things that define the language. maybe three.
09:37:55 <psygnisfive> and starting a symbol with a capital defines a syntactic variable
09:38:04 -!- impomatic has quit ("programming @ http://tr.im/xey").
09:38:20 <psygnisfive> well, you know what an unrestricted grammar is, right?
09:39:06 <ski__> i don't recall details .. but i imagine it's a couple or rules with no context-insensitive restriction ..
09:39:30 <psygnisfive> well, its basically just arbitrary rewrite rules
09:40:04 <psygnisfive> so that the kind of string you replace can look like anything
09:40:29 <ski__> so you replace trees instead of strings
09:40:39 <ski__> (i assume you have congruence)
09:41:22 <psygnisfive> the important part is, if you know what an unrestricted grammar is, just imagine the rules that can have variables in them
09:41:37 <ski__> if `blah' can be rewritten into `bleh', then any tree with `blah' inside it can be rewritten to the same tree with (some) occurance(s) of `blah' exchanged into `bleh'
09:41:57 <psygnisfive> e.g. abcX -> XXabc where X can be any symbol or tree part
09:43:15 * ski__ is btw irritated by the direction the `->' arrow in grammar rules point ..
09:43:35 <psygnisfive> in some sense, yes, it has congruence, but its not like a rule blah -> bleh will actually transform that tree, necessarily, because its lazy.
09:43:54 <ski__> (when i add support for grammars to my LP language, i'll have it point the other direction ..)
09:44:49 <ski__> in `aXbXc -> Xd', the `->' is really a kind of implication .. but it is `Xd' which implies `aXbXc', and not the other way around
09:45:20 <psygnisfive> -> is an arrow telling you what gets rewritten as what :P
09:45:38 <ski__> i'm pretty sure it can be interpreted as an implication in an ordered logic
09:46:16 <ski__> (which, imo, is what grammars is all about)
09:46:19 <psygnisfive> but thats not how rewriting systems are termed
09:47:34 <ski__> hm .. will you have confluence in your term-rewriting system ?
09:48:45 <ski__> basically that which rewriting rules you choose in which order doesn't matter for the "end result"
09:49:10 <ski__> there might be several possible rewriting rules you could use to rewrite a term
09:49:26 <ski__> say `A' can be rewritten into `B', but also into `C'
09:50:10 <ski__> then there should be a `D' such that both `B' and `C' will eventually be rewritten into `D'
09:50:30 <ski__> (there might be some details regarding termination which i forget here, but that's the gist of it)
09:51:15 <psygnisfive> oh yeah no it is ordered because of pattern matching and stuff
09:51:51 <psygnisfive> but thats amongst definitions of "the same function", so to speak
09:52:13 <ski__> <http://en.wikipedia.org/wiki/Confluence_(term_rewriting)>
09:52:46 <ski__> foo (bar x (baz y z))
09:53:02 <ski__> you might rewrite according to `bar' or according to `baz' first
09:53:22 <ski__> confluence says that it doesn't matter which you actually do
09:54:18 <psygnisfive> yah, im not entirely sure if thats going to happen. i mean, because its pattern matching, you could have a pattern that looks inside another "function application"
09:54:48 <psygnisfive> but you could also have another pattern foo (bar x y) -> w
09:55:34 <ski__> i suppose another example of confluence is
09:56:19 <ski__> A + (B + C) --> (A + B) + C
09:57:09 <ski__> you could use either rule first
09:58:10 <psygnisfive> and i need some ideas for what primitive rules should exist
09:58:39 <psygnisfive> since its very purely functional, should i think about monad sorts of things, etc etc
09:58:52 <ski__> (iirc, there's five ways to go from `a + (b + (c + d))' to `((a + b) + c) + d' here .. that they are all equal is called the pentagonal law)
09:59:45 <ski__> maybe you could use some kind of unique state for I/O
09:59:51 <psygnisfive> private message me any ideas that you think would be important to include :p
10:00:05 <psygnisfive> well IO i can really just implement pretty naively
10:00:18 <ski__> well, i don't know what you want, so it's hard to say what's important for you
10:00:50 <psygnisfive> well i just mean whats important in a usable programming language in general.
12:46:24 -!- blAckEn3d has joined.
12:47:33 -!- blAckEn3d has quit (Client Quit).
12:54:19 -!- Hiato has joined.
13:04:45 <ehird> where has ais gone
13:29:11 -!- Hiato has quit (Read error: 110 (Connection timed out)).
13:33:59 <ehird> <oklopol> well do like ehird and just start coding in it... :D
13:34:00 <ehird> <oklopol> god i hate that dood sometimes
13:34:02 <ehird> <oklopol> (read: "envy")
13:35:55 <fizzie> [2008-04-10 04:33:07] < oklopol> ehird is a guy who lives here
13:36:54 <fizzie> There is also a nice definition for "atom" by oklopol in that log: "a retarded string, somewhat"
13:37:14 <ehird> oklotalk-- is pretty cool.
13:37:26 <ehird> it's very... orthogonal
13:38:37 <ehird> i have the oklotalk-- source UNLIKE ANYONE ELSE :DD
13:39:06 <ehird> i mean it even has tests.
13:39:24 <ehird> # Needs to be set quite high because the implementation has the massive
13:39:25 <ehird> # conceptual defect of not supporting tail recursion in a
13:39:26 <ehird> # language without any other type of iteration.
13:39:28 <ehird> sys.setrecursionlimit(3000)
13:39:56 <fizzie> Hang on to that source code, it'll surely be worth millions some day.
13:41:01 <ehird> # standard representation of oklotalk-- object, not implemented
13:41:02 <ehird> def obj_to_str(a,cxt,depth=0):
13:41:04 <ehird> return a.call([Atm('get')],"oo",cxt,depth=0).val
13:41:57 <ehird> # store all functions on stack, a function needs to evaluate (to a copy of itself)
13:41:58 <ehird> # if it is already on stack when called
13:42:08 <ehird> # Verbose may be helpful when debugging, but prolly not.
13:42:41 <ehird> # jsussiuuidfhsaudfh PRIVMSG #chan :::
13:56:02 -!- Hiato has joined.
14:11:07 <ehird> <lament> (we actually talk about programming stuff once in a while as opposed to just talking about manga and social incompetence)
14:19:58 <ehird> Andreou, the founder of #esoteric, was last here 2008-08-31
15:07:54 <ehird> oklopol write my j for m
15:11:53 -!- ski__ has quit (brown.freenode.net irc.freenode.net).
15:12:39 <ehird> http://love2d.org/screenshot_data/seaotters.png
15:12:40 <oklopol> ehird: yeah what about that stack thing :D
15:12:49 <ehird> oklopol: wut stack thing
15:13:05 <oklopol> # store all functions on stack, a function needs to evaluate (to a copy of itself)
15:13:09 <oklopol> # if it is already on stack when called
15:13:15 <ehird> its from oklotalk--
15:13:20 <ehird> I don't know it XD
15:13:28 <ehird> omfg hackety redesigned
15:13:52 <oklopol> it makes sense, just not... in a conventional way
15:14:16 -!- ski__ has joined.
15:14:45 <ehird> oklopol: also I totally thought of the best way to make oklotalk
15:14:56 <ehird> it's sort of like feather but not rly
15:15:19 <ehird> it'd let you literally add anything.
15:15:24 <ehird> even continuations, if it didn't have them.
15:16:06 <oklopol> wait did you actually say something
15:16:21 <ehird> lol, cunt in your asians
15:16:35 <ehird> also oklopol will you ever make oklotalk
15:17:03 <oklopol> well. i currently *do not code at all*. so nothing gets done really.
15:17:22 <oklopol> but i will probably be in a more productive state at some point again.
15:17:55 <ehird> i want to do dis in J:
15:17:58 <ehird> 14:23 <ehird> 21:07 <ehird> How would I get all length-two permutations? e.g., 1 2 3 -> 1 1, 1 2, 1 3, 2 1, 2 2, 2 3, 3 1, 3 2, 3 3?
15:17:59 <ehird> 14:23 <ehird> 21:07 <ehird> Specifically, giving each of those permutations as the left-argument of another application
15:18:06 <oklopol> probably after my fourth period, if you know what i mean
15:26:29 <oklopol> but they aren't permutations :P
15:26:54 <oklopol> they are elements of the cartesian exponentiation
15:27:57 <oklopol> of course that probably isn't a word, but it should be.
15:30:15 <ehird> oklopol: right but
15:30:25 <ehird> surely there's a way to get that shorter if you're just giving them each to another func
15:30:31 <ehird> I mean in APL it's liek one char, iirc
15:33:18 <ehird> 9:49:01 <ehird> alternatively, you could put the jewnicode into auschwitz09:49:12 <ehird> but then you'd be an nascii
15:35:29 <oklopol> ehird: maybe there is, i don't see it.
15:35:44 <ehird> when I have those permutations
15:35:48 <ehird> how do I give them to a funnnnnnnnnnction
15:36:11 <oklopol> hey, if you want to put them in a function, you can just do func/~ list :D
15:36:22 <ehird> it has to be the left argu
15:36:54 <ehird> that's not length 2 picks
15:37:12 <oklopol> yeah, do you know what / does as monadic
15:37:54 <ehird> so how does that help me feed all length-2 picks from a list as the left arg into another func
15:38:27 <oklopol> oh as the left arg. then prolly use what i gave you earlier
15:39:18 <ehird> ~ commutes or crosses connections to arguments: x u~ y ↔ y u x .
15:39:22 <ehird> ok that helps a bit
15:39:30 <ehird> now to figure out how to do x y z -> z y x
15:39:46 <ehird> you still haven't told me anythign I didn't know.
15:40:27 <oklopol> cartprodapplier =: ((,/@:(([,])"0/~))@[) funtoapply ]
15:40:42 <oklopol> i've answered your questions.
15:40:54 <oklopol> i don't claim to have done any more
15:40:55 <ehird> no you give me answers to qs I don't ask :|
15:41:18 <ehird> (((,/@:(([,])"0/~))@[) |. glider) )_1 0 1
15:41:42 <oklopol> yeah that makes no sense, no wonder it's an erro
15:42:32 <ehird> "duh, that makes no sense"
15:43:06 <oklopol> i told you to write (((,/@:(([,])"0/~))@[) |. glider) )_1 0 1?
15:44:07 <oklopol> cartprodapplier =: ((,/@:(([,])"0/~))@[) * ]
15:44:42 <ehird> plus, I can't exactly believe you that a 2-char thing in APL is that long in j,
15:44:43 <oklopol> multiply, by left argument
15:45:20 <oklopol> then maybe you should learn j and learn whether it is?
15:53:43 <oklopol> well i'd sing you a song if i was an australian woman, but, well.
15:53:50 <ehird> oklopol: write a muture interp.
15:54:05 <oklopol> i've already started doing one actually
15:54:16 <oklopol> but progress is infinitely slow
15:54:38 <ehird> well make it faster i wanna try it
15:55:05 <ehird> ;I,;mc,[]{"[]"},=}!!b->"+"+mC1"-"-mC1">"+C1"<"-C1{;X}Wh=mC0=}X??b
15:55:08 <ehird> I wonder how that works
15:55:50 <ehird> http://www.vjn.fi/oklopol/clue.txt
16:04:46 -!- Slereah has joined.
16:07:41 <ehird> <SimonRC> you will need a large black cock
16:07:49 <ehird> <SimonRC> s/cock/rooster/
16:11:27 <oklopol> ehird: clue is a language.
16:11:49 <oklopol> based on giving certain clues to the interp
16:12:08 <ehird> whut about the cise bf
16:12:11 <oklopol> it basically sets up a recursive procedure based on a bag of functions and examples
16:12:21 <ehird> I don't see any , or .
16:12:25 -!- MigoMipo has joined.
16:12:26 <oklopol> ehird: i'd have to reverse-engineer it again, i don't remember how it works atm
16:12:32 <ehird> does it do , and .
16:12:38 <oklopol> ehird: it's probably just an ioless subset
16:12:50 -!- MigoMipo has left (?).
16:12:56 <oklopol> what's bf size in golfscript btw?
16:12:58 <ehird> how does cise work :P
16:13:23 <ehird> not on http://golf.shinh.org/p.rb?Brainfuck+FIXED
16:13:39 <ehird> http://www.golfscript.com/golfscript/examples.html
16:13:55 <ehird> also the sudoku solver is lolbig
16:15:47 -!- MigoMipo has joined.
16:15:57 <oklopol> i was thinking about constraint programming stuff for cise
16:16:07 <oklopol> there's already a pretty clear framework where it'd fit
16:16:36 <oklopol> basically a function consists of actual program logic statements, and certain kinda pattern matching statements
16:16:55 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
16:17:06 <oklopol> the pattern matching stuff can be used for certain constraint programming needs too
16:18:10 <oklopol> of course i haven't thought about the operators yet, but they are completely separate from the imperative stuff, so at least there won't be a charset size issue, unlike with imperative features, where ascii just isn't enough.
16:19:09 <ehird> output is sooo verbose
16:19:37 <ehird> j is written in java oklopol
16:19:54 <ehird> i know it is because I just opened the .jar with java
16:37:12 -!- oklopol has quit (Read error: 110 (Connection timed out)).
16:38:04 -!- oklopol has joined.
16:48:58 <ehird> I wonder if you can have a lang with no partial functions without type checking
16:49:03 <ehird> liek, you basically need to stop _|_
16:49:08 <ehird> so all builtin functions must be total
16:55:31 -!- FireFly has joined.
17:00:59 -!- Hiato has quit (Read error: 110 (Connection timed out)).
17:04:00 <ehird> lol, j actually has oop
17:04:14 <ehird> create =: 3 : 'items =: 0 $ 0'
17:04:15 <ehird> push =: 3 : '# items =: (< y) , items'
17:04:17 <ehird> top =: 3 : '> {. items'
17:04:19 <ehird> pop =: 3 : '# items =: }. items'
17:04:21 <ehird> destroy =: codestroy
17:21:59 * ehird plots language like J, but more golfy for less conventional things
17:23:11 <ehird> oklopol: I figured out how to get the last input in j
17:23:19 <ehird> ctrl-d brings up the log, enter puts it in the current line
17:23:23 <ehird> two lines up: ctrl-d up enter
17:25:57 -!- BeholdMyGlory has joined.
17:36:53 -!- X-Scale has joined.
17:40:49 -!- Judofyr has joined.
17:50:18 <ehird> you can't make circular data structs in j :(
18:01:05 <lament> what a useless language
18:01:10 <lament> all best things in life are circular
18:06:22 <Slereah> Example of balls : http://membres.lycos.fr/bewulf/Divers2/balls.gif
18:32:39 <ehird> can you make circular data structs in j
18:35:20 -!- kar8nga has joined.
18:36:03 <ehird> i wonder if I should make my variation lazy
18:49:37 -!- impomatic has joined.
18:56:54 -!- BeholdMyGlory has quit (Remote closed the connection).
18:58:27 -!- BeholdMyGlory has joined.
18:59:50 <impomatic> I've created a new page for Redcode on the Esoteric Languages Wiki, http://tr.im/dpty
19:00:36 -!- BeholdMyGlory has quit (Remote closed the connection).
19:01:28 <lament> wow, the wiki didn't have a redcode page?
19:03:12 -!- BeholdMyGlory has joined.
19:06:43 <impomatic> It was on the language list, but no page. I've added some basics to begin with
19:06:48 <lament> impomatic: you play corewars?
19:07:23 <impomatic> Yes, and also do some programming in redcode
19:07:31 <ehird> he said he's played corewars since 1993 IIRC
19:08:19 <lament> impomatic: is it fun? Has the state-of-the-art progressed since the 80s?
19:09:37 <impomatic> It's fun, but slow at the moment. There's a history at http://corewar.co.uk/history.htm which give brief details of what's happened each year
19:10:39 <impomatic> Basically, there's been a new standard, there's now various online tournaments with instantaneous results, and new techniques keep getting invented.
19:11:49 <impomatic> There are several irregular newsletters too, http://corewar.co.uk/journals.htm
19:12:21 -!- psygnisfive has quit (Remote closed the connection).
19:12:41 -!- MigoMipo has left (?).
19:32:07 -!- Mony has joined.
19:33:27 <Deewiant> impomatic: a new standard? When was that?
19:35:17 <Deewiant> I was hoping something had happened in, say, the past two years that I wasn't aware of
19:46:22 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
20:00:05 <ehird> Prelude> iterateUntilStable (\(x,y) -> (x+y,y/2)) (1,0.5)
20:00:09 <ehird> Correct for all the wrong reasons.
20:16:06 <impomatic> Deewiant cw standards = 1986, 1988 and 1994
20:19:43 <Deewiant> impomatic: yep, I was hoping for something after 94 :-)
20:20:46 <impomatic> Although opcodes for character input / output have been added
21:00:25 -!- alex89ru has joined.
21:02:46 -!- sebbu2 has joined.
21:06:27 -!- Mony has quit ("Quit").
21:14:48 -!- sebbu has quit (No route to host).
21:14:48 -!- sebbu2 has changed nick to sebbu.
21:55:58 -!- MigoMipo has joined.
21:56:18 -!- MigoMipo has left (?).
22:04:36 <AnMaster> also, fun hobbit joke in iwc today!
22:06:53 -!- ski__ has quit (brown.freenode.net irc.freenode.net).
22:06:53 -!- Leonidas has quit (brown.freenode.net irc.freenode.net).
22:06:57 -!- ski__ has joined.
22:06:57 -!- Leonidas has joined.
22:16:34 <ehird> It's mathematically correct, but i only get that result because floating point is inaccurate.
22:16:43 <ehird> (Getting it properly would involve infinite computation.)
22:24:22 <impomatic> Has anyone got any really old corewar stuff? I'm building a big online archive
22:25:06 <impomatic> Unfortunately there's lots of stuff that used to be online, but has now disappeared.
22:25:29 <impomatic> The same seems to go for some other Esolang stuff :-(
22:26:30 <ehird> http://esoteric.sange.fi/
22:26:42 <ehird> people can give you access there
22:26:45 <ehird> and there might be stuff.
22:26:52 <oklopol> AnMaster: the duckling thing?
22:26:56 <Deewiant> impomatic: I might, somewhere, but I think it's all from corewar.co.uk anyway
22:27:05 <ehird> Deewiant: isn't that impomatic's site? :P
22:27:19 <ehird> oklopol: it's the SHC.
22:27:21 <ehird> small duckling collider.
22:27:21 <impomatic> Deewiant, I should have all of the corewar.co.uk stuff! :-)
22:27:23 <oklopol> well. it's like "oh my god would that work"
22:27:29 <Deewiant> but in any case, my point was that it's on the 'Net anyway
22:27:50 <AnMaster> <ehird> <oklopol> huh? <-- can't find that in scrollback, about when is it from?
22:27:58 <ehird> <AnMaster> <ehird> <oklopol> huh?
22:28:01 <ehird> whee quote towerrrrrrrrrrr
22:28:11 <ehird> <ehird> <AnMaster> <ehird> <oklopol> huh?
22:28:18 <AnMaster> <ehird> oklopol: it's the SHC. <-- fun!
22:28:46 <ehird> the xkcd comic is incorrect
22:28:55 <ehird> they would look for their mother, thus randomly swirl
22:29:00 <ehird> then colliding into a central singularity
22:29:09 <ehird> since they don't want to stray too far from each other
22:29:18 <ehird> then, the higgs boson...
22:29:21 <ehird> ...wait, nevermind
22:29:45 <Slereah> Are we discussing SCIENCE?
22:29:56 <ehird> Slereah: We're discussing making ducks hit together.
22:29:59 <ehird> Also known as science.
22:30:03 <oklopol> ehird: all joking aside, what if they were circling some kinda circular circularity? that is, if they could only see the duckling before them
22:30:25 <ehird> oklopol: well, the front one wouldn't go to the last one
22:30:25 <oklopol> higgs boson probably wouldn't appear, because the circle couldn't get smaller
22:30:27 <ehird> it'd try to find its mother
22:30:34 <impomatic> The Minus webpages have disappeared, hopefully I'll find them in the archive
22:30:38 <ehird> so it'd swirl around and probably turn back
22:30:41 <ehird> causing everything to collide.
22:30:49 <impomatic> There was something else too which I noticed had gone. Not ever in the internet archive :-(
22:30:51 <oklopol> how would it know someone didn't just overtake it?
22:30:58 <oklopol> i mean, they're retarded animals.
22:31:11 <oklopol> and even if it would realize something happened
22:31:25 <AnMaster> does it have exception handling?
22:31:41 <ehird> oklopol: if they get confused, they're also likely to hit themselves together
22:32:10 <oklopol> that's just a technicality, what if you just managed to start the loop some other way, say with simultaneously removing blindfolds and having them circulating using somekinda machinery already, so they'd think they were already following the next duckling
22:32:33 <ehird> im talking about what the comic did
22:32:34 <oklopol> ^ continuation to what i said last, not what you said
22:32:41 -!- Corun has joined.
22:33:07 <AnMaster> oklopol, blindfolds? Think that would work?
22:33:26 <AnMaster> only if each can't see the colour of it's own blindfold!
22:33:35 <oklopol> my point is something would, given a lab environment.
22:33:57 <ehird> oklopol: what if you just bashed them together with your hands
22:34:00 <ehird> then they would bash them together
22:34:04 <ehird> see, fuck hypotheticals
22:34:07 <ehird> i'm talking about the comic's situation
22:34:38 <AnMaster> oklopol, what about making a fake duck "backend" and mount it on one of the ducklings?
22:34:40 <oklopol> well, i care about the loop, not how it's started; i'm not sure what bashing has to do with that
22:34:43 -!- oerjan has joined.
22:34:58 <oklopol> except i guess it's very hypothetical, therefore similar to my point of view.
22:35:54 <oklopol> AnMaster: indeed, removing a *duckling* from the cycle probably won't confuse the first one, it'd just go for the next on in the queue
22:36:15 <oklopol> i mean, assuming you want the loop to be autonomous at some point
22:36:18 <AnMaster> oerjan, I think dmm should really stop with this bad hob^Whabbit of his.
22:36:30 <oklopol> i don't really know what ducklings do if one of them happens to, say, die
22:36:41 <oklopol> m assuming they don't care
22:37:05 <AnMaster> or wait, was that elephant graveyards?
22:37:17 <oerjan> wait, today was hobbit pun day?
22:37:55 <oerjan> AnMaster: you started it
22:38:06 <AnMaster> http://www.irregularwebcomic.net/
22:38:14 <oerjan> AnMaster: i don't believe you
22:38:29 <AnMaster> oerjan, fun fact: I don't believe me either about that
22:39:34 * oerjan swats AnMaster -----###
22:39:41 <AnMaster> since not believing myself is a paradox
22:39:59 <AnMaster> basically if I don't believe myself I can't believe that I don't believe myself either
22:40:13 <oerjan> i see you haven't heard about the concept of "lies"
22:40:35 <AnMaster> oerjan, I have heard about it, but I haven't understood it
22:40:49 -!- Corun has quit ("This computer has gone to sleep").
22:42:04 <AnMaster> oerjan, btw I have to ask you a thing, have you heard the name "Joseph Martin Kraus" before?
22:42:40 <oerjan> a very weak bell may be ringing
22:42:53 <AnMaster> oh well, not internationally known I guess. Famous Swedish composer. 1756-1792
22:44:29 -!- alex89ru has quit ("Verlassend").
22:45:04 <oerjan> famous swedish composers only really rings one bell with me. although it's a big bell, man.
22:46:25 <impomatic> Anyone heard of TWINC, TWo INstruction Computer? :-)
22:46:43 <oerjan> AnMaster: your pun detector needs a good polishing
22:47:05 <AnMaster> oerjan, even after you said there was a pun I'm unable to detect it
22:47:35 <AnMaster> oerjan, what about Johan Helmich Roman then?
22:48:03 <AnMaster> http://en.wikipedia.org/wiki/Johan_Helmich_Roman
22:48:20 <AnMaster> http://en.wikipedia.org/wiki/Joseph_Martin_Kraus
22:52:43 <AnMaster> oerjan, do you get http://www.mezzacotta.net/garfield/ today?
22:53:14 <oerjan> i've just logged on, don't expect me to have read any webcomics
22:53:46 <oerjan> well there was some steganography discussed in the forums, this may be the result of that
22:54:04 <oklopol> oerjan: famous swedish composers only really rings one bell with me. although it's a big bell, man. <<< awesome
22:54:12 <AnMaster> diffimg 0034.png ga980112.gif > diff.png
22:54:28 <AnMaster> oerjan, indeed great when I found it
22:54:58 <AnMaster> oerjan, if it had been audio communication it would have been obvious
22:55:17 <GregorR> AnMaster: I wrote a diffvideo script once :P
22:55:55 <oklopol> i don't get the garfield thing even though i know what steganography is.
22:56:34 <GregorR> Never published it, one sec I can throw it somewhere.
22:56:44 <AnMaster> oklopol, just download the original (linked at the bottom) and square root one
22:56:55 <AnMaster> oklopol, using diffimg or such
22:57:01 <GregorR> Although it's a total of 118 lines :P
22:57:32 <GregorR> Incidentally, I don't actually have any idea what diffimg is, I assume it just produces an image that is the pixel-per-pixel difference of two images?
22:57:50 <GregorR> (Like R2 - R1, G2 - G1, B2 - B1)
22:57:54 <oklopol> AnMaster: no need, i can read that without diffinh.
22:59:38 <GregorR> AnMaster: http://pastebin.ca/1323168 and http://pastebin.ca/1323170
22:59:53 -!- BeholdMyGlory has quit (Excess Flood).
22:59:58 <oklopol> the strip behind garfield.
23:00:05 <AnMaster> <GregorR> Incidentally, I don't actually have any idea what diffimg is, I assume it just produces an image that is the pixel-per-pixel difference of two images? <-- no, it produces a black and white image, black for differences
23:00:19 <GregorR> Oh, well that's even simpler than what I wrote :P
23:00:37 <GregorR> (Even ignoring the image-vs-video thing)
23:00:52 <oklopol> in both it's much more work opening the pic files than the actual computation
23:01:19 <oklopol> just map a==b over the zip of the arrays
23:01:28 <oklopol> in C yes, in real languages fuck yeah.
23:01:34 <ehird> wonder if J has zip
23:01:41 <ehird> on N-dimensional arrays, ofc.
23:01:43 <oklopol> in surreal languages maybe not.
23:01:58 <GregorR> I made mine to get an idea of how much different video compression algorithms eff up the video :P
23:02:19 <oklopol> ehird: 1 2 3 + 5 6 7 = 1+5 2+6 3+7 is what i meant
23:02:40 <oklopol> , has infinite rank, it won't zip evah
23:02:45 -!- pikhq has quit ("leaving").
23:02:56 <ehird> of course, this works great if just about everything is a number subtype.
23:03:07 <ehird> just mark them as 0xFFFFFF or w/e, ofc.
23:03:12 <oklopol> 1 2 3 (,"0) 4 5 6 <<< but you can change rank manually
23:03:14 <ehird> since, y'know, then the program is just
23:03:22 <AnMaster> ehird, as far as computer cares, everything *IS* numbers
23:03:25 <ehird> dump image (load image 1 = load image 2)
23:03:35 <ehird> AnMaster: umm yeah except that's totally irrelevant
23:03:38 -!- pikhq has joined.
23:04:09 <oklopol> yeah the whole diff program is indeed =
23:04:39 <ehird> in fact, if stringifying an image gives a reasonable format of some kind you can omit the dump image
23:06:15 <oerjan> now could someone please explain today's Lightning Made of Owls to me...
23:07:07 <ehird> it's funny and i don't get it
23:07:38 <oerjan> maybe it's just meant to be absurd
23:08:28 <oklopol> or maybe there aren't save rolls if you're wielding a double-handed weapon
23:08:52 <oerjan> impomatic: everything is on topic here except esolangs. the # is logical negation.
23:09:38 <ehird> Here is not #esolang.
23:09:41 <ehird> Here is #esoteric.
23:09:44 <ehird> But yes, you are here.
23:10:06 <oklopol> indeed, this is where we are not esoteric
23:10:13 <oklopol> plain old ppl talking about things
23:10:23 <oklopol> oerjan: did you agree with my joke explanation
23:10:36 <oklopol> i mean it's funny in a conventional sense that way.
23:11:17 <oerjan> oklopol: when you said you could read the strip behind garfield without diffing, you were lying, right?
23:11:39 <impomatic> While we're talking comics, http://corewar.co.uk/cwcomics.txt
23:12:17 <oklopol> oerjan: if you're not satisfied with me just being superior to humans, i guess i could mention i have a laptop.
23:14:06 <oklopol> so, impomatic, i hate you; and now let me elaborate on that, it's less insulting than you think.
23:14:20 <AnMaster> oklopol, I have a TFT with really really wide viewing angle
23:14:44 <oklopol> basically you've gotten me to desperately want to try both corewars and code golfing.
23:15:20 <oklopol> which will take a lot of my time, if i succumb
23:15:34 <impomatic> I think they're both going to be around a while, no hurry
23:16:04 <impomatic> If they'd add redcode to code golfing, you could kill two birds with one stone
23:16:12 * oerjan has a laptop too although his first attempt to read at an angle failed. will try again.
23:16:18 <ehird> http://golf.shinh.org/reveal.rb?Text+Compression/flagitious%28sym%29/1190091541&rb
23:18:32 <oerjan> a laptop which ironically never leaves the table
23:18:54 <oklopol> mine almost never leaves the house, but it's always in my lap
23:19:26 <oklopol> then again i sit on my bed 24/7, a bit hard to use a table.
23:19:34 <oerjan> does that imply you almost never leave the house?
23:19:47 * oerjan had a bit different impression
23:20:03 <oklopol> i only leave the house for uni stuff really
23:21:17 <oklopol> but yeah i guess i meant it never leaves my lap when i use it
23:21:34 <oklopol> well okay that's not true either.
23:21:56 <oklopol> i usually put it down when i'm doing my stuffs.
23:22:07 <oklopol> which i should start doing right now btw.
23:22:31 <oklopol> if i don't prove these structures to be abel groups, no one will.
23:23:59 <oklopol> yeah i guess that's the term
23:30:36 -!- Slereah has quit (Read error: 60 (Operation timed out)).
23:32:30 -!- Slereah2 has joined.
23:42:40 -!- impomatic has quit (Read error: 110 (Connection timed out)).
00:25:46 -!- FireFly has quit ("Later").
00:26:44 <MizardX> What's with the quit message "This computer has gone to sleep"? Google gives > 8000 hits, all of which is IRC logs.
00:28:06 <oerjan> and not a single person?
00:29:13 <oerjan> so next try to find which client they are using...
00:31:38 <ehird> MizardX: xchat aqua
00:31:41 -!- Corun has joined.
00:31:48 <ehird> Corun: you use os x rite?
00:31:48 <MizardX> !taf2! VERSION X-Chat Aqua 0.16.0 (xchat 2.6.1) Darwin 9.6.0 [i386/1.80GHz/SMP]
00:31:51 <ehird> you made that app thing
00:31:58 <ehird> that you linked here
00:32:03 <ehird> and I liked but didn't because it required leopard
00:32:09 <ehird> we're investigating your quit message
00:32:14 <ehird> and we think it's xchat aqua
00:32:21 -!- Corun has quit (Client Quit).
00:32:38 <oerjan> CTCP VERSION reply from Corun: X-Chat Aqua 0.16.0 (xchat 2.6.1) Darwin 9.5.0 [i386/2.20GHz/SMP]
00:32:46 <ehird> glad to know his COMPUTER talks to us.
00:33:02 <oerjan> i'll try another nick i found on google
00:33:27 <oerjan> CTCP VERSION reply from Lachy: X-Chat Aqua 0.16.0 (xchat 2.6.1) Darwin 9.6.0 [i386/2.40GHz/SMP]
00:34:02 * oerjan hopes lachy doesn't get paranoid from being ctcp'ed out of the blue :D
00:37:20 -!- GreaseMonkey has joined.
00:48:42 <ehird> <AnMaster> hm fizzie, you are from Finland?
00:49:32 <oerjan> you mean fizzie hasn't answered yet? how rude!
01:14:50 -!- Judofyr has quit ("raise Hand, 'wave'").
01:25:39 -!- sebbu2 has joined.
01:30:56 -!- sebbu has quit (Read error: 110 (Connection timed out)).
01:30:57 -!- sebbu2 has changed nick to sebbu.
01:58:30 <AnMaster> ehird, well did he answer then or?
02:05:35 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
02:55:36 <kerlo> Hy gys, s ths TF-8?
02:57:45 <oerjan> Nöpe, äccördïng tö mÿ chëck öf thë lögs ït's ISO-8859-1. Thïs shöüld bë, thöügh.
02:58:19 <oerjan> (My client auto-translates so I cannot tell from it)
03:04:05 <oerjan> let me paste my relevant settings
03:04:48 <oerjan> 04:04 recode_autodetect_utf8 = ON
03:04:48 <oerjan> 04:04 recode_fallback = CP1252
03:04:48 <oerjan> 04:04 recode_out_default_charset = utf8
03:04:48 <oerjan> 04:04 recode_transliterate = ON
03:06:37 <kerlo> How did that look?
03:06:58 <kerlo> Now all I have to do is make it actually display properly.
03:07:17 <kerlo> ?t's d?spl?y?ng l?k? th?s.
03:07:31 <oerjan> note my terminal is actually not set to Unicode itself
03:07:45 <kerlo> Except when I type it, in which case it displays as weird boxy things.
03:08:29 <oerjan> so i only see things right that fall within Latin-1 part of Unicode
03:08:39 <kerlo> Did it still work?
03:09:17 <oerjan> but, does that look right to you?
03:09:30 <kerlo> Currently, that looks right to me and the UTF-8 stuff doesn't.
03:09:33 <oerjan> because that comes out as ISO
03:10:09 <oerjan> my client shows all of them properly
03:10:39 <kerlo> I'm guessing this is happening: I type, PuTTY sends UTF-8 to screen, screen sends ISO to irssi, irssi sends ISO to the server.
03:11:38 <kerlo> scrëën -d -r döës thïs.
03:11:59 <kerlo> Which displays as fuzzy boxes in the input line and question marks in chat.
03:12:07 <kerlo> But it's apparently sending it correctly.
03:12:13 <oerjan> 04:04 term_charset = iso8859-1
03:12:30 <kerlo> No, I have ANSI_X3.4-1968.
03:12:42 <oerjan> i don't know what that is :D
03:12:53 <oerjan> possibly something 7-bit
03:13:32 <oerjan> -1968 would seem like before anything beyond ASCII was invented
03:14:16 <oerjan> (that's my setting. if you manage to set PuTTY to use actual unicode, you probably should use that
03:14:32 <kerlo> I think PuTTY is set to UTF-8 currently.
03:14:44 <kerlo> Let me try starting a new irssi with -U.
03:15:16 <oerjan> well then you should probably do term_charset = UTF-8
03:16:17 <kerlo> PuTTY sending UTF-8, screen called without -U, term_charset = ANSI_X3.4-1968: bläh
03:16:54 <kerlo> PuTTY sending UTF-8, screen called without -U, term_charset = ANSI_X3.4-1968: bläh
03:17:06 <kerlo> Er, s/ANSI_X3.4-1968/UTF-8/ on that last one.
03:17:52 <oerjan> as far as my browser window of the logs implies
03:19:01 <kerlo> Ökäy, thïs dïspläys möstlÿ rïght.
03:19:09 <kerlo> The Ö doesn't, though.
03:19:58 <kerlo> I'm guessing Ö isn't within the Latin-1 part of Unicode or something.
03:20:29 <kerlo> None of that is showing properly.
03:20:40 <kerlo> The capital letters, anyway.
03:20:49 <oerjan> <kerlo> Ökäy, thïs dïspläys möstlÿ rïght.
03:21:11 <kerlo> That looks roughly like this: #Vkay, this displays mostly right.
03:21:22 <kerlo> The # is one of those fuzzy boxes, the V is inverse color.
03:21:36 <oerjan> without any " on top of anything?
03:21:45 <kerlo> It has those over the lowercase letters.
03:22:14 <kerlo> I know that there is something that supports only lowercase accented characters.
03:23:59 <oerjan> also, ANSI_X3.4-1968 is the canonical name for ASCII
03:25:38 <oerjan> do you still have those recode* settings?
03:26:06 <kerlo> Apparently, CP437 supports Ä, Ö and Ü but not Ë or Ï, as well as a seemingly arbitrary set of Greek letters.
03:26:15 <kerlo> Also, everything messes up when I type Ä.
03:26:32 <kerlo> 03:26 recode_autodetect_utf8 = ON
03:26:32 <kerlo> 03:26 recode_fallback = CP1252
03:26:32 <kerlo> 03:26 recode_out_default_charset = UTF-8
03:26:32 <kerlo> 03:26 recode_transliterate = ON
03:26:41 <oerjan> what happens when i type à in here?
03:27:18 <kerlo> It displays as fuzzy-box inverse-color-C.
03:27:51 <oerjan> it should be A with ~ on top
03:28:44 <kerlo> Your à is the same as my Ã; both display as box-C here.
03:29:55 -!- AnMaster has quit (Read error: 104 (Connection reset by peer)).
03:29:58 <oerjan> curious. i'll leave this to the actual experts.
03:39:43 -!- AnMaster has joined.
03:46:28 <MizardX> My guess is that the [c] is a replacement character for symbols not representable in the font you are using...
03:49:05 -!- olsner has joined.
04:22:14 -!- Slereah has joined.
04:23:14 -!- Slereah2 has quit (Read error: 60 (Operation timed out)).
04:47:09 -!- X-Scale has left (?).
04:51:16 -!- Sgeo has joined.
05:06:02 -!- oerjan has quit ("leaving").
05:38:27 -!- ab5tract has joined.
05:38:48 -!- ab5tract has quit (Client Quit).
05:57:34 -!- psygnisfive has joined.
05:58:27 -!- psygnisf_ has joined.
06:16:28 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
06:22:58 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
07:29:27 -!- Slereah2 has joined.
07:36:04 <Ilari> bsmntbombdood: It is easy to hand read-only snapshot of file or directory tree, but how to share something read-write?
07:41:56 -!- Slereah has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:17:04 -!- sebbu2 has joined.
08:18:42 -!- SpaceManPlusPlus has joined.
08:19:07 -!- SpaceManPlusPlus has quit (Client Quit).
08:22:02 -!- Mony has joined.
08:34:14 -!- sebbu has quit (Read error: 110 (Connection timed out)).
08:43:44 -!- BeholdMyGlory has joined.
08:50:04 -!- BeholdMyGlory has quit ("bye").
08:50:30 <psygnisf_> http://www.mitpressjournals.org/doi/abs/10.1162/ling.2006.37.2.271
08:51:05 <psygnisf_> Optimality Theoretic models of phonology are NP-hard, while normal rule-derivation phonologies are P.
08:56:42 <Ilari> Probably optimality theoretic models can express more phonologies than rule-derivation...
09:04:09 -!- MigoMipo has joined.
09:04:26 -!- GreaseMonkey has quit ("Client Excited").
09:12:26 <psygnisf_> ilari, they can express different ones.
09:13:04 <psygnisf_> but there are some mindnumbingly trivial rules that OT has a bitch of a time with, but that rule-derivation handles with hardly any interesting effort at all.
09:14:08 <lament> i'd go with whichever one makes more sense
09:14:39 <lament> ot is a bit weird yeah
09:14:48 <psygnisf_> "ok, so you've got these constraints, right"
09:14:57 <psygnisf_> "and then you generate an INFINITE number of candidates, see"
09:15:17 <psygnisf_> "then you filter out candidates until you have one that violates the least constraints. tada!"
09:17:34 <lament> 'and then you pick the one you like the most out of a bunch of equally likely candidates'?
09:18:01 <psygnisf_> its not very informative, to be honest.
09:18:36 <lament> is any linguistics outside phonetics?
09:21:41 <psygnisf_> personally i find phonetics and phonology to be boring
09:21:55 <psygnisf_> i go for syntax/semantics, personally.
09:25:30 <lament> what field of linguistics, outside phonetics, has produced anything of value?
09:26:16 <psygnisf_> i dont think you know much about it sir :)
09:29:20 <psygnisf_> why do you say it's a joke science, lament
09:32:16 <MizardX> http://www.aiforge.net/ - website about programming games ... most interesting one I've found (only got to M in the list so far) is Fleet Commander, which happen to be mentained by the site owner
09:33:17 <MizardX> 90% of the games is about controlling a single robot, using some low level interface...
09:44:15 <lament> psygnisf_: i guess i just mean the theoretical part
09:46:00 <lament> because it hasn't done anything of value :)
09:46:40 <psygnisf_> i'd say it's done LOTS of value. if you care about the workings of grammar.
09:47:26 <lament> it produced a bunch of toy models of varying complexity
09:48:01 <psygnisf_> im skeptical about whether you actually know what syntax is actually doing
09:51:06 <lament> they don't come close to reflecting the reality
09:51:41 <psygnisf_> i eman, cmon, what models do you perceive as toy models?
09:51:58 <psygnisf_> just name three, and give examples of how they fail to reflect reality
09:52:48 <psygnisf_> and why that single failure justifies them being toy theories, while other theories, like say quantum mechanics, also have glaringly obvious inabilities to reflect reality that don't qualify them as toy theories.
09:53:57 <lament> quantum mechanics has awesome predictive power and important real-world applications
09:54:13 <psygnisf_> but so do the various theories of syntax. :)
09:54:21 <psygnisf_> im still waiting for your examples.
09:55:19 <psygnisf_> but cmon, what are YOUR contentions
09:55:28 <psygnisf_> since thats really the issue here.
09:56:02 <lament> any theory which tries to treat language as a formal system (generative grammar) is laughable
09:57:09 <oklopol> cuz ppl are ppl they aren't no machines...............
09:57:25 <lament> because languages are obviously not formal systems
09:58:47 <psygnisf_> lament: i'd say languages obviously ARE formal systems
09:59:09 <lament> really, you think that?
09:59:31 <psygnisf_> i've seen the data. all sorts of crazy shit that you dont realize until you actually dive into it
10:00:06 <psygnisf_> ridiculous things like purely tree structural relations that govern the acceptability of the use of this kind of pronoun or that kind of expression
10:00:32 <psygnisf_> you dont realize how insanely formulaic and well defined language is until you study it
10:01:34 <psygnisf_> granted, there are all sorts of complications when you get into use of language vs. structure of the utterances, e.g. pragmatics, but even THAT has so many amazingly well defined, systematic ways of operating
10:02:10 <lament> what's the difference between language and structure of utterances?
10:02:32 <psygnisf_> well no no, the diffrence is betwen the act of using an utterance, and the utterance itself
10:03:45 <psygnisf_> the utterances themselves, ignoring things like false starts, and other illformed things, are fairly well defined formal systems, and the way you use them is also fairly well defined.
10:04:23 <psygnisf_> they're by no means perfectly understood, but it's not as tho we're just dicking around with silly theories that dont really reflect anything in the language.
10:04:33 <lament> is human behaviour a formal system?
10:05:46 <psygnisf_> well, at some level, undoubtedly. and the more you look at experimental psychology the harder it becomes to /not/ think of human behavior as a very neat, computational system.
10:10:04 <psygnisf_> where are you from, lament? which country?
10:11:27 <lament> it's a difficult question
10:12:37 <oklopol> would be fun to study human social interaction as a formal system
10:13:34 <oklopol> or well theoretical social interaction, i'm not interested in how humans do it specifically, just in general
10:13:37 <psygnisf_> also, regarding human behavior as a formal system, its basically inescapable unless you believe in a soul. if everything is material, of a sort, then all there is is what amounts to a formal system of enormous scale. even at the level of neurons its obviously necessarily formal, in a sense.
10:14:11 <psygnisf_> neurons dont know. neurons are just neurons. they're signal processors and the signals have no meaning, outside of the context of the system that they're used in, namely, the brain.
10:14:13 <oklopol> studying game of life as a formal system on a macroscopic level would be pretty stupid
10:14:37 <oklopol> even though it's fairly well defined
10:14:40 <psygnisf_> ive been interested in trying to explore a formal model of memetics
10:16:36 <psygnisf_> well, semi-formal. something that explores the ways in which the smallest memetic items combine and interact
10:18:00 <psygnisf_> lament, if you can think of an example of why you think modern syntactic theories fail, or even if you can just name one that you don't like, do mention it. it'd be more substantial and worthwhile than just a proclamation of invalidity. :)
10:19:22 <oklopol> lament belongs in the ehird category of not having to justify your opinions because they right anyway. lament is just a bit older and lazier.
10:19:56 <oklopol> i think he mentioned he's like 2 already
10:20:03 <psygnisf_> and probably not quite as wrong as ehird tends to be. :)
10:20:20 <psygnisf_> but he seems to have no clue even what modern syntax is like.
10:24:03 -!- MigoMipo has quit ("QuitIRCException: MigoMipo out of IRC").
11:25:48 -!- Slereah has joined.
11:39:09 -!- Slereah2 has quit (Read error: 110 (Connection timed out)).
13:08:42 -!- kar8nga has joined.
13:28:42 -!- jix has joined.
13:37:15 -!- AnMaster has quit ("ZNC - http://znc.sourceforge.net").
13:48:00 <ehird> <AnMaster> ehird, well did he answer then or?
13:48:05 <ehird> The previous question: slowness.
13:51:26 -!- impomatic has joined.
13:51:30 -!- AnMaster has joined.
13:56:11 <impomatic> Has befunge.org moved, or just disappeared?
13:56:45 <ehird> 13:56 <ehird> Fizzie from #esoteric owned it.
13:56:45 <ehird> 13:56 <ehird> It just pointed to his site, zem.fi.
13:56:46 <ehird> 13:56 <ehird> He let the reg drop sometime this year.
13:56:48 <ehird> 13:56 <ehird> I might register it.
14:09:48 <AnMaster> I wonder if you could use setcontext/getcontext to implement co-routines in C?
14:15:12 -!- CakeProphet has joined.
14:20:36 <ehird> They are also continuations.
14:51:35 <SimonRC> headline: Google sneezes; Internet catches cold
14:51:59 <SimonRC> their bad-website-spotter has started saying everything is potentially malicious
14:52:40 <ehird> http://www.google.com/interstitial?url=http://www.google.com/
14:53:23 <AnMaster> ehird, wonder how soon they will correct it
14:54:20 <ehird> http://www.reddit.com/r/technology/comments/7tutu/google_is_marking_every_site_as_malicious/
14:54:53 <SimonRC> ehird: fucking hell that's quick
14:55:28 <ehird> <me> "copyright infringement is not theft."
14:55:31 <ehird> <idiot> "yup, and oral sex is not really sex."
14:55:40 <ehird> I like the analogy apart from the part where it makes no sense whatsoever.
14:57:00 <AnMaster> ehird, http://digg.com/tech_news/Someone_is_about_to_get_fired_at_Google
14:57:24 <ehird> further confirming your intelligence, I guess.
14:57:25 <AnMaster> (hm, someone should digg a page on reddit that reddits the page that digg's reddit!)
14:57:37 <AnMaster> ehird, I hate both reddit and digg
14:57:52 <ehird> So why did you link me to digg?
14:57:58 <ehird> http://www.reddit.com/r/programming/comments/7tuou/google_thinks_reddit_is_an_attack_site_wtf/
14:58:03 <AnMaster> ehird, because I know you prefer reddit
14:58:21 <ehird> I said that because I know you prefer gentoo.
14:58:40 <AnMaster> http://www.google.com/interstitial?url=foo
14:59:00 <AnMaster> "Your client does not have permission to get URL /interstitial?url=%3Cb%3Efoo%3C/b%3E from this server. (Client IP address: 90.130.2.10)" <-- damn
14:59:48 <ehird> If you think Google have an html injection on one of their most prominent pages (even before this bug), you're... rather deluded
15:00:02 <AnMaster> ehird, I was thinking it wouldn't work
15:00:15 <AnMaster> I mean if it had worked it would have been awesome
15:00:28 <AnMaster> and would have made it first on reddit or such I bet ;)
15:00:45 <AnMaster> so worth trying I mean, slim chance
15:01:20 <SimonRC> you'd have thought that the reddit posters would check the existing 9999 stories on a topic before posting a new one
15:01:26 <ehird> SimonRC: but but but KARMA
15:01:37 <ehird> also: wasn't there when I posted it.
15:01:40 <SimonRC> I don't know how reddit works
15:01:46 <ehird> AnMaster: 1) If by "awesome" you mean "boring and rather unexploitable"
15:01:52 <ehird> 2) I think that's more digg territory.
15:01:57 <AnMaster> ehird, http://xinutec.org/~pippijn/files/sc/osiris-20090131160126.png
15:02:09 <ehird> AnMaster: Ha ha ha, it's funny because it makes fun of microsoft!
15:02:32 <AnMaster> ehird, yeah I thought more sophisticated humor would be too advanced for you
15:02:48 <ehird> stopmalware.org is down
15:03:14 <ehird> ITT: One of the hugest companies evar completely relying on a third party service that isn't also huge:
15:04:07 <ehird> let's all switch to cuil
15:04:36 <ehird> Jeez, how hard can it be?
15:04:44 <ehird> def is_malware(site):
15:04:51 <ehird> comment out the rest
15:04:57 <SimonRC> it's harder than that, obviously
15:04:59 <ehird> end-of-lack-of-profit
15:05:04 <ehird> SimonRC: why should it be? :P
15:05:16 <ehird> sure, that's not exactly a durable solution
15:05:23 <ehird> but, umm, when your whole search is completely disabled for everyone..
15:06:02 <SimonRC> I wonder why it doesn't assume things are safe instead
15:06:31 <ehird> because the idiots that added it presumably never thought it could ever go down.
15:06:49 <ehird> they will be fired and will move to cuil :P
15:07:10 <ehird> Google Results Considered (Potentially) Harmful
15:16:12 <ehird> I do that sometimes too
15:16:16 <AnMaster> ehird, odd side effect of this: the cached links are gone
15:16:42 <ehird> This is an awful mess.
15:17:12 <ehird> AnMaster: for some definitions of "alive"
15:17:22 <AnMaster> ehird, maybe no one noticed yet at the googleplex
15:17:25 <ehird> the traffic is near nil, they're financially fucked, ...
15:17:32 <ehird> AnMaster: Come on, I highly doubt that
15:17:56 <AnMaster> This site may harm your computer.
15:17:56 <AnMaster> Search engine with results shown with images and a drill-down menu. General feature, webmaster and investor information.
15:17:56 <AnMaster> www.cuil.com/ - Similar pages -
15:19:29 <ehird> still broken for me
15:19:53 <ehird> Losses: $50 million
15:20:39 <ehird> AnMaster: Humanity's collective butt.
15:21:02 <ehird> I wonder how on earth this happened.
15:21:07 <ehird> I mean, surely they stresstest this thing.
15:21:46 <AnMaster> ehird, oh even google agreed the Swedish gov sucks: http://omploader.org/vMTZ6Nw
15:22:13 <ehird> AnMaster: does it censor the internet?
15:22:17 <ehird> if so, that's amusing. if not, meh.
15:22:40 <AnMaster> ehird, someone took a pic of searching for RIAA too btw
15:22:49 <ehird> that's not even funny.
15:22:54 <ehird> it says "This site may harm your computer"
15:22:57 <ehird> not "This site sucks"
15:23:44 <AnMaster> ehird, and yes Swedish gov wants to do that I believe. Swedish police makes the ISPs filter child porn at least, not sure about other stuff.
15:23:59 <AnMaster> ehird, and there was the FRA law
15:24:36 <AnMaster> <ehird> stopmalware.org is down <-- redirects to nist now?
15:25:24 <AnMaster> ehird, or did you mean stopbadware.org ?
15:25:33 <ehird> which is still down
15:28:18 <AnMaster> ehird, oh I had paul graham in google search before and with that "this site may cause harm..."
15:28:37 <AnMaster> didn't take a screenshot though
15:28:47 <ehird> this site may cause harm to your computeromobile
15:29:03 <ehird> it's a computer. on wheels
15:29:14 <ehird> think of the possibilities, man.
15:29:20 <AnMaster> ehird, I fail to see how that makes sense for "java"?
15:29:33 <ehird> the omobile was an afterthought
15:30:38 <ehird> It's a computer. On wheels. With hos.
15:30:43 <ehird> Think of the possibilities. Man.
15:37:53 -!- X-Scale has joined.
15:41:07 <ehird> haven't seen you here before?
15:42:26 <impomatic> X-Scale: I think I've seen you in #corewars ;-)
16:06:03 <X-Scale> Hello there, impomatic & ehird :)
16:13:53 -!- FireFly has joined.
16:22:24 <ehird> oklopol: i'm writing an oklotalk-- compiler. again :o
16:27:01 -!- Slereah2 has joined.
16:27:53 -!- Slereah2 has quit (Client Quit).
16:33:59 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
16:35:43 -!- Slereah2 has joined.
16:38:56 -!- Slereah has quit (Read error: 110 (Connection timed out)).
16:58:58 <oklopol> err google results showed pages as harmful for a while?
16:59:57 <oklopol> i don't see why anyone should care even if they went down altogether
17:00:37 <ehird> 1) yes, and so didn't let you click to them
17:00:43 <ehird> 2) because google is popular/useful?
17:01:02 <ehird> (you had to manually copypaste the URL to go somewhere)
17:01:44 <ehird> the other engines aren't particularly good
17:02:56 <oklopol> the others were good enough back when i last used them ;) maybe they suck even more nowadays, dunno.
17:03:14 <oklopol> i've used only google for many years now
17:03:46 <oklopol> but i refuse to acknowledge i'm in any way dependant on it, therefore i refuse to understand why anyone would care about its problems.
17:03:49 <ehird> i think pattern matching will be oklotalk---compiling's downfall. _again_
17:04:06 <ehird> i wonder if it's heretical to write an oklotalk-- parser that produces no errors.
17:04:28 <ehird> (a ]) actually parses the ] as a var name atm
17:04:33 <oklopol> umm. what errors could the parser produce?
17:04:35 <ehird> though i dunno what (a) would be
17:04:38 <ehird> atom (, atom a, atom )
17:05:20 <ehird> (a b c d parses as (a b c) d :D
17:10:20 <ehird> oklopol: what is your officially deemed parsing of (a)
17:15:15 <ehird> [('name', '('), ('name', 'a'), ('name', ')')]
17:15:39 <ehird> [('app', [('name', 'a'), ('name', 'b'), ('name', '('), ('name', 'c'), ('name', ')')]), ('name', 'd'), ('name', ')')]
17:16:02 <oklopol> umm parsing opinions for hypothetical extensions of oklotalk--? :) how about you make oklotalk
17:16:03 <ehird> where a ( or ) surrounded by a space is the atom
17:16:15 <ehird> oklopol: making oklotalk is hard when there's no reference to implement it from :-D
17:17:05 <oklopol> yes, maybe it is somewhat unsimple.
17:28:06 <SimonRC> this is an excelently-done rpg parody: http://uk.youtube.com/watch?v=wwLrgxtALWs
17:28:29 <ehird> oklopol: can we have oktobot
17:28:40 <ehird> SimonRC: i watched that in 2007.
17:32:46 * ehird pirates mathematica!!
17:38:59 -!- oktabot has joined.
17:39:31 <ehird> lol ok, so it's 2 the name
17:40:25 <ehird> mathematica in 30 MINUTES :D
17:40:32 <ehird> writing parser, y'see.
17:40:43 <oktabot> An error: Unmatching parens @ row 1.
17:41:12 <oktabot> An error: Unmatching parens @ row 1.
17:41:46 <oklopol> wellllll you see i took the i don't care what happens in boundary cases approach.
17:41:55 <oklopol> because, well, it was kinda a language stub.
17:43:15 <ehird> I actually parse the same as you
17:43:29 <ehird> $(a) -> the atom '(a', then the variable name ')'
17:43:36 <ehird> well, you parse ) as a real close paren, I just parse it as a var name
17:43:39 <ehird> since there's no (
17:43:50 <ehird> making sense is not required, never erroring is.
17:44:49 <ehird> wonder how (->) should parse
17:44:52 <ehird> welllllllllllllllllllllll
17:45:01 <ehird> it'll parse as var (, var ->, var )
17:45:19 <ehird> (-> a) will prolly return $f.
17:46:51 <ehird> oklopol: "$ a" parses as "the atom ' a'"
17:47:08 <ehird> ("$" parses as "the atom ''", so I was expecting (atom '', name 'a'))
17:47:52 <ehird> [('atm', ''), ('name', 'a')]
17:48:43 <oklopol> wait that didn't test anything.
17:48:59 <ehird> oklopol: did you ever impl nopol?
17:49:23 <ehird> i musta missed this
17:49:48 <oklopol> nopol has an object oriented bot 8|
17:50:04 <oklopol> i thought i always use that same one :D
17:50:36 -!- nopolie has joined.
17:51:27 <nopolie> global name 'rawunparse_' is not defined
17:51:50 <oklopol> was that the bot that got broken and i didn't fix it
17:52:05 <oklopol> i mean the nopol interp never errors iirc
17:53:03 <ehird> look at it sideways
17:53:13 -!- nopolie has quit (Read error: 104 (Connection reset by peer)).
17:53:34 -!- nopolie has joined.
17:53:37 <oklopol> no idea what i changed, but i'm optimistic about this.
17:53:50 -!- Judofyr has joined.
17:54:02 <oklopol> okay, i have unparse, unparse_ and rawunparse
17:54:11 <oklopol> (now what the fuck are those)
17:54:16 -!- CakeProphet has quit (brown.freenode.net irc.freenode.net).
17:54:16 -!- fungot has quit (brown.freenode.net irc.freenode.net).
17:54:16 -!- fizzie has quit (brown.freenode.net irc.freenode.net).
17:54:20 -!- nopolie has quit (Read error: 104 (Connection reset by peer)).
17:54:36 <ehird> and had to go alongwith it
17:55:31 -!- nopolie has joined.
17:55:35 <oklopol> let's try one more random thing
17:55:45 <ehird> sorry to ruin your hopes and ruin your dreams
17:58:22 -!- sebbu2 has changed nick to sebbu.
17:59:12 <oklopol> well. maybe i'll look into that some day. i don't remember what was broken about it, and i'd have to debug to find out.
18:00:03 -!- CakeProphet has joined.
18:00:27 <oklopol> so somehow after evaluation the code has changed its structure
18:03:24 <AnMaster> I see. What sort of language is it? I guess there is no specs?
18:05:38 <ehird> it has turing complete NOPs
18:05:41 <ehird> using negative-depth lists
18:05:46 <ehird> (a) is depth 1, ((b)) is depth 2
18:05:49 <ehird> it has depth -1, -2, etc
18:05:54 <ehird> a is depth 0, naturally
18:06:12 <ehird> basically, a negative depth list snatches all the elements around it to create a new positive list with its elements and those
18:06:20 <oklopol> iz weird tree rewriting stuphs.....
18:06:34 <AnMaster> because this thing with nop and negative depth list sounds very familiar
18:06:42 <AnMaster> and one I remember confused me a lot
18:06:49 <oklopol> yeah ehird just didn't know i'd implemented it
18:07:03 <ehird> oklopol's languages are just awesome
18:07:05 <oklopol> of course, it seems i technically haven't implemented it anymore, because it doesn't work.
18:07:13 <ehird> happy australian mailman reminders day
18:08:03 <oklopol> unfortunately the really insane ones refuse to be realized. except graphica. but for some reason people aren't interested in languages you can only use to create graphs.
18:08:04 <AnMaster> well I noticed lots of mailing lists sends the message one day late
18:08:20 <oklopol> oklotalk-- isn't that insane
18:08:31 <oklopol> i implemented the sane subset with a semisane syntax
18:09:12 <ehird> I wonder what A-hat and .. do
18:09:16 <oklopol> of course the way you can do imperative kinda control flow using pattern matching, and how things are functions and objects are kinda weird features.
18:09:21 -!- fizzie has joined.
18:09:22 <ehird> AnMaster: A with ^ on top.
18:09:35 <AnMaster> ehird, that is A with 2 dots here..
18:09:50 <Deewiant> AnMaster: no, your font just sucks
18:09:57 <AnMaster> Deewiant, indeed that is the issue
18:10:22 <Deewiant> is what it's actually called IIRC
18:10:23 <ehird> the correct program is Al/_Ä
18:10:30 <ehird> so what does Ä do, oklopol
18:10:42 <ehird> AnMaster: no, that's Cise
18:10:44 <oklopol> ehird: i think it's [0..n]
18:10:47 <ehird> which is oklopol's golfing lang
18:10:56 <ehird> AnMaster: brainfuck without IO in cise:
18:10:57 <ehird> ;I,;mc,[]{"[]"},=}!!b->"+"+mC1"-"-mC1">"+C1"<"-C1{;X}Wh=mC0=}X??b
18:11:07 <oklopol> or was it [1..n] or [0..n] based on whichever made more sense in context...
18:11:08 <AnMaster> ehird, more golfed than golfscript?
18:11:18 <ehird> quicksort /2;A b:C,',JnB
18:11:27 <AnMaster> ehird, they should add on anarchy golf
18:11:38 <oklopol> add it without an interp or a spec
18:11:42 <ehird> AnMaster: it actually tries all possible parsings (it's very ambiguous) and picks the one that uses types most "correctly"
18:11:59 <Deewiant> does it have a spec or anything?
18:12:05 <oklopol> there's a parser though, i just haven't implemented the less interesting parts
18:12:06 <AnMaster> ehird, so this is one instruction per char with jumps or such?
18:12:46 <oklopol> Deewiant: there's a small spec-kinda thing on my computer, but it's not public. but i'm planning to add specs to all the languages on /oklopol/ as soon as possible.
18:13:05 <oklopol> at lest the parts that exist in my head.
18:13:12 <ehird> AnMaster: way more complex.
18:13:16 <ehird> it's funcitonal, sorta.
18:13:35 <oklopol> yeah functional, and ...pattern matchingal
18:14:00 <AnMaster> pattern matching functional languages are fun to code in
18:14:17 <oklopol> pattern matching is a crucial part of making it terse, you do stuff to input, cut it in parts with pattern matching syntax, and introduce assertions to guide the syntax-error backtracking, repeat
18:14:18 <AnMaster> but with that terse syntax, no idea
18:14:34 <AnMaster> oklopol, oh nice backtracking too
18:14:48 <oklopol> well there's that bf interp.
18:15:13 <SimonRC> ehird: did Ursala inspire that much?
18:15:19 <ehird> SimonRC: I don't think so.
18:15:35 <oklopol> AnMaster: the pattern matching is not easy. it's a mindfuck; but, let's hope you can read it in /cise.txt after a while.
18:16:23 <ehird> http://www.vjn.fi/oklopol/cise.txt
18:16:30 <SimonRC> what is the topic all about?
18:17:05 <ehird> [('name', '('), ('name', '='), ('name', 'a'), ('name', ')'), ('name', ')')]
18:17:08 <ehird> SimonRC: Stuff that happens there.
18:18:08 <oklopol> okokokokokokokokokokokokokokokokokokokokokokokokokokokokoko
18:19:33 <AnMaster> oklopol, um that link doesn't really explains how it works
18:19:53 <ehird> [('assign', ('name', 'a'), ('lst', [('int', 1), ('int', 2), ('app', [('name', '+'), ('int', 2), ('int', 2)])])), ('name', ']'), ('name', ')')]
18:20:01 <AnMaster> for example how does merge sort work '/,)#<
18:20:15 <AnMaster> oklopol, can you describe how it is parsed and executed
18:20:45 <oklopol> AnMaster: i can and i have, on this channel
18:21:34 <oklopol> AnMaster: don't remember; anyway seriously, i will try to spec up the languages enough to quench ppl's curiosity, once i have the time
18:21:44 <oklopol> currently all my non-irc time is pretty much university time.
18:22:04 <oklopol> AnMaster: nope not recently.
18:22:09 <oklopol> around the time it was invented
18:22:11 <ehird> (= a [1 2 (+ 2 2)])
18:22:13 <ehird> :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
18:23:24 <ehird> where da oktabot @
18:24:48 <ehird> omg omg omg 2 minutes tom athematica
18:28:03 <ehird> MATHEMATICA IS FREAKING MIIIIIINE
18:29:22 -!- oerjan has joined.
18:32:06 <ehird> OMG INSTALLING MATHEMATICA GUYZ
18:32:37 <oerjan> ehird: look at the positive side, you cannot lose your sanity - again
18:34:59 -!- kar8nga has joined.
18:48:03 <oerjan> also, if google's harmful site detection breaks, it should say so rather than choosing either true or false as default
18:48:44 <oklopol> MAYBE THEY CAN'T A CODE LOL :DDD
18:59:49 -!- impomatic has quit (Read error: 110 (Connection timed out)).
19:02:22 <AnMaster> oerjan, IWC was interesting today
19:02:27 <AnMaster> I wonder how/if that will develop
19:02:46 <oerjan> whew! i actually managed to read IWC before AnMaster commented on it :D
19:03:02 <AnMaster> oerjan, I read it around 15:00 or so every day
19:03:57 <oerjan> i would, if that was about the time i logged on. but today it isn't.
19:06:12 <oerjan> usually i go email -> log on irc -> irc logs -> IWC, and the last days you managed to get me before i finish the logs
19:07:14 <AnMaster> oerjan, just read IWC before irc?
19:07:42 <oerjan> um but irc is a continuous matter
19:07:49 <AnMaster> also darth and droids and square root of minus garfield of course (on those days)
19:08:41 <oerjan> oh well i guess it could work
19:08:49 -!- alex89ru has joined.
19:09:11 * oerjan read that domain as gesundheit.de
19:26:42 <AnMaster> http://googleblog.blogspot.com/2009/01/this-site-may-harm-your-computer-on.html
19:26:47 <AnMaster> if you haven't seen it already
19:28:11 <AnMaster> also it seems that stopbadware went down due to lots of people trying to access it after the issue
19:28:53 <AnMaster> <oerjan> also, if google's harmful site detection breaks, it should say so rather than choosing either true or false as default <-- irrelevant since that wasn't the issue. The issue was according to google human error adding '/' as a bad url which for some reason matched all urls
19:29:43 <AnMaster> http://blog.stopbadware.org/2009/01/31/google-glitch-causes-confusion (if that loads for you, seem to be very slow atm)
19:30:15 <AnMaster> (as in several minutes load time)
19:31:09 <AnMaster> "[Update 1:36] Google updated its statement to reflect that StopBadware does not provide Google’s badware data."
19:32:27 <ehird> pirated software is so... yummu
19:37:19 <ehird> You will not be able to start virtual machines until you activate Parallels Desktop. If you have a valid activation key, click Activate Product. You can find the activation key in the product box from a retail store or in the e-mail confirming your online purchase. Otherwise, purchase a permanent activation key or obtain a free trial activation key.
19:37:21 <ehird> fuck yooooooouuuuuu
19:37:30 * ehird gets another free trial lol
19:38:21 <AnMaster> I mean wouldn't qemu work just fine for something as simple as running a keygen?
19:38:34 <ehird> yeah but i'm used to parallels and I have windows already installed on it
19:38:38 <psygnisf_> what do you think i should include as a primitive operation in my language? i've got +-*/ and a generic substitute operation
19:38:59 <ehird> and parallels is kind of like winzip
19:39:03 <ehird> you can sign up for new free trial keys
19:39:03 <psygnisf_> plus predefined but not primitive logic operations
19:39:06 <oklopol> psygnisf_: have you considered (a xor b - 7)
19:39:17 <AnMaster> psygnisf_, only one: substract and branch if not zero
19:39:33 <oklopol> golfing might be interesting for languages with complicated and somewhat random primitives.
19:39:49 <psygnisf_> that would make sense, anmaster, if there was an actual sequence of instructions to be followed.
19:39:53 <AnMaster> oklopol, abbreviated intercal?
19:40:02 <ehird> WOULD YOU LIKE TO INSTALL PARLLELS INTERNET SECURITY POWERED BY KASPERSKY AND GET A FREE ANUAL SUBSCRIPTION?
19:40:06 <AnMaster> psygnisf_, well what I described was OISC basically
19:40:15 <oklopol> AnMaster: i'm thinking more randomize_instruction_set()->golf().
19:40:33 <ehird> Unable to connect Floppy Disk 1.
19:40:34 <ehird> A file or device required for the operation of Floppy Disk 1 does not exist or is used by another process, or you have no permission to access it. The virtual machine will continue running, but the device will be disconnected.
19:40:37 <ehird> how will I do without a floppy!!11
19:40:54 <AnMaster> ehird, why would anyone need a floppy these days!?
19:41:01 <ehird> this is a VM floppy.
19:41:05 <ehird> and, for running old stuff
19:41:24 * ehird keygen.exe -->drag into parallels-->
19:41:25 <AnMaster> well, I thought *mac* users wouldn't need any floppy!
19:41:37 <ehird> woop, it's just like all keygens
19:41:44 <ehird> it draws its own gray-on-black window
19:41:49 <AnMaster> ehird, you mean, built in spyware too?
19:41:50 <ehird> and has a demo with weird music and gfx in the top
19:41:56 <ehird> AnMaster: naw, hardly any keygens have tht
19:42:04 <ehird> it's very ... demoscene
19:42:36 <AnMaster> ehird, I have a theory about that though...
19:42:42 <psygnisf_> also alternatively, what should i be considering for things like IO, since the language is lazy
19:42:49 <AnMaster> It use the user reaction as random seed.
19:42:55 <ehird> psygnisf_: monads.
19:42:58 <ehird> AnMaster: ha, that would be fun
19:42:58 <psygnisf_> i dont want to construct the whole monad thing :|
19:43:05 <ehird> psygnisf_: it's two functions
19:43:16 <psygnisf_> monads a) confuse me, b) confuse me, c) confuse me.
19:43:30 <ehird> 1. understand them
19:43:39 <AnMaster> ehird, well that is the only plausible explanation of demos in keygens
19:43:40 -!- ski__ has quit (SendQ exceeded).
19:43:51 <ehird> it's all about scene cred
19:43:53 <AnMaster> ehird, hey you need at least three steps
19:43:57 <ehird> the cooler your keygen demo, the cooler your group.
19:44:07 <ehird> no, ??? is in fact "make internet meme"[1]
19:44:25 <AnMaster> ehird, well I thought that was what you were trying to do
19:44:26 <ehird> and haskell nomads is already a /prog/ meme.
19:44:30 <ehird> so you can skip that step.
19:44:35 <MizardX> psygnisf_: You could evaluate those functions that call non-lazy (=I/O) functions immediately.
19:44:44 <psygnisf_> I was thinking that I could just have a universal variable that was defined at the beginning of each program execution called IO, and when you did like (read IO) it would evaluate to some new item that represented the next io state
19:44:44 <ehird> MizardX: or just evaluate the IO bits strictly
19:44:46 <ehird> my WIP lang has that
19:44:51 <ehird> it's rather complicated and non-intuitive
19:44:55 <AnMaster> ehird, /prog/? Does that actually exist on 4chan or whatever?
19:45:01 <ehird> AnMaster: it's a text board on 4chan
19:45:32 <AnMaster> ehird, is it as silly as the rest of it?
19:45:33 <psygnisf_> MizardX: yes, thats what i intend to do, the problem is more whether or not i want to consider side effects with IO given the laziness.
19:46:16 <AnMaster> (hey that almost looks like a smiley)
19:46:45 <ehird> but, you know, they're [b][i][u][spoiler]EXPERT [spoiler]BB[sup]Code[/sup][/spoiler] PROGRAMMERS[/spoiler][/u][/i][/b] so it all balances out.
19:47:09 <AnMaster> ehird, I'm not very familiar with this markup language you use
19:47:20 <psygnisf_> ehird, any other things you think i should consider?
19:47:47 <ehird> Makes it black on black text until you hover over
19:47:49 <ehird> and it becomes white on black
19:47:55 <ehird> I compiled it just for you:
19:47:55 <ehird> http://dis.4chan.org/read/prog/1233430884/1-40
19:47:58 <AnMaster> oh I just had an idea, a forum software using LaTeX for markup
19:48:29 <AnMaster> "Specified thread ID does not exist"?
19:48:39 <ehird> AnMaster: that's the error it gave me when I didn't enter a subject.
19:48:42 <ehird> shiichan is... rather buggy.
19:48:50 <ehird> shiichan's bbcode even has comments.
19:48:54 <ehird> [rem]can't touch this[/rem]
19:49:07 <ehird> AnMaster: discussion
19:49:16 <ehird> Slereah2: Quite. Btw, why is Mathematica's input method weird?
19:49:20 <ehird> When the cursor goes horizontal.
19:49:48 <ehird> During evaluation of In[11]:= Power::infy: Infinite expression 1/0 encountered. >>
19:49:49 <Slereah2> Also beware : when you change something, you have to re-confirm EVERY LINE
19:49:49 <ehird> Out[11]= ComplexInfinity
19:49:53 <ehird> the 1/0 actually displays as
19:50:38 <ehird> Slereah2: how come you have to press enter to complete
19:51:40 <ehird> I defined x and now it's persisting
19:51:49 <X-Scale> I've done some Mathematica too and really hated it. They should have used scheme instead.
19:52:03 <ehird> I just wanna play with it for its graphical manipulation and stuff.
19:52:05 <AnMaster> <ehird> Slereah2: how come you have to press enter to complete <ehird> not return <-- ???
19:52:07 <ehird> The actual languagei s perverse.
19:52:11 <ehird> AnMaster: Well, shift-enter also words.
19:52:13 <ehird> but enter = numpad return
19:52:44 <AnMaster> also as far as I know they are the same key? Both generate same scancode I think
19:53:18 <ehird> AnMaster: Since when do I use a laptop?
19:53:28 <ehird> Also, yes, I believe so, but not in the GUI env.
19:53:32 <AnMaster> ehird, I thought you had a macbook of some type?
19:53:34 <ehird> They're distinguished quite often.
19:53:36 <ehird> AnMaster: no, iMac
19:53:43 <ehird> which is a stupid name btw.
19:53:47 <ehird> i cringe whenever I type it.
19:53:48 <AnMaster> hm xev claims both generate the event KP_Enter
19:54:33 <AnMaster> ehird, iAgree with you about the problem with the name iMac
19:54:46 <ehird> you think PHP's "just shit everything into the main namespace" is bad?
19:54:53 <ehird> built in functions
19:55:07 <AnMaster> but php has namespaces now with \ iirc
19:57:01 -!- oerjan has quit ("Bussy").
19:57:13 <FireFly> Does complex numbers' square roots also always have two roots? (as with real ones)
19:57:31 <ehird> as in, he's going to the bus.
19:57:42 <Slereah2> There are two square roots for all numbers, FireFly
19:57:51 <ehird> I have to admit... Mathematica is quite fun, even if it sucks.
19:57:54 <FireFly> Yeah, just wondering if it applies to complex ones too
19:57:57 <Slereah2> Because they are 180 rotations in the complex plane
19:58:00 <ehird> I mean, the glob of functions is just... fun.
19:58:10 <AnMaster> ehird, better or worse than php?
19:58:21 <ehird> AnMaster: Well, PHP isn't even fun.
19:58:34 <AnMaster> also what do you mean "glob of functions"? as in sq*() -> sqrt()?
19:58:34 <ehird> AnMaster: But like I said, Mathematica has *3,000* mainspace builtins.
19:58:39 <Slereah2> (R * e^if)^1/2 = sqrt(R) * e(if/2)
19:58:43 <ehird> glob = a gloopy heap
19:58:56 <ehird> gloopy: slimy, etc
19:59:00 <AnMaster> ehird, glob == wild card expanding, see jargon dictionary
19:59:06 <AnMaster> but ok it means what you said too
20:02:47 <ehird> ArrayPlot[CellularAutomaton[30, {{1}, 0}, 50]] works.
20:04:00 <ehird> I'm not fond of the language, but the environment is neat.
20:04:21 <ehird> Of course, no way in hell I'd pay Wolfram thousands of pounds for it...
20:05:14 <X-Scale> yes, the whole package is powerful.
20:06:40 -!- yoR has joined.
20:06:57 <ehird> ArrayPlot[CellularAutomaton[30, {{1, 0, 1, 0, 0, 1}, 0}, 50]]]
20:09:18 <ehird> Consider me unimpressed. :P
20:09:29 <ehird> What language does it use?
20:09:32 <ehird> Looks like a C-esque.
20:11:45 <X-Scale> I'm not sure. I know it's coded on Common Lisp.
20:14:41 <psygnisf_> that looks like it could be logo maybe. im fairly certain logo has wonky []-for-() stuff
20:15:02 <ehird> that's Mathematica.
20:15:06 <ehird> I was talking about maxima.
20:15:16 <ehird> btw, logo has [] as lambda
20:15:22 <ehird> tcl has [] as "evaluate this"
20:16:16 <AnMaster> or could be my ipv6 tunnel that is slow
20:16:40 <fizzie> Mathematica 6 is "only" 200 eur for students, and when you graduate you must upgrade it to the full version, but with a 75 % discount. (I think the student license used to be something significantly <200 back when it was 5.something.)
20:19:04 <ehird> Nope. Mathematica.
20:19:20 <ehird> fizzie: I'm not sure they'd count me as a "student"
20:19:23 <ehird> also, that parses as
20:19:29 <ehird> ((# + 2) &) /@ {1,2,3}
20:19:36 <ehird> where & postfix is the "make a function yo" operator
20:19:40 <ehird> # is the first arg in a function
20:20:39 <ehird> (# + ## &)[2, 3] -> 7
20:21:06 <fizzie> Didn't it do #1, #2, ... too?
20:22:02 <ehird> fizzie: it also has ##2
20:22:06 <ehird> which I assume is the third argument.
20:23:00 <fizzie> MATLAB has anonymous functions defined like @(a, b) a+b
20:23:13 <ehird> that's like so less fun though.
20:23:21 <ehird> a postfix operator that you give an expression is so much more... lulzy
20:24:07 <ehird> also, Function[x] == (x&)
20:24:13 <ehird> You can do the more "conventional":
20:24:23 <ehird> Function[{x,y}, x+y]
20:24:32 <ehird> But #+##& is so much more fun, no?
20:26:13 <X-Scale> Mathematica syntax is ideal for all those brainf*ck lovers. :)
20:26:34 <X-Scale> I remember hammer it for hours till it worked.
20:26:35 <ehird> Hmm, I wonder how it does scoping.
20:28:06 <fizzie> Lexical or dynamic, depending on whether you use Module[vars, body] or Block[vars, body].
20:28:09 <ehird> Y[f] := Function[x, f[x[x][#] &]][Function[x, f[x[x][#] &]]]
20:28:22 <ehird> Excersize for the reader: remove the [f] and the Function parts, and make it all #s and &s.
20:30:33 <ehird> mathematica needs a "give me something to do" button.
20:30:47 <fizzie> Meh, MATLAB syntax is so crummy. I can't make it call an anonymous function without sticking it in a variable; the only form of function call is "name(args)", which must have a name in there.
20:31:05 <AnMaster> ehird, I can provide that: Solve one of unsolved the millennium problems
20:31:52 <Deewiant> ehird: Y[f] := (f[#[#][#2] &]&)(f[#[#][#2] &]&) ?
20:32:12 <ehird> Deewiant: hmm, so #2 works if it's the first argument?
20:32:15 <ehird> i mean, it 'remembers'?
20:32:38 <ehird> i mean that's be awesome if so.
20:32:46 <Deewiant> I kinda misread what you were doing
20:33:00 <Deewiant> ehird: but anyhoo, you also need the LHS to say f_ and not f
20:33:07 <ehird> In[109]:= Sin[1000]
20:33:07 <ehird> Out[109]= Sin[1000]
20:33:11 <ehird> umm, thanks Mathematica
20:33:20 <Deewiant> ehird: most precise answer it can give.
20:33:52 <fizzie> Well, you can just N[] it.
20:34:00 <ehird> AnMaster: [] is function call
20:34:19 <AnMaster> normally in math notation you just write sin 1000
20:34:35 <Deewiant> but it is not, by any meaning of the word, weird
20:34:38 <ehird> AnMaster: That kind of fails when you nest anything
20:34:48 <ehird> it turns into lisp
20:34:52 <Deewiant> ehird: works well enough in Haskell :-P
20:35:02 <ehird> Deewiant: sure, but haskell doesn't have the massively-nested exprs mathematica does.
20:35:21 <Deewiant> ehird: sure it would if we didn't have . and $ :-P
20:35:26 <AnMaster> that reminds me, check out the channels #1,000 and #2,000
20:35:38 <ehird> AnMaster: umm, welcome to jackassville
20:35:47 <ehird> wtf made you think that was a good idea
20:35:53 <AnMaster> ehird, I would never think anyone here would fall for it
20:36:07 <ehird> i'm pretty sure not everyone here is an irc whiz
20:36:57 <Deewiant> what'd be special about those?
20:37:04 <ehird> no, proves that nobody online is
20:37:12 <AnMaster> Deewiant, join 0 == part all channels
20:37:13 <ehird> 1. non-apathetic enough to try
20:37:17 <ehird> 2. not an irc whiz
20:37:30 <AnMaster> it turns into join #1 followed by join 0
20:37:37 <Deewiant> I always forget the syntax for joining multiple channels :-P
20:40:06 -!- Mony has quit ("Quit").
20:41:47 <ehird> "Based on original algorithms developed at Wolfram Research"
20:41:53 <ehird> I swear if I read this one more time I will kill somebody.
20:42:48 <Slereah2> Did you know that Wolfram Research proved that the 2,3 machine is TC?
20:43:54 <ehird> (newbies: Wolfram Research ran a prize to prove that, #esoteric denizen ais523 did so.)
20:45:00 <ehird> he was making a "joke"
20:45:08 <ehird> an odd thing; it's a lie where people know it's a lie
20:45:12 <ehird> but it's a lie in a way that it's funny.
20:45:35 <Slereah2> It's funny because it's untrue
20:45:39 <ehird> (I figure if I explain humour enough times you're bound to catch on eventually)
20:45:57 -!- jix has quit ("Computer has gone to sleep").
20:52:45 <ehird> ArrayPlot @/ CellularAutomaton[GameOfLife, InitialGrid, 100]]
20:52:47 <ehird> Let's try this then.
20:53:23 <Deewiant> I said that it's /@ before you noticed but I forgot to IRC-escape the /
20:53:34 <ehird> Now how do I make this infinite...
20:53:37 <ehird> As opposed to just 100 steps.
20:53:41 <ehird> Well, I guess I'll try passing Infinity.
20:53:46 <ehird> As I am blissfully naive
20:53:58 <ehird> It only needs the previous state...
20:54:02 <Deewiant> I think it precomputes the whole thing
20:54:28 <ehird> I just need a sort of... transitionanimate.
20:54:33 <ehird> i.e., result becomes input
20:55:17 <Deewiant> Or just raise it to 10000 first or something
20:55:20 <ehird> The Infinity thing?
20:55:41 <ehird> 10,000 is just eating my memory up nicely.
20:55:57 <ehird> You crashed mathematica I think :<
20:56:07 <Deewiant> I didn't do anything, you did :-P
20:56:41 <Deewiant> It was more a suggestion than an order :-P
20:57:26 <ehird> You crashed the ENGINE
20:57:47 <Deewiant> Or kill it if that doesn't work
20:57:47 <ehird> Yeah but now I lost my initial grid
20:57:55 <ehird> And my game of life spec
20:58:11 <ehird> when I quit the engine
20:58:20 -!- ais523 has joined.
20:58:26 <Deewiant> It should still have whatever you typed in before
20:58:31 <Deewiant> Unless you deleted it, of course :-P
20:58:32 <ehird> Deewiant: notebook crashed
20:58:43 <ehird> ais523: I'm trying out mathematica.
20:59:17 <ais523> ehird: finally got your trial copy?
20:59:19 <ais523> anyway, I'm very busy in RL
20:59:28 <ais523> I've been very ill since Wednesday afternoon
20:59:32 <ehird> For values of trial copy equal to pirate.
20:59:41 <ais523> and haven't been able to do anything really, RL work or anything else
20:59:43 <ehird> What values of "very ill" are we talking?
21:03:00 <ehird> I'll take that as "high ones".
21:03:25 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
21:03:33 -!- ais523 has joined.
21:03:42 <ehird> Or perhaps "IRC problems".
21:11:02 -!- alex89ru has quit (Remote closed the connection).
21:11:53 -!- ais523__ has joined.
21:12:04 -!- ais523__ has changed nick to ais523_.
21:12:14 -!- ais523 has quit (Nick collision from services.).
21:12:16 -!- ais523_ has changed nick to ais523.
21:25:06 <oklopol> i like being sick, but i never am
21:25:09 <oklopol> well, i also hate being sick
21:28:33 <fizzie> oklopol: I'm sure they have some sort of pills to make you sick by now. Shouldn't be all that difficult.
21:30:08 -!- ais523_ has joined.
21:31:40 -!- ais523 has quit (Connection timed out).
21:32:09 <ehird> As you may have guessed, the wireless internet here is being really
21:32:10 <ehird> temperamental at the moment; I'm only getting a few seconds of
21:32:10 <ehird> connectivity every few tens of minutes. So I'm writing this in an email,
21:32:12 <ehird> and I'll set my mail client to send it to you the next moment I get a
21:32:18 <ehird> ais523's connection is fucked up so he has to use batch mode communication.
21:33:50 -!- ais523_ has quit (Read error: 104 (Connection reset by peer)).
21:33:56 -!- ais523__ has joined.
21:35:18 <ehird> ais523__: are you reading this?
21:35:23 <ehird> I sent off a batch email summary.
21:35:31 <ais523__> not sure if you'll get my reply
21:35:40 <ais523__> but this connection's been stable for over a minute, possibly a record
21:35:44 -!- ais523__ has changed nick to ais532.
21:35:46 -!- ais532 has changed nick to ais523.
21:36:06 <ais523> lifting the laptop a metre off the floor seems to help
21:36:29 <ais523> and got your batch summary
21:37:26 <fizzie> Maybe you should switch to carrier pigeons, they sound more reliable.
21:39:10 -!- X-Scale has left (?).
21:43:14 <fizzie> I've always wanted to build a http://ronja.twibright.com/ (there's just something attractive about the idea) but I don't know anyone who'd live line-of-sight-nearby enough.
21:43:39 <ehird> ais523: Your connection still ticking?
21:45:21 <ehird> I will take that as a "no".
21:45:24 <ehird> AnMaster: His connection is b0rked.
21:45:37 <ehird> He's also been ill since wednesday.
21:45:39 <ehird> Try email if you need to tell him anything.
21:46:05 <AnMaster> ehird, no was just going to chat aimlessly
21:46:10 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
21:50:34 <psygnisf_> ehird, since you think monads are so trivial, you explain them to me
21:50:45 <ehird> a is a type taking one argument
21:50:47 <ehird> return :: a -> m a
21:50:58 <ehird> bind :: m a -> (a -> m b) -> m b
21:53:21 <ehird> there's additional constraints:
21:54:01 <ehird> bind m (\x -> bind (f x) g)
21:54:46 <oklopol> yeah psygnisf_ behold the axioms of monads
21:55:00 <ehird> the type sigs are the axioms.
21:55:05 <ehird> the constraints are the laws.
21:55:20 <psygnisf_> so return for monads is the id function
21:55:35 <ehird> return :: a -> m a
21:55:41 <ehird> bind :: m a -> (a -> m b) -> m b
21:55:51 <ehird> return gets the unwrapped value of m
21:55:54 <ehird> and wraps it again
21:55:59 <ehird> thus, (bind m return) must = m
21:58:28 * SimonRC finds it clearer with let x >>= f = bind f x
21:58:46 <ehird> I was just avoiding the symbolzz
21:59:28 <SimonRC> Oddly, IO have just been learning about comonads. They are some of the things that look like you could make into a monad but turn out not to work really.
22:00:05 -!- ais523_ has joined.
22:00:20 -!- psygnisf_ has quit (Remote closed the connection).
22:00:21 <ais523_> yay, it actually stayed connected long enough for me to join the channel
22:00:25 <ais523_> and even see ehird say hi!
22:00:38 <SimonRC> comonads are like bizarro-monads
22:01:13 <SimonRC> instead of having (a -> m a) and (m a -> (a -> m b) -> m b) as operations...
22:01:15 -!- psygnisfive has joined.
22:01:24 <ehird> ais523_: still thar?
22:01:36 -!- psygnisf_ has joined.
22:01:42 <SimonRC> they have (w a -> a) and ... erm...
22:01:51 <ais523_> fizzie: I agree, carrier pigeons would be more reliable, if slower on average
22:02:04 <SimonRC> ... w a -> (w a -> b) -> w b
22:02:04 <ais523_> SimonRC: looks a bit like a backwards monad
22:02:15 <psygnisf_> ehird if you said something after i mentioned binding m being id, i didnt get it
22:02:20 <SimonRC> ais523_: hence me saying they are bizarro-monads
22:02:22 <Slereah2> ais523_ : Well, carrier pigeons could be faster
22:02:29 <ehird> psygnisf_: read the logs
22:02:43 <Slereah2> Like if a carrier pigeon carried an 8GB flash drive
22:02:51 <SimonRC> where for monads you can't easily "get things out of" them, for comands you can't easily "get things into" them
22:03:28 <SimonRC> there is no general function for (Comonad w) => a -> w a
22:03:36 <Deewiant> What kinds of things are comonads
22:03:47 <Deewiant> That is to say, do you have examples of them
22:03:47 <SimonRC> analogous to there being no general function for (Monad m) => m a -> a
22:04:29 <SimonRC> Deewiant: try here http://www.eyrie.org/~zednenem/2004/hsce/index.html
22:05:03 <ehird> "Yes, I am aware that this is an unlikely scenario."
22:05:28 <SimonRC> I am beginning to see how Data.InfiniteTree qualifies
22:06:12 <Deewiant> Okay, now is there a use case for these :-P
22:06:59 <SimonRC> maybe the idea is if you find yourself writing repetative code a lot, you might be able to spot that you need a comonad
22:07:24 <Deewiant> I'm having trouble thinking of use cases for those types
22:10:13 <SimonRC> I am asking about this on #haskell
22:12:02 -!- MigoMipo has joined.
22:15:38 -!- Judofyr has quit (Remote closed the connection).
22:17:28 <psygnisf_> what i _dont_ get is.. wtf do i do with this shit
22:17:46 <ehird> wait, lemme type th is out
22:17:51 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
22:18:15 -!- MigoMipo has left (?).
22:18:37 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
22:19:43 <psygnisf_> its more that ive never seen any explanation of wtf good monad's are. the form is trivial. bind just unwraps a value and applies a function that wraps it back up
22:20:06 -!- kar8nga has joined.
22:20:29 <ehird> psygnisf_: http://pastie.org/private/5dk2ijnlme4ikoghy5h0bw
22:20:32 <ehird> that's an IO monad
22:20:38 <ehird> there are more "theoretical" monads
22:20:44 <ehird> but that will get you pure IO in your lang
22:20:52 <ehird> another way is to build up a bind tree as the main value
22:20:58 <ehird> and recurse through it
22:21:00 <ehird> performing the actions
22:22:28 -!- ais523_ has quit (Read error: 110 (Connection timed out)).
22:22:53 <ehird> psygnisf_: basically, what a monad gives you there
22:22:56 <ehird> is that IO stuff can't "escape"
22:23:03 <ehird> you can't put IO into a function that doesn't return an IO value
22:23:09 <ehird> due to the types of bind
22:23:14 <ehird> there's no way to go from (m a) to a
22:23:22 <ehird> if you have global variables
22:23:28 <ehird> but that's not purely functional any more either.
22:24:07 <psygnisf_> there are no real variables as such
22:24:13 <oklopol> ehird enjoys his warm monad pie
22:24:24 <ehird> psygnisf_: as long as you can't mutate global shit, IO is safe.
22:24:27 <psygnisf_> i enjoy ehirds warm monad pie too ;D
22:25:00 <psygnisf_> i mean, the language is a rewriting system, so its inherently nothing but state
22:25:32 <psygnisf_> at the same time, its just a rewrite system, so there are no variables in the normal sense that we think of variables, etc.
22:25:52 <psygnisf_> and theres certainly no mutation of those variables.
22:26:49 <oklopol> don't you just love it when you make a program that only has half an ass, and you hand it out as the course project
22:26:59 <oklopol> and then the prof sends you an email telling you how great you did in the exam
22:27:02 <psygnisf_> also, ehird, i dont know wtf that pastie is telling me
22:27:11 <oklopol> and says he's waiting eagerly to see how great my project was.
22:27:20 <ehird> i think psygnisf_'s main problem is that he doesn't understand english
22:27:31 <oklopol> psygnisf_: that you should use it wisely
22:27:43 <psygnisf_> i understand english fine. you're just not explaining anything :P
22:27:55 <psygnisf_> i need to see process to understand these things
22:28:11 <ehird> you asked a question, I answered it, shrug.
22:28:11 <psygnisf_> i need to see what the hell is going on as this thing is used to understand what it actually does
22:28:22 <ehird> it would help if your questions made sense
22:28:24 <psygnisf_> you answered it in a way that makes no sense, which amounts to not answering it at all.
22:28:41 <ehird> makes sense to me, ymmw
22:28:55 <psygnisf_> yes but you understand monads already
22:33:52 <psygnisf_> i dont know. i dont think i can properly comprehend monads nevermind use them in this language.
22:34:04 -!- ais523 has joined.
22:34:14 <oklopol> i'm feeling extremely insane atm
22:34:26 <psygnisf_> i might just use impure IO stuff. i dont think it'd matter all that much, really.
22:34:37 <psygnisf_> oklopol: you're ALWAYS extremely insane
22:34:40 <ehird> is it lazily evaluate, psygnisf_?
22:34:43 <ehird> if so, don't even bother
22:34:57 <ehird> psygnisf_: then impure functions won't work
22:35:02 -!- jix has joined.
22:35:29 <psygnisf_> well, i was thinking that IO stuff would force evaluation in the appropriate fashion.
22:35:42 <oklopol> psygnisf_: you can probably come up with semantics just as good as monads, maybe even essentially the same ones, just go for it.
22:35:58 <ehird> BELIEVE IN YOURESLF
22:36:00 <psygnisf_> i dont know how to go about that, oklopol.
22:36:18 <ehird> use your thinking machine.
22:36:20 <oklopol> psygnisf_: impure + solve problems if they occur.
22:36:54 <oklopol> you could do like oklotalk, and evaluate lazily what (probably) has no side-effects :-)
22:37:05 -!- BeholdMyGlory has joined.
22:37:43 <ehird> I actually have semantics that let you have a 100% lazy, 100% impure system.
22:37:48 <ehird> They involve seeing. I've told oklopol about them
22:37:54 <psygnisf_> if i understoof monads i might be able to do something. but.. nobody explains monads adequately to me.
22:38:02 <oklopol> to see is to necessitate........
22:38:02 <ehird> It also means that pure equivalent programs can differ...
22:38:06 <psygnisf_> all i get is a bunch of "here are your axioms kthxbye"
22:38:09 <ehird> psygnisf_: ITYM "I don't understand them"
22:38:14 <ehird> Not our fault; your problem.
22:38:39 <psygnisf_> stop being a defensive little cunt
22:39:01 <ehird> "nobody explains monads adequately to me."
22:39:23 <psygnisf_> its not "its your FAULT i dont get monads!"
22:39:26 <ehird> i never said it was blame.
22:39:43 <oklopol> it's my fault, i broke the vase
22:40:02 <oklopol> i think i should do some tunstall encoding now
22:40:34 <ehird> whoa you're coding nao?
22:40:38 <oklopol> because clearly this ircing stuff isn't working.
22:41:07 <oklopol> haha LOL kinda like *programming* but then well i guess it's not lol :DDDD
22:44:39 -!- kar8nga has left (?).
22:47:35 <fizzie> My first association to "carrier pigeons could be faster" was "unholy scramjet-equipped cyborg-pigeons, an abomination against nature" and not "normal pigeons carrying flash drives".
22:47:53 <ehird> fizzie: your mind is awesome.
22:48:06 <fizzie> I'm not sure if that's the word.
22:48:33 <ais523> why would scramjet-equipped cyborg-pigeons necessarily be an abomination against nature?
22:48:45 <ais523> they could have evolved, you know...
22:48:46 <ehird> ais523: I think asking that question makes you an abomination against nature.
22:49:06 <olsner> psygnisf_: don't worry about understanding them, start by just *using* them and understanding will appear
22:49:17 <ehird> olsner: he's trying to write a language.
22:49:25 <ehird> that is lazy. and IO.
22:49:47 <olsner> trying to write haskell? but that's already been written!
22:49:54 <ehird> it uses rewriting.
22:50:21 <olsner> understanding is over-rated anyways
22:50:25 <oklopol> fizzie: i was thinking painting pigeons black or white to encode 1/0.
22:50:43 <olsner> just breed them in two colors
22:50:43 <Deewiant> ais523: I think 'cyborg' implies 'not natural'
22:50:45 <ehird> oklopol: brilliant
22:50:48 <ehird> make them spotted.
22:51:08 <olsner> or use three colors, and encode in balanced ternary
22:51:34 <olsner> approx. half a bit extra per pidgeon!
22:51:35 <oklopol> well, quantum pigeons. no question about it.
22:51:52 <ehird> fizzie: I'm still laughing
22:52:48 <oklopol> there is no room for understanding in exact sciences.
22:53:09 <oklopol> which hacking undoubtedly is (unlike programming)
22:56:48 <ehird> kerlo's name is steve
22:57:09 <kerlo> ehird, you're just jumping to conclusions.
22:57:24 <kerlo> I'm using a computer that used to belong to someone named Steve.
22:59:34 <olsner> kerlo killed steve and stole his computer
23:00:07 <kerlo> No, Steve is still alive. Killing him may still have been an effective way of receiving his computer, though.
23:01:02 <olsner> you're obviously in chock after killing steve, imagining him to still be alive
23:01:15 <olsner> and if you deny it you're in denial!
23:01:37 <SimonRC> ow ... head ... going ... to ... explode ... from ... comonads
23:07:40 <ais523> * SimonRC eats pizza <kerlo> That's a shame
23:07:46 <ais523> a nice juxtaposition there
23:09:13 <oklopol> guess you could do comb-on ads
23:09:36 -!- ais523 has quit ("going home").
23:13:42 -!- X-Scale has joined.
23:30:15 <oklopol> X-Scale: i always read your nick as an action
23:30:25 * oklopol checks how similar it actually is
23:32:59 <AnMaster> and way too much to read above
23:33:39 <oklopol> if you know what song that was
23:35:21 <kerlo> I'll sing a song, too!
23:35:29 <ehird> aaaaaaaaaaaaaaaaaaaaaxxxxxxxxxxx
23:42:41 -!- oerjan has joined.
23:49:02 <oerjan> 11:57:31 <ehird> as in, he's going to the bus.
23:49:02 <oerjan> 11:57:34 <ehird> to go home.
23:49:08 <oerjan> actually, away from home
23:49:40 <ehird> what does the bus do, then
23:50:00 <oerjan> home -> town, then later town -> home
23:50:14 <ehird> ... town is open at this time?
23:50:15 <oerjan> well, approximately. there's also a small walk involved :D
23:51:15 <oerjan> town ~= city center, in this usage
23:51:24 <oerjan> i guess "downtown" is more accurate
23:52:15 <oerjan> also, my day schedule is completely chaotic, in case anyone hadn't noticed
23:55:47 <oerjan> <FireFly> Does complex numbers' square roots also always have two roots? (as with real ones)
23:55:58 <oerjan> as Slereah2 said, except for zero.
23:56:20 <oklopol> i fought myself so hard not to make that useless addition :P
23:57:13 * oerjan swats Slereah2 -----###
23:57:16 <oklopol> also, you know, DID YOU KNOW YOU CAN GENERALIZE THAT FOR NTH ROOTS.
23:58:02 <oklopol> i mean i almost said that.
23:58:11 <oklopol> but maybe you understood that.
23:58:36 <Slereah2> oklopol : nth root has n results
23:58:39 <oerjan> basically, x^n = y^n <=> (x/y)^n = 1, which means everything non-zero has exactly has many roots as 1 has
23:58:57 <Slereah2> Each one being a rotation of 2pi/n in the complex plane
23:59:26 <oklopol> Slereah2: exactly, that's the trivial useless thing i managed not to tell firefly.