←2010-07-22 2010-07-23 2010-07-24→ ↑2010 ↑all
00:00:13 <aliseiphone> And of course the definitions are the usual near-inscrutable OED fare, at least 60's OED...
00:00:46 <aliseiphone> I can't believe they use IPA now! :(
00:01:39 <aliseiphone> IPA is incomprehensible to the non-dedicated; the old style was integrated into the word and merely provided helpful cues. Bah.
00:02:13 <aliseiphone> Besides, how do they handle non-/rhotic?
00:05:45 <AnMaster> ais523, anything wrong with current C-INTERCAL host?
00:05:56 <ais523> no
00:06:08 <ais523> I just thought MySpace would be a nicely ridiculous alternative
00:06:10 <ais523> I'm just not quite that mad
00:07:19 <AnMaster> hah
00:07:26 <AnMaster> night
00:07:54 <aliseiphone> grumble. Reddit now has a subscriber thing.
00:08:08 <aliseiphone> Guess it's time to build QWERTY.
00:09:00 <Sgeo> aliseiphone, supposedly, features that get rolled out to subscribers will be given to the public later
00:09:11 <Sgeo> And also, I'm planning on getting Reddit Gold
00:10:04 <aliseiphone> One, whatever; two, I'm not surprised. Enjoy your festering shitpile that now costs — but! But userpage sorting!
00:10:15 <aliseiphone> Bleh. Reddit sucks now :(
00:12:46 <aliseiphone> pikhq: Is truly believing someone is vocalising when they're just lipmimetalking a symptom of autism?
00:12:57 <aliseiphone> No? Then he's just crazy, then.
00:13:08 <pikhq> aliseiphone: Mmm? No. That's just being dumb.
00:13:10 <aliseiphone> *No? He's
00:13:50 <aliseiphone> pikhq: What about memorising everything EXCEPT just any single, incredibly common nonliteral phrase?
00:14:05 <aliseiphone> Nope? Just annoying, then.
00:14:34 -!- cheater99 has quit (Read error: Connection reset by peer).
00:14:54 <aliseiphone> He will go on and on about "BUT IT MAKES NO SENSE" and whinge even after its nonliterality is revealed — then forget it for next time.
00:14:59 <aliseiphone> Constantly. Forever.
00:15:10 -!- cheater99 has joined.
00:15:33 <aliseiphone> I am in Hell and Satan is twelve years old.
00:15:48 <pikhq> aliseiphone: Partly autism, mostly just being stupid.
00:16:07 <pikhq> (namely, the *ability* to give a fuck is autism, the *actually* giving a fuck is being stupid)
00:17:04 <aliseiphone> pikhq: Yeah, I don't think he WANTS to understand things like "joke", "idiom", "tone of voice", "opinion".
00:17:16 <aliseiphone> He enjoys whining. A lot.
00:17:58 <aliseiphone> Maybe I should rearrange his comics some time so he gets to spend years putting them back >__>
00:18:21 <Sgeo> aliseiphone, I was planning to send a postcard
00:18:40 <aliseiphone> Sgeo: ???
00:18:54 <Sgeo> You can send a postcard to get a month of Reddit Gold
00:19:04 <Sgeo> At least for now
00:19:39 <pikhq> aliseiphone: How odd.
00:19:41 <aliseiphone> pikhq: What about insisting he verbally acknowledged something you said several times after having what I will term "OCD process switching hangup", despite being utterly silent?
00:19:50 <aliseiphone> Symptom of anything other than crazy?
00:20:10 -!- SevenInchBread has joined.
00:20:15 <pikhq> aliseiphone: Uh. WTF?
00:20:30 <aliseiphone> Okay; diagnosis: crazy.
00:20:52 <pikhq> Also: in my experience, the *idea* of a joke isn't exactly hard for autistics to understand. Just some kinds of humor fall flat.
00:21:31 <aliseiphone> pikhq: Any form of joke that isn't... Saying something he believes to be true while laughing... he considers a "lie".
00:21:47 <pikhq> aliseiphone: ... He's busy being an idiot then.
00:21:51 <aliseiphone> He gets especially offended if an adult plays along and it is later revealed.
00:22:14 <aliseiphone> Before it is revealed he tries to convince you of not what-you-joked.
00:22:30 -!- CakeProphet has quit (Ping timeout: 276 seconds).
00:22:50 <pikhq> Might I suggest murder?
00:23:01 <aliseiphone> He finds sarcasm, even overtly droooning saaarcasm of oobviousness, unacceptable because it's "too hard" to detect.
00:23:19 <aliseiphone> So he's tone deaf too. And lives outside of tiiiiiiimmeee.
00:23:19 <pikhq> How odd. I absolutely love sarcasm.
00:23:44 <aliseiphone> Murder sounds good.
00:23:48 <pikhq> I'll sometimes actually *miss* sarcasm, but that's quite different from not understanding it in general.
00:23:58 <pikhq> Arguably, I like sarcasm too *much*.
00:24:17 <oerjan> you don't say
00:24:20 <aliseiphone> pikhq: What about inability to believe that the casing around a sausage is intestine?
00:24:26 <pikhq> But, then. I'm 20. This is generally true.
00:24:29 <aliseiphone> Is that a symptom of autism?
00:24:35 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
00:24:45 <Sgeo> It occurs to me that there's a fairly well know virtual world I haven't explored
00:24:57 <pikhq> aliseiphone: ... Wait, wait, wait. You have found an autistic person that wouldn't be content to read an encyclopedia all day long?
00:25:03 <aliseiphone> Sgeo: "The Universe"?
00:25:20 <aliseiphone> pikhq: Well, he believed it when someone who isn't me said it.
00:25:40 <aliseiphone> Maybe I tried to convince him the moon is made of cheese one time too many.
00:25:44 -!- cheater99 has quit (Ping timeout: 240 seconds).
00:25:47 <Sgeo> aliseiphone, Farmville
00:25:48 <pikhq> aliseiphone: Have you considered post-term abortion?
00:25:52 <Sgeo> I know nothing about it
00:25:58 <pikhq> Sgeo: Have you considered post-term self abortion?
00:26:23 <aliseiphone> pikhq: Also, I don't think he reads anything but comics—sorry, "graphic novels".
00:26:57 <pikhq> aliseiphone: You have found an autistic person who is both literate and *doesn't* like reading. This... Is shocking.
00:27:01 <aliseiphone> Instead of Superman beating up a bad guy he beats up a bad guy on more, glossier pages and with a stronger book spine.
00:27:36 <pikhq> aliseiphone: A graphic novel != a comic on a glossier pages, BTW.
00:27:44 <aliseiphone> I know. I know.
00:27:51 <aliseiphone> But what he reads is.
00:28:24 <pikhq> So... He's reading some of the inferior things in the comic medium. Wonderful.
00:28:41 <aliseiphone> Enter library; exit with 10 thick hardback Superman anthologies. Amusing to watch.
00:29:05 * Sgeo can imagine picking up Order of the Stick books
00:30:06 <aliseiphone> pikhq: He raged at some of them being rated 18 in the library system because IT IS LITERALLY IMPOSSIBLE TO DEPICT THE LAST SON OF KRYPTON IN AN ADULT SITUATION ROAAARGH
00:30:52 <pikhq> aliseiphone: I think he'd absolutely despise Niven's essay "Man of Steel, Woman of Kleenex".
00:31:07 <aliseiphone> God is his voice annoying too. And his way of making demands followed by "please".
00:31:10 <pikhq> (which is a favorite of mine)
00:31:14 <aliseiphone> Can I just kill the guy?
00:31:23 <Sgeo> Anything can be depicted in an adult situation
00:31:33 <pikhq> aliseiphone: Would you like to be institutionalised permanently?
00:31:37 <pikhq> Sgeo: There Is Porn Of It.
00:31:45 <aliseiphone> Sgeo: Thank you, Obvious.
00:31:58 <aliseiphone> PREQUEL BEFORE HE BECAME A CAPTAIN
00:32:09 <aliseiphone> pikhq: No. :P
00:32:23 <pikhq> aliseiphone: Then murder is not recommended.
00:33:28 <aliseiphone> pikhq: He constantly truly believes he is almost "cured" when he has a near breakdown after someone brushes the back of his hands with their close on the way out of the Wrong Elevator (On the wrong side!).
00:33:40 <aliseiphone> * with their clothes
00:33:44 <aliseiphone> **with
00:34:01 <aliseiphone> "They're dirty aaaaaah!"
00:34:07 <pikhq> aliseiphone: Cure? Autism? Whaaaaaat?
00:34:14 <aliseiphone> pikhq: No. OCD.
00:34:23 <pikhq> Cure? OCD? Whaaaaaat?
00:34:42 <pikhq> As an aside: autism + OCD cannot be pleasant.
00:34:47 <aliseiphone> Then he tries to close taxi's door with pinky. Wince. Uses hand. "Now I have to wash both."
00:35:04 <aliseiphone> Seatbelt. Yeah. Taxi driver ended up doing that one.
00:35:44 <aliseiphone> Journey's end. It's okay; I can CRAWL out from underneath the seatbelt!
00:35:57 -!- jcp has quit (Ping timeout: 260 seconds).
00:36:02 <aliseiphone> No? I can press the release button with my ELBOW!
00:36:21 <pikhq> Don't they, uh, have effective medication for OCD?
00:36:47 <aliseiphone> pikhq: They give him pills. Probably no better than placebo.
00:36:56 <aliseiphone> If not, what is he like without them?
00:37:05 <pikhq> aliseiphone: Oh, right. Unit's run by idiots.
00:37:31 <aliseiphone> They wanted to give me pills. I refused because I'm not crazy and enjoy this mental state.
00:37:43 <aliseiphone> Surprised that worked.
00:37:55 -!- jcp has joined.
00:38:12 <pikhq> (if a medicine does not help with a condition, *fucking stop the medication*. I thought that was the first freaking rule of medication.)
00:38:26 <aliseiphone> pikhq: He can't touch the Other
00:38:36 <aliseiphone> One of two IDENTICAL sofas.
00:38:44 <aliseiphone> Now if I ever want to destroy him
00:38:52 <aliseiphone> I will mix the heads and seats of both
00:39:04 <aliseiphone> He will be utterly helpless
00:39:46 <aliseiphone> Wow, that was the work of a poet and this fact was obscured to me.
00:40:06 <pikhq> You may praise thy muse.
00:40:11 <pikhq> ...
00:40:20 <aliseiphone> pikhq: What else, I'd
00:40:24 <pikhq> Thou may wish to praise thine muse.
00:40:35 <aliseiphone> empty the box of hand wipes—antiseptic
00:40:49 <pikhq> Erm. s/thine/thy/
00:40:52 * pikhq fails
00:40:56 <aliseiphone> rearrange that pristine, sterile "display" of comic books
00:41:11 <pikhq> 負けだ
00:41:11 <aliseiphone> (covering games stereo & DVDs)
00:41:25 <aliseiphone> move his bedroom
00:41:38 <aliseiphone> make the bathrooms he uses, out of order
00:41:53 <pikhq> aliseiphone: You have, what, one more week as an in-patient?
00:42:00 <aliseiphone> stuff him onto a crowded tube in America ...
00:42:23 <aliseiphone> ... stop people opening doors for him
00:42:39 <aliseiphone> make him sit down in that foyer
00:43:04 <aliseiphone> and lock his door. (He'd
00:43:23 <aliseiphone> never be able to get out, even with a lock on the inside.)
00:43:33 <Sgeo> aliseiphone, please don't turn into a bully
00:43:34 <pikhq> I do believe that you love free verse.
00:43:40 <aliseiphone> pikhq: Yes. And he is on holiday for two weeks!
00:43:57 <aliseiphone> Thank god & why don't I get a holiday.
00:44:13 <aliseiphone> Sgeo: Can't I fucking rant? Try living this!
00:45:06 <aliseiphone> pikhq: He doesn't come downstairs... So I hopefully will never see him again.
00:45:55 <pikhq> aliseiphone: Win
00:46:23 <aliseiphone> pikhq: But I have a tiny copy of him in my head now.
00:46:35 <aliseiphone> I want a lobotomy.
00:47:20 <aliseiphone> BTW, while I have to do things like "class" and "group" he wiles away his days drawing comics and cometing Z
00:47:36 <aliseiphone> *completing Mario Galaxy 2
00:47:40 <aliseiphone> in four days.
00:47:56 <aliseiphone> Still complains. Naturally.
00:48:56 <aliseiphone> I'm just glad I'm not his parents.
00:49:14 <aliseiphone> Can they really possibly still love him? Twelve years of it!!
00:49:15 <pikhq> aliseiphone: You do not want a lobotomy.
00:49:31 <aliseiphone> I've only had *months* and have 50% grey hairs!
00:49:44 <aliseiphone> pikhq: Oh.
00:50:58 <aliseiphone> Incidentally he has abandoned his career as comic writer/drawer for the more realistic paeleontology. XD
00:51:39 <aliseiphone> I'm pretty sure this is just taken off "Friends" which he for some inexplicable reason watches repeats of religiously.
00:51:59 <aliseiphone> On the main TV of course, so there's even less for anyone else to do.
00:52:28 -!- cheater99 has joined.
00:52:35 <pikhq> aliseiphone: Why couldn't he be interested in something a bit more... At all interesting?
00:52:42 <pikhq> Like, say, paleontology?
00:53:01 <aliseiphone> Perhaps this is all a ludicrously vivid nightmare.
00:53:25 <aliseiphone> Actually on several occasions I have entertained the idea that I am in a work of fiction here.
00:53:46 <pikhq> Author's a right asshole.
00:54:03 <aliseiphone> If I am, (a) wow. Greatest novellist of all time and (b) FUCKING STOP IT
00:54:11 <aliseiphone> *novelist
00:54:43 <aliseiphone> (c) is there a happy ending I don't mind spoilers :P
00:55:18 <Madk> I made the Fibonacci sequence in my super-awesome new language
00:55:31 <aliseiphone> Madk: Ah, modesty.
00:55:40 <Madk> It's stinking hard to write programs in
00:55:49 <Madk> not because the commands are limiting, no
00:56:03 <Madk> it takes place on a 2d grid
00:56:08 <aliseiphone> pikhq: If you said you'd keep your eyes peeled for something and I went on about how that would be really painful—would you punch me?
00:56:13 <Madk> every instruction pointer can hold 2 bytes
00:56:27 <pikhq> aliseiphone: Depends on how you said it.
00:56:38 <pikhq> aliseiphone: And how often you say things like that.
00:56:42 <Madk> you have to make a ton of pointers work together despite different operations
00:56:59 <pikhq> aliseiphone: If I didn't punch you, I'd either groan or giggle.
00:57:04 <Madk> and if they have anything to do with each other their lines for code have to intersect
00:57:10 <aliseiphone> pikhq: "Concerned" tone of voice. Not totally full volume. Prolonged and sparse utterances. And, all the time.
00:57:19 <aliseiphone> Punch it is then. Thanks for the advice.
00:57:22 <pikhq> Okay, I'd fucking punch you.
00:57:27 <Madk> for example, my fibonacci sequence program is 2 entirely separate program
00:57:51 <Madk> one to output the sequence and another to end the program in the time it takes the sequence to reach 233
00:58:01 <aliseiphone> Madk: Sounds fun.
00:59:03 <Madk> it's called "Cardinal" if you look on the wiki.
00:59:34 <aliseiphone> Madk: I guess the current talk must be a bit confusing for you X-P
00:59:49 <Madk> haven't been paying attention, really :P
00:59:57 <Madk> busy trying to figure out a bug
01:00:49 -!- jcp has quit (Ping timeout: 240 seconds).
01:01:13 <aliseiphone> Probably a good thing. Tl;dr: I am in a "children's sorta blend between boarding school and mental institution" because crazy people don't care about the Universal Declaration of Human Rights. Agony and subsequent venting ensues.
01:01:24 <cheater99> i hate the internet
01:01:31 <aliseiphone> I'll be back at home for good soon, though... probably.
01:01:56 <aliseiphone> cheater99: why
01:02:30 <cheater99> because :(
01:03:22 <aliseiphone> cheater99's girl internet slandered him
01:04:04 <aliseiphone> pikhq: Rate this game: Word is picked randomly. Dictionary definition given. Three guesses as to the word. etc. This is what boredom causes.
01:04:20 <aliseiphone> V
01:04:25 -!- jcp has joined.
01:04:50 <aliseiphone> *Clearly the name should be a quantum computing pun (reverse dictionary lookup)
01:04:52 <cheater99> i cannot pay for it
01:04:52 <cheater99> with my card
01:04:52 <cheater99> it's about to run out
01:04:52 <cheater99> it's gay
01:04:52 <cheater99> LIFE SUX
01:04:54 <cheater99> ok
01:04:54 <cheater99> i think it worked now
01:05:07 <cheater99> yes, it seems to have worked
01:05:17 <aliseiphone> yay cheater99 will disappear soon
01:05:17 <cheater99> aliseiphone: i have many girls. which one do you mean?
01:05:19 <aliseiphone> darn
01:05:32 <cheater99> -.-
01:05:34 <cheater99> shtup alise
01:05:57 <aliseiphone> well bye peeps.
01:06:02 <cheater99> BYE.
01:06:06 <aliseiphone> Bye.
01:06:10 -!- aliseiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
01:06:12 <cheater99> YEAH BYE.
01:06:15 <cheater99> phew
01:09:12 -!- SimonRC has quit (Ping timeout: 260 seconds).
01:12:20 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
01:18:58 -!- SimonRC has joined.
01:30:50 -!- FireFly has quit (Quit: swatted to death).
01:33:15 -!- Gregor has quit (Remote host closed the connection).
01:37:33 <Madk> oerjan: hehehe, sorry XD
01:39:21 -!- Gregor has joined.
01:39:44 <oerjan> Madk: YOU APPEAR TO BE CONSISTENTLY AGAINST THE ORDER OF THINGS
01:40:20 <oerjan> wait, _inconsistently_
01:40:31 <Madk> oerjan: I don't know whay I was thinking r was after t
01:40:47 <Madk> oerjan: msu be the hyphen
01:40:56 <Madk> must be*
01:42:09 <oerjan> well, you _are_ mad, k?
01:42:59 * Gregor smacks oerjan
01:43:02 <Madk> lol
01:43:29 <oerjan> how gregarious of you
01:44:05 * Gregor smacks oerjan in an erotic manner
01:44:19 <Madk> *whistles*
01:47:10 -!- augur has quit (Remote host closed the connection).
01:47:24 -!- augur has joined.
02:21:55 <pikhq> Hmm... Windows NT 3.1 had a POSIX subsystem...
02:21:59 <pikhq> MWAHAHAHAH
02:32:14 -!- Madk has quit (Ping timeout: 260 seconds).
02:44:51 -!- Madk has joined.
02:55:59 <augur> pikhq: o.o;
02:57:23 <Sgeo> Dear DAEMON Tools: I thought I _specifically_ said not to install a toolbar!
03:08:17 -!- poiuy_qwert has joined.
03:09:07 -!- p_q has quit (Ping timeout: 265 seconds).
03:17:00 -!- Gregor has quit (Quit: Page closed).
03:19:04 -!- Gregor has joined.
03:20:37 <Sgeo> Someone competent finally has access to the codebase.
03:21:09 -!- oerjan has quit (Quit: Good night).
03:24:00 -!- Madk has quit (Ping timeout: 258 seconds).
03:32:28 -!- jcp has quit (Ping timeout: 252 seconds).
03:34:26 -!- jcp has joined.
03:41:40 -!- Wamanuz4 has quit (Ping timeout: 276 seconds).
03:46:49 -!- CakeProphet has joined.
03:48:07 -!- SevenInchBread has quit (Ping timeout: 246 seconds).
03:57:27 -!- jcp has quit (Ping timeout: 240 seconds).
04:00:57 -!- jcp has joined.
04:13:12 -!- kwertii has quit (Quit: bye).
04:27:57 <Gregor> cpressey: Who is Diana Gibraiel, why don't I know her, and why is she wearing a fez in her Facebook picture?
04:28:11 <Gregor> For you see, I too am wearing a fez in my Facebook picture. And so I feel we must be kindred spirits.
04:28:55 <pikhq> She is clearly a wearer of fez.
04:29:31 <Gregor> Part of the Fez Mafia.
04:29:39 <Gregor> Which totally does not exist so don't go looking it up or anything.
04:30:11 * pikhq shall put on his trenchcoat and investigate
04:30:26 <Gregor> HEY COME ON GUY I SAID IT DOESN'T EXIST
04:30:29 <pikhq> Investigate as to whether or not a fez & trenchcoat is the most awesome thing ever.
04:30:33 <pikhq> :P
04:30:40 <Gregor> Daaamn
04:30:45 <Gregor> I don't have my trenchcoat here in Washington.
04:30:51 <Gregor> I could totally provide evidence.
04:30:55 <Gregor> And be like "BOOYA"
04:30:59 <pikhq> Hah.
04:31:04 <Gregor> "Only when your hair is like a POWERFUL MANE"
04:31:08 <pikhq> Sadly, I am short on fez.
04:31:16 <pikhq> But not on hair.
04:31:35 <Gregor> DO WE NEED TO HAVE A HAIR-OFF? THE KIND THAT DOESN'T INVOLVE REMOVING HAIR BUT COMPARING HAIR LENGTH!
04:31:51 <pikhq> NO
04:31:54 <Gregor> OK
04:31:55 <Gregor> NOTED
04:32:04 <pikhq> BEARD, HOWEVER
04:32:16 <Gregor> Oh, well I can't compete there at all.
04:32:42 <Gregor> Although come to think of it, I do need a shave.
04:32:48 <pikhq> Victorious! In spite of having a very short & kempt beard ATM!
04:32:59 <pikhq> (the UNIX beard was getting a bit... Much.)
04:36:09 <Gregor> I think in terms of total-head-hair-volume I win.
04:36:22 <Gregor> Total hair volume Idonno, I don't know how hair you are :P
04:37:05 <Gregor> Erm
04:37:08 <Gregor> How hairY
04:37:16 <pikhq> I *do* keep fairly long hair...
04:37:22 <pikhq> Also, I am furry.
04:37:28 <Gregor> <pikhq> In a jar on my counter
04:37:44 <pikhq> Not "a furry", just. I have hair everywhere.
04:38:05 <Gregor> Whereas I am distressingly smooooooth :P
04:38:17 <pikhq> My freaking toes have hair!
04:38:34 <Gregor> My freaking ... legs have hair. And forearms. Aaaaaaand that's it.
04:38:57 <Gregor> And by "have hair", I mean "have a non-zero but barely visible amount of hair"
04:39:36 <pikhq> Hah.
04:39:40 <Gregor> Also, yes, my legs DO have forearms. Just in case you got confused by my dangling participle.
04:39:49 <pikhq> LMAO
04:52:56 -!- augur has quit (Remote host closed the connection).
04:53:06 -!- augur has joined.
06:16:27 -!- Sgeo_ has joined.
06:17:08 -!- Sgeo has quit (Ping timeout: 265 seconds).
06:37:40 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
06:44:41 -!- Quadrescence has quit (Ping timeout: 265 seconds).
06:50:22 -!- Quadrescence has joined.
07:18:21 <CakeProphet> Hello everyone
07:18:32 <CakeProphet> so you are cordially invited to my birthday party this Saturday
07:18:43 <CakeProphet> where we will be sporting two handles of Smirnoff
07:18:48 <CakeProphet> unfortunately, most of you live in other countries
07:18:53 <CakeProphet> so I understand if you will be unable to attend.
07:19:54 <CakeProphet> but if you live near Jasper, Georgia, USA
07:19:58 <Gregor> Also several of us don't drink.
07:20:00 <CakeProphet> then please do come by. :)
07:20:07 <CakeProphet> Gregor: eh, it's optional.
07:20:08 <Gregor> However we do now know where to rape^H^H^H^Hfind you.
07:20:47 <CakeProphet> programmers are oddly sober.
07:20:56 <CakeProphet> I think I would program better drunk.
07:20:59 <CakeProphet> at least slightly drunk
07:21:13 <Gregor> That sounds like people who say they drive better just a little buzzed.
07:21:19 <CakeProphet> ...well, no
07:21:32 <Gregor> That's usually moments before I say "BUZZED LIKE THIS?!" and then cut them to shreds with a chainsaw.
07:21:34 <Gregor> *buzzzzzzzz*
07:21:53 <CakeProphet> there is a point where one becomes better at certain skills
07:22:05 <CakeProphet> perhaps not driving.
07:23:15 <pikhq> CakeProphet: Many programmers tend to dislike disabling themselves mentally.
07:23:26 <pikhq> Though still others absolutely love it.
07:23:31 <Gregor> http://codu.org/projects/vcards/demo/ Who wants to turn this into something that has a server? :P
07:23:32 <CakeProphet> well...hmmm
07:23:54 <CakeProphet> I guess you are disabling yourself mentally. But that's what makes it great. :)
07:24:02 <pikhq> And still others absolutely love various illegal drugs, in particular ones that are claimed to "enhance" ones mental state in some sense.
07:24:12 <pikhq> (psychadelics, weed, etc.)
07:24:12 <CakeProphet> ah, no
07:24:21 <CakeProphet> I have attempted to program while high. Doesn't work.
07:24:34 <pikhq> CakeProphet: I never said anything about programming *while* on them.
07:24:38 <CakeProphet> programming requires a certain cache of short term memory that... goes away.
07:24:54 <pikhq> Programming under the influence of anything stronger than, oh, coffee, is probably a bad idea.
07:25:06 <CakeProphet> launchMissiles()
07:25:49 <CakeProphet> actually, I bet speed would enhance programming ability. Not that I advocate the use of that particular drug.
07:25:55 <CakeProphet> Just saying. I think it would.
07:26:04 <CakeProphet> in the correct dosage.
07:26:56 <pikhq> Of course this is all a moot point because programmers are *of course* all completely upright and outstanding citizens who would never break a law. :P
07:27:16 <Gregor> Except sodomy laws in some countries.
07:27:31 <pikhq> Gregor: Sarcasm.
07:27:48 <pikhq> Gregor: Keep in mind that in the US it is effectively illegal to program...
07:27:51 <Gregor> Whereas my response was so DEAD SERIOUS it totally killed the conversation :P
07:28:01 <pikhq> Yes.
07:28:08 <Gregor> <3 Alan Turing :P
07:28:22 <CakeProphet> so wait
07:28:32 <CakeProphet> I break the law when I program. How so?
07:28:42 <pikhq> CakeProphet: Are you familiar with patent law?
07:28:50 <Gregor> Well, more accurately, software patents are so broad that you probably violate a patent if you sneeze.
07:29:03 <Gregor> Sneeze near a computer, and now you're just punked.
07:29:16 <pikhq> I'd estimate that, by now, it is impossible to not violate patent law when making a non-trivial program.
07:29:55 <pikhq> Oh, you stuck a second pointer in your linked list struct? Woops, that's a patent. You implemented double-clicking? That's a patent.
07:29:58 <pikhq> And so on.
07:30:13 <CakeProphet> ah, well yeah
07:30:20 <CakeProphet> patent law is stupid though. So that's okay.
07:30:27 <pikhq> There's also the DMCA.
07:30:28 <CakeProphet> I'll live dangerously and rebellious program.
07:30:47 <pikhq> Which makes any sort of "circumvention device" illegal...
07:30:52 <CakeProphet> *rebeliously program
07:30:53 <pikhq> And, in fact, criminal.
07:31:06 <CakeProphet> circumvention device? what is that exactly?
07:31:34 <pikhq> Any device that circumvents an "access-control technology".
07:31:47 * CakeProphet prefers his law to be in terms of well-defined concrete entities
07:31:59 <CakeProphet> pikhq: so... do you just spend hours digesting US legalese?
07:32:04 <pikhq> For instance, root.
07:32:19 <pikhq> CakeProphet: No, but I did several years ago.
07:32:29 <pikhq> Among other things, I read US copyright law. All of it.
07:32:37 <CakeProphet> my god
07:32:41 <pikhq> It's mother-fucking nuts.
07:32:51 <CakeProphet> I don't think there's too many US citizens who are not lawyers that have done that.
07:33:07 <pikhq> There's hardly any that have read *any* of the law, for that matter.
07:33:38 <CakeProphet> I read law as it is relevant to my situation. I read some contract law recently in relation to my university apartment contract.
07:33:54 <pikhq> Which country you in?
07:33:56 <CakeProphet> US
07:34:05 <Gregor> I don't read law. I just cry, quietly, in the fetal position.
07:34:12 <pikhq> Hmm. Your reading of contract law probably omitted a lot.
07:34:16 <pikhq> Most of that is common law.
07:34:19 <CakeProphet> contract law here is also crazy. You can agree to some pretty ridiculous fine print.
07:34:27 <CakeProphet> yeah. I used wikipedia for the common law part.
07:34:33 <pikhq> A decent chunk of which is inherited from British law.
07:34:43 <CakeProphet> but there's some specific bills regarding contracts between lenders and such.
07:34:49 <Gregor> *unless you're in Louisiana
07:35:08 <pikhq> Gregor: Federal law is still common law, even if the state is under civil law.
07:35:15 <pikhq> Well, partially common law.
07:35:37 <Gregor> But contract law has both laws at both federal and state level.
07:35:43 <CakeProphet> so are there actually written documents of British law that would be relevant to an American contract case?
07:35:53 <pikhq> CakeProphet: Court decisions, more like.
07:36:01 <pikhq> CakeProphet: And yes.
07:36:24 <CakeProphet> I think I got the basic idea from wikipedia though. I believe it actually cited some British cases.
07:37:01 <pikhq> Worse still in Virginia. All court decisions of the UK that don't violate a local or federal law are valid in Virginia.
07:37:46 <CakeProphet> ...doesn't make any sense to me. I don't think you should be expected to mentally digest a contract in a short sitting or, say, when installing some software. And then be legally obligated to uphold it, even if it allows the contract writer to basically do anything.
07:38:06 <pikhq> From my experience with legal systems, lawyers do not know jack about making understandable complex systems.
07:38:24 -!- GreaseMonkey has joined.
07:38:28 <Gregor> From my experience with software systems, programmers do not know jack about making understandable complex systems.
07:38:32 <pikhq> Or, for that matter, well-functioning complex systems.
07:38:39 <pikhq> Gregor: This much is true.
07:38:40 <Gregor> Or, for that matter, well-functioning complex systems.
07:39:07 <pikhq> It's just that laws make Java object hierarchies look clean.
07:39:25 <CakeProphet> according to my apartment contract they can basically kick me out for whatever reason they like
07:39:42 <CakeProphet> I don't even believe they need a reason.
07:39:45 <pikhq> CakeProphet: Which state?
07:39:49 <CakeProphet> Georgia.
07:41:32 <pikhq> Hmm...
07:43:32 <pikhq> If it came up you could probably fight that as an unconscionable contract.
07:43:37 <pikhq> s/contract/term/
07:43:50 <pikhq> (an unconscionable term is a term that no reasonable person would agree to.)
07:45:37 <CakeProphet> -nod- yeah, I know.
07:45:54 <CakeProphet> it's just such a vague notion to me. I wouldn't know which terms are unconscionable
07:46:01 <CakeProphet> but I bet there are a lot of them in that contract
07:46:02 <CakeProphet> it's evil.
07:46:06 <pikhq> Law is ridiculously vague.
07:46:20 <pikhq> Agora nomicers should be allowed to rewrite it.
07:46:53 <CakeProphet> I believe they can change the terms of the contract arbitrarily as well, with notice to the signer.
07:47:10 <pikhq> That is an entirely unconscionable contract.
07:47:33 <CakeProphet> and there's not really any way for me to exit the contract unless I decide not to enroll, get an intership 50 miles from campus, or have a baby.
07:47:51 <CakeProphet> I can't even pay a fee.
07:48:09 <CakeProphet> ...I really wanted to fight it, but it would be a headache to do so.
07:48:12 <pikhq> What, is this for a dorm?
07:48:15 <CakeProphet> yep.
07:48:31 <CakeProphet> I signed the contract, but realized I could just get an apartment with some friends off campus. Too late.
07:48:32 <pikhq> If any of this bites you at all, you have a tidy sum on your hands.
07:48:52 <CakeProphet> ...I'm not sure I follow. bites?
07:49:04 <pikhq> Causes you problems.
07:50:11 <pikhq> Because, uh... This contract is clearly having unreasonable terms added from a superior bargaining position, and is hence mostly unenforcable...
07:50:16 <CakeProphet> so you're saying I have a legitimate case? My experience with the legal system has been that absolutely no one takes me seriously.
07:50:38 <pikhq> Yes.
07:51:00 <pikhq> I must postface all this with: I am not a lawyer, just a nerd.
07:51:58 <CakeProphet> I /might/ talk to a lawyer about it then. Though, I dunno, at this point I've almost decided that I might as well take the contract as it will be less stressful.
07:52:15 <CakeProphet> Getting a regular apartment involves handling bills. I'd rather delay that for the time being. :P
07:52:28 <CakeProphet> and instead amass enormous student loan debts. :D :D :D
07:52:44 <pikhq> Don't bother talking to a lawyer unless the contract actually causes you problems.
07:53:18 <CakeProphet> well, the original "problem" was that I changed my mind, basically. I don't think that will hold up in court.
07:53:22 <ais523> CakeProphet: basically, you shouldn't point out that the clause is invalid unless they actually try to kick you out
07:53:44 <ais523> hmm, maybe that doesn't work
07:54:13 <pikhq> CakeProphet: If you merely decided after the fact that you don't want to be in the dorm? Sorry, no recourse for changing your mind about a contract.
07:54:23 <ais523> pikhq: as far as I remember, unconsiconable terms don't invalidate the entire contract, just those terms
07:54:26 <pikhq> Just ways of dealing with it being bullshit.
07:54:31 <pikhq> ais523: Generally, yes.
07:54:57 <pikhq> ais523: If the removal of the unconscionable terms makes the rest of the contract fall apart, then the contract does so.
07:55:04 <ais523> well, yes
07:55:55 <CakeProphet> pikhq: though, I was actually not really aware I had signed a contract at that point until I asked to be removed from the list. It was an e-contract. The contract was a linked PDF, and there was a "I agree" button on the page. I should have paid more attention.
07:56:31 <pikhq> CakeProphet: Oooohboy.
07:56:53 <CakeProphet> I thought you needed a specific clause for that?
07:57:02 <CakeProphet> I forget the name of the clause...
07:57:06 <pikhq> Jury was still out on clickwrap contracts being valid, right?
07:57:31 <pikhq> Erm. Clickwrap?
07:57:38 <pikhq> It's 2. I should sleep. XD
07:57:38 <CakeProphet> severability clause?
07:58:13 <CakeProphet> Severability is a concept in contract law which allows people to separate out the components of a contract so that in the event that one aspect is deemed impossible to enforce or invalid, the rest of the contract is not affected. In order to invoke severability, a contract must specifically include a severability clause which indicates that invalidity or unenforceability of some sections of a contract does not render the entire
07:58:58 <pikhq> Ah, yes; if you don't have that in the contract then it doesn't exist.
07:59:06 <pikhq> Because law is batshit.
07:59:15 <pikhq> Of course, only the most naive contracts omit it.
07:59:31 <CakeProphet> it's been a while since I checked, but I do believe it has one.
07:59:42 <CakeProphet> so that's moot I guess.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:41 <CakeProphet> what pisses me off about these e-contracts is that US law doesn't really specify that you need any kind of digitially encrypted signature.
08:01:22 <pikhq> US law actually does not generally require signatures for contracts; just proof of agreement.
08:01:55 <pikhq> In some states, one can actually go to court over an entirely spoken contract if you can prove that the agreement was made.
08:02:02 <pikhq> s/you/one
08:02:12 <CakeProphet> Under UETA, the term means "an electronic sound, symbol, or process, attached to or logically associated with a record and executed or adopted by a person with the intent to sign the record."
08:02:40 <CakeProphet> sound? :P
08:02:56 <CakeProphet> "Ding! Thanks for the human soul!"
08:03:34 <pikhq> "With the intent to sign the record."
08:04:16 <CakeProphet> you know, technical people should probably help draft technical laws.
08:05:02 <pikhq> Yes, but on the other hand you could end up with C++ templates in law.
08:05:23 <CakeProphet> ...maybe they did consult technical folk, and they still prefer vague legalese.
08:06:14 * CakeProphet designs a legal programming language, for formally unambiguous laws. :)
08:06:24 <CakeProphet> first-order logic?
08:16:21 -!- CakeProphet has quit (Ping timeout: 276 seconds).
08:16:40 -!- CakeProphet has joined.
08:17:07 <CakeProphet> Canadian law (PIPEDA) attempts to clarify the situation by first defining a generic electronic signature as "a signature that consists of one or more letters, characters, numbers or other symbols in digital form incorporated in, attached to or associated with an electronic document", then defining a secure electronic signature as an electronic signature with specific properties. PIPEDA's secure electronic signature regulations re
08:17:14 <CakeProphet> see.... this seems much more sensible to me.
08:20:49 <CakeProphet> module ESignature where
08:20:55 <CakeProphet> import DigitalRights
08:20:57 <CakeProphet> :)
08:23:28 <CakeProphet> version controlled legal documents with clearly notated dependencies and unambiguous meaning. :)
08:24:46 <CakeProphet> and pesky bugs.
08:33:47 -!- wareya has quit (Ping timeout: 248 seconds).
08:34:38 -!- wareya has joined.
09:06:29 -!- ais523 has quit (Remote host closed the connection).
09:13:39 -!- aaaaa has joined.
09:17:14 -!- MigoMipo has joined.
09:19:39 -!- CakeProphet has quit (Ping timeout: 248 seconds).
09:34:01 -!- mquin has joined.
09:34:06 -!- aaaaa has quit (Excess Flood).
09:34:31 -!- aaaaa has joined.
09:35:14 -!- aaaaa has quit (K-Lined).
09:49:45 -!- IamLM has joined.
09:50:52 -!- IamLM has quit (Client Quit).
09:51:15 -!- IamLM has joined.
09:51:26 <IamLM> hi
09:55:44 -!- Quadrescence has quit (Ping timeout: 240 seconds).
09:56:04 -!- IamLM has quit (Ping timeout: 265 seconds).
10:07:39 -!- jix has quit (Ping timeout: 248 seconds).
10:08:02 -!- jix has joined.
10:12:02 -!- Quadrescence has joined.
10:12:20 -!- CakeProphet has joined.
10:12:41 -!- tombom has joined.
10:45:29 -!- BeholdMyGlory has joined.
11:04:59 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
11:21:06 -!- MizardX has joined.
11:33:21 -!- Madk has joined.
12:05:18 -!- AnMaster has quit (Quit: ZNC - http://znc.sourceforge.net).
12:06:22 -!- zzo38 has joined.
12:08:42 <zzo38> Can you please tell me if you know the portable way of calling external programs using C codes?
12:09:43 <wareya> Is there one?
12:10:09 <Deewiant> system(3)
12:11:07 <zzo38> Please tell me if this way is OK http://sprunge.us/RhYH
12:15:00 <zzo38> I want to work on Windows and on UNIX systems
12:31:15 <fizzie> I don't know about the Windows side, but the Unix side should perhaps use waitpid() with the just-obtained pid, instead of just wait(). And you may want to return something like "WIFEXITED(status) ? WEXITSTATUS(status) : -1" to get a more reasonable number out.
12:32:13 <fizzie> system(3) would do the waiting for you, but there's the shell-metacharacter problems if you want to be sure your argv gets passed directly as-is.
12:33:24 <fizzie> (Admittedly seems that system(3) on this system returns the wait return value directly, so you might as well.)
12:37:13 <zzo38> fizzie: OK
12:38:47 -!- FireyFly has joined.
12:39:13 -!- FireyFly has changed nick to FireFly.
12:39:49 <fizzie> And I guess for correctness the _spawnvp first argument should be _P_WAIT and not a literal 0, even though it probably is the same thing.
12:44:24 * Sgeo_ should not have stayed up all night reading a chatlog
12:46:21 -!- Madk has quit (Ping timeout: 252 seconds).
13:09:31 -!- Wamanuz4 has joined.
13:11:49 -!- Madk has joined.
13:33:37 -!- SevenInchBread has joined.
13:36:11 -!- CakeProphet has quit (Ping timeout: 248 seconds).
13:36:41 <zzo38> I will see if this program works, anyways
13:36:49 <zzo38> But I can test it only on Windows
13:39:12 <zzo38> And, was it alise who asked me if I can change CWEAVE to print spaces in strings as actual blank spaces? I have done so. (However, I have not yet made it print "\n" as the "n" in a circle or diamond, mostly because I don't know how!)
13:39:37 <zzo38> (Do you know how?)
13:53:15 <Madk> What's CWEAVE?
13:54:03 <Madk> zzo38: What's CWEAVE?
13:54:32 <zzo38> Madk: It is part of CWEB. Although in this case, it is Enhanced CWEB.
13:54:47 <zzo38> (Enhanced CWEB is my own version of CWEB with many changes and improvements)
13:54:50 <Madk> link?
13:54:58 <zzo38> Madk: Not yet. Sorry.
13:55:03 <Madk> to cweb?
13:55:16 <zzo38> To the standard CWEB?
13:55:18 <Madk> yes
13:55:49 <zzo38> http://www-cs-faculty.stanford.edu/~uno/cweb.html
13:56:09 <zzo38> Please note that Enhanced CWEB has a lot of differences and new features, including meta-macros
13:56:20 <zzo38> But you will have to wait for Enhanced CWEB
13:57:01 <Madk> So this is like a documentation system?
13:57:53 <zzo38> Madk: That is one thing it is. But it is more.
13:57:58 <Madk> Ok
13:58:22 <Madk> So what "n" in a cricle or diamond are you talking about?
13:58:33 <Madk> is this a specific character?
14:01:33 <zzo38> See http://zzo38computer.cjb.net/img_12/cweb2.png for an example of what I mean. See how "\n" is currently printed as overtyped \n but someone suggested instead making it the "n" inside of another shape, which I agree is better but I don't know how to do that in TeX
14:03:32 <Madk> Hm.
14:03:45 <Madk> How is it overtyped?
14:03:59 <Madk> seems like you might use a similar method
14:08:12 <zzo38> New features in Enhanced CWEB also include the line numbers printing (those are the 373 and 393 on the right side of the page), metamacros, section arguments, various new ways of printing many things, bug fixes, section counting (using @4 code), and make rules (by the use of a third program CSPIDER, which is in addition to CTANGLE and CWEAVE which are the two main programs)
14:32:32 <zzo38> And if you have any additional feature suggestions, I can ocnsider it.
14:35:21 -!- zzo38 has quit (Remote host closed the connection).
14:46:47 <SevenInchBread> feature suggestions he says? oh ho...
14:46:50 -!- SevenInchBread has changed nick to CakeProphet.
14:47:28 <CakeProphet> needs moar time travel.
15:00:53 <CakeProphet> and, can I use it to develop agilely?
15:01:07 <CakeProphet> USE AGILITY, PIKACHU
15:07:07 <CakeProphet> and what about METABASTRACTION METASYNTAX?
15:07:21 <CakeProphet> for metaevaluating metavalues
15:12:28 -!- boily has joined.
15:13:38 -!- zzo38 has joined.
15:13:56 <zzo38> Hello! I am sorry that the time on my computer is a bit off (and when I fix it, it is still a bit off).
15:14:18 <zzo38> What is METABASTRACTION METASYNTAX?
15:14:51 <zzo38> s/ocnsider/consider/
15:17:18 -!- boily has quit (Quit: leaving).
15:27:07 <zzo38> When we play D&D we often have to remind the DM of various things: that my character is not Batman, Superman, Spiderman, a cockroach, or a human; that Obkwag can speak normally but cannot fly; that Obkwag is present; that my brother's character has afflicted lycanthropy and is wearing a black cloak; that my character and Obkwag both have good alignment; that skill checks normally do not have automatic hit/miss on natural 20/natural 1; ........
15:27:32 <cpressey> zzo38: What edition of D&D do you play?
15:28:22 <zzo38> 3.5 edition
15:29:07 <zzo38> Nevertheless, the game still works.
15:31:09 <zzo38> I (and my team) can always win because I always do unexpected stuff.
15:32:15 <zzo38> Remarkably, this DM is still good at doing it (even better than most DMs), despite all of this confusion.
15:34:37 <cpressey> zzo38: Out of curiousity, how do you feel about roguelikes? Like, disklike, ... ?
15:34:42 <cpressey> *dislike
15:34:56 <zzo38> cpressey: I like to play some roguelikes sometimes.
15:35:03 <zzo38> I have written a few.
15:35:32 <zzo38> http://zzo38computer.cjb.net/GAMES/100level.zip http://zzo38computer.cjb.net/GAMES/RL/KING.ZIP
15:36:40 <cpressey> oh, indeed. I didn't know that. I wrote one once... very large-scale, written in Perl, kind of pushed the memory limits, and I think it might be lost forever (I'll have to dig up those backup cds at some point and see if i can find it.)
15:37:27 <zzo38> Both of these files I posted, I have written in less than a day. The second one has proper instructions but the first one is, part of the game is to figure out how everything works even by yourself!
15:37:40 <CakeProphet> zzo38: I could not honestly tell you what I was talking about.
15:37:48 <CakeProphet> do you have a mechanism for lazy evaluation though?
15:37:57 <cpressey> If I ever wrote a similar one, I'd have to use some kind of external storage management instead of trying to keep everything in in-memory hashes.
15:38:30 <zzo38> CakeProphet: Well, sort of.
15:38:31 -!- augur has quit (Remote host closed the connection).
15:39:08 <CakeProphet> zzo38: how can you "sort of" lazily evaluate?
15:39:57 <zzo38> CakeProphet: Do you mean Enhanced CWEB? It would take a while to explain how it works and how that is.
15:40:20 <cpressey> CakeProphet: Well, I know I can "'sort of' lazily evaluate"... a language design I haven't finished yet revolves around it :)
15:40:22 <zzo38> Some things are deferred to other stages.
15:40:24 <CakeProphet> yes, I assume so. Whatever language you were talking about.
15:41:12 <CakeProphet> stages?
15:41:43 <zzo38> There is the preprepreprocessor stage, the prepreprocessor stage, the preprocessor stage...
15:42:00 <zzo38> Enhanced CWEB doesn't do the preprocessor stage. That is done by whatever C compiler you are using to compile it with.
15:42:55 <CakeProphet> ...so then
15:43:09 <CakeProphet> can I generate an infinite list of fbbonacci numbers ?
15:43:47 <zzo38> I suppose you can make some kind of lazy evaluation using the @$ ... $< command
15:45:05 <zzo38> CakeProphet: As far as I know, you can't do it at the prepreprocessor stage. Although the C codes can do whatever you can write in C, including C preprocessor codes.
15:45:14 <CakeProphet> ah yes. The portal time code.
15:45:25 <zzo38> Still, once I finished and posted the program, you are welcome to try these things if you want to!
15:46:19 <CakeProphet> I've never worked on a compiler before. I suppose I could design lazy evaluation into a runtime though.
15:47:27 <zzo38> Here is an example of the funny way of writing the beer program in Enhanced CWEB, just for demonstration (it does work, but it isn't how you would normally write any program!): http://sprunge.us/Ldbj
15:49:19 <CakeProphet> ....wat
15:49:45 <CakeProphet> it's like esolang + C with macros + CPP
15:50:22 <zzo38> Sort of, except that you can also print out your programs, with index and formatting and everything like that.
15:51:23 <Madk> CakeProphet: Check out Cardinal on the wiki, it's almost done :D
15:52:19 <zzo38> The "normal" way of writing "99 bottles of beer" program in Enhanced CWEB would be not like this, it would be the same way you write it in C, except that you might add a documentation section.
15:53:02 <CakeProphet> zzo38: okay, so I think I found metamacros. 2<Print Next Verse@>
15:53:05 <CakeProphet> *@
15:53:16 <zzo38> No that is just a named section.
15:53:28 <zzo38> A metamacro is defined by @m and invoked by @-
15:53:29 <CakeProphet> and that "executes" a set of CPP directives in that compilation stage?
15:54:20 <CakeProphet> what is @d?
15:54:50 <zzo38> A named section is just a way to organize codes, with section numbers and cross references. You can include a named section any number of times in different other sections (although usually only once, but sometimes more than once), it is like a prepreprocessor macro.
15:55:48 <zzo38> @d is just a #define that is global, so it is placed at the top of the file when compiling the program. When printing it out though, it is printed in the same place it is typed in.
15:56:20 <CakeProphet> ....
15:56:28 <CakeProphet> this is entirely incomprehensible to me.
15:56:30 <zzo38> In addition, @d allows you to create multiple line #defines without needing to type the \ at the end of each line, it will automatically put them there.
15:57:12 <zzo38> @* starts a titled section, which will be listed in the table of contents.
15:57:28 <CakeProphet> ah... well. I see how the named sections uses define and undef to turn plural on and off. Neat trick. :)
15:57:32 <zzo38> @ (that is, at sign with a space after) is a section that is not listed in the table of contents.
15:58:31 <CakeProphet> is there a sane way to structure data in the preprocessor stage, rather than resorting to C structs?
15:59:59 <zzo38> CakeProphet: Can you give an example so that I can understand more clearly what you want? I think there surely is a way.
16:00:09 <CakeProphet> er... nevermind. I'm going to figure out this program first
16:00:30 <zzo38> But I don't know yet until you tell me more specifically what you might wanted
16:00:59 <CakeProphet> X(on_wall@,br)@ two questions. 1) from what I can tell X only takes on argument, by can you give it two or three? 2) why does on_wall and X have an @ and not br?
16:01:17 <CakeProphet> s/on/one
16:01:26 <CakeProphet> s/by/why/
16:01:27 <CakeProphet> ...
16:01:50 <zzo38> The @, is not the same as a comma, it just tells it to make sure to put a space there when printing out the program.
16:01:58 <zzo38> When compiling the program it is the same as a space.
16:02:43 <zzo38> The @; tells it to print it as if there was a semicolon there, but make it invisible; however, it is the same as a space when compiling.
16:03:01 <CakeProphet> ....what?
16:03:02 <CakeProphet> why?
16:03:04 <zzo38> The @ sign always goes with the single character after it.
16:03:48 <zzo38> Typing "X(on_wall br)" will work just as well, but the printing is neater with the extra @, and @; in there.
16:04:43 <CakeProphet> ...so they mean nothing semantically?
16:04:54 <zzo38> When writing normal programs, it will normally format nearly everything correctly anyways, so you won't need @, and @; and so on.
16:05:05 <CakeProphet> why is this program abnormal?
16:05:09 <zzo38> Yes, the @, and @; mean nothing semantically. They are only there to make the printout neater.
16:05:28 <zzo38> It is abnormal because it is not the way you would normally write such a program!
16:05:33 <CakeProphet> ..........
16:05:43 <CakeProphet> obviously. I was hoping for something more specific.
16:05:50 <zzo38> But it is good for demonstrating the techniques in case some of them might be more useful in some other programs.
16:06:08 <CakeProphet> @4?
16:06:36 <zzo38> @4 counts the number of times the named section has been used.
16:06:48 <zzo38> So the first time it will be zero, the second time one, the third time will be two, and so on.
16:06:57 <CakeProphet> ah
16:07:32 <CakeProphet> another question. why does it undefine and then redefine plural immediately afterwards. It seems to me like that would amount to nothing.
16:08:57 <zzo38> That is, it defines it as a blank value, so that it will expand into nothing (this is a standard feature of the C preprocessor).
16:09:12 <zzo38> The #undef is not strictly needed, but some compilers might emit warnings if you do not do it.
16:09:12 <CakeProphet> aaah, right
16:09:43 <CakeProphet> how can you do comparisons and subtraction in macro-land? Is there another stage that does arithmetic somewhere?
16:10:23 <CakeProphet> I wasn't aware that the C pre-processor could do #if beers==1
16:10:25 <zzo38> No, those are also standard parts of the C preprocessor. The C preprocessor can do arithmetic and comparisons.
16:10:39 <CakeProphet> ah.
16:10:50 <CakeProphet> can a named section pretty much substitute into any part of the program?
16:10:59 <zzo38> CakeProphet: Yes, any part.
16:11:10 <CakeProphet> and I assume @c = C code
16:11:37 <zzo38> Yes. @c is just an unnamed code section
16:11:46 <zzo38> While @< is a named code section.
16:12:09 <CakeProphet> so wait.. you can put anything in @c then?
16:12:17 <zzo38> The unnamed sections are the ones which are directly entered into the C code seen by the compiler.
16:12:22 <CakeProphet> How does it distinguish between what is C and what is not C?
16:12:33 <CakeProphet> ah.
16:12:40 <zzo38> CakeProphet: Yes you can put any valid C codes in @c however if you want an at sign in the code, you must put @@ instead
16:12:48 <CakeProphet> well
16:12:58 <CakeProphet> I was asking if you could put any CWEB code in a @c section
16:13:19 <CakeProphet> as with named sections
16:13:46 <zzo38> CakeProphet: Yes, there are some CWEB codes valid in a @c section (the same ones are valid in a @< section).
16:14:06 <zzo38> However, @4 is useless in an unnamed section (it will always be zero).
16:14:27 <CakeProphet> ...I think I'll leave @m for another day, perhaps? It looks too esoteric.
16:14:50 <CakeProphet> @* comment? or some kind of title section?
16:15:17 <zzo38> @* is a titled section. The title will appear in the table of contents.
16:15:30 <CakeProphet> I'm not really sure I understand the point of the prinout. Builtin documentation of sorts?
16:15:43 <CakeProphet> I thought @ with a space was titled section?
16:15:59 <zzo38> Every section (other than limbo) has up to three parts: Documentation section, definition section, and code section.
16:16:12 <zzo38> Yes, the printout can be used for documentation of sorts
16:17:31 <zzo38> @ with a space is a non-titled section. The text after it is just the documentation part of that section.
16:17:39 <CakeProphet> but I can see that the metamacro is where the magic happens. :)
16:17:53 <zzo38> Any TeX codes are valid in a documentation part.
16:18:07 <CakeProphet> okay. so @* makes a title, and then everything after the first line is docuemtnation until it encounters the next section code.
16:18:18 <zzo38> Yes the metamacro (the @m) is where the real magic happens in this example!
16:18:41 <CakeProphet> too bad it looks like complete gibberish. character-based instructions?
16:19:26 <zzo38> CakeProphet: No, not quite. Everything up to the . is the title. after that it is treated just like a normal documentation section, until the definition part (@d or @r) is reached, the code part (@c or @<...@>=) is reached, or a new section is reached (with @ space or @*)
16:19:28 <Madk> wewt http://floatation.webs.com/Cardinal.zip
16:20:13 <CakeProphet> zzo38: what is @r?
16:20:19 <zzo38> The documentation part of a section is the only required part, although it is allowed to be empty. (You can just write "@ @c" to just begin a section of C codes with no documentation)
16:20:22 -!- sftp has quit (Remote host closed the connection).
16:20:24 <zzo38> @r is a make rule.
16:20:43 <zzo38> They are printed out as typewriter text with an integral sign at the front.
16:21:30 <CakeProphet> can you explain the purpose of the focus on documentation? Just a design choice?
16:21:50 <zzo38> CWEAVE prints them, CTANGLE ignores make rules, and CSPIDER ignores anything other than make rules (that is, not counting the preprepreprocessor (@i @m @-) which are valid everywhere.
16:21:54 <CakeProphet> make rule = Makefile right?
16:22:03 <zzo38> CakeProphet: Yes, sort of like a makefile.
16:22:15 <zzo38> But it is a new way, an improvement of makefiles, a bit.
16:22:18 <CakeProphet> ah, but a custom Makefile language.
16:22:35 -!- sftp has joined.
16:22:54 <CakeProphet> What is @i?
16:23:15 <zzo38> @i is tells it to include a file.
16:24:06 <CakeProphet> should I just read some kind of language spec to understand these metamacros?
16:24:11 <zzo38> (At the preprepreprocessor level)
16:24:19 <CakeProphet> parts of it remind me of Befunge
16:24:58 <zzo38> CakeProphet: Not quite yet, but when I post it, just read the corresponding sections in common.dvi hopefully the cross-references and everything else there will help understand it a bit
16:25:06 <CakeProphet> zzo38: hmmm... so could you have used @i instead of #include for stdio? I don't see why not.
16:25:55 <zzo38> CakeProphet: Only if you have a CWEB file for stdio.
16:26:07 <zzo38> Otherwise you can't (and shouldn't).
16:26:47 <CakeProphet> so it's not a direct text substition?
16:27:04 <zzo38> You normally wouldn't use @i for such things as that, since everything included by @i is also included in the printout.
16:27:05 <CakeProphet> or is it stuff like @@ that needs worrying about?
16:27:12 <CakeProphet> ah
16:27:56 <zzo38> CakeProphet: Stuff like @@ is one thing. But also, @i includes at the preprepreprocessor stage, the C compiler does not see it. #include is done at the C preprocessor stage, which the C compiler can set defines and so on, have things specific to the platform, and so on.
16:28:28 <zzo38> If you use #include the actual #include line will be printed out, not the contents of the file.
16:29:35 <CakeProphet> I should convince calamari to use Enhanced CWEB instead of C for the low-level OS code. :)
16:29:37 <zzo38> You might, for example, include format definitions or metamacros in a @i include file, or a heading you want printed in every file.
16:30:04 <zzo38> CakeProphet: You can do that! Anything written in Enhanced CWEB can work anytime C is usable.
16:30:18 <zzo38> Regardless of what C compiler is being used.
16:31:12 <CakeProphet> okay, so what I was saying about data structures
16:31:25 <CakeProphet> is basically a way to define data structures that only exist in various processing stages.
16:31:54 <CakeProphet> so you do not have to structure data purely within the C level (structs, unions, etc)
16:33:11 <CakeProphet> but the only data in (pre)+processing is text. So I'm not sure what kinds of structures you could make.
16:33:31 <zzo38> Is something like this what you are talking about? Where you can have "@c typedef struct { @<Elements of |xyzabc|@> } xyzabc;" and then you can defined @<Elements of |xyzabc|@> multiple times, all the definitions will be concatenated and included in that structure.
16:34:07 <CakeProphet> maybe.
16:34:25 <zzo38> You can also use metamacros and C preprocessor inside of named sections, to be able to use structured data in multiple ways.
16:34:44 <CakeProphet> I was thinking of a purely compilation stage entity. But I suppose you could arrange it so that you preprocess a C struct as well.
16:35:19 <zzo38> I don't know exactly what you are trying to do.
16:35:32 <CakeProphet> probably because I don't either. :)
16:35:52 <zzo38> OK
16:36:37 <CakeProphet> I guess it's not entirely obvious how CWEB structures itself. For example, if I wanted to make a networking library that you could include via @i, that required no knowledge of the C code being substituted. How would you structure that?
16:39:17 <zzo38> If the library is a separate program, it should not generally be written to be included via @i, you would use the normal way of doing that in C. However, you still might use @i to simply add the necessary #include and @r into it, and add in the formatting for any words you wanted formatted specially in the printout (such as if you want them bold, or using Greek letters, etc)
16:40:00 <CakeProphet> so basically...
16:40:03 <zzo38> (That is, you might want to format some identifiers in bold, such as names of types created with typedef. For typedefs included in the program already, CWEB will automatically do this.)
16:40:13 <CakeProphet> when you implement libraries in CWEB... you're actually just implementing them in C?
16:40:36 <zzo38> CakeProphet: Yes, mostly. Although you can do it in other ways too, if you want to.
16:41:02 <CakeProphet> I think the more structure you can provide that isn't explicitly C code, the better.
16:42:15 <CakeProphet> perhaps with named sections.
16:42:19 <zzo38> CakeProphet: You can still provide structure that isn't explicitly C code. But if you are writing a library, you would usually make most of it external and dealt with by the C compiler. There are exceptions however, depending on what the library is and how it works.
16:42:27 <zzo38> Named sections is one thing you might use.
16:42:52 <zzo38> For advanced use, metamacros can also be used.
16:43:00 <zzo38> But there are many ways to do it.
16:43:37 <zzo38> You can use metamacros to block off a section so that it won't be included in the printout, if you want to.
16:44:01 * CakeProphet has absolutely no interest in printouts, only in the executing result.
16:44:52 <zzo38> CakeProphet: In that case, you don't need to worry about blocking off sections in that way, then.
16:45:13 <CakeProphet> so is @4 the only sort of pre-processor "state" that exists?
16:45:20 <CakeProphet> other than define undef I guess?
16:45:36 <zzo38> @4 is not a pre-processor state, but a pre-pre-processor state.
16:45:42 <CakeProphet> ...well
16:46:04 <CakeProphet> that's what I meant. I was referring to all stages, and avoiding excess typing. :)
16:46:06 <zzo38> There is also @3 which is a parameter to a named section, and @$ introduces the parameter before transcluding the section.
16:46:36 <zzo38> For example: @$ 42 @<Do something funny@>;
16:46:54 <zzo38> Now inside of the definion of @<Do something funny@> the @3 will expand to 42
16:47:17 <pikhq> CakeProphet: Half the point of CWEB is to produce delicious delicious TeX.
16:47:27 <CakeProphet> ........but.... why?
16:47:32 <CakeProphet> I don't understand the point of that, at all.
16:47:52 -!- AnMaster has joined.
16:48:22 <zzo38> Yes, half of the point of CWEB is producing printouts (TeX)!
16:48:27 <zzo38> That half is called CWEAVE.
16:48:53 <CakeProphet> source code fetishism? o_o
16:49:28 <zzo38> However, if you have absolutely no interest in printouts, you can still use Enhanced CWEB, you would just use only CTANGLE (and possibly CSPIDER). CWEAVE is the program for making printouts.
16:50:21 <CakeProphet> so like..
16:50:28 <CakeProphet> do you just make printouts of CWEB code... and stare at them?
16:50:40 <CakeProphet> while they... don't execute.
16:50:58 <pikhq> CakeProphet: You *read* them.
16:51:15 <zzo38> CakeProphet: You also often refer to them for various purposes, including documentation, cross-referencing, it has an index and table of contents, and so on.
16:51:19 <pikhq> Are you familiar with how Knuth makes *books* of his programs?
16:51:25 <zzo38> Just like any book.
16:51:52 <CakeProphet> I know of literate programming, but only what it is.
16:51:57 <CakeProphet> I know nothing about Knuth
16:52:44 <CakeProphet> and I'm not really I see a point in literate programming either..
16:52:52 <CakeProphet> perhaps some.
16:53:14 <pikhq> The point of literate programming is to make a program *that people read*.
16:53:16 <CakeProphet> *really sure
16:53:23 <pikhq> And... You know nothing about Knuth?
16:53:34 <CakeProphet> indeed not.
16:53:40 <pikhq> You may know him for writing The Book on algorithms.
16:53:47 <CakeProphet> ...nope.
16:53:59 <CakeProphet> I mean, I've heard his name. But I'm not very formally educated in programming
16:54:04 -!- jcp has quit (Read error: Operation timed out).
16:54:04 <CakeProphet> I just kind of taught myself.
16:54:19 <zzo38> I suppose CWEB can be good for writing a book about algorithms!
16:54:19 -!- Gregor-P has joined.
16:55:07 <CakeProphet> I suppose well-documented OS code would be nice. But... why not simply use an external documentation tool?
16:55:40 <pikhq> The point of CWEB is to have a book on *the functioning of the code itself*.
16:56:04 <zzo38> Well, at least I find it easier to document programs when it is CWEB, other people have other opinions. In addition, literate programming also has different uses of different opinions by different people.
16:56:46 <pikhq> And the point of literate programming is to make your program a document that happens to include bits for the sake of the computer.
16:56:47 <zzo38> Generally, the printout of the code and documentation parts of the code is meant to be separate from the user documentation, however it does not necessarily have to be done this way, if you want to do it a different way.
16:57:28 <zzo38> There are many points of literate programming depending on who is doing it! But pikhq's point is the main point it was designed to do.
16:57:39 <CakeProphet> pikhq: I don't think I get quite as teary-eyed on the idea as you do...
16:57:56 <pikhq> CakeProphet: You have not seen it.
16:58:13 <pikhq> CakeProphet: You appear to be missing the sheer beauty that is *code that is meant to be looked at*.
16:58:40 <zzo38> However, that main point is very good if writing a book about computer algorithms, for one thing.
16:58:59 <pikhq> zzo38: WEB was not used for The Art of Computer Programming.
16:59:11 <pikhq> It was, however, used for TeX (the book).
16:59:42 <zzo38> Yes, I know TeX is written in WEB. So, you can make a printout of the program, even.
17:00:05 -!- jcp has joined.
17:00:10 <CakeProphet> so... CWEB is not an esolang? :o
17:00:18 <zzo38> Anyways, what it is good for is also a matter of opinion, that can vary, and this is OK, since literate programming can be used for many things.
17:00:37 <zzo38> CakeProphet: Correct, but the metamacro codes is sort of like an esolang, in some ways....
17:01:00 <AnMaster> what was the name of that funky pascal -> C translation thing used for tex? Was it CWEB? Or was it something else
17:01:11 <zzo38> I think it was WEB2C
17:01:19 <AnMaster> ah, that sounds about right
17:03:18 <CakeProphet> I see the benefit of having integrated documentation
17:03:25 <CakeProphet> I guess the syntax is just kind of... silly.
17:03:35 <CakeProphet> it looks like line noise to me.
17:03:54 <CakeProphet> which makes the original source text not very readable at all.
17:05:11 <Madk> I implemented Minimal
17:05:21 <Madk> Now I'm working on Vrejvax :D
17:10:41 <CakeProphet> so I just read the "literate programming" article on Wikipedia
17:10:52 <CakeProphet> and it is basically just a big circlejerk to Knuth.
17:14:25 <Madk> vrejvax GET
17:16:39 <cpressey> CakeProphet: Hah.
17:16:57 <cpressey> ("Hah" is oldspeak for "LOL".)
17:18:21 <cpressey> CakeProphet: I haven't read it. What I never understood was the number of people who saw literate programming only as some sort of "separate compilation" thing. Instead of seeing it as, er, a form of literacy.
17:19:07 <cpressey> Er, literacy is not the best word, obviously. A refinement on a mode of communication.
17:19:27 <cpressey> I'm sure there's a term an Arts major would know for what I'm trying to say.
17:20:04 <cpressey> How 'bout "praxis", to pick one almost at random.
17:21:43 <CakeProphet> cpressey: I use "hah" from time to time.
17:21:47 <CakeProphet> I actually prefer "rofl" to "lol"
17:37:38 <zzo38> Literate programming can be seen as many different things, and used in many different ways. It can be seen as a form of literacy. Or as different things. There are different people. Even one person can see it in multiple ways depending what you are doing!
17:39:26 <zzo38> Here is a screenshot of part of a page of common.dvi so that you can see a bit about how it works: http://zzo38computer.cjb.net/img_12/cweb2.png Note that the \n overtyped is not that good, it would be better to put "n" inside of another shape such as a circle or diamond, do you know how to make that effect in TeX?
17:40:47 <pikhq> zzo38: Why not just "\n"?
17:42:14 <pikhq> Also, what's with the underscores?
17:42:44 <zzo38> The underscores are like that, it is just how TeX does it, I don't know why exactly
17:43:04 * pikhq shall blame Computer Modern
17:45:47 <zzo38> Enhanced CWEB formats things like \x2B and \007 fine in C strings already, though (this is one of the improvements I made)
17:47:48 -!- atrapado has quit (Quit: Ex-Chat).
17:47:54 <zzo38> If you have read printouts of standard CWEB programs before, you would already notice a lot of differences.
17:55:46 <Madk> cakeprophet: http://esolangs.org/wiki/BrainCursion
17:55:51 <Madk> MUHAHAHAWWAA
18:01:30 <cpressey> What is a "recursive loop"?
18:05:10 <Slereah> I believe that is when you define a function via itself
18:05:13 <Slereah> Hence looping it
18:05:18 <Slereah> by recursion
18:06:05 <cpressey> I could accept that definition, but BrainCursion doesn't have functions.
18:07:01 <Slereah> For more information on recursion, feel free to consult http://esolangs.org/wiki/Recursion
18:07:13 <cpressey> Or maybe more to the point, BrainCursion doesn't have *definitions*. You can't define functions recursively, if you can't define anything recursively, if you can't define anything.
18:07:34 <cpressey> Slereah: I'm familiar with the concept of recursion, thanks :)
18:07:44 <cpressey> Nice page tho :)
18:09:17 <Slereah> Man, I didn't esolang in forever
18:09:22 <Slereah> I should get back on it
18:10:11 -!- SevenInchBread has joined.
18:10:27 -!- CakeProphet has quit (Read error: Operation timed out).
18:13:11 -!- myndzi\ has quit (Ping timeout: 240 seconds).
18:13:41 <Madk> cakeprophet: http://esolangs.org/wiki/BrainCursion
18:13:52 <Madk> seveninchbread: http://esolangs.org/wiki/BrainCursion
18:13:56 <Madk> CHECK IT OUT MAN
18:15:32 <Slereah> cakeprophet left, not joined
18:16:47 -!- cheater99 has quit (Ping timeout: 258 seconds).
18:18:34 <Madk> gah
18:23:29 <Slereah> Also you can just post the link once
18:23:40 <zzo38> I have a strange idea, make a variant of spider solitaire, where the cards that are dealt first want to be removed first before the other cards are removed, basically the cards that are dealt earlier want to be removed earlier than the cards that are dealt later
18:25:27 <zzo38> Another idea is a computer game based on scorpion solitaire card, but there are scorpions on the screen and you have to rearrange them, as well as the walls and cards and other objects
18:27:01 <Slereah> What happens if you get stung
18:27:53 <zzo38> I don't know! These are just ideas I have come up with, I haven't thought of it completely and haven't implemented these games on the computer
18:28:02 <Madk> slereah: The universe ceases to exist
18:28:30 <zzo38> But perhaps if you get stung it is a timer penalty, or something...... I don't know
18:29:13 <Madk> Is there something wrong with me? I just realized I've written 7 esolang interpreters in less than 5 days
18:29:35 <Madk> I think I need help
18:29:44 <zzo38> No that just means you can fast programming
18:30:32 <Madk> I need another idea
18:30:49 <Madk> I scoured through the list of unimplemented languages and did a few of those
18:30:56 <Madk> but I need to come up with another idea
18:31:04 <Madk> maybe something similar to Gravity
18:31:22 <zzo38> I don't know if you can implement some of the ones on my user page, some are probably unimplementable and others are not detailed enough
18:31:34 <Slereah> If you want unimplemented languages, you can do mine!
18:31:42 <zzo38> Network Headache was implemented once, but the implementation is now gone
18:31:44 -!- cheater99 has joined.
18:31:47 <Slereah> http://esolangs.org/wiki/Limp
18:31:49 * pikhq is revolted
18:31:49 <Slereah> :3
18:31:55 <Slereah> I tried, but could not do it
18:31:58 <pikhq> Windows... *Does not have a system libc*.
18:32:10 <pikhq> Each *compiler* ships its own libc.
18:34:03 <Madk> selereah: I'm not that math-oriented, I don't understand a thing most of your language descriptions are talking about o.O
18:37:59 <Slereah> They're functions.
18:38:05 <Slereah> Like functional languages
18:38:10 <Slereah> Unlambda and whatnot
18:39:43 <Madk> Lamda + madk = brainhurt
18:43:12 -!- ais523 has joined.
18:43:18 <cpressey> pikhq: It makes "sense" when you think about it. You're not "supposed" to be developing stuff on Windows, so why would you need a system libc to link to?
18:45:17 <cpressey> ais523: I want to see two languages which are categorical duals of each other. OK, maybe "of each other" is redundant in that sentence, but just ending it at "duals" didn't sound right either.
18:45:43 <ais523> hmm, that would be rather tricky, I imagine
18:45:48 <cpressey> Of course, this needs both languages to be described the same way in category theory.
18:46:15 <cpressey> Just that, I'm sure many different ways of describing them are possible (kind of like the wire-crossing problem in that respect).
18:46:21 <ais523> normally, objects in the category describing a language represent its data types
18:46:41 <ais523> that's why Burro's category only has the one object; not only because it's a group, but also because it only has the one data type
18:46:55 <pikhq> cpressey: Still revolting.
18:47:09 <ais523> wait, Windows has no libc?
18:47:10 <ais523> what?
18:47:14 <cpressey> And I no longer have my copy of that nice category theory text. Well I do, but it's essentially inaccessible to me. I should maybe get another copy.
18:47:19 <pikhq> Especially when you realise most DLLs are statically linked...
18:47:38 <cpressey> Interesting that there's a copy of libc inside every DLL.
18:47:48 <pikhq> Yes.
18:48:02 <pikhq> Which means that each DLL has its own *heap*.
18:48:35 <AnMaster> hm... I wonder why thinking of new ways to optimise bf in compilers is so much more interesting than actually implementing those optimisation passes...
18:48:37 <pikhq> This is, like, a pessimal system setup.
18:48:44 <cpressey> Well, maybe. I do suspect heaps are implemented with some Windows API call, or are at least supposed to be.
18:49:08 <pikhq> cpressey: A malloc heap works pretty much the same on Windows as it does on UNIX.
18:49:24 <pikhq> Except that *there's multiple heaps going around* and so APIs need to be designed around that.
18:49:38 <cpressey> pikhq: That's... unfortunate.
18:49:44 <AnMaster> pikhq, what does it use to replace brk/sbrk then?
18:49:52 <pikhq> AnMaster: mmap.
18:49:53 <AnMaster> since those would just not work very well with multiple heaps
18:49:56 <AnMaster> pikhq, ah right
18:49:59 <AnMaster> that works quite okay
18:50:10 <pikhq> Well, the Win32 equivalent thereof.
18:50:34 <AnMaster> though having a single one per process would be rather better in most cases.
18:50:54 <pikhq> Yes. It works just fine, but ugggh.
18:51:05 <pikhq> No wonder Windows systems are slow, bloaty, and memory hogs.
18:51:08 <AnMaster> (though I can think of contrived use cases where one per DLL would reduce fragmentation. Note the word "contrived" however!)
18:51:22 <cpressey> ais523: Half-guessing here, but the one object would have... arrows to itself? Representing... the group identities?
18:51:31 <pikhq> And in those contrived cases, the DLLs where its relevant can have their own malloc.
18:51:42 <pikhq> (see: the "memory pool" idiom)
18:51:45 <ais523> cpressey: actually, every single Burro program is an arrow from the object to itself
18:51:54 <pikhq> s/its/it's/
18:51:58 <ais523> so the identities are there, but so are other programs too
18:52:27 <cpressey> ais523: I see...
18:52:28 <AnMaster> pikhq, well yes. Memory pools are sometimes useful inside single processes as well. Stuff like a memory pool optimised for allocating cons cells in a lisp implementation comes to mind)
18:52:33 <AnMaster> err, s/)//
18:52:45 <pikhq> Yup.
18:52:57 <AnMaster> (to reduce overhead from lots and lots of small objects of same size)
18:54:28 <cpressey> Well, I'm out. Have a good weekend, folks.
18:54:31 -!- cpressey has quit (Quit: Leaving.).
18:54:31 <AnMaster> cya
18:56:48 -!- tombom_ has joined.
18:58:56 -!- tombom has quit (Ping timeout: 240 seconds).
18:59:10 -!- zzo38 has quit (Remote host closed the connection).
19:13:18 -!- Phantom_Hoover has joined.
19:14:08 <Phantom_Hoover> So, in a fit of boredom I looked through the tutorial for Agda.
19:15:28 <Phantom_Hoover> I have come to the conclusion that the type checker works like Santa.
19:17:13 -!- Phantom_Hoover has quit (Client Quit).
19:18:42 -!- BeholdMyGlory has quit (Remote host closed the connection).
19:19:28 -!- Wamanuz5 has joined.
19:22:56 -!- Wamanuz4 has quit (Ping timeout: 240 seconds).
19:26:57 -!- Madk has quit (Read error: No route to host).
19:27:40 <Ilari> Heh... now one can construct cat program in that new esolang I'm working on: "Xe180He8O0PW118eeeQQQ118Q1O 08DO".
19:28:17 <Ilari> Actually, that space is don't care, it can be replaced by any 1 unicode codepoint and program will still work.
19:29:51 -!- BeholdMyGlory has joined.
19:31:04 -!- Madk has joined.
19:37:26 <AnMaster> Ilari, so why is that char needed at all?
19:38:49 <Ilari> Because I need to load word to stack that is 14 greater than length of code that loads it. In this case, I needed to burn 5 codepoints and used '1O 08' to burn it.
19:42:20 <Ilari> As '1O 08' is NOP if there is some (x,NAA) value on the top of stack.
19:43:03 <ais523> that esolang seems to have all the worst qualities of machine code, with none of the advantages
19:43:12 <ais523> that's actually pretty impressive
19:43:20 <Ilari> Better 5-codepoint NOP would be '1O 0O'.
19:45:19 <Ilari> Yes, there really is special value NAA (not an address; that can only be present as second component of tuple).
19:46:35 <Ilari> Attempting to load effective address of NAA or write to NAA errors out.
19:47:48 <Ilari> And that code doesn't even use memory operators (2 and 3) or swap memory operators (4, 5, 6 and 7).
20:21:24 -!- oklopol has joined.
20:22:44 -!- Phantom_Hoover has joined.
20:23:32 <Phantom_Hoover> Would it be an interesting thing to do to create an OS that can use an arbitrary language for its lowish-level structure?
20:24:26 <Phantom_Hoover> Kind of like the kwrap interface where you call syscalls through stdout and get return values from stdin, but less clunky and more general.
20:31:13 -!- pikhq has quit (Read error: Connection reset by peer).
20:33:11 -!- Sgeo has joined.
20:34:59 <Phantom_Hoover> Sgeo!
20:35:21 <Phantom_Hoover> Goodness, the wifi from this sofa is much better than the other one...
20:35:25 * Phantom_Hoover tempts fate
20:36:01 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
20:39:16 <Sgeo> Phantom_Hoover, is it just me, or does kwrap sound like PSOX?
20:39:26 <Phantom_Hoover> It's just you.
20:39:38 <Phantom_Hoover> Oh, wait, not literally.
20:40:15 <Phantom_Hoover> Yep, they're very similar.
20:40:46 <Phantom_Hoover> However, kwrap basically only works on 32-bit Linux, and is very very low-level.
20:41:40 <Phantom_Hoover> PSOX looks much more abstract than that, am I right?
20:42:03 <Sgeo> Yes
20:43:24 <Phantom_Hoover> In any case, the interfaces are too difficult for practical use.
20:44:31 <Phantom_Hoover> I had something more along the lines of binding an in-language function to some Linux syscalls, with dressing for structs and the like.
20:48:32 <Phantom_Hoover> Sgeo: incidentally, did that ActiveWorlds computer go anywhere?
20:55:07 <Sgeo> Phantom_Hoover, haven't touched it in a while, I'm busy doing other stuff
20:55:22 <Phantom_Hoover> OK
20:57:25 <AnMaster> <Phantom_Hoover> I have come to the conclusion that the type checker works like Santa. <-- giving presents to nice children once every year?
20:58:15 <Phantom_Hoover> No, it just *knows* whether a program is well-typed.
20:58:31 <Phantom_Hoover> Even when I can't work out how it could possibly do so.
20:58:33 <AnMaster> ah XD
20:58:42 <oklopol> no actually santa keeps a list
20:58:51 <oklopol> there's no magic involved
20:58:52 <Phantom_Hoover> Well, I assume it does; I haven't got a copy to hand.
20:59:37 <Phantom_Hoover> But for it to have any validity as a theorem prover, it would have to work within some parameters, which seem to include magic
20:59:41 <AnMaster> Phantom_Hoover, there is no difference between magic and a type system based on sufficiently complicated math
20:59:54 <Phantom_Hoover> Basically.
21:00:25 <Phantom_Hoover> Indeed, the type system *is* sufficiently complicated math. I wouldn't be surprised if they develop the theory behind it using it.
21:00:49 -!- oerjan has joined.
21:00:58 -!- MigoMipo has quit (Remote host closed the connection).
21:01:17 <AnMaster> Phantom_Hoover, "I wouldn't be surprised if they develop the theory behind it using it." <-- eh?
21:01:30 -!- MigoMipo has joined.
21:01:38 <AnMaster> Phantom_Hoover, that seems like a strange idea
21:01:48 <Phantom_Hoover> Agda is a proof assistant, the "proof" part of which comes from its type system.
21:01:53 <AnMaster> and unlikely to give a working type system
21:02:47 <Phantom_Hoover> The type checker also checks the proofs, along with some other things, like a termination checker.
21:03:16 <AnMaster> so the language is sub-tc then
21:03:23 <Phantom_Hoover> Yep.
21:03:33 <Phantom_Hoover> It would have to be, because of its nature.
21:04:27 <Phantom_Hoover> All functions have to be provably terminating, which leads to problems with some things.
21:04:45 * oerjan thought well-typedness implied termination in such languages
21:04:50 <Phantom_Hoover> Yes.
21:05:33 <Phantom_Hoover> Well, you can have a well-typed division function that doesn't always terminate, I think.
21:10:03 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
21:14:24 <Sgeo> I think I just persuaded someone to learn C first instead of C# as a first language
21:15:58 <oklopol> i raped and killed two children today
21:17:24 <Sgeo> Are you trying to compare C as a first language to being raped?
21:17:27 <fizzie> I put csharp-mode.el in my Emacs' autoload path today. Now it's all "ad-handle-definition: `indent-according-to-mode' got redefined" and "Variable binding depth exceeds max-specpdl-size" and the tabulator key no longer works.
21:18:00 -!- Madk has quit (Read error: No route to host).
21:18:36 <Ilari> Got some sort of implementation of all opcodes (including extension loader opcodes). 1169 of C++ code total.
21:18:39 -!- Madk has joined.
21:22:54 <AnMaster> ais523, hm which UK timezone is BST?
21:23:01 <AnMaster> daylight saving or normal?
21:23:31 <SevenInchBread> Sgeo: really? hmmm...
21:23:33 <SevenInchBread> dunno
21:23:39 <SevenInchBread> C# is a fine first language.
21:23:47 -!- SevenInchBread has changed nick to CakeProphet.
21:23:57 <CakeProphet> the most annoying product of someone learning Java or C# first
21:24:06 <CakeProphet> is that they'll call functions "methods" for a while.
21:24:17 <Sgeo> I said that some might say not to go with C# as a first language to avoide IDE and/or Microsoft dependence
21:24:27 <CakeProphet> ah. yes.
21:24:34 <CakeProphet> IDE dependence mainly. Not so much Microsoft.
21:24:40 <AnMaster> I would suggest python or C as first language to learn
21:24:49 <AnMaster> either that or scheme
21:25:06 <CakeProphet> Python was my first language learned. I highly recommend
21:25:14 <CakeProphet> you get OO, procedural, and a little bit of functional
21:25:16 <AnMaster> CakeProphet, first language for me was AppleScript XD
21:25:16 <CakeProphet> all in one language.
21:25:26 <AnMaster> back during MacOS 8
21:25:37 <CakeProphet> my first experience with closures and higher-order functions came from Python.
21:25:39 <Sgeo> VB5 was mine. Highly disrecommend. I think I acquired IDE-to-make-GUIs dependence
21:25:57 <CakeProphet> and iterators/lazy-evaluation
21:26:24 <CakeProphet> the only thing you don't really encounter in Python is non-significant whitespace and static typing.
21:26:34 -!- MigoMipo has quit (Remote host closed the connection).
21:26:47 <AnMaster> CakeProphet, python's OO is weird
21:26:49 <AnMaster> very weird
21:26:49 <CakeProphet> static typing took me a while to... understand. I remember being confused as to why you would ever want to restrict yourself in that way.
21:27:09 <CakeProphet> AnMaster: it's not too weird, really. It's about the same, but there's no arbitrary restrictions like public/private.
21:27:11 -!- MigoMipo has joined.
21:27:29 <AnMaster> CakeProphet, there is no encapsulation you mean. Which is rather a bad thing.
21:27:39 <CakeProphet> it makes a lot of sense in the context of a duck typed language.
21:27:52 <AnMaster> CakeProphet, well duck typing doesn't make sense IMO
21:27:59 <CakeProphet> actually
21:28:04 <CakeProphet> there is one way to declare things private
21:28:10 <CakeProphet> by beginning the name with a single underscore.
21:28:29 <CakeProphet> but I rarely used it.
21:28:29 -!- Jackson has joined.
21:28:35 <AnMaster> CakeProphet, can't you still call it from outside that class?
21:28:46 <Sgeo> Python actually helped me to understand why it might make sense for private members to not be exposed to child classes
21:28:48 <Sgeo> Hi Jackson
21:28:50 <CakeProphet> I don't quite remember, honestly.
21:28:57 <Jackson> Hello
21:28:58 -!- Jackson has changed nick to Guest15287.
21:29:08 <Guest15287> I changed my nick?
21:29:23 <Sgeo> Um, if someone else registered that nick, maybe NickServ renamed you
21:29:23 <AnMaster> I guess services did because someone else registered that nick before
21:29:36 -!- Madk has quit (Read error: No route to host).
21:29:36 <Guest15287> Eh
21:29:40 <CakeProphet> AnMaster: also, duck typing doesn't make sense?
21:29:41 <Guest15287> brb guys
21:29:42 <CakeProphet> Are you sured?
21:29:45 -!- Guest15287 has quit (Client Quit).
21:29:50 <CakeProphet> -d
21:30:49 <AnMaster> CakeProphet, I think it makes no sense to have it, considering there are lots of better alternatives
21:30:53 -!- Activeworlds has joined.
21:31:02 <Activeworlds> Alright
21:31:08 <Sgeo> wb
21:31:11 <Activeworlds> Thanks
21:31:34 <CakeProphet> AnMaster: ah, such as interfaces and such?
21:31:39 <Activeworlds> If I'm going to learn C first, I need some free tutorials.... for extreme n00bs
21:32:01 <CakeProphet> Activeworlds: do you have a good IDE? That's an important first step.
21:32:12 <AnMaster> CakeProphet, yes but I was primarily thinking about type classes
21:32:16 * CakeProphet personally doesn't know of any C tutorials.
21:32:25 <CakeProphet> AnMaster: ah.
21:32:30 -!- Madk has joined.
21:32:38 <Activeworlds> Ah okay
21:32:51 <AnMaster> C isn't an esolang as such
21:32:52 <CakeProphet> AnMaster: well, in Python typeclasses would make sense. For the language Python is, duck typing makes the most sense.
21:32:58 <CakeProphet> *make no sense
21:32:59 <AnMaster> so probably not the best channel to ask in
21:33:11 <Sgeo> AnMaster, I asked Activeworlds to come here because of the discussion about first languages
21:33:18 <AnMaster> ah
21:33:20 <Madk> FILTH IS ALMOST TO FRUITITION :D
21:33:24 <AnMaster> Sgeo, scheme is nice
21:33:25 <CakeProphet> AnMaster: C is a esolang what are you talking about?
21:33:33 <AnMaster> Sgeo, SCIP and so on
21:33:37 <Madk> C is not an esolang :?
21:33:40 <AnMaster> CakeProphet, read again
21:34:23 <Sgeo> Scheme's syntax is also utterly different from any other non-Lisp language
21:34:35 <Sgeo> Well, kind of
21:34:49 <CakeProphet> AnMaster: well, I don't know. I suppose you could work typeclasses into Python. The thing with Python is that EVERYTHING should be represented as data somewhere. So if you have a way to declare typeclass instances, you need to be able to store that information on the class itself somewhere.
21:35:18 <CakeProphet> similar to __dict__, __bases__, __mro__, etc
21:35:53 <CakeProphet> I'd say being highly reflective is something Python got right.
21:35:56 <Sgeo> Activeworlds, is the goal to help with the project, or just to learn programming?
21:36:27 <CakeProphet> Activeworlds: I personally don't mind helping you learn C. We talk about all sorts of crazy things so I don't really see it as being off-topic or anything.
21:37:33 <AnMaster> CakeProphet, __slots__ is another nasty hack
21:37:39 <AnMaster> that mode should be the default
21:37:51 <Activeworlds> Well
21:38:09 <Activeworlds> My most prominent goal is to assist with the project
21:38:15 <Activeworlds> While learning a language
21:38:22 <AnMaster> what project?
21:38:38 <Sgeo> A C# project
21:38:47 <CakeProphet> AnMaster: perhaps it should. My traditional Pythonista sense disagrees, with me. But I have no way to defend that position. :P
21:38:58 <Activeworlds> I was going to start in C#, but I've been told by more than just Sgeo that it is very Microsoft dependent and shouldnt be a first language
21:39:10 <AnMaster> Sgeo, -_-
21:39:20 <AnMaster> Sgeo, why are you using C# for anything?
21:39:26 <Activeworlds> lol.
21:39:30 <Sgeo> It wasn't my decision
21:39:33 <CakeProphet> I have a friend who started with C#, and he seems to be doing fine with other languages. Granted, the only other language he's looked at is Java...
21:39:37 <CakeProphet> and it's almost the same language.
21:39:46 <AnMaster> CakeProphet, python currently seems rather tricky to statically compile in an efficient way
21:39:47 <CakeProphet> but he did complain about Eclipse in comparison to Visual Studio
21:39:50 <AnMaster> having that would be nice
21:40:19 <CakeProphet> AnMaster: yes, at the expense of many other nice things that Python can do at runtime. Things that are actually used in practical programs, as well.
21:40:43 <Sgeo> What does py2exe do? Bundle an interpreter?
21:40:51 <AnMaster> hm
21:40:57 <CakeProphet> Sgeo: pretty much
21:40:59 <AnMaster> Sgeo, think so
21:41:32 <CakeProphet> AnMaster: but I do agree, /syntax/ support for slots would make it far less ugly. Maybe, you know, a way to declare variables in a given scope
21:42:00 <CakeProphet> but adding syntax to Python is apparently sacrilege.
21:42:02 <Madk> ok
21:42:08 <Madk> I finished my filth interpreter coding
21:42:54 <Sgeo> If the goal is to help on the project, C# probably isn't such a terrible first language, as long as .. hmm
21:43:02 * Sgeo isn't sure
21:43:15 <CakeProphet> I really don't think learning C# will cripple you in the future, honestly
21:43:32 <CakeProphet> not if you strive to be an excellent programmer (which is a matter of choice and I suppose talent)
21:43:59 <CakeProphet> I mean, I came out from Python alright, didn't I? :)
21:44:06 <Madk> time to try and run the hello world example
21:44:07 <CakeProphet> and someone else from VB
21:44:15 <Madk> hopefully it works :|
21:44:15 <AnMaster> I think that the good bits of OO is just syntax sugar. The bad bits are just a bad idea
21:44:24 <AnMaster> like inheritance
21:44:27 <Madk> it's stinking complex
21:44:34 <ais523> AnMaster: BST is daylight-saving, UTC+1
21:44:39 <AnMaster> ais523, ah
21:44:42 <ais523> normal is GMT, UTC+0 with marginally different lea second rules
21:44:47 <ais523> *leap second
21:44:48 <oerjan> "Our system is exactly equivalent to the traditional axiom system in most logic textbooks but has the advantage of being easy to manipulate with a computer program."
21:44:53 <Sgeo> I don't think I came out from VB5 alright
21:44:54 <AnMaster> $ TZ=BST date
21:44:54 <AnMaster> fre jul 23 20:44:21 BST 2010
21:44:55 <oerjan> wrong window
21:44:59 <AnMaster> ais523, why is that same as date -u then?
21:45:02 <Sgeo> I am GUItally disabled
21:45:04 <CakeProphet> AnMaster: I'd be interested in drafting up a language with prototype OO and composable objects. :)
21:45:06 <Madk> nope
21:45:10 <Madk> doesn't work D;
21:45:17 <Madk> hope it's an easy fix :/
21:45:39 <Activeworlds> Sgeo... maybe someone here is willing to help in our project?
21:45:42 <CakeProphet> Sgeo: ah, then perhaps VB5 is an exception to my statement. Understandably.
21:45:43 <AnMaster> CakeProphet, go do so then
21:46:06 <CakeProphet> AnMaster: wouldn't know where to start. Someone else (probably alise) would claim to know exactly what to do and that I was doing everything completely wrong.
21:46:09 <Madk> activeworlds: what is your project?
21:46:10 <CakeProphet> fuck 'em, I suppose?
21:46:38 <AnMaster> CakeProphet, but alise always claims that about stuff he didn't do himself.
21:47:04 <CakeProphet> this is true. But perhaps he WOULD have a good idea, and I should consult this people with their good ideas on composable objects. :)
21:47:11 <CakeProphet> s/this/these/
21:47:13 <Sgeo> Consensus seems to agree with alise wrt PSOX
21:47:20 <Sgeo> Madk, a game
21:47:32 <Madk> sgeo: what kind?
21:47:44 <Madk> and what are you looking for help to do, exactly
21:47:51 <AnMaster> CakeProphet, well sure but don't let him do it himself. Then he will get stalled trying to think of a name for it
21:48:10 <CakeProphet> Activeworlds: unfortunately I'm working on my own game projects. Two actually: a text-based RP-centered game for my own enjoyment, and an Android game app that I intend to make money off of.
21:48:43 <CakeProphet> Activeworlds: but I suppose I could help in small amounts.
21:48:48 <AnMaster> I'm fairly uninterested in coding games personally
21:49:09 <CakeProphet> there's nothing theoretically interesting. But it's fun to program. :)
21:49:29 <oklopol> game programming can be theoretically interesting if you make interesting games
21:49:52 <CakeProphet> Sgeo: is C# required? I'm fine with it, just wondering. Haskell is my language of choice these days. I assume you're still working off of that library correct?
21:51:08 <CakeProphet> oklopol: a game with TIME-STRETCH PROJECTILE puzzles?
21:51:14 <CakeProphet> :)
21:51:23 <CakeProphet> I think I've already told everyone about this.
21:51:33 <CakeProphet> this currently unimplemented idea.
21:51:36 <Sgeo> Yeah, it's C#, although I'd have no problem if you were to, say, add in a bit of F# (I really want to learn F# I think). By "that library". you mean?
21:52:05 <CakeProphet> Sgeo: eh, I really DONT want to learn F# actually. But I base this on blind prejudice and brief glancing of source and a wikipedia article.
21:52:11 <oklopol> my interest in game design lies in designing impossible controls and learning to use them
21:52:20 <oklopol> for instance my gravity based games
21:52:21 <CakeProphet> Sgeo: the library written in C# that requires you to use C#/.NET
21:52:34 <CakeProphet> oklopol: oh? How do they work?
21:52:45 <oklopol> flipping gravity on/off and... another gravity based thing that i leave as a puzzle to ppl usually
21:52:48 <Sgeo> Well, there's a C SDK that the .NET stuff is a wrapper for, actually
21:52:50 <CakeProphet> I'm definitely interested in physics manipulation as a puzzle element.
21:53:05 <Sgeo> But I don't think there's a nice way to use both
21:53:06 <CakeProphet> Sgeo: ah, so there's bits that could be hacked in C?
21:53:32 <oklopol> i have a game where the only movement is to flip gravity, but it's just a ball jumping on polygons, and the level editor is unpublished so you'll just do the same level forever :P
21:53:33 <Sgeo> CakeProphet, well, if you fiddled with the .. I have no clue how C interoperability works in .NET
21:53:35 <CakeProphet> oklopol: could I play this game? o_o
21:53:45 <CakeProphet> Sgeo: haha. okay. concurrency?
21:53:55 * CakeProphet has gotten particularly good at concurrency as of late.
21:54:08 <Sgeo> Single-threaded, with a custom-made scheduler to schedule things to occur at later times
21:54:20 <CakeProphet> haha. "wonderful"
21:54:35 <Sgeo> Well, the SDK is apparently not thread-safe
21:54:45 <CakeProphet> ah, okay.
21:55:06 <CakeProphet> depends in what way. With the right concurrency design you can ignore that.
21:56:08 <Sgeo> hmm
21:56:28 <CakeProphet> oklopol: hmmm, I was thinking of ways I could manipulate gravity in my game, but it will get tricky since I'm using sprite-based graphics.
21:56:34 <CakeProphet> rotations and such.
21:56:42 <Sgeo> I'm pretty much clueless when it comes to concurrency stuff. Would that design just be one thread that interacts with the SDK, and other threads pass messages?
21:57:43 <CakeProphet> more or less. message-passing is the simplest way to get it right without stuff like STM (which really only has good support in Haskell, though there are libraries for other langs)
21:58:03 <Activeworlds> Sgeo, did Madk say he was interested?
21:58:29 <Madk> I wanted more information, but I've g2g now
21:58:39 <Sgeo> Bye Madk
21:58:48 <Madk> goodbye
21:58:55 -!- Madk has quit (Quit: Leaving).
21:59:44 <Sgeo> Hmm, I'd imagine, but not sure, that the reason it's not thread-safe is that arguments are often passed by setting attributes
21:59:46 <Sgeo> Hm, example:
21:59:57 <CakeProphet> Sgeo: I find the easiest way to think about concurrency is in terms of atomic operations.
22:00:32 <Sgeo> To set a position, you might call aw_int_set(AW_MY_X, 0); aw_int_set(AW_MY_Y, 0); aw_int_set(AW_MY_Z, 0); aw_state_change();
22:00:41 <Sgeo> /Note: Actual names used in the SDK may differ
22:00:50 <CakeProphet> Sgeo: basically, what appears to occur as one action to other threads.
22:00:54 -!- alise has joined.
22:01:28 <Sgeo> hi alise
22:01:48 <alise> Tetration, constellation, inferior blaxploitative municipal irrigation! All these thoughts occurred to Bjorn at roughly the same time.
22:04:00 <alise> A healthy disregard for public and private safety was what had landed him the job as Anti-Safety Inspector with the County Jail's Holy Roman Catholic Church ... and he wasn't about to give up his free lunch without a fight.
22:04:16 <CakeProphet> ...
22:04:20 <CakeProphet> I am entertained.
22:06:01 <alise> However, as Heinlein was his opponent, he was soon dissuaded of even any notion of a "free lunch" and immediately signed up with the National Libertarian Register.
22:07:37 <Activeworlds> Alise, please stfu... Please.
22:07:40 <CakeProphet> oklopol: so element of variety in my game comes from the character's gun. It's a metroid-inspired game, but I intend to have interesting projectiles that are used in puzzles. I'm wondering what sort of puzzles could arise from having an area-of-effect gravity projectile.
22:07:45 <alise> The NLR, as all the drug-abusing, sex-addicted kids were calling it in those days, was designed, specifically and expressly, for targeting and eliminating libertarians; that way, they could consider themselves martyrs, and the government could be rid of a rather pesky bunch of irritations. As long as the government kept this both an official "secret" and blabbed about it at every opportunity, this satisfied most everyone.
22:07:53 <CakeProphet> would it increase or decrease gravity. or reverse direction? hmmm...
22:07:53 <Sgeo> Activeworlds, hm?
22:07:56 <alise> Activeworlds: And you are?
22:08:00 <alise> Presumably some friend of Sgeo.
22:08:19 <alise> In which case I advise you to not advise me to stfu.
22:08:32 <CakeProphet> now hold on a minute
22:08:35 <CakeProphet> maybe fungot has a solution.
22:08:40 <CakeProphet> ...nope.
22:08:41 <CakeProphet> carry on.
22:08:47 <alise> FUNGOT
22:08:49 <alise> Fix it!
22:08:51 <alise> fungot fungot fungot
22:08:53 <CakeProphet> ^style
22:08:54 <alise> fungot isn't here.
22:08:56 <alise> damn.
22:08:58 <CakeProphet> wtf
22:09:10 <alise> FIZZIE PANIC PANIC PANIC
22:09:16 <CakeProphet> fungot was my main source of inspiration
22:09:19 <Activeworlds> Why are you here ,alise?
22:09:30 <Sgeo> Activeworlds, alise is a regular here
22:09:35 <CakeProphet> Activeworlds: stop. alise is a regular.
22:09:50 <Sgeo> Just because e's not being "on-topic"ish right now [neither are we really] doesn't mean anything
22:10:00 * CakeProphet is never on-topic
22:10:06 <Activeworlds> It was a simple question, not an attack
22:10:20 <CakeProphet> this is essentially a general-purpose programming community, with an affinity towards the strange. :)
22:10:28 <alise> Activeworlds: because i've been here for a long time, because I have a deep interest in esolangs and computer science, because I am very good friends with many people here
22:10:41 <alise> and because dammit I don't need to give you a reason.
22:10:44 <Activeworlds> Thank you alise :) That's all i wanted to know
22:10:54 <alise> Well that was easier than I expected. :p
22:11:16 <CakeProphet> !haskell print "test"
22:11:25 <alise> CakeProphet: Even ais523, the strongest defender of on-topicity, has all but given up. ;)
22:11:26 <alise> *:)
22:11:26 <ais523> !haskell putStrLn "test"
22:11:27 <CakeProphet> all of our bots are gone. the woe!
22:11:32 <ais523> but yes, EgoBot isn't here
22:11:50 <ais523> still, the channel may as well not exist if there isn't on-topic conversation
22:12:03 -!- augur has joined.
22:12:09 -!- fizzie has quit (Quit: jumpin' jumpin').
22:12:12 -!- fizzie has joined.
22:12:19 <CakeProphet> ais523: there often is on-topic conversation though
22:12:23 <alise> ais523: We're basically a group of friends. Is socialisation pointless?
22:12:31 <alise> Besides, we're bound together by a strong interest in CS-y stuff.
22:12:35 <ais523> I suppose so
22:12:36 <alise> That drives our conversation.
22:12:39 <alise> Compare us to anywhere else.
22:12:50 <ais523> but I find that like-minded people tend to come across each other anyway, on the Internet
22:13:02 <alise> Yes, in a place
22:13:04 <alise> *place.
22:13:05 <CakeProphet> I would compare #esoteric to a non-language-specific version of #haskell :)
22:13:06 <alise> This is that place.
22:13:13 <ais523> heh, maybe
22:13:16 <CakeProphet> except... without 700-billion people.
22:13:18 <alise> CakeProphet: #esoteric is more intelligent than #haskell nowadays.
22:13:24 <alise> didn't use to be the case.
22:13:41 <CakeProphet> alise: generally. Everytime I ask a question on #haskell I generally just get told that I should do it their way. :)
22:13:42 <Activeworlds> Any of you try www.activeworlds.com ?
22:13:47 <CakeProphet> which is not answering my question at all.
22:13:53 <Sgeo> Activeworlds, I've probably mentioned it incessantly
22:13:54 <Gregor-P> I like carrot sticks. And spelling!
22:14:01 -!- fungot has joined.
22:14:03 <Sgeo> And have been accused of necrophilia
22:14:27 <CakeProphet> Sgeo: do you prefer your corpses fresh or somewhat touched by rigor mortis?
22:14:30 <CakeProphet> I prefer the fresh ones.
22:14:41 <CakeProphet> still warm.
22:14:43 <alise> Activeworlds: There's a general channel-wide groan every time Active Worlds is mentioned (always by Sgeo).
22:14:56 <alise> But it's all right, we tolerate necrophiliacs. Uh, to a point.
22:15:01 <CakeProphet> :)
22:15:10 <ais523> it's not nearly as bad as the channel-wide groan that comes up when anyone mentions PSOX
22:15:13 <ais523> it used to be always Sgeo
22:15:17 <ais523> but nowadays it's more other people being ironic
22:15:44 -!- Sgeo has changed nick to GroanMaster.
22:15:57 * CakeProphet is a necrophiliac necromancer.
22:16:15 <alise> ais523: at least PSOX is /amusing/
22:16:17 <Activeworlds> Well, if you just tried the software, a groan wouldn't be neccisary :)
22:16:35 -!- ais523 has changed nick to PSOX.
22:17:05 <Ilari> Used some macroing to reduce number of lines. Now there are 825 C++ code lines total...
22:17:14 <GroanMaster> Many people here use Linux, not sure how well AW works in WINE.
22:17:18 -!- PSOX has changed nick to ais523.
22:17:22 <GroanMaster> Or other UNIXes possibly
22:17:30 <GroanMaster> erm, not that Linux is a UNIX
22:17:53 <ais523> it almost is
22:18:03 <ais523> but you can use "POSIX-based OSes" if you want to include the entire set
22:18:04 <ais523> or just *nix
22:18:18 <GroanMaster> I did try to get people here interested in AW by mentioning the computer I'm planning on building
22:18:27 -!- relet has joined.
22:18:50 <GroanMaster> Activeworlds, check GWave
22:19:12 <ais523> it's become a meme in this channel, thus I mentally filter it out
22:19:15 <ais523> like I do with most other memes
22:19:16 <AnMaster> people actually use gwave?
22:19:18 <AnMaster> how strange
22:19:20 * CakeProphet does.
22:19:25 <CakeProphet> I use it for my android game dev.
22:19:35 <AnMaster> <ais523> it's become a meme in this channel, thus I mentally filter it out <-- what became a meme?
22:19:39 <CakeProphet> though the interface is somewhat atrocious.
22:19:43 <GroanMaster> We just decided to start using it yesterday
22:19:43 <CakeProphet> I might switch to a wiki.
22:19:44 <ais523> AnMaster: Active Worlds
22:19:47 <AnMaster> ah
22:19:48 <Ilari> Of that, 445 lines are part of core, 9 lines are part of extensions and 371 lines are part of standard opcode implementations.
22:19:55 <ais523> it's only Activeworlds' nick that's re-inspired debate
22:20:09 <ais523> I suppose it must be a really disconcerting feeling to join a channel and discover you're already an inside joke there
22:21:05 <Activeworlds> Shit
22:21:43 <Activeworlds> Sgeo, I did that as soon as i woke up
22:22:04 <alise> <Activeworlds> Well, if you just tried the software, a groan wouldn't be neccisary :)
22:22:12 <AnMaster> Ilari, of what?
22:22:35 <alise> Actually it would be. I'm almost entirely certain I won't be a fan of some mediocre 3D chatroom "with benefits" from god knows how far back.
22:22:52 <Ilari> Of those 825 lines of C++ code that is first implementation of my new esolang.
22:22:57 <Ilari> *are
22:22:59 <AnMaster> Ilari, ah
22:23:05 <GroanMaster> alise, 15 years
22:23:13 <Activeworlds> Yea, I'm pretty sure it's not a mediocre 3d chatroom
22:23:17 <CakeProphet> alise: would you be a fan of a text-based chatroom "with benefits" written in concurrent Haskell? :)
22:23:20 <alise> Activeworlds: Hey, with benefits.
22:23:20 <AnMaster> Ilari, it was just that there was nothing else said by you in the last screen
22:23:23 <CakeProphet> as that is what I'm doing.
22:23:24 <alise> Activeworlds: It has OBJECTS.
22:23:32 <alise> CakeProphet: Moreso than Active Worlds.
22:23:52 <CakeProphet> though one day I might give it hack and slash code
22:23:53 <CakeProphet> for fun.
22:24:14 <ais523> CakeProphet: as in NetHack and Slash'EM's precursors?
22:24:39 <CakeProphet> ais523: well, no. More like a MUSH or an RP MUd if you've ever played one
22:24:45 <CakeProphet> not quite a "talker"
22:25:11 <CakeProphet> because there is code support for the gameplay.... it's just that the gameplay doesn't require much code support in the first place. It's just a bunch of people writing collaborative improv fiction of a sort.
22:25:15 <CakeProphet> from the perspective of their character.
22:25:23 <CakeProphet> with dice rolling for feats.
22:25:25 <Activeworlds> You judge and make benighted assumptions of something you know nothing of...
22:25:41 <CakeProphet> Activeworlds: he is likely trolling you. I can only assume.
22:26:00 <Activeworlds> I can understand if you spent a little time in AW, then came back and told people how much you hated it. Now that, that, I'd respect :)
22:26:26 <ais523> on IRC, it's often hard to distinguish trolling from legit conversation
22:26:27 <alise> Activeworlds: Jeez; a bit sensitive about AW, aren't we?
22:26:39 <Activeworlds> Not at all :)
22:26:43 <alise> Maybe I'd try out Active Worlds if I didn't have to (a) pay and (b) use Windows.
22:26:47 <CakeProphet> actually a sophisticated combat system in a concurrent environment would be quite a challenge. I now have a new goal for this project. To give it combat/RPG elements.
22:26:49 <alise> and (c) abandon my dignity.
22:26:52 <GroanMaster> You don't have to pay to try AW
22:27:05 <alise> But if I try I won't get the full experience!
22:27:19 <GroanMaster> The stuff you make might be destroyed by others
22:27:41 <alise> See, that would be emotionally scarring.
22:27:45 <Activeworlds> That's only true with certain worlds.
22:28:02 <GroanMaster> Activeworlds, there are worlds that use Guardbot these days?
22:28:03 <Activeworlds> And, who you decide to bring to your creations
22:28:24 <Activeworlds> I belive so ( Haven't checked recently)
22:28:47 <CakeProphet> question... can I roleplay my necrophiliac fantasies in this world?
22:28:50 <Activeworlds> Sgeo, i fixed the Wave
22:28:57 <AnMaster> <CakeProphet> alise: would you be a fan of a text-based chatroom "with benefits" written in concurrent Haskell? :) <-- benefits? Are we talking about a MUD or MOO?
22:29:03 <CakeProphet> I'm also a closet furry. do you support anthropomorphic characters?
22:29:13 <Activeworlds> There are plenty of worlds there that you can roleplay any fantasy you'd like
22:29:20 <alise> I'm secretly a 1,000,000-foot penis.
22:29:21 <AnMaster> CakeProphet, how can you be a closet <anything> when you just announced it?
22:29:26 <AnMaster> that just doesn't work
22:29:26 <alise> Can this be represented accurately in-world?
22:29:34 <CakeProphet> AnMaster: neither. I just use MUD as a general-purpose term for all online text-based games. It is certainly MOO-inspired in system though.
22:29:35 <alise> AnMaster: No, we're talking about a chatroom that has sex with you.
22:29:44 <Activeworlds> The worlds are tagged with a rating (chosen by the world owner) from G, PG, PG-13, R, to X
22:30:00 <CakeProphet> ..........I just got massive deja vu
22:30:01 <CakeProphet> like
22:30:03 <GroanMaster> CakeProphet, I don't believe Custom AVs can be nonhuman, but worlds can offer a list of avatars that can be pretty much anything
22:30:05 <AnMaster> alise, that is one weird fetishism!
22:30:06 -!- augur has quit (Remote host closed the connection).
22:30:06 <CakeProphet> ...yeah
22:30:14 <alise> AnMaster: FETISH.
22:30:15 -!- augur has joined.
22:30:17 <alise> The word is "fetish".
22:30:29 <AnMaster> alise, so why does aspell accept that word I used above
22:30:41 <CakeProphet> fetishism is also a word but with a different meaning.
22:30:44 <AnMaster> CakeProphet, ah
22:30:46 <CakeProphet> slightly different.
22:31:02 <CakeProphet> fetishism, to me, refers to the activity of such.
22:31:07 <Activeworlds> And, you don't always have to pay... I haven't payed for my citizenship in....... Well, atleast 4 years
22:31:14 <CakeProphet> "you and your crazy fetishisms"
22:31:17 <CakeProphet> or something
22:31:20 <CakeProphet> I don't know exactly.
22:31:31 <GroanMaster> o.O at Activeworlds
22:31:43 <Activeworlds> You didn't know that Sgeo?
22:31:52 <alise> Activeworlds: I do not see much, or rather, any point, in trying something I know that I will almost certainly not like, when I could do things I am pretty sure I will like
22:32:01 <alise> *like.
22:32:03 <GroanMaster> Activeworlds, I knew it was for free recently due to the project
22:32:07 <CakeProphet> AnMaster: I borrow the idea of context-sensitive commands from MOO. So the lookup starts in your inventory, then to the room, then to the area, then to the player.
22:32:30 <GroanMaster> But didn't know about before that
22:32:30 <Activeworlds> Alise, that's fine... Just don't call it a mediocre 3d chatroom lol... Because it's far from that
22:32:34 <CakeProphet> so items, for example, can unlock specific commands.
22:32:41 <CakeProphet> as can rooms, with puzzle elements.
22:32:56 <alise> Activeworlds: Okay; a rubbish 3D chatroom. (Trolling. Trolling. Pitchforks not necessary. Well, yet.)
22:32:58 <GroanMaster> It's a mediocre 3d chatroom that's programmable with external programs, and somewhat scriptable in-world
22:32:59 <Activeworlds> Groanmaster (i feel weird calling u that) , but anyways, bluebean payed for this citizen for years
22:33:17 -!- GroanMaster has changed nick to Sgeo.
22:33:33 -!- Activeworlds has left (?).
22:33:54 <alise> Whoops, did I scare him away?
22:33:57 <alise> Oh well.
22:34:33 -!- MrJackson_ has joined.
22:34:41 <Sgeo> Oh
22:34:42 <MrJackson_> It's not that bad :)
22:34:44 <MrJackson_> I just had to changem y name
22:34:54 <Sgeo> Better way to change your name: /nick newname
22:35:03 <MrJackson_> Yeah, I'm a n00b to this
22:35:06 <oerjan> AnMaster: you could be a closet cleaner
22:35:42 <MrJackson_> I'm still not sure if I want to learn C or C sharp
22:36:08 <MrJackson_> Because if i learn C, there's no reason for me to implement that knowledge into AW
22:36:30 <MrJackson_> Sure, it's good for outside programming, but I doubt I'll be doing much of that right now
22:36:53 <Ilari> Implemented "is stack empty" and "enumerate extension instructions" operations. 18 more lines total (6 more lines core, 12 more lines in standard opcode implementations).
22:36:53 * oerjan wonders if there's a C flat
22:38:06 <alise> MrJackson_: C# is basically terrible, so, not that.
22:38:22 * oerjan goes to check where in the alphabet madk has placed his filth
22:38:25 <alise> Sgeo will probably object at this point but more here can object to his objections :)
22:38:27 <MrJackson_> Damn lol, you even troll C#?
22:38:54 <Sgeo> MrJackson_, you should note that alise is very opinionated in these sorts of things. Not that I necessarily disagree with him, although there is quite a bit of niceness to C#
22:39:05 <Sgeo> It's probably one of the nicer business-level languages
22:39:08 <oerjan> alise: hey, it has monads, almost
22:39:11 <alise> MrJackson_: I'm a grumpy son of a bitch.
22:39:22 <alise> But yeah, C# is terrible and that's no trolling.
22:39:23 <Sgeo> But alise is opposed to business-related programming, so
22:39:27 <alise> oerjan: yeah but have you /seen/ their syntax?
22:39:30 <alise> Sgeo: hey, no i'm not
22:39:37 <alise> I just don't recommend the job of 9-to-5 programmer to anyone
22:39:43 <CakeProphet> alise: I would actually suport Sgeo in a defense of C#.
22:39:48 <CakeProphet> so... there.
22:39:51 <oerjan> alise: i've sort of heard it's sort of SQL based
22:39:52 <alise> Yes, but you're the only two crazies here who like C#.
22:39:58 <alise> oerjan: yeah. it's /awful/
22:39:59 <fizzie> AnMaster: Oh, by the way. The horrible colors in the "color matrix" ufraw selection for fcam were the result of a tiff-writing bug; something to do with writing rationals.
22:40:00 -!- pikhq has joined.
22:40:04 <alise> seriously, LINQ queries are either trivial or hideous.
22:40:11 <alise> Anyway, pikhq rivals me as far as opinionatedness goes...
22:40:23 <ais523> I'm disappointed by C#
22:40:36 <ais523> it feels like an initially sane language that contracted C++ syndrome
22:40:40 <Sgeo> C#: It's better than Java! (TM)
22:40:42 <fizzie> ais523: Perhaps you should scold it.
22:40:57 <MrJackson_> Wasn't Mutations first bot in Java?
22:41:12 <alise> Mouse shit: It's better than dog shit!
22:41:14 <pikhq> alise: What's this about opinions?
22:41:39 <oerjan> argh wth madk is completely overrunning the wiki :D
22:41:40 <alise> pikhq: They stink!
22:41:50 <alise> oerjan: IEP syndrone.
22:41:52 <pikhq> Also: LINQ queries are annoying because, frankly, do notation is a better sugar for monads than monad comprehensions.
22:41:56 <pikhq> :)
22:41:56 <oerjan> IEP?
22:41:57 <alise> Initial Esolanger Prolificity syndrome.
22:42:00 <Sgeo> ais523, C++ syndrome being a glut of features?
22:42:04 <oerjan> ah.
22:42:13 <Sgeo> erm, I should look up "glut"
22:42:17 <alise> C++ syndrome, n. the syndrome whereby a language sucks.
22:42:18 <pikhq> (in general; in specific cases, monad comprehensions would be *quite* nice.)
22:42:25 <ais523> alise: it's a specific reason for sucking, to be fair
22:42:28 <MrJackson_> Sgeo: can't i just like, reverse engineer our bot to learn?
22:42:33 <ais523> there are many different ways in which a language can suck
22:42:38 <alise> MrJackson_: No.
22:42:44 <pikhq> C++ syndrome, n. Removing the good from a language entirely by adding things to it.
22:42:48 <alise> At least, not if Sgeo's speeches about the Other Coder are anything to go by.
22:42:51 <ais523> but in the case of C++ and C#, it's due to adding a whole load of features that could be potentially useful, but are just too much when together
22:42:59 <alise> If they are anything to go by, then that will just cause brain damage (moreso than C# itself).
22:43:07 <MrJackson_> Hahaha
22:43:12 <MrJackson_> Sgeo even mentioned Epsilion?
22:43:22 * Sgeo quickly hides
22:43:34 <MrJackson_> That's funny, and minde-easing
22:43:37 <MrJackson_> mind*
22:43:54 <ais523> Java may suck too, but it doesn't have C++ syndrome
22:44:09 <ais523> its main issue is NIH-ness, both in terms of code and in terms of programming paradigms
22:44:16 <ais523> everything has to be made to fit The Java Way
22:44:20 <pikhq> It has its own, unique syndromes.
22:44:26 <MrJackson_> I just noticed there's a lot of opinion when it comes to programming
22:44:26 <alise> Java has Java syndrome.
22:44:39 <Sgeo> My main issue with Java is its lack of first-class functions
22:44:40 <pikhq> *Most* of the suck is in the damned library designs, to be honest. The damned things are designed by crack-smoking-monkeys.
22:44:42 <alise> public static void Java implements JavaSyndrome (okay, yeah, this isn't valid).
22:44:58 <ais523> alise: you're confusing functions and classes
22:45:00 <alise> MrJackson_: Only know that we're correct. Even when we disagree!
22:45:02 <alise> ais523: Yeah, I know.
22:45:06 <Sgeo> Then again, I have little to no Java experience
22:45:12 <ais523> alise: sorry, reflex of someone who teaches Java for a living
22:45:14 <alise> We tend to be a bit old-fashioned here, I Guess.
22:45:18 <alise> *guess
22:45:19 <pikhq> Sgeo: Being added!
22:45:20 <alise> Except not really.
22:45:22 <MrJackson_> So it's settled, C it is
22:45:31 <ais523> teaching people to avoid their mistakes reflexively saves thinking time for other things
22:45:34 <pikhq> MrJackson_: For what purpose?
22:45:39 <Sgeo> Unless you want to help on the project immediately..
22:45:42 <ais523> MrJackson_: C is a good language for some things
22:45:43 <alise> MrJackson_: Yes.
22:45:45 <alise> pikhq: first language
22:45:47 <ais523> but for many programs, it's hilariously inappropriate
22:45:50 <alise> MrJackson_: Or, wait, can I suggest HASKELL?
22:45:55 <ais523> C as a first language, that's not terrible
22:46:07 <alise> MrJackson_: You should totally learn Haskell. It's EASY yet PRACTICAL!
22:46:08 <Sgeo> But the goal is to eventually work on a C# project
22:46:12 <MrJackson_> For the purpose of learning basics, and having a basis to programming skills
22:46:14 <alise> Sgeo: THEY BOTH HAVE MONADS.
22:46:26 <pikhq> alise: Okay, C's not a terrible choice for that. It has many limitations and all that, but it at least doesn't get you a lot of very poor misconceptions about how machines work.
22:46:32 <MrJackson_> Yes, the goal IS to eventually work on a C# project
22:46:55 <ais523> I think people's first languages should be a high-level CSy one and a low-level one
22:47:18 <pikhq> Haskell's also a good choice, but only because you'll disdain almost all other languages.
22:47:21 <pikhq> :P
22:47:29 <alise> I don't think I'm going to convince MrJackson_ to learn Haskell. And god knows why!
22:47:34 <CakeProphet> alise: at least we can agree that Haskell is awesome.
22:47:51 <alise> CakeProphet: Well ... it's not quite theoretical enough ...
22:47:54 <Sgeo> How many people have learned Haskell as a first language?
22:47:55 <Ilari> Other fun properties of my new esolang: LF is codepoint just like anything else and it doesn't map to anything valid. As consequence, falling off line causes program to crash and linefeeds are included in jump offsets.
22:47:56 <ais523> hmm, I wonder if you learnt just one first language, that an ML variant would be a good idea
22:48:09 <alise> ais523: no
22:48:18 <ais523> alise: why? I'm interested in your reasoning
22:48:23 <alise> dealing with functional organisation /while/ confusing side-effects around is /not/ a good idea for a first-time programmer
22:48:28 <alise> ML is very good for getting functional shit Done, yes.
22:48:33 <alise> but as a first language, it'll only confuse.
22:48:36 <ais523> hmm, I get your point
22:48:46 <ais523> the idea is to not mix paradigms until you know the two paradigms individually?
22:48:51 <alise> <Sgeo> How many people have learned Haskell as a first language?
22:48:54 <alise> My friend, possibly.
22:49:00 <alise> He's expressed an interest.
22:49:08 <alise> ais523: I think so.
22:49:13 <ais523> on my Electronic Engineering course, they tought asm and C simultaneously as first languages
22:49:17 <ais523> asm again and Java the next year
22:49:21 <alise> *taught
22:49:23 <ais523> then MATLAB the year after that
22:49:25 <alise> ais523: Otherwise you'll actually develop "functimperative programming" in your head, and that can only be painful.
22:49:28 <ais523> err, yes, thanks for the correction
22:49:54 <Ilari> Bizarre instructions: '#': Find next LF in program and jump to one instruction after that.
22:49:55 <ais523> asm+C is not a bad combo, although it's rather low-level
22:50:06 <Sgeo> Going from Haskell straight to C# might be a bad idea
22:50:17 <pikhq> Actually, if you've got a sane machine language in place, assembly would probably make a decent introduction.
22:50:20 <alise> Assembly is a bit pointlses really. x86 at least.
22:50:25 <alise> Theoretical RISC, maybe.
22:50:31 <alise> Big ball of internal mud... naw.
22:50:32 <pikhq> (No to modern x86. Just NOOOOOOO...)
22:50:32 <ais523> Sgeo: hmm; you'd handle C# just fine, but nobody else would be able to read the resulting code
22:50:53 <pikhq> MMIX or MIPS or something.
22:50:53 -!- MrJackson_ has quit (Ping timeout: 252 seconds).
22:50:58 <ais523> we were taught PIC16F87 asm, rather than x86 asm
22:51:05 <AnMaster> <fizzie> AnMaster: Oh, by the way. The horrible colors in the "color matrix" ufraw selection for fcam were the result of a tiff-writing bug; something to do with writing rationals. <-- hm okay. But what about that count == 1 thing. Got any reply to it?
22:52:08 <ais523> PIC16F87 asm is pretty simple, in that all commands take 4 cycles except for jumps which always take 8, and conditional skip instructions which take 8 if they skip (they're implemented by replacing the next instruction in the pipeline with a NOP)
22:52:23 <Ilari> (that instruction is useful for putting shellbang in program).
22:52:24 <ais523> also, it has around 400 registers, but no RAM, which /is/ unusual
22:53:09 <ais523> 1-byte registers, that is
22:53:17 <pikhq> ais523: How very... Von Neumann.
22:53:24 <ais523> yes, the code's in ROM
22:53:25 <fizzie> AnMaster: I got another dismissive reply; but maybe third time's the charm. (This time he claimed that it's not a problem because SubIFD fields are written with type 4 -- unsigned long -- instead of 13 -- ifd offset -- even though I had just explained my "camera" uses type 13 there.
22:53:38 <ais523> many of the registers are memory-mapped to something or other
22:53:39 <pikhq> Erm.
22:53:43 <pikhq> Not Von Neumann.
22:53:45 <AnMaster> fizzie, eh
22:53:45 <pikhq> Not at all.
22:53:52 <ais523> err, I always get those two muddled
22:54:01 <AnMaster> fizzie, maybe fcam is doing it wrong
22:54:03 <AnMaster> check the docs
22:54:11 <AnMaster> or
22:54:12 <AnMaster> specs
22:54:13 <AnMaster> rather
22:54:23 <fizzie> It's not part of any real spec, that's the problem.
22:54:30 <AnMaster> fizzie, ah...
22:55:43 <fizzie> There's one tech note from Adobe saying that SubIFD field is "type 4 or type 13, but type 13 is peferred", so I'd say fcam is more correct than not; but I guess many (most?) use type 4 still.
22:55:52 <alise> this laptop is awesome
22:56:20 <fizzie> I might have more luck in convincing the fcam folks to work-around dcraw brokenness, though; I left a note in the forums a moment ago.
22:56:32 <alise> so I'm writing a little thing for expressing infinitely detailed images in haskell
22:56:46 <alise> i.e. an image as R^2 -> N^3
22:57:23 <alise> should it be R, i.e. infinitely big as well as infinitely detailed, or [0,1]?
22:57:27 <alise> I think [0,1].
22:57:54 <fizzie> And as an aside, the bugtracker is readable without logins (though empty); for some reason the fcam homepage link to it is to "add an issue" page which causes the "you need to login" reply, not the main issue-tracker page.
22:59:45 <alise> wtf, ubuntu's haskell-mode has no indentation
22:59:55 <ais523> on Emacs?
22:59:58 <ais523> it does for me
23:00:07 <ais523> tab is an indent cycle, Python-style
23:00:13 <ais523> but it's buggy enough that it's more confusing than useful
23:00:46 <AnMaster> fizzie, hm did you mention that tech note to the dcraw guy?
23:01:05 <alise> ais523: it's not buggy
23:01:10 <alise> haskell is complicated
23:01:16 <ais523> alise: well, it parses Haskell incorrectly
23:01:16 <alise> ais523: i mean the haskell-mode package in ubuntu
23:01:18 <alise> lacks the proper mode
23:01:57 <fizzie> AnMaster: Yes, twice, but he didn't comment on it. Both replies I have got have contained a couple of paragraphs of general complaining about stupid file formats. :p
23:02:39 <AnMaster> fizzie, ouch. Why does this remind me of that guy who wrote the Ion window manager.
23:02:59 <AnMaster> and it is such an easy fix too... sigh
23:03:16 <AnMaster> fizzie, did you include your patch btw?
23:04:42 <alise> pikhq: Ever get Minion working?
23:04:57 -!- augur has quit (Remote host closed the connection).
23:04:58 <pikhq> alise: Minion? No.
23:05:04 <alise> pikhq: Darn.
23:05:05 <alise> pikhq: Why not?
23:05:08 -!- augur has joined.
23:05:09 <alise> Adobe Reader not have it?
23:05:19 <fizzie> The single-char fix I had might break other files, if he's currently relying on the "tiff_get seeks to the ifd automatically" behaviour. Some cameras put MakerNotes-type data into tiff ifd directories pointed by nonstandard private fields with type 13, and in those cases probably count==1 and his code expects the automatic seek.
23:05:28 <pikhq> I don't recall why I stopped working on it.
23:06:22 <fizzie> Adobe have that official freeware "DNG Converter" tool (win/osx); I guess it might well use type 4 too, and it's a sort of a "reference implementation", or at least close. (I haven't verified what it does.)
23:06:56 <pikhq> But I do have the OTF font...
23:07:34 -!- augur has quit (Remote host closed the connection).
23:07:42 -!- augur has joined.
23:08:36 <alise> pikhq: Well go on then.
23:08:47 <alise> http://lglinux.blogspot.com/2007/09/myriad-and-minion-for-latex.html
23:12:07 <AnMaster> fizzie, hm
23:13:21 -!- MigoMipo has quit (Remote host closed the connection).
23:15:00 <fizzie> AnMaster: Hah, crazy. The garage.maemo.org forums send a email copy of all posts; but someone must've gotten some arguments in the wrong order, because the copy was sent with "From: [my maemo.org account email]" and "To: noreply@garage.maemo.org", and what I finally got was a "noreply: no such user" bounce.
23:16:31 -!- pikhq has quit (Read error: Connection reset by peer).
23:17:08 <AnMaster> fizzie, hah. I wonder if that affects all users. If so it ought to be fixed quickly
23:17:09 <AnMaster> hopefully
23:19:47 <fizzie> I guess I'll wait and see if it happens again, before complaining anywhere.
23:21:50 -!- Phantom_Hoover has joined.
23:21:58 <Phantom_Hoover> Yay, back!
23:22:19 <Phantom_Hoover> oerjan: about your thing about well-typed functions in Agda being strongly normalising.
23:23:46 <Phantom_Hoover> They needn't be, since a function can refer to itself.
23:25:12 <ais523> btw, any thoughts on why Microsoft have bought a licence to ARM?
23:25:26 <ais523> that is, a license that lets them manufacture modified versions of the things themselves
23:25:34 <ais523> rather than just buying a bunch of chips, like most people do
23:25:41 -!- pikhq has joined.
23:26:21 <Phantom_Hoover> Wow, 92% packet loss.
23:26:25 <fizzie> ais523: "Research and development purposes", wasn't that the official excuse?
23:26:41 <ais523> I don't see why they need an "excuse"
23:27:01 <ais523> even so, I don't get why you'd get that sort of license just for research, they probably have something else in mind
23:27:15 <alise> ais523: ARMx86
23:27:18 <fizzie> Because the real reason is something sinister.
23:27:25 <ais523> alise: err, wow
23:27:31 <ais523> that seems... ridiculous
23:27:40 <ais523> given that the ARM technology is not very suited to the x86 instruction set
23:28:17 <fizzie> "With closer access to the ARM technology we will be able to enhance our research and development activities for ARM-based products."
23:28:25 <alise> ais523: The ONLY Microsoft-approved RAM solution.
23:28:29 <alise> With Windows(R) technology.
23:28:59 <ais523> hmm, if you want something sinister: perhaps they're trying to invent a new sort of Trusted Computing chip
23:29:05 <ais523> and want something cheap and TC to base it on, like ARM
23:29:12 <AnMaster> alise, RAM? what does memory have to do with it?
23:29:29 <alise> Erm.
23:29:30 <alise> ARM.
23:29:30 <AnMaster> alise, more likely
23:29:32 <AnMaster> alise, ah
23:29:45 <AnMaster> err
23:29:47 <AnMaster> ais523, ^
23:29:49 <augur> anyone know how to extract an applet from a webpage?
23:29:58 <AnMaster> augur, easy. view source
23:30:06 <fizzie> They're trying very hard to get that Windows Phone 7 thing running; and, well, phones == ARM.
23:30:09 <AnMaster> then fetch the .class/.jar
23:30:14 <oerjan> Phantom_Hoover: referring to yourself is not a problem if it's only _structural_ recursion, but i don't know agda so i don't know if it's restricted to that
23:30:16 <ais523> fizzie: that seems to be the leading theory atm
23:30:18 <AnMaster> and other stuff
23:30:24 <AnMaster> like any parameters
23:30:25 <AnMaster> iirc
23:30:27 <augur> AnMaster: ahh, so the .jar i downloaded probably wasnt the thing to download, rather the class was
23:30:39 <AnMaster> augur, uh, I can't imagine there are both
23:30:42 <ais523> the .jar likely contains .class files
23:30:47 <augur> well, one is an archive
23:30:47 <AnMaster> yeah what ais523 said
23:30:51 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
23:30:52 -!- SimonRC has quit (Ping timeout: 260 seconds).
23:30:56 <alise> oerjan: it is
23:30:59 <alise> all dependently-typed languages are
23:31:00 <ais523> .jar is just .zip witha particular structure
23:31:01 <augur> <applet archive="something.jar" code="something.class"> ...
23:31:06 <AnMaster> augur, you still need to include the parameters in the applet tag
23:31:11 <augur> ok
23:31:15 <AnMaster> and use a web page to view it
23:31:18 <AnMaster> could be a local one
23:31:26 <AnMaster> but afaik you can't run an applet stand-alone
23:31:31 <alise> oerjan: basically we (theoretically) treat the recursive call as actually sugar around an induction scheme
23:31:33 <ais523> AnMaster: you almost can
23:31:33 <AnMaster> needs to be in a web page.
23:31:35 <alise> i.e. structural recursion scheme
23:31:37 <AnMaster> ais523, appletviewer sure
23:31:43 <ais523> AnMaster: no, you can give it a main function
23:31:44 <AnMaster> but you still need a web page for it
23:31:51 <ais523> that just creates a window and adds the applet to it
23:31:53 <AnMaster> ais523, only if you have access to the source
23:31:54 <ais523> IIRC that's standard for applets
23:32:03 <AnMaster> no?
23:32:07 <ais523> AnMaster: agreed, but many people put that in while they have access to the source
23:32:16 <AnMaster> hm
23:32:20 <ais523> ofc, in theory you could have an applet with an entirely unrelated main()
23:32:26 <AnMaster> haha
23:32:29 <ais523> so it might be unwise to actually do that, as you'd be running untrusted code unsandboxed
23:32:38 <AnMaster> ais523, what is the applet start function
23:32:41 <AnMaster> if it isn't main()
23:32:46 <ais523> I can't remember offhand
23:32:51 <ais523> applets are incredibly deprecated
23:32:58 <AnMaster> ais523, oh?
23:32:59 <ais523> to the extent that ##java nowadays refuses to discuss them
23:33:04 <ais523> it's all JNLP nowadays
23:33:09 <augur> woo
23:33:09 <AnMaster> ais523, JNLP being?
23:33:14 <augur> AnMaster! <3
23:33:23 <ais523> augur: Java Web Start (JNLP is the protocol it uses)
23:33:26 <fizzie> You subclass Applet or some other class, and it constructs an instance of it; there's no static "main fucntion".
23:33:28 <AnMaster> ais523, wrong nick
23:33:39 <augur> ais523: what now
23:33:40 <ais523> well, OK
23:33:42 <ais523> augur: misping
23:33:53 <augur> mr ping
23:34:01 <ais523> AnMaster: it's basically a way to run arbitrary Java programs sandboxed, directly from a web browser
23:34:04 <oerjan> alise: i was mainly mentioning this for the benefit of phantom_hoover, so it's a little bad to discuss it after he timed out...
23:34:10 <alise> Miss Ping is Mr. Ping now.
23:34:17 <alise> oerjan: oh well i don't care about people
23:34:25 <alise> ais523: not inside the browser though, must be noted.
23:34:36 <alise> It's also [...] shit.
23:35:11 <oerjan> alise: GOTCHA
23:35:21 <ais523> alise: I agree, I have difficulty understanding the idea behind Java Web Start
23:35:27 <ais523> it strikes me as being rather awful
23:35:29 <alise> oerjan: is that a secret now? :-)
23:37:10 <ais523> my main issue with JNLP is it solves an issue that most people don't really care about, whilst not fitting the niche that applets filled
23:37:18 <ais523> although, it would be fine for something like Rubicon
23:38:10 <ais523> (which incidentally no longer works on my laptop)
23:38:37 <fizzie> For a swing-based applet, you subclass javax.swing.JApplet (there's a corresponding plain-AWT class too), provide a no-arg constructor and then override public void init() to start the stuff.
23:40:16 <fizzie> (And at least this applet's init() uses SwingUtilities.invokeAndWait() to do the actual GUI construction.)
23:41:34 -!- SimonRC has joined.
23:44:13 <oerjan> if you swing that way
23:44:52 -!- tombom_ has quit (Quit: Leaving).
23:45:28 <Sgeo> I understand that it's somehow somewhat sinful to use static classes to store stuff. But what about to perform stuff, with no state?
23:45:58 <ais523> Sgeo: stateless static methods are fine
23:46:05 <ais523> see, for instance, System.arraycopy
23:46:11 <ais523> whose only sin is that it's in System rather than Arrays
23:46:28 <ais523> (that's a Java example; sorry, I'm a little language-confused atm)
23:46:42 <Sgeo> Also, what, exactly, is sinful about stateful static classes?
23:46:54 * Sgeo wants to fix this codebase eventually
23:47:08 <ais523> Sgeo: "not re-entrant" is the normal criticism, but that's rather technical
23:47:20 <fizzie> The same thing what's sinful with plain old global variables?
23:47:29 <ais523> the idea is that you basically need to know too much about the context to be able to use them safel
23:47:31 <ais523> *safely
23:47:49 <ais523> and so you end up breaking encapsulation rather badly out of necessity
23:49:04 <Sgeo> safely?
23:49:32 <ais523> Sgeo: try calling a static method that uses global state from two threads at once
23:49:36 <ais523> and you'll see what I mean
23:49:49 -!- nooga has joined.
23:49:51 <ais523> you don't need threading to cause that sort of thing to explode, but it makes it a lot more obvious
23:49:52 <Sgeo> Ah
23:49:55 <AnMaster> <ais523> although, it would be fine for something like Rubicon
23:49:57 <AnMaster> what is that
23:50:02 <nooga> hi
23:50:03 <fizzie> Here's a refreshing alternative viewpoint; context: dcraw faq explaining why it's an app, not a library: "Library code is ugly because it cannot use global variables. Libraries are more difficult to modify, build, install, and test than standalone programs, and so are inappropriate for file formats that change every day."
23:50:06 <AnMaster> wikipedia claims it is the name of a river
23:50:10 <ais523> AnMaster: it is
23:50:14 <ais523> it's also the name of a computer game
23:50:17 <ais523> based on RUBE, the esolang
23:50:19 <AnMaster> ais523, ah that RUBE one
23:50:21 <AnMaster> right
23:50:27 <AnMaster> why doesn't it work any longer for you?
23:50:31 <Sgeo> This is a single-threaded application. What single-threaded stuff can cause it to explode?
23:50:33 <ais523> applet fails to load
23:50:41 <ais523> with no more detail given than that
23:50:52 <AnMaster> ah
23:51:31 <nooga> hey
23:51:46 <AnMaster> <ais523> Sgeo: "not re-entrant" is the normal criticism, but that's rather technical <-- how is that rather technical?
23:51:56 <nooga> i was wondering if there's an esolang optimized for easy hardware implementation ;f
23:52:01 <AnMaster> I mean, sure it is. But not more so than programming in general
23:52:03 <ais523> AnMaster: the meaning of the word "re-entrant"
23:52:13 <AnMaster> ais523, yes that is quite common in programming
23:52:18 <Sgeo> What's the correct way to handle things where a global state might be useful?
23:52:25 <ais523> nooga: there's http://esolangs.org/wiki/MiniMAX which is designed to have a short impl in x86 asm
23:52:26 <AnMaster> ais523, several man pages mentions it here in section 3 mostly
23:52:29 <Sgeo> Or is it better to design around avoiding global state? [Probably that]
23:52:29 <ais523> and a few other esolangs along similar lines
23:52:42 <ais523> Sgeo: generally, you use local state instead
23:52:51 <ais523> work out what needs the state, and what doesn't
23:53:01 <AnMaster> nothing really needs state
23:53:05 <AnMaster> you can do CPS
23:53:06 <ais523> for instance, you might want to associate the state with an individaul user
23:53:31 <AnMaster> ais523, there are lots of languages that does without state just fine!
23:54:00 <nooga> i meant: easy to implement as a chip, like using FPGA
23:54:04 <alise> There once lived a family of old, old wasps. These wasps, every day, would clamour for a chance to see the Queen Wasp -- like a queen bee, but more a figurehead than a head of state, you see -- and the rest of the time they fantasised about seeing the Queen Wasp. One day they all got killed in a very boring way, and Bjorn knew nothing of this as he passed through the forest in which they didn't live.
23:54:40 * Sgeo confuses
23:55:55 <ais523> AnMaster: they normally have state in a sense
23:56:03 <ais523> even if it's only an argument being passed to every function
23:56:31 <AnMaster> ais523, well yes
23:56:32 <alise> Often Bjorn would stop and gaze up at the immense trees; or down at the bugs on the floor. Sometimes he squished the bugs while looking at the trees, or the trees while looking at the bugs. He felt considerably more sorrow for the trees. Eventually, a bird flew overhead and the strain of trying not to squish three things at once was too much for Bjorn; he fell over, and ended up squishing some bugs by lying on them, and felling a tree because of the vibrati
23:56:33 <alise> on caused; this then caused the bird to crash-land in confusion and it died shortly after.
23:57:07 <AnMaster> alise, stop going insane
23:57:14 <AnMaster> :P
23:57:52 <ais523> incidentally, I'm currently trying to redesign the interface of NetHack
23:57:56 <ais523> AnMaster: alise: any suggestions?
23:57:59 <AnMaster> alise, also that Björn must have been quite heavy
23:58:01 <alise> Bjorn eventually exited the forest and entered another forest right after it. In fact, most people would probably say it was the same forest, but Bjorn had a very precise, unusual definition of "forest" which meant "the one meter squared ratio around any given tree".
23:58:10 <AnMaster> ais523, do it in feather
23:58:19 <alise> AnMaster: Bjorn, not Björn. His parents weren't so clued up on the Swedish alphabet, or indeed Swedish at all.
23:58:25 <ais523> AnMaster: I think you're confused as to what a user interface is
23:58:34 <alise> ais523: make it ajax 2.0!
23:58:38 <AnMaster> alise, but Bjorn is just a typo for Björn or Bjørn
23:58:46 <ais523> I mean, in terms of what key does what
23:58:53 <alise> AnMaster: Tell that to his parents.
23:58:55 <ais523> AnMaster: or Bjarn?
23:58:56 <AnMaster> alise, Björn = Bear btw
23:59:02 <alise> Well, Bjorn isn't a bear. He's Bjorn.
23:59:07 <AnMaster> ais523, not Swedish. Perhaps some other language
23:59:24 <AnMaster> alise, yes but Björn is also a name in Swedish
23:59:30 <AnMaster> you can be named Bear
23:59:38 <alise> Bjorn is what Bjorn is called and that's that.
23:59:57 <oerjan> Bjärn
23:59:57 <AnMaster> ais523, configurable key bindings
←2010-07-22 2010-07-23 2010-07-24→ ↑2010 ↑all