←2008-07-02 2008-07-03 2008-07-04→ ↑2008 ↑all
00:13:18 -!- Corun has joined.
00:26:45 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
01:17:17 -!- tusho has quit.
02:08:12 -!- cherez1 has quit (Read error: 110 (Connection timed out)).
02:12:20 -!- cherez has joined.
02:26:14 -!- Corun has quit ("This computer has gone to sleep").
02:48:21 -!- djgera has joined.
02:50:06 -!- RodgerTheGreat has joined.
02:50:17 <RodgerTheGreat> hey guys, what are people up to this evening?
02:58:27 <RodgerTheGreat> Ah, sitting around waiting for something interesting to happen. Me too.
02:58:37 <pikhq> Indeed.
02:58:41 <RodgerTheGreat> pikhq: done anything with Def-BF yet?
02:59:09 <pikhq> No.
02:59:21 <RodgerTheGreat> anything about the spec you'd like clarified?
02:59:29 <pikhq> I've been busy muttering about how MST's "intro to" courses suck.
02:59:36 <pikhq> No, not at all; it's a fairly grokkable spec.
02:59:47 <RodgerTheGreat> hm
03:19:37 -!- Slereah_ has joined.
03:47:27 <RodgerTheGreat> I was bored, so I wrote a test program in high-level def-bf: http://www.nonlogic.org/dump/text/1215053139.html
03:47:57 <RodgerTheGreat> foreach/while loops ended up being very nice and clean looking
03:50:04 <pikhq> I agree.
03:50:13 <RodgerTheGreat> ah christ, I forgot colons after my define statements: http://www.nonlogic.org/dump/text/1215053310.html
03:50:16 <pikhq> The whole thing is ridiculously simple to understand.
03:50:21 <RodgerTheGreat> can't even code in my own languages. :/
03:50:41 <RodgerTheGreat> yeah, I'm just insanely pleased with how nicely it comes together
03:51:52 <RodgerTheGreat> what's interesting is that <> seem to become largely relegated to array manipulation
03:52:14 <pikhq> Insanely, if I write that so that it uses the C calling interface, then the C interface will be trivial.
03:52:38 <RodgerTheGreat> that'll be pretty badass
03:52:50 <pikhq> To use printf:
03:53:12 <pikhq> var: string "Hello, world!\n\0"
03:53:15 <pikhq> printf[string]
03:53:29 <RodgerTheGreat> yep
03:53:52 <pikhq> Wait, that's already null terminated, isn't it?
03:54:07 <RodgerTheGreat> pikhq: uh, might be?
03:54:11 <pikhq> Anyways, that's really fucking cool.
03:54:17 <pikhq> define: print[a][ a [.>];// display a null-terminated string
03:54:17 <RodgerTheGreat> do you think there's a need for ascii/asciiz?
03:54:27 <pikhq> ]That seems to imply that it's null terminated already.
03:54:44 <RodgerTheGreat> there are a few things that might be inefficient without post-optimization, but it shouldn't be too much worse speed-wise than regular compiled BF
03:54:57 <pikhq> No; it seems like C gets along just fine without.
03:55:00 <RodgerTheGreat> pikhq: good point
03:55:25 <RodgerTheGreat> Hm. what do you think would be more useful in general?
03:57:29 <pikhq> Null termination.
03:57:30 <RodgerTheGreat> seems like almost every time someone wants to iterate over array elements or characters in a string they'd want a null to easily break out of the loop anyway, so null-terminated seems good
03:57:44 <RodgerTheGreat> it's not like we're shooting for mega space-efficiency, anyway
03:57:57 <pikhq> It's much, much nicer in Brainfuck than even in C. . .
03:58:12 <pikhq> And even in C, null termination is fairly handy for a few algorithms.
03:58:40 <pikhq> Though it'd be nice if C strings were size-encoded, hell: making a really simple C calling interface is a good idea in my book.
03:59:03 <RodgerTheGreat> agreed
03:59:44 <RodgerTheGreat> do you think there's a need for more than numbers->numbers quoted strings->null-terminated character sequence as far as ? is concerned?
04:01:40 <RodgerTheGreat> I think you can make custom control structures for this language ridiculously cleanly- I haven't even touched the code pointers yet.
04:03:39 <RodgerTheGreat> and it now occurs to me that there's a need for a convenient way to specify said pointers. I think it should be done as "label: name", and then the name can be used as a variable.
04:08:18 <RodgerTheGreat> here's a trivial example: http://www.nonlogic.org/dump/text/1215054391.html
04:08:39 <RodgerTheGreat> you can extend this to something like a "while a>x" loop pretty easily
04:09:43 <pikhq> I think the "label: name" part is handy.
04:10:13 <RodgerTheGreat> yeah, otherwise %/: are really crippled in high-level mode
04:10:27 <pikhq> Especially since this language seems to be, as far as hardware interfacing goes, somewhere between C and assembly.
04:10:40 <RodgerTheGreat> yeah, I think it strikes a good balance
04:11:03 <RodgerTheGreat> and it achieves a weird kind of LISP-esque elegance somehow
04:12:08 <pikhq> By just being so damned simple.
04:12:36 <RodgerTheGreat> I should also note that it makes a lot of sense to make it possible to have literals in function calls and return statements, as this is not explicitly said in the spec
04:12:40 <pikhq> My favorite part is that, if you *really* wanted to, you could have this thing write arbitrary pre-assembled code into memory. :p
04:12:47 <RodgerTheGreat> mmm. :)
04:13:01 -!- djgera has quit.
04:13:09 <RodgerTheGreat> and you might even be able to use label: to then call it trivially depending on how the semantics work
04:13:11 <pikhq> And thereby forgo all actual assembly files.
04:13:21 <RodgerTheGreat> ooh, goosebumps
04:13:33 <pikhq> Though I, personally, wouldn't use it.
04:13:35 <RodgerTheGreat> this will be a grand systems programming language
04:14:03 <pikhq> Instead, I'd just do foreign_assembly_call%.
04:14:31 <pikhq> And let the linker handle the details of figuring out where the fuck that foreign assembly call is supposed to come from.
04:14:52 <pikhq> Indeed, this is a *perfect* esoteric systems programming language.
04:14:56 -!- cherez has quit (Read error: 110 (Connection timed out)).
04:15:49 <RodgerTheGreat> perhaps having a working compiler and some basic libraries will encourage yet another attempt at creating an esoteric OS from scratch?
04:16:39 -!- cherez has joined.
04:16:39 <pikhq> I plan on making said esoteric OS.
04:16:49 <RodgerTheGreat> neato
04:16:52 <pikhq> I'll get on the compiler this weekend.
04:16:56 <pikhq> (and possibly finish)
04:17:07 <pikhq> I need to finish my Autotools kick, though. ;)
04:17:16 <RodgerTheGreat> I'll write some bits and pieces for the std libs when I have free time
04:17:20 <pikhq> Cool.
04:17:40 <RodgerTheGreat> I'm thinking stdio, stdmath and stdctrl are the main ones to shoot for
04:17:51 <pikhq> I agree.
04:17:55 <RodgerTheGreat> maybe stdstring and stdarray as well for more complex stuff
04:18:07 <pikhq> I do have to wonder, however. . .
04:18:14 <pikhq> How am I going to implement '.'?
04:18:32 <RodgerTheGreat> mm. probably a BIOS call at some level?
04:18:46 <pikhq> But what if we go into 32-bit mode?
04:19:00 <RodgerTheGreat> then it'll probably get rather esoteric
04:19:05 <RodgerTheGreat> lol
04:19:11 <pikhq> I know. . .
04:19:52 <RodgerTheGreat> Are you shooting for making this self-hosting eventually?
04:19:57 <pikhq> I'll have '.' call a single function, which shall be my support library for the language. ;)
04:20:00 <pikhq> Yeah.
04:20:28 <pikhq> Said single function could equally well be written in Def-BF as in assembly. . .
04:20:47 <RodgerTheGreat> yeah, with %/: and #/; it'll be a LOT easier than trying to make PEBBLE self-hosting
04:21:00 <pikhq> PEBBLE is simple not meant to self-host.
04:21:04 <RodgerTheGreat> PEBBLE is quite powerful but data structures are still a bitch
04:21:05 <pikhq> s/simple/simply/
04:21:28 <RodgerTheGreat> I'm just saying that because we've discussed it passingly in the past
04:21:28 <pikhq> Whereas, in Def-BF, it's no harder than writing this in assembly.
04:21:48 <pikhq> Except that it's mildly quirky assembly, of course.
04:21:56 <RodgerTheGreat> naturally
04:22:23 <RodgerTheGreat> I like to think of it as a very clean RISC that pretends registers don't exist
04:22:33 <pikhq> Sounds about right.
04:25:06 <RodgerTheGreat> oh, found another minor typo- there is no ; necessary after the "return a" in the while loop example. My curly-bracket reflexes are biting me. The program ought to compile right anyway, though.
04:28:03 <pikhq> After all, the ; won't ever be executed.
04:30:24 <RodgerTheGreat> yup
04:30:36 <RodgerTheGreat> still might trip somebody up if used as an example
04:30:42 <pikhq> True.
04:33:09 -!- cherez has quit (Read error: 110 (Connection timed out)).
04:34:55 * pikhq should sleep.
04:34:57 -!- pikhq has quit ("leaving").
04:35:01 <RodgerTheGreat> well, good night- I've gotta turn in myself
04:35:26 -!- cherez has joined.
04:44:46 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
04:44:51 -!- Slereah_ has joined.
05:16:11 -!- jamesstanley has quit (clarke.freenode.net irc.freenode.net).
05:16:12 -!- Deewiant has quit (clarke.freenode.net irc.freenode.net).
05:17:31 -!- jamesstanley has joined.
05:17:31 -!- Deewiant has joined.
05:17:42 -!- Deewiant has quit (Read error: 104 (Connection reset by peer)).
05:17:55 -!- Deewiant has joined.
05:21:46 -!- jamesstanley has quit (clarke.freenode.net irc.freenode.net).
05:24:51 -!- GreaseMonkey has joined.
05:28:59 -!- jamesstanley has joined.
05:30:44 -!- GreaseMonkey has changed nick to DarkPants.
06:04:41 -!- cherez has left (?).
06:07:15 <Slereah_> Zipped files inside zipped files make me a sad panda.
06:22:47 <Slereah_> Holy shit
06:22:56 <Slereah_> Adobe Reader is 190 Mo?
06:23:15 <Slereah_> I'd much rather have text files!
07:14:54 -!- DarkPants has quit (Remote closed the connection).
07:18:29 -!- GreaseMonkey has joined.
07:18:48 -!- GreaseMonkey has changed nick to DarkPants.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:13 <oklopol> printn[val] <<< i don't get this in the Def-BF
08:05:28 <oklopol> unless it should be printn[tmp] or something
08:05:45 <oklopol> or 1/2
08:16:07 <oklopol> also
08:16:07 <oklopol> add1[val1,tmp]
08:16:07 <oklopol> add1[val2,tmp] // tmp = val1+val2
08:17:34 <oklopol> add1's params are copies, not the original var?
08:17:36 <oklopol> *vars
08:18:27 <oklopol> seems like it would be a bit of a space/efficiency to do that for all calls
08:18:53 <oklopol> define add1[a,b][
08:18:53 <oklopol> a [- b+;];// add a to b
08:18:53 <oklopol> ]
08:20:03 <oklopol> well, i'll wait for rodgie
08:20:40 <oklopol> also i'll highlight him in case he's already awake, already slept like 3 hours: RodgerTheGreat
08:22:39 <AnMaster> <Slereah_> Adobe Reader is 190 Mo?
08:22:41 <AnMaster> a sec
08:22:46 <oklopol> from copy's definition
08:22:46 <oklopol> add2[a,b,c]// make two copies
08:22:46 <oklopol> add1[c,a]// restore a
08:22:55 <oklopol> so add is clearly destructive
08:23:04 <oklopol> RodgerTheGreat: i do believe you have two errors
08:23:12 <AnMaster> $ du -sh /usr/kde/3.5/bin/kpdf
08:23:12 <AnMaster> 265K /usr/kde/3.5/bin/kpdf
08:23:13 <AnMaster> :D
08:23:25 <oklopol> but probably none, i'm a failer
08:25:45 <oklopol> what's this mo?
08:25:52 <oklopol> is it related to megabytor
08:25:53 <oklopol> s
08:28:21 <oklopol> fuck man i'm haf.
08:33:28 <AnMaster> oklopol, s/megabytor/moozilla/
08:33:41 <oklopol> it's related to moozilla?
08:33:48 <moozilla> lol
08:33:50 <AnMaster> yes it is
08:33:50 <moozilla> im famous
08:33:58 <oklopol> okay
08:33:59 <AnMaster> moozilla, it is in topic...
08:34:23 <oklopol> oklopol: talkin' bout mo here
08:34:25 <moozilla> i know
08:34:27 <AnMaster> oklopol, he wrote it in some esoteric specs when he was high (the result of the specs were also written then it seems)
08:34:28 <oklopol> not fuck man i'm haf
08:34:55 <moozilla> http://www.fileden.com/files/2006/11/27/428255/esoteric.txt
08:35:18 <oklopol> hmm i missed the spec conversation, nnscript decided it doesn't show but about one page of logs now, and i have to use a fucking logviewer to read the rest
08:41:57 <oklopol> you have "h" as 8?
08:43:01 <oklopol> using ascii without the high byte?
08:43:06 <oklopol> *bit
08:45:08 <oklopol> moozilla: respond
08:45:14 <oklopol> how does output work?
08:45:22 <oklopol> second row designated for that? :\
08:47:24 <oklopol> ah and you don't actually output, just make the second row contain hello world
08:52:54 <oklopol> moozilla: i think your example either fails miserably quite near the beginning, or then i misunderstood the language
08:53:29 <oklopol> but if i understood it correctly, i absolutely love the way you do args
08:56:09 <oklopol> as for tcness, you could set up an initial state and run a line of 110
08:56:55 <oklopol> so my suggestion is you infinitely execute the program for the first line, then move to the next, execute the program infinitely for it, and so on
08:57:03 <oklopol> this way you could easily write ca
08:57:14 <oklopol> moozilla: goddammit you were here 10 minutes ago :P
08:57:56 <oklopol> i'll write an interp for the current one as i understood it
09:01:39 <oklopol> hmm
09:01:57 <oklopol> it seems i managed to read only half of it, and thought it ended there :D
09:02:43 <oklopol> okay if second row indeed is output, as your hello world suggested, it might work
09:02:58 <oklopol> probably works, that is, at least the beginning does
09:05:04 <oklopol> replace(/[^+-*/%|&~#$?<>^v]*/g,''); //remove comments (javascript example) <<< this line is incomplete
09:09:00 <oklopol> hmm. actually i'm not sure how the looping shit works
09:10:02 <oklopol> you say something about looping grids letting you do flow control... not sure what you mean, but in case you either get flow control *or* an infinite grid, it's not tc
09:10:23 <oklopol> but you probably know that, now appear, o sweet moozilla.
09:10:44 <oklopol> i need a cool drink ->
09:12:21 <oklopol> heh, didn't even realize "cool" means cold :D
09:12:28 <oklopol> i meant in the other sense
09:13:52 <oklopol> i love python's "unstable" and/or driven flow control
09:14:02 <oklopol> should esolangify some of that
09:41:43 -!- DarkPants has quit (Remote closed the connection).
09:42:32 <oklopol> perhaps i should make a small befunge interpreter in C
09:42:49 <oklopol> need more languages on my page
09:43:22 <oklopol> http://www.vjn.fi/oklopol/python.txt updated this, it used to be a fucking cartesian product i made in about 30 seconds :P
09:43:54 <moozilla> oklopol
09:43:58 <moozilla> the example works
09:44:02 <moozilla> in my interpreter
09:45:59 * AnMaster ponders writing a very slow interpreter
09:46:07 <AnMaster> for some simple C-like language
09:46:25 <AnMaster> it should be very slow
09:46:34 <AnMaster> slower than bash
09:46:39 <moozilla> why?
09:46:42 <oklopol> moozilla: yep
09:46:43 <AnMaster> just for fun
09:47:01 <oklopol> it's just you first start making the string on the second line
09:47:08 <oklopol> but @ l, you stack two in the same spot
09:47:28 <oklopol> moozilla: how does flow control work?
09:47:36 <oklopol> what order do you run the code in
09:47:50 <moozilla> just in order i think
09:47:51 <AnMaster> oklopol, check his interpreter
09:47:57 <moozilla> check the spec
09:48:04 * AnMaster can read C#
09:48:10 <AnMaster> however I got other stuff to do toda
09:48:12 <AnMaster> today*
09:48:32 <oklopol> moozilla: i mean, how do you jump?
09:48:36 <AnMaster> <oklopol> http://www.vjn.fi/oklopol/python.txt updated this, it used to be a fucking cartesian product i made in about 30 seconds :P <-- not readable!
09:48:42 <oklopol> AnMaster: why would i read it when i can just ask?
09:48:56 <oklopol> AnMaster: it's a one-expression bf interp
09:48:56 <AnMaster> oklopol, oh you follow the lazy programmer paradigm?
09:48:57 <moozilla> i wrote the spec i year ago
09:48:58 <moozilla> i forget
09:49:04 <oklopol> AnMaster: what's that?
09:49:11 <AnMaster> oklopol, "ask instead of read"
09:49:18 <oklopol> duh.
09:50:27 <oklopol> also, i have no idea where the interp is
09:50:53 <oklopol> AnMaster: i can't read code
09:50:54 <oklopol> in general
09:51:17 <AnMaster> why not?
09:51:47 <oklopol> if there's a function the meaning of which i don't know, i will just try to read it over and over
09:51:58 <AnMaster> oklopol, check man page?
09:52:02 <oklopol> often takes 5 minutes to realize i don't know what it is
09:52:14 <oklopol> it's not like that, i don't actually realize i don't know the function.
09:52:48 <oklopol> anyway, i have a lot of problems like that, when reading
09:53:34 <oklopol> i could probably read a small interp, tho
09:54:13 <oklopol> also i read code like a machine, the names of variables tell me absolutely nothing
09:55:05 -!- GreaseMonkey has joined.
10:18:49 -!- RedDak has joined.
10:39:38 -!- GreaseMonkey_ has joined.
10:48:32 -!- GreaseMonkey_ has quit ("Remote closed the previous member app").
10:54:10 -!- GreaseMonkey has quit (Read error: 110 (Connection timed out)).
12:04:21 -!- RedDak has quit (Remote closed the connection).
12:26:16 -!- jix has joined.
12:38:01 -!- RedDak has joined.
12:42:09 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
13:03:10 -!- olsner has joined.
13:09:31 -!- puzzlet has quit (Read error: 54 (Connection reset by peer)).
13:22:40 <oklopol> RodgerTheGreat: wake yet?
13:23:08 <RodgerTheGreat> yeah, but I'm leaving for classes in seconds
13:23:29 <RodgerTheGreat> and I think you may be right about the program
13:24:56 <oklopol> what class?
13:25:03 <oklopol> if i may ask
13:38:40 <jamesstanley> The wiki page about Brainloller says 'Infinite loops due to the IP rotators can never happen because they're reversible and the IP starts at the top left.' Surely if execution encounters a square of 4 Rotate-Right instructions, there will be an infinite loop...?
13:39:31 <jamesstanley> Oh, I see. Never mind.
13:43:29 <oklopol> what did you see?
13:43:44 <jamesstanley> It is impossible to enter such a construction.
13:43:58 <jamesstanley> The rotations would prevent execution from getting to the right place to start the loop.
13:48:09 <jamesstanley> I can see that I'm going to waste a lot of time trying to come up with a shape that will cause an infinite loop because of IP rotators.
13:48:13 -!- Corun has joined.
14:12:01 <oklopol> right they're relative
14:14:48 -!- pikhq has joined.
14:16:03 -!- Corun has quit ("This computer has gone to sleep").
14:34:32 -!- ais523 has joined.
14:37:25 -!- Corun has joined.
14:38:08 * pikhq <3 Def-BF
14:39:14 <Slereah_> "Silly deontologist, cocoa crispies are for consequentialists!"
14:39:20 <Slereah_> "I hold you morally responsible!"
14:57:13 -!- RedDak has joined.
15:00:42 <cctoide> "This means, if Azeroth really is a spherical planetoid with a diameter of 12 kms, that the planet must have an average density of roughly 5850 grammes per cubic centimetre. That makes its average density more than 500 times greater than lead. The extreme density of Azeroth would explain why it is impossible to pick up many objects from the ground, including ones that you have just dropped."
15:03:16 -!- olsner has quit.
15:15:06 -!- Slereah_ has quit ("kthxbai").
15:15:23 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
15:16:36 -!- Slereah_ has joined.
15:17:55 -!- zolletta has joined.
15:18:37 -!- zolletta has left (?).
15:30:24 <ais523> cctoide: how did you determine its mass?
15:31:53 <cctoide> it's from here: http://www.spaaace.com/cope/?p=111
15:45:30 -!- olsner has joined.
15:48:19 -!- Corun has quit ("This computer has gone to sleep").
15:49:16 -!- Corun has joined.
15:49:30 -!- jix has quit (Nick collision from services.).
15:49:38 -!- jix has joined.
15:55:02 <AnMaster> ais523, hi there
15:55:07 <ais523> hi AnMaster
15:55:13 <AnMaster> ais523, how goes ffungi?
15:55:14 <ais523> I got COME FROM INTERCAL to Befunge working
15:55:20 <AnMaster> nice
15:55:26 <ais523> and I've written much of the rest of the code but not tested it
15:55:34 <AnMaster> ais523, oh in other news: envbot 0.1-beta1 was released today
15:55:35 <ais523> all I need to do now is handle line labels in the Befunge
15:55:46 <AnMaster> http://envbot.org/trac/wiki
15:56:20 <AnMaster> ais523, oh befunge has goto using a fingerprint
15:56:24 * AnMaster checks what one it was
15:56:46 <AnMaster> SUBR
15:56:47 <AnMaster> :)
15:58:13 <AnMaster> ais523, will it be possible to come from befunge to befunge?
15:58:15 <AnMaster> I guess not
15:58:17 <ais523> yes
15:58:19 <AnMaster> oh?
15:58:27 <ais523> it's possible to do all the combinations
15:58:32 <ais523> even COME FROM C to Befunge if you like
15:58:36 <AnMaster> you mean that some place in funge space will act as a teleporter to another place?
15:58:39 <AnMaster> a wormhole?
15:58:40 <AnMaster> :D
15:58:48 <ais523> well, you can put in a line label like M5L
15:58:52 <ais523> and a COME FROM like M5C
15:58:59 <AnMaster> interesting
15:59:00 <ais523> then if the M5L is evaluated, it teleports to the M5C
15:59:13 <AnMaster> ais523, what is there are 2 places in funge space with same line label?
15:59:15 <ais523> or errors if another COME FROM aims there
15:59:31 <ais523> AnMaster: then it's unspecified which one is NEXTed to, and either can be COME FROM
15:59:40 <ais523> the same behaviour as if you have two of the same line label in C
15:59:46 <ais523> (duplicate labels are illegal in INTERCAL)
15:59:56 <AnMaster> well that would cause an error if they are in same function right?
16:00:13 <AnMaster> like:
16:00:14 <ais523> no
16:00:17 <AnMaster> foo:
16:00:20 <AnMaster> code;
16:00:23 <AnMaster> foo:
16:00:24 <AnMaster> other code;
16:00:27 <ais523> oh, yes if you were using C labels
16:00:33 <ais523> I mean if you wrote ick_linelabel(5); for instance
16:00:33 <AnMaster> ah you mean intercal ones
16:00:37 <ais523> you can do that twice in the same function
16:00:43 <AnMaster> ais523, well what will c-intercal do on that
16:00:59 <ais523> COME FROMs target both of them, NEXTs switch to an unspecified one
16:01:10 <AnMaster> and what one will happen in practise?
16:01:11 <ais523> (that is, the compiler can choose either for any or no reason, but must choose exactly one)
16:01:13 -!- Corun has quit ("This computer has gone to sleep").
16:01:18 <ais523> AnMaster: I think it switches to the first one
16:01:21 <AnMaster> ah
16:01:29 <ais523> with a reasonably sensible definition of 'first'
16:01:47 -!- Corun has joined.
16:02:00 <AnMaster> ais523, one intersting thing with your FFIs are that they are not really FFIs. They do far more
16:02:05 <AnMaster> a FFI would just do function calls
16:02:07 <ais523> yes, they do, really
16:02:19 <ais523> they merge all the control structures of INTERCAL into the target language
16:02:29 <ais523> except ABSTAIN/REINSTATE, but that would be even more feral than COME FROM
16:02:31 <AnMaster> ais523, idea: inline C in intercal and vice versa
16:02:33 <AnMaster> XD
16:02:49 <ais523> AnMaster: ugh, both would be pretty difficult
16:02:52 <AnMaster> hah
16:02:55 <AnMaster> yeah guess so
16:03:08 <ais523> actually, inline C in INTERCAL would be pretty easy with C-INTERCAL
16:03:12 <ais523> I could just copy it verbatim to the output
16:03:22 <ais523> what that actually did, though, would require a good knowlegde of the compiler's internals
16:03:28 <AnMaster> hah
16:03:56 <AnMaster> well the good thing is if you had that working and you used gcc you could then do inline asm inside that!
16:03:56 <AnMaster> :D
16:04:24 <AnMaster> anyway it is a bad idea
16:04:28 <olsner> or inline c in inline intercal in inline c in inline intercal in inline c in intercal etc?
16:04:38 <AnMaster> ugh
16:04:44 <ais523> olsner: don't start on that, it would require writing a recursive compiler
16:05:40 <AnMaster> ais523, does svg support background color?
16:05:47 <AnMaster> colour*
16:05:48 <ais523> AnMaster: I think so
16:05:50 <ais523> but I don't know
16:05:50 <olsner> extra evil points for requiring escapes for the inline code
16:06:01 <ais523> olsner: INTERCAL has no escape characters
16:06:03 <ais523> because it has no strings
16:06:07 -!- Corun has quit (Client Quit).
16:06:08 <AnMaster> haha
16:06:16 <ais523> also, no particularly easy way to represent strings either
16:06:24 <olsner> ais523: I'm not specifically talking about strings..
16:06:25 <ais523> string handling's a pain in INTERCAL
16:06:29 <AnMaster> ais523, yet it can be done as it is turing complete I guess
16:06:34 <ais523> AnMaster: yes, of course
16:06:37 <ais523> it's just annoying
16:06:57 <AnMaster> ais523, what about generating intercal code from some readable language?
16:06:58 <olsner> just code in general - like have the end-of-inline-c character/syntax conflict with normal C syntax
16:07:11 <ais523> AnMaster: I've been thinking about that
16:07:22 <AnMaster> ais523, object orientated intercal maybe?
16:07:28 <ais523> I think a C to INTERCAL compiler would be easier than compiling C into most other langs
16:07:34 <AnMaster> oh?
16:07:34 <ais523> and CLC-INTERCAL is optionally object-oriented
16:07:36 <ais523> it has classes
16:07:38 <ais523> and lectures
16:07:39 <AnMaster> oh my!
16:07:42 <AnMaster> lectures?
16:07:43 <AnMaster> wtf
16:07:44 <olsner> btw, do we still not have any programming language with time travel? if so, I'm building it
16:07:44 <AnMaster> :P
16:08:02 <ais523> olsner: TwoDucks (uncomputable), Feather (not properly specced and unimplemented)
16:08:05 <AnMaster> olsner, well yes, TRDS in befunge
16:08:07 <AnMaster> a fingerprint
16:08:15 <AnMaster> cfunge won't implement TRDS
16:08:22 <AnMaster> ccbi does
16:08:52 <AnMaster> ccbi is a pain to compile, so just get binary downloads
16:08:59 <AnMaster> bbl food
16:09:00 <ais523> AnMaster: I compiled it
16:09:30 <olsner> AnMaster: TRDS? google comes up almost empty-handed
16:09:38 <ais523> olsner: see the CCBI docs
16:12:21 <ais523> Deewiant: [[FBBI’s help text describes a flag -fast with the words “more speed, at the cost of locking up in infinite loops”. Interestingly, all it does is that it prevents the output of the string " \b" whenever the IP moves. I wonder: how exactly does outputting a character and then backspacing over it prevent infinite loops?]]
16:12:45 <ais523> it's because in DOS, Control-C doesn't work until the next I/O operation by the running program
16:12:59 <ais523> so it makes it possible to break an infinite loop with Control-C if you do useless IO
16:13:47 <olsner> hmm, I found ccbi, but not the docs
16:14:37 <ais523> I can't find its docs either
16:14:41 <ais523> I found the source for TRDS, though
16:15:44 <olsner> oh?
16:15:49 <olsner> where? :D
16:15:56 <ais523> inside the CCBI source package
16:16:12 <ais523> there's a lengthy comment explaining how Deewiant managed to get bits of it working
16:17:55 <Deewiant> there are two, actually, IIRC :-)
16:18:10 <ais523> Deewiant: do you know where the TRDS specs are?
16:18:24 <olsner> ah, fingerprints/rcfunge98/trds.d seems to contain the meat of the time-travel extension
16:18:36 <ais523> olsner: yes, that's what I found
16:18:45 * olsner should learn befunge
16:18:47 <Deewiant> ais523: in the readme of RC/funce-98
16:18:49 <Deewiant> er
16:18:52 <Deewiant> funge
16:18:53 -!- tusho has joined.
16:18:55 <ais523> hi tusho
16:18:59 <AnMaster> <ais523> it's because in DOS, Control-C doesn't work until the next I/O operation by the running program
16:18:59 <AnMaster> <ais523> so it makes it possible to break an infinite loop with Control-C if you do useless IO
16:19:00 <AnMaster> I see
16:19:14 <AnMaster> very interesting
16:19:14 <tusho> hi ais523
16:19:16 <tusho> i won
16:19:18 <ais523> no, I did
16:19:20 <AnMaster> tusho, no you didn't
16:19:22 <tusho> :D i love winning
16:19:32 <tusho> i hit enter first, probably
16:19:39 <tusho> as i said, networking is irrelevant
16:19:41 <ais523> AnMaster: another weird DOS problem is with NTVDM (Windows emulation of DOS)
16:19:46 <tusho> or in this case, my irc client being a retard
16:19:55 <ais523> where it slows down to a crawl after a while if you don't give a program any input
16:20:01 <tusho> ais523: that's odd
16:20:06 <ais523> you can see individual characters being printed on the screen one at a time
16:20:14 <AnMaster> 08:18:53 --- join: tusho (n=tusho@91.105.109.15) joined #esoteric
16:20:14 <AnMaster> 08:18:55 <ais523> hi tusho
16:20:18 <Deewiant> ais523: http://web.archive.org/web/20020816190021/http://homer.span.ch/~spaw1088/funge.html for instance
16:20:19 <AnMaster> 08:18:59 <AnMaster> <ais523> it's because in DOS, Control-C doesn't work until the next I/O operation by the running program
16:20:19 <AnMaster> 08:18:59 <AnMaster> <ais523> so it makes it possible to break an infinite loop with Control-C if you do useless IO
16:20:19 <AnMaster> 08:19:00 <AnMaster> I see
16:20:19 <AnMaster> 08:19:14 <AnMaster> very interesting
16:20:20 <ais523> pressing control, though, or any other modifier key, puts it back to full speed again
16:20:21 <AnMaster> 08:19:14 <tusho> hi ais523
16:20:23 <AnMaster> http://tunes.org/~nef/logs/esoteric/08.07.03
16:20:29 <tusho> AnMaster: do you have to do that every day? I think I've made the game pretty clear
16:20:34 <ais523> [16:18] <ais523> hi tusho [16:19] <tusho> hi ais523
16:20:38 <tusho> _network_ _and_ _client_ _lag_ _are_ _irrelevant_
16:20:40 <tusho> it's about reflexes
16:20:44 <ais523> tusho: well, I'm playing to different rules than you
16:20:47 <Deewiant> ais523: the other long TRDS comment is in the main function or thereabouts
16:21:00 <AnMaster> Deewiant, there is one in ip too
16:21:01 <tusho> ais523: in that case, I'll DDoS freenode before connecting
16:21:02 <AnMaster> iirc
16:21:16 <Deewiant> quite possible
16:21:25 <Deewiant> TRDS is pervasive, you'll find bits of it everywhere :-P
16:21:27 <ais523> tusho: well, do your logs say when you sent the message?
16:21:27 <tusho> hah, AnMaster is doing TRDS
16:21:32 <tusho> ais523: yep
16:21:33 <AnMaster> tusho, no I'm not
16:21:35 <ais523> tusho: no he isn't
16:21:39 <AnMaster> tusho, I'm talking about it
16:21:39 <tusho> oh, okay
16:22:23 <tusho> ais523: one sec, finding the logs
16:22:32 <AnMaster> ais523, why is that slow down?
16:22:38 <ais523> AnMaster: no idea
16:22:43 <ais523> probably the Windows scheduler being stupid
16:22:59 <AnMaster> ais523, does it only affect ntvdm?
16:23:06 <ais523> AnMaster: as far as I know
16:23:12 <tusho> uh, what's the date today ais523
16:23:15 <tusho> :-|
16:23:22 <Deewiant> 2008-07-03 18:23:12 ( tusho) uh, what's the date today ais523
16:23:27 <AnMaster> tor jul 3 17:23:27 CEST 2008
16:23:28 <ais523> tusho: thurs July 3 108
16:23:35 <tusho> ais523: LOL
16:23:40 <ais523> that's in Unix years, of course
16:23:45 <AnMaster> ais523, hehe :)
16:23:50 <tusho> 03-07. kay
16:23:52 <Deewiant> unix years? wouldn't that be 38
16:24:00 <ais523> Deewiant: well, C measures from 1900
16:24:08 <ais523> and so does POSIX, I think
16:24:11 <AnMaster> yes
16:24:14 <ais523> even though 1970 is the epoch when counting in seconds
16:24:21 <tusho> ok wtf
16:24:25 <tusho> my client isn't logging right now
16:24:28 <tusho> it's logging to the july 2 file
16:24:37 <tusho> aha
16:24:38 <tusho> got it
16:24:48 <AnMaster> timezones?
16:25:07 <ais523> AnMaster: tusho is, I suspect, in GMT+1 right now
16:25:12 <tusho> as is ais523 , yes
16:25:32 <AnMaster> ah
16:25:44 <AnMaster> ais523, how does UTC and GMT differ?
16:25:51 <tusho> GMT=UTC
16:25:53 <tusho> GMT+1=BST
16:25:54 <ais523> AnMaster: the handling of leap seconds, I think
16:25:56 <tusho> ah yes
16:25:57 <ais523> otherwise they're identical
16:25:57 <AnMaster> aha
16:26:00 <tusho> but for all practical purposes
16:26:02 <ais523> I meant UTC, anyway
16:26:33 <tusho> ais523: <envelope><sender self="yes" hostmask="tusho@91.105.109.15">tusho</sender><message id="UREPLEDBTT1" received="2008-07-03 16:20:02 +0100">hi <span class="member">ais523</span></message></envelope>
16:26:38 <tusho> 16:20:02
16:26:42 <tusho> when did you send yours?
16:27:07 <ais523> tusho: that can't be right, your message arrived for me a little after 16:19
16:27:16 <AnMaster> tusho, sync your clock
16:27:18 <tusho> ais523: yes, our clocks are different
16:27:20 <ais523> and I sent mine in the last few seconds of 16:18
16:27:22 <tusho> AnMaster: my clock is automatically sync'd
16:27:24 <tusho> to nt
16:27:24 <tusho> p
16:27:27 <ais523> tusho: so's mine
16:27:27 <tusho> it's ais523's that's wrong
16:27:29 <AnMaster> 17:19:14 <tusho> hi ais523
16:27:37 <tusho> right now
16:27:39 <AnMaster> and before
16:27:39 <AnMaster> 17:18:55 <ais523> hi tusho
16:27:41 <tusho> it is 16:28
16:27:45 <AnMaster> tor jul 3 15:27:45 UTC 2008
16:27:50 <AnMaster> that is correct time
16:27:54 <AnMaster> set using nytp
16:27:56 <AnMaster> ntp*
16:28:06 <tusho> ais523: your clock is wrong, I believe
16:28:20 <ais523> tusho: I just checked, it's NTP'd
16:28:31 <tusho> ais523: so is mine, to time.euro.apple.com
16:28:37 <AnMaster> tusho, that could be it
16:28:47 <tusho> I am going to write the time as I see it when I start typing the next line:
16:28:50 <tusho> 16:28:47
16:28:56 <AnMaster> I use pool.ntp.org which is geodns iirc so it points to Swedish time servers
16:29:00 <olsner> darn it, TRDS has almost entirely satisfied my thirt for implementing time travel
16:29:16 <tusho> ais523: > Also, the HTML version of the Notary's report omits the AAA.
16:29:16 <tusho> Really? I'll have to look into how that happened.
16:29:17 <ais523> mine's synced to JANET
16:29:18 <tusho> i think your input has a bug
16:29:30 <AnMaster> ais523, what about pool.ntp.org?
16:29:33 <olsner> enough to make me not want to spend the time, but not enough to not bother me anymore
16:29:55 <AnMaster> olsner, what time? you won't spend it, you will gain it!
16:30:08 <AnMaster> due to time paradoxes
16:30:09 <AnMaster> :P
16:30:30 <AnMaster> ais523, what is janet's ntp server?
16:30:32 <ais523> AnMaster: I've added that one too
16:30:42 <ais523> just because you suggested it
16:30:43 <AnMaster> ais523, pool.ntp.org is good
16:30:44 <AnMaster> :)
16:30:53 <AnMaster> tell me the hostname for JANET?
16:30:58 <ais523> ja.net
16:31:09 <AnMaster> 3 Jul 17:31:05 ntpdate[13404]: can't find host ja.net
16:31:09 <AnMaster> ?
16:31:19 <ais523> ntp2.ja.net
16:31:21 <ais523> is the NTP server
16:31:38 <AnMaster> 3 Jul 17:31:32 ntpdate[13412]: adjust time server 193.62.22.98 offset 0.002959 sec
16:31:40 <AnMaster> hm
16:31:53 <AnMaster> just checked using -q
16:32:01 <AnMaster> ais523, try:
16:32:03 <AnMaster> ntpdate -q pool.ntp.org
16:32:11 <tusho> AnMaster: I don't think janet want you using their servers...
16:32:24 <AnMaster> tusho, I just checked their time server to see if it was off or not
16:32:25 <AnMaster> ...
16:32:32 <ais523> 3 Jul 16:32:17 ntpdate[12689]: adjust time server 130.226.232.145 offset 0.013661 sec
16:32:35 <tusho> well, apple's is highly likely to be correct :-)
16:32:41 <tusho> them being a big corp and it being default-sync'd for all macs
16:32:48 <AnMaster> 3 Jul 17:29:05 ntpdate[13376]: adjust time server 17.72.255.11 offset 0.002143 sec
16:32:50 <AnMaster> is the apple one
16:33:07 <AnMaster> and my clock is synced to pool.ntp.org
16:33:21 <tusho> anyway, I'm fairly certain as for hitting-enter-time I won as I did it immediately after it joined
16:33:27 <tusho> vs typing hi t<tab>
16:33:33 <tusho> but, network-wise
16:33:36 <tusho> ais523 won and always will
16:33:45 <AnMaster> tusho, fix your client maybe
16:34:27 <tusho> AnMaster: i don't care that much
16:34:38 <tusho> I guess you always start hacking on code that doesn't behave exactly as you want, too?
16:34:54 <AnMaster> tusho, well I often do
16:34:56 <ais523> tusho: maybe not always, but I did in the case of Nibbles
16:35:02 <ais523> and sent off the patches to Gnome
16:35:03 <AnMaster> I have fixed some issues in my irc client
16:35:04 <AnMaster> erc
16:35:07 <ais523> so this sort of thing is not unknown
16:35:12 <tusho> ais523: of course, but 'So fix it!' does not really work for software.
16:35:24 <AnMaster> and same I sent patches upstream to gentoo
16:35:41 <AnMaster> for valgrind errors in the q tool suite
16:35:59 <tusho> AnMaster: so YOU removed that MD_update call as an attempt to sabotage debian!
16:36:03 <AnMaster> no
16:36:04 <AnMaster> I didn't
16:36:07 <tusho> :)
16:36:09 <AnMaster> tusho, I fixed it the right way
16:36:12 <AnMaster> when I fixed it
16:36:59 <AnMaster> which was to check return value of readlink()
16:37:09 <AnMaster> as it doesn't null-terminate the string
16:37:30 <ais523> AnMaster: s/string/array of characters/
16:37:41 <ais523> in C, it isn't a string if it isn't null-terminated
16:38:14 <AnMaster> ais523, well you could implement your own string
16:38:20 <AnMaster> struct safestr {
16:38:24 <AnMaster> size_t len;
16:38:29 <AnMaster> char data[]
16:38:30 <AnMaster> };
16:38:41 <AnMaster> that would be C99, but similar can be done otherwise too
16:38:45 <ais523> AnMaster: yes, but it wouldn't be a C string
16:38:49 <AnMaster> agreed
16:39:05 <ais523> and yes, that works in practice but not in theory in C89 as long as you put something inside the square brackets
16:39:25 <AnMaster> ais523, you could put it as a pointer
16:39:34 <AnMaster> more or less same functionality
16:39:43 <AnMaster> not exactly of course
16:40:40 <AnMaster> or could probably be done with some macros
16:41:53 <AnMaster> (char*)(mysafestrpointer + sizeof(size_t))
16:41:54 <AnMaster> XD
16:42:16 <AnMaster> malloc would be painful though
16:47:13 <AnMaster> ais523, can you paste current ffungi stuff somewhere?
16:47:19 <AnMaster> I'm eager to see your fingerprint
16:47:24 <ais523> AnMaster: doing something else right now, but I will soon
16:47:30 <AnMaster> ok
16:53:49 <AnMaster> ais523, do you understand http://en.wikipedia.org/wiki/Image:INTERCAL_Circuitous_Diagram.svg
16:53:53 <AnMaster> I certainly don't
16:54:00 <tusho> I do
16:54:03 <AnMaster> oh?
16:54:04 <tusho> it's very simple
16:54:09 <AnMaster> tusho, lier
16:54:10 <ais523> I think it's a joke
16:54:12 <tusho> it re-calculates the B/7 at each step, though
16:54:23 <ais523> note that the bit at the end is defined so vaguely it could mean anything
16:54:26 <ais523> also, there's an error in it
16:54:27 <tusho> and it could get a Mornington Crescent in 3
16:54:33 <ais523> one of the boxes has the wrong number of inputs
16:54:40 <AnMaster> tusho, hey that is another game
16:54:57 <AnMaster> ais523, oh what one?
16:55:15 <ais523> AnMaster: I can't remember
16:55:19 <ais523> it wasn't me who found the error
16:55:27 <ais523> although it sparked a bit of discussion on Usenet a while back IIRC
16:55:37 <AnMaster> ais523, anyway what does it mean exactly?
16:55:44 <AnMaster> what is it trying to describe
16:55:50 <ais523> AnMaster: the select operator
16:55:54 <ais523> however, I think it's a joke
16:56:03 <AnMaster> ais523, can you tell me what the select operator does then
16:56:03 <ais523> because a circuit diagram for select wouldn't look like that
16:56:05 <AnMaster> in the normal way
16:56:18 <tusho> ais523: also, it's captioned Bus Line 8 and has place names along the side...
16:56:33 <ais523> AnMaster: http://rafb.net/p/2BWylE78.html <--- IFFI so far
16:56:53 <ais523> AnMaster: OK, select's a binary operator (i.e. it has two operands)
16:56:59 <AnMaster> right
16:57:03 <ais523> and it's bitwise, in that it operates on the binary representations of its operands
16:57:14 <AnMaster> ok nothing odd so far
16:57:41 <ais523> suppose you write both operands in binary; then the least significant bit of the output is the bit of the left operand corresponding to the least significant set bit of the right operand
16:57:49 <ais523> same for the second-least, third-least, and so on
16:57:55 <ais523> that's a bit confusing, so an example will probably help
16:58:10 <AnMaster> oh you mean like:
16:58:14 <AnMaster> 00101
16:58:20 <AnMaster> 00011
16:58:22 <AnMaster> results in
16:58:27 <AnMaster> 01000
16:58:29 <AnMaster> or ?
16:58:32 <ais523> no, 00001
16:58:40 <ais523> basically, for 00101 ~ 00011
16:58:44 <AnMaster> oh it is like bitwise and?
16:58:56 <ais523> yes, imagine a right-justified bitwise and
16:59:07 <AnMaster> right justified? ah
16:59:10 <ais523> so 00101 ~ 00110 is 00010
16:59:14 <AnMaster> well mine was left justified
16:59:17 <AnMaster> right
16:59:18 <AnMaster> I see
16:59:22 <AnMaster> oh btw: char * ick_iffi_befungeString <-- one issue. try to compile that with -Wwrite-strings
16:59:29 <AnMaster> it should be const char *
16:59:37 <ais523> AnMaster: ah, ok
16:59:40 <AnMaster> because literal strings in C are really const char *
16:59:48 <ais523> it shouldn't be a problem because I only ever use it as const char *
16:59:53 <AnMaster> however char * is supported for compatiblity
17:00:01 <AnMaster> ais523, well it makes me feel ill :P
17:00:03 <ais523> AnMaster: yes, and I declare strings as char * for compatibility
17:00:05 <ais523> but OK
17:00:17 <AnMaster> hah
17:00:45 <tusho> AnMaster: could you try and explain your philosophy to me? C is the most ugly, hackish, awkward, low-level language that twiddles bits ever, and yet you try and encapsulate it and have 'clean', well-guarded code
17:00:47 <tusho> it makes no sense
17:00:47 <AnMaster> ais523, there is no need to declare it like that for compatibility really (unless your function prototypes are wrong) however compilers need to support it for compatiblity
17:00:58 <AnMaster> tusho, that is your opinion
17:01:06 <ais523> AnMaster: lots of library functions take char * arguments
17:01:12 <tusho> AnMaster: no, i'm pretty sure C being a low-level, hacky bit-twiddling language is fact
17:01:14 <ais523> and so give warnings if you try to pass const char * to them
17:01:24 <AnMaster> ais523, in POSIX API?
17:01:24 <ais523> even though they don't modify their argument
17:01:34 <ais523> AnMaster: in POSIX/C99 they fixed it, I think
17:01:37 <ais523> I'm not sure about C89, though
17:01:40 <AnMaster> hm
17:01:50 <ais523> it's definitely fixed for C++
17:01:54 <ais523> but C has a lot of inertia
17:02:18 <AnMaster> static void ick_InterpreterRun()
17:02:21 <AnMaster> that got another issue
17:02:23 <AnMaster> static void ick_InterpreterRun(void)
17:02:29 <ais523> oh, yes, of course
17:02:30 <AnMaster> would be the prototype
17:02:37 <ais523> sorry
17:02:42 <ais523> not that it makes any difference in this case
17:02:48 <AnMaster> indeed
17:03:01 <AnMaster> so you write K&R C still?
17:03:01 <AnMaster> ;P
17:03:04 <Deewiant> does it actually matter for anything in practice
17:03:10 <AnMaster> Deewiant, it may
17:03:15 <AnMaster> Deewiant, if a header contains:
17:03:19 <AnMaster> int foo();
17:03:30 <AnMaster> then a compiler will accept passing anything to it
17:03:35 <Deewiant> I sometimes write K&R: it's much nicer to write void foo(x, y, z, w) const double x, y, z, w; than writing const double 4 times
17:03:36 <AnMaster> without giving a warning or error
17:03:38 <ais523> Deewiant: if you put void in the parens, a compiler will error if you try to pass the function arguments, if you leave it out, the compiler has to accept it but produces UB instead
17:03:42 <Deewiant> AnMaster: yes, I realize that
17:03:52 <Deewiant> my question was does it matter in practice
17:03:59 <ais523> there's one point in C-INTERCAL where I deliberately leave the parens empty
17:04:01 <AnMaster> Deewiant, as for double, well you got the horrible "expanding" type issue then
17:04:03 <Deewiant> it protects from an error of accidentally passing an argument
17:04:07 <AnMaster> you can't pass a float that way
17:04:08 <ais523> after having been told to do so by comp.lang.c
17:04:17 <Deewiant> but does it actually generate different code or anything like that
17:04:18 <ais523> originally I had stuff there
17:04:24 <ais523> but it required ugly casts
17:04:33 <AnMaster> hm well I know one such case too
17:04:37 <AnMaster> in crossfire server code
17:04:39 <ais523> (Situation: I needed to write a function which was capable of taking a pointer to itself as an argument)
17:04:49 <Deewiant> AnMaster: huh? the point was that K&R is sometimes more succint
17:04:52 <AnMaster> the best would be to use a union of different function pointers
17:05:07 <AnMaster> Deewiant, maybe, but I prefer ANSI C
17:05:20 <AnMaster> <ais523> (Situation: I needed to write a function which was capable of taking a pointer to itself as an argument) <-- ok, and?
17:05:21 <ais523> AnMaster: K&R is legal in ANSI C
17:05:21 <tusho> Ruby has an awful lot of K&R C code
17:05:24 <ais523> at least in C89
17:05:29 <tusho> there are a few files entirely or almost entirely using K&R C
17:05:29 <ais523> AnMaster: try to figure out what type the function is
17:05:30 <AnMaster> ais523, yes it is
17:05:34 <AnMaster> but I don't like it
17:05:41 <Deewiant> ais523: GCC at least accepts it in C99 mode as well
17:05:45 <AnMaster> ais523, hm
17:05:51 <Deewiant> haven't checked the standard to see if that's correct but I suspect it is
17:05:51 <AnMaster> Deewiant, it is legal in C99 too yes
17:05:56 <AnMaster> afaik
17:06:11 <AnMaster> however I find I prefer compiler to be able to check arguments
17:06:52 <ais523> anyway, the simple way to do that is to have an unprototyped function pointer, making the function void(*)(void(*)())
17:07:04 <AnMaster> more verified at compile time = less bugs at runtime
17:07:14 <ais523> you can call prototyped functions through them, apparently, as long as you aren't using types that autopromote
17:07:34 <AnMaster> ais523, idea:
17:07:46 <AnMaster> union mydifferentvariants {
17:07:54 <AnMaster> void(*)(void(*)(int foo))
17:07:58 <AnMaster> void(*)(void(*)(double bar))
17:07:59 <AnMaster> }
17:08:03 <AnMaster> make the code valid of course
17:08:07 <ais523> AnMaster: I only had one sort of function pointer
17:08:12 <AnMaster> some ; and a lot more like names missing there
17:08:19 <AnMaster> ais523, oh?
17:08:24 <ais523> but it's impossible to write
17:08:24 <ais523> void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void
17:08:24 <ais523> (*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(
17:08:27 <ais523> void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(void(*)(
17:08:29 <ais523> in C
17:08:33 <ais523> going on forever
17:08:36 <tusho> ais523: awesome prototype
17:08:37 <AnMaster> oh
17:08:38 <AnMaster> haha
17:08:38 <ais523> so the infinite regress has to stop somewhere
17:08:45 <tusho> ais523: how about
17:08:51 <AnMaster> ais523, yes then it makes sense to have it empty
17:08:55 <tusho> taking the func ptr as (void *) ... wait, no, that's not valid
17:08:56 <tusho> oh well
17:09:13 <AnMaster> ais523, that is one rare case
17:09:13 <tusho> (can't cast data ptr to func ptr)
17:09:27 <AnMaster> tusho, well you have to, see dlsym
17:09:30 <ais523> tusho: you can use void(*)() as a func ptr equivalent of void*
17:09:40 <ais523> because function pointers can be freely casted back and forth
17:09:42 <ais523> it needs casts though
17:09:43 <tusho> AnMaster: dlsym requires you to break the standard
17:09:51 <AnMaster> tusho, yes I know :/
17:10:02 <tusho> ais523: yes
17:10:08 <ais523> besides, I've personally worked on systems where functions and data were in different memory
17:10:17 <AnMaster> ais523, oh?
17:10:17 <ais523> and function pointers and data pointers were different lengths
17:10:26 <ais523> thus making intercasting kind-of difficult
17:10:28 <AnMaster> ais523, they couldn't use shared libraries then?
17:10:42 <ais523> AnMaster: well, seeing as they only had a few KB of RAM, the situation never came up
17:10:46 <AnMaster> ah
17:13:11 <AnMaster> ais523, why is ick_iffi_resuming an int?
17:13:16 <AnMaster> shouldn't it be a bool?
17:13:31 <ais523> I'm writing C89 there, more or less
17:13:31 <AnMaster> you are C99 anyway as you use uint32_t
17:13:35 <ais523> so there isn't a bool type
17:13:39 <ais523> and I know I use uint32_t
17:13:54 <ais523> but that's actually typedeffed in ick_ec.h if it doesn't exist already
17:14:11 <ais523> so it works for me even in C89
17:14:33 <ais523> besides, it's possible that some day I may want the rest of C-INTERCAL to look at those flags for some reason
17:14:43 <AnMaster> %url:http://example.com <-- well I hope you fix that at some point, in the funge-108 specs, some form of URIs will be used to load fingerprints
17:14:53 <ais523> AnMaster: I will fix that eventually
17:15:00 <ais523> but I don't have an URL for it yet
17:15:03 <AnMaster> ah
17:15:14 <AnMaster> anyway it is likely to change to java style
17:15:26 <AnMaster> because some issues I found with current
17:15:38 <tusho> java style
17:15:39 <AnMaster> ais523, I have to see how to solve it
17:15:39 <tusho> eurgh
17:15:46 <AnMaster> tusho, two fingerprints on one page
17:15:53 <AnMaster> that is why a straight url won't work
17:15:55 <tusho> AnMaster: that's not what a URI is
17:16:02 <tusho> a URI doesn't have to resolve
17:16:06 <AnMaster> tusho, true, uri is wider
17:16:08 <tusho> a URI is just a universal locator
17:16:10 <tusho> AnMaster: and
17:16:16 <tusho> http://mypage.com/befunge#myext1
17:16:17 <tusho> http://mypage.com/befunge#myext2
17:16:19 <AnMaster> yes
17:16:24 <AnMaster> hm maybe
17:16:26 <tusho> so, keep them as just regular URIs
17:16:42 <AnMaster> tusho, there were no anchors on that page
17:16:56 <ais523> tusho: can you make a place on eso-std.org to act as somewhere to store databases required by esolangs
17:16:57 <AnMaster> also it is gone, should I do way back machine link or what?!
17:17:02 <ais523> such as for Funge-108 and for PSOX?
17:17:09 <tusho> ais523: funge-108 will be distributed...
17:17:11 <tusho> they'll just be uris...
17:17:15 <AnMaster> yes
17:17:16 <ais523> tusho: yes, I know
17:17:17 <tusho> doesn't need a DB
17:17:24 <AnMaster> tusho is right
17:17:25 <ais523> but somewhere where people can create pages to describe fingerprints
17:17:27 <ais523> so the URIs exist
17:17:31 <tusho> ais523: uris don't have to _exist_
17:17:39 <AnMaster> ais523, well I assume they will use their own websites
17:17:42 <ais523> tusho: no, but it would be helpful if they did
17:17:45 <tusho> ais523: yes, true
17:17:45 <tusho> ok
17:17:46 <ais523> not everyone has their own website
17:17:46 <tusho> how about
17:17:51 <tusho> http://funge.eso-std.org/author/ext
17:17:52 <tusho> like
17:18:04 <tusho> http://funge.eso-std.org/tusho/replace_cfunge_with_sane_interp
17:18:05 <tusho> ;)
17:18:17 <AnMaster> anyway it could be: org.eso-std.funge.whatever
17:18:27 <AnMaster> or maybe not
17:18:28 <AnMaster> ;P
17:18:28 <tusho> AnMaster: no
17:18:29 <ais523> tusho: anyway, I think it fits ESO's mission to attempt to document all the fingerprints even if they're documented elsewhere
17:18:31 <tusho> that's horrible and pointless
17:18:33 <tusho> and not a real URI :)
17:18:34 <AnMaster> tusho, yes I guess so
17:18:37 <tusho> it omits http://
17:18:40 <AnMaster> true
17:18:42 <tusho> so you can't use ftp:// or gopher://
17:18:43 <tusho> or whatever
17:18:47 <AnMaster> ah true
17:18:52 -!- olsner has quit.
17:18:54 <AnMaster> gopher://inspircd.dyndns.org :D
17:18:57 <tusho> gopher:// would be fucking evil, though
17:18:57 <tusho> :)
17:19:03 <AnMaster> tusho, yes :)
17:19:09 <tusho> AnMaster: nttp://
17:19:11 <tusho> *nntp
17:19:13 <AnMaster> tusho, does eso-std have gopher?
17:19:18 <tusho> no
17:19:21 <AnMaster> why not?
17:19:25 <tusho> why?
17:19:30 <AnMaster> good question
17:19:31 <tusho> we only have 256mb of ram
17:19:32 <tusho> and apache is a hog
17:19:34 <AnMaster> oh
17:19:36 <AnMaster> true
17:19:39 <AnMaster> lighttpd > apache
17:19:47 <tusho> i've told you why we don't use lighttpd, AnMaster
17:19:51 <AnMaster> ais523, one thing
17:19:59 <AnMaster> ais523, why extern int in the source file
17:20:06 <AnMaster> ais523, it should be in a header file IMO, but ok
17:20:16 <AnMaster> oh wait
17:20:17 <AnMaster> sorry
17:20:20 <ais523> AnMaster: which occurence of extern int?
17:20:20 <AnMaster> misread that
17:20:26 <AnMaster> thought you used nested extern
17:20:45 <AnMaster> I read in wrong place
17:21:55 <AnMaster> ais523, for FingerIFFIload() the first load stuff seems odd?
17:22:11 <AnMaster> oh wait I see what you do I think
17:22:12 <ais523> AnMaster: basically loading IFFI for the first time signifies the end of the initialisation
17:22:22 <ais523> reloading it in future has no effect because you aren't in initialisation
17:22:25 <AnMaster> true
17:23:05 <AnMaster> afk food
17:27:35 <tusho> ais523: "CFJ 2028 assigned to <s>root</s> ais523"
17:27:36 <tusho> hah
17:27:39 <tusho> er, move to ##nomic
17:28:10 <AnMaster> ais523, well IFFI looks quite nice
17:28:13 <AnMaster> quite readable even
17:28:22 <ais523> yes, the fingerprint itself is sane
17:28:24 <tusho> AnMaster: it's not iffy enough then
17:28:28 <ais523> glue.c99 is the silly part
17:28:33 <AnMaster> ais523, well I don't fully agree with the brace style but heh
17:28:39 <ais523> after all, I'm even using magic internal identifiers in it
17:28:46 <AnMaster> I do separate for functions and same line for other stuff
17:28:47 <AnMaster> :)
17:28:56 <ais523> AnMaster: oh, I didn't realise, I'll try to fix taht
17:29:03 <ais523> also IFFI.h has the wrong copyright information, but I'll fix that too
17:29:11 <ais523> I forgot to credit me, and the GPL says I have to
17:29:17 <AnMaster> yes you should
17:31:18 <AnMaster> ais523, you should document each extern in the fingerprint header with doxygen to follow the style of cfunge ;P
17:31:36 <ais523> AnMaster: maybe, but half of them don't make sense outside the concept of IFFI
17:31:48 <AnMaster> well true, but I don't understand half of them either
17:31:49 <ais523> as they're all flags to communicate with the main loop
17:31:53 <AnMaster> ick_iffi_sucking?
17:32:24 <AnMaster> ais523, what the heck is ick_iffi_sucking?
17:32:37 <ais523> AnMaster: checking for suckpoints
17:32:43 <AnMaster> and what are they?
17:32:51 <ais523> AnMaster: COME FROMs and NEXT FROMs
17:33:01 <ais523> referred to as suckpoints because they can suck in control from elsewhere in the code
17:33:17 <AnMaster> ah
17:33:36 <AnMaster> ais523, also why mixed spaces and tabs in the main file?
17:33:38 <AnMaster> :(
17:33:55 <AnMaster> the mix doesn't seem sane to me, sure I accept you use your own coding style
17:33:56 <AnMaster> no problem
17:34:01 <AnMaster> but why do you mix them?
17:34:04 <ais523> AnMaster: it's the usual way to indent that most people use, 2 spaces = 1 indent, 1 tab = 4 indents
17:34:14 <ais523> basically lots of spaces at the start of a line are turned into tabs by most editors
17:34:15 <ais523> with tab = 8
17:34:28 <AnMaster> well... mixed is the worst variant IMO
17:34:47 <AnMaster> -*- mode: C; coding: utf-8; tab-width: 2; indent-tabs-mode: t; c-basic-offset: 2 -*-
17:34:54 <AnMaster> ais523, that should work for your style?
17:35:17 <ais523> AnMaster: not really, because I always have tab-width set to 8 so I can read everyone else's files
17:35:26 <tusho> ais523: mixed spaces and tabs make me want to kill people
17:35:29 <ais523> as it upsets you, I might set it to spaces only
17:35:30 <tusho> stupid fucking emacs defaults
17:35:35 <tusho> hmm
17:35:37 <AnMaster> tusho, I agree there
17:35:41 <tusho> ais523: SELL TICKET
17:35:44 <tusho> 5VP
17:35:45 <AnMaster> ais523, well I'm happy with spaces only
17:35:48 <tusho> Action: switch to tabs only
17:35:53 <tusho> (i think that's a sell ticket)
17:35:55 <AnMaster> or tabs only
17:35:59 <AnMaster> issue is mixing them :(
17:36:01 <ais523> tusho: yes, it would be, but wrong channel
17:36:07 <tusho> ais523: no, note the action
17:36:18 <ais523> tusho: it could be either
17:36:21 <ais523> depending on who filed the ticket
17:36:27 <tusho> ais523: I will pay you 5VP to switch to tabs only
17:36:32 <tusho> :-P
17:36:36 <ais523> then it's a Buy ticket with me as target
17:36:47 <AnMaster> ais523, where is the middot? can't find it
17:37:00 <ais523> AnMaster: 0xB7
17:37:06 <ais523> but there isn't one in the code at the moment
17:37:10 <AnMaster> ais523, I mean in your ick_iffi_befungeString
17:37:11 <AnMaster> ah right
17:37:19 <ais523> because that would be handled by a bit of ick I haven't written yet
17:37:33 <ais523> what you see there is after that bit's been done
17:37:36 <ais523> and I did it by hand
17:37:41 <ais523> although I got it wrong and will need to fix that
17:38:02 <AnMaster> ais523, any cfunge questions btw?
17:38:32 <ais523> AnMaster: for a while I was thinking that an easy way to duplicate IPs would have been helpful, but after a while I realised it wouldn't be and in fact if it was there I wouldn't be using it
17:38:33 <AnMaster> ais523, oh also you can remove the line "// TODO: Add code to template functions" from your fingerprint as you have done it
17:38:34 <AnMaster> :P
17:39:02 <AnMaster> ais523, there is an easy way if you compile with concurrency, so you could resuse that code I guess
17:39:10 <ais523> AnMaster: yes, I noticed
17:39:13 <ais523> but I don't need that any more
17:41:02 <AnMaster> your fingerprint isn't safe? interesting, well I guess that is correct as you can't sandbox intercal?
17:41:21 <ais523> AnMaster: INTERCAL's safe atm, but it's possible to link to C via that FFI too
17:41:24 <ais523> and that can't be sandboxed
17:41:28 <AnMaster> ah true
17:41:35 <AnMaster> ais523, well it can technically
17:41:39 <ais523> well, not easily
17:41:58 <ais523> besides CLC-INTERCAL has file I/O so I may end up implementing that at some point
17:42:07 <AnMaster> ais523, LD_PRELOAD trick maybe
17:42:08 <ais523> 0-bit variables and all
17:42:25 <ais523> AnMaster: even then, the C could have inline asm and make syscalls directly
17:42:27 <AnMaster> 0-bit variable!?
17:42:34 <AnMaster> ais523, hm true :/
17:42:35 <ais523> AnMaster: they have no value, but can have metadata
17:42:42 <ais523> variables tend to gather a lot of metadata in CLC-INTERCAL
17:42:52 <AnMaster> I see
17:42:56 <ais523> sort of like a 0-length file can have a filename
17:42:59 <ais523> which holds information
17:43:34 <AnMaster> oh and attributes if the file system supports it
17:43:38 <ais523> yep
17:43:47 -!- cherez1 has joined.
17:44:30 -!- Sgeo has joined.
17:48:13 <ais523> hi Sgeo
17:48:25 <Sgeo> hi ais523
17:48:49 -!- cherez1 has left (?).
17:50:46 -!- timotiis has joined.
17:54:07 -!- cherez1 has joined.
17:57:21 <AnMaster> damn
17:57:23 <AnMaster> "SVG does not support specifying an image background color"
17:57:55 <ais523> presumably you just have to draw a large filled rectangle, then, and put everything on top of it
17:58:44 <AnMaster> hm
17:58:53 <AnMaster> good ideq
17:58:54 <AnMaster> idea*
18:00:55 -!- cherez1 has changed nick to cherez.
18:12:36 -!- Dewi has quit ("leaving").
18:12:52 -!- Dewi has joined.
18:18:35 <RodgerTheGreat> oklopol: ok, I'm back for a bit
18:19:57 <pikhq> RodgerTheGreat: "functions leave a 'return value' by storing a pointer to their result in the memory location the main pointer was at when the function was called."
18:19:59 <pikhq> Hmm.
18:20:07 <pikhq> How would that work with the C calling interface?
18:20:28 <RodgerTheGreat> hm
18:20:40 <RodgerTheGreat> that's one of the parts I haven't thought about much
18:20:41 <pikhq> (either the return value or the pointer to the return value is in eax, IIRC)
18:20:57 <RodgerTheGreat> are return values really all that necessary?
18:21:18 <RodgerTheGreat> so far all the examples we've worked with do great with just pass-by-reference for everything
18:21:31 <pikhq> Ah.
18:21:33 <RodgerTheGreat> hm. although I imagine it would impair using some existing C libs
18:21:41 <pikhq> This is easy.
18:22:22 <pikhq> Just make the Brainfuck calling interface store the return value in eax, and then the calling function does 'mov eax, pointer'.
18:22:50 <RodgerTheGreat> that makes sense
18:23:37 <RodgerTheGreat> do we want a sort of dual nature to functions, so they can return a pointer or a value?
18:24:08 <RodgerTheGreat> the method you described ought to work for either, the coder just has to remember which is which
18:24:32 <RodgerTheGreat> and it might call for having two different kinds of return statements
18:24:56 <pikhq> Doesn't make sense to have two different kinds of return statements.
18:24:59 <AnMaster> RodgerTheGreat, um?
18:25:01 <AnMaster> what are you doing?
18:25:05 <AnMaster> that isn't portable
18:25:08 <pikhq> The coder just needs to know if the value in question is a pointer or a value.
18:25:20 <AnMaster> RodgerTheGreat, that totally breaks amd64 calling convention
18:25:21 <AnMaster> and PPC one
18:25:29 <tusho> AnMaster: it's his own cpu
18:25:30 <tusho> i think
18:25:33 <AnMaster> ah
18:25:35 <pikhq> AnMaster: we're discussing an x86-specific calling convention.
18:25:36 <AnMaster> he said EAX
18:25:37 <ais523> but the PPC doesn't have an eax I don't think
18:25:49 <AnMaster> pikhq, I see
18:25:56 <AnMaster> but the result will be portable I assume?
18:26:00 <pikhq> In fact, trying to make Def-BF's calling convention compatible with the standard C calling convention.
18:26:10 <pikhq> We're compiling to assembly, for crisssake.
18:26:14 <AnMaster> oh you are
18:26:17 <AnMaster> what a pitty
18:26:24 <pikhq> http://www.nonlogic.org/dump/text/1215028173.html
18:26:35 <pikhq> What about that reads 'portable code' to you? :p
18:26:38 <RodgerTheGreat> Def-BF is more utilitarian than most esolangs
18:27:06 <AnMaster> RodgerTheGreat, will it be portable to other platforms than x86 or not?
18:27:12 <RodgerTheGreat> we also have this example of high-level code, which oklopol pointed out some issues with: http://www.nonlogic.org/dump/text/1215053310.html
18:27:19 <RodgerTheGreat> lemme debug that now, actually
18:27:34 <RodgerTheGreat> AnMaster: eventually. x86 is the main target.
18:27:34 <pikhq> Sure, but the actual *code* will probably be only as portable as C code doing the same thing.
18:27:53 <AnMaster> great
18:28:14 <AnMaster> ais523, how goes ffungi?
18:28:23 <ais523> I haven't started work on it yet today
18:28:32 <ais523> but as you've seen, it went quite a way while I wasn't online
18:28:39 <AnMaster> yes indeed
18:28:48 <pikhq> I, personally, plan to use Def-BF to write the holy grail of esolang coding.
18:28:49 <AnMaster> ais523, maybe that was the cause of it getting that far? ;P
18:28:50 <pikhq> Brainfuck OS.
18:29:01 <AnMaster> pikhq, hah
18:29:08 <tusho> Brainfuck OS isn't very unique.
18:29:15 <tusho> BF is a pretty typical low-level lang.
18:29:19 <tusho> Things like Underload are interesting for OS
18:29:20 <tusho> ' though,
18:29:25 <tusho> *', though
18:29:40 <AnMaster> ais523, could you make it possible to write an OS in intercal?
18:29:43 <pikhq> tusho: BF doesn't actually suffice for writing an OS, though.
18:29:49 <ais523> AnMaster: what I have to do next is to figure out the other place I have to use ick_l1_ICK_EC_PP_1
18:29:50 <AnMaster> well I guess it would be using the ec stuff
18:29:52 <tusho> pikhq: So? :P
18:29:57 <ais523> and those magic identifiers are a pain to think about
18:30:02 <pikhq> And I don't think anyone has really done it.
18:30:05 <AnMaster> ais523, use what?
18:30:14 <AnMaster> what is ick_l1_ICK_EC_PP_1?
18:30:17 <ais523> basically it's the internals of the external calls code
18:30:23 <ais523> it gets replaced by a goto label
18:30:25 <pikhq> The closest someone's gotten involves a very low-level Brainfuck interpreter.
18:30:30 <RodgerTheGreat> http://www.nonlogic.org/dump/text/1215106118.html
18:30:34 <ais523> and each occurence of it can get replaced by a different goto label
18:30:39 <RodgerTheGreat> ^ that should fix what oklopol pointed out
18:30:42 <ais523> ick is responsible for pointing them all at the right target
18:30:49 <AnMaster> ais523, you mean you need to code intercal side?
18:30:56 <RodgerTheGreat> and now there aren't any completely useless functions
18:31:05 <ais523> AnMaster: no, the remaining stuff is on the glue.c99 side
18:31:15 <ais523> where I have to use magic identifiers to hook into the NEXT targetting code
18:31:22 <AnMaster> I see
18:31:55 <AnMaster> RodgerTheGreat, is there any implementation?
18:32:06 <RodgerTheGreat> this is what pikhq is working on
18:32:12 <pikhq> No; I plan to write one this weekend.
18:32:22 <AnMaster> hrrm
18:32:22 <pikhq> Should be *ridiculously* simple to compile to assembly.
18:32:23 <RodgerTheGreat> I wrote the original spec, and the two of us are refining it
18:32:23 <RodgerTheGreat> I
18:32:34 <RodgerTheGreat> I'm also helping with the standard libs
18:32:49 <AnMaster> RodgerTheGreat, they are coded in the language itself I assume?
18:32:56 <RodgerTheGreat> yes
18:33:01 <pikhq> Sure, but they don't need to be.
18:33:09 <RodgerTheGreat> Def-BF will be self-hosting, in theory
18:33:25 <pikhq> Def-BF on Linux should, in theory, be able to use libc.
18:33:36 <AnMaster> pikhq, well if you will write an OS in it you need raw access to stuff like interrupts
18:33:42 <AnMaster> and certain other opcodes
18:33:44 <RodgerTheGreat> and we already have some weak capabilities for doing inline assembly
18:33:52 <AnMaster> you will need inline asm as far as I can see
18:33:58 <AnMaster> RodgerTheGreat, nice
18:33:58 <RodgerTheGreat> ^
18:34:05 <pikhq> C doesn't need to be able to do that; it can call external asm functions. ;)
18:34:16 <AnMaster> true
18:34:24 <pikhq> And Def-BF can do likewise.
18:34:30 <RodgerTheGreat> C wrappers are a much cleaner way to do the assembly, but it's still possible without them
18:34:58 <AnMaster> RodgerTheGreat, what about a C -> Def-BF compiler?
18:35:00 <RodgerTheGreat> Def-BF's support is more like "inline machinecode" than inline assembly, really
18:35:16 <RodgerTheGreat> AnMaster: I don't think that'd be terribly easy, but it should be possible
18:35:20 <RodgerTheGreat> some parts would be easy
18:35:27 <pikhq> C -> Def-BF would look something like Gregor's CBF.
18:35:28 <pikhq> ;)
18:35:33 <AnMaster> RodgerTheGreat, then you could compile linux to it?
18:35:38 <AnMaster> and then compile linux to native
18:35:39 <AnMaster> XD
18:35:40 <RodgerTheGreat> theoretically
18:35:56 <AnMaster> linux pretty much depends on gcc though
18:36:28 <RodgerTheGreat> I doubt enough of linux is written in portable ANSI-C to count on being able to convert it
18:36:36 <pikhq> I'd be more likely to write a Def-BF backend for GCC.
18:36:52 <RodgerTheGreat> and it'd probably run like molasses without proper optimization
18:37:24 <tusho> RodgerTheGreat: if jsmips can run at acceptable speed...
18:37:31 * RodgerTheGreat shrugs
18:37:40 <RodgerTheGreat> I never said it wasn't possible, just not easy
18:42:27 -!- ais523 has quit ("(1) DO COME FROM ".2~.2"~#1 WHILE :1 <- "'?.1$.2'~'"':1/.1$.2'~#0"$#65535'"$"'"'&.1$.2'~'#0$#65535'"$#0'~#32767$#1"").
18:43:31 <tusho> RodgerTheGreat: jsmips is totally unoptimised
18:43:32 <tusho> :-P
18:43:55 <RodgerTheGreat> there's a difference between running a shell and running the linux kernel, dude.
18:44:08 <tusho> RodgerTheGreat: Nonsense
18:44:08 <tusho> :-P
18:46:02 <pikhq> And there's a huge difference when the Linux kernel is running a shell. ;)
18:46:04 <AnMaster> Deewiant, there?
18:46:23 <Deewiant> \o
18:46:25 <AnMaster> I got a question: is "real" in D a double or a float?
18:46:33 <Deewiant> it's a long double
18:46:47 <Deewiant> or I guess that's the closest equivalent in C, anyway
18:46:51 <AnMaster> Deewiant, well that is x86 specific iirc?
18:47:04 <Deewiant> it's the biggest natively supported floating point type
18:47:05 <Sgeo> iiuc, Def-BF solves the problem that's been bugging me that motivated me to start PSOX
18:47:18 <Deewiant> largest hardware implemented floating point size (Implementation Note: 80 bits for Intel CPUs)
18:47:48 <RodgerTheGreat> Sgeo: oh?
18:47:51 <AnMaster> Deewiant, for x86_64 it would be a double as x86_64 use SSE instead of the "so called legacy" x87
18:48:19 <Deewiant> AnMaster: surely x86-64 supports x87 as well
18:48:25 <Deewiant> but in any case, I don't really care
18:48:27 <AnMaster> Deewiant, it does, but it is marked as legacy
18:48:29 <AnMaster> :)
18:48:33 <Deewiant> if you do, run GDC on something and see what comes out
18:48:37 <Deewiant> (DMD only generates x86 code)
18:48:41 <Sgeo> The reason I started PSOX is because I noticed that "A BF program can do anything another computer program can do" was incorrect
18:48:48 <AnMaster> Deewiant, anyway that isn't the issue here
18:48:51 <tusho> Sgeo: Stunning observation there.
18:48:52 <pikhq> AnMaster: I'd suspect that on SSE-supporting CPUs, GDC and DMD make real SSE-sized.
18:49:00 <Deewiant> DMD won't.
18:49:07 <AnMaster> Deewiant, can you build ccbi will full debug info?
18:49:21 <AnMaster> no optimizing
18:49:22 <pikhq> Sgeo: With Def-BF implemented, that will be true.
18:49:27 <Deewiant> DMD doesn't generate code for MMX or SSE etc. extensions
18:49:27 <AnMaster> I want to figure out something I don't get
18:49:28 <pikhq> ;)
18:49:33 <Deewiant> what don't you get
18:49:55 <pikhq> Deewiant: Apparently, DMD sucks.
18:49:57 <Deewiant> it'd be a fair bit of trouble for me to build a linux binary now so I'd rather not bother
18:50:01 <Deewiant> pikhq: yep!
18:50:02 <AnMaster> Deewiant, I want to trace your and mine TURT to see why mine get margins/scale all fucked up (your get the other stuff fucked up)
18:50:04 <RodgerTheGreat> if nothing else, Def-BF gives BF programmers the ability to modularize and re-use code. When that's combined with interfacing to C, you have a tremendous amount of power, and it becomes quite feasible for systems programming (by esolang standards, anyway)
18:50:11 <AnMaster> Deewiant, and that part of the code shouldn't differ
18:50:12 <Deewiant> heh
18:50:19 <AnMaster> and I can't figure out from my code
18:50:19 <pikhq> RodgerTheGreat: It becomes quite feasible by any standards.
18:50:22 <Deewiant> can't you just trace your own
18:50:47 <AnMaster> Deewiant, I have and well the logic seems correct but why does it come up at different answer than your?
18:50:57 <RodgerTheGreat> it's a little more obscure than most high-level languages, but pikhq is right- it's astonishingly readable and clear
18:50:59 <Deewiant> well that's what printf is for :-P
18:51:12 <Sgeo> Link to Def-BF?
18:51:13 <Deewiant> and valgrind, etc.
18:51:15 <pikhq> The big things you need for systems programming is being able to run without an interpreter, the ability to write directly to memory, and the ability to call arbitrary assembly.
18:51:19 <pikhq> http://www.nonlogic.org/dump/text/1215028173.html
18:51:34 <AnMaster> Deewiant, I tried it, and I really want to trace your code, to check whenever the in memory path differ or if it is just the printing stuff that is broken
18:51:36 <AnMaster> :/
18:51:51 <RodgerTheGreat> and once again, the example program: http://www.nonlogic.org/dump/text/1215106118.html
18:52:07 <AnMaster> Deewiant, so please make a debug build -O0 -ggdb3 style (well I don't know what your compiler call it)
18:52:20 <pikhq> Just being able to have functions makes the whole thing much, much easier to write in.
18:52:24 <AnMaster> Deewiant, if gdb doesn't work on dmd binaries? maybe gdc?
18:52:40 <pikhq> (kinda like having macros makes PEBBLE much easier to write in than straight Brainfuck)
18:53:10 <AnMaster> pikhq, how does unbalanced [] work?
18:53:19 <AnMaster> does it keep track of where it was?
18:53:24 <Deewiant> AnMaster: try iki.fi/deewiant/ccbi
18:53:31 <AnMaster> Deewiant, asec
18:53:37 <Deewiant> no idea what version of the source that is but at least it built :-P
18:53:42 <tusho> AnMaster: dude, do it yourself
18:53:42 <pikhq> in my mind? Unbalanced [] works just the same as it does in Brainfuck.
18:53:44 <tusho> :|
18:53:45 <RodgerTheGreat> I basically tried to design a minimal extension to BF that made it possible to cleanly provide functions and other abstractions (code reuse, for example), and the side effect of that is that interfacing with other languages starts to become possible
18:53:46 <pikhq> Namely: it doesn't.
18:53:50 <AnMaster> Deewiant, testing a sec
18:53:54 <tusho> saying "Hey, you, recompile" isn't very nice
18:54:02 <RodgerTheGreat> AnMaster: you can effectively make GOSUB/RETURN calls now
18:54:19 <Deewiant> I wouldn't have done it but it turns out the machine I'm running irssi on has a copy of the source in a buildable state
18:54:24 <Deewiant> so it wasn't as much work as I thought
18:55:33 <pikhq> RodgerTheGreat: You know, it might be nice to be able to do both pass by value and pass by reference.
18:55:37 <AnMaster> Single stepping until exit from function main,
18:55:38 <AnMaster> which has no line number information.
18:55:38 <AnMaster> hm
18:55:40 <RodgerTheGreat> hm
18:55:52 <AnMaster> Deewiant, that is gdc or dmd?
18:56:04 <Deewiant> hm
18:56:12 <Deewiant> maybe I should actually build the object files too and not just link with -g :-P
18:56:14 <pikhq> It'd make calling out to C easier.
18:56:18 <AnMaster> Deewiant, hah
18:56:27 <Deewiant> AnMaster: try again
18:56:29 <RodgerTheGreat> don't want to sacrifice usability or clarity, though
18:56:37 <pikhq> printf("%i", foo); wouldn't need a wrapper.
18:56:51 <RodgerTheGreat> bbl- classes
18:57:01 <AnMaster> Deewiant, still no line number info
18:57:11 <pikhq> (as it is, doing var: formatstring "%i", followed by printf[formatstring, foo] would print the pointer to foo)
18:57:13 * AnMaster tries more
18:57:38 <Deewiant> and now?
18:57:42 <AnMaster> a sec
18:58:00 <pikhq> RodgerTheGreat: I propose just using a $ to indicate that you're passing a value, not a pointer, to the function. . .
18:58:14 <pikhq> So, one could do printf[formatstring, $foo], and voila.
18:58:23 <tusho> pikhq: Why can't you just make it implicit like how C does it?
18:58:30 <pikhq> (or, if you insist on making it C-esque, make that & instead of $)
18:58:43 <pikhq> s/&/*/
18:58:48 <AnMaster> Deewiant, slightly better
18:58:48 <tusho> pikhq: That would be better.
18:58:58 <pikhq> tusho: In C, one needs to do & to pass by reference. ;)
18:59:04 <tusho> pikhq: Sounds good to me.
18:59:12 <tusho> I don't like things messing wit mah variblz.
18:59:15 <Deewiant> AnMaster: that one's is the best I can do: "add symbolic debug info, pretend to be C"
18:59:28 <AnMaster> Deewiant, yay it works kind of
18:59:29 <AnMaster> :D
18:59:34 <pikhq> Hrm. Now that makes me want to add string literals. :p
18:59:48 <pikhq> But, that's not going to be that easy to add to the language, and it honestly isn't needed.
19:00:20 <tusho> pikhq: But it'd be really convenient
19:00:33 <pikhq> I'm willing to do without.
19:00:52 <pikhq> Much, much easier to implement, after all. ;)
19:00:56 <tusho> pikhq: It'll bite you...
19:01:01 <tusho> It won't be fun :P
19:01:08 <AnMaster> Deewiant, ahah, mangled names
19:01:15 <AnMaster> that explains a lot
19:01:16 <pikhq> It'll be no worse than coding in assembly.
19:01:19 <Deewiant> of course they're mangled
19:01:23 <AnMaster> _D4ccbi12fingerprints8cats_eye4turt12printDrawingFZv
19:01:24 <AnMaster> :/
19:01:34 <Deewiant> D has a module system, unlike C. :-P
19:01:36 <tusho> AnMaster: Eagerly awaiting your suggestions on how else to compile an OO languge.
19:01:49 <AnMaster> tusho, there must be some way
19:01:52 <tusho> pikhq: Assembly has string literals.
19:02:02 <AnMaster> tusho, storing it as meta data in some other way?
19:02:05 <tusho> And what about when you've wrote the base and you're writing some slightly higher stuff?
19:02:11 <tusho> AnMaster: But you need _multiple things_ with the _same name_.
19:02:19 <tusho> AnMaster: And it has to be _fast_ - no performance penalty.
19:02:22 <AnMaster> tusho, yes that sucks
19:02:30 <pikhq> No it doesn't. foo: .asciiz "String here.\n" doesn't count in my mind.
19:02:35 <AnMaster> so well I guess this is sane
19:02:35 <tusho> pikhq: Well okay.
19:02:36 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
19:02:36 <tusho> Even so.
19:02:43 <tusho> When you're writing slightly higher-level stuff...
19:02:44 -!- Slereah_ has joined.
19:02:44 <tusho> It'll be painful
19:02:45 <pikhq> And that much, Def-BF supports.
19:03:46 <AnMaster> Deewiant, any idea how to access the pic static variable?
19:04:00 <Deewiant> nope
19:04:05 <AnMaster> 183 if (turt.movedWithoutDraw && turt.penDown)
19:04:05 <AnMaster> (gdb) print turt
19:04:07 <AnMaster> No symbol "turt" in current context.
19:04:08 <AnMaster> :(
19:04:37 <Deewiant> print _D4ccbi12fingerprints8cats_eye4turt4turt <the mangled type>
19:04:39 <Deewiant> I think
19:04:53 <AnMaster> (gdb) print _D4ccbi12fingerprints8cats_eye4turt4turtS4ccbi12fingerprints8cats_eye4turt6Turtle
19:04:53 <AnMaster> $1 = {<No data fields>}
19:04:54 <AnMaster> hm
19:05:33 <AnMaster> Deewiant, it is the pic variable I want though
19:05:55 <AnMaster> ah wait
19:05:57 <AnMaster> (gdb) print _D4ccbi12fingerprints8cats_eye4turt3picS4ccbi12fingerprints8cats_eye4turt7Drawing
19:05:57 <AnMaster> $2 = {<No data fields>}
19:05:59 <AnMaster> :/
19:06:24 <tusho> AnMaster: It's not C
19:06:36 <AnMaster> tusho, how do I get data from that variable then?
19:06:50 <tusho> AnMaster: Manually look at the memory.
19:07:04 <AnMaster> tusho, well I don't know what internal structure it use
19:07:06 <Deewiant> you might want to look at http://www.dsource.org/projects/gdb-patches
19:07:29 <Deewiant> or use http://www.zero-bugs.com/ instead
19:07:30 <tusho> AnMaster: you're using a C debugger on a non-C prorgam
19:07:32 <tusho> zomgz
19:07:34 <tusho> it doesn't wurk!!1
19:07:50 <Deewiant> can't you get a list of variables in scope or something
19:07:59 <AnMaster> tusho, gdb works for C++ so well it was a faulty but reasonable assumption
19:08:09 <Deewiant> ah, but I guess you did anyway
19:08:10 <tusho> AnMaster: c++'s object layout is esoteric, I believe
19:08:24 <Deewiant> C++'s object layout is impl-defined
19:08:33 <AnMaster> oh well
19:08:41 <Deewiant> http://www.digitalmars.com/d/1.0/abi.html
19:08:58 <AnMaster> (gdb) print dot
19:08:58 <AnMaster> $6 = (void *) 0xf7f71fd0
19:08:59 <AnMaster> sigh
19:09:05 <tusho> AnMaster: print *dot
19:09:07 <AnMaster> yeah guess so
19:09:10 <tusho> print *(dot+1)
19:09:11 <tusho> print *(dot+2)
19:09:12 <tusho> ...
19:09:16 <AnMaster> tusho, not
19:09:22 <AnMaster> (gdb) print *dot
19:09:22 <AnMaster> Attempt to dereference a generic pointer.
19:09:24 <AnMaster> :P
19:09:30 <AnMaster> casting it to char
19:10:00 <Deewiant> might as well use int instead
19:10:05 <Deewiant> so you see more data at once :-P
19:10:16 <AnMaster> Deewiant, still doesn't make sense
19:10:30 <Deewiant> what
19:10:35 <AnMaster> the data
19:10:44 <Deewiant> how
19:11:07 <tusho> who's in the mood of being really generous and giving me a domain
19:11:08 <tusho> <.<
19:11:25 <AnMaster> Deewiant, it doesn't match what should be there logically, so I guess metadata
19:11:28 <AnMaster> Cannot insert breakpoint 0.
19:11:29 <AnMaster> Error accessing memory address 0x1: Input/output error.
19:11:34 <AnMaster> now that is nice
19:11:38 <Deewiant> what should be where logically
19:11:50 <AnMaster> Program received signal SIGSEGV, Segmentation fault.
19:11:51 <AnMaster> 0x080936ef in _D9invariant12_d_invariantFC6ObjectZv ()
19:11:51 <AnMaster> nice
19:12:13 <Deewiant> your debugger doesn't support the language being debugged
19:12:14 <AnMaster> Deewiant, what D debugger is there then?
19:12:21 <AnMaster> for linux
19:12:22 <Deewiant> 2008-07-03 21:07:06 ( Deewiant) you might want to look at http://www.dsource.org/projects/gdb-patches
19:12:25 <Deewiant> 2008-07-03 21:07:29 ( Deewiant) or use http://www.zero-bugs.com/ instead
19:12:38 <AnMaster> Deewiant, that means compiling gdb again which I know is hard
19:12:39 <Deewiant> for windows there's ddbg which is really great
19:12:39 <AnMaster> aha
19:13:18 <AnMaster> oh cost money, well gdb patches it is then
19:13:27 <Deewiant> they offer the 15 day trial
19:13:34 <Deewiant> which I suppose you can violate
19:13:40 <AnMaster> {:d4}
19:13:45 <AnMaster> Deewiant, what exactly does that do?
19:13:45 <Deewiant> %4d
19:13:53 <AnMaster> not %.4d?
19:14:01 <tusho> AnMaster: just use the 15 day trial :-P
19:14:02 <Deewiant> not sure
19:14:08 <tusho> put your ideology aside for tools which actually work//
19:14:25 <Deewiant> you can look up C# formatting, probably has the best docs on the subject
19:14:35 <Deewiant> unless tango has improved in this area lately
19:15:20 <Deewiant> evidently the API still only offers "
19:15:20 <Deewiant> evidently the API still only offers "The format notation is influenced by that used by the .NET and ICU frameworks, rather than C-style printf or D-style writef notation.
19:15:28 <Deewiant> uh?
19:15:29 <pikhq> AnMaster: Compiling GDB is hard?!?
19:15:30 <Deewiant> how did that happen
19:15:40 <AnMaster> pikhq, maybe I remember wrong
19:15:42 <pikhq> What's so hard about ./configure&&make&&make install?
19:15:50 <AnMaster> pikhq, 64-bit and 32-bit
19:16:00 <pikhq> Oh. Well, then.
19:16:10 <pikhq> Prefix all those commands with linux32, and you're set.
19:16:16 <Deewiant> http://www.dsource.org/projects/tango/wiki/ChapterConversions#Layoutsformatstring
19:16:21 <pikhq> Or just do linux32 bash, and then compile it.
19:16:26 <AnMaster> Deewiant, is your getDec correct?
19:16:35 <Deewiant> beats me
19:16:45 <AnMaster> enum : tc {
19:16:45 <AnMaster> PADDING = 10,
19:16:45 <AnMaster> MIN = -16383_9999 + PADDING,
19:16:45 <AnMaster> MAX = 16383_9999 - PADDING
19:16:45 <AnMaster> }
19:16:48 <AnMaster> int getInt(tc c) { return (c < 0 ? -c : c) / 1000; }
19:16:49 <AnMaster> uint getDec(tc c) { return abs(cast(int)c) % 1000; }
19:16:54 <AnMaster> shouldn't it be / 10000
19:16:58 <AnMaster> rather than / 1000
19:17:04 <AnMaster> Deewiant, ?
19:17:07 <Deewiant> yep, apparently
19:17:22 <AnMaster> Deewiant, well that explains some part
19:17:38 <Deewiant> or should it?
19:17:46 <Deewiant> yeah, it should
19:17:51 <Deewiant> I was thinking about the padding but no
19:18:13 <AnMaster> well that explains *one* part of my problem
19:18:31 <AnMaster> Deewiant, also you use a turt.min but no turt.max?
19:18:53 <AnMaster> I must have misunderstood it's meaning if there should only be the turt.min
19:19:14 <Deewiant> it looks like Turtle only contains a min
19:19:21 <AnMaster> Deewiant, yes and I wonder why
19:20:37 <pikhq> RodgerTheGreat: I don't think the import: feature is strictly needed.
19:20:51 <pikhq> I'm imagining this thing just calling out to the linker, you see. . .
19:20:56 <Deewiant> AnMaster: so do I :-D
19:21:36 <pikhq> And it's not like you really have prototypes in Def-BF. . .
19:21:41 <AnMaster> Deewiant, look at lines 299-307 in turt.d
19:21:46 <AnMaster> that doesn't make sense
19:21:48 <Deewiant> am looking
19:21:56 <Deewiant> so, say
19:22:02 <Deewiant> or wait, where does min come from
19:22:03 <AnMaster> ?
19:22:12 <AnMaster> Deewiant, min is set in newDraw()
19:22:15 <Deewiant> whenever something is drawn, yes
19:22:16 <AnMaster> or whatever it was called
19:22:20 <Deewiant> so it really is the minimum point
19:22:21 <Deewiant> okay
19:22:21 <AnMaster> Deewiant, but why not max
19:22:25 <AnMaster> WHAT?
19:22:28 <Deewiant> I don't know, like said
19:22:37 <AnMaster> Deewiant, you can have negative coordinates after all
19:22:56 <AnMaster> should min be smallest not largest?
19:24:00 <Deewiant> that's what I was thinking
19:24:04 <Deewiant> so
19:24:06 <Deewiant> the area is always square
19:24:09 <Deewiant> so it's symmetrical
19:24:12 <Deewiant> so we only need to track min
19:24:15 <Deewiant> as max is -min
19:24:15 <AnMaster> um is it?
19:24:16 <Deewiant> or something
19:24:21 <AnMaster> I can draw something non-symetrical
19:24:22 <Deewiant> well we make it so
19:24:26 <Deewiant> so that we center in the middle
19:24:29 <AnMaster> aha
19:24:33 <Deewiant> I guess
19:24:56 <Deewiant> so if min is (-20,-20)
19:25:22 <Deewiant> that comes out to (-20,-20) and (40,40), hmm
19:25:41 <Deewiant> TBH I think that's crap :-D
19:27:00 <Deewiant> needs a partial or complete rewrite
19:27:09 <Deewiant> which I'll try and do on the weekend
19:27:56 <AnMaster> Deewiant, agreed
19:29:04 <Deewiant> but yeah, min = -max doesn't work because as you said if somebody draws only from 0 to -20 then the image should be (-20,-20) to (0,0) not (-20,-20) (20,20), the centre is wrong
19:29:08 <Deewiant> so that's crap
19:29:15 <Deewiant> and I can't see what the * 2 is about
19:30:03 <AnMaster> Deewiant, you wrote it!
19:30:04 <AnMaster> ;P
19:30:15 <Deewiant> so? :-P
19:33:36 <AnMaster> yay I got my margins correct
19:33:41 <AnMaster> Deewiant, now I see the 2*
19:33:44 <AnMaster> you got:
19:33:59 <AnMaster> x,y,width,height
19:34:02 <AnMaster> in viewbox
19:34:10 <Deewiant> oh, okay
19:34:12 <AnMaster> so you need 2xmargins for width and such
19:34:18 <Deewiant> I thought it was minx, miny, maxx, maxy
19:34:26 <AnMaster> Deewiant, anyway your margins were still messed up
19:34:31 <Deewiant> but yeah, that makes sense
19:34:35 <Deewiant> and yeah, like said above it's not smart
19:34:52 <AnMaster> Deewiant, I do it with min/max now
19:34:56 <AnMaster> :D
19:35:24 <AnMaster> Deewiant, try this: http://rafb.net/p/OFwhCX47.html
19:35:32 <AnMaster> unlike some of ccbi's it won't crash your browser
19:35:32 <AnMaster> :P
19:35:49 <AnMaster> (well rather ccbi locked up both firefox and konqueror)
19:35:59 <Deewiant> so how does yours do on the quine now
19:36:35 <AnMaster> Deewiant, haven't tested yet
19:36:41 <AnMaster> there are still some other issues to fix
19:37:26 <Deewiant> what's with all the style=foo
19:38:22 <Deewiant> stroke-width:0.00005px; --> I can't see any of what those paths draw as my monitor only supports 1-pixel pixels :-P
19:38:35 <tusho> Deewiant: hahahahahahah
19:38:45 <tusho> dude we've all moved onto fractional pixels
19:38:48 <tusho> you're BEHIND
19:38:52 <tusho> (what about my behind?)
19:38:58 <Deewiant> oh noes >_<
19:39:14 <AnMaster> Deewiant, it is to prevent filling and such
19:39:26 <Deewiant> fill:none;fill-opacity:0.75;fill-rule:evenodd;
19:39:29 <AnMaster> Deewiant, ccbi's path are filled by default
19:39:36 <Deewiant> it seems to me that the latter two are pointless
19:39:36 <AnMaster> Deewiant, that was copied from inkscape
19:39:40 <AnMaster> because it worked
19:39:51 <Deewiant> don't copy from inkscape, read the standard
19:40:05 <AnMaster> Deewiant, well that didn't do you any good
19:40:06 <AnMaster> :P
19:40:19 <Deewiant> sure it did
19:40:22 <AnMaster> Deewiant, I can get ccbi to generate invalid xml
19:40:24 <Deewiant> it doesn't do me any good any more, though
19:40:39 <Deewiant> since I can't remember what I read and what I read of course influenced the code :-)
19:40:45 <Deewiant> cool, how
19:41:05 <tusho> Deewiant: surely you used a proper xml production library
19:41:07 <tusho> AnMaster: you too
19:41:26 <AnMaster> tusho, yes the libc one
19:41:32 <AnMaster> fputs()/fprintf()
19:41:34 <AnMaster> Deewiant, and a sec
19:41:41 <tusho> AnMaster: do NOT produce xml that way
19:41:42 <tusho> just don't
19:41:53 <tusho> just truthfully, honestly, don't
19:41:59 <AnMaster> Deewiant, http://rafb.net/p/uavl3h33.html
19:42:11 <AnMaster> tusho, why not?
19:42:13 <AnMaster> it validates
19:42:20 <tusho> AnMaster: don't
19:42:25 <AnMaster> tusho, why not?
19:42:26 <tusho> use genx in
19:42:26 <Deewiant> tusho: if you're doing something that simple you can
19:42:27 <tusho> c
19:42:31 <AnMaster> tusho, why not?
19:42:34 <tusho> Deewiant: genx is trivial
19:42:39 <tusho> AnMaster: because you ARE getting it wrong
19:42:42 <Deewiant> printf is even more trivial
19:42:42 <tusho> it's not even conditional
19:42:48 <AnMaster> tusho, is my file wrong?
19:42:48 <AnMaster> noi
19:42:50 <AnMaster> no*
19:42:52 <AnMaster> it validates
19:42:53 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
19:42:58 <tusho> AnMaster: no, but it is almost certainly trivial to make it produce an invalid file
19:43:02 <AnMaster> "This Page Is Valid SVG 1.1!"
19:43:03 -!- Slereah_ has joined.
19:43:05 <tusho> AnMaster: no, but it is almost certainly trivial to make it produce an invalid file
19:43:18 <AnMaster> tusho, yes maybe for <path>, that needs more debugging
19:43:20 <Deewiant> well
19:43:31 <tusho> AnMaster: http://www.tbray.org/ongoing/genx/docs/Guide.html
19:43:32 <AnMaster> however <circle> is written atomically
19:43:38 <Deewiant> if you can make it produce an invalid file, chances are that if you were using an XML library you can make it produce a valid file with incorrect contents
19:43:42 <tusho> fix your code now
19:43:45 <AnMaster> tusho, is it one source file?
19:43:48 <Deewiant> so an invalid file may even be better
19:43:49 <tusho> AnMaster: i believe so
19:43:56 <tusho> http://www.tbray.org/ongoing/genx/
19:43:58 <AnMaster> Deewiant, agree
19:43:58 <tusho> yep
19:44:01 <tusho> well, two
19:44:06 <AnMaster> tusho, ok
19:44:08 <tusho> one lib and one auxillary lib that it uses
19:44:18 <AnMaster> tusho, GPL compatible?
19:44:19 <tusho> and quite a lot of software uses it
19:44:27 <tusho> AnMaster: http://www.tbray.org/ongoing/genx/COPYING
19:44:29 <AnMaster> so I can just drop the source file into cfunge
19:44:30 <tusho> looks like mit
19:44:35 <AnMaster> I'm NOT going to depend on it being installed
19:44:39 <Deewiant> tusho: and I suppose if you don't call genxEndDocument() then it can catch the error and complain loudly?
19:44:53 <tusho> Deewiant: if you don't call endDocument it won't output anything
19:44:55 <tusho> :)
19:45:12 <Deewiant> so it buffers everything in-memory until the whole thing is done?
19:45:14 <AnMaster> tusho, is it debugged with valgrind?
19:45:17 <Deewiant> AnMaster's going to love this ;-)
19:45:19 <AnMaster> Deewiant, yes that seems horrible
19:45:27 <tusho> that's what every DOM lib does
19:45:30 <tusho> your browser does it, for instance
19:45:42 <AnMaster> tusho, why though?
19:45:42 <tusho> and I imagine it'll work fine with valgrind, AnMaster
19:45:47 <Deewiant> so, we do not want a DOM lib. :-)
19:45:57 <tusho> well
19:46:00 <AnMaster> Deewiant, I agree with you
19:46:01 <tusho> i'm not sure if it stores it in memory
19:46:04 <tusho> still, just use it
19:46:09 <tusho> it's trivial, fast, and memory-efficient
19:46:11 <tusho> and tons of stuff uses it
19:46:19 <tusho> and Tim Bray made it, I'm pretty sure he knows xml pretty well
19:46:21 <tusho> :P
19:46:23 <AnMaster> tusho, it is not even in portage or freebsd ports
19:46:34 <tusho> AnMaster: because you should just drop it in to your app
19:46:54 <AnMaster> <tusho> AnMaster: http://www.tbray.org/ongoing/genx/COPYING <-- is that GPL compatible or not?
19:47:01 <tusho> AnMaster: it's the MIT license
19:47:06 <AnMaster> aha
19:47:07 <AnMaster> right
19:47:23 <tusho> it was explicitly designed so you could just drop a few files into your app and use it, AnMaster
19:47:27 <AnMaster> "Writing XML or <!DOCTYPE> declarations. Of course, you could squeeze these into the output stream yourself before any Genx calls that generate output."
19:47:29 <tusho> thus the license & 3-fileness, etc
19:47:33 <AnMaster> well I guess I have to do that then
19:47:40 <tusho> AnMaster: well yes, that's just:
19:47:46 <tusho> <?xml version="1.0" encoding="UTF-8"?>
19:47:48 <AnMaster> tusho, BUT CAN I BE TRUSTED WITH THAT!?
19:47:48 <tusho> <!DOCTYPE foo>
19:47:53 <tusho> AnMaster: yes. yes you can.
19:47:56 <AnMaster> I NEED A DOCTYPE LIBRARY!
19:47:58 <AnMaster> ARGH!
19:48:02 <tusho> it's when variable data comes in that the problem arouses
19:48:20 <AnMaster> tusho, so can I print fixed point numbers with it?
19:48:27 <AnMaster> I don't feel like creating buffers for them
19:48:34 <tusho> AnMaster: i haven't used genx that extensively.
19:48:41 <tusho> but I have seen many uses of it
19:49:00 <AnMaster> viewbox=\"%s%d.%04u %s%d.%04u %s%d.%04u %s%d.%04u\"
19:49:01 <AnMaster> :P
19:51:18 -!- pikhq has left (?).
20:00:38 <AnMaster> I may use genx later
20:00:44 <AnMaster> tusho, not today however
20:00:55 <tusho> alright
20:00:58 <AnMaster> maybe in the weekend
20:00:59 <AnMaster> actually
20:01:05 <AnMaster> the week after next
20:01:14 <AnMaster> I will be away to Norway for parts of next week
20:12:24 -!- RedDak has joined.
20:24:39 <AnMaster> when did ais leave?
20:24:57 <AnMaster> ages ago :(
20:26:08 <tusho> yes
20:26:11 <tusho> the place he was at closed
20:26:43 <lament> how would you store the notes for a homophonic tune?
20:26:51 <AnMaster> tusho, I thought it was open until midnight?
20:26:57 <tusho> not that place, evidently
20:27:01 <AnMaster> :(
20:27:09 <AnMaster> lament, huh?
20:27:10 <oklopol> lament: a list of (len,pitch) tuples?
20:27:11 <tusho> lament: homophonic? sounds suited to #esoteric
20:27:16 <tusho> har har har
20:27:24 <AnMaster> what is homophonic?
20:27:24 <oklopol> hahahahaaaa
20:27:48 <AnMaster> I would store normal tunes as (len,pitch,data for how hard the string was hit)
20:27:51 <AnMaster> as midi does it
20:28:07 <lament> what if there's a pause
20:28:14 <AnMaster> lament, ok maybe:
20:28:27 <lament> and it makes it difficult to calculate the absolute position of notes
20:28:31 <AnMaster> time,len,pitch,data for how the instrument was played)
20:28:40 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
20:28:49 <AnMaster> lament, I would simply use midi
20:28:54 -!- Slereah_ has joined.
20:28:56 <AnMaster> instead of reinventing the wheel
20:29:04 <AnMaster> lament, doesn't that seem saner?
20:29:18 <lament> isn't midi overcomplicated and a bitch to parse
20:29:21 <tusho> yes
20:29:24 <AnMaster> maybe
20:29:28 <AnMaster> I would use a library
20:29:33 <AnMaster> like tusho told me to for xml
20:29:34 <AnMaster> :P
20:29:42 <tusho> are there good midi libs?
20:29:45 <tusho> if not I might write one in C
20:29:48 <tusho> and bind it to stuff
20:29:48 <lament> thankfully midi doesn't do what i need, anyway
20:29:49 <AnMaster> no clue
20:29:53 <AnMaster> lament, oh?
20:30:04 <AnMaster> tusho, I never tried to use midi that way
20:30:07 <lament> AnMaster: it doesn't store anything about ties, slurs, stem direction, etc.
20:30:16 <AnMaster> lament, hm
20:30:25 <AnMaster> lament, ohhh I know
20:30:27 <AnMaster> use xml!
20:30:28 <AnMaster> :P
20:30:30 <AnMaster> no don't
20:30:34 <AnMaster> use S-Expressions
20:30:35 <AnMaster> really
20:30:36 <lament> very funny
20:30:36 <tusho> xml might actually be sane for this...
20:30:38 <tusho> :\
20:30:44 <AnMaster> lament, S-Expressions
20:30:45 <AnMaster> :P
20:30:49 <lament> i'm not asking how to serialize stuff
20:30:56 <lament> i'm asking how to represent it
20:31:02 <tusho> lament: a C structure?
20:31:02 <tusho> :p
20:31:05 <lament> serialization isn't important
20:31:39 <AnMaster> lament, well you need absolute point in time of note,length + data for how hard the person hit the key on he piano or whatever
20:31:48 <AnMaster> lament, or what do you mean?
20:32:18 <AnMaster> just notes? then store it as (type of entry,position in current clef,other data)
20:32:24 <AnMaster> or something like that
20:33:39 -!- Deformalite has joined.
20:33:43 <Deformalite> Wooohoo, ackermann function works.
20:33:45 <Deformalite> :)
20:33:56 <Deformalite> This interpreter is coming along nicely.
20:36:14 <AnMaster> oh my
20:36:18 <AnMaster> Deformalite, running out of memory?
20:36:26 <AnMaster> also what language
20:36:39 <Deformalite> Uhm, I have not released specs yet.
20:36:44 <Deformalite> Sorry. :(
20:36:54 <Deformalite> No memory issues.
20:36:54 <AnMaster> Deformalite, do that first!
20:37:16 <AnMaster> Deformalite, well with ackermann's function that is easy to do
20:37:20 <Deformalite> But I do sortof wish I would have compiled to some sort of intermediate code instead of interpreting.
20:37:59 <AnMaster> Deformalite, well compile it to C
20:38:00 <AnMaster> :)
20:38:17 <Deformalite> Not really possible.
20:38:18 <Deformalite> Too weird.
20:40:44 <Deformalite> It would be much easier to compile to assembly.
20:40:51 <Deformalite> Or llvm ir.
20:42:48 -!- pikhq has joined.
20:43:51 <AnMaster> Deformalite, do LLVM then
20:43:58 <AnMaster> Deformalite, I'm not on x86 so I hate x86 asm
20:44:00 <AnMaster> :P
20:44:20 <Deformalite> I am on powerpc most of the time.
20:44:29 -!- sebbu2 has joined.
20:44:32 <AnMaster> Deformalite, well x86_64 here mostly
20:44:46 <pikhq> AnMaster: Even on x86, most people hate x86 assembly.
20:45:03 <pikhq> My opinion is "It gets the job *done*, sure, but it's fairly kludgy."
20:45:15 <tusho> My opinion is "KITTENS"
20:45:27 <pikhq> tusho: Good opinion, if you like lolcats.
20:45:33 <tusho> pikhq: No.
20:45:34 <tusho> Just "KITTENS"
20:45:37 <tusho> With the quotes and uppercase.
20:45:44 <tusho> "KITTENS"
20:45:59 <Deformalite> x86 isn't all bad.
20:46:13 <Deformalite> At least it isn't Harvard architecture.
20:46:19 * Deformalite huggles self modifying code.
20:46:39 * pikhq huggles self-modifying code, as well
20:46:46 * tusho huggles "KITTENS"
20:47:15 <Deformalite> Self modifying code is terribly interesting, and very esoteric. :)
20:47:29 * pikhq nods
20:47:38 <pikhq> You want interesting, though?
20:47:42 <pikhq> Self-modifying C code.
20:47:48 <pikhq> >:D
20:48:03 <Deformalite> Eh, not very difficult to pull off.
20:48:11 <pikhq> True.
20:48:14 <pikhq> But diabolical.
20:48:58 <Deformalite> You can make a function for each instruction or procedure, then just utilize higher order functions.
20:49:11 <Deformalite> It is essentially just making a cheap interpreter.
20:51:21 <pikhq> I didn't say it was impossible. Merely that it is ridiculously diabolical.
20:51:40 <pikhq> Some IOCCC entries use it; what does that tell you? :p
20:52:17 <tusho> pikhq: And all IOCCC entries use C.
20:52:19 <tusho> ZOMG
20:52:24 <tusho> C is esoteric and obfuscated!
20:52:28 <tusho> ... wait, yeah, it is
20:52:47 <pikhq> I, of course, meant the 'self-modifying code' bit.
20:52:53 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
20:52:56 <pikhq> C actually isn't terribly obfuscated.
20:53:02 <tusho> O RLY
20:53:04 -!- Slereah_ has joined.
20:53:13 <pikhq> It's not the *greatest* language, but it's got a few things in its favor.
20:53:20 <pikhq> First, it's a fairly simple language.
20:53:37 <pikhq> Second, it's good for systems programming.
20:53:43 <pikhq> Third, it is ubiquitous.
20:53:46 <tusho> MY Z IS Z
20:53:52 <tusho> ZZZZZZZzzzzzzzZ
20:54:15 <pikhq> It's that bit about being ubiquitous that makes it handy.
20:54:41 <pikhq> Well, makes it insanely handy.
20:57:02 -!- sebbu has quit (No route to host).
20:57:03 -!- sebbu2 has changed nick to sebbu.
20:58:22 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
20:58:31 -!- Slereah_ has joined.
21:00:25 <AnMaster> * Deformalite huggles self modifying code.
21:00:26 <AnMaster> NX bit
21:00:28 <AnMaster> :P
21:01:53 <AnMaster> tusho, why do you hate C?
21:01:59 <tusho> i don't
21:02:05 <AnMaster> you like it?
21:02:05 <tusho> i love c
21:02:13 <AnMaster> tusho, "but" what?
21:02:18 <tusho> but nothing
21:02:40 <AnMaster> but you don't consider it a clean language?
21:03:01 <AnMaster> tusho, ?
21:03:10 <tusho> define clean
21:03:34 <AnMaster> "not obfuscated"
21:03:40 <tusho> wrong definition
21:03:54 <AnMaster> tusho, also you can write obfuscated python
21:03:56 <tusho> i know very clean obfuscated languages
21:03:58 <tusho> and vise versa
21:03:58 <Deformalite> C is nice, D is nicer.
21:03:59 <AnMaster> I have seen oklopol's code
21:03:59 <Deformalite> :)
21:04:09 <tusho> oklopol's python code is lovely
21:04:13 <AnMaster> Deewiant, D is a pain to get working (compiler and such)
21:04:15 <tusho> because it's fun
21:04:26 <pikhq> dsss makes it a bit easier.
21:04:28 <Deewiant> it can be, yes
21:04:33 <Deformalite> AnMaster: I have never had any problems.
21:04:40 <tusho> oklopol doesn't piss around for days indenting crap and making it all go fast and modularized and stuff
21:04:42 <Deewiant> suggestion: go to tango's web site and get the package they offer
21:04:42 <Deformalite> AnMaster: OS?
21:04:42 <AnMaster> Deformalite, I couldn't get tango to compile
21:04:44 <tusho> he just writes something really awful
21:04:46 <AnMaster> Deewiant, 64-bit Linux
21:04:47 <tusho> but it's fun and works
21:04:49 <AnMaster> x86_64
21:04:49 <Deformalite> Don't use tango then.
21:05:00 <pikhq> AnMaster: x86_64 is a bitch with D.
21:05:01 <AnMaster> Deformalite, well the app I needed to use used it
21:05:03 <Deewiant> he needs tango because I use it. :-)
21:05:03 * Deformalite is one of the few anti-tango left.
21:05:06 <pikhq> Tango just doesn't build there.
21:05:08 <AnMaster> pikhq, well that is a bug
21:05:16 <tusho> Deformalite: phobos is a bug
21:05:23 <tusho> a glitch
21:05:25 <tusho> an error
21:05:31 <Deformalite> Phobos is a standard.
21:05:36 <AnMaster> pikhq, well I'm anti tango if it doesn't build on x86_64
21:05:45 <tusho> Deformalite: Who gives a shit about a standard that 3 people use?
21:05:48 <AnMaster> pikhq, once it works properly I may be interested
21:05:48 <Deformalite> Phobos is much simpler.
21:05:53 <tusho> No it's not.
21:05:54 <tusho> It's more trivial.
21:05:58 <tusho> And less well-designed.
21:06:07 <Deformalite> Tango is a terribly ugly api IMO.
21:06:09 <Deewiant> AnMaster: can't you just build it as 32-bit code
21:06:10 <Deformalite> Very javaish.
21:06:16 <tusho> Deformalite: Very javaish?
21:06:17 <Deformalite> But that's enough of that.
21:06:20 <tusho> We're using a different Tango here...
21:06:21 <Deewiant> ideally in a 32-bit chroot
21:06:24 <AnMaster> Deewiant, then I need a 32-bit chroot to get that working for gdc
21:06:29 <AnMaster> I don't have any currently
21:06:32 * Deformalite gets back to his interpreter.
21:06:37 <Deewiant> set one up :-P
21:06:38 <AnMaster> I won't spend that time on it
21:06:44 <AnMaster> I just won't
21:06:57 <oklopol> Deformalite: are you Deformative?
21:07:03 <AnMaster> once it works on x86_64 and is in portage I may be interested
21:07:04 <Deformalite> Indeed.
21:07:06 <Deewiant> can't be that hard
21:07:07 <oklopol> all these d guys are scary
21:07:16 <AnMaster> Deformalite == Deewiant?
21:07:26 <Deewiant> doubtful
21:07:29 <oklopol> err i doubt that
21:07:32 <AnMaster> ah
21:07:35 <Deformalite> AnMaster: You do not need chroot to get gdc working...
21:07:35 <tusho> yeah, i doubt that
21:07:47 * tusho plays with the idea of writing a RubyCocoa gmail client
21:07:48 <AnMaster> Deformalite, I need it working with tango in x86_64
21:07:59 * Deformalite doesn't know about that.
21:08:02 <AnMaster> until that is possible out of box I consider D non-mature
21:08:04 <Deformalite> But I know phobos works fine..
21:08:08 <Deewiant> AnMaster: your fault for running a 64-bit OS without support for 32-bit ;-)
21:08:16 <AnMaster> Deewiant, I do support 32-bit
21:08:17 <Deformalite> AnMaster: s/d/tango
21:08:18 <AnMaster> nothing odd
21:08:20 <tusho> Uh. People.
21:08:25 <tusho> Tango works fine on 64-bit afaik
21:08:31 <AnMaster> hm
21:08:44 <Deformalite> Yeah, I have never heard of such problems.
21:08:47 <Deewiant> really?
21:08:48 <Deewiant> http://www.dsource.org/projects/tango/ticket/1097
21:08:50 <Deewiant> http://www.dsource.org/projects/tango/ticket/865
21:08:56 <Deewiant> http://www.dsource.org/projects/tango/ticket/1082
21:09:00 <Deewiant> http://www.dsource.org/projects/tango/ticket/1071
21:09:07 <Deewiant> possibly others :-P
21:09:07 <tusho> Never said without issues, Deewiant
21:09:13 <tusho> But I'm pretty sure, with dsss, you can 'net install
21:09:16 <tusho> ' tango pretty easily
21:09:21 <Deewiant> "works fine" means "without issues" to me :-)
21:09:38 <tusho> Then no software works fine my dear Deewiant.
21:09:49 * Deformalite is tired of tango discussion. Back to my work. :P
21:09:59 <Deewiant> 'echo' works fine so far
21:09:59 <oklopol> work work work
21:10:16 <Deewiant> but yeah, depends on your definition of 'issue'
21:10:21 <Deewiant> I consider segfaults an issue :-P
21:10:22 <Deformalite> oklopol: Before I leave, yeah, I am Deformative, not Deewiant.
21:10:31 <tusho> Deewiant: I bet gnu 'true' has bugs - have you ever read it?
21:10:33 <tusho> It's crazily bloated
21:10:41 <Deewiant> maybe it does
21:10:47 <Deewiant> but it hasn't segfaulted on me yet
21:11:00 <Deewiant> and it works upwards of 99% of the time
21:11:07 <oklopol> Deformalite: no one sane thought you might be Deewiant, i was just afraid you might be another De... guy
21:11:08 <Deewiant> so it has no issues. :-)
21:11:25 <Deewiant> who's that one guy that's here sometimes, Dewi or something?
21:11:28 <tusho> 'D' at the start of the name signifies a D user.
21:11:28 <AnMaster> hrrm
21:11:32 <oklopol> Deformative and Deformalite in the same room would probably collapse into singularity
21:11:32 <Deewiant> he's somebody else too
21:11:40 <tusho> 'De' means 'Deewiformative clan'
21:11:42 <Deformalite> Heh.
21:11:42 <tusho> Deewiant: Liar
21:11:45 <tusho> Dewi is not Deewiant
21:11:47 <tusho> err
21:11:50 <tusho> s/not//
21:11:52 <tusho> Dewi is so Deewiant
21:11:58 <AnMaster> Deewiant, dewi is in this channel
21:12:00 <Deformalite> Eh, if De is grouped together, I need to change my nick.
21:12:02 <oklopol> Dewi is a whole another guy
21:12:02 <Deformalite> Erm.
21:12:08 <Deformalite> Actually.
21:12:08 <tusho> is he
21:12:08 <tusho> wow
21:12:09 <Deewiant> AnMaster: ah, good point
21:12:12 <Deformalite> No it's all fine.
21:12:14 <Deewiant> my tab completion missed him
21:12:14 <oklopol> austarlian
21:12:17 <oklopol> australian
21:12:21 <tusho> austaralrarian
21:12:26 <Deewiant> alright
21:12:30 <tusho> Austarlia is right next to Canadia
21:12:31 <Deewiant> this is the part where I go to bed. :-P
21:12:32 * AnMaster is now known as tusha
21:12:37 <AnMaster> j/k
21:12:46 <Deewiant> but first I'll leave some reading with you.
21:12:46 <Deewiant> http://www.math.sfu.ca/~cbm/errh/101_analysis_bedtime_stories_(epsilon_red_riding_hood).pdf
21:12:49 * AnMaster is now known as oklolop
21:12:50 <tusho> I wanna be called tasho so I can have t@sho.org
21:12:50 <AnMaster> XD
21:12:55 <Deewiant> and good night then \o
21:12:58 <tusho> Deewiant: lmao
21:13:01 <AnMaster> Deewiant, not yet
21:13:04 <AnMaster> Deewiant, :/
21:13:36 <tusho> timezones make me go :/
21:13:43 <AnMaster> tusho, stay!
21:13:51 <tusho> err what
21:14:08 <AnMaster> don't leave!
21:14:13 <tusho> I wasn't leaving
21:14:21 <AnMaster> what did you mean then?
21:14:27 <tusho> timezones make me go ':/'
21:14:30 <tusho> you went 'not yet :/'
21:14:35 <tusho> when, err
21:14:40 <tusho> obviously it was night where Deewiant is
21:14:59 <AnMaster> he is one hour later than me
21:15:02 <AnMaster> tor jul 3 22:15:01 CEST 2008
21:15:32 <tusho> 22:15 is totally night, AnMaster
21:15:39 <AnMaster> tusho, blergh
21:15:43 <AnMaster> not until midnight :P
21:15:57 <AnMaster> tusho, anyway it would be 23:* for him
21:18:26 <Deformalite> What other helloworldies are there? Hello world, factorial, ackermann, and what else? I am going to do a turing machine soon, but if there are any others it would be nice to test before I go on to the turing machine.
21:19:56 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
21:20:02 <tusho> Deformalite: cat
21:20:10 <Deformalite> ?cat
21:20:15 <tusho> ...
21:20:20 <tusho> Deformalite: open a terminal
21:20:22 <tusho> run 'cat'
21:20:34 <Deformalite> That isn't a helloworld.
21:21:02 <Deformalite> All that does is prove use of streams and file io.
21:21:19 <AnMaster> <Deewiant> http://www.math.sfu.ca/~cbm/errh/101_analysis_bedtime_stories_(epsilon_red_riding_hood).pdf <-- that was fun
21:21:23 <Deformalite> I need something that tests language features a bit more, recursion/iteration and stuff.
21:22:22 <AnMaster> Deewiant, write a brainfuck interpreter in it?
21:22:47 <AnMaster> of course that is the turing test
21:23:30 <tusho> Deformalite: Y combinator
21:26:32 <tusho> does anyone have a transparent-background version of the gmail envelope?
21:27:15 <AnMaster> nop
21:28:47 <tusho> :(
21:36:57 <AnMaster> tusho, ask google?
21:37:09 <tusho> AnMaster: tried that
21:37:19 <AnMaster> tusho, what did they say=
21:37:22 <AnMaster> I mean email them...
21:37:33 <AnMaster> not "google for it"
21:38:23 <tusho> AnMaster: oh
21:38:29 <tusho> they're a bigcorp and it's copyrighted
21:38:30 <tusho> no chance
21:39:00 <AnMaster> tusho, is it fair use?
21:39:06 <tusho> it's for my personal use
21:39:09 <tusho> but think about it
21:39:14 <tusho> most of their emails probably go straight to /dev/null
21:39:16 <tusho> they're huge
21:39:20 <tusho> they'll get 1k+ emails every day
21:39:27 <tusho> and here I am, asking them for a high-res version of their logo, just like that?
21:39:29 <tusho> so not happening
21:39:33 <AnMaster> hm
21:39:49 <AnMaster> tusho, say you are from new york times or something :P
21:40:06 <tusho> xD
21:55:26 <tusho> anyone in a domain-buying mood? <.<
22:07:03 <Deformalite> Bah, how could I forget quicksort.
22:07:07 <Deformalite> ._.
22:53:28 -!- olsner has joined.
23:03:19 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
23:09:05 -!- Deformalite has quit (Remote closed the connection).
23:16:23 -!- timotiis has quit (Read error: 110 (Connection timed out)).
23:30:46 <pikhq> RodgerTheGreat: God, Def-BF will kick ass.
23:35:25 <tusho> will it
23:38:15 <GregorR> Moscoooooow
23:38:30 <GregorR> Enter the Hymen Store, two men are scorched and burned, kite me a sign.
23:38:34 <GregorR> Moscoooooow
23:39:02 <GregorR> Don't worry Bill is dead, there lies the toy opened, Indians are high.
23:40:59 <tusho> What, GregorR
23:41:17 <GregorR> http://www.youtube.com/watch?v=jH8gtrD4_C4
23:41:59 <tusho> hah
23:44:46 <GregorR> tusho: If you want your domain so badly, why don't you buy it?
23:45:48 <tusho> GregorR: I already own ONE domain :'(
23:46:23 <GregorR> I own five, cry me a river.
23:46:33 <tusho> GregorR: ok
23:46:34 <tusho> :'''''''''''''''''(
23:46:37 <tusho> :'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(
23:46:39 <tusho> :''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(
23:46:44 <tusho> :''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(
23:46:46 <tusho> :'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
23:46:48 <tusho> :'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
23:46:54 <tusho> :'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
23:47:00 <tusho> :'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
23:48:02 <GregorR> (HALP!)
23:48:02 <GregorR> v
23:48:02 <GregorR> ~~~O/~~~~
23:48:11 <tusho> GregorR: Buy me a domain and I shall help!
23:49:16 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)).
23:51:53 <GregorR> tusho: If you already own ONE domain, what's one more? :P
23:52:11 <tusho> GregorR: Money
23:52:34 -!- olsner has quit.
23:53:29 <tusho> GregorR: How about. You buy a domain and I'll give you an account on rutian (the machine running eso-std.org) :-P
23:53:32 <tusho> It is completely useless but fun!
23:53:41 <tusho> You shall be dictated to by the two sudoers, me and ais523!
23:54:57 <tusho> GregorR: AWSUM DEAL RITE
23:57:37 <tusho> GregorR: No? :(
23:58:09 <GregorR> LIKE NO
23:58:14 <tusho> GregorR: :(
←2008-07-02 2008-07-03 2008-07-04→ ↑2008 ↑all