←2008-03-29 2008-03-30 2008-03-31→ ↑2008 ↑all
00:00:04 <ehird> so, who here is made out of chicken
00:04:37 <pikhq> Not I.
00:04:53 <ehird> I am
00:04:56 <ehird> and I am playing with squeak
00:04:58 <ehird> Smalltalk is love
00:05:48 -!- vixey has joined.
00:20:17 -!- Deformative has quit (Remote closed the connection).
00:20:55 -!- Deformative has joined.
00:29:00 -!- timotiis has quit ("leaving").
00:46:57 -!- Deformative has quit ("Konversation terminated!").
00:47:39 -!- Tritonio_ has quit (Remote closed the connection).
00:49:38 -!- Deformative has joined.
00:59:24 <AnMaster> Deewiant, minor issue, you know if fungus? while it is not as extensive as mycology I notice ccbi segfaults on it
00:59:28 <AnMaster> Loading module stackstack
00:59:29 <AnMaster> Loading module finghrti
00:59:29 <AnMaster> Segmentation fault
00:59:57 <AnMaster> (while mine get into an infinite loop)
01:00:01 <ehird> AnMaster: He knows of fungus.
01:00:09 <ehird> It's what made him write Mycology. It's bad.
01:00:12 <AnMaster> ehird, yep
01:00:21 <AnMaster> but interpreter should still not segfault on it
01:00:24 <ehird> hardly
01:00:26 <ehird> its broken iirc
01:00:27 <AnMaster> that is the thing I like to point out
01:00:41 <AnMaster> and his binary is stripped
01:00:52 <AnMaster> (gdb) bt
01:00:52 <AnMaster> #0 0x080c4af7 in ?? ()
01:00:52 <AnMaster> #1 0x08109990 in ?? ()
01:00:52 <AnMaster> ......
01:00:52 <AnMaster> #5 0x00000000 in ?? ()
01:01:14 <AnMaster> ehird, point is anything but sefault is fine
01:01:23 <AnMaster> interpreter should never segfault or assert imo
01:01:31 <AnMaster> infinite loop? sure, it's fine
01:01:54 -!- Corun has quit ("Leaving").
01:10:17 <ehird> AnMaster: you know what I want?
01:10:19 <ehird> inline structures
01:13:48 -!- RodgerTheGreat has joined.
01:14:53 <RodgerTheGreat> howdy folks
01:15:15 <vixey> hi
01:15:23 <RodgerTheGreat> 'sup, vixey?
01:16:34 <RodgerTheGreat> I just returned from the NMU programming competition- great fun
01:16:53 <vixey> how did it go?
01:17:06 <RodgerTheGreat> my team did pretty well- 4th place out of about 20 teams
01:17:32 <pikhq> Yo.
01:17:33 <RodgerTheGreat> we all got T-shirts and free food, so I'll chalk it up as a win. :)
01:17:36 <RodgerTheGreat> hey, pikhq
01:18:07 <pikhq> Been a while.
01:18:23 <RodgerTheGreat> yeah, school is getting pretty crazy on my end
01:18:34 <pikhq> I spent the past week with family.
01:18:50 <pikhq> So, not been on much. ;)
01:19:39 <RodgerTheGreat> it's looking like I'll spend the summer taking more classes at MTU- so far I've lined up Coding Theory, an art class and a course on technical writing.
01:21:12 <RodgerTheGreat> vixey: are you new here, or have I been completely out of it?
01:23:27 <ehird> new, afaik
01:24:25 <RodgerTheGreat> ah, well then, welcome to this festering hive of insanity and highly intellectual ranting
01:25:51 -!- RedDak has quit (Remote closed the connection).
01:30:01 <ehird> just in case anyone was wondering..
01:30:09 <ehird> cpp supports circular header definitions, and gets them right.
01:30:09 <ehird> wow.
01:30:24 <RodgerTheGreat> nifty
01:30:32 <RodgerTheGreat> I shudder to consider how you determined this
01:30:40 <ehird> RodgerTheGreat: You don't wanna know.
01:30:48 <ehird> However, I'll tell you anyway.
01:30:50 <RodgerTheGreat> ok
01:32:44 <ehird> schream/value.h includes the definition of scm_tag. A scm_tag (which is the structure identifying the tag for a specific type of object) has a name (i.e. for integers it's 'integer'). This name is of the type I use to represent strings (contains length, allocated, and the string) - (scm_string *), defined in schream/string.h. But scm_string's are valid objects too, and string.h defines a scm_tag for them, so it needs to include the header file defining
01:32:44 <ehird> scm_tag... schream/value.h
01:32:53 <ehird> RodgerTheGreat: Amazingly, cpp figures out what I mean and terminates.
01:33:08 <RodgerTheGreat> Amazing
01:47:40 <RodgerTheGreat> so, what's everyone up to this evening?
01:47:53 <ehird> coding this
01:47:53 <ehird> ;)
01:47:55 <pikhq> Getting a laptop to run Gentoo.
01:47:57 <ehird> and it's 00:47
01:48:06 -!- Tritonio_ has joined.
01:48:10 <vixey> wishing I could think of something good to code..
01:48:19 <RodgerTheGreat> I kinda feel like coding something, but I don't have any immediate goals
01:48:37 <ehird> vixey: embed prolog into $LANGUAGE
01:48:44 <RodgerTheGreat> I have a couple ideas for new game projects, but nothing that I think I can just slam out in an evening
01:49:11 <RodgerTheGreat> vixey: what language(s) do you use?
01:49:20 <RodgerTheGreat> that might suggest appropriate applications
01:50:01 <vixey> I'll use anything
01:50:41 <RodgerTheGreat> hm. well, that doesn't narrow things down much.
01:50:56 <ehird> vixey: Delphi? APL?
01:51:03 <RodgerTheGreat> Java? PHP?
01:51:18 <ehird> RodgerTheGreat: Actually I was suggesting languages I expect vixey would not in fact code in.
01:51:29 <RodgerTheGreat> oh
01:51:35 <ehird> I doubt your two were in the same vein, but I agree! :)
01:52:19 <RodgerTheGreat> then I'll put votes in for Rails and TinyBASIC
01:52:53 <ehird> Rails as in the one on the gem?
01:53:03 <ehird> RoR certainly isn't a language.
01:53:15 <ehird> Ruby is, though. And Rails happens to be a rather badly designed framework built on top of Ruby.
01:53:40 <RodgerTheGreat> Rails adds untold horror to an already hideous language
01:54:06 <RodgerTheGreat> and coding a non-web2.0 app actually *using* rails could be pretty hilariously painful
01:54:19 <ehird> RodgerTheGreat: Ruby is not a hideous language
01:54:40 <ehird> I have heard that from many people and their reasons were all flimsy. Starting to hate Ruby is becoming 'hip' right now and a lot of them just went with the interblags..
01:54:56 <ehird> Also, here's something horrific: the term 'web2.0'
01:55:17 -!- slereah_ has joined.
01:55:54 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
01:56:02 <RodgerTheGreat> wb slereah_
01:56:20 <ehird> (And there is silence!)
01:56:32 <slereah_> Thanks.
02:04:06 <RodgerTheGreat> this is a rather interesting idea: http://www.ansible.co.uk/writing/c-b-faq.html
02:05:51 <ehird> RodgerTheGreat: i didn't realise it was a parody until near the end
02:05:52 <ehird> /sigh
02:06:25 <RodgerTheGreat> hey, it's fiction, but thought-provoking fiction nonetheless
02:06:47 <slereah_> It's old :o
02:07:22 <slereah_> http://en.wikipedia.org/wiki/Motif_of_harmful_sensation
02:07:57 <ehird> I would like to see that 'parrot' distortion.
02:08:10 <ehird> I would gradually undistort it. :p
02:11:00 <RodgerTheGreat> ehird: I have an image- one sec
02:11:30 <RodgerTheGreat> found this a while back, saved it because it was neat: http://www.nonlogic.org/dump/images/1206839450-d66c44db02a18598796ea18e5504d0fdde567d69.jpg
02:13:27 <ehird> RodgerTheGreat: haha, wow
02:13:31 <ehird> is there an undistorted version? ;)
02:13:36 <RodgerTheGreat> har har
02:13:39 <ehird> however, that picture does look like the kind of thing that would break the brain though
02:15:53 <ehird> RodgerTheGreat: Is it specified what kind of distortion is in that?
02:16:04 -!- ihope has joined.
02:16:05 <ehird> oh wait
02:16:10 <ehird> that purports to BE the undistorted version
02:16:16 <ehird> if you read the text
02:16:21 <ehird> well, bye all, i had fun ;)
02:16:32 <RodgerTheGreat> cya
02:17:07 <ehird> that was a joke, RodgerTheGreat
02:17:08 <ehird> :p
02:19:03 <RodgerTheGreat> ?
02:19:14 <RodgerTheGreat> oh, presuming the parrot would kill you
02:20:03 <ehird> RodgerTheGreat: http://www.infinityplus.co.uk/stories/blit.htm
02:20:11 <ehird> that seems to be what that thing draws off
02:20:32 <RodgerTheGreat> neat
02:20:36 * RodgerTheGreat reads
02:22:48 <ehird> actually, if the Parrot ever came into existance that'd be the one time i'd argue for complete government opaquity and censorship
02:22:49 <ehird> ;)
02:23:03 <ehird> however, that seems pretty unlikely to me
02:23:05 <ehird> so my ideals are safe
02:23:43 -!- slereah_ has quit (Read error: 104 (Connection reset by peer)).
02:24:08 -!- slereah_ has joined.
02:24:19 <vixey> funniest joke in the world trumps the parrot
02:24:42 <RodgerTheGreat> vixey: haha- yeah, that was a great sketch
02:24:47 <ehird> vixey: except that the parrot is legitimately scary ;)
02:24:49 <ehird> parallels i'd say
02:24:57 <ehird> RodgerTheGreat: do you know how this - http://www.nonlogic.org/dump/images/1206839450-d66c44db02a18598796ea18e5504d0fdde567d69.jpg - was made?
02:25:05 <ehird> manually by a human? or some kind of algorithm?
02:25:10 <RodgerTheGreat> nope, I just found it on an image board somewhere
02:25:26 <vixey> looks like someone took fractal render into some image program..
02:27:57 <ehird> this kind of stuff is one of the few themes in horror fiction that actually scares me
02:27:59 <ehird> :p
02:28:03 <ehird> (and even then only marginally)
02:28:08 <ehird> most of the other stuff is just tacky
02:28:23 <ehird> but then the brain is one of the most interesting things i know of :)
02:28:49 <RodgerTheGreat> I think it's just enough on the edge of something that sounds possible to get you paranoid
02:30:01 <ehird> yeah
02:30:22 <ehird> and if it was real, then it'd be *highly* scary, of course
02:30:53 <ehird> i would imagine the suicides from people reading about them and becoming paranoid might exceed the rate of deaths from the image itself
02:31:06 <ehird> (another analogy in comedy: Boite diabolique)
02:32:51 <ehird> it seems this can be either really, really funny or scary
02:41:36 <ehird> http://reddit.com/info/6dw0m/comments/ reddit'd
02:59:14 <RodgerTheGreat> http://www.ansible.co.uk/writing/t3_002.html
03:00:47 <ehird> RodgerTheGreat: same guy who did the faq & wrote that original story
03:01:29 <RodgerTheGreat> yes
03:01:41 <RodgerTheGreat> that's why I thought it would be a good link
03:04:02 <ehird> RodgerTheGreat: it references geb
03:04:03 <ehird> so ++
03:24:50 -!- ihope has quit (Read error: 110 (Connection timed out)).
03:43:05 -!- ehird has quit ("Konversation terminated!").
04:12:03 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
04:14:11 -!- pikhq has joined.
04:33:31 -!- Judofyr has quit.
04:39:50 -!- shinkuzin has joined.
04:44:04 -!- shinkuzin has quit (Read error: 104 (Connection reset by peer)).
04:47:56 -!- shinkuzin has joined.
06:48:08 -!- RodgerTheGreat has quit.
07:08:53 -!- shinkuzin has quit (Read error: 110 (Connection timed out)).
07:10:50 -!- calamari has quit ("Leaving").
07:28:12 -!- spal has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:24:43 -!- spal has quit ("Leaving.").
09:25:42 -!- Sukoshi has joined.
09:35:09 <vixey> hi Sukoshi
09:35:16 <Sukoshi> Heya.
09:35:34 <vixey> how is the nomic stuff going (if it is)?
09:36:02 <Sukoshi> It's not :(
09:36:05 <Sukoshi> Windows Vista is going :(
09:36:11 <Sukoshi> Make that last one a :(((
09:36:22 <vixey> aww
09:36:37 * vixey sends you a get well soon card
09:37:01 <Sukoshi> Objectively speaking, Vista is a leg up from XP. It's more UNIX-like.
09:53:17 -!- RedDak has joined.
10:07:48 -!- RedDak has quit ("Killed (NickServ (Comando GHOST usato da DIO))").
10:57:31 -!- Sukoshi` has joined.
11:12:58 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
11:21:02 <Deewiant> AnMaster: yay, that thing with fungus is a compiler bug in GDC
11:21:29 <AnMaster> Deewiant, oh nice to find
11:22:05 <Deewiant> AnMaster: already been reported in november
11:22:20 <AnMaster> no one fixed it since then!?
11:22:48 <Deewiant> GDC development appears to have slowed down
11:23:00 <Deewiant> I don't really follow what's going on with it myself
11:23:22 <Deewiant> it might be fixed in the latest SVN
11:23:42 <Deewiant> but I doubt it, since the bug isn't closed
11:24:08 <Deewiant> AnMaster: the problem is there's only one author, apparently, and he doesn't interact that much with others
11:24:31 -!- Sukoshi has quit (Connection timed out).
11:24:33 <AnMaster> mhm
11:24:34 <Deewiant> I could work around the bug but I think I'll just compile with DMD instead
11:47:34 -!- Judofyr has joined.
11:59:27 <AnMaster> Deewiant, I must have an old ccbi version because it says BAD: J doesn't set delta
11:59:33 <AnMaster> for SUBR
11:59:42 <AnMaster> Deewiant, where is your current binary?
11:59:49 * AnMaster can't find url
11:59:57 <Deewiant> it's being uploaded
12:00:52 <Deewiant> iki.fi/deewiant
12:02:12 <AnMaster> odd, looks like number of env variables differs
12:02:26 * AnMaster goes to cut them out and sort them to make it possible to compare
12:04:53 <AnMaster> Deewiant, http://pastebin.ca/963235 <-- interesting
12:05:40 <AnMaster> Deewiant, seems like ccbi add a env variable there, that is two spaces and is equal to the full path to the interpreter binary?
12:05:47 <AnMaster> err three spaces
12:07:58 <Deewiant> doesn't do it here with y, at least
12:08:33 <Deewiant> ah, no, yes it does
12:08:36 <Deewiant> looks like a DMD quirk
12:09:14 <Deewiant> yep, only the DMD-compiled binary does it
12:09:22 <Deewiant> food now ->
12:10:22 <AnMaster> Deewiant, so compile part with gdc and other part with dmd? ;)
12:11:08 <AnMaster> Deewiant, still says "BAD J doesn't set delta" for ccbi. huh
12:28:14 <Deewiant> AnMaster: won't link together
12:28:22 <Deewiant> singe GDC doesn't respect the D calling convention
12:28:51 <AnMaster> hm ok
12:28:59 <Deewiant> and J works here just fine
12:29:17 <AnMaster> odd, maybe my hg checkout is outdated?
12:29:28 <AnMaster> of mycology
12:29:41 <Deewiant> doubtful
12:29:59 <Deewiant> what does hg identify say
12:30:48 <AnMaster> 7450b1fdaa5d+ tip
12:31:41 <AnMaster> Deewiant, also how do I switch upstream in mercurial now again to point to that domain name instead directly to the ip (and what was the domain name now again?)
12:32:07 <Deewiant> that won't help you since I don't keep the server running :-P
12:32:56 <AnMaster> ah
12:33:42 <Deewiant> and that's the latest myco
12:33:56 <AnMaster> hm... it seems fungus detect a difference that myco doesn't
12:34:00 <AnMaster> with file loading
12:34:14 <AnMaster> because cfunge enters an infinite loop in fungus
12:34:33 <AnMaster> but not on any specific module
12:35:15 <Deewiant> fungus uses o in a way that myco doesn't, at least
12:35:18 <Deewiant> not sure about i
12:36:26 <AnMaster> http://pastebin.ca/963248
12:36:31 <AnMaster> that is at same point
12:36:34 <AnMaster> just after first i
12:36:37 <AnMaster> differs a bit
12:37:53 <AnMaster> oh wait, it loaded negative?
12:38:01 <AnMaster> hm no
12:41:08 <Deewiant> AnMaster: the J thing was a myco bug
12:41:23 <AnMaster> hm?
12:41:27 <AnMaster> you said it worked for you?
12:41:27 <Deewiant> pull from tar.us.to:8000 if you want
12:41:38 <Deewiant> AnMaster: that was against old myco, my bad
12:42:57 <AnMaster> oh wait i wasn't wrong, something else is up
12:43:05 <AnMaster> Deewiant, sure a sec will pull
12:45:21 <AnMaster> v▒22▒▒
12:45:21 <AnMaster> X
12:45:21 <AnMaster> > 091+v
12:45:30 <AnMaster> vs.
12:45:31 <AnMaster> v▒22▒▒ X
12:45:31 <AnMaster> > 091+v
12:45:34 <AnMaster> hm
12:47:07 -!- atsampso1 has quit (Read error: 113 (No route to host)).
12:47:16 <AnMaster> Deewiant, that is just after loading fspace
12:47:21 <AnMaster> that is the actual first difference
12:47:31 <AnMaster> I wonder what this is that mycology doesn't test
12:47:55 -!- atsampson has joined.
12:48:02 -!- atsampso1 has joined.
12:48:08 -!- atsampso1 has quit (Client Quit).
13:00:56 <AnMaster> Deewiant, in D what is "static if"?
13:01:17 <Deewiant> compile-time if
13:01:22 <AnMaster> hm
13:01:24 <Deewiant> kind of like #ifdef but better
13:01:36 <AnMaster> "static if (needBegX) {" depends on from where it is called
13:01:39 <Deewiant> or more like #if rather
13:01:45 <AnMaster> so that means two versions will be output?
13:01:48 <AnMaster> of the routine
13:01:50 <Deewiant> ye
13:01:55 <AnMaster> mhm
13:09:05 <AnMaster> Deewiant, what I don't understand is the way ccbi loads the fspace module in fungus
13:09:07 <AnMaster> that is:
13:09:16 <AnMaster> v▒22▒▒
13:09:16 <AnMaster> X
13:09:16 <AnMaster> > 091+v
13:09:33 <AnMaster> to me it seems like the X should end up on first line
13:10:25 <AnMaster> I can't single step through the ccbi file loading code and I can't see what in the file loading code causes it to be loaded with the X on the second line
13:10:52 <AnMaster> assuming the output from area is correct?
13:12:31 <Deewiant> it might not be
13:13:01 <AnMaster> hm
13:13:17 <Deewiant> especially if it has to output binary
13:13:32 <Deewiant> you know, if the value at (0,0) is 10 for instance
13:13:37 <Deewiant> then it'll output a line break there
13:14:18 <Deewiant> AnMaster: yep, (7,0) is 10
13:14:44 <Deewiant> and (16,0) is the X
13:14:50 <Deewiant> so it is on the first line
13:14:56 <Deewiant> the display is just messed up because of the NL
13:16:22 <AnMaster> hm
13:17:29 * AnMaster again wish for a way to make ccbi output each instruction as it is executed so he can compare
14:46:01 -!- timotiis has joined.
14:59:45 -!- vixey has quit ("Leaving").
15:16:34 -!- ais523 has joined.
15:22:12 -!- Judofyr has quit.
15:32:45 -!- ais523 has quit ("switching to a client that doesn't require me to type in PONGs by hand, because I'll be doing something else for a while").
15:33:26 -!- ais523 has joined.
16:02:35 -!- Tritonio_ has quit (Remote closed the connection).
16:03:53 -!- timotiis_ has joined.
16:09:09 -!- timotiis has quit (Read error: 110 (Connection timed out)).
16:16:26 -!- ihope has joined.
16:17:21 <ihope> ABAABABAABAABABAABABAABAABABAABAABABAABABAABAABABAABABAABAABABAABAABABAABABAABAABABAABAAB!
16:17:25 <ihope> Ello.
16:18:29 <slereah_> Hello sir.
16:19:52 -!- timotiis_ has changed nick to timotiis.
16:21:20 -!- wildhalcyon has joined.
16:21:35 <wildhalcyon> hola
16:22:03 <slereah_> hai
16:22:13 <wildhalcyon> What you up to slereah?
16:24:06 <slereah_> not much.
16:24:22 <slereah_> You?
16:26:25 <wildhalcyon> Work's been draggin me down a lot
16:27:07 <wildhalcyon> Keeping me from my project(s)
16:28:22 -!- ehird has joined.
16:29:35 <ehird> i just had a great idea
16:29:42 <ehird> set that Parrot image to Never Gonna Give You Up
16:29:46 <ehird> put it on youtube as Basiliskroll
16:29:54 <ehird> kill everyone
16:30:01 <ehird> ..., profit
16:30:43 <wildhalcyon> I see a flaw in your plan
16:30:46 <wildhalcyon> Rick Astley
16:31:16 <ehird> wildhalcyon: But if I removed Rick Astley it wouldn't be Basiliskroll :(
16:31:37 <wildhalcyon> more specifically ZOMBIE Rick Astley. The dude said, "NEVER gonna give you up"
16:32:07 <wildhalcyon> you kill Rick Astley with a Basiliskroll and you've got some real trouble on your hands
16:32:22 <slereah_> It wouldn't work.
16:32:32 <slereah_> For Never gonna give you up is a life giver.
16:32:40 <slereah_> It has been shown to cure terminal cancer patients.
16:34:07 <wildhalcyon> are you sure? I thought they did a study that showed Rickrolling to be HIGHLY carcinogenic?
16:34:07 <ehird> wildhalcyon: well, once Never Gonna Give You Up became untrue, everyone would die
16:34:09 <ehird> of shock
16:34:30 <wildhalcyon> Well... that may be the case.
16:34:58 <wildhalcyon> But there's no way I'll be falling for a basiliskroll. I've got some neighborhood kids I've hired to watch all youtube links. You know... just in case.
16:35:25 <ehird> Well, once they see it and die, you won't be able to check further ones
16:35:39 <ehird> Here's basically the mission plan of how that would work: http://www.nonlogic.org/dump/images/1206839450-d66c44db02a18598796ea18e5504d0fdde567d69.jpg
16:35:41 <ihope> Just hire some new ones.
16:36:06 <ehird> ihope: But when they're all gone... http://www.nonlogic.org/dump/images/1206839450-d66c44db02a18598796ea18e5504d0fdde567d69.jpg explains that
16:36:59 <ihope> What are those fractals, anyway?
16:37:01 <wildhalcyon> oh, I thought the action was immediate.
16:37:23 <ehird> wildhalcyon: it depends
16:37:28 <ehird> the original BLIT has it to be pretty much immediate
16:37:32 <ehird> however
16:37:39 <ehird> in BLIT, the main character sees it under protection
16:37:50 <ehird> but eventually submits to it because it had infected his brain due to long exposure
16:37:58 <ehird> & that was not immediate
16:38:13 <ehird> it would seem the immediateness is canon, but i find the delayed idea interesting too
16:38:23 <ehird> ihope: I think it's some fractal edited
16:38:31 <ehird> But hah, now you're both fscked.
16:38:41 <ihope> :-P
16:38:50 <ihope> Looks to me like just two fractals superimposed.
16:38:58 <ihope> Created in UltraFractal, perhaps.
16:39:12 <ehird> No that parrot looks like it was made that way
16:39:23 <ehird> it fits the BLIT description almost perfectly (jagged parrot salami)
16:39:47 <ihope> Ah.
16:40:53 <ehird> oh, and http://www.old-computer-mags.com/Magazine/Your%20Sinclair%20N.23/Your%20Sinclair%20N.23.htm
16:49:08 -!- Tritonio_ has joined.
17:05:16 -!- Judofyr has joined.
17:25:37 -!- RodgerTheGreat has joined.
17:25:51 <RodgerTheGreat> hello everyone
17:27:51 <slereah_> Hulo
17:32:48 <ais523> RodgerTheGreat: hello
17:32:53 <RodgerTheGreat> how's it going, slereah_, ais523?
17:33:04 * ais523 has been implementing INTERCAL all week
17:33:14 <RodgerTheGreat> cool- in what language?
17:33:16 <ais523> hmm... I nearly typed @ical{} rather than INTERCAL then
17:33:20 <ais523> RodgerTheGreat: C
17:33:26 <ais523> I maintain C-INTERCAL, an INTERCAL-to-C compiler
17:33:44 <RodgerTheGreat> I wasn't aware of that- neat
17:33:45 <ais523> and I've been implementing new features in an attempt to do catchup with CLC-INTERCAL and to add some new things
17:33:56 <ehird> ais523: awesome
17:33:56 <ais523> RodgerTheGreat: sudo apt-get install intercal on Debian
17:34:19 <ais523> or http://intercal.freeshell.org is the home page for both of the main INTERCAL implementations
17:34:31 <RodgerTheGreat> think that package is available on Darwinports/Macports?
17:34:51 <ais523> RodgerTheGreat: I don't know, but it isn't all that popular so I doubt it
17:35:02 <RodgerTheGreat> :(
17:36:48 <ais523> it is designed to be portable, though
17:36:58 <ais523> except that some of the newer features require gcc
17:37:21 <ais523> (the INTERCAL to C link code requires gcc because I hook into the compiler between its preprocessing and compilation stages
17:37:34 <ais523> and therefore have to use strange gcc command-line args like -x)
17:38:19 <ais523> I spent ages on the autoconf script a couple of versions ago, so I'd be interested to know how well ./config.sh && make && sudo make install goes
17:38:38 <ais523> but I know how much of a pain it is to get gcc installed on a Mac (I watched a friend do it once), so you might not want to bother
17:43:27 <ehird> ais523: gcc is trivial on a mac
17:43:30 <ehird> 1. put in cd
17:43:36 <ehird> 2. select developer tools
17:43:38 <ehird> 3. hit next a few times
17:43:42 <ehird> 4. there is not step 4
17:43:57 <ais523> ehird: ah, they were trying to do it downloading things from some Apple developer thing over the Internet
17:44:08 <ais523> they got it working, but it took about an hour
17:44:12 <ais523> including manually editing various things
17:45:47 <RodgerTheGreat> wtf?
17:46:12 <RodgerTheGreat> it's really pretty straightforward
17:46:17 <ais523> I think part of the trouble may have been that they were trying to install other things at the same time
17:46:27 <ais523> or maybe they got an unstable release or something by mistake
17:46:45 <ais523> never mind, anyway, if it's easy then that's one less hurdle
17:49:04 <RodgerTheGreat> it's really pretty funny how many "developer tools" come with macs out of the box- the full JDK, python, perl, ruby, vi and nano, tons of the usual unix utilities, etc
17:50:40 <ais523> yes, and pretty ironic how you have to install them on some Linux distributions nowadays
17:51:00 <ais523> (for instance Ubuntu is missing all the C header files unless you specifically request them)
17:54:17 <RodgerTheGreat> I think it meshes with Apple's main goal for the "out of box experience"- yeah, OSX comes with a ton of drivers and things you probably don't need, but by preinstalling them nearly everything "just works" when you plug it in.
17:55:27 <ais523> RodgerTheGreat: agreed. At least Ubuntu does that with drivers, and I suppose the no header files thing is for much the same reason as burying the command line in the menus
17:56:35 <RodgerTheGreat> in general, I think Apple has struck a good balance between making things user-friendly and avoiding "dumbing down" the unix environment for people who want to use it.
17:57:25 <ais523> so, are you going to try to install C-INTERCAL, then?
17:58:34 <ehird> ais523: i think i did c-intercal on os x once
17:58:47 <RodgerTheGreat> I might
17:58:51 <ais523> ehird: It's changed a lot since then, unless you did it recently
17:59:25 <ais523> I redid the build system for version 0.27
17:59:55 <ais523> hmm... pity oerjan isn't here, I found a bug in his INTERCAL Unlambda interpreter that was masked by a bug in the compiler itself
18:00:12 <ais523> and when I fixed the compiler bug, I had to fix the Unlambda interp too
18:01:42 <slereah_> This is madness.
18:02:22 <ais523> slereah_: what is madness?
18:02:35 <slereah_> INTERCAL unlambda
18:02:55 <ais523> slereah_: it works!
18:03:04 <slereah_> But it is madness :o
18:03:19 <ais523> although it must have been doubly difficult for oerjan to write, it served as a useful test case for the new comment-handling system
18:03:26 <slereah_> Then again, my first version of Lazy Bird was tried on the Love Machine 9000
18:03:29 <ais523> because oerjan likes to vary styles of commens a lot
18:03:30 <ehird> ais523: maybe you should write a build system in 5 lines of perl
18:03:31 <ehird> ;)
18:03:31 <slereah_> It didn't work though
18:03:35 <ais523> s/commens/comments/
18:03:42 <ais523> ehird: they'd have to be long lines
18:03:55 <ais523> because there are so many files to sort out and put into various places
18:04:08 <ais523> a C-INTERCAL build system golf would be an interesting challenge, though
18:08:33 -!- oklopol has quit (Remote closed the connection).
18:08:48 -!- okopol has joined.
18:09:44 <ais523> okopol: you've dropped the l again
18:10:19 <ais523> hopefully it isn't with oerjan again, or there'll be a longer wait before you get it back this time because you'll have to wait for them to be online
18:10:31 <ehird> ais523: makeit glob
18:10:31 <ehird> :D
18:10:42 <ehird> as far as the 'what if files are missing'
18:10:44 <ehird> make it check the web
18:10:46 <ehird> for a file list
18:10:48 <ehird> no, not web
18:10:48 <ais523> ehird: the dependencies don't follow a pattern
18:10:49 <ehird> something p2p
18:10:53 <ehird> no single point of failure
18:10:54 <ehird> :D
18:10:59 <ehird> ais523: analyze the header includes, duhh
18:11:05 <ais523> and I often install C-INTERCAL on a computer that isn't connected to the internet
18:11:18 <ais523> ehird: that's dependencies on header files
18:11:26 <ais523> the object files connect together in more than one way
18:11:37 <ais523> so some global variables are used just to transmit which files are connected
18:11:50 <ais523> and as another example, some data files can be read on disk or compiled into the program
18:12:09 <ais523> and which method is used depends on whether you're compiling convickt (a command-line utility) or libick.a (a library)
18:13:41 <ehird> ok, um
18:13:47 <ehird> grab the dependencies from the p2p
18:13:48 <ehird> actually
18:13:55 <ehird> just load a perl file from the web and eval()
18:13:58 <ehird> one line build system
18:13:59 <ehird> ;)
18:14:12 <ais523> ehird: very abusable
18:14:20 <ehird> ais523: oh shush
18:14:21 <ehird> :D
18:14:26 <ais523> and I do not have Internet access ususally when building C-INTERCAL
18:14:34 <ais523> s/ususally/usually/
18:14:51 <ais523> the Windows computer that I test the DOS build on doesn't have Internet access ever
18:15:29 <ehird> 'java for smalltalk programmers': the saddest title article i've seen all day
18:16:01 <ais523> ehird: that's a pretty bad title
18:16:10 <ais523> reversing the language names would make some kind of sense
18:16:34 <ehird> ais523: If you reverse it I don't want to work with any resulting programs
18:16:35 <ehird> :)
18:16:48 <ais523> ehird: agreed
18:17:01 <ehird> it seems sad that someone knows enough smalltalk to know how to tell people how to switch from it to java, and yet still reccomends doing so
18:19:28 <ais523> IMO the only advantage of Java is its ability to do crossplatform GUIs
18:19:42 <ais523> and although that's a massive advantage the rest of the language is so bad as to make me not want to use it again anyway
18:25:30 <ehird> ais523: and the api for the uis is horrible
18:25:34 <ehird> as well as most of the end user experience
18:25:43 <ais523> ehird: I know
18:25:56 <ais523> I had to study it for a semester
18:26:04 <ais523> and in the end we had to produce networked Snakes-and-Ladders programs
18:26:13 <ais523> which is one of the most pointless games ever to run networked
18:26:19 <ehird> Squeak can do cross-platform UIs though. That may have something to do with the fact that it runs in its own window & VM and tries to avoid interacting with anything outside that window. :-)
18:26:28 <ais523> the interaction was just clicking on a button to make your move
18:26:38 <ehird> it's good for development though: the UI is suited to it
18:26:42 <ais523> and a few other controls to set up the network connection in the first place
18:26:59 * ehird has been playing a little with smalltalk recently, currently creating a wiki with Seaside incredibly rapidly
18:27:07 <ehird> the model takes a lot of getting used to
18:27:14 <ehird> but i'm picking it up quickly
18:44:53 -!- jix has joined.
18:46:53 -!- jix has quit (Client Quit).
18:47:16 -!- jix has joined.
18:49:16 <RodgerTheGreat> I think this could make a great desktop: http://upload.wikimedia.org/wikipedia/commons/2/2a/Spider_crab_at_the_Kaiyukan_in_Osaka%2C_Japan.JPG
18:52:00 <ais523> RodgerTheGreat: it's easier on the person following the link to link to the image description page rather than the image itself, so as to be able to see the copyright conditions easily
18:52:12 <ais523> going from the URL back to the description page is annoying to have to do
18:52:28 <ais523> but the other way is just one click
18:52:34 <RodgerTheGreat> oh, sorry: http://en.wikipedia.org/wiki/Image:Spider_crab_at_the_Kaiyukan_in_Osaka%2C_Japan.JPG
18:52:45 <ehird> ais523: 'mediawiki is crap, fix it for me'
18:52:46 <ehird> :)
18:53:15 <ais523> ehird: you really expect MediaWiki to be able to influence the content of a direct link to an image?
18:53:49 <ais523> changing the metadata might be one way to do it, but would be counterintuitive
18:54:17 <ehird> ais523: i expect mediawiki to discourage linking to such direct resources when the common user wants some metadata too
18:54:54 <ais523> ehird: I'd like it to do that too, but having direct links to the images is needed for some purpose too. There needs to be some way to educate users not to post links to them, though.
18:55:15 <ais523> (Worse: most users I come across just post direct links to the /thumbnails/, which is not really useful to anyone)
18:55:48 <ehird> ais523: Just make the inteerface clearer
18:56:06 <ehird> Basic case: don't make the image itself a link on the description page.
18:56:11 <ais523> the problem is people are used to right-clicking on images
18:56:14 <ehird> Put a 'download' link somewhere.
18:56:26 <ais523> but there is currently ongoing work to make the description pages more obvious
18:56:45 <ehird> ais523: are they going to make the code sane after that? :-)
18:56:58 <ehird> MediaWikiBagOStuff, what great OOP design
18:57:01 <ais523> ehird: actually they rewrote the image backend a few months ago
18:57:26 <ehird> ais523: i meant the whole thing
18:57:27 <ehird> heh
18:57:48 <ais523> it seems unlikely that there'll ever be a Phase 4 nowadays
18:58:05 <ais523> (the phase number goes up by 1 with each complete rewrite, it's at 3 at the moment)
18:58:12 <ehird> ais523: enterprisey
18:58:34 <ais523> (but it's relative to what's used on Wikipedia rather than MediaWiki itself)
18:58:48 <ais523> ((Phase 1 wasn't MediaWiki-based at all IIRC))
18:58:54 <ehird> ais523: one problem with mediawiki --
18:59:00 <ehird> the actual core revision system
18:59:11 <ehird> it only handles linear, simple changes
18:59:17 <ehird> and doesn't even store them efficiently
18:59:42 <ehird> ais523: a wiki based on the ideas behind darcs or git will be the future -- no 'LULZ ALREADY EDITED' messages (well, maybe 1 or 2)
18:59:45 <ehird> maybe even USING git or darcs
18:59:46 <ais523> it depends on what you mean by 'efficient'
18:59:59 <ais523> but yes, MediaWiki is bad for edit conflicts
19:00:06 <ais523> mostly because their diff algorithm is rubbish
19:00:43 <ais523> Wikimedia use GNU diff3 noncustomised for edit conflict merges IIRC
19:01:09 <ais523> and the issue is that wikitext rarely contains newlines
19:01:28 <ehird> ais523: mediawiki is a great big hack that has its outsides polished to look modern
19:01:29 <ehird> :)
19:02:41 <ehird> hmm
19:02:49 <ehird> it seems irony is all the range when it comes to web stuff
19:02:51 <ais523> ehird: C-INTERCAL is a great big hack, but that's deliberate
19:03:03 <ehird> Avi Bryant, creator of Seaside, 's blog is powered by typepad
19:03:13 <ehird> The ruby on rails website is powered by PHP
19:03:16 <ehird> I could go on
19:03:17 <ais523> there are things like Perl idioms dropped into the C code that manages CLC-INTERCAL character set translation (because CLC-INTERCAL is written in Perl)
19:03:46 <ehird> ais523: isn't making it a great big hack kinda hard to maintain
19:03:46 <ehird> :)
19:03:57 <ais523> ehird: well, yes
19:04:17 <ais523> but I wouldn't have got into maintaining an INTERCAL compiler in the first place if I was scared of 'hard to maintain'
19:04:57 <ehird> hehe
19:05:13 <ais523> hmm... it's a pity that vim.org doesn't have a 'generator' <meta>
19:05:22 <ais523> I was hoping it would say that it was written in Emacs
19:05:25 <ehird> haha
19:05:35 <ehird> gnu.org might have some vi pages
19:05:38 <ehird> seems pretty likely
19:05:43 -!- RedDak has joined.
19:05:53 <RodgerTheGreat> be jealous of my new T-shirt acquisition: http://www.nonlogic.org/dump/images/1206899749-shirt.png
19:06:18 <ehird> RodgerTheGreat: die
19:06:19 <ehird> now
19:06:21 <ehird> :<
19:06:21 <RodgerTheGreat> the back says "programming enrichment activity test subject"
19:06:31 <RodgerTheGreat> :D
19:06:49 <slereah_> Delicious cake.
19:06:52 <ehird> RodgerTheGreat: was there cake, and was it delicious
19:06:58 <ehird> more importantly
19:06:59 <ehird> was it moist
19:07:02 <RodgerTheGreat> unfortunately, it was a lie
19:07:07 <ais523> ehird: I checked the Emacs page there, and there was no note of a generator anyway
19:07:10 <ehird> did you refrain from crying over every mistake?
19:07:15 <ehird> typos are inevitable, you know.
19:07:18 <ais523> s/anyway/anywhere/
19:07:33 * ais523 notes another example of comic timing in the last two comments
19:08:01 <ais523> ehird: your QDB should have an IRC logger
19:08:01 <Sukoshi`> How do people develop on Vista?
19:08:11 <ais523> so we can just say $$QDBTHIS$$ or some other special token
19:08:17 <ehird> ais523: haha
19:08:20 <RodgerTheGreat> The Computer Science got done, and we made a neat gun for the people who are still alive.
19:08:21 <ais523> and the QDB will automatically add the quote
19:08:26 <ehird> ais523: well i'll probably get a logger in here sometime
19:08:29 <ehird> because ircbrowse's interface sucks
19:08:40 <ais523> Sukoshi`: with difficulty, and by paying a lot of money for MS development tools
19:08:52 <ehird> the logger will probably plug into the bot which will be done at the same time (jesus, second coming thereof)
19:08:56 <RodgerTheGreat> oh, hi Sukoshi`
19:08:58 <Sukoshi`> I hear the MS development tools are free these days.
19:08:58 <ehird> so it'll be @remember
19:09:00 <ehird> or soemthing
19:09:08 <ehird> but.. how does it know how many lines to quote?
19:09:15 <ais523>
19:09:19 <ehird> and mostly you want to cut out irrelevent lines
19:09:33 <ais523> ehird: it would have to be manually edited
19:09:48 <ais523> either that, or just use a stream editor language, like sed or TECO, but with the lines numbered in the reverse direction
19:10:26 <ais523> so to quote the exchange above, I could write $$QDBTHIS:1,21d;24,$d$$
19:10:43 <ais523> (that's sed by the way, I don't know TECO)
19:11:01 <ehird> ais523: it would seem that exchange is less efficient than using the mouse
19:11:10 <ais523> ehird: to do what?
19:11:14 <ehird> you swipe over the lines you want, type 'qdb.eso-std.org/submit'
19:11:16 <ehird> paste it
19:11:17 <ais523> my mouse can't send emails by itself
19:11:23 <ehird> delete the lines
19:11:24 <ehird> click submit
19:11:28 <ais523> oh
19:11:49 <Sukoshi`> But I'm serious here.
19:11:51 <ais523> but I want to be able to do things entirely over IRC
19:12:11 <ais523> Sukoshi`: I'd probably use cygwin or DJGPP if I had to do development on Vista
19:12:11 <Sukoshi`> I'm on Vista, and I'd like to be able to do Windows development and cross-platfom development.
19:12:21 <Sukoshi`> Yeah, I've been looking into Cygwin and MinGW.
19:12:22 <ehird> Sukoshi`: mingw
19:12:22 <ais523> but that doesn't do Windows development
19:12:35 <ehird> never do plain windows dev, btw
19:12:39 <ehird> i will murder you in your sleep.
19:12:41 <ais523> at least, not plain Windows dev
19:12:51 <ais523> but that should be completely avoided because the Windows API is so strange
19:12:51 <ehird> heh
19:13:00 <ehird> ais523: we're like soulmates!
19:13:01 <ehird> kind of.
19:13:03 <ehird> without the soul part
19:13:04 <ais523> Last I checked, the Windows equivalent to fork() had 11 parameters
19:13:04 <ehird> or the mate part
19:13:12 <ais523> and that was back for Windows 95
19:13:14 <Sukoshi`> That's scary.
19:13:45 <ais523> fortunately, I can't remember what they were all for, or I'd have gone mad by now
19:13:53 <ais523> and I never tried to use it
19:14:12 <ais523> I just used the Windows equivalent of system(), which is not the right way to do things but is good enough sometimes and easier to understand
19:14:28 <Sukoshi`> Heh.
19:14:40 * ais523 used to do Windows development back sufficiently long ago that they usually targeted Windows 3.1
19:15:29 <ehird> hmm
19:15:35 <ehird> there should be a list of languages with continuations
19:15:38 <ehird> there just aren't enough of them
19:16:05 <ais523> ehird: depends on what you mean by 'continuation'
19:16:14 <ais523> does setjmp produce a continuation, for instance?
19:16:21 <ais523> what about try/catch/throw?
19:16:28 <ehird> ais523: definately not
19:16:29 <ais523> what about C-INTERCAL's MAYBE?
19:16:32 <ehird> those are not continuations
19:16:36 <ehird> those 'continuations' are downwards-only
19:16:50 <ehird> once dropping below their creation point on the stack, you cannot call them
19:17:01 <ehird> and the second criterion: reusable
19:17:01 <ais523> the INTERCAL one can be used both ways
19:17:06 <ais523> but is not reusable
19:17:06 <ehird> continuations can be called multiple times
19:17:14 <ehird> ais523: then it's not a continuation
19:17:24 <ehird> well, it's a continuation in a loose sense
19:17:29 <ehird> but a thoroughly useless one
19:17:30 <ais523> you can make a reusable version by putting MAYBE in a loop
19:17:44 -!- Judofyr has quit.
19:17:49 <ais523> hmm... maybe I should write an INTERCAL program that CREATEs genuine continuations using MAYBE
19:17:55 <ehird> ais523: http://en.wikipedia.org/wiki/Continuation#Example
19:18:06 <ehird> if you can do that with MAYBE and a loop then yeah C-INTERCAL has real continuations
19:18:17 <ehird> and that tempts me to write a continuation-based web app in it
19:18:19 <ehird> that would just be hilarious
19:18:38 <ais523> one issue is that the continuations return void, which makes things harder than normal
19:18:53 <ais523> you do have a programmer-specified finite supply of global continuation-unaffected variables, though
19:18:56 <ehird> ais523: can you pass values to the continuations?
19:19:04 <ais523> but each of them is a single bit and hard to read
19:19:05 <ais523> ehird: no
19:19:07 <ehird> in scheme,
19:19:23 <ehird> (call/cc (lambda (k) ;; k is a procedure. when called with X, this call/cc returns X
19:19:29 <ais523> ehird: I know
19:19:41 <ais523> INTERCAL doesn't have first-class functions
19:19:45 <ais523> just first-class integers
19:19:50 <ais523> so all you could pass back would be an integer
19:20:04 -!- oklopol has joined.
19:20:19 <ais523> come to think of it, they aren't true continuations simply because you have no way to store them
19:20:41 <ais523> as in, if you go back to an earlier continuation, you lose all the continuations made since then because you had nowhere to put them
19:21:09 <ais523> (you reference a continuation by counting back how long ago a particular continuation was created)
19:21:41 <ais523> however, the whole MAYBE thing is just a special case of the threader, so you could still get true continuations by defining something that worked like MAYBE but acted differently
19:22:06 <ais523> however, it wouldn't get the special optimisation the compiler does on MAYBE, so your program would get slower the more continuations were in existence
19:22:48 * ais523 has even more insane plans to extend the threader to be able to do lambdas too, but that's still an early-stage concept
19:23:19 * ais523 gets to work on an INTERCAL continuation library, just for fun
19:23:46 <ais523> hmm... INTERCAL has variables. Should INTERCAL continuations record and restore those? The problem doesn't come up in Scheme.
19:23:54 -!- okopol has quit (No route to host).
19:23:55 <ehird> ais523: scheme has variables.
19:23:55 <ais523> I'd be inclined to say that they should
19:24:01 <ehird> ais523: here, i'll define a continuation:
19:24:06 <ehird> you copy the call stack, not the heap
19:24:09 <ehird> so you get local variables etc
19:24:13 <ehird> but not globals
19:24:13 <ehird> AND
19:24:25 <ehird> if you store a reference into a local, the object referenced is changed later on, then you jump back
19:24:29 <ehird> then the object in the reference has changed
19:24:37 <ehird> so: a continuation is a copy of the call stack.
19:24:45 <ehird> calling it just wipes the call stack and replaces it with the copy
19:24:47 <ais523> ehird: INTERCAL doesn't store 'auto' variables on the call stack
19:24:51 <ais523> instead each variable has its own stack
19:24:59 <ehird> ais523: dynamic scoping?
19:25:03 <ehird> then continuations will be hard
19:25:19 <ehird> ais523: but, just copy every variable
19:25:21 <ehird> it SHOULD work
19:25:22 <ais523> it's more that you can change the scoping mechanism at will, even during the execution of a program
19:25:31 <ehird> http://en.wikipedia.org/wiki/Continuation#Example just get that working
19:25:32 <ehird> ;)
19:25:47 <ais523> but I'll store all the variables and the stashes inside the continuations, because that's what the compiler currently does
19:26:29 <ais523> except the top STASH element for .1, so you can send a 16-bit integer back
19:27:03 <ehird> ais523: is there anything that comppiles down to intercal?
19:27:15 <ehird> actually, wait
19:27:22 <ehird> ais523: the only way you can do continuations when using the c stack
19:27:27 <ehird> is copying the c stack's memory
19:27:37 <ehird> ais523: i'll make it easy for you
19:27:38 <ehird> http://homepage.mac.com/sigfpe/Computing/continuations.html
19:27:41 <ehird> there's continuations for pure c
19:27:48 <ehird> older-style c though
19:27:53 <ehird> but you should be able to utilize it
19:27:59 <ais523> ehird: I already have code that copies memory around
19:28:09 <ais523> and I'm not writing a C library to give continuations to INTERCAL
19:28:20 <ais523> but instead writing the code to give continuations to INTERCAL entirely in INTERCAL itself
19:28:23 <ehird> ais523: ok then
19:28:27 <ais523> the latest version is self-extending
19:28:27 <ehird> ais523: but look at that c code
19:28:28 <ehird> it may hhelp
19:29:06 <ais523> ehird: I have done
19:31:54 <ehird> ais523: makecontext/setcontext may be proper continuations in c
19:31:55 <ehird> i am testing
19:32:57 -!- ihope_ has joined.
19:33:34 <ehird> char func1_stack[16384];
19:33:34 <ehird> heh
19:41:54 <ehird> ais523: challenge - once doing the continuations, implement prolog in it
19:41:55 <ehird> :)
19:42:18 <ais523> ehird: look at pit/tests/permute.i in the C-INTERCAL distributions
19:42:30 <ais523> it uses backtracking to write out all permutations of I-VI
19:42:48 <ais523> the backtracking already exists, it's just continuations that need to be written
19:43:00 <ais523> and I have plans for a Prolog to INTERCAL compiler already
19:43:16 -!- wildhalcyon has quit (brown.freenode.net irc.freenode.net).
19:43:16 -!- pikhq has quit (brown.freenode.net irc.freenode.net).
19:43:17 -!- sekhmet has quit (brown.freenode.net irc.freenode.net).
19:46:11 <ais523> hmm... netsplits are interesting things, especially as I seem to get a different server at Freenode every time I connect to it
19:46:41 <ais523> maybe clients should just try disconnect/reconnect if they aren't voiced or opped in the hope that they end up on the large side of the netsplit at random
19:46:42 -!- Judofyr has joined.
19:47:44 -!- wildhalcyon has joined.
19:48:42 <ais523> heh, wildhalcyon did
19:49:48 <wildhalcyon> Did what?
19:49:55 -!- pikhq has joined.
19:49:57 <ais523> <ais523> maybe clients should just try disconnect/reconnect if they aren't voiced or opped in the hope that they end up on the large side of the netsplit at random
19:50:01 -!- ihope has quit (Read error: 110 (Connection timed out)).
19:50:05 <Deewiant> ais523: you might have only one server reasonably close by
19:50:15 <ais523> Deewiant: yes
19:50:33 <ais523> but I tend to get a different server every time I connect, so maybe it should be a preference, or the client should experiment and find out
19:50:34 <Deewiant> in which case, reconnecting across the world just to bypass a netsplit seems a bit.. pointless
19:51:00 <Deewiant> well, if you connect to the generic irc.freenode.net or whatever they usually dole out servers at random
19:51:21 <Deewiant> I don't know, maybe it tries to give a fast server
19:52:10 <Deewiant> but I find that I usually connect to a server on the west coast of the USA (I'm in Europe) if I connect to the 'generic server'
19:53:24 <ehird> i get kubrick often
19:53:33 <ehird> [16:28] [MOTD] - kubrick.freenode.net Message of the Day -
19:53:33 <ehird> [16:28] [MOTD] - Welcome to kubrick.freenode.net in Los Angeles, CA, USA! Thanks to
19:53:33 <ehird> [16:28] [MOTD] - Velocity Networks (www.vel.net) for sponsoring this server!
19:53:33 <ehird> [16:28] [MOTD] -
19:59:26 -!- sekhmet has joined.
19:59:47 * ais523 is on leguin at the moment, which is in Sweden
20:12:49 <ehird> hm
20:12:55 <ehird> i really DO want a list of languages with continuations
20:12:55 <ehird> :-)
20:15:10 <ais523> well, INTERCAL once I finish this, Unlambda, Underlambda, Subtle Cough, that's about it for esolangs (from memory)
20:15:31 <slereah_> Subtle Cough has a whole lot of it.
20:15:54 * slereah_ does not know what continuation is.
20:16:02 <ais523> slereah_: pity it's an unusable language, oerjan and I independently proved that there are only three non-equivalent programs, two of which just end and one of which is an infinite loop
20:16:25 <olsner> you're working on continuations for intercal?
20:16:30 <ais523> olsner: yes
20:16:40 <ais523> I'm actually implementing them in INTERCAL itself, just to show that it's possible
20:16:42 <slereah_> Heh.
20:17:16 <olsner> so you're extending some intercal compiler/interpreter written in intercal?
20:17:18 <ais523> (the upcoming C-INTERCAL 0.28 has a CREATE statement that allows you to create new syntax on the fly; CLC-INTERCAL has had a similar statement with different syntax for a while)
20:17:24 <ehird> didn't mean esolangs, hehe
20:17:31 <slereah_> I wonder if SKI + c is equivalent to lambda-mu calculus.
20:17:33 <ehird> ais523: i proved that independantly too
20:17:39 <ais523> olsner: the compiler is written in C, and compiles to C
20:17:49 <ais523> but you can write extensions to it in either C or INTERCAL
20:17:53 <ehird> olsner: ais523 maintains C-INTERCAL
20:18:01 <ehird> he recently added a way to write extensions to it in INTERCAL itself
20:18:12 <ais523> so recently it hasn't been publically released yet
20:18:22 <ais523> it was on Thursday IIRC, or possibly Friday
20:18:23 <olsner> I hadn't imagined actual users of intercal actually existed
20:18:34 <ehird> ais523: here's one for the qdb -- Chirpy, on approval of a quote, sends a trackback/pingback to every URL in the quote which takes them
20:18:37 <ehird> cool
20:18:54 <ehird> olsner: certainly there aren't many intercal programs
20:19:07 <ehird> but the implementations do sure support a lot of advanced stuff that no program will ever utilize ;)
20:20:40 <ais523> ehird: I count 62 INTERCAL programs as examples supplied with C-INTERCAL, many of which aren't very interesting
20:20:56 <ais523> and we add any INTERCAL programs we find as examples, as long as the licences are compatible
20:21:12 <ais523> (CLC has its own examples too, some of which are just tests)
20:21:29 <ehird> ais523: I want a combination of Prolog, ML and INTERCAL
20:21:31 <ehird> in one thing
20:21:34 <ehird> I don't know how
20:21:37 <ehird> but it should look crazy
20:21:42 <ais523> (but the infamous CLC-INTERCAL 'Hello, world' isn't in the C-INTERCAL example repository because it doesn't work on C-INTERCAL)
20:22:03 <ais523> ehird: Prolog+INTERCAL's more or less been done; you'll have to tell me about ML, though, because I know the name but no more than that
20:22:21 <ehird> ais523: ML inspired Haskell
20:22:25 <ehird> It's strict and non-pure though
20:22:29 <ais523> ah
20:22:31 <ehird> ais523: Ocaml descends from it
20:22:35 <ehird> Wikipedia it, the article's good
20:22:43 <ehird> (ML & Ocaml are notorious for being crazy fast)
20:23:00 * ais523 will have to actually implement their plans for Functional INTERCAL some time
20:23:49 <ais523> I think it only needs one tiny extra ability, the ability to create a woven thread but with some variables' read-only statuses themselves made read-only
20:24:12 <olsner> I should take the time to learn intercal some day...
20:24:36 <ais523> the woven threads would be dormant, but could NEXT FROM the current thread if no other threads wanted to
20:25:18 <ais523> olsner: when you do, read the C-INTERCAL and CLC-INTERCAL docs for a perspective on what the language is like nowadays (http://intercal.freeshell.net), most docs are out of date
20:25:40 <ais523> I meant http://intercal.freeshell.org
20:25:56 * ais523 managed to get freeshell and freenode confused again
20:27:51 <ais523> DO CREATE (8200) GET CONTINUATION IN .1 RECEIVING .2
20:27:56 <ais523> DO CREATE (8250) CONTINUE WITH .1 SENDING .2
20:28:14 <ais523> ehird: how's that for syntax for INTERCAL continuation statements?
20:28:34 <ehird> ais523: no, sorry
20:28:37 <ais523> (ignore the bits from the line label and earlier, the bit after the line label is the syntax that's created)
20:28:37 <ehird> those continuations are useless
20:28:42 <ais523> ehird: why
20:28:51 <ehird> ais523: it's (call/cc (lambda (k) (set! .2 k))
20:28:56 <ais523> INTERCAL doesn't have first-class functions, remember
20:28:57 <ehird> you need (call/cc (lambda (k) ...))
20:29:00 <ehird> ais523: yes
20:29:03 <ehird> ais523: but
20:29:07 <ehird> just allow a check:
20:29:12 <ehird> 'have i just thawed out of a continuation?'
20:29:15 <ehird> if so, then ..., else ...
20:29:35 <ais523> I was planning to use the second arg for a check, the same way C does it with setjmp/longjmp
20:29:44 <ehird> ais523: then you can't recv some values
20:29:50 <ais523> so you get 0 if you are receiving from a continuation, and >0 otherwise
20:30:14 <ais523> ehird: first, you can't send a 0 in C either, and second, what's wrong with not being able to receive some values (remember this is INTERCAL we're talking about)
20:30:18 <ehird> 'get cont in .1 recv .2; if thawed? ...; else !!!' --> '(set! .2 (call/cc (lambda (k) (set! .1 k) !!!))) ...'
20:30:32 <ehird> ais523: first, C doesn't have continuations, and second I guess not but still..
20:30:35 <ehird> 0 isn't an uncommon value.
20:30:40 <ais523> but maybe I should get it to ABSTAIN #1 FROM NEXTING instead as a notification
20:30:58 <ais523> in other words, if you've just thawed, turn off procedure calls until the user turns them back on
20:31:12 <ais523> that way you wouldn't need to do an if, you'd just do the call and if you'd just thawed, nothing would happen
20:31:18 <ais523> then you'd turn them back on on the next line
20:31:37 <ais523> that's more INTERCAL-style, I'll do that and it still has the same syntax
20:31:48 <ehird> ais523: you'll need closures
20:31:51 <ehird> hmm
20:31:51 <ehird> maybe not
20:32:03 <ehird> ais523: ah, wait
20:32:11 <ehird> ais523: it's useful for a continuation-using procedure to be able to return after a call/cc
20:32:16 <ehird> if you can just call a procedure it's not that useful
20:32:25 <ais523> ehird: but you can return
20:32:40 <ais523> why do you think you wouldn't be able to?
20:33:01 <ais523> in INTERCAL it's even possible to return from a different procedure than the one you're in at the moment, which causes hilarity to ensue
20:33:08 <ehird> ais523: oh, good.
20:33:14 <ehird> then you just have to return 2 levels down
20:33:18 <ehird> very good
20:33:19 <ais523> DO RESUME #2
20:33:31 <ehird> ais523: what's the syntax for intercal procedure calls?
20:33:36 <ais523> DO (1000) NEXT
20:33:49 <ais523> but the same syntax is also used for GOTOs
20:34:04 <ais523> you just have to discard the return address immediately afterwards with DO FORGET #1
20:35:00 <olsner> lol, ick and yuk
20:35:35 <ehird> ais523: what about a string with 'hello world' in it
20:35:37 <ehird> 100231238123 lines? ;)
20:35:57 <ais523> it's nontrivial, but I've got a copy lying around somewhere, I'll paste it if you like
20:36:25 <ehird> ais523: not a printing one
20:36:28 <ehird> i mean something i can give to a procedure
20:36:44 <ais523> ehird: I know
20:36:53 * ehird is thinking of a page that displays 'Hello, world!' and an OK box, then 'Goodbye, world!' and an OK box, then loops
20:36:54 <ehird> :D
20:36:57 <ehird> so, in pseudocode
20:37:11 <ehird> while 1: show_msg('Hello, world!'); show_msg('Goodbye, world!')
20:37:21 <ais523> DO;1<-#3
20:37:23 <ais523> DO;1SUB#1<-#48376$#10752
20:37:23 <ais523> DO;1SUB#2<-#28676$#2836
20:37:23 <ais523> PLEASE;1SUB#3<-#61120$#896
20:37:24 <ehird> where, of course, show_msg stores a continuation then kills off the current execution thread
20:37:38 <ehird> ais523: oh, that's not too bad
20:37:55 <ais523> (that's machine-generated of course, and is compressed as 4 bytes to the array element and so needs to be unpacked before printing)
20:43:48 <ais523> hmm... I need to generate unique numbers for each continuation
20:44:08 <ais523> that means storing the lowest unused number somewhere were it won't be affected by continuation resumes
20:44:15 <olsner> hmm, maybe intercal should have a module system for registering line numbers
20:44:22 <ais523> maybe I can store it in a separate thread
20:44:29 <olsner> or some kind of tree structure rather than line numbers at all
20:44:53 <ais523> olsner: we have something 'better', in a twisted sense of the word. Because all known INTERCAL programs are stored in the same place, you can just look at them and pick a line number that doesn't conflict
20:45:03 <ais523> however I admit that that isn't ideal
20:46:01 <ais523> ehird: correction, that Hello, world! string was obviously packed 8-to-the-element, or there's no way it would fit in just 3 elements
20:49:05 <ehird> ais523: ah
20:49:14 <ehird> ais523: maybe there should be a string library
20:49:15 <ehird> that lets you do that
20:49:16 <ehird> ;)
20:49:28 <ais523> ehird: generally we use yapp.i in the INTERCAL distribution
20:49:45 <ais523> it's a filter that reads in a string on stdin and outputs an INTERCAL program that prints that string on stdout
20:50:33 <ais523> you can then just extract the relevant parts, allowing for the Turing Tape pointer (that is, C-INTERCAL string I/O specifies characters to output as offsets mod 256 from the previous character output, so you need to keep a state variable to do I/O correctly)
20:51:44 <ehird> ais523: ah, but the concisity would help
20:51:51 <ehird> & the fact that it would be less manual
20:52:05 <ais523> ehird: yes, it would be useful to have a string library
20:52:22 <ais523> a program for producing packed strings, and subroutines for printing them
20:52:30 <ehird> ais523: well, printing them and unpacking them and..
20:52:30 <ais523> maybe some things for input too
20:52:50 <ais523> extract individual characters, substring match...
20:52:56 <ais523> maybe even regexps while we're at it
20:58:36 <ehird> ais523: heh
21:01:26 * ais523 just found this in the Emacs changelog: "The old bindings C-M-delete and C-M-backspace have been deleted"
21:01:37 <ais523> I wonder how many people got caught out trying to use them before?
21:03:08 <SimonRC> lol
21:21:31 -!- ais523 has quit (""Going home"").
21:21:38 <pikhq> LMAO
21:22:45 <Sukoshi`> I use those bindings all the time!
21:23:51 <olsner> much simpler than good old M-x reboot and M-x kill-x-server
21:28:38 -!- RedDak has quit (Remote closed the connection).
21:29:59 <SimonRC> j0
21:38:41 * pikhq mutters at #gsoc
21:38:56 <pikhq> There may or may not be a deadline extension for Google Summer of Code applications.
21:39:29 <SimonRC> hm
21:43:25 <olsner> "may or may not"? what's the use of having that information?
21:43:41 <pikhq> olsner: None.
21:43:48 <pikhq> It's just irritating as fuck.
21:44:03 <pikhq> The deadline, BTW, is tomorrow.
21:44:09 <pikhq> (5:00 PST)
21:44:25 <slereah_> olsner: Maybe you're an intuitionist, and doesn't believe in the excluded middle :o
21:44:32 <slereah_> So there's a third option or something
21:45:53 <olsner> ah yes, a v \+a /= T if the middle is not excluded
21:47:38 -!- slereah_ has quit ("Konversation terminated!").
22:07:50 -!- RedDak has joined.
22:21:39 -!- RedDak has quit (Remote closed the connection).
22:33:00 -!- ehird has changed nick to ehirDoxCoding.
22:33:17 -!- ehirDoxCoding has changed nick to ehird.
22:37:51 <wildhalcyon> Hmm, people aren't warming up to my idea
22:37:53 <wildhalcyon> :-(
22:38:22 <ehird> what was it
22:39:10 <wildhalcyon> http://www.osdev.org/phpBB2/viewtopic.php?t=16641&sid=fc48cb502be44b2cb268e10886963cb7
22:39:26 <wildhalcyon> You can ignore the session id I suppose
22:39:31 <ehird> osdev.org? neat
22:40:17 <wildhalcyon> yeah, its a neat site
22:40:39 <ehird> i know it
22:43:09 <wildhalcyon> It seems like there's some people who just don't get my idea, and some people who don't think its worthwhile. No one says "Hmm, that might have real-world applicability!"
22:44:20 <ehird> wildhalcyon: it seems to be a good debate
22:44:27 <ehird> wildhalcyon: but your idea has no real-world applicability
22:44:29 <ehird> that is true
22:44:33 <wildhalcyon> Its a great debate, actually.
22:44:33 <ehird> interesting in theory
22:45:01 <wildhalcyon> "interesting" is the best response I've received so far.
22:47:21 <SimonRC> Surely this is not for Real World systems but is supposed to be esoteric?
22:47:29 <ehird> SimonRC: I sure hope so
22:48:21 <wildhalcyon> Well, its not meant to be quite as esoteric as you might think.
22:48:51 <wildhalcyon> Remove the 2D spatial programming language (fungeoid) and replace it with something more conventional. That's really the only esoteric part about it
22:49:04 <ehird> http://www.osdev.org/phpBB2/viewtopic.php?t=16587 lollynoob is more like lollyidiot
22:49:05 <ehird> :p
22:51:49 <ehird> wildhalcyon: Dex is funny
22:52:09 <ehird> did you see when he left the forum dramatically and said he was going to get rich from a web os?
22:52:34 <wildhalcyon> The problem is that lollynoob starts with a bad argument, makes a good point, then screws up with the rest of it.
22:52:50 <wildhalcyon> Who is dex?
22:53:24 <ehird> wildhalcyon: osdev.org user
22:53:45 <wildhalcyon> I haven't seen anything of him. But I just joined the site this week
22:55:04 <ehird> wildhalcyon: I visited the old osdev.org a few times
22:55:36 <ehird> it was a forum on mega-tokyo.com: http://www.mega-tokyo.com/forum/
22:55:46 <ehird> which also housed stuff for agi development
22:55:55 <ehird> (agi = sierra adventure game engine)
22:56:00 <wildhalcyon> ehird, it seems like it has potential, but I don't know if OS development is quite the right forum for this anyways
22:56:30 <ehird> & the best users on osdev.org are the ones from mt
22:56:34 <ehird> Brendan, etc
22:56:51 <wildhalcyon> Im starting the idea off as a simulation anyways. gamedev.net is probably better suited.
23:22:17 -!- Sukoshi` has changed nick to Sukoshi.
23:26:43 -!- jix has quit ("CommandQ").
23:41:50 -!- timotiis has quit ("leaving").
←2008-03-29 2008-03-30 2008-03-31→ ↑2008 ↑all