←2011-04-22 2011-04-23 2011-04-24→ ↑2011 ↑all
00:03:03 <Gregor> Although I appreciate your humor, that's a little bit less clear than you're making it.
00:03:20 <Gregor> The first amendment applies to the government, not to airports, which are privately-operated businesses.
00:03:26 <Sgeo> So...close... to being able to use PayPal
00:03:38 <Sgeo> Got an AmEx gift card
00:03:47 <Sgeo> PayPal charged a verification thing to it
00:03:56 <Sgeo> But the code won't show up in the description
00:03:57 <Sgeo> :(
00:04:05 <Sgeo> Then again, it's still "pending"
00:04:24 <Gregor> Ohwait, I'm totes wrong.
00:04:33 <pikhq> Gregor: Airports actually tend to be owned by the city it
00:04:34 <Gregor> Apparently airports are government-run in the US.
00:04:35 <pikhq> 's in.
00:04:52 <Gregor> Wow, I am SO lagged.
00:05:12 <pikhq> No, I hit enter same time you did. :P
00:05:51 <elliott> Gregor: Privately-owned airports ... with the TSA in them ...
00:06:20 <Gregor> elliott: I didn't say they were unregulated.
00:06:29 <Gregor> elliott: Or even anything less than extremely heavily regulated.
00:06:45 <elliott> ;D
00:22:23 <elliott> Allocation sizes of two to three pointers where the first of the two pointers and the second of the three pointers must be aligned to eight bytes: SO INCONVENIENT
00:22:39 <elliott> Wait.
00:22:42 <elliott> There are no such allocations.
00:22:51 <elliott> Just allocations of two pointers where sometimes the first must be aligned and sometimes the second.
00:24:08 <pikhq> Perhaps all allocations should be page-aligned. That'd solve it!
00:24:09 <pikhq> :P
00:24:18 <elliott> TOTALLY
00:25:12 <elliott> pikhq: Actually the allocation is going to be done with the Zepto Basement Bin Copying Collector.
00:25:47 <elliott> pikhq: Basically I don't bother with free lists or any of that shit. I just allocate linearly, then whenever I run out of heap, I do the regular copying-GC trick, keeping objects that reference each other close together sort of.
00:26:12 <pikhq> So, a fairly standard copying GC, then.
00:26:21 <elliott> pikhq: Yeah, except that it's /Basement Bin/.
00:26:38 <pikhq> Which means what?
00:27:22 <elliott> pikhq: Like all of Zepto, it is coded to meet Zepto's weird aesthetic preferences over anything else.
00:27:25 <elliott> Including, e.g. performance.
00:27:29 <Gregor> That it's simultaneously not as fast as GGGGC, and not as featureful as GGGGC.
00:27:36 <elliott> Remember, I'm using a /linked list/ to intern symbols.
00:27:41 <elliott> Because hash tables spoil vibes.
00:27:46 <elliott> Gregor: Yes, but it's also MINE.
00:27:52 <Gregor> Fair enough.
00:27:56 <Gregor> And EGGGC sounds terrible :P
00:28:13 <elliott> Generations. What are they for? What is with all this making assumptions about the lifetime of objects.
00:28:17 <elliott> That is making an ass out of u and objects.
00:28:26 <elliott> Zepto makes no asses. It is not an ass factory.
00:28:35 <elliott> It is a programmer happiness factory.
00:29:05 <pikhq> elliott: I presume "Zepto" means "yours"?
00:29:13 <elliott> It is the name of a language.
00:29:14 <pikhq> Gregor: Egg GC sounds awesome. :P
00:29:19 <elliott> It has no "Lisp" prefix because it is awesome.
00:29:30 <elliott> I already have a half-baked implementation of it, but it's in Python.
00:29:35 <elliott> So I'm making an even-more-half-baked version in C.
00:29:54 <monqy> quarterbaked
00:29:55 <pikhq> Quarter-baked, if you will.
00:30:01 <pikhq> monqy: ^5
00:30:05 <elliott> I'll bake you lot in a quarter if you don't shut up.
00:30:19 -!- zeptobot has joined.
00:30:25 <elliott> zeptobot: Get broken by these mortals.
00:30:25 <pikhq> elliott: How do you bake people in a quarter?
00:30:28 <elliott> : quote
00:30:28 <zeptobot> -> (x . x)
00:30:29 <elliott> pikhq: Painfully.
00:30:38 <elliott> (x . x) is how zeptobot feels about people breaking it. So don't do that.
00:30:40 <pikhq> Seems there's no empty space in that coin.
00:30:43 <elliott> : (quote 99)
00:30:44 <zeptobot> -> (99)
00:30:52 <elliott> : ('(x . x) 99)
00:30:52 <zeptobot> -> (99)
00:31:05 <elliott> : ('(x . (eval x)) 'quote)
00:31:05 <zeptobot> ! AttributeError: 'Symbol' object has no attribute 'apply'
00:31:12 <elliott> That is correct behaviour. I think.
00:31:19 <monqy> how does zepto work
00:31:24 <elliott> monqy: Badly.
00:31:45 <elliott> http://sprunge.us/ZcaS
00:31:55 <elliott> This is the specification, except for all the parts that are wrong.
00:32:10 <elliott> http://sprunge.us/fTEH This shit is bullshit.
00:32:18 <elliott> But there's no shit like bullshit.
00:32:27 <elliott> My errors are the best.
00:35:41 <monqy> it would be nice if I could tell what the specification meant
00:36:13 <monqy> right now I'm trying to figure out how to get exotic errors
00:36:54 <monqy> : (id)
00:36:55 <zeptobot> -> ()
00:36:58 <monqy> oh no
00:37:40 <monqy> : (id '(x . x))
00:37:40 <zeptobot> -> (x . x)
00:37:50 <monqy> : (id '(x . x) '(x . x))
00:37:51 <zeptobot> -> "no jew brotha"
00:37:59 <elliott> : (id . 9)
00:37:59 <zeptobot> -> ()
00:38:01 <elliott> : (id 9)
00:38:01 <zeptobot> -> 9
00:38:04 <elliott> there we go
00:38:22 <monqy> : (map 99 99 99 99 99 99 99)
00:38:22 <elliott> : (eval . 9)
00:38:22 <zeptobot> -> "no brah, no"
00:38:23 <zeptobot> -> "like you a ho"
00:38:35 <elliott> those are just argcount checks :)
00:38:57 <monqy> : (def 99 99 99 99 99 99 99)
00:38:57 <zeptobot> -> "u a fuka"
00:40:56 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
00:41:04 <elliott> : (def)
00:41:05 <zeptobot> -> "u a fuka"
00:41:09 <elliott> i a fucka.
00:41:11 <monqy> does it do anything useful
00:41:21 <elliott> you can define things and map things
00:41:24 <elliott> : (map quote '(a b c))
00:41:25 <zeptobot> -> (('a) ('b) ('c))
00:41:29 <elliott> : (map id '(a b c))
00:41:30 <zeptobot> -> (a b c)
00:41:36 <monqy> mmmm
00:41:45 <elliott> : (map quote '(9 9 9))
00:41:46 <zeptobot> -> (('9) ('9) ('9))
00:41:54 <elliott> gotta love how little sense that one makes
00:42:17 <monqy> (def x (x x))
00:42:19 <monqy> er
00:42:21 <monqy> : (def x (x x))
00:42:22 <zeptobot> ! AttributeError: 'Pair' object has no attribute 'bind'
00:42:34 <elliott> what
00:42:35 <monqy> : (def 'x (x x))
00:42:36 <zeptobot> -> "u a fuka"
00:42:39 <monqy> :'(
00:42:41 <elliott> : (def x '(x x))
00:42:41 <zeptobot> -> x
00:42:42 <elliott> : x
00:42:42 <zeptobot> -> (x x)
00:42:50 <elliott> : (x 9)
00:42:50 <zeptobot> ! AttributeError: 'Integer' object has no attribute 'bind'
00:42:54 <elliott> : (x id 9)
00:42:54 <zeptobot> ! AttributeError: 'Integer' object has no attribute 'bind'
00:42:56 <elliott> : (x id)
00:42:57 <zeptobot> ! AttributeError: 'Integer' object has no attribute 'bind'
00:42:58 <monqy> (eval x)
00:42:59 <elliott> : x
00:42:59 <zeptobot> -> (9)
00:43:01 <monqy> : (eval x)
00:43:02 <zeptobot> ! AttributeError: 'Integer' object has no attribute 'apply'
00:43:04 <elliott> what the fuck
00:43:05 <elliott> happened to x
00:43:07 <monqy> oh no x is 9
00:43:07 <elliott> it... rebinds itself?
00:43:12 <elliott> : (def foo '(foo foo))
00:43:12 <zeptobot> -> foo
00:43:12 <elliott> : foo
00:43:13 <zeptobot> -> (foo foo)
00:43:17 <elliott> : (foo id 9)
00:43:18 <zeptobot> ! AttributeError: 'Integer' object has no attribute 'apply'
00:43:20 <elliott> : foo
00:43:20 <zeptobot> -> (id 9)
00:43:22 <elliott> ...
00:43:23 <elliott> :D
00:43:27 <elliott> that is pretty cool
00:43:33 <elliott> oh duh
00:43:35 <elliott> that makes a bit of sense sort of
00:43:38 <elliott> yeah it does
00:43:57 <monqy> : (def x '(x x))
00:43:58 <zeptobot> -> x
00:44:03 <monqy> : (x x)
00:44:04 <zeptobot> ! AttributeError: 'NilClass' object has no attribute 'unbind'
00:44:08 <monqy> : x
00:44:09 <zeptobot> -> ()
00:44:10 <elliott> realise that that is (x . (x))
00:44:12 <elliott> so it rebinds x
00:44:13 <elliott> to the arguments
00:44:16 <monqy> aha
00:44:16 <elliott> and then executes (x)
00:44:19 <elliott> where x is your arguments
00:44:22 <elliott> so it runs ((id 9))
00:44:24 <elliott> which runs (9)
00:44:26 <elliott> which predictably fails
00:44:31 <elliott> but x has been rebound to (id 9)
00:45:10 <monqy> how does it manage to rebind itself
00:46:38 <monqy> : (def x 'x)
00:46:38 <zeptobot> -> x
00:46:43 <monqy> : (eval x)
00:46:44 <zeptobot> -> x
00:46:51 <elliott> monqy: because it takes its arguments as x?
00:46:53 <elliott> which is its name?
00:47:02 <elliott> if the parameter was named something else, it would do something ... still stupid, but not self-destructive
00:47:15 <monqy> oh is that how it works
00:47:25 <elliott> Yes.
00:47:29 <elliott> If it can be said to "work" at all.
00:47:32 <elliott> It Zepto-works.
00:48:04 <pikhq> http://old.nationalreview.com/document/document073001.shtml The court findings in Bradshaw v. Unity Marine. Wherein the court mocks both parties.
00:48:41 <pikhq> "Despite the waste of perfectly good crayon seen in both parties' briefing (and the inexplicable odor of wet dog emanating from such) the Court believes it has satisfactorily resolved this matter."
00:48:54 <monqy> : (def x '(x x))
00:48:55 <zeptobot> -> x
00:49:19 <monqy> : (map x '(x x x))
00:49:20 <zeptobot> ! AttributeError: 'Pair' object has no attribute 'bind'
00:49:27 <monqy> : x
00:49:28 <zeptobot> -> ('x)
00:52:05 -!- Wamanuz3 has joined.
00:54:07 <elliott> pikhq: Best ever.
00:54:15 -!- Wamanuz2 has quit (Read error: Operation timed out).
00:57:08 <elliott> Gregor: Oh sweet, to do a copying GC it looks like I have to modify running code.
00:57:16 <elliott> 'cuz it has pointers 'n shit.
00:57:24 <elliott> I AM SO FAIL
00:59:15 <monqy> mmmm pointers
00:59:57 <Gregor> wlib's option to create a GNU-style .a library: wlib -fag
01:00:11 <elliott> X-D
01:00:42 <tswett> Hi elliott.
01:00:48 <tswett> I see that you're making excellent progress.
01:00:53 <tswett> Carry on the excellent work.
01:00:55 <elliott> On wh- oh yes, that thing.
01:01:08 <elliott> Totally haven't been distracted, yup.
01:01:27 <tswett> I trust that you've bought the server and anything.
01:01:33 <tswett> I trust you so far that I'm not even going to ask anything about it.
01:01:48 <elliott> How convenient. I will continue lazily evaluating the results of such actions. Sorry, what?
01:02:07 <tswett> In fact, I'm not even going to speak. I trust that you will be able to answer all my questions anyway.
01:02:08 <elliott> Let's be fair, ais didn't even respond when I told him about it. The kind of emotional distresss I'm in is a force to be reckoned with.
01:06:40 <oklopol> yeah we get it, you're a famous bisexual
01:09:59 <elliott> you know why oklopol talks so much about famous bisexuals
01:10:04 <elliott> it's because he's famous biphobic
01:10:08 <elliott> but really
01:10:10 <elliott> he's just in the closet
01:10:12 <elliott> and is afraid
01:10:14 <elliott> we'd judge him
01:10:15 <elliott> if we knew
01:10:16 <elliott> that he
01:10:17 <elliott> oklopol
01:10:19 <elliott> was a famous bisexual.
01:12:20 <elliott> man, interning things is such a drag.
01:12:32 <elliott> case T_INTEGER: return (*(obj (*)(obj))f)(a);
01:12:35 <elliott> this is pretty much the best line
01:14:48 <elliott> Gregor: BTW the autoupdate feature of tup was improved after I pointed out its deficiencies and OH MY GOD IT IS SO AWESOME
01:15:02 <elliott> I keep thinking I've not saved my file because I didn't see the compile happen, but it actually just happened instantly.
01:16:44 <Sgeo> Ken Ham and Eliezer Yudkowski agree on something!
01:17:51 <elliott> IT'S A FUCKING Y
01:21:10 <elliott> Sgeo: A Y
01:21:20 <Sgeo> ooh
01:21:58 * Sgeo apologizes to Yudkowsky
01:23:11 <elliott> Too late, your soul is already doomed.
01:23:48 <elliott> Creating Friendly AI 2 will include the sentence "Of course, a Friendly AI must kill Seth Gold, but how to accomplish this is not clear; I, myself, prefer knives."
01:40:44 * Sgeo facepalms Armwards
01:41:20 <Sgeo> I think we both need palms in our faces
01:42:53 <elliott> What.
01:43:27 <Sgeo> One of his statements about why my stupid idea is stupid is itself rather stupid.
01:44:17 <pikhq> Gregor: What the pfargtle is wlib?
01:44:34 <Gregor> pikhq: Open Watcom's librarian :P
01:44:53 <elliott> Sgeo: Who the fuck is Armwands?
01:45:07 <elliott> Sweet, I have a Zepto interpreter that can't actually do anything.
01:45:24 <elliott> I should... write a parser? Make the allocator not a steaming heap of shit?
01:45:24 <Sgeo> elliott, Armwards. As in, in Arm's direction
01:45:29 <pikhq> Goodness, Watcom is still developed.
01:45:34 <elliott> Sgeo: Who's statement?
01:45:43 <Sgeo> Arm's
01:45:51 <elliott> Who?
01:45:58 <Gregor> pikhq: It might even compile Fythe X-D
01:45:59 * Sgeo hits elliott with a first base
01:46:09 <elliott> Sgeo: One, I just don't feel that way about you. Two, what?
01:46:19 <elliott> Gregor: Behold my genius allocator: http://sprunge.us/FOKK
01:46:24 <elliott> An appropriate paste ID.
01:46:36 <Sgeo> elliott, I thought you were doing a Who's On First thing at me
01:46:50 <elliott> Sgeo: Who is Arm.
01:47:06 <Sgeo> In #picolisp
01:47:13 <elliott> What was your idea and what did he say.
01:47:57 <Sgeo> About Smalltalk-like images. One of my justifications is what if I want to turn off the computer while I'm working on something. His response: Hibernate works well
01:48:10 <Sgeo> Well, that was one of his responses. The other responses were more sensible.
01:48:17 <elliott> Your justification is insanely stupid in itself.
01:48:27 <Sgeo> elliott, didn't I say that already?
01:48:35 <elliott> Nope. You said your idea was stupid.
01:51:12 <elliott> Gregor is not admiring my genius allocator.
01:52:28 <elliott> hmm
01:52:36 <elliott> foo bar[] = {x};
01:52:43 <elliott> does this initialise to {x,0,0,...} or {x,x,x,...}?
01:52:44 <elliott> I think the former
01:53:15 <elliott> (at global scope)
01:56:58 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:57:14 <elliott> <Sgeo> cyborg_ar, I assume you're joking? If not, how is that possible?
01:57:15 <elliott> what did he say
01:57:30 <Sgeo> About just dumping the heap to a file
01:57:37 <elliott> what did he actually say
01:57:47 <Sgeo> <cyborg_ar> Sgeo: you could just dump the heap into a file
01:57:56 <elliott> Of course that's possible.
01:58:05 <Sgeo> I meant possible in pure Picolisp
01:58:07 <Sgeo> >.>
02:01:09 <monqy> elliott your allocator is confusing. (this is because of the casts.)
02:01:20 <elliott> monqy: typedef struct pair *obj;
02:01:20 <elliott> struct pair { obj car; obj cdr; };
02:01:30 <elliott> monqy: I just cast it because I don't want to increment two objs every time :)
02:01:33 <elliott> that is, the size of
02:02:12 <elliott> monqy: anyway what you mean, is:
02:02:18 <elliott> monqy: "i'm not Zepto enough to understand your allocator"
02:02:21 <elliott> the answer is: more zepto.
02:02:28 <elliott> obj read() {
02:02:28 <elliott> return readtable[getchar()]();
02:02:28 <elliott> }
02:02:29 <monqy> I'm not zepto enough to understand your allocator :(
02:02:30 <elliott> best fucking reader ever
02:02:48 <elliott> monqy: i am sorry, but i cannot help you with such personal deficiencies.
02:02:55 <elliott> why not use zepto, all zepto code is easy to read.
02:03:12 <elliott> my reader should probably take a port or something
02:03:14 <elliott> so it isn't fucking stupid
02:05:31 <Sgeo> Picolisplove
02:06:09 <elliott> obj read_quote() {
02:06:09 <elliott> return cons(s_quote, read());
02:06:09 <elliott> }
02:06:11 <elliott> okay well that was easy.
02:06:15 <elliott> Sgeo: zepto is so fucking better
02:06:31 <Sgeo> How so?
02:06:45 <elliott> because i am making zepto because picolisp isn't fucking chill enough
02:07:24 <Sgeo> dynamic or lexical?
02:08:35 <elliott> dynamic because it's easier to implement with my awesome teqniqes
02:10:01 <elliott> i'm a fucking magician
02:10:04 -!- pikhq has quit (Quit: Lost terminal).
02:10:15 <elliott> at the keyboard
02:10:17 <elliott> a fucking magician
02:11:42 <elliott> nooooo
02:11:43 <elliott> its broken
02:11:48 <elliott> why did you break it monqy
02:12:15 <monqy> what did I break
02:12:35 <elliott> oh
02:12:37 <elliott> i see how it is
02:12:38 <elliott> I SEE
02:12:39 <elliott> HOW IT IS
02:12:40 <elliott> IT'S
02:12:40 <elliott> NOT
02:12:42 <elliott> FUCKING
02:12:42 <elliott> ALIGNED
02:12:51 <elliott> hey Gregor how do you align pools again... without specifying an exact address
02:13:15 <Gregor> elliott: Allocate double. Free beginning and end.
02:13:26 <elliott> literally a double?
02:13:33 <Gregor> No, double the size I need X_X
02:13:35 <elliott> wait. that makes no sense.
02:13:36 <elliott> i mean
02:13:37 <elliott> what is aid
02:13:40 <elliott> though what you said makes no sense either
02:13:44 <elliott> why free the end too
02:14:11 <Gregor> Depends on what you need the alignment for; for my uses, that was unusable space. For yours it might not be, in which case don't.
02:14:21 <elliott> I SEE
02:14:39 <elliott> I'm going to restart X and just use posix_memalign or whatever instead :P
02:15:15 -!- elliott has quit (Remote host closed the connection).
02:15:16 -!- zeptobot has quit (Read error: Connection reset by peer).
02:16:16 -!- elliott has joined.
02:16:24 <elliott> -NickServ- 1 failed login since last login.
02:16:24 <elliott> -NickServ- Last failed attempt from: Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 on Apr 22 21:45:25 2011.
02:16:28 <elliott> Thanks for testing that fake password, bro.
02:16:33 -!- poiuy_qwert has joined.
02:17:49 <elliott> why is this broken
02:19:42 <elliott> http://ff.connextra.com/resources/PaddyPower/PokerCompetitorCampaign20110420/728x90.gif ;; This is the most ridiculous ad ever.
02:20:05 <monqy> my ad blocker is blocking it
02:20:27 <monqy> that is the most ridiculous ad
02:20:51 <elliott> you know why i don't use an ad blocker?
02:20:56 <elliott> 'cuz i wouldn't get to see ads like that.
02:22:56 <elliott> wtf is up with my readtable...
02:23:20 <monqy> too zepto
02:24:04 <elliott> no
02:24:06 <elliott> INSUFFICIENTLY zepto
02:24:32 <elliott> oh
02:24:34 <elliott> my allocator is broken
02:24:34 <elliott> :D
02:24:39 <elliott> because i didn't use memalign
02:24:39 <elliott> right
02:24:40 <elliott> i remember now
02:24:59 <elliott> ugh. i don't want to use posix_memalign.
02:25:22 <elliott> hey Gregor, if I just pass mmap a random bullshit address with the bits I want off, will it satisfy it?
02:25:37 <Gregor> elliott: I doubt it.
02:25:45 <elliott> why does it even take an address parameter
02:25:47 <elliott> apart from to crus hdreams
02:26:55 <elliott> Gregor really likes crushing dreams. he is so not Zepto.
02:27:29 <augur> elliott: do you know if its possible to dualboot a mac where the windows is installed on an external drive?
02:27:41 <elliott> augur: If the Gods like you, yes.
02:27:42 <elliott> So no.
02:27:50 <augur> :(
02:28:49 <elliott> "I swear before God this holy oath, that I shall give absolute
02:28:49 <elliott> confidence to the Fuehrer of the German Reich and people."
02:28:49 <elliott> [Heinrich Himmler]
02:28:53 <elliott> I wonder why that's in fortune's DB
02:28:56 <elliott> Maybe some nazi got commit rights
02:31:31 <elliott> Gregor: o
02:31:34 <elliott> Gregor: i just realised something cool
02:31:59 <elliott> i iterate over WAY TOO MANY values like th... wait, why
02:33:00 <elliott> huh okay
02:33:04 <elliott> i think it is because... this is stupid?
02:33:19 <elliott> wait what
02:33:20 <elliott> the fuck
02:33:26 <elliott> #define TAGOF(x) (((intptr_t) (x)) | 7)
02:33:29 <elliott> behold ladies and mentlegen
02:33:30 <elliott> my idiocy
02:33:44 <Gregor> That's one intense tag.
02:34:18 <Gregor> In that it's the entire pointer plus 0x111, that is :P
02:35:23 <elliott> Gregor: Yes :P
02:35:33 <elliott> So many tags, so few objects to tag them with.
02:35:50 <elliott> Gregor: Erm
02:35:51 <elliott> You fail so hard
02:35:53 <elliott> One, 0b, not 0x
02:35:57 <elliott> Two, not "plus" :P
02:36:31 <Gregor> One, why don't you go fuck a fruit basket.
02:36:32 -!- lament has quit (Ping timeout: 260 seconds).
02:36:34 <Gregor> And two, you're a slut.
02:36:40 <elliott> True.
02:36:43 <elliott> Both very good points.
02:36:52 <elliott> Hey, when's Easter. Oh right, it's on Sunday.
02:36:57 <elliott> Thank you for your help.
02:37:45 <elliott> wait. wtf.
02:38:10 <elliott> (gdb) print (poolptr+1) & 7
02:38:11 <elliott> Argument to arithmetic operation not a number or boolean.
02:38:11 <elliott> wow.
02:38:14 <elliott> how do i make gdb not retarded.
02:38:45 <monqy> which one isn't a number or boolean
02:38:50 <elliott> poolptr is a pointer
02:39:07 <monqy> can you make it a number
02:39:38 <elliott> hmm i see a pattern here
02:39:39 <elliott> oh right
02:39:42 <elliott> because obj is eight
02:39:42 <elliott> er
02:39:43 <elliott> is it
02:39:43 <elliott> wtf
02:39:44 <elliott> this makes no sense
02:39:46 <elliott> :DD
02:39:51 <elliott> wait no it makes perfect sense
02:39:53 <elliott> monqy: with a cast it seems
02:39:55 <elliott> ok more zepto time
02:40:06 <elliott> ok i
02:40:07 <elliott> what
02:40:09 <elliott> how is that even
02:40:14 <monqy> casts, "the zepto way"
02:40:15 <elliott> 85 if (interned == NIL) ptr = interned = cons(NIL, NIL);
02:40:15 <elliott> (gdb)
02:40:15 <elliott> 86 while (DEREF(ptr).cdr != NIL) {
02:40:15 <elliott> (gdb)
02:40:15 <elliott> Program received signal SIGSEGV, Segmentation fault.
02:40:22 <elliott> what
02:40:25 <elliott> what is that even
02:40:32 <elliott> oh wow
02:40:34 <elliott> Program terminated with signal SIGSEGV, Segmentation fault.
02:40:34 <elliott> The program no longer exists.
02:40:35 <elliott> gdb
02:40:36 <elliott> you are so zen
02:40:39 <elliott> "the program no longer exists"
02:40:52 <monqy> zeptoed
02:43:14 <elliott> gdb can go backwards nowadays
02:43:24 <elliott> can it go backwards after the program segfaulted?
02:43:24 <elliott> :D
02:43:29 <monqy> will it make the program exist again
02:43:31 <elliott> i guess not, since it no longer exists
02:43:33 <elliott> ha
02:43:37 <elliott> monqy, you are so deep. for a monkey.
02:48:25 -!- TeruFSX2 has joined.
02:49:22 -!- augur has quit (Ping timeout: 264 seconds).
02:49:48 <elliott> zepto.c:159: warning: implicit declaration of function ‘strdup’
02:49:50 <elliott> what.
02:50:04 <elliott> is strdup not c99.
02:50:21 <elliott> wow.
02:50:22 <elliott> it's not.
02:50:25 <elliott> Gregor: can you believe that.
02:51:07 <Gregor> Apparently it's POSIX.
02:51:07 <Gregor> Odd.
02:51:36 <elliott> ./whereami.c: *dir = strdup(full);
02:51:36 <elliott> ./whereami.c: *fil = strdup(*fil);
02:51:37 <elliott> ./whereami.c: char *argvzd = strdup(argvz);
02:51:37 <elliott> ./whereami.c: if (!argvzd) { perror("strdup"); exit(1); }
02:51:37 <elliott> ./whereami.c: path = strdup(path);
02:51:47 <elliott> FYTHE IS NOT PORTABLE :::000OooOOooOOO
02:51:49 <elliott> that's a smiley btw
02:51:56 <monqy> is it smiling
02:51:59 <elliott> no
02:52:01 <elliott> it's shocking
02:52:04 <Gregor> Fythe is not portable in various ways, that's a pretty minor one :P
02:52:13 <Gregor> Although I'm surprised that -ansi -pedantic -Wall -Werror doesn't catch it ...
02:52:20 <elliott> it _should_
02:52:21 <Gregor> Nowait, no I'm not.
02:52:25 <elliott> zepto.c:159: warning: implicit declaration of function ‘strdup’
02:52:30 <elliott> [ 0/1 ] gcc -g -std=c99 -Wall -Wextra zepto.c -o zepto
02:52:36 <elliott> do you define _POSIX_WHATEVER?
02:52:53 <Gregor> No, but I think that GCC always defines _POSIX_C_SOURCE on POSIX platforms.
02:53:02 <Gregor> It's the other ones that need defining, like _BSD_SOURCE and _GNU_SOURCE
02:53:39 <elliott> Uh, no.
02:53:54 <Gregor> Aha :P
02:53:56 <elliott> I know this because I had to define _POSIX_C_SOURCE to get the right functions with IIRC musl.
02:54:01 <Gregor> whereami defines itself as _BSD_SOURCE X-D
02:54:03 <elliott> Since it's pedantic about what gets in the global namespace.
02:54:06 <elliott> Gregor: lawl
02:57:50 <elliott> Gregor: Fun game to play:
02:57:53 <elliott> #define _POSIX_C_SOURCE
02:57:57 <elliott> In file included from /usr/include/stdlib.h:25,
02:57:57 <elliott> from zepto.c:2:
02:57:57 <elliott> /usr/include/features.h:218: error: operator '||' has no right operand
02:57:57 <elliott> /usr/include/features.h:222: error: operator '&&' has no right operand
02:58:03 -!- augur has joined.
02:58:07 <Gregor> _POSIX_C_SOURCE needs a value
02:58:13 <Gregor> It can't just be defined.
02:59:05 <elliott> I know.
02:59:05 -!- Mathnerd314 has quit (Disconnected by services).
02:59:07 <elliott> It was a Game.
02:59:07 <elliott> zepto.c:153: warning: passing argument 1 of ‘posix_memalign’ from incompatible pointer type
02:59:08 <elliott> /usr/include/stdlib.h:508: note: expected ‘void **’ but argument is of type ‘struct pair ****’
02:59:12 <elliott> TOO MANY STARS
02:59:35 -!- TeruFSX2 has quit (Ping timeout: 276 seconds).
02:59:36 -!- Mathnerd314_ has joined.
03:00:18 <elliott> gdb really needs a "step BUT NOT INTO LIBC" command.
03:00:21 -!- pikhq has joined.
03:00:25 <pikhq> THEE
03:01:09 -!- Mathnerd314_ has changed nick to Mathnerd314.
03:01:17 <monqy> what if libc needs debugging
03:01:19 <elliott> pikhq: whut
03:01:23 <elliott> monqy: then don't use that command
03:03:53 <pikhq> elliott: THOU HATH
03:03:58 <elliott> pikhq: THOU HATH WHAT
03:04:05 <pikhq> DU HAST
03:04:19 <elliott> DU CRABS
03:10:30 <pikhq> Minecraft is soon to hit 2 million sales...
03:11:26 <pikhq> http://en.wikipedia.org/wiki/List_of_best-selling_PC_video_games It's actually earned a slot on this list.
03:11:51 <elliott> can we move this to -minecraft because
03:11:57 <elliott> i need to make a sarcastic notch comment
03:16:59 <elliott> TIL Kinder Surprise are illegal in the USA.
03:17:45 <monqy> me too
03:17:52 <elliott> we all learned something today
03:17:57 <elliott> that's the magic of christmas
03:19:12 <pikhq> Huh. I've had Kinder Surprise in the US.
03:19:34 <pikhq> Yay, illegal import.
03:19:52 <elliott> pikhq: you're ruining america.
03:20:23 <elliott> wow how the fuck do i allocate so much
03:20:24 <elliott> that is some shull bit
03:20:54 <pikhq> while(1)malloc(1);
03:21:01 <elliott> while (*s) {
03:21:01 <elliott> DEREF(ptr).cdr = cons(mkint(*s), NIL);
03:21:01 <elliott> ptr = DEREF(ptr).cdr;
03:21:01 <elliott> }
03:21:03 <elliott> note stupidity
03:21:08 <Lymia> /人◕ ‿‿ ◕人\
03:21:11 <Lymia> Hi guys.
03:21:22 <pikhq> Actually, let's make that for(;;malloc(1);)
03:21:22 <elliott> hello
03:21:32 <elliott> pikhq: too many parts, bro
03:21:35 <elliott> you mean for(;malloc(one);)
03:21:45 <pikhq> Yes, I do.
03:21:46 <pikhq> XD
03:22:03 <pikhq> Lymia: Hmm. How very CJK of you.
03:24:27 <elliott> Crappy Junk Kastrator
03:24:36 <elliott> Lymia: you're really bad at... kastrating junk.
03:25:14 <pikhq> elliott: "Chinese/Japanese/Korean", as you well know.
03:25:24 <elliott> MAYBE IF YOU'RE UNCREATIVE.
03:26:02 <elliott> pikhq: four twenty five am is sleep for losers?
03:26:16 <elliott> i am sort of yawning but i know that caffeine prevents yawning.
03:29:55 <Lymia> にゃ
03:30:44 <elliott> My junk remains unkastrated.
03:31:01 <Lymia> That sounds..... weird.
03:32:15 -!- Mathnerd314 has quit (Disconnected by services).
03:32:40 -!- Mathnerd314_ has joined.
03:34:00 -!- Mathnerd314_ has changed nick to Mathnerd314.
03:34:30 <elliott> Lymia: What.
03:36:16 <monqy> it would be far more normal if your junk were kastrated
03:36:45 <elliott> yes
03:36:48 <elliott> that is what most people are
03:42:21 <elliott> "We Justices must confront what is indeed an awesome responsibility. It has been rendered the solemn duty of the Supreme Court of the United States ... to decide What Is Golf. I am sure that the Framers of the Constitution ... fully expected that sooner or later the paths of golf and government, the law and the links, would once again cross, and that the judges of this august Court would some day have to wrestle with that age-old jurisprudential
03:42:21 <elliott> question, for which their years of study in the law have so well prepared them: Is someone riding around a golf course from shot to shot really a golfer? Either out of humility or out of self-respect (one or the other) the Court should decline to answer this incredibly difficult and incredibly silly question."
03:43:19 -!- augur has quit (Read error: Connection reset by peer).
03:44:25 <elliott> oh wait
03:44:29 <elliott> pikhq clearly read this article
03:44:31 <elliott> that cheater
03:49:51 <pikhq> Lymia: 成程。
03:52:20 -!- augur has joined.
03:55:01 <pikhq> Lymiaさんは日本語で話せますか。
03:57:27 -!- elliott has quit (Ping timeout: 260 seconds).
04:05:18 -!- sebbu has quit (Read error: Connection reset by peer).
04:05:46 -!- sebbu has joined.
04:05:47 -!- sebbu has quit (Changing host).
04:05:47 -!- sebbu has joined.
04:23:00 -!- lament has joined.
04:30:16 <pikhq> ...
04:30:55 <pikhq> The US's airport security tries hard to get you to not get any explosives on the plane, right?
04:31:07 <pikhq> *But*, alcoholic beverages are served beyond that.
04:31:26 <pikhq> I wonder if Everclear is available at an airport shop.
04:32:21 <pikhq> (here is how you make Everclear into an explosive: apply heat.)
05:00:11 -!- copumpkin has joined.
05:00:11 -!- copumpkin has quit (Changing host).
05:00:11 -!- copumpkin has joined.
05:00:28 <pikhq> Yo.
05:02:57 -!- p_q has joined.
05:05:03 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
05:10:17 -!- Mathnerd314 has quit (Read error: Connection reset by peer).
05:31:12 <pikhq> Hmm... First Zombie Jesus Day as an atheist coming up.
05:31:20 <lament> what?
05:31:45 <pikhq> lament: Easter is Zombie Jesus Day. I became an atheist in January.
05:31:56 <pikhq> Also, Easter is this Sunday this year.
05:32:00 <pikhq> Any further questions?
05:32:42 -!- copumpkin has quit (Ping timeout: 260 seconds).
05:32:53 -!- copumpkin has joined.
05:32:53 -!- copumpkin has quit (Changing host).
05:32:53 -!- copumpkin has joined.
05:34:04 <lament> how do you become an atheist?
05:34:29 <pikhq> By ceasing to believe in the existence of deities, of course.
05:37:21 <lament> why did you?
05:38:20 <pikhq> Because I realised that there was absolutely, positively no good reason to believe in the existence of a deity *in general*, and many good reasons to not believe in most all of the specific claims of deity.
05:39:11 <pikhq> Namely, any omnipotent deity could not possibly be benevolent.
05:40:09 <pikhq> And yet, most deity claims are benevolent and omnipotent.
05:40:16 -!- poiuy_qwert has joined.
05:41:58 -!- p_q has quit (Ping timeout: 250 seconds).
05:43:29 <pikhq> Further inquiry?
05:47:22 <pikhq> Oh, yes, it also helps that essentially all deity claims have some evidence of being fabrications.
05:48:22 <pikhq> Particularly the claim that I previously held to be true, namely the god of the Abrahamic faiths, as interpreted in Christianity.
05:58:44 <Sgeo> I think I gradually moved from theism to materialism
05:58:46 <Sgeo> Very gradually
06:01:31 <Sgeo> I just realized what had to be the most important part
06:01:40 <Sgeo> Michael Shermer's "Why People Believe Weird Things"
06:01:54 <Sgeo> A chapter debunked near-death experiences
06:02:23 <Sgeo> I stopped believing in an afterlife long before I stopped believing in God or souls (it was in that order)
06:02:28 <Sgeo> (I think)
06:05:14 -!- p_q has joined.
06:07:58 -!- poiuy_qwert has quit (Ping timeout: 250 seconds).
06:17:04 -!- p_q has quit (Ping timeout: 250 seconds).
06:17:21 -!- poiuy_qwert has joined.
06:25:56 -!- p_q has joined.
06:27:03 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
06:40:26 -!- oerjan has joined.
06:42:33 -!- Wamanuz4 has joined.
06:43:04 <oerjan> <elliott> "Phil Sophie" -- what Google Translate thinks the German word "Philsophie" is in English
06:43:44 <oerjan> i'd imagine the fact it's spelled "Philosophie" might be relevant
06:44:07 * pikhq continues to be amazed at the number of people driving pickup trucks in the US
06:44:26 <pikhq> I have no fucking clue why you'd want to spend $100+ on a tank of gas.
06:45:21 -!- Wamanuz3 has quit (Ping timeout: 240 seconds).
06:49:04 <pikhq> And do so once or twice a week.
06:50:57 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
07:00:10 -!- poiuy_qwert has joined.
07:00:10 -!- poiuy_qwert has quit (Changing host).
07:00:10 -!- poiuy_qwert has joined.
07:00:50 -!- p_q has quit (Ping timeout: 250 seconds).
07:06:10 -!- p_q has joined.
07:07:46 -!- poiuy_qwert has quit (Ping timeout: 250 seconds).
07:09:02 -!- augur has changed nick to planetary.
07:10:54 -!- planetary has changed nick to augur.
07:13:05 <Sgeo> Cyanide and Happiness is losing its touch, imo
07:16:00 -!- p_q has quit (Ping timeout: 250 seconds).
07:24:35 -!- poiuy_qwert has joined.
07:29:50 -!- p_q has joined.
07:31:03 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
07:34:18 -!- poiuy_qwert has joined.
07:37:14 -!- p_q has quit (Ping timeout: 250 seconds).
07:39:45 -!- p_q has joined.
07:41:08 -!- poiuy_qwert has quit (Ping timeout: 250 seconds).
07:45:29 <pikhq> Double-o.O
07:45:49 <pikhq> Marsupials actually form an eggshell and then reabsorb it.
07:47:13 <monqy> way to be decisive, marsupials
07:49:46 -!- asiekierka has joined.
07:50:12 <lament> ontogeny recapitulates phylogeny
07:50:40 -!- p_q has quit (Ping timeout: 250 seconds).
07:51:17 <oerjan> oncology recaptures phytoplankton
07:54:39 -!- p_q has joined.
07:54:43 <pikhq> Huh. The horse (i.e. Equus ferus) has lived in North America from ~1.0-1.5 million years ago to 12,000 years ago, and from 1493 to present.
07:55:18 <pikhq> Yes, really. Columbus bringing horses over was a *reintroduction* to the continent.
07:55:30 * oerjan knew that
07:56:32 <oerjan> did you know that until just a few million years ago, south america was dominated by marsupials?
07:56:38 <pikhq> Yes, I did.
07:57:01 <coppro> darn sloths
07:57:11 <pikhq> The formation of the Panama Isthmus led to placentals coming over and out-competing most of them.
07:57:32 <pikhq> Antarctica *also* used to have marsupials.
07:57:39 -!- poiuy_qwert has joined.
07:57:52 <pikhq> (South America, Antarctica, and Australia were once a single continent, you see.)
07:58:23 <oerjan> reunite gondwanaland!
07:59:20 -!- p_q has quit (Ping timeout: 250 seconds).
08:00:18 <pikhq> The Panama Isthmus also led to a single North American marsupial.
08:00:44 <pikhq> http://en.wikipedia.org/wiki/Virginia_Opossum
08:00:58 <oerjan> http://en.wikipedia.org/wiki/Great_American_Interchange
08:01:32 <pikhq> Well, yes, that is what I'm referring to.
08:01:35 <pikhq> :P
08:01:53 <oerjan> that link was mostly for others
08:01:58 <oerjan> who might be listening
08:02:36 -!- p_q has joined.
08:03:14 -!- poiuy_qwert has quit (Ping timeout: 250 seconds).
08:04:08 -!- Phantom_Hoover has joined.
08:05:25 -!- poiuy_qwert has joined.
08:06:39 -!- p_q has quit (Ping timeout: 240 seconds).
08:10:05 -!- p_q has joined.
08:10:10 -!- p_q has quit (Changing host).
08:10:10 -!- p_q has joined.
08:11:28 -!- poiuy_qwert has quit (Ping timeout: 250 seconds).
08:14:59 -!- poiuy_qwert has joined.
08:15:03 -!- poiuy_qwert has quit (Changing host).
08:15:03 -!- poiuy_qwert has joined.
08:17:32 -!- p_q has quit (Ping timeout: 250 seconds).
08:19:13 -!- pikhq has quit (Quit: Lost terminal).
08:28:53 <Vorpal> oerjan, hi
08:28:57 <Vorpal> glad påsk
08:28:59 <oerjan> g'day
08:29:05 <oerjan> god påske
08:29:25 <Vorpal> oerjan, heh. Strange how languages varies
08:29:32 <Vorpal> oerjan, do you use "glad jul" then?
08:29:36 <Vorpal> (we use "god jul"
08:29:37 <Vorpal> )
08:29:46 <Vorpal> (and "trevlig sommar")
08:29:59 <oerjan> nei, god jul or god sommer
08:30:04 <Vorpal> ah
08:30:06 <oerjan> *og
08:30:08 -!- augur has quit (Remote host closed the connection).
08:31:14 <oerjan> "glade jul" is a popular christmas carol, though
08:31:29 -!- augur has joined.
08:31:33 <Vorpal> heh
08:31:57 <oerjan> aka. silent night :D
08:32:12 <oerjan> (stille nacht, stille natt)
08:32:16 <Vorpal> oerjan, that title... seems so wrong then
08:32:23 <Vorpal> oerjan, "stilla natt" in Swedish
08:32:31 <oerjan> oh *stilla natt then
08:32:45 <oerjan> i was trying to remember the swedish title there
08:33:07 <Vorpal> oerjan, merriness is not something I associate with that carol
08:33:23 <oerjan> yeah the norwegian lyrics are a bit different from the international standard ;)
08:33:23 <Vorpal> so "glade jul" seems a bit strange to me
08:33:32 <Vorpal> ah
08:33:33 <oerjan> i think danish uses it too
08:33:58 <cheater99> oerjan: http://news.ycombinator.com/item?id=2311955
08:34:24 <cheater99> surprise surprise -- he's actually... Oleg.
08:34:32 <cheater99> it's Oleg all the way down.
08:34:38 <Phantom_Hoover> Oh god why is cheater not on ignore
08:34:59 <oerjan> or in particular, we norwegians based it on the danish one
08:35:13 <Vorpal> oerjan, ah. Those crazy danes
08:39:25 <Vorpal> oerjan, also I do fear that iwc is nearing its completion. Now that the fantasy theme is reaching it's goal
08:39:45 <Vorpal> I mean, them never getting there has been pretty much an invariant.
08:40:52 <Phantom_Hoover> Vorpal, it's still a way off the Calvin and Hobbes point.
08:41:16 <Vorpal> Phantom_Hoover, oh, what is that point?
08:41:25 <Vorpal> I thought it was ~3100?
08:41:55 <oerjan> i think i saw 21 september as the estimated C&H date
08:42:26 -!- lament has quit (Read error: Operation timed out).
08:42:39 <oerjan> Vorpal: there is still plenty of possibility for all their progress to be obliterated at the last moment
08:42:55 <Vorpal> well yeah
08:42:56 <oerjan> that would be traditional, even
08:43:25 <oerjan> someone fixing a timeline somewhere could be devastating :)
08:44:13 <oerjan> after all we already saw them briefly meeting ardaxar during the universe destruction arch
08:44:22 <oerjan> *arc
08:44:56 <oerjan> otoh resetting it completely again would be sort of boring
08:49:26 <Vorpal> hm
08:50:20 <Vorpal> oerjan, and I suspect that three Serons running around would be too confusing
08:50:42 <Phantom_Hoover> *Serron, you fool!
08:50:47 <Vorpal> oh right
08:51:04 <Phantom_Hoover> oerjan, hmm, have you even got any idea what is going on with the timestream.
08:51:14 <Phantom_Hoover> Things move slowly enough that I don't connect them.
08:52:24 <Vorpal> oerjan, hm DMM managing to kill himself would make a rather obvious ending to iwc.
08:52:47 <oerjan> well he already did that
08:52:53 <oerjan> it just got undone
08:52:57 <Vorpal> oerjan, wait, didn't he manage to escape iirc?
08:53:32 <Phantom_Hoover> Vorpal, he killed himself, killed-DMM was told to kill himself, he told to-be-killed-DMM to run, and the latter is now on the run from death.
08:53:45 <Vorpal> hm
08:53:55 <Vorpal> right
08:54:08 <oerjan> http://www.irregularwebcomic.net/1800.html
08:54:16 <Vorpal> Phantom_Hoover, and who was it that is in the time machine then?
08:54:25 <Vorpal> which DMM I mean
08:54:32 <Phantom_Hoover> Vorpal, the one on the run.
08:54:54 <Vorpal> oh
08:55:13 <oerjan> IT'S ALL SO SIMPLE I DON'T SEE WHY YOU ARE CONFUSED
08:55:30 <oerjan> i guess you're trying to apply _logic_ to it or something similarly meaningless
08:55:41 <Vorpal> Phantom_Hoover, and was that the same DMM as the one that recently were talking to a death about issues with the time stream?
08:55:53 <Phantom_Hoover> He's applying Vorplogic which is kind of like logic but doesn't work as well.
08:56:06 <oerjan> i don't think there has been more than one DMM since he "rescued" himself
08:56:12 <Vorpal> ah okay
08:56:27 <Vorpal> as Phantom_Hoover said, it is rather confusing
08:56:41 <oerjan> i think there are three, possibly four versions of the mythbusters though
08:56:50 <Vorpal> I lost count
08:57:00 <Phantom_Hoover> I was talking about the fact that the Mythbusters blew up the timestream ages ago and it still hasn't manifested itself.
08:57:20 <oerjan> (young, old on mars, grandfathers, and possibly the usual ones who inexplicably keep making the MB tv show)
08:57:39 <oerjan> oh wait the ones on mars went to the reichstag
08:58:06 <Vorpal> Phantom_Hoover, could be because it happened in another meta time? This however I think requires time to be three dimensional, though I could be wrong about that.
08:58:21 <oerjan> the grandfathers are dead but they were up to some experiment on the IFPOD
08:58:39 <Vorpal> oerjan, err, what was IFPOD now again?
08:58:51 <oerjan> infinite featureless plane of death
08:58:56 <Vorpal> oh right
08:58:59 -!- MigoMipo has joined.
08:59:10 <Vorpal> oerjan, when did they do that experiment, I don't remember that
08:59:37 <oerjan> they were collecting a lot of dynamite
08:59:54 <Vorpal> ah
09:00:51 <oerjan> hm i think there are only three mythbuster variations
09:01:41 <oerjan> oh wait it's young mythbusters who went through mars...
09:01:55 * oerjan is more confused than he thought
09:03:28 <Vorpal> oerjan, I thought it was the old ones, not the grandfathers who did some experiment on IFPOD?
09:03:43 <oerjan> oh the old mythbusters didn't go anywhere, they just started the cat on its time travel journey
09:04:12 <oerjan> which confusingly sent it to the young ones :D
09:04:35 <Vorpal> oerjan, so who are these: http://www.irregularwebcomic.net/2804.html
09:04:41 <oerjan> fortunately iwc has per-theme navigation
09:05:37 <oerjan> hm indeed that looks like the ordinary old mythbusters. maybe the explosion revived them.
09:05:38 <Vorpal> oerjan, yes I used it to find that one
09:06:01 <Vorpal> oerjan, in fact I'm unable to find grandfathers on IFPOD anywhere
09:09:36 <oerjan> hm they got to the ifpod by ripping up spacetime...
09:10:26 <Vorpal> oerjan, you mean with explosives? Yeah I thought that were the old ones
09:12:42 <oerjan> http://www.irregularwebcomic.net/2641.html
09:12:53 <oerjan> i think that was the last seen of the grandfathers
09:17:49 <Vorpal> yeah
09:17:52 <Vorpal> oerjan, no experiment there
09:18:23 <oerjan> no, i was thinking about the tnt + frog event
09:18:28 <Vorpal> right
09:23:00 -!- tim000 has quit (Remote host closed the connection).
09:23:43 -!- tim000 has joined.
09:57:43 -!- tim000 has quit (Remote host closed the connection).
09:58:26 -!- tim000 has joined.
09:58:53 -!- tim000 has quit (Remote host closed the connection).
10:02:51 -!- KingOfKarlsruhe has joined.
10:48:57 <Vorpal> gah, coqc is so slow
10:52:31 -!- oerjan has quit (Quit: leaving).
10:55:27 -!- monqy has quit (Quit: hello).
11:36:43 -!- TeruFSX2 has joined.
11:41:03 -!- FireFly has joined.
11:45:46 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.86.1 [Firefox 3.6.16/20110319135224]).
11:47:03 -!- TeruFSX2 has quit (Ping timeout: 252 seconds).
11:51:32 -!- TeruFSX2 has joined.
11:53:29 -!- MigoMipo has quit (Read error: Connection reset by peer).
11:54:43 <Phantom_Hoover> Vorpal, what are you doing with Coq?
11:56:27 <Vorpal> Phantom_Hoover, compiling Why 2.29
11:56:59 <Vorpal> (it has finished now)
12:16:35 <Lymia> Is it safe to expect OpenGL 2.1 on your average modern graphics card?
12:17:03 <Phantom_Hoover> IDIOT OF THE WEEK: "This question occured to me while watching an episode of Star Trek: Voyager. How did they ever find out that you can't breathe in space? How did they find out what happens?"
12:17:07 <Lymia> Average meaning in computers general, not just among higher end computers.
12:17:27 <Lymia> Phantom_Hoover, that has to be a troll, right?
12:17:34 <Phantom_Hoover> I hope so.
12:17:57 <Phantom_Hoover> (I'm trying to find the thread that started the Salvation War series as part of a complex contingency plan.)
12:18:07 <Phantom_Hoover> (Any help is much appreciated.)
12:21:50 <Phantom_Hoover> Ah, found it.
12:25:02 <Vorpal> Lymia, define modern
12:25:12 <Lymia> 3 or 4 years old at most.
12:25:22 <Vorpal> Lymia, my desktop is older than that :P
12:25:36 <Vorpal> I think it is 5 years old
12:25:47 <Lymia> OpenGL started existing in 2006.
12:25:51 <Lymia> OpenGL 2.1*
12:26:17 <Vorpal> I think the GPU is from 2007, the rest of the system is from 2006
12:26:57 <Vorpal> OpenGL renderer string: GeForce 7600 GS/AGP/SSE2
12:26:57 <Vorpal> OpenGL version string: 2.1.2 NVIDIA 270.30
12:27:16 <Vorpal> my laptop has:
12:27:18 <Vorpal> OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset GEM 20091221 2009Q4
12:27:18 <Vorpal> OpenGL version string: 2.1 Mesa 7.7.1
12:27:41 <Lymia> GL_EXT_framebuffer_object exists?
12:27:47 <Vorpal> Lymia, in glxinfo?
12:27:58 <Lymia> The extension.
12:28:06 <Vorpal> well where would I check for it?
12:28:10 <Vorpal> in glxinfo or?
12:28:56 <Vorpal> hm it seems to be listed there on both systems. The laptop is just ~2 years old.
12:29:13 <Lymia> I don't know.
12:29:20 <Vorpal> mhm
12:29:42 <Vorpal> Lymia, I suggest you fall back on plain VGA by BIOS calls if everything else fails ;)
12:29:51 <Lymia> D=
12:30:48 <cheater99> i have figured out the most amazing way to clean up my home.
12:31:31 <Vorpal> Lymia, but, what if that fails too? Hm... Okay you have to generate output for a dot matrix printer, in such a way that it can be assembled into a flip book!
12:31:39 <Vorpal> Okay,*
12:34:49 <Phantom_Hoover> http://blog.computationalcomplexity.org/2011/04/what-did-banachs-wife-think-of-banach.html
12:34:57 <Phantom_Hoover> Blog author: you need a new wife.
12:35:40 <Phantom_Hoover> She has a Masters in CS and is one of those people who fail at understanding B-T.
12:36:05 <Phantom_Hoover> [[Personally, I am highly skeptical of there being any real world models of the BT result.]]
12:36:07 <Phantom_Hoover> WELL NAW
12:42:59 -!- asiekierka has quit (Remote host closed the connection).
12:46:10 -!- BeholdMyGlory has joined.
13:12:56 <Phantom_Hoover> If elliott doesn't turn up soon I am just going to press ahead on Homestuck.
13:19:46 <Vorpal> Phantom_Hoover, hm? Why not do that anyway?
13:22:13 <Phantom_Hoover> Because then he'll have to catch up and it'll all be terribly messy.
13:27:42 -!- Tritonio has joined.
13:30:30 -!- ais523 has joined.
13:32:16 -!- asiekierka has joined.
13:42:21 -!- BeholdMyGlory has quit (Ping timeout: 240 seconds).
13:53:58 -!- Fuco has joined.
13:54:21 <Fuco> Does anyone have a link on some tutorial/documentation on how to work with befunge extensions in rcfunge?
13:54:35 <Fuco> how do I load them and use and so on
13:54:43 <Fuco> I'd like to try some fun with sockets :P
13:55:18 -!- iconmaster has joined.
13:55:54 <Phantom_Hoover> fizzie and Deewiant are AFAIK the only people here right now who know about that stuff.
14:09:22 -!- MigoMipo has joined.
14:20:03 -!- quintopia has quit (Ping timeout: 260 seconds).
14:28:18 -!- quintopia has joined.
14:28:18 -!- quintopia has quit (Changing host).
14:28:18 -!- quintopia has joined.
14:50:04 <Vorpal> anyone know a tool that given a set of address ranges + length that may be overlapping can generate one of those typical memory layout images that you find in manuals for CPUs.
14:50:18 <Vorpal> I mean, I could do it manually, but an automated tool would be nicer
14:51:03 <cheater99> hack a bash script >_<
14:52:13 <Vorpal> I wouldn't do it in bash. Math there is somewhat annoying. I'd probably do it in erlang or something
14:52:49 <Vorpal> basically I want to visualize this (from a linker script): http://sprunge.us/BHXe
15:20:08 -!- MigoMipo has quit (Read error: Connection reset by peer).
15:27:58 -!- elliott has joined.
15:29:20 -!- oerjan has joined.
15:32:04 -!- copumpkin has joined.
15:32:11 -!- TeruFSX2 has quit (Ping timeout: 250 seconds).
15:52:51 -!- elliott has quit (Remote host closed the connection).
15:53:38 -!- elliott has joined.
15:57:02 <Vorpal> elliott, hey, want to know some of the worst way to do dynamic linking I found ever seen?
15:57:07 <elliott> Sure
15:57:08 <lambdabot> elliott: You have 1 new message. '/msg lambdabot @messages' to read it.
15:57:11 <elliott> Ugh
15:57:46 <Vorpal> elliott, link twice statically to different base addresses. Diff the resulting files. Use this to build a relocation table
15:58:02 <elliott> Sorry, you misspelled the most awesome.
15:58:07 <Vorpal> elliott, this is using COFF, not PE btw
15:58:10 <Vorpal> or ELF
15:58:26 <Vorpal> oh and it is for an embedded 16 bit system
15:58:47 <Vorpal> elliott, maybe. Can we agree on "most crazy"?
15:59:01 <elliott> Possibly
16:00:27 <fizzie> I think I recall seeing that sort of strategy somewhere.
16:00:35 <fizzie> Which thing was this?
16:00:47 <Vorpal> elliott, oh and another fun thing here, to build user space programs so they can find kernel functions (no system "real" calls, no MMU either, no rings...) a program parses the .map file for the kernel and generates a linker script for the kernel space
16:00:52 <Vorpal> fizzie, this is for an RCX OS
16:01:12 <Vorpal> err, for the user space
16:01:18 <fizzie> Hmm. Well, I haven't played with that, but maybe I've just been reading.
16:01:32 <Vorpal> fizzie, or it could be semi-common for weird targets
16:06:06 <Vorpal> oh and this diffing is done on .srec files
16:06:15 <Vorpal> which is a rather weird format in itself I think
16:32:39 -!- lament has joined.
16:36:39 <Vorpal> elliott, oh and the way the reallocation table is used is quite interesting too. When you download a program to the device, the PC program tells the device the size of the program it wants to download, and the device replies with an address it wants it relocated to. The PC then relocates it and sends the data.
16:39:22 <oerjan> "After practicing all year, North Korea shows the world how Earth Day is done."
16:39:42 <Vorpal> oerjan, wut
16:39:48 <oerjan> http://i.imgur.com/PKNNj.jpg
16:39:49 <elliott> the Games, presumably
16:39:52 <elliott> or whatever they are called
16:39:53 <oerjan> (from reddit)
16:49:45 -!- Tritonio has quit (Quit: Leaving).
16:55:35 -!- lament has quit (Ping timeout: 248 seconds).
16:59:17 -!- poiuy_qwert has quit (Ping timeout: 250 seconds).
17:03:15 -!- poiuy_qwert has joined.
17:03:55 <Phantom_Hoover> DOCTOR WHO IS ON OH GOD
17:04:02 <Phantom_Hoover> MATT SMITH IS BEING
17:04:05 <Phantom_Hoover> INSUFFERABLE
17:08:32 <Vorpal> elliott, ever tried out Inferno?
17:08:39 <elliott> Vorpal: No.
17:08:51 <Vorpal> hm
17:09:17 <Vorpal> the source download is just 52 MB heh
17:09:40 <elliott> That's a lot of source :P
17:10:28 <Vorpal> elliott, that is the whole system. With applications too. And the user space ports to various OS. For linux the source would be a lot larger
17:10:48 <elliott> Well, Linux sucks. :p
17:10:52 <Vorpal> okay, unpacked it is 137 MB
17:11:12 <Vorpal> or 97 MB exactly (137 MB was number of disk blocks)
17:13:22 <Vorpal> oh, no x86-64. This might get annoying to build
17:14:01 -!- copumpkin has quit (Ping timeout: 250 seconds).
17:14:26 -!- copumpkin has joined.
17:17:01 <Vorpal> oh it uses -m32, good
17:18:53 -!- copumpkin has quit (Ping timeout: 252 seconds).
17:19:19 -!- copumpkin has joined.
17:19:53 <elliott> ais523: Eric Stucky is scary
17:20:14 <ais523> indeed
17:20:30 <ais523> right attitude, but not much knowledge of the ruleset
17:20:39 <elliott> ais523: No, I just mean the using my name all the time :-D
17:20:43 <ais523> ah
17:23:38 -!- KingOfKarlsruhe has joined.
17:29:25 <Vorpal> elliott, for mk, what is the equiv of -j to make?
17:29:39 <elliott> MKJOBS or something. Look at the man page from Plan 9 from User Space.
17:29:48 <elliott> Or maybe it doesn't have it. Don't recall.
17:29:59 <Vorpal> elliott, eh? I meant for building in parallel
17:30:03 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
17:30:05 <elliott> ...And?
17:30:13 <Vorpal> MKOBJS sound weird for that
17:30:22 <elliott> Good thing I didn't say MKOBJS.
17:30:39 <Vorpal> well okay MKJOBS too
17:30:46 <elliott> -j stands for jobs.
17:30:48 <elliott> You realise that, right?
17:30:52 <Vorpal> ah
17:31:16 <Vorpal> elliott, well yes
17:31:22 <Vorpal> elliott, but this would be an env var then?
17:31:28 <elliott> I don't know check the man page.
17:31:33 <Vorpal> and it seems it isn't there
17:31:38 <elliott> Then it doesn't exist.
17:34:03 <Vorpal> okay it built. What now...
17:34:10 <elliott> Maybe try... booting it.
17:34:19 <Vorpal> elliott, I built the hosted build
17:34:26 <elliott> Then... run it.
17:34:35 <Vorpal> elliott, well I'm trying to find the relevant binary
17:34:41 <Vorpal> there are many, but none of them seems to be it
17:34:49 <Vorpal> $ ls Linux/386/bin/
17:34:49 <Vorpal> 0a 0l 1c 2a 2l 5c 5cv 8a 8l asm data2c emu iar inm ka kl ksize limbo mk mkppcimage ms2 qa ql srclist tc vc
17:34:49 <Vorpal> 0c 1a 1l 2c 5a 5coff 5l 8c acid c2l data2s ftl idea iyacc kc kprof kstrip md5sum mkext mk.save ndate qc sqz styxtest va vl
17:34:59 <elliott> Well, you know those are the compilers and assemblers and linkers.
17:35:05 <Vorpal> right
17:35:09 <elliott> Pretty sure it'll be something else.
17:35:11 <elliott> But maybe emu? Nah
17:35:13 <elliott> .
17:35:13 <Vorpal> ah
17:35:18 <elliott> It will be elsewhere, I think.
17:35:19 <elliott> Oh wait.
17:35:20 <elliott> Hmm.
17:35:23 <elliott> I was thinking limbo, but no.
17:35:25 <Vorpal> emu gives me a ; prompt
17:35:39 <Vorpal> elliott, limbo gives me a single like usage: ... line
17:35:46 <Vorpal> usage: limbo [-CGSacgwe] [-I incdir] [-o outfile] [-{T|t|d} module] [-D debug] file ...
17:35:51 <elliott> Yeah.
17:35:55 <elliott> limbo is the Limbo compiler.
17:36:04 <elliott> Vorpal: Isn't there a readme or something?
17:36:06 <ais523> that directory looks like Plan 9-ish names
17:36:12 <elliott> ais523: Limbo is a Plan 9 derivative.
17:36:14 <elliott> Erm.
17:36:15 <Vorpal> elliott, nope. There is INSTALL but it ended where I am now
17:36:15 <elliott> Inferno is.
17:36:28 <elliott> Limbo is the language designed for Inferno.
17:36:31 <Vorpal> elliott, there is a README.gcode about licence
17:36:33 <elliott> Vorpal: Read man pages at random. :p
17:36:44 <Vorpal> elliott, best method ever
17:37:41 -!- Phantom_Hoover has joined.
17:37:46 <elliott> Phantom_Hoover RETURNS
17:39:37 <Vorpal> elliott, running this now: find . -type f -exec file {} + | grep 'ELF 32-bit LSB executable' | awk -F: '{print $1}'
17:39:58 <Vorpal> nope, lets try scripts
17:40:37 <elliott> I was gonna suggest something similar, but then I didn't bother.
17:40:40 -!- BeholdMyGlory has joined.
17:40:54 <ais523> elliott: turiski is still trying to prove you're a rule
17:41:09 <elliott> ais523: Well, I /do/ rule.
17:41:23 <ais523> hmm, I think a simple counterargument is that nothing has made you into a rule since the last SLR ratification
17:41:56 <elliott> Does ratifying the SLR ensure that nothing else is a rule, even if it is platonically so?
17:42:47 <ais523> unless it has sufficient power that it could hide from the SLR somehow
17:43:07 <elliott> "hide" :D
17:43:13 <elliott> Well, I /am/ all-powerful.
17:45:09 <Vorpal> ooh I think I got... maybe
17:46:13 <Vorpal> elliott, emu seems to be the key
17:46:24 <Vorpal> I figured out how to run the dis shell
17:46:28 <elliott> Right.
17:46:43 <Vorpal> I want something graphical though
17:47:56 <Vorpal> well ldd says Linux/386/bin/emu links against X stuff, and is the only thing that does that
17:47:59 <Vorpal> so...
17:48:48 <Vorpal> YAY
17:48:51 <Vorpal> emu dis/acme
17:49:00 <Vorpal> (dis/acme.dis exists)
17:50:12 <Vorpal> elliott, hey this thing has dis/lego/rcxsend.dis
17:50:13 <Vorpal> hah
17:50:27 <oerjan> <elliott> Well, I /am/ all-powerful. <-- major successful scam? :D
17:50:46 <elliott> oerjan: Heck no, I'm just awesome.
17:50:52 <oerjan> ah ok then
17:50:55 <elliott> The Scam was an abject failure.
17:51:09 <oerjan> might be a good film title...
17:55:45 <Vorpal> elliott, heh, it calls acme an IDE
17:55:50 <elliott> Well, it is.
17:55:58 <Vorpal> well okayt
17:56:00 <Vorpal> okay*
17:57:39 <Vorpal> can't get charon to run
17:57:41 <Vorpal> (web browser)
17:57:49 <Vorpal> wmlib: no draw context
17:57:53 <Vorpal> elliott, any smart idea?
17:57:59 <elliott> Nope.
17:58:11 <Vorpal> bbl food
18:01:07 -!- variable has quit (Read error: Operation timed out).
18:03:08 <elliott> Hmm.
18:03:13 <elliott> My readtable should contain closures.
18:03:20 <elliott> Even though closures are lame.
18:03:24 <elliott> Maybe I should just use GLOBALS instead.
18:03:29 -!- variable has joined.
18:04:03 <elliott> OK maybe I should define ports first.
18:04:12 <oerjan> instead of closures, use openings
18:04:21 <elliott> your mom uses closure openings.
18:04:36 <elliott> bleh a port would be a pain
18:04:38 <elliott> ok this sucks
18:04:40 <elliott> i'll write something else
18:04:44 <elliott> like the application code
18:04:45 <elliott> more like
18:04:46 <elliott> HAPPYlication
18:04:58 <elliott> or maybe not. maybe that would suck.
18:05:37 -!- Sgeo has quit (Quit: Leaving).
18:06:37 -!- Sgeo has joined.
18:07:46 <Vorpal> elliott, C sucks. What did you expect?
18:07:54 <elliott> i should write it in zepto instead. oh wait.
18:09:22 <Vorpal> hah charon works when run from acme
18:09:23 <Vorpal> wtf
18:09:42 <Vorpal> except not ver
18:09:44 <Vorpal> very*
18:10:27 <Vorpal> getsubfont: can't open /fonts/lucidasans/../lucm/cyrillic.9: Interrupted system call <--- niiice
18:10:34 <Vorpal> (why did it try to open that)
18:11:45 <Vorpal> oh god it assumes /usr/<username>
18:11:49 <Vorpal> or wait
18:11:57 <elliott> It has its own FS.
18:11:58 <elliott> No?
18:12:18 <Vorpal> right
18:12:44 <Vorpal> elliott, what is the terminal called
18:12:46 <Vorpal> on plan9
18:12:57 <elliott> Erm.
18:12:58 <elliott> There is none.
18:13:01 <elliott> It's done by the window manager.
18:13:04 <Vorpal> oh
18:13:06 <elliott> So... rio.
18:13:11 <elliott> They're just text windows.
18:13:19 <Vorpal> no rio, what about 9win?
18:13:24 <elliott> Maybe.
18:13:33 <elliott> 9term is what the Plan 9 from User Space port is called.
18:13:47 <Vorpal> well 9win opens a white X11 window with the title "Inferno"
18:13:59 <Vorpal> 9win: cannot bind srv device: unknown device in # filename;
18:14:00 <Vorpal> also that
18:14:17 <Vorpal> ah and now acme opens inside
18:14:27 <elliott> i wonder how super-linear-time my intern function is.
18:14:31 <elliott> that is
18:14:33 <elliott> how not linear it is.
18:15:46 <Vorpal> elliott, when running charon from acme they interfere with each other. Both react to keyboard and mouse events
18:16:17 <elliott> case T_INTEGER: return (*(obj (*)(obj))f)(a);
18:16:23 <elliott> this is the best line of code i've ever written.
18:17:40 <Vorpal> elliott, wait, what about 9term?
18:17:46 <Vorpal> plan9 from userspace has that
18:17:54 <elliott> that's just the emulation of rio text windows.
18:18:04 <Vorpal> hm
18:18:25 <Vorpal> elliott, what is plan9's web browser called?
18:18:31 <elliott> it has no single one.
18:18:40 <Vorpal> elliott, any included by default?
18:18:40 <elliott> mothra. abaco. etc.
18:18:42 <elliott> no.
18:18:45 <elliott> well
18:18:45 <Vorpal> ah
18:18:49 <elliott> in /n/contrib
18:18:51 <elliott> or what was it called.
18:19:04 <Vorpal> elliott, in plan9 from userspace I meant here
18:19:12 <Vorpal> guess not
18:19:54 -!- azaq23 has joined.
18:20:14 <Phantom_Hoover> tswett
18:20:20 <tswett> Yes?
18:20:30 <Phantom_Hoover> Where's the "I don't respond to pings" thing!
18:20:41 <tswett> I only sometimes respond to pings in this channel.
18:21:07 <elliott> case T_INTEGER: return (*(obj (*)(obj))(DEREF(f).car))(a);
18:21:11 <elliott> Now it's even better.
18:22:19 <Vorpal> elliott, there is no binary download of the freestanding OS variant as far as I can tell
18:22:24 <Vorpal> you have to cross compile it
18:28:43 <Vorpal> BUGS
18:28:43 <Vorpal> Plan 9 from User Space is no longer accessible using CVS;
18:28:43 <Vorpal> you must use Mercurial.
18:28:52 <Vorpal> elliott, strange that is listed as a bug in the man page
18:29:25 <ais523> why would you use a version control system at all in order to access a program from user space?
18:29:33 <ais523> nobody uses svn for system calls...
18:29:33 <Vorpal> ais523, -_-
18:29:43 <Vorpal> ais523, you COMPLETELY missed the point
18:29:58 <Vorpal> ais523, it is to update the plan9 from userspace distribution
18:30:08 <Vorpal> the man page about updating it
18:30:55 <elliott> Vorpal: i think ais523 is just trolling.
18:31:02 <Vorpal> elliott, hm could be
18:31:03 <elliott> or else being deliberately dense, which is much the same thing
18:31:14 <Vorpal> elliott, hey, it isn't
18:31:42 <elliott> It really is.
18:31:46 <Vorpal> nope
18:32:01 <Vorpal> it is a form of humour
18:34:33 <elliott> ungetc is so gros.s
18:36:16 <ais523> ungetc is trivial to implement with a wrapper around getc, etc
18:36:50 <elliott> of course
18:36:52 <elliott> but it is gross :)
18:37:08 <Vorpal> <elliott> ungetc is so gross <-- yes
18:42:14 -!- enki-[quit] has quit (Quit: WeeChat 0.3.3).
18:44:39 -!- augur has quit (Remote host closed the connection).
18:45:55 -!- augur has joined.
18:46:47 <Vorpal> hm what computational class are linker scripts?
18:47:43 <Vorpal> ais523, ^
18:48:05 <ais523> Vorpal: I don't know enough about linker scripts to say
18:53:18 -!- Wamanuz4 has quit (Remote host closed the connection).
18:53:36 -!- oerjan has quit (Quit: leaving).
18:55:55 -!- Wamanuz has joined.
19:01:37 <elliott> Bignum arithmetic is a pain.
19:01:50 <ais523> elliott: depends on context
19:01:55 <elliott> implementing it
19:01:56 <ais523> it can be quite easy in some languages
19:01:58 <ais523> ah, right
19:02:00 <ais523> indeed
19:02:39 <elliott> heck, even printing them.
19:02:41 <elliott> you need divmod.
19:02:48 <elliott> or just print in a power of two base :D
19:03:16 <ais523> or use decimal bignums
19:03:41 <ais523> also, re the topic, it's possible to /buy/ a sense of smell?
19:03:41 <elliott> ais523: that's pesky arithmetic-wise, though
19:06:04 <Vorpal> <elliott> implementing it <-- why? Why not use gmp or such
19:06:18 <elliott> that's not zepto. also, my experience with Fythe tells me that gmp is a fucking pain in the ass.
19:06:21 <elliott> Gregor can back me up here :P
19:06:36 <Vorpal> ah
19:06:49 <Vorpal> elliott, so isn't there some good bignum library for C?
19:07:03 <elliott> gmp. It's stupidly fast etc. etc. etc. It's just a massive pain in the ass to use.
19:07:10 <elliott> It's designed for program authors, not language authors.
19:07:17 <elliott> (Near as I can tell.)
19:07:18 <Vorpal> hm
19:07:33 <Vorpal> elliott, would it be less of a PITA for program authors?
19:07:56 <elliott> Yes, because you don't have to worry about bignum promotion, operations with one operand fixnum and the other bignum, the five hundred kinds of division it provides...
19:08:10 <elliott> Not joking: http://gmplib.org/manual-4.3.2/Integer-Division.html
19:08:28 <Vorpal> elliott, and if you are implementing bignum, are you doing multiplication with fft?
19:08:35 <elliott> Fuck no.
19:08:44 <elliott> I think I'll just do successive addition.
19:08:44 <Vorpal> elliott, so how then?
19:08:48 <Vorpal> augh
19:08:52 <elliott> Speed is for weenies.
19:08:53 <Vorpal> elliott, that is so horribly inefficient
19:09:05 <elliott> Yeah, but long division requires more brain power than allowed by the Zepto manifesto.
19:09:06 -!- pingveno has quit (Ping timeout: 258 seconds).
19:09:50 <Vorpal> hah
19:10:26 <Vorpal> elliott, so how are you doing division then
19:10:44 <elliott> Successive... SUBTRACTION???????
19:11:03 <Vorpal> elliott, I don't think that works...
19:11:06 -!- pingveno has joined.
19:11:09 <elliott> FUCK YOU, ANTI-ZEPTO
19:11:22 <elliott> Vorpal: I'll just do it by testing successive integers.
19:11:28 <elliott> Does one work? Does two work? ...
19:11:58 <Vorpal> elliott, why are you doing bignum then? It will be too slow for numbers outside the fixnum range anyway
19:12:08 <elliott> Limitations are not Zepto.
19:12:17 <Vorpal> sorry?
19:12:34 <Vorpal> elliott, what do you mean
19:12:50 <elliott> Fixnums are limited.
19:12:52 <elliott> Not Zpetototo
19:12:58 <elliott> In fact I'm not even using fixnums, everything is a bignum.
19:13:19 <Vorpal> <elliott> Not Zpetototo <-- don't you mean Zeptototo
19:13:51 <Vorpal> elliott, congrats, you just managed to make a C implementation slower than the python implementation!
19:14:21 <Vorpal> elliott, anyway gmp would be easy if you only need bignum
19:14:43 <elliott> No, it wouldn't.
19:14:48 <elliott> Spoken like someone who's never used gmp.
19:15:04 <Vorpal> elliott, from what I saw on the page you linked
19:15:24 <Vorpal> elliott, you could make do with mpz_cdiv_qr
19:15:30 <elliott> That is not why gmp sucks.
19:15:35 <elliott> Have you ever actually used it.
19:15:50 <Vorpal> elliott, only from bindings to other languages
19:15:55 <elliott> Then you have no idea.
19:16:05 <Vorpal> elliott, example?
19:16:21 <elliott> Nope, read the cfythe source yourself.
19:16:32 <elliott> Then you'll get about one percent of the pain because it's been through tons of local revisions because of stupidity.
19:16:33 <Vorpal> elliott, got a link to that source?
19:16:54 <elliott> https://codu.org/projects/fythe/hg/
19:17:15 <elliott> bignum.c and fastjit/fastjitdefs.c and fastjitdefs-x[eightsix]_[sixtyfour].S are the most relevant.
19:17:44 -!- augur has quit (Remote host closed the connection).
19:19:04 <elliott> God bignum.c is impossible to follow.
19:19:27 <Vorpal> indeed
19:19:40 <Vorpal> elliott, that is quite an interesting way to do right is bignum
19:19:46 <elliott> For what operation?
19:19:48 <Vorpal> I *think* you switch place of them
19:19:57 <Vorpal> elliott, in #define COMMUTATIVE(name, op_si, op_bn) \
19:19:57 <elliott> For commutative operations, yes.
19:20:06 <elliott> BTW, compare IAdd/IMul/IDiv/IMod in
19:20:08 <elliott> https://codu.org/projects/fythe/hg/index.cgi/file/c37f1b13493e/cfythe/fastjit/fastjitdefs-x86_64-raw.S
19:20:09 <elliott> https://codu.org/projects/fythe/hg/index.cgi/file/c37f1b13493e/cfythe/fastjit/fastjitdefs-x86_64.S
19:20:15 <elliott> The latter has the "jno" manually added to it.
19:20:16 <Vorpal> elliott, what is a fytheSP
19:20:19 <elliott> And stack uses fixed.
19:20:23 <elliott> Vorpal: The Fythe stack register.
19:20:23 -!- zzo38 has joined.
19:20:27 <Vorpal> ah
19:20:35 <elliott> The stack uses had to be fixed because Fythe only reserves one word on the stack.
19:20:40 <elliott> And gcc used something too far.
19:21:43 <Vorpal> hm
19:22:07 <elliott> Anyway, what I'm saying is: fuck no, I'm not using GMP.
19:22:52 <elliott> Vorpal: Oh, and those bignum.c routines don't handle the case where a fixnum value is LONG_MIN or whatever the stupid name is.
19:22:56 <Vorpal> elliott, what is GCC_PUSH/GCC_HEADER/GCC_POP?
19:22:57 <elliott> Because negating that value yields itself.
19:23:03 <elliott> And those are garbage-collector noise.
19:23:12 <Vorpal> elliott, so where is that LONG_MIN case handled?
19:23:15 <elliott> Vorpal: It isn't.
19:23:22 <Vorpal> elliott, so a bug
19:23:34 <elliott> Yes. Fuck you. I was too depressed after the pain of everything else to bother fixing it.
19:23:36 <Vorpal> or is it a feature?
19:23:38 <elliott> Patches welcome.
19:23:50 <Vorpal> elliott, patches to bignum.c? hell no
19:24:04 <elliott> And I haven't even handled bitwise operations yet.
19:24:07 <elliott> Fuck.
19:24:12 <elliott> I don't even want to think about it.
19:24:31 <Vorpal> elliott, I don't know if I have to blame it on gmp or the author of that file. But at least that example of gmp usage is horrible
19:24:41 <Vorpal> without more data point I can't make a more general statement
19:24:56 <Vorpal> points*
19:25:01 <elliott> The author of that file is ME.
19:25:23 <Vorpal> elliott, my statement still stands
19:25:45 <Vorpal> elliott, especially after you posted that C++ code thingy recently
19:25:56 <elliott> Yeah, no, this is definitely gmp's fault.
19:27:07 -!- augur has joined.
19:27:20 <elliott> Gregor: What is Makefile.gcc anyway
19:27:25 <Vorpal> elliott, actually the code is verbose, but it looks like typical usage of a C library. It isn't nearly as horrible as C++ templates
19:27:40 <elliott> Vorpal: It isn't the verbosity, it's the fucking edge-cases and upconverting.
19:28:04 <Vorpal> edge cases such as?
19:28:16 <elliott> RTFbignum.c
19:28:23 <Vorpal> elliott, I have
19:28:27 <Vorpal> and I don't see edge cases
19:28:38 <elliott> (fixnum div bignum) and bullshit like osgdifdfjogh ugh shut up
19:28:49 <elliott> I'm busy reading Homestuck which is ten times as entertaining as recalling the Cthulhian horror.
19:29:20 <Vorpal> elliott, you mean that you have to handle bignum/bignum bignum/fixnum fixnum/bignum and fixnum/fixnum?
19:29:34 <elliott> Yes. The last one is handled in fastjitdefs.c.
19:29:38 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.86.1 [Firefox 3.6.16/20110319135224]).
19:29:55 <Vorpal> elliott, well that just adds verbosity. Repetitive yes.
19:30:01 <elliott> Shut up.
19:35:59 <elliott> 1289 cvttsd2siq-8(%r13), %rdx
19:36:01 <elliott> Best instruction ever.
19:38:20 <Vorpal> elliott, err, what does it do?
19:38:28 <elliott> Converts a float to an integer, it seems.
19:38:29 <Vorpal> heck it isn't even an SSE instruction
19:38:37 <elliott> Well, a double.
19:38:38 <Vorpal> hrrm
19:38:47 <Vorpal> elliott, but where would the double be stored?
19:38:51 <elliott> The stack.
19:38:57 <elliott> rthirteen in the stack.
19:38:58 <elliott> (fytheSP)
19:39:00 <Vorpal> elliott, x87 stack?
19:39:05 <Vorpal> oh
19:39:11 <elliott> [asterisk]is the stack
19:39:33 -!- KingOfKarlsruhe has joined.
19:40:48 <Vorpal> CVTTSS2SI
19:40:48 <Vorpal> 26568—Rev. 3.10—September 2007
19:40:49 <Vorpal> Convert Scalar Single-Precision Floating-Point
19:40:49 <Vorpal> to Signed Doubleword or Quadword Integer,
19:40:49 <Vorpal> Truncated
19:40:57 <elliott> BUT OF COURSE
19:41:00 <Vorpal> CVTTSS2SI reg64, F3 0F 2C /r
19:41:00 <Vorpal> xmm/mem32
19:41:08 <elliott> IT ALL MAKES SENSE
19:41:15 <Vorpal> copy fail
19:41:17 <Vorpal> that was
19:41:31 <Vorpal> CVTTSS2SI reg64, xmm/mem32
19:41:38 <Vorpal> elliott, so... wtf
19:41:45 <elliott> What's weird about it
19:42:00 <Vorpal> oh wait, it can do memory too
19:42:13 <Vorpal> fuck CISC
19:45:14 <Vorpal> elliott, other good instructions are MASKMOVDQU and PUNPCKHQDQ
19:45:18 <elliott> X-D
19:45:23 -!- elliott has left ("Leaving").
19:45:32 -!- elliott has joined.
19:45:35 <Vorpal> elliott, both are SSE related
19:45:46 <Vorpal> non-SSE one have saner names
19:46:17 <Vorpal> MASKMOVDQU is Masked Move Double Quadword Unaligned
19:46:33 <Vorpal> PUNPCKHQDQ is Unpack and Interleave High Quadwords
19:47:29 <Vorpal> I like MOVMSKPS (Extract Packed Single-Precision Floating-Point - Sign Mask) too
19:47:37 <Vorpal> not sure about that -
19:47:39 <Vorpal> it is a newline
19:47:45 <Vorpal> but it could be because it doesn't fit
19:48:50 <Vorpal> elliott, hey, make sure to use PCMPGTW
19:49:09 <Vorpal> (Packed Compare Greater Than Signed Words)
19:50:07 -!- asiekierka has quit (Ping timeout: 258 seconds).
19:55:56 -!- sftp has quit (Read error: Connection reset by peer).
19:57:49 -!- poiuy_qwert has quit (Ping timeout: 250 seconds).
19:58:00 <Gregor> elliott: http://i.imgur.com/dXShS.png Portability, bitch!
19:58:05 <Vorpal> elliott, why does gmp use mpz as the prefix
19:58:18 <elliott> What?
19:58:19 <elliott> Because it is.
19:58:22 <elliott> Multi-Precision Z.
19:58:23 <elliott> There is also Q, R.
19:58:26 <Vorpal> oh
19:58:26 <elliott> And shit.
19:58:34 <elliott> Gregor: Yah yah yah :P
19:58:43 <Vorpal> Gregor, which compiler
19:58:48 <Gregor> Vorpal: OpenWatcom.
19:58:57 <Vorpal> ah
19:59:00 <elliott> Gregor: My definition of /portable/ code in the strict sense is code that will work wherever C is available :P
19:59:06 <Vorpal> ah
19:59:10 <elliott> Fythe is certainly portable enough, but it's not /portable code/.
19:59:20 <Gregor> elliott: Therefore, portable code cannot have a GC.
19:59:28 <elliott> Gregor: Well, it can if it manages its own heap.
19:59:38 <Gregor> elliott: Fair enough :P
19:59:46 <elliott> I might allow the Boehm GC because it runs on literally every machine ever :P
20:00:02 <Vorpal> elliott, no it doesn't. Not on PDP-11
20:00:03 <Gregor> So, you're a hypocrite.
20:00:04 <Vorpal> I bet
20:00:08 <Gregor> And don't care about 16-bit systems.
20:00:14 <elliott> Gregor: No; if I was being pedantic, I wouldn't allow it.
20:00:28 <elliott> But I wouldn't lynch someone for writing perfect C that used the Boehm GC, because /you can just implement GC_malloc as malloc/.
20:00:33 <elliott> Sure, it'll leak memory, but that's irrelevant, platonically.
20:00:49 <Gregor> ... s/platonically/pedantically/ or something?
20:00:58 <elliott> Platonically.
20:01:06 <elliott> The definition of C does not involve running out of memory.
20:01:17 <elliott> The Boehm GC is just an optimisation, space-wise. :p
20:01:29 <Gregor> ... wow :P
20:01:30 <Vorpal> elliott, err.. since sizeof(void*) is finite, it does
20:01:35 <elliott> Vorpal: No it doesn't.
20:01:40 <Vorpal> elliott, oh?
20:02:00 <elliott> OK, a program that would run forever if GC'd properly but run out of memory if it never freed would technically not be portable IF NOT FOR THE FACT THAT
20:02:01 <Vorpal> elliott, malloc returns NULL when out of memory
20:02:09 <elliott> All programs terminate or repeat on finite hardware.
20:02:20 <elliott> Not even GC can save you from that.
20:02:37 -!- poiuy_qwert has joined.
20:04:45 <Vorpal> For base in the range 2..36, digits and lower-case letters are used; for −2..−36, digits and upper-case letters are used; for 37..62, digits, upper-case letters, and lower-case letters (in that significance order) are used. <-- what
20:04:52 <Vorpal> that is confusing
20:05:00 <Vorpal> negative bases?
20:05:30 <Gregor> Vorpal: Presumably it's just letting you use the sign bit to request capitalization.
20:05:46 <Vorpal> Gregor, well it is GMP
20:06:08 * Gregor fails to see the relevance of that fact.
20:06:09 <Vorpal> - Function: char * mpz_get_str (char *str, int base, mpz_t op)
20:06:21 <Vorpal> hm
20:06:25 <Vorpal> Gregor, oh right
20:06:38 <Vorpal> I somehow read it as a parsing function
20:12:11 <Vorpal> elliott, how does bitwise negation work in bignum. I mean, would ~0100 be 1011 or 1111111011
20:12:36 <elliott> it would be
20:12:41 <elliott> ...................1111111011
20:12:50 <elliott> where dots are infinite ones
20:12:58 <elliott> except gmp actually uses sign-magnitude, but it fakes two's complement for bitwise ops
20:12:59 <Vorpal> elliott, right. So is that what mpz_com does?
20:13:04 <elliott> prezoomably
20:13:06 <Vorpal> hm
20:13:29 <Vorpal> elliott, so bitwise not in cfythe will do different things for bignum and fixnum?
20:13:39 <elliott> Whatever gives you that idea?
20:13:52 <Gregor> "but it fakes two's complement for bitwise ops"
20:13:55 <elliott> Gregor: srsly
20:13:59 <Gregor> Is what should NOT give you that idea :P
20:13:59 <elliott> its all there in te mamaul
20:14:08 <elliott> well i mean
20:14:11 <elliott> if you negate
20:14:13 <elliott> 9099
20:14:15 <elliott> where 9 is one
20:14:17 <elliott> then you get
20:14:18 <elliott> 0900
20:14:20 <elliott> which
20:14:23 <elliott> i don't know is the same as
20:14:27 <elliott> ...9999999990900
20:14:31 <elliott> when interpreted as yeah
20:14:35 <elliott> am i make sense
20:14:37 <Gregor> "where 9 is one" X-D
20:14:39 <Vorpal> nope
20:14:40 <Gregor> Yes :P
20:14:50 <Vorpal> <elliott> when interpreted as yeah <-- as yeah?
20:14:53 <elliott> as yeah.
20:15:02 <Vorpal> what do you mean with that
20:15:06 <elliott> yeah.
20:15:10 <elliott> use brain matter to think it out
20:15:11 <Vorpal> -_-
20:15:21 <Vorpal> as bignum? as fixnum?
20:15:22 <Vorpal> one of them
20:15:24 <elliott> Gregor knows what i mean
20:15:27 <elliott> fixnum. but. lgdfkg.
20:15:29 <Gregor> Ineed I do!
20:15:30 <elliott> it's obvious if you're a genius like me.
20:15:34 <elliott> Gregor: ineed.
20:15:42 <Gregor> Ineed to type an extra 'd'!
20:15:46 <elliott> X-D
20:15:48 <elliott> And a space.
20:15:56 <Gregor> I ndeed?
20:16:10 <elliott> "I need to type an extra 'd'[XCLAMATION MURK]"
20:16:12 <Vorpal> Gregor, In deed
20:16:13 <Vorpal> doh
20:16:15 <elliott> [asterisk]exclamation mark
20:24:05 <Vorpal> elliott, wait, does your laptop has fn?
20:24:12 <Vorpal> elliott, if so, what about the fn numpad?
20:24:37 <elliott> doesn't exist
20:24:46 <Vorpal> ah
20:36:02 <Vorpal> hm gmp floats have no log function?
20:50:55 -!- monqy has joined.
20:52:06 -!- cads has joined.
20:52:20 -!- impomatic has joined.
20:52:24 <impomatic> Hi :-)
20:52:29 <cads> hey zzo38
20:52:52 <zzo38> cads: Yes?
20:53:06 <ais523> o
20:53:07 <cads> cheater99 mentions that I should ask you if I'm interested in an algebraic approach to chess
20:53:30 <zzo38> cads: Do you mean algebraic notation, or, what?
20:53:37 <ais523> cads: surely you know whether you're interested in an algebraic approach to chess, more than zzo38 does?
20:54:04 <cheater99> he's thinking about morphisms in the space of positions
20:54:06 <Vorpal> ais523, XD
20:54:07 <ais523> elliott: ^ the above sentence works both with the correct interpretation of cads' statement /and/ the most obvious deliberate misinterpretation
20:54:24 <elliott> ais523: why do you twist my brain like that
20:54:29 <elliott> i was just fine with its euclidean geometry
20:54:38 <cads> :)
20:54:44 <cads> heh, sorry, english is a second language
20:55:16 <zzo38> O, morphisms in space of positions. Yes I have worked with such things.
20:55:31 <cads> yeah, I just realized that move lines form morphisms between positions
20:55:44 <Vorpal> elliott, any idea how much pain it would be to use mpfr with gmp
20:55:45 <cheater99> that's it
20:55:45 <Vorpal> ?
20:55:51 <ais523> the big issue with category theory is that pretty much everything forms a category
20:55:57 <elliott> Vorpal: gcc does it
20:56:19 * cheater99 locks up cads and zzo38 for months in a dark attic somewhere, and feeds them raw meat
20:56:20 <Vorpal> elliott, well yeah. But does it in the same place? Basically I'm interested in gmp + logarithms
20:56:24 <cads> ais523: but only people that don't know categories see that as a bad thing!
20:56:35 <elliott> `addquote <ais523> the big issue with category theory is that pretty much everything forms a category
20:56:37 <cheater99> that is, you get food if i see further pages of the paper being written.
20:56:38 <HackEgo> 379) <ais523> the big issue with category theory is that pretty much everything forms a category
20:56:43 <ais523> elliott: you think that's quoteworthy?
20:56:45 <zzo38> cads: Yes, it does. There are other ways to form morphisms between positions as well.
20:56:54 <Phantom_Hoover> cads, if everything is a category, there's an upper limit to what you can actually *do* with them.
20:57:06 <elliott> ais523: it's amusing
20:57:20 <ais523> most category-theoretic results are over subsets of categories, probably for that reason
20:57:50 <cads> Phantom_Hoover: I mean, if you claim to know how to do things more complex than what's been done with categories, then super!
20:58:06 <elliott> "cads" rings a bell.
20:58:14 <Phantom_Hoover> CADs?
20:58:17 <elliott> no.
20:58:46 -!- pikhq has joined.
20:58:47 <cads> hehe, at the worst, category theory is just another esoteric lang and deserves our respect as such :)
20:58:48 <pikhq> Grawr.
20:58:50 <ais523> well, it's a real word
20:59:01 <elliott> no, i mean in context of an irc nick, you pedantic somethings.
20:59:01 <Phantom_Hoover> pikhq, why have you turned into a bear.
20:59:02 <cads> at best, it's just a really comfortable location for algebraic thinking to live in
20:59:06 <Phantom_Hoover> Or have you been eaten by one.
20:59:19 <elliott> Phantom_Hoover: is there any semantic difference
20:59:25 <cads> and the location metaphor has been taken pretty far with toposes
20:59:37 <Phantom_Hoover> elliott, yes.
20:59:42 <elliott> how
20:59:48 <Phantom_Hoover> Because one would be bear-pikhq whilst the other would be a bear.
20:59:50 <Vorpal> <elliott> no, i mean in context of an irc nick, you pedantic somethings. <-- what about "nitpick"?
20:59:54 <cads> where you can't even complain anymore since if you like classical math you're working in the classical topos of sets anyways, and you're most welcome to
20:59:55 <Phantom_Hoover> That had bits of pikhq in it.
21:00:13 <elliott> Phantom_Hoover: is there any semantic difference
21:00:53 <ais523> elliott: I just grepped all my IRC logs for cads' IP, he/she seems to be never-before-seen from my point of view
21:01:02 <Vorpal> ais523, dynamic ips
21:01:09 <elliott> it may have been another channel. i grepped "cads" and there's nothing.
21:01:11 <zzo38> I have done isomorphisms too, not only morphisms. However when I done it I have not called it any of these things.
21:01:36 <Vorpal> elliott, yes, one would contain the tissue of pikhq inside the stomach, the other one would possibly contain it in the tissue of the bear (though this is uncertain, there is no experimental data on human-bear transformations)
21:02:07 <cads> zzo38: how did you approach it?
21:02:29 <elliott> with a ten foot pole
21:03:26 <zzo38> cads: One such thing is "A game designed to be as different to chess as possible while still being the same as chess." However, move lines also works, as you have said. I may have making a few mistakes since I am not very good at category theory, though.
21:04:10 <cads> hehe, some kind of dual of chess?
21:04:11 <Vorpal> zzo38, was "A game designed to be as different to chess as possible while still being the same as chess." that 1D chess thingy?
21:04:48 <zzo38> Vorpal: Yes. It is not quite like category theory, though. I do not understand category theory completely, so it is not category theory.
21:05:04 <Vorpal> right (nor do I btw)
21:05:42 <zzo38> However, I would like to understand category theory better, but I don't.
21:06:09 -!- Tomsik has joined.
21:06:09 <zzo38> Is there any relation between category theory and the "theory of types"?
21:06:25 <Tomsik> What is this. I don't even.
21:06:38 -!- Mathnerd314 has joined.
21:06:41 <zzo38> Tomsik: What is what? This channel?
21:06:47 -!- Mathnerd314 has left.
21:06:48 <Tomsik> Yeah, my question!
21:06:54 <Tomsik> Apparently you read minds, sir.
21:06:57 <Vorpal> Tomsik, esoteric programming languages
21:07:09 <Tomsik> Oh, seems fun.
21:07:15 <Vorpal> (not esoterica, many make that amusing mistake)
21:07:21 <zzo38> Tomsik: I do not read minds. (See the wiki for information too)
21:07:22 <cads> like lolcat or befunge, I'd guess
21:07:25 -!- Saizan has joined.
21:07:30 <Vorpal> cads, we all hate lolcat
21:07:36 <Vorpal> but yes, like INTERCAL and befunge and so on
21:08:13 <Vorpal> (lolcat is just a normal programming language with "funny" names for the keywords/functions pretty much, not very interesting)
21:08:42 <cads> any of you guys ever played the carnage heart game on psx?
21:09:05 <Vorpal> not me, I haven't ever used an psx anyway.
21:09:05 <zzo38> cads: I have not.
21:09:10 <Vorpal> also strange this new influx of people
21:09:20 <Vorpal> a psx*
21:09:26 <cads> it had a 2d grid language where you'd place tiles to create decision flows that would operate a fighting robot
21:09:35 -!- siracusa has joined.
21:09:39 <elliott> saizan has been here before.
21:09:43 <elliott> i think?
21:09:58 <Vorpal> elliott, well cads, Tomsik?
21:10:00 <elliott> dunno, doesn't seem like that much of an influx
21:10:03 <elliott> hmm
21:10:05 <elliott> maybe it's an invasion
21:10:17 <elliott> we should probably be very awful to make sure they go away.
21:10:24 <Saizan> i don't think so, anyhow it's just that this channel got mentioned elsewhere, i think
21:10:26 <cads> and part of the fun was was watching the decision focus flash through your network, and troubleshooting it based on the patterns you saw
21:10:31 <zzo38> There is way to map 2D chess variant game to 1D, or 3D to 2D to 1D, or whatever else. With a few similar ideas.
21:10:34 <Vorpal> oh. who mentioned it?
21:11:26 <elliott> hmm, wait, Saizan is from the haskell channel
21:11:32 <elliott> I tentatively blame copumpkin
21:11:45 <Vorpal> elliott, he is not here atm?
21:11:46 <Tomsik> I just detected "category theory"
21:11:50 <elliott> Vorpal: yes he is?
21:11:52 <elliott> copumpkin: hello
21:11:54 <Vorpal> oh wait
21:11:56 <Vorpal> tab fail
21:12:03 <Vorpal> elliott, Tomsik is also in #haskell
21:12:05 <elliott> hmm, not in the haskell logs
21:12:09 <Vorpal> very probably the sourse
21:12:09 <elliott> YOU WON'T GET AWAY WITH THIS
21:12:12 <Vorpal> source*
21:12:43 <elliott> meh, the invasion is too much of a trickle to bother interrogating them.
21:12:46 <Vorpal> hm, a bignum fingerprint to befunge might be nice
21:13:06 <Vorpal> for those that use fixnum for the funge space
21:16:41 <Tomsik> Is there a language that doesn't let you name arguments to a function, forcing you to go pointfree?
21:17:03 <Vorpal> elliott, I think this is one for you
21:17:10 <elliott> FP
21:17:32 <Vorpal> FP?
21:17:43 <elliott> Yes.
21:17:49 <Vorpal> esolang?
21:17:51 <zzo38> Tomsik: TeX uses only numbers for macro arguments.
21:18:04 <Vorpal> zzo38, that isn't point free though
21:18:07 <elliott> that's not point-free
21:18:08 <elliott> fp is not an esolang
21:18:12 <Vorpal> that is just numbered arguments
21:18:20 <zzo38> Vorpal: O, OK. What is "point free"?
21:18:42 <Tomsik> de brujin indixes are not bad, they let you refer to arguments by a name
21:18:59 <zzo38> Tomsik: What is "de brujin inidxes"?
21:19:01 <Tomsik> zzo38: expressing everything as composition of functions/transforms/whatever
21:19:04 <cheater99> zzo38: tan = sin/cos
21:19:05 -!- Saizan has left.
21:19:11 <elliott> the first falls
21:19:43 -!- monqy has quit (Quit: hello).
21:19:53 <zzo38> Unlambda? (Maybe not)
21:20:20 <Vorpal> <cheater99> zzo38: tan = sin/cos <-- how is that relevant?
21:20:44 <Tomsik> okay unlambda is pointfree
21:20:56 <Tomsik> though it seems to be just SKI-calculus at first glance
21:21:01 <cheater99> Vorpal: it's a pointfree expression of tan(x) = sin(x)/cos(x)
21:21:03 <zzo38> Tomsik: OK. So I am correct.
21:21:15 <Vorpal> cheater99, oh, right. yeah
21:21:43 <cheater99> Vorpal: almost everyone knows it, and it's usually one of the first formulas learnt that are pointfree
21:21:52 <Vorpal> I don't get why people (especially haskell people) love point free so much
21:22:02 <cheater99> because it propagates polymorphism
21:22:12 <Vorpal> I mean, sure, it is kind of nice. But they seem prepared to go to any length for it.
21:22:17 <cheater99> especially things that have wildly different meanings
21:22:27 <cheater99> for example, "id" has all sorts of different meanings
21:22:40 <Vorpal> cheater99, id is the no-operation surely?
21:22:41 <cheater99> but you can make up functions that hold for any sort of id function
21:22:46 <Vorpal> well kind of
21:22:47 <cheater99> sure
21:22:50 <cheater99> it's just an example
21:23:43 <Vorpal> not sure why it has to be point free for it
21:23:55 <zzo38> It would seem, to me, like sin/cos is not having any value, you should use like result_div(sin,cos) where you mean result_div(x,y)(z) = (x(z)/y(z)) but it is not completely understood. How can you divide a function?
21:24:47 <Vorpal> if they were polynomial you could presumably do polynomial divisions (not true for this case), but yeah that seems like a bad example
21:25:07 <cheater99> zzo38: it's just a shorthand. don't let it trouble your little mind, skipper :p
21:25:17 <Vorpal> ..
21:25:21 <zzo38> I know also in Forth you can do without names. If SIN and COS exists and the system uses all real numbers for anything (not actually the case of course), you have: : TAN DUP SIN SWAP COS / ;
21:25:36 <Vorpal> it has a stack though there
21:25:47 <Vorpal> so they are implicitly named from their order on the stack
21:25:59 <cheater99> zzo38: mathematics uses a lot of shorthands that don't make sense if viewed in the light of usual syntax.
21:26:02 <Vorpal> it is not function composition
21:26:44 <zzo38> Vorpal: OK.
21:27:29 <Vorpal> zzo38, http://www.haskell.org/haskellwiki/Pointfree
21:27:32 <Tomsik> It's just that for example if you want to compose a -> b -> c with c -> d into a -> b ->d then in pointfree you do (.).(.)
21:27:46 <Tomsik> which obviously is quite esoteric
21:28:08 <Vorpal> (.) :: (b -> c) -> (a -> b) -> a -> c
21:28:20 <zzo38> Vorpal: OK
21:28:29 <Vorpal> I think it would have been MUCH cleaner if it had been (.) :: (a -> b) -> (b -> c) -> a -> c
21:28:34 <Vorpal> why isn't it that way around hm
21:28:49 <Vorpal> Tomsik, ^
21:29:05 <Tomsik> It's because of matematicians
21:29:15 <Tomsik> who want (f . g)(x) to be f (g x)
21:29:34 <Tomsik> there are some who use (;) :: (a -> b) -> (b -> c) -> a -> c
21:29:50 <Vorpal> Tomsik, not in Prelude?
21:30:02 <Tomsik> Nope, in Haskell ; has a different meaning
21:30:07 <Vorpal> yeah
21:30:21 <Vorpal> Tomsik, so is there any operator like (;) in haskell
21:30:26 <Vorpal> it would be so much more sensible
21:30:38 <Tomsik> you can do it yourself in two lines
21:30:39 <Tomsik> like
21:30:44 <Vorpal> hm
21:30:58 <Tomsik> a .! b = \x -> b (a x)
21:31:00 <elliott> <Vorpal> I don't get why people (especially haskell people) love point free so much
21:31:04 <elliott> because it makes code clearer
21:31:06 <Tomsik> infixr 10
21:31:10 <elliott> anyway that's a total strawman
21:31:16 <Vorpal> Tomsik, hm
21:31:20 <Tomsik> or infixl, whatever you like
21:31:26 <Vorpal> right
21:31:30 <Tomsik> elliott: not always ;)
21:31:44 <siracusa> (.!) = flip (.) <-- point-free
21:31:54 <Vorpal> siracusa, HAH
21:31:55 <elliott> an elegant point-free expression makes code clearer, rather
21:32:07 <Tomsik> thing like (. map) . (.) filter (or something like this) is not really readable
21:32:12 <pikhq> Tomsik: Part of it is that point-free expressions are clearer in many contexts.
21:32:20 <Vorpal> Tomsik, no... what does it do?
21:32:21 <pikhq> Tomsik: Part of it, though, is that it's just fun to do.
21:32:41 <Vorpal> <elliott> anyway that's a total strawman <-- in many cases I fear it is not
21:32:42 <pikhq> It definitely depends on the code for whether it's actually clearer.
21:32:42 <Tomsik> (. map) . (.) filter
21:32:43 <Tomsik> :: (([a] -> [b]) -> a1 -> Bool) -> (a -> b) -> [a1] -> [a1]
21:32:51 <Tomsik> just guess :p
21:33:03 <KingOfKarlsruhe> it looks like lisp ^^
21:33:05 <Vorpal> Tomsik, I find that type signature rather confusing as well I have to say
21:33:26 <elliott> Vorpal: how many haskell users have you ever actually talked to
21:33:36 <Vorpal> elliott, mostly those who visit this channel
21:33:40 <elliott> i don't think you've ever been in #haskell
21:33:42 <elliott> Vorpal: ok, so that's like... three
21:33:46 <Vorpal> elliott, I am in that channel
21:33:53 <elliott> well you've never said anything.
21:34:03 <Vorpal> elliott, I think I have. Once.
21:34:47 <Tomsik> Vorpal: well, I think I've messed something up, it's supposed to be something like \l p f -> map f (filter p l)
21:34:58 <Vorpal> ah
21:53:59 <zzo38> Once, in a GameBoy ROM hack, which consisted of a change of a single byte from 0x3D (decrement A register) to 0xA7 (bitwise AND the A register with itself). Maybe it is useless to you, but actually it isn't useless. It is used to make infinite lives. The reason for this is to improve the scoring of the game. If you don't know how this helps, you are not very good at game design.
21:56:02 <pikhq> zzo38: Seems like that ought to be a cheat rather than a hack.
21:56:39 <zzo38> pikhq: It would seem so. But, when you understand how it improves the scoring, you might be able to see why this is.
21:57:09 <pikhq> Actually, the thing is, a cheat could make the same damned change.
21:57:17 <pikhq> Except it'd be easier to use than a ROM hack.
21:57:31 <pikhq> And, indeed, could be done on real hardware.
21:57:41 <zzo38> pikhq: Yes it could. However, I used a ROM hack. Use whichever way works for you.
21:59:41 <zzo38> Just wait a few minutes you will see the article in phlog
21:59:52 <copumpkin> elliott: you blame me?!
21:59:54 <elliott> yes
21:59:55 <elliott> always
22:00:13 <copumpkin> oh, fair enough
22:08:12 -!- impomatic has quit (Quit: ChatZilla 0.9.86.1 [Firefox 3.5.18/20110319140258]).
22:16:05 -!- Tomsik has quit (Quit: Fin.).
22:18:04 -!- quintopia has quit (Remote host closed the connection).
22:18:21 -!- quintopia has joined.
22:18:22 -!- quintopia has quit (Changing host).
22:18:22 -!- quintopia has joined.
22:18:45 <zzo38> gopher://zzo38computer.cjb.net:70/0phlog*c_game.game-design-i
22:19:01 <zzo38> Go to gopher://zzo38computer.cjb.net:70/1phlog*d_game.game-design-i for send comments
22:19:58 <zzo38> http://zzo38computer.cjb.net/phlog/phlog_http.php?m=1&q=_game.game-design-i for access over HTTP/HTML, although comments cannot be sent over HTTP.
22:24:13 -!- quintopia has quit (Ping timeout: 258 seconds).
22:31:41 <zzo38> You did not type the comment yet?
22:32:54 -!- quintopia has joined.
22:32:54 -!- quintopia has quit (Changing host).
22:32:54 -!- quintopia has joined.
22:37:59 -!- ais523 has quit (Remote host closed the connection).
22:57:28 <zzo38> Are you out of comments? About anything at all?
22:58:18 <elliott> Gregor: Are JS users just stupid, or what? http://restrictmode.org/
22:58:22 <elliott> IDGI
23:00:35 <zzo38> I do not think is needed
23:01:04 <Gregor> elliott: Sounds like Crockford-style lunacy.
23:01:11 <pikhq> elliott: Unless restrict mode makes a JIT's job easier, there's probably no point.
23:01:22 <elliott> [[You're encouraged to "use strict"; "use restrict";]]
23:01:27 <zzo38> pikhq: Yes, that might might be
23:01:27 <elliott> Isn't "use strict" also Crockford lunacy?
23:01:28 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
23:02:01 <pikhq> And I *doubt* it does, because a JIT could rather readily handle those cases efficiently regardless...
23:02:33 <pikhq> I mean, most of those restrictions are restricting you to the common case.
23:03:44 * pikhq is somewhat annoyed that there's hardly any chance of there being a better language than Javascript for use in HTML.
23:11:51 <Sgeo> What about languages that compile to Javascript?
23:20:24 <zzo38> pikhq: You can compile other things into Javascript, or use Javascript preprocessors, but I think is better to avoid use of any script if it is not needed. It can slow down things, too, as well as sometimes it is disabled or using program that does not parse scripts.
23:27:02 <zzo38> Is there any kind of chess moves notation that uses one octet (or, usually one but sometimes two) for each move? I know the square position can be six bits. If you want to require counting all moves available and then select by number, there is enough in one byte. It is calculated:
23:27:58 <zzo38> 32 pawn + 16 knight + 26 bishop + 28 rook + 27 queen + 8 king + 2 castling. However, what if you promoted, then there is more? Then it won't fit in one byte. Also, adding castling is wrong because if you can castle, then king can't move backward. So, omit castling.
23:28:46 <zzo38> Therefore, it is still not correct.
23:31:44 <zzo38> But, note, the Amazon (queen+knight) can already move like any other pieces in chess, 13 for bishop, 14 for rook, 8 for knight.
23:32:33 <zzo38> And it is impossible in a game of chess, for promotion to occur without ever having capture occur before that in the game.
23:33:12 <zzo38> (Otherwise, the pawns will get stuck and can never reach the promotion rank)
23:34:33 -!- Tritonio has joined.
23:57:23 -!- Tritonio has quit (Quit: Bye).
23:58:08 <cheater99> what if pawns jump over other pawns
23:58:30 <cheater99> say your pawn hasn't moved yet, it wants to move the two steps, can it jump over something to do that?
23:58:34 * cheater99 isn't sure
23:58:48 <cheater99> zzo38: what is the rule on that?
←2011-04-22 2011-04-23 2011-04-24→ ↑2011 ↑all