←2008-02-16 2008-02-17 2008-02-18→ ↑2008 ↑all
00:00:17 <Sgeo> pikhq, are redundant functions better than a switcher, or merely "acceptable"?
00:00:32 <pikhq> Better.
00:00:39 <Sgeo> howso?
00:01:46 <pikhq> Let's say I'm dealing with both chars and Lnums?
00:02:44 <ehird`_> pikhq: I think {*} is a crap name
00:02:56 <ehird`_> I would prefer: <*$list>
00:02:59 <ehird`_> or <#$list>
00:03:08 <ehird`_> Because, that obscures the semantics of {...} i think.
00:04:04 <ehird`_> pikhq: Anyway, I can leave that out for now.
00:04:35 <ehird`_> pikhq: Now -- should parsing be on files/streams or strings?
00:04:39 <ehird`_> (Unicode strings, of course.)
00:04:51 <pikhq> Strings, I think.
00:04:56 <ehird`_> I think strings, because I mean all code using eval and uplevel and crap is going to involve parsing strings anyway.
00:05:03 <ehird`_> and wrapping a string in a file is a bad solution when it's so common.
00:05:09 <ehird`_> So: If parsing is fast and simple on strings..
00:07:45 <ehird`_> pikhq: So, all agreed.
00:07:51 <ehird`_> pikhq: Now, obviously (char *) is not a string.
00:08:25 <Sgeo> I guess you're not talking about PSOX STRINGs? </gratuitous-psox-reference>
00:08:26 <ehird`_> Do you suggest using available unicode routines (safer, but there generally aren't any decent ones sans glib's, and glib is big 'n bloated just for that...) or writing my own (probably broken, but small&fast)
00:08:33 <ehird`_> Sgeo: PSOX PSOX PSOX PSOX PSOX.
00:09:09 <pikhq> Dunno.
00:10:03 <ehird`_> pikhq: Well, one thing I hope we can agree on: Strings should be utf-8 internally. It's probably what you want to output, probably what you want to input (Assuming a platonically ideal world), so it's best to keep it utf-8 all the way through.
00:10:22 <pikhq> Well, of course.
00:10:31 <pikhq> That's in Tcl, and so it must be in Ptl.
00:10:40 <ehird`_> indeed
00:11:14 <ehird`_> pikhq: http://www.icu-project.org/ Hmm.
00:12:23 <ehird`_> pikhq: They use UTF-16.
00:12:36 <ehird`_> Personally, I prefer UTF-8, but with such mature-looking libraries... what do you think?
00:12:37 <pikhq> Ah.
00:12:41 <pikhq> Hmm.
00:13:12 <pikhq> Hell; if you've got mature libraries for UTF-16, why not?
00:13:17 <ehird`_> pikhq: I mean, a lot of code points fit into one value in utf-16, so maybe simple operations on them would be faster
00:13:23 <ehird`_> It's just all the conversion at both ends I'm worried about..
00:16:02 <ehird`_> pikhq: Thoughts?
00:16:13 <ehird`_> Oh, and since we're clogging up #esoteric with non-esoterica: #ptl
00:17:22 <oerjan> has anyone else started getting logged out of wikipedia all the time?
00:23:17 -!- timotiis has quit ("leaving").
00:24:19 -!- ihope_ has joined.
00:28:02 -!- ihope__ has joined.
00:30:25 <Sgeo> What are the most common logic operations?
00:31:08 <faxathisia> Sgeo, I don't understand what you mean
00:31:16 <Sgeo> faxathisia, NOT, AND, OR, those kinds
00:31:30 <Sgeo> I'm putting NOT first, but what other ones are needed most?
00:31:43 <Sgeo> Maybe AND and OR?
00:31:46 <Sgeo> in that order?
00:32:22 <oklopol> XMOR
00:32:23 <oerjan> for bit-twiddling XOR is also important
00:32:36 <Sgeo> XMOR?
00:32:44 <Sgeo> oerjan, so should XOR go after OR?
00:33:04 <oklopol> exclusive-maybe-or
00:33:30 <oklopol> it's the operation found in natural languages
00:33:41 <oklopol> the english or.
00:34:32 <Sgeo> Should PSOX use the bitewise operators, or the boolean?
00:34:42 <Sgeo> Or should both be fit in?
00:35:13 <oklopol> well, the bitewise squingies can do boolean, but boolean operators are more quandriligious
00:35:20 <Sgeo> What?
00:35:38 <pikhq> I recommend both, myself.
00:35:51 <Sgeo> boolean AND, then bitwise AND
00:36:32 <oklopol> err... don't you have types?
00:36:38 <oklopol> can't you like, overload
00:36:49 <Sgeo> Not that type of types
00:41:06 -!- ihope has quit (Read error: 110 (Connection timed out)).
00:43:51 -!- jix has quit ("This computer has gone to sleep").
00:45:43 -!- ihope_ has quit (Read error: 110 (Connection timed out)).
00:49:58 <GregorR> Sgeo: Just NAND.
00:50:03 <GregorR> Sgeo: Don't implement any others.
00:50:10 <GregorR> To implement others would be UTTERLY non-esoteric.
00:50:22 <Sgeo> GregorR, I don't want PSOX to be painful to use
00:50:29 <GregorR> Whaaaaaaaaaaaaaaa? :P
00:50:59 -!- ihope__ has changed nick to iihop.
00:51:02 <iihop> Oops.
00:51:22 <iihop> Cool. I grew an extra i.
00:51:47 * oerjan politely doesn't mention what he lost
00:52:13 <oklopol> iihop: congratulations, now you have the normal amount.
00:52:36 <iihop> Oh, wonderful.
00:52:57 <GregorR> iihop is the new IHOP restaurants sponsored by Apple.
00:53:10 -!- iihop has changed nick to iIHOP.
00:53:11 <pikhq> iIhop.
00:53:13 <iIHOP> Why didn't I think of that?
00:53:41 <Sgeo> Capitalization counts in XChat's nick coloration
00:55:55 <ehird`_> nobody sane uses nick coloration
00:56:42 <oklopol> ehird`_: why's that?
00:56:42 <Sgeo> ehird`_, please do stop calling me insane
00:57:02 <Sgeo> Also, I don't think I should really include the VARG() variations
00:57:05 <oklopol> not that i take that as an insult, i'm fairly insane.
00:57:06 <ehird`_> I don't
00:57:06 <ehird`_> not directly, anyway
00:57:13 <ehird`_> :D
00:57:17 <oerjan> Sgeo: of course you are. must i search for the cheshire cat quote again?
00:57:23 <ehird`_> oklopol: it's very distracting! ;)
00:57:36 <Sgeo> cheshire cat quote?
00:57:41 <oerjan> ok then.
00:58:07 <oklopol> well, it's fairly *ugly*, and most nick colorings always fail to distinguish the nicks that would most need distinguishing
00:58:11 <oklopol> for some reason
00:58:19 <oklopol> but it's a nice idea!
00:58:29 <oerjan> "But I don't want to go among mad people," Alice remarked. "Oh, you can't help that," said the Cat: "We're all mad here. I'm mad. You're mad." "How do you know I'm mad?" said Alice. "You must be," said the Cat, "or you wouldn't have come here."
00:58:55 <faxathisia> *
00:58:59 <faxathisia> :)
00:59:07 <pikhq> If you want nick coloring done right, base it upon the md5 sum of the name. :p
00:59:18 <Sgeo> I'm done implementing a good portion of domain4
00:59:20 <Sgeo> Woohoo!
00:59:33 <oklopol> pikhq: randomization is ok, but you can do better.
00:59:56 <Sgeo> Now it just needs documenting, and also warnings that e.g. conversions from a number to a string only work for certain bases..
00:59:57 <pikhq> Perhaps randomization + comparing to already-assigned colors?
01:00:02 <oklopol> yeah
01:00:30 <oklopol> plus weighing by nick lengths and hamming distance to existing nicks
01:00:34 <oklopol> or a better distance
01:01:06 <oklopol> nick coloring is art
01:02:11 <iIHOP> Use neural nets!
01:03:32 <iIHOP> This is nick coloring: http://en.wikipedia.org/wiki/Self-organizing_map
01:05:05 <ehird`_> oklopol: No, inverse hamming distance.
01:05:17 <ehird`_> You want to tell apart "foodlepip" and "foodlepop" more than "sad" and "AifnAk"
01:05:36 <oklopol> ehird`_: i didn't specify the function, just that you need to take into account the hd,
01:05:37 <oklopol> *.
01:06:19 -!- oklopol has changed nick to AifnAk.
01:06:22 <AifnAk> wow
01:06:27 <AifnAk> this is one cool nick
01:06:36 <AifnAk> why didn't i invent it
01:06:41 <AifnAk> so simple..
01:08:44 <oerjan> i must warn you that it is a very naughty word in basque
01:17:04 -!- ehird` has joined.
01:17:13 -!- ehird`_ has quit (Read error: 113 (No route to host)).
01:17:33 <ehird`> pikhq: Sorry.
01:17:40 <pikhq> Hmm?
01:17:41 <ehird`> I can't seem to join #ptl.
01:17:41 <ehird`> Invite me?
01:18:28 * Sgeo was able to join
01:19:56 -!- ehird` has changed nick to ehird.
01:21:17 * Sgeo accidentally gave ehird a wrong command as e left
01:48:04 <Sgeo> pikhq, http://trac2.assembla.com/psox/browser/trunk/spec/psox-utils.txt
01:48:07 <Sgeo> thoughts?
01:50:52 <Sgeo> oerjan?
01:50:58 <Sgeo> RodgerTheGreat?
01:51:01 <Sgeo> GregorR?
01:52:10 <pikhq> Pong.
01:52:12 <Sgeo> ok
01:52:23 <Sgeo> Comments on what I posted?
01:52:31 <Sgeo> http://trac2.assembla.com/psox/browser/trunk/spec/psox-utils.txt
01:58:59 <Sgeo> pikhq, any comments?
01:59:19 <Sgeo> Anyone?
01:59:26 <Sgeo> Is anyone in here alive, for that matter?
01:59:38 * pikhq nods
02:00:46 <pikhq> That works.
02:01:24 <pikhq> Why does xor only take one arg?
02:01:25 <Sgeo> Are the arthmatic functions too high up in number?
02:01:51 <Sgeo> pikhq, that's because the documentation's wrong
02:01:58 <Sgeo> It's implemented correctly (I think)
02:03:20 <ehird> Sgeo: drop the boolean funcs
02:03:23 <ehird> you can use bitwise for them
02:03:43 <pikhq> Even a boolean not?
02:04:08 <Sgeo> hm, maybe drop booleans except for boolean not?
02:04:12 <ehird> pikhq: OK, good point
02:04:23 <ehird> But other bitwise ops like and, or... work fine when treating them as booleans
02:04:27 <Sgeo> and what about boolean XOR? Can that be done as bitwise?
02:04:32 <ehird> You just end up passing '54' to if(..), which isn't a problem
02:04:39 <ehird> Sgeo: Boolean XOR works fine as bitwise, I think
02:04:43 <ehird> Plus nobody uses boolean xor!!
02:04:55 <Sgeo> tyvm ehird
02:05:38 * oerjan recalls -1 being true in Oric BASIC, so not worked equally well boolean and bitwise
02:05:57 <oerjan> or so i think. it's been a long while.
02:06:05 <ehird> -1 should be true.
02:06:06 <ehird> :|
02:06:14 <ehird> isTrue = (/= 0)
02:06:15 <oerjan> i mean _the_ true
02:06:19 <ehird> ah
02:06:21 <ehird> forth does that too
02:06:26 <ehird> the idea is that all bits are set
02:06:28 <ehird> i.e. it's 111111111111
02:07:57 <Sgeo> So do we have an issue with boolean XOR or not?
02:08:00 * Sgeo commits
02:08:09 <Sgeo> http://trac2.assembla.com/psox/browser/trunk/spec/psox-utils.txt
02:13:08 <ehird> hmm wait
02:13:11 <ehird> boolean not=
02:13:28 <ehird> ~(x&1)
02:13:29 <ehird> I think.
02:13:41 <ehird> Err
02:13:45 <ehird> No.
02:14:11 <oerjan> (== 0)
02:14:16 <ehird> oerjan: Sure
02:14:19 <ehird> But he doesn't have ==
02:14:19 <ehird> :P
02:14:48 <oerjan> you cannot make it from bitwise operators
02:15:46 <ehird> damn
02:16:18 <ehird> 􀀀 SECOND LAST UNICODE CHARACTER 􀀀
02:16:22 <ehird> How many of your clients broke there?
02:16:33 <ehird> 􏿽 WELL HOW ABOUT THIS ONE 􏿽
02:16:55 <oerjan> the question marks show up just fine, thank you ;)
02:17:05 -!- Corun has quit (Read error: 110 (Connection timed out)).
02:17:13 <oerjan> saved by being broken already :D
02:17:42 <Sgeo> 0FFFD 10FFFD
02:18:12 <Sgeo> So is there a problem with the only boolean being boolean NOT?
02:18:19 <ehird> Sgeo: Nope, no problem at all
02:19:08 <Sgeo> ehird, see, you had another piece of influence over PSOX. Because of you, I removed unnecessary boolean operators
02:19:28 <ehird> haha
02:19:32 <ehird> ok, ok, i am warming to it
02:19:35 <ehird> :)
02:19:40 <Sgeo> :D
02:20:12 <ehird> Sgeo: ok then.. how's this for an actually fun idea..
02:20:15 <ehird> psox gui domain
02:20:20 <ehird> and DON'T go implementing it, I want to
02:20:20 <ehird> :D
02:20:36 <ehird> ... omg, i can't handle the awesome
02:20:39 <ehird> also:
02:20:41 <ehird> ncurses domain
02:20:53 <ehird> graphical game of life, and graphical-console game of life!
02:20:56 <ehird> Heck, graphical mandelbrot!
02:21:08 <ehird> pikhq: Sgeo: All who think this idea is awesome, raise your hand
02:21:10 <ehird> :D
02:21:14 * Sgeo raises hand
02:25:24 <ehird> pikhq: http://wiki.tcl.tk/15348 this is awesome
02:25:43 <Sgeo> ehird, maybe events can be done by checking an infile descriptor?
02:26:27 <ehird> Sgeo: Maybe. I'm thinking, though, that PSOX needs a way to send some code over the wire. :P
02:26:37 <ehird> That'd be kind of weird though.
02:26:39 <Sgeo> "over the wire"?
02:27:14 <ehird> Sgeo: To PSOX.
02:27:22 <ehird> But then you'd have to write BF code to output a program
02:27:24 <ehird> No fun! :)
02:27:35 <ehird> But an infile sounds about right.
02:27:37 <ehird> BUT
02:27:40 <ehird> Make it window-specific.
02:27:45 <ehird> Pseudocode:
02:27:53 <ehird> fd = mkwin(640,480)
02:27:53 <Sgeo> I thought you meant for a domain to transmit stuff without being asked to..
02:28:03 <ehird> btn = mkbtn("CLICK ME")
02:28:20 <ehird> addwidg(1,btn) # 1 is window number
02:28:28 <ehird> wait_on(fd)
02:28:31 <ehird> handle_event(fd)
02:28:37 <ehird> Sgeo: Something like that.
02:28:53 <ehird> Anyway, a GUI hello world should be about 7 lines of commented code, without densely-packed lines.
02:28:54 <ehird> Agreed?
02:28:57 <Sgeo> Something like what I said, or were you reinforcing the pseudocode?
02:28:59 <pikhq> ehird: LMAO
02:29:19 <ehird> Sgeo: Something like what you said, yes
02:29:23 <ehird> Maybe more modular though.
02:29:27 <ehird> like, a button has its own fd
02:29:28 <ehird> and you wait on that fd
02:29:34 <ehird> to handle events for just that button
02:29:41 <ehird> it would make things simpler, for larger GUIs
02:29:49 <Sgeo> pikhq, I have a list of custom domains I'd like to see, and GUI is one of them
02:29:59 <ehird> Sgeo: In the spirit of esotericism, I imagine I will use PyGame and draw my own widgets
02:30:06 <ehird> That, is actually an advantage: It means e.g. mandelbrot is easier.
02:30:30 <ehird> It would also make things simpler because it could be designed around PSOX.
02:30:33 <pikhq> Sgeo: Tk?
02:30:37 <ehird> Sgeo: So I guess I will write it tomorrow. Wish me luck.
02:30:44 <ehird> pikhq: No. We've just been talking about it.
02:30:45 <pikhq> (sometime later. Much later.)
02:30:50 <pikhq> Oh?
02:31:01 <ehird> I think it will be a lot simpler to write our own, because we don't have fancy stuff needed.
02:31:04 <ehird> I am currently thinking:
02:31:10 <pikhq> Fancy.
02:31:13 <ehird> a widget like a button, has a infile descriptor
02:31:18 <ehird> and you can check that for events, basically.
02:31:19 <Sgeo> ehird, are you looking into how to write domains?
02:31:27 <ehird> Sgeo: I will tomorrow. I am going soon today.
02:31:34 <ehird> pikhq: this means that you can write bigger guis without much fuss
02:31:38 <Sgeo> ehird, the thing about 1 fd per widget is that the client would need to keep changing FDs
02:31:51 <ehird> Sgeo: Make the IO operations take an FD as an argument.
02:32:01 <ehird> + provide special ones that operate on the current fd
02:32:15 <ehird> pikhq: I will just use pygame and draw my own simple widgets, because doing the event stuff with another gui toolkit would be painful
02:32:19 <Sgeo> Also, if the FD never transmits a 0x0A, you can infinite loop on that FD by only ever calling the input function once
02:32:57 <ehird> Sgeo: Don't do that.. leave it up to the console driver to handle that stuff
02:33:06 <Sgeo> ehird, wha?
02:33:13 <ehird> Well, why do you wait for 0x0A?
02:33:21 <ehird> Just read a character, then send it off
02:33:25 <Sgeo> Because one of the ways of getting input is a line at a time
02:33:32 <ehird> OK. One of the ways.
02:33:53 <Sgeo> The other way is calling the input function 1nce for X characters
02:33:55 <Sgeo> g2g
02:33:57 <ehird> Sgeo: Anyway, just add functions that take an FD as an argument.
02:33:59 <ehird> A lot nicer.
02:34:01 <ehird> Bye :)
02:34:04 <ehird> I will write it tomorrow.
02:34:56 <ehird> By the way, how does everyone pronounce PSOX?
02:35:00 <ehird> I pronounce it as 'Pee socks'.
02:35:42 <Sgeo> Same here, although "P S O X" is truer to the epitomology
02:35:49 <Sgeo> or wahtever you call it
02:36:26 <ehird> Sgeo: 'pee socks' is a bit unfortunate though
02:36:56 <ehird> Sgeo: By the way, I am also going to implement a metadomain.
02:37:04 <ehird> It lets you define and implement domains from within a PSOX app. :D
02:37:59 <ehird> Sgeo: With this, I will then define trivial things like the http domain within brainfuck, using the tcp one
02:37:59 <ehird> \o/
02:40:04 <iIHOP> ehird's is how my phonological loop pronounces it.
02:43:35 <ehird> iIHOP: Thoughts on a bf gui lib? :P
02:44:14 <iIHOP> Do what other programming languages do.
02:44:38 <iIHOP> Which, I suppose, means using lots of libraries.
02:45:50 <ehird> iIHOP: No-- i mean,
02:45:54 <ehird> Awesome idea or not?
02:46:02 <ehird> I mean, you could do a brainfuck interactive mandelbrot
02:46:12 <iIHOP> Oh.
02:46:14 <ehird> Or a brainfuck game of life, with editor
02:46:31 <ehird> :D
02:46:39 <ehird> or a brainfuck graphical calculator
02:46:42 <iIHOP> I tend to be more interested in theory than practice.
02:46:46 <ehird> Or -- A brainfuck IDE in brainfuck!
02:46:55 <ehird> iIHOP: Yeah, me too. But this is a pretty awesome idea, I think.
02:47:18 <iIHOP> The fact that a BF GUI thingy could be written and the results could be replicated more easily is enough for me.
02:47:59 <ehird> iIHOP: I don't follow what you're trying to say
02:49:02 <iIHOP> It's possible to write a Mandelbrot program in BF, but it's also possible to write a program that does exactly the same thing in some other programming language.
02:49:07 <ehird> pikhq: You know how you said you were going to write a c lib using PSOX?
02:49:08 <pikhq> I'm glad to see that ehird is interested in PSOX.
02:49:14 <pikhq> ehird: Yeah?
02:49:19 <iIHOP> Though it can be fun to write programs in BF, of course.
02:49:32 <ehird> pikhq: I bet I can do it with less C constructs and more PSOX constructs. :-P
02:49:44 <iIHOP> Though I'd rather learn how to do it than actually do it.
02:49:59 <pikhq> ehird: I was planning to have the types be lnum_t and such.
02:50:02 <pikhq> ;)
02:50:11 <iIHOP> The fact that I know how to do my chemistry homework doesn't mean I want to do it. :-P
02:50:25 <ehird> pikhq: I'll make it more awesome, and just make all ints be lnum_t and similar
02:50:36 <ehird> So NO conversion, but NO construction of types -- that's in C!
02:51:04 <ehird> Either that, or I'll actually *write a libc*
02:51:05 <pikhq> Of course, if I did it in C++, then I'd have to overload the operators for the math calls. :p
02:51:18 <pikhq> Actually, writing a libc would be a cool use of time.
02:51:25 <ehird> Yes..
02:51:31 <ehird> Even better with PSOX, because that's just crazy
02:51:33 <pikhq> Useless, but quite cool.
02:51:40 <ehird> I started to write a libc as part of an OS I was writing once.
02:51:55 <ehird> Friendly tip: string/memory functions are easy. I/O is not.
02:51:55 <pikhq> Even cooler if you decide to create a better, replacement libc.
02:52:14 <pikhq> That, I'd think, would be obvious.
02:52:21 <pikhq> Format? *shudder*
02:52:29 <ehird> printf is pretty easy actually.
02:52:47 <ehird> pikhq: CRAZY IDEA: Writing libcox (libc-psox? Get it? Ahahahahahaha. :|), recompiling the python interpreter with it, then running PSOX under it, but with it using THAT instance of psox... Infinite loop!
02:52:50 <pikhq> Whereas the string functions are fairly straightforward, and the memory functions are wrapped up syscalls.
02:53:01 <pikhq> ehird: Too crazy.
02:53:18 <ehird> pikhq: OK, How about just one level of nesting.
02:53:18 <ehird> :D
02:54:00 <pikhq> I still want to see a TCP domain, so that 'wget' can be done the hard way, and I could right netcat, and. . .
02:54:04 <pikhq> s/right/write/
02:54:06 <ehird> pikhq: I will do that, tomorrow.
02:54:09 <pikhq> Yay!
02:54:10 <ehird> It seems an obvious step to me.
02:54:13 <ehird> Also, an FFI, possibly.
02:54:17 <ehird> Arbitary Python/C function mapping.
02:54:36 <ehird> Combined with my metadomain domain, you can define arbitary domains using python functions from within an esolang
02:54:36 <ehird> :D
02:54:54 <ehird> Like, the TCP domain can be made from within BF
02:54:59 <pikhq> Oh God.
02:55:04 <ehird> Yeah. :D
02:55:32 <pikhq> If I use that in PEBBLE, then I'd have a python_inline command. :p
02:56:03 <ehird> pikhq: Well, maybe not python_inline so much as python_func "name" "intype intype ..." "outtype"
02:56:10 <ehird> pikhq: Also, same for C functions.
02:56:25 <ehird> You can provide a PSOX interface to malloc/free -- without leaving the comfort of BF. ;D
02:56:54 <pikhq> Sgeo: I'm afraid that the Brainfuck coding universe will never be the same.
02:57:01 <ehird> Most certainly not.
02:57:23 <ehird> Now excuse me while I go and write a graphical IRC client in Brainfuck with only the metadomain and the ffi.
02:57:31 <pikhq> LMAO
02:58:41 <ehird> Anyway. gtg now. Shall write libcpsox, many domains tomorrow... and ptl. :)
02:59:36 <Sgeo> metadomain? ffi?
02:59:45 <pikhq> Foreign Function Interface.
02:59:47 <ehird> Sgeo: Metadomain = define PSOX domains in PSOX.
02:59:52 <ehird> FFI = call C and Python functions in PSOX.
02:59:56 <ehird> ;D
03:00:04 <ehird> Basically sums it up:
03:00:05 <ehird> "<ehird> You can provide a PSOX interface to malloc/free -- without leaving the comfort of BF. ;D"
03:00:08 <ehird> "<ehird> Now excuse me while I go and write a graphical IRC client in Brainfuck with only the metadomain and the ffi."
03:00:44 -!- bd_ has quit ("rebooting server").
03:00:46 -!- puzzlet has quit ("leaving").
03:01:10 -!- puzzlet has joined.
03:01:45 <ehird> pikhq: And a BF->C compiler that, when compiling a non-PSOX program, uses libcpsox
03:01:45 <ehird> :D
03:02:46 <ehird> pikhq: And c2bf with PSOX. Anyway, bye for now. Levae any notes in here, i'll check logs.
03:02:53 -!- ehird has quit ("K-Lined by peer").
03:03:35 <Sgeo> Well, I don't think I'm going to make it easier to access other FDs from input and output, switching will be the way to go
03:03:46 <pikhq> Actually, I don't have the time to actually implement PEBBLE 2 ATM.
03:03:55 <pikhq> I may, however, have the time to make BFbasic uses PSOX. :p
03:03:55 <Sgeo> Also, you might want to ignore what I said about waiting on FDs by retrieving lines
03:04:00 <Sgeo> That might not work
03:04:03 <Sgeo> pikhq, BFbasic?
03:05:30 <pikhq> Calamari's Basic->Brainfuck compiler.
03:09:17 <pikhq> Although Basic == Ugh.
03:12:20 * Sgeo hopes that domain-writing isn't too ugly-difficult for ehird to do what he wants
03:12:50 <Sgeo> For a fixed number of functions that have fixed types, it's easy, but changing the types dynamically is a different story
03:13:29 <Sgeo> Also, the current architecture doesn't allow a domain to just go and make.. well, actually it does
03:14:00 <Sgeo> Since psoxglobals (a module to hold global variables) is used promiscuiously
03:14:44 * Sgeo is glad ehird is excited about PSOX though
03:16:35 <Sgeo> "<pikhq> Sgeo: I'm afraid that the Brainfuck coding universe will never be the same."
03:16:36 <Sgeo> LD
03:16:38 <Sgeo> :D
03:17:29 <Sgeo> tyvm
03:18:14 <pikhq> Actually, I'm writing the preprocessor for PEBBLE2 ATM.
03:18:21 <Sgeo> cool
03:23:17 -!- lispy has joined.
03:23:30 <lispy> What is the puprose of #esoteric?
03:23:46 <oerjan> hm maybe should change the topic back
03:24:00 <oerjan> what _was_ the last on-topic topic, anyone? :D
03:24:00 -!- faxathisia has set topic: back.
03:24:35 <oerjan> esoteric programming languages, such as brainfuck, unlambda etc.
03:25:17 <lispy> oh, okay
03:25:23 <lispy> what is esoteric about them?
03:25:32 * lispy uses brainfuck at work
03:25:36 <lispy> Oh, wait, no that's C++
03:25:38 <lispy> my bad
03:25:40 <lispy> I confuse them
03:25:46 <oerjan> easily done :D
03:26:19 <oerjan> well they are languages that may seem even worse than C++, at least until you delve deep enough into it
03:26:34 <lispy> brainfuck is probably the only programming language that you can write a compiler for more easily than you can write an interesting program in
03:27:04 <lispy> I know this because, I wrote the bf compiler that lambdabot uses, but I can't write anything in bf :)
03:27:15 <pikhq> I've written quite a few things in Brainfuck.
03:27:21 <pikhq> My most recent hack is wget.b.
03:27:42 <lispy> you added enough IO to do wget?
03:27:44 <pikhq> http://pikhq.nonlogic.org/wget.b
03:27:59 <pikhq> Sgeo here wrote PSOX, which allows for quite a few insane features.
03:28:11 <pikhq> I believe ehird is planning on doing GUI with it tomorrow.
03:28:35 <lispy> is HTTP::get, a system call then?, well a function call
03:28:59 <pikhq> It's a PSOX call.
03:29:35 <lispy> So, it's not really bf so much as bf++ or bf2?
03:29:47 <lispy> maybe it's craniumfuck?
03:29:49 <Sgeo> lispy, it's not just for BF. Just about any language can use it
03:30:18 <Sgeo> It's a layer that goes between BF (or whatever) and standard I/O
03:30:40 <lispy> But, let me get this straight, you had to extend the bf language to allow this to work, right?
03:30:54 <oerjan> nope
03:30:59 <Sgeo> It's not the language. It's more like an interpreter
03:31:10 <pikhq> Just stick a standard Brainfuck interpreter in.
03:31:23 <pikhq> PSOX binds to that interpreter's stdio, and interprets that.
03:31:32 <lispy> normally bf would ignore sequences like PSOX_Init
03:31:37 <lispy> ah
03:31:43 -!- puzzlet_ has joined.
03:31:54 <Sgeo> The string "PSOX_Init" is a comment, actually
03:31:56 <pikhq> It will ignore PSOX_Init.
03:32:06 <pikhq> The stuff before that is what initialises PSOX. ;p
03:32:21 <Sgeo> Outputting 0x00 0x07 0x01 0x0A 0x00 0x00 0x0A is the PSOX_Init
03:32:30 <lispy> Ah, okay
03:32:32 <lispy> Now I get it
03:32:41 <lispy> Very nice
03:32:44 <Sgeo> ty
03:33:46 <lispy> more evidence that turing complete does mean something important :)
03:35:11 <lispy> do you guys work with python too?
03:35:26 <lispy> (okay sorry, that was meant to be a joke making fun of python)
03:35:48 * Sgeo is a Python person, can't say for the others
03:36:11 <Sgeo> lispy, wait, were you noting that PSOX is implemented in Python?
03:36:39 <lispy> Sgeo: was it? no actually, I'm just completely poking fun at python here
03:37:09 <Sgeo> Python, unlike Ruby, has a readable syntax :p
03:37:14 <faxathisia> lispy, what? re turing complete
03:37:21 <lispy> Yes, but they left out the type annotations :)
03:37:30 <lispy> faxathisia: bf is turing complete
03:37:59 -!- BMeph has joined.
03:37:59 <lispy> faxathisia: and so even though it seems kinda worthless for real work, because it's TC, you can do cool things like wget just as long as you have IO
03:38:18 * oerjan brought lispy here from #haskell by accident, for those who don't know :)
03:38:24 <faxathisia> lispy, This is true of non turing complete languages
03:38:49 <lispy> faxathisia: I suppose so in some cases. But, BF happens to be TC.
03:38:56 <faxathisia> lispy, This is true of subturing languages ** what I meant to say
03:38:59 <lispy> so that's why i phrased it that way :)
03:39:25 <Sgeo> TC just means able to make any computation that a computer can make. That's part of the motivation for PSOX, actually, because I wanted BF to be able to do anything a generic program can do, which is how I kept mistakenly thinking of TC
03:40:37 <lispy> Sgeo: which reminds me...since TC definition doesn't involves a system clock and user input. I've sometimes wondered if there are things we could make a modern computer do that a TC technically cannot.
03:40:55 <lispy> er TC program
03:41:16 <Sgeo> lispy, go online, which standard BF cannot do
03:44:33 <lispy> and truely seeds
03:44:34 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
03:44:40 <lispy> by using outside entropy i guess
03:44:45 <lispy> er truely random seeds
03:45:03 <lispy> oh, has anyone written a mersenn twister in bf?
03:45:18 <lispy> or other high quality prngs?
03:45:50 -!- oerjan has set topic: the international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://ircbrowse.com/channel/esoteric - Pastebin: http://pastebin.ca/.
03:46:27 * lispy decides to head home and stop reading papers for the day
03:46:51 <oerjan> (slightly modified from 18.05.07)
03:47:22 <lispy> oerjan: but there are only 12 months in a year, so what date is that? ;) (sorry, I live in the US and like to intentially be a dumbass about dates )
03:47:44 <lispy> actually, I wish we all used the format YY/MM/DD
03:47:52 <lispy> or YYYY/MM/DD
03:48:27 <oerjan> you may find it interesting that i considered clarifying that date, and rejected the thought because 18 > 12 anyway
03:49:50 <iIHOP> Either YY/MM/DD or DD/MM/YY.
03:50:05 -!- iIHOP has changed nick to ihope.
03:50:40 <Sgeo> YYYY/MM/DD makes a bit more sense, if you look at what's best for computers wrt sorting
03:51:02 <Sgeo> Also, in numerical systems where the leftmost digit is most significant >.>
03:51:55 -!- puzzlet has joined.
03:51:59 <Sgeo> Hi puzzlet
03:52:11 * Sgeo is excited about GUI BF programs tomorrow :D
03:54:47 <Sgeo> I think there's a bug in the input domain
03:55:01 <Sgeo> It gets unreasonably slow eventually
03:56:16 <ihope> Sgeo: indeed.
03:56:34 <ihope> We should just make all notations big-endian.
03:56:49 <ihope> Always put the most significant word at the beginning of a sentence, and all.
03:57:23 <ihope> It's 2008 February 16 PM 10:57, everyone!
03:58:17 <ihope> And since a week is between a month and a day, you can also say "2008 February Saturday 16" where it's important.
03:58:24 -!- puzzlet has quit ("leaving").
03:58:43 -!- puzzlet_ has changed nick to puzzlet.
04:01:23 <olsner> hmm, yes, today is indeed today... is that in any way significant?
04:02:01 * olsner thinks not and goes to bed, probably
04:02:05 <puzzlet> maybe it's the timezone
04:02:21 <olsner> possibly
04:02:38 <olsner> very well, I'm off
04:11:13 <Sgeo> I hope I'll be here tomorrow to help ehird if needed
04:11:28 <Sgeo> If not, I hope that ehird will be able to figure everything out on eir own
04:12:30 <RodgerTheGreat> brb
04:12:34 -!- RodgerTheGreat has quit.
04:15:03 <Sgeo> Maybe I should get going now
04:15:29 -!- Sgeo has quit (Remote closed the connection).
04:17:16 -!- RodgerTheGreat has joined.
04:22:57 -!- ihope_ has joined.
04:39:32 -!- ihope has quit (Read error: 110 (Connection timed out)).
05:13:38 <faxathisia> lispy, http://www.jsoftware.com/
05:14:10 <lispy> oh damn, gwern left
05:15:01 <lispy> oh wait
05:15:03 <lispy> wrong channel
05:17:00 <oerjan> it's a curse, i say!
05:17:17 <lispy> what an #esoteric curse :)
05:17:31 * lispy makes bad puns regularly
05:25:11 * oerjan bakes mud pans regularly
05:25:36 * pikhq should make baking mud pans a regulated action
05:26:01 <RodgerTheGreat> ?
05:26:35 <pikhq> In Agora, an action is regulated if it affects something an officer has to report on, among other things.
05:36:00 <pikhq> Fucking wonderful.
05:36:08 <pikhq> Someone modded one of my /. posts redundant. . .
05:36:15 <pikhq> It's the 4th post on the article, for God's sake.
05:37:31 <RodgerTheGreat> I stopped posting on /. a while ago because the mods seemed to be pretty vicious
05:39:13 <pikhq> Yeah; for a while, my account had negative karma for one post.
05:40:07 <pikhq> And does redundant even get metamodded?
05:40:51 * RodgerTheGreat shrugs
05:41:00 <pikhq> It's one thing to moderate a post identical to mine that came 10 minutes after 'redundant', but come on. . .
05:41:13 <pikhq> The only post made that covered the same topic was about half a second before mine.
05:46:59 <pikhq> Ah well; it got modded back up.
05:48:02 <RodgerTheGreat> slashdot is a pretty tough MMO, but I hear it gets more fun at the higher levels
05:49:24 <pikhq> LMAO
05:50:02 <RodgerTheGreat> Facebook and Myspace are pretty popular RPGs, but they're mostly just grindfests
05:50:39 <RodgerTheGreat> And Digg is pretty much a dumbed-down clone of slashdot- I think they wanted to cater to the console crowd
05:51:42 <RodgerTheGreat> Deviantart has a pretty sophisticated crafting system, but I think the fanbase is too creepy
05:51:55 <RodgerTheGreat> in general, I tend to stay away from online games
06:36:03 -!- ihope_ has quit (Read error: 110 (Connection timed out)).
06:36:30 -!- ihope_ has joined.
06:36:35 -!- ihope_ has changed nick to ihope.
06:49:00 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
06:51:33 -!- oerjan has quit ("Good night").
07:12:51 -!- ihope has quit (Read error: 110 (Connection timed out)).
07:22:33 -!- BMeph has quit ("calls it a night").
07:31:20 -!- ihope_ has joined.
07:31:26 -!- ihope_ has changed nick to ihope.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:32:39 -!- ihope_ has joined.
08:47:14 -!- ihope has quit (Read error: 110 (Connection timed out)).
08:48:16 -!- RedDak has joined.
09:16:21 -!- Dagide has joined.
09:28:24 -!- RedDak has quit (Read error: 110 (Connection timed out)).
09:41:05 -!- ihope_ has quit (Connection timed out).
09:47:06 -!- ihope_ has joined.
09:47:13 -!- ihope_ has changed nick to ihope.
09:56:37 -!- ihope_ has joined.
10:04:44 -!- ihope has quit (Read error: 110 (Connection timed out)).
10:23:12 -!- faxathisia has quit ("This computer has gone to sleep").
10:31:15 -!- sco50000 has joined.
10:31:31 <sco50000> INTERCAL :D
10:31:59 -!- sco50000 has left (?).
10:35:39 -!- ihope_ has quit (Connection timed out).
10:36:27 <AifnAk> "<lispy> brainfuck is probably the only programming language that you can write a compiler for more easily than you can write an interesting program in" <<< nope
10:37:13 <GregorR> null-language. Compiler: "main(){}" And no matter how hard you try, you can't write an interesting program in it.
10:38:32 <AifnAk> lispy: python is the simplest and intuitive language on earth
10:42:41 <GregorR> Thai yellow curry is the most flavorful and delicious food on Earth.
10:42:53 <GregorR> [an argument just as easy to defend :P ]
10:43:06 -!- AifnAk has changed nick to oklopol.
10:44:20 <oklopol> GregorR: why defend something everyone knows is true
10:44:39 <oklopol> wish i had some curry
10:44:58 <oklopol> [12:35] --> sco50000 has joined this channel (n=scott@unaffiliated/sco50000).
10:44:58 <oklopol> [12:36] <sco50000> INTERCAL :D
10:44:58 <oklopol> [12:36] <-- sco50000 has left this channel ("Leaving").
10:45:12 <GregorR> SCO wurves INTERCAL.
10:45:16 <GregorR> I guess it's no big surprise.
10:45:19 <oklopol> we should keep track of newcomers' intentions, not all are irpers!
10:45:24 <oklopol> oh
10:45:29 <oklopol> it he an oldie
10:46:11 <oklopol> need to brush the intercal taste away ->
11:09:56 <lament> please say please say please say please say please say please say cheese.
12:07:17 -!- helios24 has joined.
12:11:51 -!- timotiis has joined.
12:50:37 -!- jix has joined.
12:51:00 -!- jix has quit (Remote closed the connection).
12:51:18 -!- jix has joined.
13:07:39 -!- ihope_ has joined.
13:07:45 -!- ihope_ has changed nick to ihope.
13:10:32 -!- lament has quit (Remote closed the connection).
13:10:39 -!- lament has joined.
13:31:58 -!- Corun has joined.
14:21:37 -!- Tritonio_ has quit (Read error: 104 (Connection reset by peer)).
14:23:28 -!- Tritonio_ has joined.
15:18:10 -!- Dagide has quit (Remote closed the connection).
15:38:29 <olsner> wow, ursala is really crazy
15:38:36 <SimonRC> yyyyyyyup
15:39:58 <olsner> the alphabet is too small to give names to all the "pointers", so they added numbered "escapes" for extension
15:40:42 -!- Corun_ has joined.
15:40:53 <SimonRC> I didn;t get that far yet
15:42:08 -!- Corun has quit (Read error: 104 (Connection reset by peer)).
15:54:28 <olsner> "An operator precedence relation exists, but it is neither transitive, reflexive, nor anti-symmetric."
15:54:32 -!- Corun_ has changed nick to Corun.
15:55:15 <olsner> and some operators have multiple arities, with each arity having its own precedence
15:56:35 <ihope> Fine as long as it's all well-defined.
15:59:35 <olsner> the specification recommends trial-and-error for discovering the precedence rules rather than attempting to understand the description :P
16:00:30 <ihope> Weird.
16:01:35 <olsner> also featuring prefix, infix, postfix, "solo" and circumfix/outfix operators
16:02:16 <olsner> (many operators usable in more than one fixity)
16:02:22 <SimonRC> hm
16:03:52 <ihope> My gosh.
16:12:57 -!- oerjan has joined.
16:18:06 <SimonRC> ihope: no, not yours
16:18:15 <ihope> Oh.
16:18:21 <ihope> olsner's gosh.
16:18:39 <olsner> plenty of gosh to go around
16:20:07 <ihope> About how much gosh do you have?
16:20:33 <ihope> In cubic meter pascals per Kelvin mole?
16:30:37 <olsner> about 1 square foot per square fortnight Kelvin mole
16:31:06 <Slereah> *Reaumure mole
16:32:28 <SimonRC> Rankine, surely?
16:32:40 <SimonRC> and what is "Reaumure"?
16:34:04 <oerjan> http://en.wikipedia.org/wiki/R%C3%A9aumur_scale
16:34:51 * oerjan disposes of the stray 'e' with a flyswatter
17:02:46 -!- calamari has joined.
17:11:11 <SimonRC> Oh dear, I just used the adjective "Internetty"
17:11:13 <SimonRC> ... in referring to the political compass readings of Mike Gravel (D) and Dennis Kucinich (D)
17:11:23 -!- puzzlet has quit (Remote closed the connection).
17:11:27 -!- puzzlet has joined.
17:11:43 <RodgerTheGreat> use "Internet-esque".
17:11:44 <oerjan> Internetty sounds like a silly name for a mascot
17:12:25 <RodgerTheGreat> "Internetty the tube! Don't look inside, though- he's filled with porn and social networks!"
17:18:21 <SimonRC> heh
17:42:22 -!- calamari has quit ("Leaving").
18:31:34 -!- ihope_ has joined.
18:47:45 -!- ihope has quit (Read error: 110 (Connection timed out)).
19:14:07 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
19:14:21 -!- Slereah has joined.
19:44:40 -!- ehird` has joined.
19:51:09 -!- ehird`_ has joined.
19:52:12 -!- ehird` has quit (Read error: 113 (No route to host)).
20:00:23 <ehird`_> pikhq: plz let it access FDs
20:00:26 <ehird`_> it will be so convenient
20:01:02 -!- oerjan has quit ("Supper").
20:01:29 <ehird`_> omfg
20:01:31 <ehird`_> topic is back on topic
20:01:33 <ehird`_> when did that happen
20:02:12 -!- Hiato has joined.
20:02:30 <lispy> what is the difference between porn and social networks?
20:02:40 <lispy> are social networks just porn for girls?
20:03:10 <ehird`_> lispy: are you a markov chain bot?
20:03:41 <lispy> am I markov "Internetty" chain bots?
20:03:49 <lispy> (sorry)
20:03:55 <lispy> ehird`_: no!
20:04:06 <lispy> but I play one on IRC
20:04:46 <lispy> I used to have a megahal here on freenode called {}, boy, that was a fun bot
20:04:53 <ehird`_> lispy: crazy nick
20:04:59 <ehird`_> if only 'I' was available
20:05:04 <ehird`_> 'I was talking to I yesterday, and..'
20:05:06 <lispy> yeah, it kinda looks like a .... um... nevermind
20:05:08 <ehird`_> even better: 'myself'
20:05:29 <lispy> most irc clients show'd the bot as <{}>
20:05:35 <ehird`_> * you :Erroneous Nickname
20:05:38 <ehird`_> fuck. you. freenode.
20:06:00 <ehird`_> oh well
20:06:04 <ehird`_> I have awesome nicks registered anyway
20:06:06 <ihope_> :-P
20:06:15 <ihope_> What are some of your awesome nicks?
20:06:30 <ehird`_> ihope_: Actually they aren't very awesome.
20:06:38 <ihope_> I think my most awesome nick is ihop.
20:06:39 <ehird`_> I have 'rice' though, which is a dictionary word so I guess that's pretty cool.
20:06:53 <ehird`_> (<Sgeo>Python, unlike Ruby, has a readable syntax :p <-- bullcrap, ruby is beautiful ... well, kinda. it's like perl but less ugly.)
20:07:09 -!- ihope_ has changed nick to hyperpyrexia.
20:07:15 <hyperpyrexia> Also a dictionary word. :-P
20:07:17 -!- hyperpyrexia has changed nick to ihope.
20:07:42 <ehird`_> 'rice' is short though
20:07:48 <ehird`_> Actually, I was pretty close to getting 'z' at one point..
20:07:56 <ehird`_> then the bastard logged in for the first time in ages :(
20:08:16 <ihope> It's a legal nick?
20:08:26 <ehird`_> Oh yes.
20:08:29 -!- ihope has changed nick to i.
20:08:34 <i> This one isn't.
20:08:37 -!- i has changed nick to ihope.
20:08:37 <ehird`_> Registered or forbidden, most all of them.
20:08:40 -!- ehird`_ has changed nick to i.
20:08:43 -!- i has changed nick to ehird.
20:08:45 <ehird> Yeppers.
20:09:17 <ihope> I wonder why i is may-not-be-used and you is erroneous.
20:09:17 <ehird> I should write a script that checks every one-letter nick and tells me which are available for dropping.
20:09:29 <ehird> ihope: freenode's ircd is.. not the cleanest thing
20:09:32 -!- ihope has changed nick to c.
20:09:36 -!- c has changed nick to ihope.
20:09:40 -!- Hiato has left (?).
20:09:51 <ihope> Fun stuff.
20:10:20 -!- ehird has changed nick to c.
20:10:28 <ihope> Nothing special on that one.
20:10:29 <c> -NickServ- The nickname [c] is private
20:10:30 -!- c has changed nick to ehird.
20:10:41 <ehird> always use /ns info
20:10:43 <ehird> before trying
20:10:55 <ehird> if they haven't been logged in for a month or a few, celebrate
20:10:58 <ihope> The nickname [a] is private. The nickname [B] is private. The nickname [c] is private.
20:10:59 <ehird> then #freenode and ask for droppation
20:11:05 <ihope> Fun stuff.
20:11:06 -!- ehird has changed nick to y.
20:11:16 <y> this is... available
20:11:16 <y> :O
20:11:19 -!- y has changed nick to ehird.
20:11:24 <ehird> eh
20:11:25 <ehird> damnit
20:11:26 <ehird> wait
20:11:38 <ihope> Damnit wait?
20:11:40 -!- ehird has changed nick to Y.
20:11:43 <Y> ok
20:12:01 <Y> combinator
20:12:04 <Y> ha! ha! ha!
20:13:17 <Y> omg
20:13:19 <Y> i could get Q
20:13:19 <Y> :|
20:15:57 <Y> no Y for me
20:16:00 <Y> I can't be a combinator.
20:16:09 <Y> and q is erronous
20:16:19 <Y> Hey, I know! I should start my own network so I can get a one-char nick :P
20:16:23 <ihope> :-P
20:16:34 <ihope> Or get that nick on Sine.
20:16:45 <Y> ihope: There's no nickserv, is there
20:16:58 <ihope> Ami's kind of one.
20:17:10 <Y> OK. But that doesn't let me secure both 'Y' and 'q'.
20:17:11 <Y> :P
20:17:16 -!- Y has changed nick to Yq.
20:17:19 <Yq> owned
20:17:24 <Yq> ooh
20:17:25 <Yq> 2 years
20:22:58 <ihope> Cool, the nick "aefn" isn't registered.
20:23:36 <ihope> Maybe I prefer long nicks, though.
20:23:56 -!- ihope has changed nick to ThreePointOneFou.
20:23:57 -!- Yq has changed nick to aefn.
20:24:05 <ThreePointOneFou> That's as long as it gets? My.
20:24:06 -!- aefn has changed nick to Yq.
20:24:33 <ThreePointOneFou> And I'd typed it out to "ThreePointOneFourOneFiveNineTwoSixFiveThreeFiveEightNineSevenNineThreeTwoThree" in case nick lengths could go that far.
20:32:47 <Yq> ideas spread fast
20:32:52 <Yq> <Taggard> spb: Feel like donating a single character nick to me?
20:32:59 -!- helios24 has quit ("Leaving").
20:38:12 <ThreePointOneFou> :-)
20:38:24 -!- ThreePointOneFou has changed nick to ihope.
20:39:23 <Yq> pikhq: question about tcl
20:39:30 <Yq> aren't return values and output redundant?
20:39:45 <Yq> like, in shell, i guess you do have the error status, but mostly subshells output are their 'return'
20:44:30 -!- Sgeo has joined.
20:46:06 <Sgeo> WAs ehird in here earlier?
20:46:36 <Yq> I am ehird.
20:47:06 <oklopol> Sgeo: you good at lojban?
20:47:31 <Sgeo> oklopol, I used to know a drop of lojban, and sort of know the basics
20:47:55 <Sgeo> Yq, are you going to work on those domains?
20:48:30 <Yq> Sgeo: Yes, I guess so.
20:48:36 <Yq> Is there a PSOX usage tutorial anywhere?
20:48:38 <Yq> With brainfuck.
20:48:50 <Sgeo> Yq, there are examples, and the spec
20:49:03 <Sgeo> I think one part of the spec is out-of-date, holdon
20:49:10 <oklopol> fucktorial
20:49:42 <pikhq> Yq: Nope.
20:49:53 <Yq> pikhq: How are they unique theoretically
20:50:24 <pikhq> proc foo {} {return 1} returns 1 to the caller; proc bar {} {puts 1} outputs one.
20:50:45 <pikhq> if {[foo]} is therefore like if {1}. . .
20:51:11 <pikhq> if {[bar]} is more like if {puts 1}; testing if puts actually outputs without an error.
20:52:04 <pikhq> Really, it's the difference between printf() and return in C. ;)
20:52:15 <Yq> pikhq: Duhhh. I'm saying it SHOULDN'T be like that.
20:52:28 <pikhq> Why the hell *not*?
20:52:37 <pikhq> Erm.
20:52:42 <pikhq> Why the hell shouldn't it be like that?
20:52:44 <Yq> example:
20:52:55 * Sgeo wants to see a GUI domain soon
20:53:01 <Yq> proc bar {} {puts 1}; if {[bar]} ;# this is 'if {1}...'
20:53:05 <Yq> it's like this in shell
20:53:12 <Yq> and it makes sense when the language is like a shell
20:53:16 <Yq> which tcl is, essentially.
20:53:18 <pikhq> Which it's not.
20:53:19 <Yq> as well as the string focus
20:53:59 <pikhq> Are you fucking mad?
20:54:41 -!- RedDak has joined.
20:55:11 <Yq> pikhq: Perhaps; but saying that helps little.
20:55:24 <pikhq> [puts 1] is just the same as [puts stderr 1].
20:55:46 <Yq> pikhq: I am aware what the actual semantics are.
20:55:52 <Yq> I am arguing theoretically, what would be better.
20:55:57 <pikhq> s/stderr/stdout/
20:56:05 <pikhq> Perhaps if you're making a shell vaguely like Tcl.
20:56:16 <pikhq> But Tcl's not shell.
20:56:29 <Yq> pikhq: I'm just saying I can't see how it wouldn't be nicer.
20:56:47 <pikhq> You've obviously never had a function *want to output*.
20:57:33 <Yq> pikhq: Uhm, if I have a nested expression I don't expect side-effects to creep out of it relying on evaluation order, no.
20:57:46 <Yq> I would put the first action, then the second. Then my nested ones.
20:57:47 <Yq> *one
20:58:02 <pikhq> Did you also happen to fail to notice that Tcl is imperative as fuck?
20:59:30 <Yq> May be so. But in nested expressions, that's just ugly style.
20:59:47 <pikhq> ...
20:59:58 <pikhq> Would you support the same behavior in C?
21:04:34 -!- Yq has changed nick to {.
21:04:38 -!- { has changed nick to }.
21:05:27 <}> pikhq: No
21:05:37 <}> You should seperate side-effecting seperations and not nest them oddly.
21:05:44 <}> Anything else is obfuscation.
21:06:00 -!- } has quit (Nick collision from services.).
21:06:05 <Sgeo> oO
21:06:09 <Sgeo> Nick collision?
21:06:38 -!- ehird`_ has joined.
21:06:48 -!- ehird`_ has changed nick to [.
21:06:57 <[> test
21:06:58 -!- [ has changed nick to ].
21:06:59 <Sgeo> wb ehird
21:07:00 <]> test
21:07:05 <]> Hmm. :P
21:07:06 <Sgeo> } had a nick collision?
21:07:09 <]> Yah
21:07:11 <Sgeo> /whois }
21:07:14 -!- Sgeo has changed nick to }.
21:07:19 <]> sgeo: it's forbidden
21:07:19 -!- } has changed nick to Sgeo.
21:07:27 <Sgeo> -NickServ- If you do not change within one minute, you will be disconnected
21:07:36 <]> yah
21:07:41 -!- Sgeo has changed nick to I.
21:07:43 -!- I has changed nick to Sgeo.
21:07:44 <]> forbidden
21:08:03 -!- ] has changed nick to _.
21:08:09 <_> this
21:08:11 <_> would be so awesome
21:08:12 <_> as a nick.
21:08:16 <GregorR> /nick We /me are the bork!
21:08:35 <Sgeo> _, is that forbidden or something?
21:08:46 <_> Sgeo: No, it's allowed. I am asking in #freenode.
21:08:50 <_> xD
21:08:50 <_> I imagine I will be denied
21:08:53 <Sgeo> Also, any chance of working on the GUI domain now?
21:09:05 <_> Sgeo: Bah, pygame is a lot of wurk :P
21:09:12 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
21:09:13 -!- slereah_ has joined.
21:09:20 <Sgeo> So use something simpler if you want
21:09:26 <Sgeo> You're the one making it, not me
21:09:47 <_> haha, I know.. I know.
21:09:53 <_> Anyway, it's dependant on you.
21:09:58 <_> The model requires not having to switch FDs to be nice.
21:10:30 <Sgeo> I'm not sure how I can fit in not switching FDs..
21:11:43 -!- _ has changed nick to ^.
21:11:48 <^> hah
21:11:50 <^> Sgeo: Easy
21:11:56 <^> add an extra parameter to the functions
21:12:00 <^> Or: just add some more, for backwards-compat
21:12:20 <Sgeo> There isn't really room to add functions
21:12:38 <^> Uhm
21:12:39 <^> Explain?
21:12:59 <Sgeo> 0x00 0x01 (num-of-bytes-to-take) 0x0A
21:13:04 <Sgeo> That's input
21:13:13 <Sgeo> Where in there is there room to fit something else?
21:13:20 <^> ... Another domain?
21:13:22 <^> ALTERNATIVELY
21:13:28 <^> 0x00 0x01 (fd) (num-of-bytes) 0x0A
21:13:31 <^> nicest solution
21:13:39 <Sgeo> That would break compatibility..
21:13:45 <Sgeo> Also, what about output?
21:14:06 <^> Sgeo: Tell me exactly how many PSOX programs are there, mr Sgeo?
21:14:13 <^> About 3? Maybe even 4?
21:14:18 <Sgeo> lol true
21:14:19 <^> How could you possibly stop them working!
21:14:29 <^> They run whole ENTERPRISES!
21:14:32 <Sgeo> lol
21:14:40 <Sgeo> What about output though?
21:14:45 <^> What is it right now?
21:15:04 <Sgeo> Printing a character outputs that character unless it's 0x00, which is escape
21:15:07 <Sgeo> to function
21:15:15 <Sgeo> and 0x00 0x00 escapes the next character
21:15:44 <^> That can stay the same. What is the actual function for outputting, though, in PSOX?
21:15:49 <^> Because that gets an extra FD peramater
21:15:57 <^> But, you can still keep the sometimes-useful 'current FD' model --
21:15:58 <Sgeo> That is outputting
21:16:08 <^> Sgeo: Uh, but you have FDs.
21:16:11 <^> How do you output to the current FD?
21:16:26 <Sgeo> Exactly as I said
21:16:26 <pikhq> 0x00 0x00 char
21:16:45 <^> Ah, I see.
21:16:46 <ihope> Hmm. That's no one-letter nick.
21:16:52 <^> OK then:
21:17:07 <^> You have, at the base, functions which take an fd, and the rest of the parameters.
21:17:11 <^> This includes a special output one.
21:17:11 <^> THEN,
21:17:14 <^> On top of that,
21:17:21 <^> you layer on a 'current FD' system
21:17:22 <Sgeo> brb
21:17:32 <^> which is basically all the functions, sans FD parameters, and a 'change FD'/'get FD' functions
21:17:35 <^> Then,
21:17:47 <^> you use your model of output - i.e. JUST OUTPUT the character! - to use the implicit-FD versions.
21:17:49 <^> Simplel.
21:18:14 <Sgeo> back
21:19:00 <Sgeo> Would it be just simpler for a GUI client to just switch FDs every two seconds?
21:19:08 <^> Sgeo: No.
21:19:14 <^> It would be far harder to code with.
21:19:20 <Sgeo> Or maybe special input/output functions in the system domain?
21:19:21 <^> Plus, this model of output/input is used by C and similar
21:19:24 <^> fputc, and putc.
21:19:26 <^> fprintf, and printf.
21:19:27 <^> etc
21:19:33 <^> (fgetc, and getc, ...)
21:20:37 <olsner> heh, backtick is already taken
21:21:26 -!- ^ has changed nick to s.
21:21:30 <Sgeo> s, would input/output functions in the System domain be ok?
21:21:30 -!- s has changed nick to a.
21:21:45 <Sgeo> a, do you have ehird on highlight?
21:21:48 <a> Yes
21:21:51 <a> Anyway sgeo:
21:21:52 <Sgeo> ok
21:21:59 <a> I have some simple questions to help me understand
21:22:16 <a> How is the current model of IO accomplished? How do I select an FD, input, output, etc.
21:22:21 <a> Answer that, and I'll explain my suggestion.
21:22:52 <Sgeo> 0x00 0x02 0x10 f 0x0A sets the current outfile FD
21:23:01 <Sgeo> 0x00 0x02 0x11 f 0x0A sets the current infile FD
21:23:36 <Sgeo> There are 4 builtin FD numbers: 0x00 is the current outfile FD, 0x01 is the current infile FD, 0x02 is stdout, 0x03 is stdin
21:24:05 <a> Okay.
21:24:08 <a> And after that.
21:24:12 <a> how do I do stuff with them?
21:24:26 <Sgeo> I already described input and output
21:24:45 <a> Do it again, I don't grasp it yet.
21:25:12 <Sgeo> Output is either just outputting the character if it's not 0x00
21:25:22 <Sgeo> Or just output 0x00 0x00 first to escape the next char
21:25:37 <Sgeo> Input is 0x00 0x01 (num-of-bytes) 0x0A
21:26:07 <a> Sgeo: Specify what 0x01 and 0x02 are in english
21:26:20 <Sgeo> ehird: Domain specifiers
21:26:29 <a> Sgeo: Yes...
21:26:30 <a> What domains.
21:26:39 <Sgeo> 0x01 is the input pseudodomain
21:26:53 <Sgeo> 0x02 is the System domain
21:26:53 <a> define `pseudodomain'
21:27:16 <Sgeo> pseudodomain because 0x01 doesn't have functions like a normal domain. The num-of-bytes pretends to be the function name, but it isn't
21:27:31 <a> OK.
21:27:44 <a> Well, my idea is quite radical then.
21:27:46 <a> But it's very simple..
21:28:00 <a> 0x01 will no longer be the input pseudodomain. It will be the 'IO domain'.
21:28:02 <a> With me so far?
21:28:06 <Sgeo> ok
21:28:12 <a> OK, and,
21:28:19 <a> There will be a function in it for input.
21:28:24 <a> So, something like:
21:28:43 <a> 0x00 0x01 0x00 (num-of-bytes) 0x0A
21:28:43 <a> (Not exact synatx, maybe. But you get the idea?)
21:29:01 <Sgeo> I get the idea, but it's an extra byte of overhead :/
21:29:14 <a> Sgeo: With me?
21:29:14 -!- a has changed nick to ehird.
21:29:18 <Sgeo> yes
21:29:19 <Sgeo> brb
21:29:23 <ehird> Sgeo: ping
21:29:27 <ehird> oh
21:29:28 <ehird> sorry
21:29:29 <ehird> I lagged.
21:29:39 <ehird> Also, I have a suggestion re: byte of overhead
21:30:07 <ehird> If the PSOX server has nothing to send, and a character is requested, it sends off a character from $FD. (Don't think about this too much. I'll explain it once I get my concepts down.)
21:30:25 <Sgeo> back
21:30:48 <Sgeo> ehird, the PSOX server doesn't know when a character is requested
21:30:57 <ehird> Sgeo: It can, though, quite easily.
21:31:05 <ehird> I might give an example, but that's not the point..
21:31:10 <ehird> The point is the idea I am explaining.
21:31:18 <ehird> Anyway, you can see the logical outcome:
21:31:26 <ehird> 0x00 0x01 0x01 (char) 0x0A
21:31:35 <ehird> (Please ignore that these are very verbose ways to do IO, I will fix that later..)
21:31:37 <Sgeo> ehird, select.select() doesn't work on Windows last time I checked docs
21:31:40 <ehird> Sgeo: With me so far?
21:31:48 <ehird> (Don't. think about it. too much!)
21:32:10 <Sgeo> ok
21:32:35 <ehird> Sgeo: OK, now what I propose
21:32:48 <ehird> It would look like this, in the core:
21:32:51 <ehird> 0x00 0x01 0x00 (fd) (num-of-bytes) 0x0A
21:32:59 <ehird> 0x00 0x01 0x01 (fd) (char) 0x0A
21:33:08 <ehird> This is obviously not an ideal interface for the programmer.
21:33:14 <ehird> Sgeo: But it's a solid base for IO.
21:33:20 <ehird> And with that, we can build upon it:
21:33:33 <ehird> 0x00 0x01 0x02 (fd) 0x0A ;; change fd
21:33:40 <ehird> 0x00 0x01 0x03 0x0A ;; get fd (not required)
21:33:52 <ehird> 0x00 0x01 0x04 (num-of-bytes) 0x0A ;; no need for fd param -- works on current fd
21:33:59 <ehird> 0x00 0x01 0x05 (char) 0x0A ;; ditto
21:34:16 <ehird> Now, with all of this we have an IO system more powerful than PSOXs. But it's still not that convenient!
21:34:25 <ehird> So, what we can do.. is this:
21:34:31 <ehird> You know your current stuff for output?
21:34:33 <ehird> i.e. just output it
21:34:36 <ehird> with a possible escape?
21:34:39 <Sgeo> yes
21:34:45 <ehird> Well, that ends up using "0x00 0x01 0x05 (char) 0x0A"
21:34:47 <ehird> It's just sugar.
21:35:15 <ehird> The input thing is valid, and maybe you can check for input, or maybe you can have a special other magic sugar -- like "0x01 bytes", and escape that... You already have one already. But, this isn't such a major problem.
21:35:26 <ehird> The point is that it would make e.g. the GUI lib *very nice* to use
21:35:38 <ehird> and it also lets you unify the infile/outfile mess thing
21:36:39 <Sgeo> I'm not sure I'm willing to change around the whole current structure, but that stuff could go in a custom domain..
21:36:53 -!- ihope has quit (Read error: 110 (Connection timed out)).
21:37:02 <ehird> Sgeo: And why not?
21:37:07 <ehird> There is no programs to speak of.
21:37:12 <ehird> This is more elegant, and it's what every other language uses.
21:37:21 <ehird> It is also just as convenient if you take into account my sugar ideas..
21:37:37 <ehird> Maybe even more convenient, with my 0x01 sugar. (Shorter programs, 0x01 is easy to make in BF)
21:37:58 <ehird> Also, when you start doing things like e.g. heavy file IO
21:37:59 <ehird> (Which is not that uncommon I must add!)
21:38:04 <ehird> it will be a lot nicer
21:38:07 <ehird> and shorter
21:38:56 <Sgeo> Well, the thing with the 0x01 sugar is that how do we make sure it gets to the server before the client requests it?
21:39:11 <Sgeo> the reason 0x0A is at the end of every function is to make sure the server gets it
21:39:56 <ehird> Sgeo: Simple
21:40:03 <ehird> 0x01 only reads one byte
21:40:08 <ehird> the syntax:
21:40:08 <ehird> 0x01 0x??
21:40:11 <ehird> 'read ?? bytes.'
21:40:32 <Sgeo> Suppose I have a BF interpreter that only sends out at a 0x0A
21:40:36 <ehird> You don't need an ending marker because it's not variadic.
21:40:37 <Sgeo> and I have this BF program:
21:40:38 <ehird> And you can escape it like this:
21:40:38 <ehird> 0x01 0x01
21:40:40 <ehird> Now of course the question 'how do you input one byte??'
21:40:45 <ehird> Probably, by 0x01 0x00.
21:40:48 <Sgeo> +..,
21:40:52 <ehird> Since you never actually want to read 0 chars.
21:40:54 <Sgeo> What happens?
21:41:00 <ehird> Sgeo: Well, let's see
21:41:04 <ehird> that's 0x01 0x01
21:41:09 <Sgeo> Then waits
21:41:14 <ehird> Yes
21:41:16 <ehird> Well
21:41:16 <Sgeo> But the BF interpreter never sends it to the server
21:41:22 <ehird> Sgeo: In my semantics if you look
21:41:24 <ehird> that actually escapes 0x01 0x01
21:41:25 <Sgeo> Because there's no 0x0A to flush it
21:41:30 <ehird> oh
21:41:31 <ehird> uh
21:41:33 <ehird> no interp does that
21:41:36 <ehird> no sane one
21:41:44 <ehird> i guess
21:41:45 <Sgeo> I remember GregorR being worried about oit
21:41:46 <Sgeo> it
21:41:58 <ehird> but fine
21:41:58 <ehird> this:
21:41:58 <ehird> 0x01 0x?? 0x0A
21:41:58 <ehird> Sgeo: Actually, that's good
21:41:58 <ehird> Because:
21:41:59 <ehird> 0x01 0x0A
21:42:17 <ehird> means just a literal \1
21:42:17 <ehird> Hmm, wait
21:42:17 <ehird> No
21:42:17 <ehird> IGNORE THAT
21:42:17 <ehird> :)
21:42:20 <ehird> Sgeo: OK:
21:42:26 -!- BMeph has joined.
21:42:31 <ehird> 0x01 0x?? 0x0A
21:42:32 <ehird> is a macro for
21:42:49 <ehird> 0x00 0x01 0x05 0x?? 0x0A
21:42:49 <ehird> and:
21:42:49 <ehird> 0x01 0x01 0x0A
21:42:49 <ehird> is a literal \1
21:42:54 <ehird> IF you want to actually read one char:
21:42:57 <ehird> 0x01 0x00 0x0A
21:43:27 <ehird> So, here's a "read one char" BF program:
21:43:42 <ehird> +.-.+++++++++.,
21:43:46 <ehird> A "cat one char":
21:43:48 <ehird> +.-.+++++++++.,.
21:43:50 <ehird> But obviously
21:44:01 <ehird> Oh wait
21:44:01 <ehird> Sgeo: You get an EOF indicator, right?
21:44:01 <ehird> OK. Then this:
21:44:17 <ehird> +.-.+++++++++.,,.
21:44:17 <ehird> That doesn't work if it's 0x00, though..
21:44:24 <Sgeo> EOF Indicator, Num-of-bytes-not-EOF, bytes, padding
21:44:40 <ehird> But this is simple enough to fix:
21:44:45 <ehird> +.-.+++++++++.,,>.+.+++.<.>++++++++++.
21:44:48 <Sgeo> Is what currently happens when you request a fixed number
21:44:52 <ehird> Sgeo: There's a "read one char, output":
21:44:57 <ehird> ah
21:45:00 <ehird> well then you just add more ,s
21:45:00 <ehird> :P
21:45:05 <ehird> But, you get the basic idea.
21:45:08 <ehird> And I would say: that's nice and short!
21:45:18 <ehird> And it allows for my cleaner semantics
21:45:27 <ehird> So I would say it's a good thing
21:45:27 <ehird> pikhq: Opinions?
21:45:33 <Sgeo> 0x01 0x?? 0x0A is only one byte less than 0x00 0x01 0x?? 0x0A
21:45:43 <Sgeo> although it just frees up domain 0x01
21:45:45 <Sgeo> I guess
21:46:07 <ehird> Sgeo: Yeah, well it might be only one byte less, but the benefits that come with it are nice, very nice!
21:46:17 <ehird> And it doesn't really free up domain 0x01.
21:46:21 <ehird> That's the IO domain in my semantics, remember?
21:46:34 <Sgeo> Yes, frees up 0x01 for your IO domain is what I meant
21:46:39 <ehird> right
21:46:52 <ehird> IMO, it's cleaner. And it's the most widely used model of IO - C, etc. use it
21:47:08 <ehird> Plus, when you do heavy file I/O (or, in my case, heavy widget-FD I/O) it makes programs a lot nicer, I think
21:48:25 <Sgeo> I suppose you'd be opposed to making input 0x00 0x01 fd num-of-bytes 0x0A?
21:48:54 <Sgeo> and output 0x00 0x00 fd char ?
21:49:19 <ehird> Sgeo: Of course... domains are the best way to organize this.
21:49:25 <ehird> Besides, a domain allows for expansion of IO capabilities.
21:49:34 <ehird> Like, an 'isEOF' function or something.
21:49:45 <Sgeo> Well, input gives an EOF indicator
21:50:20 <Sgeo> Or I could make a custom IO domain..
21:50:26 <ehird> Sgeo: I know it does.
21:50:27 <ehird> it was an example
21:50:33 <ehird> Can't you stop taking every example I give literally?
21:50:42 <ehird> And a custom IO domain means you have two models for IO, neither of which is integrated
21:50:49 <ehird> Which is ugly, and so is the whole 'pseudodomain' idea.
21:53:05 <Sgeo> hm
21:53:10 <Sgeo> brb
21:55:51 <Sgeo> back
21:56:00 <Sgeo> It would be a major change :/
21:56:05 <Sgeo> !bf_txtgen IO
21:56:07 <Sgeo> !bf_textgen IO
21:56:11 <EgoBot> Huh?
21:56:42 <Sgeo> !help
21:56:45 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
21:56:47 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
21:56:55 <ehird> Sgeo: What's the problem with that?
21:56:57 <ehird> Who is going to die?
21:57:29 <Sgeo> Why isn't bf_txtgen working?
21:57:31 <Sgeo> !ps
21:57:35 <EgoBot> 1 Sgeo: bf_txtgen
21:57:37 <EgoBot> 2 Sgeo: ps
21:58:48 <ehird> !bf_txtgen it does just slowly
21:59:15 <Sgeo> Too slowly. Is there an online alternative?
22:00:43 <Sgeo> Making your changes would not be easy
22:01:09 <ehird> Sgeo: there's a java alternative.
22:01:12 <ehird> Sgeo: and yes it would.
22:01:15 <EgoBot> 38 +++++++++[>++++++++>>><<<<-]>+.++++++. [67]
22:01:20 <ehird> its just a few python files
22:01:21 <ehird> sheesh
22:04:00 <Sgeo> How often would apps need to do I/O to arbitrary FDs?
22:04:12 <ehird> Sgeo: Quite often..
22:04:18 <ehird> When using multiple files when using the gui toolkit ...
22:04:23 <EgoBot> 133 +++++++++++++++[>+++++++>++++++++>++><<<<-]>.>----.>++.<<-----.>-----.<+.>++++.>.<<+++++.>++.--.+.>.<-.-------.<+++++.++++++++.>.<++. [913]
22:04:25 <ehird> And besides they still have the short interface.
22:04:37 <Sgeo> Couldn't those cases be covered with a custom domain?
22:06:37 <ehird> Sgeo: Yes, but that's ugly.
22:06:42 <ehird> And besides, my way has no downsides.
22:07:17 <Sgeo> Maybe your way could go in PSOX 1.1?
22:08:27 <ehird> Sgeo: Why not 1.0?
22:08:30 <ehird> There's no programs to speak of.
22:08:43 <Sgeo> The current PSOX Server doesn't count as a program
22:08:44 <Sgeo> ?
22:09:05 <ehird> Sgeo: It wouldn't require many changes..
22:09:10 <ehird> Gimme svn access and I'll branch off and do it
22:09:14 <Sgeo> ok
22:09:24 <Sgeo> ehird, do you have an Assembla account?
22:09:27 <ehird> Sgeo: no
22:09:28 <ehird> :)
22:09:34 <Sgeo> get one
22:09:41 <Sgeo> brb
22:09:55 <ehird> haha
22:09:57 <ehird> ok, later ;)
22:10:43 <Sgeo> Why later?
22:12:16 <ehird> quite busy -- you'll see
22:12:37 <Sgeo> busy with PSOX, or with something else?
22:12:42 <ehird> something else
22:13:10 <Sgeo> Well, give me your email address, and I'll invite you
22:15:06 <ehird> eh
22:15:11 <ehird> penguinofthegods@gmail.com
22:15:37 <Sgeo> ehird, so you did have an Assembla account..
22:15:42 <ehird> did i
22:15:43 <ehird> :|
22:16:13 <Sgeo> http://www.assembla.com/user/best_profile/dxUzeMKqWr25QeaaeP0Qfc
22:17:38 -!- jix has quit ("CommandQ").
22:19:11 <ehird> ahh yes
22:19:11 <ehird> for Blink
22:19:41 <Sgeo> Blink?
22:20:01 <ehird> a quite old project of mine
22:20:06 <ehird> it was a CMS built on Rails, minimal
22:20:08 <ehird> designed to run my site
22:20:13 <ehird> it was based on blocks and views..
22:20:25 <ehird> a block is a hunk of content, like a page or blog post or a picture with text or anything
22:20:34 <ehird> a view specified how they were displayed, and could be controlled with ruby code
22:20:44 <ehird> and you could have parent views and stuff
22:20:54 <ehird> so you could have a 'site' view which displayed the menu and header and footer
22:21:00 <ehird> then a 'blog' view which had that as the parent
22:21:09 <ehird> and some small ruby code to tell it what blocks to dispaly and how.
22:21:24 <ehird> it never got far
22:22:19 <Sgeo> Sounds interesting.. why didn't it get far?
22:23:02 <ehird> Sgeo: 1. Rails sucks 2. I am really terrible at keeping projects going
22:24:08 <ehird> Sgeo: But basically the same idea has carried throughout various languages and mindsets and I still plan to make somthing like it for my site.
22:24:15 <ehird> I think the timeline is:
22:24:25 -!- lispy has quit (Read error: 110 (Connection timed out)).
22:24:37 <ehird> Blink, <nothing for a while>, Alchemy, various Alchemys (Alchemii?), <nothing for a while>, <current plans>
22:26:17 <Sgeo> What CMSs are there for Python?
22:26:42 -!- timotiis has quit (Remote closed the connection).
22:31:15 -!- timotiis has joined.
22:31:35 -!- oerjan has joined.
22:31:59 <Sgeo> re timotiis hi oerjan
22:32:27 <oerjan> hello
22:33:24 <timotiis> hallo
22:34:03 <oerjan> ehird: i changed the topic back when lispy arrived and didn't know what we were - thought it might be an idea to tell it in the topic :)
22:34:14 <ehird> Sgeo: no good ones
22:34:18 <ehird> in fact, cmses full stop suck
22:34:25 <ehird> they are either bloated or restricted.
22:35:51 <Sgeo> ehird, whachu working on?
22:36:52 <BMeph> So FALSE isn't considered esoteric anymore?
22:37:15 <ehird> BMeph: uhm
22:37:19 <ehird> since when
22:38:07 <BMeph> I didn't see it in EgoBot's list, there.
22:39:30 <ehird> It doesn't interpret all languages..
22:39:42 <ehird> esolangs.org/wiki/Language_list
22:40:07 <Sgeo> And last I checked, EgoBot wasn't PSOX enabled
22:41:54 <BMeph> Hmm, so MoinMoin is a wiki engine, that's used for CMS. I think that says more about CMS tech than anything else.
22:43:58 <ehird> moinmoin sucks
22:45:42 -!- RedDak has quit ("I'm quitting... Bye all").
22:58:17 -!- ihope has joined.
22:58:29 <ihope> Rice toes.
23:02:03 <ehird> Tice roes.
23:19:40 <oklopol> göa
23:20:05 -!- bsmntbombdood has quit (Remote closed the connection).
23:20:45 -!- bsmntbombdood has joined.
23:32:13 -!- ehird`_ has joined.
23:32:30 <ihope> And what's a göa?
23:34:24 <Sgeo> nohird
23:36:40 * oerjan tried googling it but had no success
23:36:55 <oerjan> even limiting to swedish pages
23:37:11 <oerjan> problem is google doesn't distinguish it from "goa" properly
23:38:15 <oerjan> ah exact match is better
23:38:49 <oerjan> bah the top hits seem misspellings of "gra"
23:40:19 <oerjan> perhaps it is not an actual word
23:40:28 <oklopol> you'd think.-
23:40:34 <oerjan> it _does_ seem like it could be cognate to the norwegian "gj"
23:40:59 <oklopol> dig deeper.
23:42:30 <oerjan> which means feeding or dogs barking
23:46:04 * Sgeo randomly asks if it's a swear word
23:46:22 <oerjan> mind you that one is not easy to find either
23:46:51 <oerjan> i am tending towards believing "ga" is at best a deliberate misspelling
23:46:54 <oerjan> especially in the context
23:48:06 <pikhq> oerjan: Is 'gora' of any relation to Agore? :p
23:48:10 <pikhq> Agora, even.
23:48:38 <oerjan> doubtful. it means to do or make
23:49:06 <oerjan> norwegian "gjre"
23:52:36 <ihope> Agora is named after the Agora, isn't it?
23:52:55 <oerjan> i should think so
23:53:23 -!- ehird has quit (Read error: 113 (No route to host)).
23:55:02 <oerjan> (actually there is a subtle difference between norwegian and swedish there - norwegian rarely uses it to mean "make", only "do")
23:57:09 <ihope> Any relation to the Spanish word "hacer"?
23:57:21 <ihope> That means to do or make.
23:57:38 <oerjan> from latin facere
23:57:55 <oerjan> i am not sure but i _think_ latin f can correspond to germanic g
23:58:05 <oerjan> via indoeuropean gh
23:58:12 <ihope> Cool.
23:58:24 <oerjan> ah no
23:58:40 <ihope> I think I also remember f corresponding to h somewhere... oh, right here.
23:58:40 <oerjan> wikipedia says facere is cognate to "do", rather
23:58:55 <oerjan> latin f -> spanish h, yes
23:59:04 <ihope> The word "do" comes from the word "facere"?
23:59:10 <oerjan> dh -> f in latin, d in germanic
23:59:24 <ihope> My.
←2008-02-16 2008-02-17 2008-02-18→ ↑2008 ↑all