←2007-08 2007-09 2007-10→ ↑2007 ↑all
2007-09-01
00:01:40 -!- oerjan has joined.
00:03:31 * bsmntbombdood will have (hopefully cool) pictures soon
00:04:31 <SimonRC> of what?
00:05:07 <bsmntbombdood> a drain
00:10:20 * oerjan has been trying to avoid jokes about bsmntbombdood going down the drain, to no avail
00:11:49 <bsmntbombdood> i'm impervious
00:12:12 <bsmntbombdood> http://abacus.kwzs.be/~bsmntbombdood/pic_1.jpg
00:12:49 <bsmntbombdood> http://abacus.kwzs.be/~bsmntbombdood/pic_2.jpg
00:15:39 <bsmntbombdood> http://abacus.kwzs.be/~bsmntbombdood/pic_3.jpg
00:16:53 <oerjan> who's that?
00:17:25 <bsmntbombdood> gah
00:17:30 <bsmntbombdood> i didn't mean to upload that one
00:17:57 <bsmntbombdood> he's a guy we went with
00:18:26 <oerjan> he looked a bit old to be in high school :)
00:20:45 -!- ehird` has quit.
00:21:44 * SimonRC fails to recall the language based on brownian motion
00:22:13 <oerjan> noit o'mnain worb?
00:22:53 <bsmntbombdood> pic_4.jpg, 5,6,7
00:22:57 <SimonRC> I looked at that in a list, but rejected it
00:23:00 <SimonRC> :-(
00:23:01 <bsmntbombdood> and 3 is now the one i wanted it to be
00:24:58 -!- ihope__ has joined.
00:33:54 <SimonRC> why did you go down there?
00:34:58 <bsmntbombdood> for fun?
00:36:32 <SimonRC> how did you get in there?
00:36:37 <SimonRC> you can't do that round here
00:36:43 <SimonRC> (they are all to small for a start)
00:36:46 <bsmntbombdood> the outfall
00:36:50 <SimonRC> and too full of shit
00:37:07 <bsmntbombdood> storm sewer, not sanitary sewer
00:37:23 <SimonRC> well there aren't any of those round here
00:37:42 <SimonRC> how did you find the entrance in the end?
00:37:43 <bsmntbombdood> where are you?
00:37:51 <SimonRC> uk
00:37:58 <bsmntbombdood> there's some FANTASTIC drains in london
00:38:09 <SimonRC> not too near
00:38:17 <SimonRC> and I suspect nottoo legal
00:38:34 <SimonRC> like, ZOMG terrism
00:39:09 <bsmntbombdood> the uk has really lax trespassing laws doesn't it?
00:39:12 <bsmntbombdood> http://abacus.kwzs.be/~bsmntbombdood/hdr_pole_small.png
00:42:06 <bsmntbombdood> http://www.silentuk.com/
00:42:08 <bsmntbombdood> ^^
00:42:37 -!- ihope_ has quit (Read error: 110 (Connection timed out)).
01:30:10 -!- ihope__ has quit (Read error: 104 (Connection reset by peer)).
01:41:19 <SimonRC> zzzzzzzzzzzzzz
01:41:42 <oerjan> cccccccccccccc
02:17:09 <ihope> xxxxxxxxxxxxxx
02:17:39 <ihope> I'm guessing the next one is vvvvvvvvvvvvvv, followed by cccccccccccccc again.
02:17:49 <ihope> Then bbbbbbbbbbbbbb.
02:21:01 <bsmntbombdood> no
02:42:09 <ihope> Was xxxxxxxxxxxxxx supposed to be bbbbbbbbbbbbbb?
02:42:25 <ihope> Followed my mmmmmmmmmmmmmm, followed by ..............?
02:43:11 * oerjan wishes to deny that he considered keyboard placement when selecting c
02:44:13 <oerjan> in fact unpronouncability was higher on the priority list
02:46:32 <oerjan> i recall discarding y,a, and m at least. the details are rather vague and were so already at the time.
02:52:04 <ihope> Ah.
02:52:21 <ihope> But yyyyyyyyyyyyyy is so unobviously pronounced.
02:52:36 <ihope> Unless you pronounce it "Eeeeeeeeeeeeeeeeeeeeeeeeeeee!"
02:52:49 <oerjan> not to a norwegian :)
02:55:33 <ihope> How would a Norwegian pronounce it?
03:03:30 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
03:14:05 <oerjan> front upper rounded with protruded lips
03:40:42 -!- ihope has quit ("Lost terminal").
05:46:10 -!- poiuy_qwert has joined.
05:53:17 -!- GreaseMonkey has joined.
06:28:09 -!- poiuy_qwert has quit.
07:39:41 -!- GreaseMonkey has quit ("Man who stand in frond of car is tired. Man who stand behind car is exhausted.").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:28:16 -!- oerjan has quit ("Good night").
09:53:07 -!- sebbu has joined.
11:30:55 -!- ehird` has joined.
11:41:53 <ehird`> i think i will start on that optimizes-to-hell BF compiler i was going to work on
12:18:37 -!- jix_ has joined.
12:41:40 -!- sebbu has quit (Success).
12:51:12 -!- ehird` has quit ("Pong timeout").
12:54:26 -!- sebbu has joined.
13:13:08 -!- ehird` has joined.
15:18:08 -!- importantshock_ has joined.
15:18:11 -!- importantshock_ has quit (Remote closed the connection).
15:18:28 -!- importantshock has joined.
15:25:33 -!- Tritonio has quit (Read error: 110 (Connection timed out)).
15:26:44 -!- Tritonio has joined.
15:52:25 -!- importantshock_ has joined.
16:04:53 -!- importantshock- has joined.
16:14:20 -!- importantshock-_ has joined.
16:16:08 -!- importantshock_ has quit (Read error: 113 (No route to host)).
16:53:30 -!- importantshock-- has joined.
17:00:10 -!- importantshock-- has quit.
17:00:10 -!- importantshock- has quit (Remote closed the connection).
17:00:10 -!- importantshock-_ has quit (Remote closed the connection).
17:00:10 -!- importantshock has quit (Remote closed the connection).
17:00:19 -!- importantshock-- has joined.
17:00:54 -!- importantshock-- has changed nick to importantshock.
17:34:00 -!- importantshock has quit ("Leaving...").
17:37:41 -!- sebbu2 has joined.
17:50:44 -!- sebbu has quit (Nick collision from services.).
17:50:45 -!- sebbu2 has changed nick to sebbu.
18:04:22 -!- sebbu2 has joined.
18:09:03 -!- jix_ has quit (Read error: 113 (No route to host)).
18:11:13 -!- jix_ has joined.
18:23:28 -!- Tritonio has quit (Remote closed the connection).
18:23:50 -!- sebbu has quit (Connection timed out).
18:27:19 -!- Tritonio has joined.
18:41:59 -!- importantshock has joined.
18:43:04 <importantshock> howdy pikhq
18:43:48 <oklopol> o
19:12:07 -!- sebbu2 has changed nick to sebbu.
19:16:38 -!- importantshock has quit ("Leaving...").
19:40:35 -!- mordaunt has joined.
20:10:44 -!- mordaunt has left (?).
22:36:08 -!- clog has joined.
22:36:08 -!- clog has joined.
22:47:38 -!- importantshock has quit ("Leaving...").
22:58:31 -!- RedDak has quit (Remote closed the connection).
23:25:37 <oklopol> gimme a big math expression
23:25:37 <oklopol> !
23:25:42 <EgoBot> Huh?
23:25:57 <oklopol> !rndmath
23:25:59 <EgoBot> Huh?
23:35:03 <bsmntbombdood> \exist \mathbf{N}: \varnothing \in \mathbf{N} \and (\forall x: x \in \mathbf{N} \implies x \cup \{x\} \in \mathbf{N})
23:44:26 <oklopol> :<
23:44:31 <oklopol> i meant like 5+3!
23:44:43 <oklopol> no predicate logic or whaddyacallit
23:45:03 <bsmntbombdood> heh
23:45:04 <bsmntbombdood> why?
23:45:12 -!- ololobot has joined.
23:45:16 <oklopol> i wanna try that out
23:45:27 <oklopol> i don't know anything that does random expressions
23:45:28 <oklopol> i mean
23:45:31 <oklopol> generates them
23:45:42 <oklopol> and i just simply cannot make them manually
23:45:48 <oklopol> "just simply"
23:46:03 <oklopol> they always come out square, you know
23:46:44 <oklopol> >>> in-fi 5+6+7
23:46:44 <ololobot> 5 + 6 + 7
23:46:52 <oklopol> infix -> finefix convertor
23:46:56 <oklopol> >>> in-fi 5+(6+7)
23:46:56 <ololobot> 5 6 + + 7
23:47:13 <oklopol> my extension to infix
23:48:08 <bsmntbombdood> finefix?
23:48:09 <oklopol> haven't made a formal proof it's as strong as postfix, though i'm fairly sure it is, being conceptually pretty much the same thing...
23:48:14 <oklopol> my extension to infix.
23:48:29 <oklopol> because infix wasn't "nesting complete"
23:48:36 <oklopol> i don't know if there's a real term for that
23:48:43 <oklopol> but you can't do implicit nesting with it
23:48:55 <bsmntbombdood> huh?
23:49:07 <oklopol> 5+(5+5), you cannot eliminate the parens
23:49:13 <oklopol> well in that case you can
23:49:15 <bsmntbombdood> and, i've just died many firey death's in google earth's flight simulator
23:49:16 <oklopol> but not generally
23:49:23 <oklopol> :D
23:49:29 <oklopol> i thought you can't die in that...
23:49:42 <bsmntbombdood> oh you can
23:49:48 <oklopol> cewl
23:49:55 <oklopol> guess i have to do >>> rand-expr
23:50:22 <oklopol> plus i could let you specify the objoken regexes and the funcoken regexes
23:50:29 <oklopol> also, i should stop using my own terms
23:50:46 <oklopol> objoken = token that's parsed as a value
23:50:56 <oklopol> i don't know the terms for anything thattish
23:51:05 <oklopol> since i haven't seen anything written about parsing really...
23:51:43 <oklopol> anyone made an irc server?
23:51:53 <oklopol> i thought i'd write one now
23:52:00 <bsmntbombdood> (a + b) * (x - y) * z + a*(x + t)
23:52:12 <oklopol> hmm... i'm fairly sure you can only do numbers :|
23:52:19 <oklopol> because of the regexes
23:52:27 <bsmntbombdood> i are not good pilot
23:52:40 <oklopol> >>> in-fi (1 + 2) * (3 - 4) * 5 + 1*(3 + 6)
23:52:41 <ololobot> 1 + 2 3 * - 4 * 5 1 3 + * + 6
23:52:52 <oklopol> that's pretty... readable
23:52:59 <oklopol> D
23:52:59 <oklopol> :D
23:53:18 <pikhq> Looks like syntactic sugar around parens.
23:53:31 <pikhq> Or not?
23:53:44 <oklopol> well yes, but so are post-/prefix...
23:53:56 <pikhq> Hmm. What, exatly, *is* the syntax?
23:54:00 <oklopol> basically that's the idea.
23:54:44 <oklopol> hmm
23:54:53 <oklopol> finefix is based on infixifying postfix
23:54:56 <pikhq> It looks like some parts are postfix, some are infix. . .
23:55:05 <pikhq> Hmm. Impossible to parse?
23:55:10 <oklopol> no
23:55:15 <oklopol> stack-based parsing as in postficx
23:55:17 <oklopol> *postfix
23:55:28 <oklopol> i'll upload the "spec" soon
23:55:33 <pikhq> >> fi-in 1 + 2 3 * - 4 * 5 1 3 + * + 6
23:55:39 <pikhq> >>> fi-in 1 + 2 3 * - 4 * 5 1 3 + * + 6
23:55:45 * pikhq hopes you've bothered with that
23:55:53 <pikhq> Guess not.
23:56:04 <oklopol> the conversion is also based on postfix, just shift every sequence of funcokens left one step
23:56:16 <oklopol> funcoken = +, - etc
23:56:23 -!- ehird` has quit.
23:56:24 <oklopol> also, you have to reverse them
23:57:19 <oklopol> you can immediately have 4 variations of infix depending on whether to base around prefix or postfix and whether to reverse functions when you are "evaluating lazily"-ish
23:57:56 <oklopol> evaluating lazily = leaving something on the stack when encountering a token
23:58:18 <oklopol> infix without explicit nesting, normally parsed, never does that
23:58:26 <oklopol> which is why it's not "nesting complete"
23:58:33 <oklopol> pikhq: also, the command is in-fi
23:58:34 <bsmntbombdood> wtf?!!
23:58:46 <oklopol> ah
23:58:46 <bsmntbombdood> i quat gearth and now it won't let me simulate flight again
23:58:47 <oklopol> oh
23:58:55 <oklopol> i haven't done the other way around yet
23:59:00 <oklopol> >>> in-po
23:59:02 <oklopol> >>> in-po 3+5
23:59:02 <ololobot> 3 5 +
23:59:06 <oklopol> >>> in-pr 3+5
23:59:06 <ololobot> + 3 5
23:59:09 <oklopol> i did those
23:59:17 <pikhq> oklopol: I was trying to do the *inverse*.
23:59:38 <oklopol> but since i didn't make an actual good "fix" parsing library, those are all separate functions, which i had to make
2007-09-02
00:00:08 <oklopol> making all in/po/pr/fi - conversions would be 12
00:00:26 <oklopol> and that's a bit tedious when i could just wrap over prefix and have one for each
00:00:58 <oklopol> also, i'm going to generalize fixes when i have the time, and just have >>> convert <fix code>-<fix code> <expression>
00:01:46 <oklopol> plus the regex thing for specifying what's ws and what's objoken/funcoken, but i said that already
00:01:59 <oklopol> anyway, did anyone ever make a server?
00:02:01 <oklopol> irc server
00:02:34 <oklopol> pikhq: i know what you were trying to do, but just right after i'd first misunderstood and already replied :)
00:03:39 <oklopol> the inverse is pretty trivial if you don't sweat about redundant parens
00:05:18 <oklopol> how the fuck can a simple server-client code be over 10 lines long o_O
00:05:25 <oklopol> isn't python supposed to be concise...
00:07:33 <bsmntbombdood> WHY can't i fly this plain
00:07:51 <pikhq> A simple Tcl server is 7 lines. . .
00:07:58 <pikhq> http://wiki.tcl.tk/15315
00:08:08 -!- sebbu has quit ("@+").
00:08:23 <pikhq> Just a proc to accept new connects, bind the proc to a socket, and start the event loop. Easy.
00:08:36 <bsmntbombdood> that's not irc...
00:08:50 <oklopol> no, but that's a server
00:09:09 <oklopol> and irc server code is long of course
00:09:12 <pikhq> And oklopol was talking about barebones "accepts connections and does something" servers.
00:09:31 <pikhq> Well, yeah. Just getting the IRC parser & lexer up is a nice chunk of code.
00:09:36 <oklopol> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/200946 <<< like wtf is that
00:09:58 <oklopol> okay
00:10:02 <pikhq> Then you've got to get various parts of the server talking to each other, keeping state of which channels a person is in. . . Bit of a pain.
00:10:20 <pikhq> Wow, that's difficult.
00:10:29 <oklopol> that's not that long if you actually read it... but it's just server/client really isn't a task at all
00:10:40 <oklopol> it should be like WAITFOR <port number>
00:10:45 <pikhq> I *did* read it.
00:10:46 <oklopol> and CONNECT <port number>
00:11:07 <pikhq> Seems a bit excessive for to be Pythonic.
00:11:33 <pikhq> (admittedly, it's got a bit more than the Tcl example. . .)
00:11:58 <bsmntbombdood> i bet i could write an irc server in 100 lines in scchemes
00:12:06 <pikhq> Good luck with that.
00:12:16 <pikhq> I bet you'll need more for the IRC parser.
00:12:25 <oklopol> hmm... doubt that
00:12:30 <oklopol> split(" ")
00:12:32 <oklopol> :)
00:12:46 <oklopol> (i know, i know)
00:13:01 <bsmntbombdood> irc parsing in like 5 lines
00:25:36 <oklopol> kay... 6 lines and i have a connection
00:26:51 -!- ololobot has quit (Read error: 104 (Connection reset by peer)).
00:26:55 <oklopol> whoooops :D
00:27:25 -!- ololobot has joined.
00:36:34 <pikhq> bsmntbombdood: Dubious.
00:36:46 <pikhq> (well, unless you cheat, the Bison way. :p)
00:37:43 <bsmntbombdood> ?
00:38:11 <pikhq> Just specify the BNF syntax, and let some tool (or function) automagically parse from that.
00:38:26 <bsmntbombdood> irc syntax is regular
00:38:40 <bsmntbombdood> no need for bnf...
00:38:57 <pikhq> Oh, right.
01:50:28 -!- importantshock has joined.
01:58:31 <bsmntbombdood> yay i infinite looped my google earth plane
02:01:21 <bsmntbombdood> argh that's lame
02:01:42 <bsmntbombdood> it's says it can accelerate while going straight up, but it won't let me
02:18:51 <bsmntbombdood> and the maximum speed is only mach 1.3, not mach 2
02:28:49 <oklopol> wtf... in which case would print "m ========",m leave "m " out, like refuse to print the first characters of "m ========"
02:29:20 <oklopol> i'm doing a fucking string catenation and everything gets fucked up
02:29:51 -!- RodgerTheGreat has joined.
02:29:56 <RodgerTheGreat> howdy, everyone!
02:30:02 <RodgerTheGreat> I'm back from vacation!
02:30:02 <bsmntbombdood> finally!
02:30:09 <RodgerTheGreat> really?
02:30:13 <RodgerTheGreat> I was missed?
02:30:42 <oklopol> http://www.vjn.fi/pb/p513215652.txt <<< is there really something that can fuck up?
02:30:47 <oklopol> RodgerTheGreat: good to see you
02:32:17 <oklopol> the lines that should print "m = ..." fail to print "m "
02:32:33 <oklopol> and m=m+msg appends msg to the beginning of m
02:32:43 <oklopol> unless i'm really failing here, python is
02:33:19 <pikhq> The 3rd is the official PEBBLEversery.
02:35:52 <RodgerTheGreat> cool
02:36:21 <RodgerTheGreat> what are you going to do to celebrate, pikhq?
02:36:24 <pikhq> No idea.
02:36:32 <pikhq> Kinda nice that it's a Labor day, though.
02:37:19 <RodgerTheGreat> yeah
02:37:31 <RodgerTheGreat> almost as if everyone else is celebrating the anniversary with you
02:37:36 <pikhq> Hahah.
02:37:41 <RodgerTheGreat> with a little denial, you can have a great time
02:37:42 <pikhq> Way to go, US!
02:40:26 <oklopol> YAY, just learned the important lesson of never putting chr(13) in a python string...
02:47:50 <oklopol> basically, i debugged a function that catenates 2 strings and prints them for 2 ohurs
02:47:52 <oklopol> *hours
02:48:53 <oklopol> well, a bit over an hour, but anyway
02:49:34 <RodgerTheGreat> I've done things worse than that. Let me tell you a tale of a mergesort...
02:50:20 <RodgerTheGreat> my function started from a randomized array, made a copy, did shit, and then copied the sorted data back and returned the array (reasons for why become complicated.)
02:50:34 <RodgerTheGreat> anyway, I implement a mergesort... and it doesn't work
02:51:06 <RodgerTheGreat> 6 frustrating hours and at least 4 total rewrites later, I realize the problem wasn't with the SORT, I was copying back that wrong damn array!
02:54:20 <RodgerTheGreat> the lesson: when you start over on something, make sure you're starting over on all the right parts
02:54:48 <RodgerTheGreat> also, if I'd been smart enough to display more intermediate results on that one I might've figured it out faster
02:55:18 -!- Tritonio has quit (Remote closed the connection).
02:58:22 <oklopol> i had absolutely no idea where the problem could be... since i didn't know that chr(13) sometimes does carriage return and starts appending in the beginning of the string
02:58:37 <oklopol> "sometimes", because in my test runs, it doesn't do that
02:59:01 <oklopol> >>> print "oko"+chr(13)+"odo"
02:59:02 <oklopol> oko
02:59:27 <oklopol> but then again, why would it always work the same way
02:59:33 <oklopol> that'd be boring
03:00:57 <oklopol> also, i've been debugging for quite a while now just because i didn't bother to check what mirc SHOULD output @ connect
03:01:08 <oklopol> i just assumed it says something for every server reply
03:01:17 <oklopol> but nooooo, it just says for the first one
04:26:11 -!- poiuy_qwert has joined.
04:41:24 <oklopol> bsmntbombdood: i'm pretty sure you couldn't make an irc server that follows the spec completely in 100 lines
04:41:35 <oklopol> since there are over 100 lines of responces
04:41:43 <RodgerTheGreat> hm...
04:42:21 <RodgerTheGreat> depends on the language and the definition of a "line"
04:42:35 <oklopol> my irc server works now, though you can just join and change nick :P
04:42:44 <oklopol> and privmsg of course
04:42:59 <oklopol> RodgerTheGreat: usually line is 88 chars at most iirc
04:43:08 <oklopol> in shortness competitions
04:43:35 <RodgerTheGreat> hm
04:43:48 <oklopol> RodgerTheGreat: connect to my ip and join #test :P
04:44:09 <RodgerTheGreat> in a couple 20-line coding challenges, I've seen line defined as 255 characters or less
04:44:21 <oklopol> well that would be more sensible
04:44:31 <oklopol> i just recall it was 8x...
04:44:32 <RodgerTheGreat> usually with a max of 15 keywords or something like that
04:44:39 <RodgerTheGreat> maybe 80, like a terminal?
04:44:42 <oklopol> anyway, connect now! :)
04:44:44 <oklopol> yeah prolly
04:44:49 <RodgerTheGreat> alright, gimme a sec
04:45:02 <oklopol> you can't even /part yet :D
04:45:24 <oklopol> and i'm not sure if all clients will even work...
04:45:27 -!- rutlov has joined.
04:46:12 <RodgerTheGreat> normal IRC port?
04:46:16 <oklopol> 6667
04:46:18 <oklopol> yeah
04:46:20 <RodgerTheGreat> okles
04:50:27 -!- rutlov has left (?).
05:03:24 <RodgerTheGreat> http://en.wikipedia.org/wiki/Centralia%2C_Pennsylvania <- interesting article
05:03:53 <RodgerTheGreat> "There are no current plans to extinguish the fire, which is consuming an eight-mile seam containing enough coal to fuel it for 250 years."
05:05:03 <RodgerTheGreat> good night, everyone
05:05:55 <pikhq> Bonan nokton.
05:19:59 <pikhq> Everyone complains about the weather, but nobody does anything about it.
05:20:12 <pikhq> All in favor of designed a weather control device?
05:56:08 <oklopol> yeah, we need more rain
05:56:56 <bsmntbombdood> i meant line as wherever you normally put lines
05:58:59 <pikhq> We need to steal _Back to the Future, Part II_'s entire tech tree.
05:59:34 <bsmntbombdood> arr, no movies downloaded yet
05:59:54 <pikhq> (if nothing else, I want a flux capacitor)
06:06:15 -!- importantshock has quit (Remote closed the connection).
06:15:45 -!- jix_ has quit (Nick collision from services.).
06:16:03 -!- jix__ has joined.
06:27:43 <pikhq> Permission requested to change the topic in honor of PEBBLEversery on the 3rd. . .
06:37:32 <oklopol> PEBBLE!
06:38:47 * pikhq nods
07:54:23 -!- poiuy_qwert has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:20:58 -!- Tritonio has joined.
09:06:34 -!- sebbu has joined.
09:31:38 -!- sebbu2 has joined.
09:37:15 -!- sebbu has quit (Connection timed out).
09:37:16 -!- sebbu2 has changed nick to sebbu.
09:56:11 -!- RedDak has joined.
10:43:34 -!- RedDak has quit (Remote closed the connection).
12:12:57 -!- ehird` has joined.
12:30:51 -!- Tritonio has quit (Read error: 104 (Connection reset by peer)).
12:48:10 -!- Tritonio has joined.
13:09:17 <ehird`> this is not happening
13:09:25 <ehird`> my site i made in 10 minutes is #1 on digg.
13:09:29 <ehird`> http://digg.com/playable_web_games/The_Most_Pointless_Website_Ever
13:11:08 <oklopol> wtf
13:11:20 <oklopol> are there 100 hits a second :|
13:12:10 <ehird`> login and look at the counter
13:12:16 <ehird`> (registering is just user and pass)
13:12:20 <ehird`> you can see the highscores going up
13:12:20 <ehird`> its crazy
13:12:24 <oklopol> i have logged in
13:12:27 <ehird`> ok
13:12:29 <ehird`> well yeah
13:12:34 <oklopol> that's... unbelievable :|
13:12:36 <ehird`> there are like 50 people logged into the digg account
13:12:42 <ehird`> i have no idea how it got to #1
13:12:47 <ehird`> but shit, im #1 on digg's front page.
13:13:04 <oklopol> how did you get ppl to know that page existed?
13:13:18 <ehird`> it started off in an irc channel
13:13:25 <ehird`> then i posted it on the forum whose irc channel it is
13:13:28 <ehird`> then someone posted it to digg
13:13:34 <ehird`> then other people on the forum digged it, then random people digged it
13:13:41 <ehird`> then it exploded
13:13:46 <ehird`> and got on the frontpage at the top
13:13:46 <oklopol> :DD
13:14:01 <ehird`> and i am very noble, not adding ads or anything
13:14:19 <ehird`> i want to code that shoutbox but i can't because it freezes the interface
13:14:20 <ehird`> :(
13:14:23 <ehird`> and i doubt all of them will refresh
13:14:47 <oklopol> darn
13:16:43 <oklopol> omg
13:16:50 <oklopol> i refreshed and the page died :P
13:18:58 <ehird`> i fixed it
13:19:00 <ehird`> in about 2 seconds
13:22:04 <oklopol> does the shoutbox work?
13:22:06 <oklopol> i mean
13:22:09 <oklopol> should it work now
13:22:42 <ehird`> no
13:22:44 <ehird`> it will soon
13:51:55 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)).
13:56:27 <ehird`> oh dear
13:56:29 <ehird`> /b/ found it
13:57:05 <oklopol> .D
13:57:05 <oklopol> :D
14:03:51 -!- RedDak has joined.
14:20:37 <oklopol> 160 or something per second
14:25:16 -!- RedDak has quit (Remote closed the connection).
14:36:16 -!- importantshock has joined.
14:40:41 -!- importantshock_ has joined.
14:40:53 -!- importantshock has quit (Nick collision from services.).
14:40:55 -!- importantshock_ has changed nick to importantshock.
14:57:40 <RodgerTheGreat> whoops
14:57:48 <RodgerTheGreat> 'morning, folks
14:58:29 <importantshock> \hey RodgerTheGreat
15:16:45 <oklopol> pikhq: is there gonna be network support for PEBBLE using that Sgeo's thing?
15:22:50 <pikhq> oklopol: Eventually.
15:23:29 <RodgerTheGreat> pikhq: I challenge you, sir, to create both an IRC client and server in PEBBLE
15:24:37 -!- sebbu2 has joined.
15:26:05 <oklopol> perhaps at least not before that thing exists
15:33:22 -!- sebbu has quit (Read error: 110 (Connection timed out)).
15:35:29 <pikhq> RodgerTheGreat: Evil. . .
15:35:36 <pikhq> I like it. :p
15:35:41 <RodgerTheGreat> yup
15:35:58 <RodgerTheGreat> it's the kind of idea I'm good at.
15:36:08 * importantshock hurts just thinking about that
15:37:11 <RodgerTheGreat> I dunno, *doing* it in PEBBLE shouldn't be all that horrible, but debugging it will be pure hell
15:39:39 <RodgerTheGreat> bbl
15:44:15 -!- sebbu has joined.
15:44:49 -!- sebbu has left (?).
15:49:02 -!- sebbu2 has quit (Connection timed out).
16:05:36 <oklopol> ehird`: the counter moves pretty fast, ay?
16:05:56 <oklopol> oh
16:06:03 -!- ihope has joined.
16:06:05 <oklopol> you took down my favorite game :<
16:06:30 <ihope> Hey, bsmntbombdood is missing.
16:06:56 <oklopol> that was a fast set subtraction
16:36:08 <ehird`> oklopol: sorry, but i like my server
16:36:32 <ehird`> THINGS WE HAVE LEARNED TODAY:
16:36:42 <ehird`> - digg users are automated bots with no natural processing power
16:36:59 <ehird`> - /b/ users have natural processing power but only use it for emulating automated bots with no natural processing power
16:36:59 <ihope> What's "natural" processing power?
16:37:09 <ehird`> ihope: processing power in the brain, not e.g. a cpu
16:37:20 <ehird`> Monthly Transfer: 10.36 GB (4.86 transmit / 5.51 receive)
16:37:21 * ihope nods
16:37:23 <ehird`> .36 over the limit!
16:37:25 <ehird`> In ONE DAY!
16:37:31 <ehird`> Yesterday it was 0.3
16:37:42 <ehird`> So 10gb in that short time!
16:38:10 <oklopol> oh :P
16:39:24 <ehird`> wow
16:39:24 <ehird`> Elliott,
16:39:25 <ehird`> I enjoyed Counter. Thank you!
16:39:25 <ehird`> I was me/Davman
16:39:26 <ehird`> Dave
16:39:27 <ehird`> -- email
16:39:34 <oklopol> :DD
16:39:35 <oklopol> fanmail
16:39:40 <ehird`> XD
16:41:26 <oklopol> god there's a lot to do in the irc server spec
16:41:49 <oklopol> i mean
16:41:56 <oklopol> that's not even the server-server spec
16:42:00 <oklopol> http://www.irchelp.org/irchelp/rfc/rfc2812.txt <<< server-client spec
16:42:16 <oklopol> even that has a LOT of shit
16:42:21 <ehird`> irc clients = simple
16:42:26 <ehird`> irc servers = not
16:42:29 <oklopol> yeah
16:42:51 <oklopol> i think i'll gradually grow mine to be closer and closer to the spec
16:45:26 <oklopol> it actually already has almost everything you need for irc...
16:45:38 <oklopol> join/part/privmsg
16:45:46 <oklopol> and whois
16:47:04 <ihope> What ever happened to RFC 1459?
16:47:57 <oklopol> that's old?
16:48:09 <oklopol> people die when they get old
16:52:59 <ihope> Hmm.
16:53:10 <ihope> So there are entirely new IRC specs now?
16:54:56 <oklopol> pretty much the same
16:54:59 <oklopol> just update
17:01:31 <ihope> Well, yes. New, but not entirely.
17:14:02 <oklopol> in python, can i delete the value the iterator poits to from the iterated thingie when doing a for loop
17:14:31 <RodgerTheGreat> well, you can't do that in most languages with iterators...
17:14:59 <oklopol> java!
17:15:16 <oklopol> glargh, it's such a frequent thing
17:15:49 <RodgerTheGreat> wouldn't it make more sense to break, or am I misunderstanding the question?
17:16:06 <oklopol> whut?
17:16:14 <oklopol> to... break?
17:16:33 <oklopol> i need to remove the current iterator value from the container
17:16:56 <ihope> Um...
17:17:22 <ihope> Would I understand this better if I'd previously known that iterators pointed to things?
17:17:52 <oklopol> like, i have [1,2,3], i iterate it through, and if i find 2, i remove it
17:18:04 <oklopol> and am left with [1,3]
17:18:07 <RodgerTheGreat> erm...
17:18:18 <RodgerTheGreat> that is *not* how iterators should be used at all
17:19:02 <oklopol> tell me a better way
17:19:10 <ihope> My guess is you want either a list comprehension or the filter function.
17:19:20 <oklopol> yes, if i do that functionally
17:19:29 <RodgerTheGreat> I would just iterate through the list manually- I mean, fuck iterators, really
17:20:02 <RodgerTheGreat> all they do is hide a FOR loop from you
17:20:18 <oklopol> i don't wanna duplicate the whole container every time i do this, so i don't want filter
17:20:33 <RodgerTheGreat> 'course, I'm the nutcase that regularly implements his own stacks inside objects simply because it seems easier that way
17:20:35 <oklopol> i want to do a constant time delete.
17:20:38 <oklopol> well
17:20:44 <oklopol> it's not a constant time delete anyway
17:20:51 <oklopol> but whaddyagonna do, it's python
17:21:04 <RodgerTheGreat> constant time delete = constant time find = hashmap
17:21:13 <oklopol> yarr
17:21:16 <oklopol> well
17:21:23 <ihope> So you have a variable containing [1,2,3] and you want to change it to [1,3]?
17:21:30 <ihope> Or, you know, something similar.
17:21:30 <oklopol> i guess i could make a hashing for my objects and have that
17:21:57 <oklopol> ihope: i want iterators to be removable from whatever they're iterating through
17:21:58 <RodgerTheGreat> see, my first guess would be to just remove the 2 from the *original* list, rather than trying to pull it out of the iterator
17:22:13 <RodgerTheGreat> but when you do it that way there's no advantage to using iterators in the first place
17:22:26 <oklopol> well yeah, i could just make another container and copy everything but 2 there
17:22:41 <RodgerTheGreat> not really what I meant, but that works too
17:22:50 <oklopol> what did you mean then?
17:23:24 <oklopol> i don't really care what iterators should be used for, all i know is i didn't want to do that functionally, but now i have to
17:23:37 <RodgerTheGreat> is python object-oriented?
17:23:41 <oklopol> ya
17:24:00 <RodgerTheGreat> then do it like you would in Java 1.4
17:26:32 <oklopol> http://www.vjn.fi/pb/p455223544.txt
17:28:21 <oklopol> hmm... i should make that for any size lists
17:28:25 <RodgerTheGreat> augh. Oh, jesus- tabs-as-block-delimeters...
17:28:28 <oklopol> i mean, any number of keys
17:29:41 <RodgerTheGreat> I think that code ought to do the trick
17:30:02 <oklopol> i know it does, it's just i feel it's a bit too much code for something that trivial :)
17:31:33 <oklopol> well, i'm pretty sure it works, and it worked when i tested it, i don't *know* it works for any case...
17:31:47 <oklopol> actually i've done one test case.
17:43:39 <oklopol> http://www.vjn.fi/pb/p225212312.txt
17:43:40 <oklopol> hihi
17:44:03 <oklopol> i love how python looks <3
17:44:13 <oklopol> when there's no ugly whitespace
17:44:18 <oklopol> cuz it goes all curly
17:46:33 <oklopol> for example that simple cartesian product... you have to hack it in with iteration and a boolean to indicate whether the thing was found
17:46:55 <oklopol> it's like 5 lines for something conceptually overtrivial
17:47:39 <oklopol> well, i guess i could just make the necessary functions myself and not expect python to have everything i need built-in
17:52:14 -!- bsmntbombdood has joined.
18:05:04 -!- sebbu2 has joined.
18:08:28 -!- sebbu2 has left (?).
18:15:27 -!- importantshock has quit (Read error: 113 (No route to host)).
18:16:24 -!- jix__ has quit (Nick collision from services.).
18:16:28 -!- jix_ has joined.
18:18:14 <ehird`> oklopol: itssss bacckkkkkk http://w.elliotthird.org/counter/
18:41:22 <oklopol> yayee
19:09:21 <ehird`> oklopol: your position in the rankings is being threatened
19:17:20 <oklopol> omg!
19:17:28 <oklopol> perhaps because i stopped playing :P
19:18:44 <oklopol> 16. now
19:24:11 <ihope> ehird`: what does that do?
19:24:24 <ihope> Is there a button people can click to make the counter go higher or something?
19:26:07 <ihope> Clearly, I should make a program that sends whatever thing to the server repeatedly.
19:27:01 <ihope> Or I could just hold down "enter".
19:28:10 <ihope> I wonder how many I have...
19:31:52 <ihope> Hmm, digg/digg is winning.
19:32:00 <ihope> Maybe I shouldn't have used a password :-P
19:32:40 <ihope> So, the main function is increment_counter().
19:32:58 <ehird`> people already do it
19:33:04 <ehird`> but if you do it on a personal account i will ban you
19:33:21 <ehird`> And yeah, the button is Increment counter and it sets the counter 1 higher.
19:33:28 <ehird`> The highscores are just the people who have clicked most.
19:33:41 <ihope> Do what on a personal account?
19:34:05 <ehird`> call the increment_counter repeatedly
19:34:09 <ihope> Oh.
19:34:17 <ehird`> i cant stop digg doing it because its many people
19:34:26 <ehird`> but anybody else - account deleted
19:34:38 <ihope> You can't delete the digg account? :-P
19:34:54 <ehird`> i can
19:34:59 <ehird`> but then digg would stop coming
19:35:03 <ehird`> and many people don't cheat on the digg account
19:35:28 <ihope> Well, I guess 3133 clicks is "the number".
19:35:53 -!- jix_ has quit ("CommandQ").
19:36:06 <ehird`> ?
19:36:08 <ehird`> oh
19:36:10 <ehird`> yeah
19:36:21 <ehird`> get to 3133 and you will be able to see your click count :p
19:38:20 <ehird`> davman is the guy who gave me fanmail for it..
19:38:43 <oklopol> hmm... i can't load the page anymore
19:38:53 <ehird`> http://w.elliotthird.org/counter/
19:38:55 <ehird`> try just clicking
19:40:14 <ihope> Yay.
19:40:24 <ehird`> you're on the highscores, ihope
19:43:19 <oklopol> i used to be, then i stopped getting connexion :<
19:44:15 <ehird`> oklopol: you're at #19
19:44:18 <ehird`> just, http://w.elliotthird.org/counter/
19:44:20 <ehird`> it should work
19:44:23 <ehird`> ping elliotthird.org or something
19:45:51 <ehird`> 119 users!
19:50:03 <oklopol> damn ihope
19:50:19 <oklopol> i hold enter down all the time and he goes up faster :)
19:50:19 <ihope> :-)
19:50:48 <oklopol> i'm on 3 networks + server my own + have torrents on + 4 bots running
19:51:04 <oklopol> that might... have something to do with it
19:51:34 -!- importantshock has joined.
19:53:00 <ehird`> hah, khauros is SO cheating
19:53:07 <ehird`> he's going up 90 per update
19:53:16 <ehird`> still, if he beats digg it'll be worth it
19:53:48 <ehird`> wow, i think he's actually gonna beat digg
19:55:02 -!- Tritonio_ has joined.
19:55:47 <oklopol> what's cheating?
19:56:11 <ehird`> javascript:function test(){increment_counter();self.setTimeout("test()",1);}test();
19:56:11 <ehird`> ^ that is cheating
19:56:23 <ehird`> it's an insta-ban-ticket unless you're about to beat digg like khauros is
19:56:26 -!- Tritonio has quit (Read error: 110 (Connection timed out)).
19:56:37 <ihope> oklopol: at least you won't have to pass me for a while :-P
19:57:23 <ehird`> can digg stories get on the front page twice?
19:58:51 -!- jix_ has joined.
19:59:08 <oklopol> i now did the non programming version of that
19:59:15 <ihope> ehird`: are you going to wait for Khauros to pass digg and then ban? :-P
19:59:21 <oklopol> have my other keyboard on the floor with a glass on top of enter :)
19:59:37 <oklopol> is that cheating?
19:59:45 <ehird`> ihope: nah, ill just tell him to stop after
19:59:48 <oklopol> it's preventing me to use the computer
19:59:57 <ehird`> oklopol: it is kind of cheating but its allowed
20:00:10 <ihope> Oh, good, allowed.
20:00:19 <ihope> You really should specify the rules :-P
20:02:08 <oklopol> i thought games like this are always about connection speed :)
20:02:20 <oklopol> (and the ability to write oneliners)
20:02:42 <oklopol> ARGH
20:02:51 <oklopol> why does ihope own me all the time
20:03:21 <ihope> I dunno.
20:03:27 <ihope> Cable Internet?
20:03:34 <oklopol> yeah
20:03:47 <oklopol> i think it's the fact i'm using a browser
20:04:06 <oklopol> i made this program to fetch random pictures from a site people put their pics in
20:04:13 <oklopol> fetches 2-3 pics per sec
20:04:25 <oklopol> if you do it via browser, 3 pics / minute
20:04:34 -!- sebbu has joined.
20:04:36 <bsmntbombdood> my internet connection is terrible
20:04:38 <bsmntbombdood> i hate it
20:04:39 <oklopol> well, sometimes a lot faster, but never anything near my program
20:04:50 -!- sebbu has left (?).
20:05:04 <ehird`> KAHUROS OVERTOOK DIGG
20:05:11 <ehird`> bwahahaha
20:06:33 <oklopol> i get like 4/sec
20:06:34 <oklopol> ADSF
20:07:12 * ehird` disappears for a while
20:07:58 <bsmntbombdood> :)((
20:08:05 <ehird`> bsmntbombdood: ?
20:08:31 * ehird` really disappears now
20:09:40 <bsmntbombdood> :(
20:10:07 -!- importantshock has quit.
20:11:13 <ihope> Hey! Turris is moving! How unfair.
20:12:13 <bsmntbombdood> i'm disconected about 4 times an hour
20:12:22 <bsmntbombdood> in a good hour
20:19:40 <ihope> Okay, enough of that for now.
20:20:21 <ihope> I was using a browser for this...
20:26:07 <oklopol> ehird`: how long's that gonna be there?
20:26:12 * pikhq wonders where Sgeo's latest PSOX spec is
20:37:56 -!- RedDak has joined.
20:40:13 <oklopol> digg is still going at a quite impressing rate
20:50:00 <ihope> What's it at now?
20:51:26 <oklopol> 267393
20:52:06 <ihope> Hmm, indeed, rather impressive.
20:52:29 <ihope> Now, is there a contest like that except with "click a certain button" replaced by "send a byte to the server on a certain port"?
20:52:33 <ihope> :-)
20:52:35 <ihope> Game, rather.
20:53:39 <oklopol> there should be, since that's basically the same, but you don't have to cheat
20:53:53 <oklopol> though for many cheating might be the thrill
20:55:05 <RodgerTheGreat> there's a link-clicking game called "outwar" similar to that, as I recall
20:55:15 <RodgerTheGreat> the trick is that clicks have to be from different IPs
20:57:59 <ihope> oklopol: depends on what you count as cheating.
20:58:21 <ihope> Is telnet server < /dev/zero cheating?
20:58:59 <ihope> RodgerTheGreat: http://www.free-games.com.au/Detailed/205.html?
21:00:05 <ihope> Which, I suppose, is http://www.outwar.com/...
21:00:06 <oklopol> ihope: i mean ehird`'s game may be nicer as long as doing that is considered cheating
21:01:02 <RodgerTheGreat> ihope: think that's it
21:02:28 * ihope ponders choosing "Who is your favorite teacher?" for his security question
21:02:31 <oklopol> hhah! i'm waaaaaaaaaay before ihope now
21:02:46 <ihope> oklopol: "before"?
21:02:51 <oklopol> umm
21:02:51 * ihope uses a bogus answer instead
21:02:54 <oklopol> over?
21:02:58 <ihope> Ahead of?
21:03:01 <oklopol> yes!
21:03:14 <oklopol> before in the list
21:03:25 <ihope> How many do we each have?
21:03:41 <ihope> Shall I start moving again?
21:03:45 <oklopol> digg (290931)
21:03:45 <oklopol> digg (290931)
21:03:45 <oklopol> butter (211807)
21:03:47 <oklopol> fuck
21:03:47 <oklopol> butter (211807)
21:03:47 <oklopol> Khauros (200000)
21:03:49 <oklopol> Khauros (200000)
21:03:51 <oklopol> sigloiv (107808)
21:03:53 <oklopol> sigloiv (107808)
21:03:55 <oklopol> NOOOOOOO
21:03:57 <oklopol> thepillows (106158)
21:03:59 <oklopol> thepillows (106158)
21:04:01 <oklopol> sqrt (101207)
21:04:03 <oklopol> sqrt (101207)
21:04:05 <oklopol> Turris (101055)
21:04:05 <ihope> Um, I suggest /parting.
21:04:07 <oklopol> Turris (101055)
21:04:09 <oklopol> :<<<<<<<<<<<
21:04:11 <ihope> You're sort of spamming the channel.
21:04:11 <oklopol> Yareking (97664)
21:04:13 <oklopol> Yareking (97664)
21:04:15 <oklopol> Xybob (79340)
21:04:19 <oklopol> Xybob (79340)
21:04:21 <oklopol> MountainCable (73690)
21:04:23 <oklopol> MountainCable (73690)
21:04:25 <oklopol> http://petition.co.uk (61432)
21:04:27 <oklopol> http://petition.co.uk (61432)
21:04:29 <oklopol> oklopol (55258)
21:04:31 <oklopol> oklopol (55258)
21:04:33 <oklopol> mezane (54350)
21:04:35 <oklopol> xDDDDDDDDDDDDDD
21:04:37 <oklopol> mezane (54350)
21:04:39 <oklopol> wuha (52398)
21:04:41 -!- oklopol has quit (Remote closed the connection).
21:04:44 -!- oklopol has joined.
21:04:49 <oklopol> wtf
21:04:58 <oklopol> i'm pretty sure i selected just myself from the list
21:05:07 <ihope> Apparently, you didn't.
21:05:12 <oklopol> also, part wouldn't work, neither would closing the window
21:05:15 <ihope> What am I at?
21:05:18 <ihope> It wouldn't?
21:05:37 <oklopol> oklopol: 56208
21:05:47 <oklopol> ihope 44677
21:05:57 <oklopol> the button was a no-op
21:06:01 <ihope> Ah, indeed, you're past me.
21:06:02 <oklopol> disconnecting worked
21:06:54 <oklopol> gonna leave that on for a few weeks
21:06:59 <oklopol> THEN WE'LL SEE
21:07:00 <oklopol> MUAHAHA
21:07:05 <oklopol> ...
21:07:21 <ihope> I think you'll be on top by then :-P
21:07:28 <oklopol> heh, yeah :)
21:07:36 <oklopol> well...
21:07:47 <oklopol> i'm pretty sure there are bots that are left on forever there
21:07:51 <oklopol> or at least for long
21:08:28 <oklopol> it's a bit harder for me since i'm actually pressing enter all the time
21:08:44 <ihope> Find some coins and stack them :-)
21:08:51 <ihope> How many computers do you have?
21:08:57 <oklopol> i'm not that rich :P
21:09:05 <ihope> Oh. :-P
21:09:30 <oklopol> i just have bills
21:09:33 <oklopol> ..paper money
21:09:37 <ihope> Maybe I'll send you the oldest one we have. :-P
21:09:49 <oklopol> oldest coin?
21:09:55 <ihope> No, oldest computer.
21:10:01 <oklopol> oh
21:10:06 <ihope> It has a CPU speed display on the front.
21:10:06 <oklopol> how many COMPUTERS
21:10:15 <oklopol> the rich answer was for stacking coins
21:10:20 <ihope> Ah.
21:10:23 <oklopol> i have 3 computers here
21:10:28 <oklopol> + commodore 64
21:10:39 <oklopol> and i'm getting a small handheld one
21:10:44 <ihope> You're not rich enough to have coins?
21:10:47 <oklopol> :D
21:10:52 <oklopol> those are oooold
21:10:56 <oklopol> i just never throw anything out
21:11:19 <ihope> Are you in some weird country where coins are more valuable than bills rather than the other way around? :-P
21:11:25 <oklopol> :DD
21:11:34 <oklopol> no, i'm in a country where ppl tell jokes!
21:11:43 <ihope> Ah. That IS weird.
21:11:50 <oklopol> yeah
21:11:58 <ihope> We don't tell jokes here. Everybody is always completely serious.
21:12:28 <ihope> I looked up the world's funniest joke online. I doubted its veracity.
21:12:38 <ihope> Then I looked up the definition of "joke" online. Now I know.
21:13:29 <oklopol> please link!
21:13:45 <oklopol> i've never laughed at a *joke* joke
21:14:47 <ihope> http://en.wikipedia.org/wiki/World's_funniest_joke
21:15:33 <ihope> I generally don't laugh at things either.
21:16:05 <ihope> The funniest thing I remember is Student Bloopers.
21:16:56 <pikhq> Besides, the world's funniest joke is a Monty Python skit.
21:17:22 <pikhq> "Wenn ist das Nunstück git und Slotermeyer? Ja! ... Beiherhund das Oder die Flipperwaldt gersput."
21:17:50 * pikhq kills all the German speakers. >:D
21:18:04 <ihope> NO!
21:18:13 <ihope> You killed jix_, maybe!
21:18:21 <ihope> At least he died happily, maybe.
21:18:27 -!- jix_ has left (?).
21:18:29 <pikhq> Very happily.
21:18:47 <pikhq> After all, he did die of laughter.
21:18:55 <ihope> And of CommandW, I guess.
21:19:02 <ihope> "Nero was a cruel tyrany who would torture his poor subjects by playing the fiddle to them."
21:19:03 -!- jix_ has joined.
21:19:19 <pikhq> He's alive again.
21:19:49 <ihope> That's good.
21:19:59 <ihope> Stop violating continuity!
21:20:03 * ihope re-kills jix_
21:20:11 -!- jix_ has left (?).
21:21:09 -!- jix_ has joined.
21:21:54 <ihope> Look, if you're not going to stay dead, at least go back and time and make it so you were never killed.
21:23:15 <oklopol> /kill *.de
21:24:18 <ihope> D'oh.
21:24:30 <ihope> /kill *.*.*.183
21:24:47 <ihope> We might as well be random, now.
21:25:06 <oklopol> i've dropped in the list
21:26:10 <ihope> "Beethoven wrote music even though he was deaf. He was so deaf he wrote loud music. He took long walks in the forest even when everyone was calling for him."
21:26:17 <oklopol> perhaps i'll stay up to whole night and do absolutely nothing
21:26:31 <oklopol> that's not really a feat
21:26:37 <oklopol> that beethoven's thing
21:27:58 <ihope> "Beethoven expired in 1827 and later died for this."
21:27:58 <oklopol> >>> i okokokokokokokokokokokokokokokokoko
21:27:59 <ololobot> okokokokokokokokokokokokokokokokoko
21:28:03 <oklopol> whut?
21:28:28 <ihope> "Queen Victoria was the longest queen. She sat on a thorn for 63 years. He reclining years and finally the end of her life were exemplatory of a great personality. Her death was the final event which ended her reign."
21:28:35 <ihope> >>> i i i i i
21:28:35 <ololobot> i i i i
21:28:43 <ihope> How interesting. What is this?
21:29:12 <oklopol> that is... a cat command :)
21:29:21 <ihope> >>> o o o
21:29:27 <oklopol> >>> o k 5
21:29:27 <ololobot> okokokoko
21:29:36 <pikhq> /kill *
21:29:45 <ihope> > k o 5
21:29:54 <ihope> Yes, that certainly...
21:29:57 <pikhq> ihope: Source?
21:30:04 <ihope> http://www.cse.unsw.edu.au/~norman/Jokes-file/StudentBloopers.htm
21:30:42 <oklopol> was the first one somehow wrong too?
21:30:54 <ihope> The first what?
21:30:59 <oklopol> the beethoven thing
21:31:03 <ihope> Yup.
21:31:15 <ihope> Well, not so much wrong as just plain silly.
21:31:28 <oklopol> well the last sentence is kinda funny
21:31:46 <oklopol> the long walks thing
21:31:48 <ihope> "The First World War, cause by the assignation of the Arch-Duck by a surf, ushered in a new error in the anals of human history"?
21:31:52 <ihope> Ah, yes.
21:32:30 <pikhq> "the victims of the Black Death grew boobs on their necks."
21:32:52 <pikhq> "In midevil times most of the people were alliterate." Appropriate
21:33:16 <ihope> Indeed.
21:33:21 <oklopol> illiterate, should be?
21:34:02 <ihope> Yup.
21:34:02 <oklopol> >>> k o 5
21:34:03 <ololobot> o
21:34:07 <oklopol> whut
21:34:09 <oklopol> >>> x o 5
21:34:09 <ololobot> ooooooooo
21:34:13 <oklopol> >>> x k 5
21:34:13 <ololobot> kokokokok
21:34:17 <ihope> > i i 5
21:34:18 <oklopol> >>> x l 5
21:34:18 <ololobot> lolololol
21:34:29 <oklopol> >>> k l 5
21:34:29 <ololobot> l
21:34:31 <ihope> So, um, what's it do?
21:34:33 <oklopol> k indeed is... k
21:34:40 <oklopol> what does what do?
21:34:42 <oklopol> my bot?
21:34:48 <oklopol> >>> help
21:34:48 <ololobot> These are all the cmds currently in ololobot:
21:34:48 <ololobot> bf, bs, expr, help, numbda, pl, ul, dict, feed, sch, o, x, k, i, s, factors, in-pr, in-po, in-fi
21:34:50 <ihope> Yeah.
21:34:55 <oklopol> some have documentation
21:34:57 <oklopol> >>> help bf
21:34:58 <ololobot> This is a simple brainfuck interpreter.
21:34:58 <ololobot> Usage:
21:34:58 <ololobot> ">>> [Wnnn] code [<<< input]" to run, where [...]'s are optional.
21:34:58 <ololobot> Wnnn sets wrapping, nnn is any number that fits an irc message.
21:35:00 <ihope> How interesting.
21:35:04 <ihope> > help numbda
21:35:09 <pikhq> Well, *K* is /xy.x
21:35:10 <oklopol> >>>, really
21:35:15 <ihope> >>> help numbda
21:35:15 <ololobot> No info about numbda.
21:35:18 <oklopol> darn
21:35:26 <oklopol> just a few have info...
21:35:29 <ihope> Indeed, I keep using > for some reason.
21:35:32 <ihope> What is numbda?
21:35:38 <oklopol> numbda is a language i made some time ago
21:36:08 <oklopol> currently it's basically just basic arithmetic+vars+function calls+lambdas,
21:36:25 <oklopol> but the interpreter isn't working yet, fully, so iu haven't finished the lang
21:36:27 <oklopol> *i
21:36:44 <oklopol> it should be a language where lambdas are implicit
21:37:10 <oklopol> (x+3) == lambda x:x+3 if used out of x's namespace
21:37:28 <oklopol> otherwise (x+3) == ...well, x+3
21:38:23 <ihope> Hmm... I think I prefer more explicit stuff.
21:38:31 <oklopol> heh
21:38:33 <ihope> flip (+) 3, (+3), \x -> x+3.
21:39:48 <oklopol> if a subexpression uses a variable X that is not in the current namespace, that subexpression is considered a lambda that takes one argument, and sets X to that
21:40:12 <oklopol> otherwise the subexpression is not considered a lambda, but a simple expression that is evaluated.
21:40:31 <oklopol> >>> numda k={a->{b->a}};k!6!7
21:40:36 <ihope> What's (x + 3) * 4?
21:40:38 <oklopol> >>> numbda k={a->{b->a}};k!6!7
21:40:39 <ololobot> num:6
21:40:47 <oklopol> that doesn't work, in general.
21:41:04 <ihope> (x + 3) is the subexpression here?
21:41:20 <oklopol> yes
21:41:45 <ihope> So is the subexpression pretty much as small as it can reasonably be?
21:42:12 <oklopol> umm
21:42:18 <oklopol> it's the shortest possible x+3, yes
21:42:22 <oklopol> if you don't use spaces
21:43:03 <oklopol> it has first order lambdas, but operators are on a different level
21:43:13 <oklopol> you have to use ! to use your own lambdas/functionsa
21:43:15 <oklopol> *functions
21:43:27 <ihope> Spaces, you say?
21:43:47 <oklopol> >>> numbda k={a->{b->a}};s={a->{b->{c->(a!c)!(b!c)}}};s!k!k!4
21:43:47 <ololobot> num:4
21:44:04 <oklopol> spaces. (x + 3) * 4 -> (x+3)*4, i mean
21:44:47 <ihope> They're different, you mean?
21:44:57 <oklopol> no, the latter is just shorter
21:45:06 <oklopol> (23:40:21) (ihope) So is the subexpression pretty much as small as it can reasonably be? <<< i was sommenting to this
21:45:08 <ihope> Do spaces matter at all in this language?
21:45:16 <oklopol> yes, token separation
21:45:19 <oklopol> actually
21:45:22 <oklopol> no, they never do.
21:46:29 <oklopol> because -> is the only operator with two chars, and > isn't a prefix operator
21:47:17 <ihope> >>> numbda k={a->{b ->a}};s = {a->{b- >{c->(a!c ) !(b!c)}} };s !k!k!4
21:47:18 <ololobot> error:no-reason-error
21:47:24 <oklopol> hmm
21:47:24 <ihope> >>> numbda k={a->{b ->a}};s = {a->{b- >{c->(a!c ) !(b!c)}} };s !k!k!4
21:47:24 <ololobot> error:no-reason-error
21:47:32 <oklopol> in that implementation, i can't guarantee a thing :)
21:47:40 <oklopol> but... that should work
21:48:00 <oklopol> oh, indeed, you can't separate "->", or varnames
21:48:18 <oklopol> >>> numbda {a -> 3}
21:48:18 <ololobot> lazy:[apply opr:-> to id:a(0) and num:3]
21:48:26 <oklopol> >>> numbda {a -> 3}!4
21:48:26 <ololobot> num:3
21:48:28 <oklopol> >>> numbda {a -> 3} ! 4
21:48:29 <ololobot> num:3
21:48:44 <oklopol> >>> numbda k={a->{b ->a}};s = {a->{b->{c->(a!c ) !(b!c)}} };s !k!k!44
21:48:44 <ololobot> num:44
21:48:47 <oklopol> ah
21:49:04 <oklopol> you did exactly that, separated ->
21:49:38 <oklopol> separated "->" that is
21:49:59 <oklopol> i always parse -> in the end of a message as "i'm leaving"
21:50:51 <oklopol> my whole computer crashed from pressing enter :)
21:50:55 <oklopol> ubuntu <3
21:51:06 <ihope> Heh...
21:51:19 -!- jix_ has quit ("CommandQ").
21:51:30 <oklopol> i did the same thing on windows for just as long, though also had about 50 other programs running
21:51:40 <oklopol> nothing happened
21:53:29 <ihope> I think I'll implement SKI in my improved parser language.
21:53:40 <ihope> Then I'll come up with a spec for my improved parser language :-P
21:54:00 <oklopol> cle
21:54:20 <ehird`> im back
21:54:31 <oklopol> yay
21:54:39 <ihope> Hmm, now I'm wanting Ubuntu back.
21:54:55 <ihope> Because Gentoo is sort of not working :-P
21:55:29 <oklopol> my experience with ubuntu has been a bit bad
21:55:35 <ihope> I could get it to work with enough Google searches and support pestering, but...
21:55:44 <oklopol> it's crashed more times over my short use than my windows machines in a year
21:55:45 <ihope> It has?
21:55:55 <ihope> Hmm. I don't think it's ever crashed here.
21:56:22 <oklopol> mine is crashed right now
21:56:44 <ihope> What other things do you use?
21:57:01 <oklopol> "things"?
21:57:03 <oklopol> programs?
21:57:17 <ihope> Operating systems.
21:57:20 <oklopol> ah
21:57:28 <ihope> (Hmm, it's hard to type and regularly press the CD eject button at the same time.)
21:57:28 <oklopol> i have windows on this machine and ubuntu on the other
21:57:41 <oklopol> why do you press it?
21:58:16 <ihope> Well, it doesn't work while the Gentoo LiveCD is running, so I have to reboot it and then press the button before it checks for an OS on the CD.
21:58:57 <ihope> Now to try to get Ubuntu running, since its live CD is a little unreliable.
22:00:07 <ihope> Or maybe I should just RTF Gentoo M.
22:03:34 <ehird`> the only decent ubuntu
22:03:35 <ehird`> is xubuntu
22:03:38 <ehird`> and it ROCKS
22:04:08 <ehird`> it's fast as hell, comes with lots of decent apps, highly customizable but easy to use, and has many optional visual effects
22:04:11 <ehird`> it's perfect
22:06:21 <ehird`> xubuntu is perfect for both kde and gnome users i find
22:06:30 <ehird`> it's simple enough for gnome users to get the hang of it, but without the annoying bugs
22:06:43 <ehird`> and it's as configurable as kde users expect
22:08:30 <oklopol> all i can think of that an os could offer is a better file/networking/process system, as far as i know, unix's is pretty much the same as windows's
22:08:54 <oklopol> and i have no idea why i always start begging for a fight by saying stuff like that
22:09:02 <ihope> Heh.
22:09:19 <ihope> Does Windows have chroot?
22:09:31 <oklopol> for a while there i thought ubuntu had recovered :)
22:09:32 <oklopol> but noooo
22:09:36 <ihope> It's a teeny tiny bit essential :-P
22:09:44 <oklopol> okay, unix's access stuff is better
22:09:47 <ehird`> ihope: nope, it doesn;t
22:10:21 <oklopol> why is it essential?
22:10:34 <ihope> Hmm... maybe it's not that essential.
22:10:41 <oklopol> it's nice sometimes
22:10:42 <pikhq> oklopol: Sounds like Plan9.
22:10:46 <ihope> How easy is it to write a program that adds a user?
22:10:59 <oklopol> i don't see how you'd ever need to do that
22:11:09 <ihope> Sandboxing?
22:11:52 <oklopol> well yeah, but adding a user is just one means of doing that
22:11:59 <ihope> Indeed.
22:12:07 <ihope> How can it be done nicely under Windows?
22:12:10 <oklopol> no way
22:12:27 <oklopol> but then again, i don't really use other ppl's code, so i just write safe code.
22:12:36 <ihope> You don't?
22:12:47 <oklopol> i'm not into os
22:12:50 <oklopol> open source
22:12:55 <ehird`> plan9 is crazy xD
22:13:08 <ihope> Does that mean you wrote your own IRC client, too?
22:13:33 <ihope> Or by "code" do you mean "source code"?
22:13:39 <oklopol> that means i feel bad unless i do
22:13:43 <pikhq> oklopol: You don't like free software?!?
22:13:44 <oklopol> not that i necessarily do
22:13:50 <ehird`> i suffer from NIH
22:13:53 <oklopol> pikhq: i like receiving, not giving
22:14:00 <ehird`> i didn't write this? then i better rewrite a clone of it
22:14:02 <pikhq> *groan*
22:14:13 <ehird`> oklopol: so basically you're a selfish person
22:14:18 <ehird`> that's not the best life skill you can have ;P
22:14:21 <ihope> What's "NIH" stand for?
22:14:26 <pikhq> Not Invented Here.
22:15:13 <oklopol> ehird`: i do like to receive, but i do not encourage anyone to share.
22:15:53 <pikhq> Selfish.
22:15:58 <ehird`> exactly
22:16:02 <ihope> Well, they are giving it away.
22:16:08 <oklopol> (pikhq) oklopol: You don't like free software?!? <<< what was that for an argument then?
22:16:17 <pikhq> Free as in freedom.
22:16:25 <oklopol> ah
22:16:34 <pikhq> Not an argument, more asking "what the hell?"
22:16:42 <ehird`> i believe if you use free/open-source/whatever-fscking-term-you-like-to-debate-about software, it's good to consider releasing at least some of your software the same way
22:16:42 <oklopol> yeah, i get it
22:16:52 <ehird`> it just helps the continuum keep going
22:17:09 <oklopol> i do not understand how i can ever get money for my programs if i do open source
22:17:11 <pikhq> I've got a different belief, ehird. . .
22:17:13 <oklopol> and i do not want to die.
22:17:21 <oklopol> i will die without money
22:17:41 <oklopol> that's my only problem with open source
22:17:42 <ihope> GPL: if you add to this program, GIMME! :-P
22:17:47 <pikhq> And, as I've argued previously, you can make money with free software.
22:17:53 <ehird`> oklopol: SOLUTION - don't try and make money off software
22:17:57 <oklopol> and the fact people start bitching about minor details they don't like about my programming style
22:18:06 <oklopol> ehird`: okay... then how do i get money?
22:18:12 <ihope> oklopol: with a job?
22:18:15 <oklopol> ...
22:18:22 <oklopol> == programming
22:18:27 <ehird`> umm
22:18:28 <ehird`> don't?
22:18:30 <oklopol> that's all i ever want to do, naturally
22:18:34 <ehird`> well tough
22:18:37 <ehird`> this world is not a utopia
22:18:38 <ehird`> get real
22:18:40 <ihope> Programming jobs don't pay?
22:19:04 <oklopol> i never thought os ppl actually thought programming isn't something you can make a living off
22:19:07 <ehird`> ihope: programming is hardly the simplest industry to get into
22:19:09 <pikhq> I'll be sure to tell that to Sun, Red Hat, and Novell employees.
22:19:09 <oklopol> they really think that?
22:19:13 <ehird`> oklopol: no, I think that
22:19:27 <pikhq> oklopol: No, they think it doesn't matter whether or not you can; freedom is more important.
22:19:50 <oklopol> i prefer money over lazyness.
22:20:17 <ihope> I've suddenly forgotten what we're talking about.
22:20:25 <oklopol> i just said i don't like open source
22:20:25 <ehird`> oklopol: well, get a job other than programming... the probability of being able to sustain yourself fully from programming is very small
22:20:25 <ihope> Is it about how oklopol can make money?
22:20:31 <oklopol> i like saying that once in a while
22:20:43 * ihope shrugs
22:20:45 -!- ihope has left (?).
22:20:45 <oklopol> ehird`: like.. what?
22:20:59 <oklopol> what else can one do?
22:21:12 <ehird`> oklopol: ooh, let's think, one of the thousands of other jobs in the world?
22:21:18 <ehird`> hardly any choice is there!
22:21:28 <oklopol> i can't think of anything
22:21:32 <ehird`> ...
22:21:44 <ehird`> are you sheltered or just very ignorant?
22:21:50 <oklopol> i'm definately gonna do anything where i have to... do something but program
22:21:55 <oklopol> *not
22:22:03 <oklopol> i can't do anything else
22:22:06 <ehird`> hah
22:22:10 <ehird`> call me in 10 years
22:22:12 <pikhq> You could program and make money off of it. . .
22:22:12 <oklopol> :)
22:22:34 <pikhq> I hear Red Hat, Novell, Sun, etc. are willing to pay for free software developers.
22:22:34 <oklopol> pikhq: ehird` said that is not possible
22:22:47 <ehird`> oklopol: i did not
22:22:58 <ehird`> oklopol: i just said that it's hardly the most stable industry to get into easily
22:23:10 <pikhq> oklopol: Reality disagrees (although given the right circumstances, it could be difficult) ;)
22:23:11 <oklopol> i hope the os movement just dies, i'm a dreamer, you see.
22:23:22 <ehird`> oklopol: wow, uh, i'd like to see a future with that
22:23:27 <oklopol> me too <3
22:23:30 <ehird`> oklopol: you'll be running on... how shall i put it... low tech?
22:23:33 <ehird`> you're an idiot
22:23:34 <pikhq> And free software doesn't involve dreaming?
22:23:52 <oklopol> not really, you can't devote your life to something you don't get paid for
22:23:57 <ehird`> "OS MOVEMENT SHOULD DIE BECAUSE I WANT IT TO WHAT DO YOU MEAN TECHNOLOGY PROGRESS WOULD STOP <3" "I WILL NOT GET ANY JOB BUT PROGRAMMING"
22:24:03 <ehird`> oklopol: umm, heard of "hobbies"?
22:24:16 <pikhq> oklopol: I'll be sure to tell that to Gandhi.
22:24:44 <oklopol> pikhq: hardly a good point.
22:24:52 <pikhq> Stallman, then.
22:25:22 <ehird`> stallman is crazy-ass anyway
22:25:37 <oklopol> if there really aren't many programming jobs available when i finish university, i'll just be jobless i guess
22:25:47 <ehird`> great idea!
22:25:53 <ehird`> just wither away and die or something
22:25:53 <oklopol> best i can think of
22:25:54 -!- RedDak has quit (Remote closed the connection).
22:25:55 <ehird`> you'll be fine!
22:25:57 <pikhq> Somewhere without programming jobs is probably 3rd-world. . .
22:26:26 <oklopol> pikhq: i'm just responding to you ppl saying there aren't many programming jobs available.
22:26:30 <oklopol> i do know there are a lot
22:26:32 <pikhq> oklopol: That's ehird, not me.
22:26:33 <oklopol> even in this area
22:26:34 <ehird`> we NEVER SAID THAT
22:26:38 <ehird`> I never said that
22:26:47 <oklopol> pikhq: you said something vague about reality, i may have misinterpreted
22:27:01 <oklopol> oh
22:27:05 <oklopol> i did misunderstand
22:27:08 <pikhq> Yeah.
22:27:10 <oklopol> i humbly apologize.
22:27:12 <oklopol> now pizza ->
22:27:42 <ehird`> well his logic is outstanding
22:27:42 <ehird`> :/
22:28:14 <oklopol> mine?
22:28:55 <oklopol> (00:17:40) (oklopol) i never thought os ppl actually thought programming isn't something you can make a living off
22:28:58 <oklopol> (00:17:49) (ehird`) oklopol: no, I think that
22:29:05 <oklopol> i guess i failed with all the negations.
22:29:23 <oklopol> english is a bit ambiguous.
22:29:41 <oklopol> (00:19:01) (ehird`) oklopol: well, get a job other than programming... the probability of being able to sustain yourself fully from programming is very small <<< very small probability
22:30:12 <oklopol> i guess i misunderstood you
22:30:22 <oklopol> then this conversation has been most redundant :)
22:31:23 <pikhq> ehird`: Also, Stallman is no more a nutcase than you are. ;p
22:31:43 <oklopol> who's he?
22:31:47 <oklopol> i'll google
22:31:48 <ehird`> pikhq: no, stallman is a complete nutcase
22:31:53 <pikhq> ehird`: How so?
22:32:02 <ehird`> pikhq: you can't tell? :)
22:32:08 <pikhq> Prove it, please.
22:32:17 <ehird`> o.O
22:32:21 <ehird`> it's a subjective opinion
22:32:22 <ehird`> how can i prove it
22:32:26 <pikhq> Fine.
22:32:34 <pikhq> Demonstrate some things that make him a nutcase to you.
22:34:27 <oklopol> ehird`: just out of curiosity, what would you be willing to do if you didn't get a programming job?
22:34:32 <ehird`> his nutcasery, pikhq? ;)
22:34:41 <ehird`> oklopol: any reasonable job?
22:34:59 <oklopol> i could do porn
22:35:05 <oklopol> but can't think of anything else reasonable
22:35:20 <ehird`> hahahahaha
22:35:22 <ehird`> ahahahaha
22:35:23 <oklopol> what's a reasonable job?
22:35:35 <ehird`> get back to me when i've regained control over my lungs
22:35:36 <pikhq> ehird`: You suck at defending yourself.
22:35:48 <ehird`> pikhq: thanks?
22:36:00 <oklopol> ehird`: that wasn't a joke, really, but please answer :\
22:36:32 <oklopol> okay, in theory i could be a musician, but i don't enjoy the social aspect
22:36:42 <oklopol> just being a composer doesn't make a living
22:36:56 <oklopol> really, what's a reasonable job?
22:37:10 <oklopol> i doubt yours are the same as mine
22:37:20 <oklopol> would that be like... a shop clerk?
22:37:24 <oklopol> a thief?
22:37:28 <oklopol> that'd be cool :)
22:37:55 <oklopol> i could also be like a mad professor
22:38:03 <oklopol> say PONG when i hit yours
22:38:57 <oklopol> ehird`: lungs okay?
22:41:04 * ehird` is lying dead on the floor
22:41:20 <oklopol> i see
22:43:22 <oklopol> ehird`: are you gonna answer me? :<
22:43:47 <ehird`> ?
22:44:15 <oklopol> "just out of curiosity, what would you be willing to do if you didn't get a programming job?"
22:45:01 <ehird`> a regular job..
22:45:10 <oklopol> like...
22:45:13 <oklopol> one example
22:45:47 <oklopol> like... bus driver?
22:45:53 <oklopol> a cleaner?
22:46:09 <oklopol> beggar?
22:46:14 <oklopol> that's also be cool :D
22:46:21 <oklopol> *that'd
22:46:43 <ehird`> beggar wouldn't be cool
22:46:44 <ehird`> :p
22:47:11 <oklopol> if they allow computers in prisons, that's one thing i could do, do someting criminal and program all day
22:48:10 <oklopol> *something
22:48:42 <ehird`> heh
22:48:49 <oklopol> oh!
22:48:59 <oklopol> one thing i've always thought about is a janitor
22:49:21 <oklopol> like, for example, at a school
22:49:28 <oklopol> (if they still have janitors)
22:49:56 <oklopol> well, anything where you can lock yourself up somewhere, really
22:50:15 <oklopol> guess i'm a bit agoraphobic or smth
22:51:41 -!- ihope has joined.
22:52:19 <oklopol> and then i asked her to pee in my mouth
22:52:26 <ihope> What the...
22:52:33 <oklopol> that was kinda weird
22:52:40 <oklopol> hi ihope
22:52:53 <ihope> Did I join at exactly the wrong time?
22:53:06 <oklopol> sorry, just an old joke of mine
22:53:15 <ihope> :-)
22:53:17 <oklopol> :D
22:53:29 <ihope> Explains the lack of context in the logs :-P
22:53:36 <oklopol> heh, yeah
22:54:31 <oklopol> ehird` is mean :(
22:54:41 <ihope> No, ehird` is median!
22:54:44 <ehird`> i prefer "and then it got all over the keyboard, and oh god it was wet and sticky"
22:54:50 <ihope> 50th percentile exactly.
22:54:51 <ehird`> for out of context quotes
22:55:19 <oklopol> well yeah, but context ones are a bit different
22:55:21 <ihope> Maybe you could quote subject lines of spam.
22:55:22 <ehird`> because you can clarify it with "i was drinking soda and it spilled"
22:56:45 <ihope> There's "My boyfriend's . . .".
22:57:20 <ihope> Which I guess is the same template as "My new guy's . . .".
22:57:50 <ihope> Not sure about "When I tried to . . ." and "I just started . . .".
22:58:23 <ihope> Wow. Even "Can you tell me . . ." is one of that template.
22:58:35 <oklopol> umm... how do you use these?
22:59:12 <ihope> They're not really that good.
22:59:22 <ihope> There's more to it than the part I quoted.
22:59:28 <ihope> Check your spam folder for the rest. :-P
22:59:43 <oklopol> i don't get spam :<
22:59:52 <ihope> Oh.
23:00:07 <ihope> Why not?
23:00:20 <oklopol> i used to get some, but... then it just stopped
23:00:37 <ihope> Weird.
23:00:40 <ihope> ISP filtering?
23:00:44 <oklopol> i actually give the address away a lot
23:00:48 -!- theoros has joined.
23:01:11 <oklopol> i don't know anything about the email, it's a webmail from our school
23:01:27 <ihope> Sounds like that'd have a spam filter.
23:01:37 <oklopol> most likely
23:02:20 <ihope> I guess these subject lines are a little gross.
23:02:33 <oklopol> do tell
23:02:38 <ihope> Dirty, I mean.
23:02:42 <ihope> Sort of very dirty.
23:02:56 <oklopol> well yes, that's why i asked
23:03:19 <ihope> Want me to tell you one?
23:03:22 <oklopol> yes
23:03:53 <ihope> Perhaps not THAT dirty.
23:03:59 <ihope> Certainly a little dirty.
23:04:46 <oklopol> well yes, but can you make that undirty in the right context?
23:04:54 <oklopol> i've heard worse on this channel
23:05:05 <ihope> What do you mean?
23:05:09 <oklopol> you could've said it here, i mean
23:05:13 <oklopol> and
23:05:15 <ihope> Yeah, I could have.
23:05:24 <oklopol> "can you make that undirty in the right context?"
23:05:28 <oklopol> i think that's... pretty clear
23:05:33 * ihope shrugs
23:13:29 * ihope ponders SKI calculus
23:13:46 <ihope> I "should" be working on getting Gentoo going.
23:14:26 <oklopol> :D
23:14:34 <oklopol> that was a quick ponder
23:14:44 <ihope> No, I'm still pondering.
23:14:46 <oklopol> ah
23:14:51 <ihope> Actually, it's SK calculus.
23:14:52 <oklopol> what are you pondering about it?
23:14:56 <oklopol> yes yes
23:15:02 <oklopol> but ski sounds better
23:15:02 <ihope> How to implement it.
23:15:05 <ihope> Indeed.
23:15:06 <oklopol> in what?
23:15:09 <oklopol> in your okat
23:15:11 <oklopol> *okay
23:15:18 <ihope> I'll call it SKI calculus any way, then :-P
23:15:32 <oklopol> yeah, we all know the basics here anyway
23:15:35 <ihope> I'm implementing it in this parsing-based language.
23:15:48 <oklopol> parsing-based, wanna enlighten me?
23:15:56 <ihope> Every first-class value is a parser.
23:16:08 <oklopol> okay
23:16:31 <oklopol> so basically a function parses it's arguments?
23:16:35 <pikhq> No, it's SK"/x.SKKx" calculus.
23:16:45 <ihope> Parsers return strings, but a string is indistinguishable from a parser immediately returning that string.
23:17:03 <ihope> What a function parses isn't one of its arguments.
23:17:19 <ihope> Rather, what a parser parses.
23:17:30 <oklopol> Let's be more formal, like ihope would say.
23:17:36 <ihope> :-)
23:17:46 <oklopol> a parser does string->parser->string
23:17:46 <oklopol> ?
23:17:49 <oklopol> or what?
23:18:02 <ihope> Sort of tricky to put formally, I guess. Lemme think...
23:18:23 <oklopol> it's kinda like tree rewriting, but you have to serialize between steps?
23:19:27 * ihope ponders
23:20:08 <oklopol> okay
23:20:16 <oklopol> how is the overall data in a program presented?
23:20:18 <ihope> Okay, I think I've got it, greatly.
23:20:22 <oklopol> is it one string at every stage?
23:20:26 <oklopol> oky
23:20:30 <oklopol> then explain your way
23:20:35 <oklopol> oaky
23:21:24 <oklopol> oaky was a language i started making for tree-rewriting exactly, before i'd actually tried programming in a tree-rewriting language
23:21:33 <oklopol> i stopped because it wasn't esoteric enough
23:22:15 <ihope> First of all, there's the regexes, which are parsers. /foo/, for example, looks at the current string. If the string begins with "foo", it removes the "foo" from the beginning and returns "foo". If the string doesn't begin with "foo", it fails.
23:22:39 <oklopol> okay.
23:23:13 <ihope> parser[string] runs parser with string as its current string, then returns whatever the parser returns, ignoring the new current string.
23:23:59 <oklopol> so /foo/["okokoko"] would fail, /foo/["fookokoko"] would return "foo"?
23:24:07 <ihope> Yup.
23:24:12 <oklopol> what's failing?`
23:24:20 <ihope> /fo*/ matches f followed by any number of o.
23:24:32 <ihope> I'll get to failing later.
23:24:36 <oklopol> okay.
23:24:45 <oklopol> i might guess what that means, but do continue
23:24:48 <ihope> So /fo*/["fooooobar"] returns "fooooo".
23:24:55 <oklopol> ya
23:25:03 <ihope> I guess there's no better time to explain failing than now.
23:25:13 <oklopol> do do that
23:25:26 <ihope> Next piece of syntax: parser | otherparser
23:25:32 <oklopol> yeah, okay
23:26:14 <ihope> That runs parser on the current string. If parser returned something, it returns whatever parser returned. If parser failed, it pretends parser didn't run at all, then acts like otherparser.
23:26:48 <ihope> So (/foo/|/bar/)["fooquux"] returns "foo", while (/foo/|/bar/)["barquux"] returns "bar".
23:27:09 <oklopol> so... o="oh"; f="ohoho"; ((o|f)"x")["ohohox"] won't match?
23:27:19 <oklopol> you prolly don't get my syntax...
23:27:39 <oklopol> "oh" and "ohoho" are regexes
23:27:39 <oklopol> so
23:27:54 <oklopol> o=/oh/; f=/ohoho/; ((o|f)/x/)["ohohox"]
23:27:56 <ihope> You like the letter "o", don't you? :-P
23:28:04 <oklopol> :)
23:28:13 <oklopol> i seem to do.
23:28:21 <ihope> Assuming you mean concatenation there... hmm, lemme think about that.
23:28:32 <ihope> Yes, you're right.
23:28:36 <oklopol> that is the problem with that kind of trivial failing
23:29:07 <oklopol> but, you can just make the programmer have their own way of getting around that.
23:29:07 <ihope> (o|f) would chomp the "oh" and leave /x/ with "ohox".
23:29:07 <oklopol> yeah
23:29:17 <ihope> Next piece of syntax: parser + otherparser
23:29:25 <oklopol> that's like &
23:29:28 <oklopol> or
23:29:29 <oklopol> well
23:29:31 <oklopol> just explain :)
23:30:01 <ehird`> who wants to take up implang again?
23:30:10 <ehird`> the first revival didn't work =p
23:30:15 <ihope> This runs parser, then otherparser, and returns the results, concatenated.
23:30:18 <ihope> ehird`: the planned language?
23:30:55 <oklopol> ihope: the problem is regexes are usually stronger than that in that they can go back in time and always choose the right path
23:31:02 <ehird`> ihope: yeah
23:31:10 * ihope shrugs
23:31:26 <oklopol> if you fail at the end of the test, you should go back to where it last branched and retry
23:31:26 <ihope> I could add another alternation operator to fix that.
23:31:37 <oklopol> though, i think you can just have other functionality to get past that
23:31:54 <ehird`> ihope: why shrug? :)
23:32:09 <oklopol> he always shrugs, just learn to ignore it!
23:32:14 <ehird`> :P
23:32:17 <ihope> ehird`: I was shrugging at oklopol's pointing-out of the regex problem.
23:32:19 <ihope> oklopol: :-P
23:32:23 <oklopol> :D
23:32:35 <oklopol> anyway, please do continue if you have other stuff
23:33:21 <ehird`> ihope: ah :p
23:33:30 <ihope> Next and biggest piece of syntax is stuff like this: {parserone; x <- parsertwo; parserthree}
23:33:32 <ehird`> ihope: so you haven't responded to the query about the planned languag?
23:33:38 <ihope> ehird`: no, not really.
23:33:54 <ihope> This runs parserone, then runs parsertwo, then sets x to whatever parsertwo returned, then runs parserthree.
23:34:02 <oklopol> ehird`: don't stop the lecture!
23:34:10 <ehird`> oklopol: heh
23:34:43 <oklopol> ihope: {a;b;c;...;z} is like a+b+c+d+e+...+z?
23:34:46 <ihope> x is only in scope for the rest of the block, so it's not really a variable so much as... something else, I guess.
23:35:00 <ihope> Oh, right. After it runs parserthree, it returns what parserthree returned.
23:35:05 <oklopol> oh
23:35:28 <oklopol> i see, so ; is... ^a^b$b
23:35:38 <oklopol> >>> pl ^a^b$b
23:35:39 <ololobot> `ki
23:35:42 <ehird`> :s
23:35:48 <oklopol> that's... wrong
23:35:56 <oklopol> or...
23:36:01 <ihope> Well, it's part of the syntax, just like {} is.
23:36:11 <ihope> It separates the statements inside the block.
23:36:18 <oklopol> yeah
23:36:33 <ehird`> ^a^b$b is `ki
23:36:51 <ihope> A declaration takes this form: "function(parameter,otherparameter): expression."
23:36:51 <oklopol> hmm...
23:36:58 <oklopol> oh
23:37:00 <oklopol> fuck
23:37:02 <oklopol> i'm an idiot :)
23:37:06 <oklopol> yeah indeed it is
23:37:10 <oklopol> i don't know what i failed
23:37:17 <ehird`> sooo, anyone want to take up implang?
23:37:24 <ihope> ehird`: maybe!
23:37:30 <ehird`> ,-<
23:37:31 <ehird`> *<_<
23:37:49 <ihope> Functions take strings; if you try to pass a "non-string-like" parser into a function, you get a runtime error.
23:37:56 <oklopol> i'm gonna do some german work tonight, i think
23:37:59 <oklopol> later that is
23:38:04 <ihope> Strings can act as parsers, too: a string ignores the current string and returns itself.
23:38:25 <oklopol> ah okay
23:38:43 <ihope> So function(/regex/) or function(fail) is a runtime error, since /regex/ doesn't ignore the current string and fail doesn't return anything.
23:38:56 <ihope> (Assuming fail has suddenly turned into a keyword, which it hasn't. :-P)
23:39:18 <ehird`> #thelang for planned implang mk.3
23:39:43 <ihope> Sort of interestingly, // is stringlike: it ignores the current string and returns "".
23:39:51 <ihope> So it's the same as "".
23:39:54 <ihope> And yes, I technically didn't tell you about string literals :-P
23:39:56 <oklopol> {fail<-//;function(fail)}
23:40:01 <oklopol> then it works right?
23:40:21 <oklopol> well i know they exist.
23:40:32 <oklopol> you wouldn't have told me if you had something weirder
23:40:35 <ihope> Yes, that works, because fail is what // returned here.
23:40:37 <oklopol> would've
23:40:59 <oklopol> hmm
23:41:10 <ihope> I think there are three "strengths" of alternation operator.
23:41:31 <oklopol> {foo=/asdf/;bar=/.*/}["asdfololololo"] = "ololololo"?
23:41:46 <oklopol> whoops
23:41:50 <oklopol> {foo=/asdf/;/.*/}["asdfololololo"] = "ololololo"?
23:41:54 <ihope> The "weakest" one assumes that if the string is looked at and the parser doesn't fail immediately, it will never fail.
23:41:54 <oklopol> like that?
23:42:05 <ihope> oklopol: yep.
23:42:23 <oklopol> three?
23:42:28 <ihope> This allows the second option to be forgotten.
23:42:46 <oklopol> what if /asdf/ fails?
23:42:59 <ihope> If part of a block fails, the entire block fails.
23:43:06 <oklopol> ah.
23:43:59 <oklopol> you haven't shown me a way to get a new string to parse
23:43:59 <ihope> The "medium" strength doesn't make the assumption that the weakest one does, but it assumes that if the first parser succeeds, it can forget about the second option then.
23:44:04 <oklopol> hmm
23:44:09 <ihope> What do you mean?
23:44:10 <oklopol> sorry, i wasn't clear
23:44:12 <oklopol> wait
23:44:31 <oklopol> hmm
23:44:51 <oklopol> like, you have to have a way to pass a parser around to be able to get any looping going
23:45:48 <ihope> The "strongest" alternation doesn't make even the assumption that the medium one does: even if the first parser succeeds, any later failure will cause it to switch to the second parser.
23:48:36 <oklopol> yeah
23:48:40 <ihope> I think I like the weakest alternator best. It's easy to "work around", and is quick to remove things from memory.
23:49:10 <oklopol> but, to be able to do ski, do you have any kind of flow control?
23:49:16 <oklopol> or parser-passing
23:49:26 <oklopol> string *result* catenation etc
23:49:54 <oklopol> otherwise your program just parses one big string character by character
23:49:59 <ihope> Results can be concatenated fine.
23:50:11 <ihope> {x <- parser; y <- parser; parser[x+y]}
23:50:29 <oklopol> hmm...
23:50:46 <oklopol> that'd use what parser[x+y] returns as the last parser?
23:51:17 <oklopol> umm
23:51:22 <oklopol> indeed, that returns a string
23:51:31 <oklopol> and a string always returns itself
23:52:06 <ihope> Parsers return strings.
23:52:11 <oklopol> yes
23:52:38 <oklopol> it took me a second it doesn't matter if that string that's returned is used as a parsed.
23:52:40 <oklopol> *parser
23:52:45 <oklopol> *to realize
23:52:46 <oklopol> ...
23:53:03 <oklopol> hmm
23:53:29 <oklopol> can you pass parsers around?
23:53:33 <ihope> Nope.
23:53:41 <oklopol> can you do a <- ... ; {a}?
23:53:44 <oklopol> i mean
23:53:48 <oklopol> scopes
23:53:49 <oklopol> like that
23:54:11 <oklopol> because recursion is impossible otherwise
23:54:14 <ihope> {a <- ...; {a}} works fine.
23:54:20 <oklopol> okay
23:55:01 <ihope> http://pastebin.ca/677964
23:55:18 <ihope> A = s; B = k; C = `.
23:56:05 <oklopol> where's the actual parser?
23:56:49 <oklopol> ah you call foo
23:57:48 <ihope> That program happens to be built from single-letter regexes only.
23:59:15 <ihope> And it works with the weakest alternator.
23:59:32 <ihope> And, assuming I didn't make any big mistakes, it's a valid SK interpreter.
2007-09-03
00:00:28 <ihope> As for precedence, I think + should bind more tightly than |.
00:00:47 <ihope> They're both associative, so we don't need to pay attention to that.
00:01:06 <ihope> (At least, I think they are.)
00:01:29 <ihope> I'm guessing right-associativity would be faster in implementation.
00:01:40 <oklopol> well... kinda hard to say which they are,
00:02:03 <oklopol> you can't parse a+(b+c)
00:02:12 <oklopol> hmm...
00:02:16 <ihope> You can't?
00:02:38 <ihope> Also, I think brackets should bind even more tightly than +.
00:02:39 <oklopol> what's that mean?
00:02:46 <ihope> What's what mean?
00:02:55 <oklopol> right-associativity
00:02:59 <oklopol> with parsign
00:03:03 <ihope> a + b + c = a + (b + c)
00:03:15 <oklopol> yeah... but what's that mean when you're parsing?
00:03:45 <ihope> I guess it means that for a + b, you assume that a doesn't contain any "top-level" +.
00:03:58 <ihope> "Top-level" meaning not inside a grouping symbol of any sort.
00:06:55 <oklopol> i'im pretty sure that works
00:06:57 <oklopol> *i'm
00:07:54 <oklopol> i got a bit stuck with fooCC returning "CA"+foo() first, but then realized A is "s", not "i"
00:08:59 <ihope> New version: http://pastebin.ca/679378
00:10:08 <ihope> Complete with multi-character regexes and working with weak alternation.
00:11:16 <oklopol> hmmm
00:11:43 <RodgerTheGreat> I just got here- could someone briefly explain what that is?
00:12:11 <oklopol> {/``k/; a <- sk(); sk(); a} <<< isn't the a just discarded?
00:12:18 <oklopol> RodgerTheGreat: a parsing-based language
00:12:19 <oklopol> by ihope
00:12:48 <RodgerTheGreat> oh. neato
00:14:33 <oklopol> {/``k/; a <- sk(); sk(); a} <<< does this return a from the whole sk expression?
00:14:46 -!- spacebark has joined.
00:15:04 <oklopol> oh
00:15:06 <oklopol> soryy
00:15:09 <oklopol> *sorry
00:15:11 <oklopol> i misread.
00:16:18 <oklopol> ihope: seems fine
00:16:30 <oklopol> i never thought it'd be that easy
00:16:48 <oklopol> perhaps because i didn't realize there were functions even though you mentioned them
00:17:54 <oklopol> ihope: what's the name of the lang?
00:18:13 -!- ehird` has quit (No route to host).
00:18:33 <oklopol> also, i think you could squeeze that program smaller
00:18:48 <oklopol> not that i'm necessarily up for the task...
00:20:03 <oklopol> ah
00:20:09 <oklopol> alright, you
00:20:17 <oklopol> *can't* pass parsers around
00:20:54 -!- oerjan has joined.
00:24:23 <oklopol> oerjan: look it's ski! http://pastebin.ca/679378
00:24:28 <oklopol> sk!
00:25:19 <oklopol> i'm gonna go buy something to drink now, before shops are closed ->
00:27:21 -!- spacebark has changed nick to spacebark_.
00:28:16 -!- spacebark_ has changed nick to spacebark.
00:29:58 <oerjan> oklopol: it tries the _last_ option first? otherwise the structure reminds me of haskell's Parsec with monads (especially the <-'s)
00:32:31 <ihope> oerjan: what's this about last option first?
00:33:07 <oerjan> ihope: oklopol's paste
00:33:13 <ihope> And yes, it's sort of a subset of Parsec :-)
00:33:19 <ihope> oerjan: I wrote that program.
00:33:39 <oerjan> oh :)
00:33:42 -!- rutlov has joined.
00:33:51 <ihope> What's this about trying the last option first?
00:34:03 <oerjan> that's what you would have to do in parsec
00:34:12 <ihope> Why?
00:34:20 <oerjan> or wait...
00:34:39 <oerjan> i'm mistaken
00:34:41 -!- rutlov has left (?).
00:35:12 <oerjan> they're actually disjoint, i was confused by no ^$ or similar around k and s
00:35:32 <oerjan> but of course that's not needed for unlambda syntax
00:35:38 <ihope> In parsec, does string "bar" <|> string "baz" work properly, or say that it was expecting r after ba?
00:36:00 <oerjan> no, you need to put try around string "bar"
00:36:31 <oerjan> an option without try is not backtracked unless it consumes no input
00:37:26 * ihope nods
00:37:46 <ihope> Here, /bar/ applied to "baz" doesn't consume input.
00:37:53 <oerjan> this allows parsec to prune many branches for efficiency, i believe
00:38:17 <ihope> Otherwise, it works the same way as Parsec when it comes to alternation, I think.
00:49:31 -!- spacebark has quit ("( www.nnscript.de :: NoNameScript 4.02 :: www.XLhost.de )").
00:58:02 <oklopol> i should've known that genius an idea must have come from haskell :)
00:58:13 <oklopol> especially when it's ihopes
00:58:16 <oklopol> ihope's
00:58:25 <ihope> :-)
00:58:37 <oklopol> uhhh energy, flow through me
00:59:02 <oklopol> some ed energy drink to make my night complete
00:59:27 <oklopol> it seems my friend's bot is still running on my network, so i can't take it offline...
00:59:30 <oklopol> darnz
00:59:46 <oklopol> i could do my germans, but BLARGH
00:59:47 <ihope> Does somebody happen to feel like naming, implementing and posting-on-the-wiki my language?
00:59:54 <ihope> (I probably should have thought that word order through better.)
01:00:04 <oklopol> heh
01:00:44 <oklopol> perhaps i just idle and look at this channel?
01:00:48 <oklopol> sounds like a plan.
01:01:23 <ihope> Cool, I/O errors.
01:01:36 * ihope pushes the Small Red Button
01:01:38 <oklopol> ihope: what's the reason for not having first-class parsers?
01:01:51 <ihope> oklopol: lack of necessity, I guess.
01:02:04 <ihope> Lack of necessity, possible ease of implementation.
01:02:14 <ihope> Does that actually make it any easier to implement?
01:02:38 * ihope ponders
01:02:48 <ihope> Ah, maybe it's about blocks.
01:03:17 <ihope> Does the block return the last parser, or run it and return what it returns?
01:03:24 <oklopol> hmm
01:03:27 <ihope> And if the latter, how *do* you return the last parser?
01:03:43 <oklopol> you have separate high-level operators
01:03:57 <oklopol> </aaa/>
01:04:05 <ihope> ...what?
01:04:11 <oklopol> <> brackets for lambdas
01:04:14 <oklopol> or smth
01:04:25 <oklopol> like a=</aaa/>;
01:04:42 <oklopol> <> takes a string and returns the parser
01:04:46 <ihope> Ah, I see what you mean.
01:04:48 <ihope> ...I think?
01:04:50 <oklopol> leaving the string intact
01:04:50 <oklopol> hmm
01:05:01 <ihope> What do you mean, takes a string and returns the parser?
01:05:05 <oklopol> i mean
01:05:09 <oklopol> everything is a parser
01:05:12 <oklopol> so <> must be too
01:05:18 <oklopol> so... it takes a string
01:05:22 <oklopol> because everythign does...
01:05:24 <oklopol> *everything
01:05:46 <ihope> What parser does it return?
01:05:53 <oklopol> whatever is inside it
01:06:12 <ihope> So <"/aaa/"> is /aaa/?
01:06:26 <oklopol> a=</[sk]/>; would help in making the parser
01:06:30 <ihope> Or </aaa/> returns /aaa/?
01:06:33 <oklopol> of course, that's very simple as it is
01:06:34 <oklopol> err
01:06:35 <oklopol> yes
01:06:43 <oklopol> that's what i meant
01:07:14 <ihope> Actually, I do sort of have some... regexes that aren't taken advantage of.
01:07:22 <oklopol> what?
01:08:04 <ihope> http://pastebin.ca/679421
01:10:05 <oklopol> yeah
01:10:10 <oklopol> that was what i meant
01:10:18 <ihope> Also, I'm not at all using the anchor $, which could be... you know, user as that anchor.
01:10:29 <oklopol> hmm... what's that?
01:10:30 <ihope> s/user/used/
01:10:47 <ihope> /$/ matches only when there's nothing left of the string.
01:11:00 <oklopol> ah, would that help?
01:11:18 <ihope> Well, it's not required for Turing-completeness, but it'd be nice, I guess.
01:11:21 <oklopol> oh $ is the past-the-end character?
01:11:38 <ihope> Um...
01:11:58 <oklopol> like
01:12:03 <ihope> /$/[""] = ""
01:12:13 <ihope> /$/["foo"] = immediate fail
01:12:34 <oklopol> /asdf$/["asdf"] = "asdf", /asdf$/["asdffd"] = fail
01:12:36 <oklopol> ?
01:12:42 <ihope> Yeah.
01:12:50 <oklopol> so it's the past-the-end character
01:13:02 <oklopol> like, something implicitly in the end of every string
01:13:06 <oklopol> i mean
01:13:08 <oklopol> not literally.
01:13:10 <ihope> Pretty much.
01:13:16 <ihope> EOS.
01:13:19 <oklopol> yeaaaaaaaaaaaa
01:17:18 <oklopol> http://en.wikipedia.org/wiki/World's_funniest_joke <<< god the third one is bad
01:17:26 <ihope> What the...
01:17:46 <oklopol> what the what?
01:17:54 <ihope> This file didn't get written.
01:18:25 <oklopol> eh... i see.
01:19:31 <ihope> This time it got written, but it's full of ÿ.
01:19:47 <oklopol> whut file?
01:20:38 <ihope> It's the output of a certain command.
01:21:17 <ihope> That time it got written properly.
01:21:26 <oklopol> cool
01:24:33 <oklopol> A boy owned a dog that was uncommonly shaggy. Many people remarked upon its considerable shagginess. When the boy learned that there are contests for shaggy dogs, he entered his dog. The dog won first prize for shagginess in both the local and the regional competitions. The boy entered the dog in ever-larger contests, until finally he entered it in the world championship for shaggy dogs. When the judges had inspected all of the competing dogs, they remarke
01:24:40 <oklopol> god this is great xD
01:24:50 <oklopol> still laughing
01:25:28 <ihope> Truncated.
01:25:50 <oklopol> i don't think it could get any funnier
01:25:54 <ihope> Of course, you can't say "ever-larger contests". You have to say all of them.
01:26:19 <oerjan> of course you can, he just did.
01:26:28 <oklopol> i couldn't tell that joke, it's just too funny
01:26:31 <oklopol> xDDDDDDDD
01:26:50 <oerjan> you're just putting us on with that truncation.
01:27:11 <ihope> I'll find the full version.
01:27:35 <oklopol> it's not funny when you say it out loud
01:27:39 <oklopol> i just tried
01:27:48 <ihope> Well, hey.
01:27:49 <ihope> 'When the judges had inspected all of the competing dogs, they remarked about the boy's dog: "He's not so shaggy."'
01:28:24 <oerjan> The end?
01:29:21 <oklopol> oh my god these ppl have been flooding on my server...
01:29:22 <oerjan> Ah.
01:29:37 <ihope> Yup, the end.
01:29:41 <oklopol> like 3 hours it's just been emptying the buffer
01:29:49 * oerjan looked it up.
01:30:07 -!- importantshock has joined.
01:30:21 <oerjan> i now see why you have to say all of them.
01:30:30 * oerjan is enlightened.
01:31:00 -!- importantshock_ has joined.
01:31:38 -!- importantshock has quit (Nick collision from services.).
01:31:45 -!- importantshock_ has changed nick to importantshock.
01:32:21 <oklopol> pretty weird out of all there people the scandinavians are here.
01:32:25 <oklopol> considering the time
01:32:29 <oklopol> *thesse
01:32:31 <oklopol> *these
01:33:06 <oklopol> something to do.. something to do..
01:33:07 <dibblego> we're 'ere mate
01:33:14 <oklopol> oh :D
01:33:17 <oklopol> i've never seen ya
01:37:01 <oerjan> it is somewhat difficult to be transitive and symmetric (which it is) but not reflexive - the non-reflexive elements would have to be related to nothing.
01:37:16 <oerjan> Wong Chan-Nel strikes again.
01:39:16 -!- rutlov has joined.
01:40:15 -!- rutlov has left (?).
01:40:29 <ihope> Hmm, indeed.
01:40:56 <ihope> Doesn't seem like an order.
01:41:41 <ihope> Oh, pff.
01:42:01 <ihope> Oh, yeah, I see now.
01:42:15 <ihope> Yeah, not related to anything.
01:50:13 -!- CakeProphet has joined.
02:16:44 <ihope> CakeProphet!
02:17:00 <ihope> I thought you'd, like, died or something! :-P
02:17:38 <oerjan> old prophets never die! or something.
02:25:18 <ihope> Also, this is cool: http://1089059683/
02:25:21 <ihope> It's Google.
02:31:01 <bsmntbombdood> ooooold
02:34:08 -!- importantshock has quit (Read error: 104 (Connection reset by peer)).
02:34:31 <ihope> What's old?
02:35:03 <bsmntbombdood> that's what he said
02:36:10 * ihope nods
02:39:15 <CakeProphet> omg
02:39:17 <CakeProphet> ...I did die
02:39:19 <CakeProphet> but I came back
02:39:31 <CakeProphet> subversion releave 2.5.5.5.0.2.1.2
02:39:32 <bsmntbombdood> i pooted *_*
02:39:50 <CakeProphet> ... *release
02:40:57 <oklopol> CakeProphet: what ihope said
02:41:03 <oklopol> :)
02:41:10 <CakeProphet> ...the CakeProphet project was officially orphaned... so I'm stuck on an outdated revision.
02:41:15 * bsmntbombdood bsmntbombdood *
02:41:22 <ihope> CakeProphet: do you intend on dying again any time soon?
02:41:30 <CakeProphet> ...perhaps
02:41:36 <CakeProphet> these things are enigmas
02:41:43 <bsmntbombdood> when you do, can i sex you?
02:41:43 <CakeProphet> enigmas that are confusing...
02:41:46 <CakeProphet> ...yep
02:41:53 <bsmntbombdood> sweet
02:42:05 * CakeProphet was missed?
02:42:08 <CakeProphet> INTERESTING
02:42:47 <bsmntbombdood> the wall on which \ the prophets wrote \ is cracking \ at the seams
02:42:49 <bsmntbombdood> etc
02:52:33 <oklopol> exactly what i was thinking
02:58:53 <ihope> Yeah, you were sort of missed.
03:04:11 <bsmntbombdood> i was mist
03:08:01 <ihope> No, CakeProphet was mist.
03:08:10 <ihope> Never mind that "mist" means "garbage".
03:08:27 <oerjan> i thought it meant fog
03:09:27 <ihope> German slang term, I think.
03:09:41 <oklopol> mist collection
03:09:53 <oerjan> then it needs to be capitalized by those who do such things
03:09:55 <oklopol> a german gc
03:10:47 <oklopol> tree rewriting is much harder to codify than i thought...
03:10:48 <ihope> Blah, who actually capitalizes common nouns in German? :-P
03:10:57 <oklopol> in irc?
03:11:09 <ihope> I don't think English would be much different if we did that here.
03:11:24 <ihope> I meant to capitalize all the common Nouns in that Sentence, but it didn't have any.
03:11:43 <oklopol> none germans awake, can't show ya, but they do use capitals
03:11:46 <ihope> So I did all of them in that one instead.
03:11:48 <oklopol> at least some
03:12:40 <ihope> Annoying that you only encounter Nouns when you're not trying to :-P
03:12:48 <ihope> Should I stop capitalizing them now?
03:13:13 <ihope> Hmm, I'll do it... vacuously! >:-)
03:14:37 <oklopol> Why Not Capitalize everything But Annoyingly Forget To capitalize Some Words?
03:15:16 <bsmntbombdood> why not lowercase everything?
03:15:30 <oklopol> that's what i generally do
03:16:23 <bsmntbombdood> HOW ABOUT UPPERCASE EVERYTHING?
03:16:31 <bsmntbombdood> BECAUSE CAPS LOCK IS CRUISE CONTROL FOR COOL
03:17:02 <oklopol> I LIKE THIS
03:17:07 <oklopol> BUT MANY PEOPLE DON'T
03:17:17 <oklopol> I DON'T UNDERSTAND WHY HAVE TO KINDS OF LETTERS
03:17:21 <oklopol> *TWO
03:17:25 <bsmntbombdood> EVEN WITH CRUISE CONTROL YOU STILL NEED TO STEER
03:17:51 <oklopol> EVEN LESS I UNDERSTAND WHY TO HAVE ONE OF THE CASES BE NON UNISIZEY
03:17:53 <oklopol> LIKE
03:18:02 <oklopol> a, y, l, WHAT'S THAT ABOUT
03:18:45 <CakeProphet> :)
03:18:47 <bsmntbombdood> I DON"T EVEN HAVE A CAPS LOCK KEY
03:19:41 <oerjan> oklopol: um, to have as much variation as possible to make your visual apparatus pick things up easier?
03:19:49 <chton_> HoW aBoUt AlTeRnAtiNg?
03:20:12 -!- chton_ has changed nick to Chton.
03:20:48 <oklopol> oerjan: purity over readability
03:20:52 <bsmntbombdood> HoW aBouT oNLY CaPiTaLiZiNG CoNSoNeNTS?
03:21:06 <oklopol> ONE PEOPLE, ONE COLOR, ONE CASE
03:21:20 <bsmntbombdood> ESOTERIC POWER
03:21:30 <Chton> bsmntbombdood: nOt A bAd IdEA
03:21:32 <Chton> :p
03:21:36 <pikhq> I have a Caps Lock. . .
03:21:37 <oklopol> well, having consonants bigger than vocals is okay
03:21:44 <pikhq> I call it "Ctrl".
03:21:58 <oklopol> :|
03:22:10 <pikhq> Hmm. I've got an Idea. Let's use the traditional Notion of capitalising all Nouns in English Sentences.
03:22:12 <oklopol> my ctrl doesn't do that
03:22:27 <bsmntbombdood> pikhq: where'd that come from?
03:22:34 <oklopol> pikhq: let's just speak german
03:22:35 -!- rutlov has joined.
03:22:38 <Chton> how about inventing an inbetween case?
03:22:52 <bsmntbombdood> oklopol: what languages do you speak?
03:23:02 <oklopol> urrrrrrrrr finnish german english swedish
03:23:09 <oklopol> also zx3 and lojban a bit
03:23:18 <oklopol> and i understand spanish a bit
03:23:23 <oklopol> very very bit :)
03:23:24 <bsmntbombdood> i meant fluent
03:23:26 <pikhq> bsmntbombdood: It was a feature of English until, IIRC, the late 1700's, and I *think* is still used in German.
03:23:27 <oklopol> oh
03:23:33 <oklopol> english and finnish pretty fluent.
03:23:35 -!- rutlov has left (?).
03:23:37 <Chton> it is pikhq
03:23:50 <oklopol> swedish and german i can have a conversation in
03:24:15 <Chton> scandinavian languages ftw
03:24:34 <oklopol> i have both swedish and german matriculation in a few weeks (end-of-high-school-test)
03:25:12 <oklopol> bsmntbombdood: why do you ask?
03:25:18 <bsmntbombdood> just wondering
03:25:43 <bsmntbombdood> i bet oerjan knows more than one language
03:25:48 <bsmntbombdood> i bet pikhq doesn't
03:25:54 <oklopol> :P
03:26:04 <oklopol> i'm gonna learn them all
03:26:10 <pikhq> bsmntbombdood: Hontou zya nai.
03:26:24 <bsmntbombdood> are you fluent in espranto?
03:26:32 <pikhq> No.
03:26:35 <pikhq> That was Japanese.
03:26:44 <bsmntbombdood> ...or japanese?
03:26:49 <pikhq> (romanised; my IME doesn't like my terminal)
03:26:51 <Chton> yes, and it's not friendly to curse pikhq
03:27:02 <pikhq> No, I'm merely a 4th-year student.
03:27:08 <pikhq> Chton: "Not true" is cursing?!?
03:27:16 <Chton> just guessing :p
03:27:22 <bsmntbombdood> i bet everyone in here that's not from the US or canada or the UK speaks more than one language
03:27:35 <pikhq> Quite possible.
03:27:36 <Chton> i'd say that's a pretty solid bet
03:27:59 <oklopol> well, the native one and english are quite hard to evade...
03:28:08 <Chton> true
03:28:21 <Chton> doubly so if you live in a country with 3 languages
03:28:38 <pikhq> Of course, when English is native, it's hard to evade English. ;)
03:28:44 <Chton> :)
03:28:59 <oklopol> bsmntbombdood: i don't speak german or swedish that fluently, but i do have a prety native accent in both!
03:29:17 <oklopol> in germany, they said i sounded like a native for a while
03:29:30 * oklopol starts bragging when it's tired, it seems
03:29:30 <pikhq> I look native until I speak in Germany. :p
03:30:02 <Chton> lol
03:30:17 <oklopol> *pretty
03:30:46 <pikhq> And I also get the curious property of looking vaguely English, as well. . .
03:30:57 <pikhq> Damned America, making mutts of us all. :p
03:31:15 <bsmntbombdood> i look vaguely SUPER SEXY
03:31:26 <pikhq> Very vaguely.
03:31:27 <Chton> only very very vaguely
03:31:48 <oerjan> almost, but not entirely unlike SUPER SEXY
03:32:01 -!- ihope has quit (Connection timed out).
03:32:10 <oklopol> i'm pretty sexy
03:32:24 <oklopol> !
03:32:26 <Chton> <-- almost, but not enirely GOING TO SLEEP
03:32:27 <EgoBot> Huh?
03:32:39 <oklopol> EgoBot caught my lie
03:35:25 <bsmntbombdood> i am totally SUPER SEXY
03:35:36 <oklopol> yeah, we've all seen your pics
03:36:22 <oerjan> that old guy with the beard, right?
03:37:06 <bsmntbombdood> i envy his beard
03:49:18 <pikhq> Bow.
03:49:50 <bsmntbombdood> Wow?
03:50:40 <oerjan> How?
03:51:01 <pikhq> Bow before me!!!
03:52:04 <bsmntbombdood> no, after
03:52:30 <oerjan> Now?
03:53:39 <bsmntbombdood> Blow
03:54:26 <oerjan> Good show
03:54:48 <bsmntbombdood> Down low
04:03:36 <bsmntbombdood> i have a roll of duck tape
04:03:39 <bsmntbombdood> is awesome
04:05:28 <oklopol> omg i got it working
04:07:11 <bsmntbombdood> what?
04:08:26 <oklopol> trewriter
04:08:40 <oklopol> a tree rewriting quickie i'm doing in python
04:09:55 <bsmntbombdood> write a general one
04:10:05 <oklopol> what do you mean?
04:10:24 <oklopol> i'd like to make it not a language, but a python library
04:10:32 <bsmntbombdood> is it general?
04:10:35 <oklopol> but currently i'm parsing the rule from strings, at least
04:10:40 <oklopol> i'm not sure what that is.
04:10:44 <oklopol> that's why i asked
04:11:13 <bsmntbombdood> i mean like a function that takes a set of rules and a tree, and returns the rewritten tree
04:11:39 <oklopol> def trewrite(rules,data):
04:11:42 <oklopol> yep
04:11:50 <oklopol> that's what it does
04:12:03 <oklopol> rules is also just a python list
04:12:05 <bsmntbombdood> how do you specify the rules?
04:12:06 <oklopol> actually
04:12:15 <oklopol> rules_str="""
04:12:15 <oklopol> ["k",a,b]:a
04:12:15 <oklopol> """
04:12:18 <oklopol> k combinator
04:12:21 <oklopol> *-actually
04:12:45 <oklopol> [[[('r', 'k'), 'a', 'b'], 'a']]
04:12:49 <oklopol> currently becomes that
04:12:55 <bsmntbombdood> you mean [["k", a], b]
04:13:07 <oklopol> well, should be, yes.
04:13:22 <oklopol> but... that wouldn't work yet
04:13:28 <oklopol> so it's like that until it will.
04:16:35 -!- oklofok has joined.
04:16:44 <oklofok> i did the disco :<
04:17:07 <bsmntbombdood> /disco makes you do a little dance!
04:17:11 * bsmntbombdood dances *
04:18:02 * oerjan too
04:19:41 <oklofok> hmm, gimme something in unlambda again...
04:19:50 <oklofok> i'll try out my sk-interpreter
04:19:55 <oklofok> rules_str="""
04:19:55 <oklofok> [["k",a],b]:a
04:19:55 <oklofok> [[["s",a],b],c]:[[a,c],[b,c]]
04:19:55 <oklofok> """
04:21:18 <oklofok> actually, i was mainly going for a nice support for making the tree rewriting *rules*, but the actual tree rewriting turned out to be quite tricky
04:21:24 <oklofok> or then it's just all the tired.
04:21:56 <oklofok> >>> pl ``^a^b$a
04:22:05 <oklofok> >>> pl `^a^b$a
04:22:14 <oklofok> ...
04:22:23 <oklofok> i'm fairly sure that should work
04:22:29 <oklofok> >>> pl i
04:22:30 <ololobot> i
04:22:40 <oklofok> >>> pl `ii
04:22:41 <ololobot> `ii
04:22:46 <oklofok> >>> pl `^a$a
04:22:49 <oklofok> >>> pl `^a$ai
04:22:49 <ololobot> `ii
04:23:03 <oklofok> >>> pl ``^b^a$aii
04:23:03 <ololobot> ```kiii
04:23:14 <oklofok> >>> ul ```kiii
04:23:15 <ololobot> -> i
04:23:28 <oklofok> >>> ul ```kiil
04:23:28 <ololobot> -> l
04:26:09 <oklofok> whut
04:26:11 <oklofok> it works
04:26:13 <oklofok> :O
04:27:41 <oklofok> [[["k","i"],"i"],"l"] -> "l"
04:27:52 <oklofok> hmm... something harder, with "s"?
04:28:04 <oklofok> please gimme, i'm all coded out
04:28:37 <oerjan> ```sii``sii
04:28:41 <oklofok> :D
04:28:49 * oerjan whistles innocently
04:28:49 <oklofok> something that won't crash
04:29:01 <oklofok> guess i could check if it crashes
04:30:29 <oklofok> RuntimeError: maximum recursion depth exceeded in cmp
04:30:43 <oklofok> can you give me something a bit more complicated, but not toooo much?
04:31:02 * oerjan needs to calculate it first
04:31:12 <oklofok> i don't understand how i don't have any sk code nearby, sk is basically all i do :D
04:31:56 <oklofok> and random python quickies
04:32:34 <oerjan> ````s``s`ksk``s``s`ksk`kiki
04:33:23 <oklofok> what should that do?
04:33:34 -!- oklopol has quit (Connection timed out).
04:33:45 <oklofok> and... whut? :|
04:33:48 -!- oklofok has changed nick to oklopol.
04:33:49 <oklopol> indeed.
04:34:06 <oerjan> i think it should return `k`ki
04:34:52 <oklopol> hmm... that's a bit hard to manually convert for python...
04:35:00 <oklopol> i guess it's not
04:35:05 <oklopol> <- tider
04:35:08 <oklopol> riedt
04:35:11 <oklopol> tdire
04:35:15 <oerjan> wait... i made it too complicated
04:35:31 <oklopol> it's fine if you do the conversion :)
04:35:49 <oklopol> i could make a convertor, but that'd take longer than necessary, methinks
04:35:57 <oklopol> >>> ski->py
04:36:04 <oklopol> well
04:36:08 <oklopol> >>> sk-py
04:36:15 <oklopol> if you wanna keep convertors similar
04:36:17 <oklopol> okokoko
04:37:25 -!- cherez has joined.
04:38:47 <oklopol> [[[[s,[[s,[k,s]],k]],[[s,[[s,[k,s]]],k],[k,i]]],k],i]
04:38:49 <oklopol> i think
04:38:55 <oklopol> and then strings out of those
04:39:33 <oerjan> ````s``s`kskiki
04:39:37 <oklopol> >>> ul ````s``s`ksk``s``s`ksk`kiki
04:39:38 <ololobot> -> ('k', ('k', 'i'))
04:39:44 <oklopol> is that right?
04:39:48 <oklopol> `k`ki
04:39:48 <oerjan> i forgot all the shortcuts
04:39:57 <oerjan> i hope so
04:39:59 <pikhq> I hate you and your SKI calculus.
04:40:26 <oklopol> fuck
04:40:27 <oklopol> ['k', [[[['s', [['s', ['k', 's']]], 'k'], ['k', 'i']], 'k'], 'i']]
04:40:30 <oklopol> failed :<
04:40:31 <oerjan> now you can try `` ```s``s`kski``s``s`kski ki
04:40:38 <oklopol> or then i failed.
04:40:44 <oklopol> >>> ul ````s``s`kskiki
04:40:44 <ololobot> -> ('k', ('k', 'i'))
04:40:50 <oklopol> i'll try that
04:41:11 <oerjan> that should be the same, i forgot some shortcuts the first time
04:42:24 <oklopol> ['k', ['k', 'i']] <<< kay, now worked
04:42:30 <oklopol> was most likely my error then...
04:42:35 <oklopol> #````s``s`ksk``s``s`ksk`kiki
04:42:35 <oklopol> #[[[["s",[["s",["k","s"]],"k"]],[["s",[["s",["k","s"]]],"k"],["k","i"]]],"k"],"i"]
04:43:04 <oklopol> try converting that if you please
04:43:12 <oklopol> i don't feel like doing it again...
04:43:20 <oklopol> and fuck, school soon
04:43:35 <oerjan> it contains the same subparts
04:44:11 * oerjan doesn't really feel like doing it either
04:44:14 <oklopol> :P
04:44:18 <oklopol> i'll redo it.
04:45:46 <oerjan> try `` ```s``s`kski``s``s`kski ki instead, it's just the shortest version with a part doubled
04:45:57 <oklopol> [[[[s,[[s,[k,s]],k]],[[s,[[s,[k,s]],k]],[k,i]]],k],i]
04:46:06 <oerjan> (and ` prepended)
04:46:11 <oklopol> okay...
04:46:16 <oklopol> one tiny difference.
04:46:20 <oklopol> let's try that
04:47:07 <oklopol> ['k', ['k', 'i']] <<< yeas fucking omg ?!?
04:47:12 <oklopol> it worked, that is
04:47:34 <oerjan> my first suggestion?
04:47:38 <oerjan> yep
04:47:42 <oklopol> i don't need to try anything anymore, if one random program works, everything works :)
04:47:46 <oklopol> that's the beauty of sk
04:48:04 <oklopol> your first suggestion, indeed
04:48:07 <oklopol> how did you do that?
04:48:25 <oklopol> `k`ki and then synonym replacementz?
04:49:47 <oklopol> hmm... if the "from" expression is more complex, it prolly fails... i'll try to implement "append"
04:50:13 <oerjan> ^f^x`$f`$f$x and then abstraction implementation
04:50:45 <oerjan> then apply to k i
04:51:17 <oklopol> >>> pl ^f^x`$f`$f$x
04:51:18 <ololobot> ``s``s`ks``s`kki``s``s`ks``s`kki`ki
04:51:39 <oklopol> some day...
04:51:48 <oerjan> that is with no shortcuts at all
04:51:57 <oerjan> i assume
04:52:15 <oklopol> it does absolutely no optimization
04:52:26 <oklopol> just the transformation described on the unlambda page
04:55:41 <oklopol> ['append', [[[[[[['nil']]]]]]], [[[['nil']]]]]
04:55:41 <oklopol> ===>
04:55:41 <oklopol> [[[[[[[[[[['nil']]]]]]]]]]]
04:55:43 <oklopol> omg
04:55:52 <oklopol> i can't believe it's working that well
04:56:01 <oklopol> ["append",[a],b]:["append",a,[b]]
04:56:01 <oklopol> ["append","nil",b]:b
04:56:14 <oklopol> that was like a 1 hour project
04:56:37 <oklopol> and that's better than scheme
04:56:44 <oklopol> i mean, better than my scheme.
04:57:14 <oklopol> >>> sch "this is so sucky, there aren't even strings yet."
04:57:15 <ololobot> None
04:59:07 <oklopol> hmm... can't think of anything else i can do with that in the 20 minutes i have left
04:59:16 <oklopol> guess i should start making that better.
05:01:02 <oklopol> have to make a syntax for specifying something macroish
05:01:20 <oklopol> like "only match top level"
05:01:58 <oerjan> afk
05:08:57 <oklopol> basically, this is thue with trees
05:09:01 <oklopol> like... thrue
05:09:02 <oklopol> ["append",[a],b]:["append",a,[b]]
05:09:02 <oklopol> ["append","nil",b]:b
05:09:02 <oklopol> ["append",[[[[[[["nil"]]]]]]],[[[["nil"]]]]]
05:13:22 <oklopol> ["append",[a],b]:["append",a,[b]]
05:13:22 <oklopol> ["append",[],b]:b
05:13:22 <oklopol> [append,[[[[[[[]]]]]]],[[[[]]]]]
05:13:23 <oklopol> xD
05:13:28 <oklopol> ingenious
05:13:37 <oklopol> whooops
05:13:43 <oklopol> i wasn't gonna put that here
05:13:59 <oklopol> my first channel fail \o/
05:14:09 <oklopol> oerjan: now i know how you feel
05:14:38 <oklopol> it's pretty bad
05:16:08 <oklopol> i gotta leave now, cya ->
05:18:56 -!- rutlov has joined.
05:19:56 -!- rutlov has left (?).
05:25:33 <pikhq> I'd like to inform Sukoshi that it's been one *year* since the Esolang contest, and its still not been judged.
05:25:39 <pikhq> (hell, am I the only entrant?)
05:29:01 <oerjan> i am sure the contest is being conducted according to all relevant esolang traditions.
05:29:28 <oerjan> which, unfortunately, don't include actually completing the judging.
05:29:28 <pikhq> That's a bad sign. ;)
05:48:07 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
05:48:11 -!- oklofok has joined.
05:48:18 -!- theoros has quit (Connection timed out).
05:58:37 -!- oerjan has quit ("Carrot Cake Craving").
07:01:28 <pikhq> It is now PEBBLEversary.
07:02:57 <RodgerTheGreat> woo
07:03:18 <pikhq> Also, #esoteric is getting some holidays. w00t.
07:05:11 <pikhq> I would like to thank the US government for giving me the day off to celebrate this momentous occasion.
07:05:37 <RodgerTheGreat> you can't say they never did anything for you
07:06:07 <pikhq> I never said they did *nothing*, just that they do the wrong things. :p
07:35:55 <RodgerTheGreat> so, how are the PEBBLE-fest activities continuing?
07:36:19 <pikhq> I shall begin the festivities with the traditional PEBBLE sport: competitive sleeping.
07:36:33 <pikhq> (I'm lazy ;))
07:36:52 <bsmntbombdood> how do you win?
07:36:54 <RodgerTheGreat> my reticular activating system has still deserted me
07:41:51 <pikhq> bsmntbombdood: You don't. It's not much of a competiton. :)
07:41:53 <pikhq> G'night.
07:45:27 <RodgerTheGreat> 'night
07:45:31 * RodgerTheGreat sighs
07:46:45 <bsmntbombdood> why?
07:51:00 <RodgerTheGreat> because I'm having difficulty going to sleep
07:53:52 -!- rutlov has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:52 -!- rutlov has left (?).
08:01:52 * RodgerTheGreat tries bed again
09:35:41 -!- GreaseMonkey has joined.
10:07:16 -!- ehird` has joined.
10:23:44 <ehird`> #thelang didn't last long
10:23:45 <ehird`> :-)
10:31:01 -!- ehird` has left (?).
10:31:03 -!- ehird` has joined.
10:54:19 -!- GreaseMonkey has quit (Connection timed out).
11:04:02 <ehird`> anyone awake?
11:09:37 -!- ehird` has left (?).
11:09:39 -!- ehird` has joined.
11:25:07 -!- ihope__ has joined.
11:25:16 -!- ihope__ has changed nick to ihope.
12:16:13 -!- oerjan has joined.
13:20:58 -!- RedDak has joined.
14:12:31 -!- ehird` has quit (Read error: 104 (Connection reset by peer)).
14:12:59 -!- ehird` has joined.
14:17:35 -!- RedDak has quit (Read error: 110 (Connection timed out)).
14:24:32 -!- Tritonio_ has quit (Read error: 104 (Connection reset by peer)).
14:57:33 -!- CakeProphet has quit ("haaaaaaaaaa").
15:12:27 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)).
15:16:26 * ihope ponders instructions
15:16:38 <ihope> Assembly-type.
15:17:11 <ihope> Hmm, a bit shift left/if instruction would be nice.
15:34:48 -!- jix_ has joined.
15:48:09 -!- theoros has joined.
16:47:25 -!- sebbu has joined.
16:58:03 <pikhq> Cheers. . .
16:58:52 <ihope> Cheers?
17:02:47 <pikhq> It's PEBBLEversary.
17:05:17 * oerjan throws PEBBLES at everyone to celebrate
17:07:31 <ehird`> =D
17:08:03 -!- poiuy_qwert has joined.
17:08:16 <ehird`> write an article on how pebble works to celebrate
17:08:26 <ehird`> it'll help aspiring compile-to-bf language writers like me :p
17:13:42 <pikhq> It's in the PEBBLE tarball.
17:20:49 <ehird`> Well write a longer one and put it on the web
17:20:50 <ehird`> :<
17:20:56 <ehird`> i like my html
17:21:05 <pikhq> I call it "pebble.tcl"
17:21:12 <ehird`> Well phooey
17:21:16 <ehird`> I can't read tcl
17:21:19 <ehird`> I want a theoretical paper
17:25:06 <ehird`> =(
17:27:35 <pikhq> Sorry, I'm lousy at theory.
17:27:56 <pikhq> I follow a "git 'er done" philosophy to coding ATM. :p
17:45:35 <ehird`> i just want info about pebble v_v
17:48:52 -!- bsmntbombdood has joined.
17:49:12 <ihope> Yay, PEBBLES!
18:00:09 <pikhq> I'm open for questions on this magnificent holiday.
18:00:24 <SimonRC> hm?
18:02:30 -!- ehird` has quit.
18:05:24 -!- sebbu2 has joined.
18:07:43 -!- bsmnt_bot has joined.
18:07:52 <bsmntbombdood> i has a bot!
18:08:02 <SimonRC> oh, no, not again
18:15:36 -!- bsmntbombdood has changed nick to bsmntbombdood`.
18:15:52 -!- bsmntbombdood` has changed nick to bsmntbombdood.
18:16:09 -!- jix_ has quit (Nick collision from services.).
18:16:25 -!- jix__ has joined.
18:24:40 -!- sebbu has quit (Read error: 110 (Connection timed out)).
18:40:03 <ihope> Somebody translate http://pastebin.ca/679421 to C or something. :-P
18:40:49 <bsmntbombdood> what language is it/
18:40:50 <bsmntbombdood> ?
18:41:28 <ihope> I haven't given it a name.
18:41:38 <ihope> Perhaps it could be called Redivider.
18:41:59 <ihope> Even though it has nothing to do with palindromes or redivision.
18:42:31 <bsmntbombdood> it can't be converted to C unless we know the semantics
18:42:42 <ihope> Indeed.
18:43:12 <ihope> SK calculus. I think I'll come up with an interpreter in Haskell.
18:43:29 <ihope> (Because it's impossible to write an interpreter in any other language. :-P)
18:43:34 * SimonRC watches Atlantis
18:45:28 -!- Tritonio has joined.
18:59:50 <ihope> My. I'm having a weird urge to play Lincity.
19:00:09 <RodgerTheGreat> I learned PostScript last night. fun stuff.
19:00:11 <pikhq> I'm getting an urge to get good at Bos Wars.
19:00:30 <ihope> Ironic(al)ly enough, I only have it on my Windows machine.
19:02:27 <bsmntbombdood> learn postscript in one night?
19:02:56 <bsmntbombdood> write a tex compiler
19:06:45 <RodgerTheGreat> I dunno
19:07:29 <Tritonio> hello everyone...
19:12:08 <RodgerTheGreat> hi
20:03:34 -!- oerjan has quit ("Good night").
20:25:49 -!- RedDak has joined.
21:20:37 -!- jix__ has quit ("CommandQ").
21:31:16 -!- ihope has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
21:53:36 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)).
22:33:09 -!- ehird` has joined.
22:36:00 -!- sebbu2 has quit ("@+").
22:37:05 * ehird` is talking from xubuntu -- running on an intel iMac :)
22:37:10 <ehird`> wireless internet and all!
22:40:15 * SimonRC opines that OTTD rocks
22:48:55 <bsmntbombdood> ottd?
22:56:07 <SimonRC> JFGI
22:56:23 <SimonRC> Grow a Google reflex already.
22:56:54 <ehird`> SimonRC, alternatively, try and be less condescending and tell people instead of directing all queries to a website
22:57:09 <ehird`> i hear it's called "kindness"
22:57:37 <SimonRC> ok
22:57:49 <SimonRC> Open Transport Tycoon Deluxe.
22:57:51 <SimonRC> A Game
22:57:59 <SimonRC> based on Transport Tycoon Deluxe.
22:58:05 <SimonRC> kinda
22:58:06 <ehird`> sounds cool
22:58:12 <SimonRC> addictive
22:58:26 <SimonRC> looks cool, but light on th CPU
22:58:49 <ehird`> cpus are for using, people =p
22:59:00 <RodgerTheGreat> sounds almost as much fun as my duck-duck-goose task scheduler.
22:59:09 <SimonRC> lol
22:59:16 <ehird`> RodgerTheGreat, exciting
22:59:20 <SimonRC> you actually implemented that?
22:59:20 <ehird`> RodgerTheGreat, i'll tell EA games
22:59:35 <RodgerTheGreat> not nearly as exciting as the musical chairs version, although it has some minor issues
22:59:46 <SimonRC> race conditions?
23:00:17 <RodgerTheGreat> implementing the part where all the processes get up and run around is a trick
23:00:25 <ehird`> haha
23:00:36 <ehird`> integrate it with mpd or amarok or something
23:01:38 <SimonRC> I know, you could have all the processors in the machien randomly keep re-picking (but not running) processes, until an interupt stops them all and any processes having a CPU at the time run.
23:01:51 <SimonRC> which sucks if there is only 1 CPU
23:02:06 <ehird`> who wants to help out the planned implang-continuation :)
23:02:14 <ehird`> #testlang
23:02:32 <SimonRC> what is that?
23:02:51 <ehird`> a very very simple conlang planned over irc
23:03:04 <ehird`> basically you join, look at the language it is now, and discuss it.
23:03:21 <ehird`> i started that retry of the idea a day or so ago with ihope
23:03:30 <RodgerTheGreat> there's also the possibility of a russian-roulette task manager (made all the more amusing if you have a CPU capable of barrel multitasking)
23:04:21 <RodgerTheGreat> ehird`: is this in any way associated with the Adjudicated Blind Collaborative Design Esolang Factory?
23:04:27 <ehird`> RodgerTheGreat, no?
23:04:33 <ehird`> conlang = natural language
23:04:34 <RodgerTheGreat> aw. :(
23:05:02 <ehird`> why?
23:06:36 <ehird`> =/
23:09:35 <SimonRC> um
23:10:04 <SimonRC> surely conlang = constructed language?
23:10:09 <ehird`> yes
23:10:11 <ehird`> but a natural one
23:10:16 <ehird`> not programming
23:10:52 <ehird`> anyway, you should join in :p
23:13:03 <ehird`> :)
23:13:12 <ehird`> SimonRC: you could help kickstart it
23:13:32 <SimonRC> where?
23:13:36 <ehird`> #testlang
23:13:38 <ehird`> er wait no
23:13:39 <ehird`> #thelang
23:23:44 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
23:49:53 <ehird`> anyone else want to help out? ;)
23:53:58 -!- dibblego has quit (Remote closed the connection).
2007-09-04
00:04:00 -!- ehird` has quit (Remote closed the connection).
00:49:37 <oklofok> Adjudicated Blind Collaborative Design Esolang Factory <<< i realized the first letters are the beginning of the alphabet! only seen that about 100 times
00:52:21 <bsmntbombdood> hrm
00:52:52 <bsmntbombdood> i wonder if a [0-9]* password is easier to remember than a [a-z]* or [A-z]* password
00:54:08 <bsmntbombdood> i don't think so
03:08:55 -!- cherez has left (?).
03:17:38 -!- poiuy_qwert has joined.
03:53:36 -!- simplechat has joined.
03:53:50 <simplechat> yay! go brainfuck!
03:59:00 -!- CakeProphet has joined.
04:00:26 -!- g4lt-sb100 has joined.
04:00:32 -!- CakeProphet has quit (Client Quit).
04:01:44 <pikhq> simplechat: Not hard to do.
04:02:30 -!- CakeProphet has joined.
04:03:10 <CakeProphet> ..
04:19:23 <simplechat> lol
04:20:28 <pikhq> ,[.,]
04:47:47 <RodgerTheGreat> oklofok: we designed it that way, actually
04:51:53 <RodgerTheGreat> we had "Blind Collaborative Design", and then I came up with "Adjudicated", and everyone else contributed words to build the mighty non-acronym we have today
05:02:57 <oklofok> was i here that time?
05:03:10 <oklofok> or is it over a year old?
05:03:19 <oklofok> or whatever time i've been here
05:05:21 <oklofok> i've read everything people have said here except two weeks i were away and a few nights there was so much logs i only glansed through (mostly immi-originated...)
05:08:40 <oklofok> adjudicated = something that is not judged?
05:08:45 <oklofok> hmm...
05:09:00 <oklofok> i'm pretty sure i've known that word
05:10:11 <pikhq> I think it was a bit under a year.
05:11:37 <oklofok> hmm, adjudicate is the opposide of that
05:11:49 * oklofok fail-slaps itself
05:25:11 <RodgerTheGreat> http://www.thefreedictionary.com/adjudicated
05:26:25 <oklofok> i use answers.com for dictionary/google/wikipedia
05:39:56 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
05:48:07 <oklofok> omg a java course about objects starts today... this is gonna be mind-blowing
05:50:45 <oklofok> RodgerTheGreat: btw, it's kinda obvious you designed it that way, the odds of that happening are 1/244140625 (though odds of something improbable happening in general are much bigger), plus it's almost as improbable no one would actually notice it at some point and claim it was his plan all along.
05:51:32 <oklofok> and classes start in 10 minutes, it's 10 degrees outside, i don't own a jacket, i have to go by bike and it's a 7 km trip
05:51:37 <oklofok> this is gonna be fun.
05:51:39 <oklofok> ->
05:51:50 <oklofok> (black t-shirts ftw)
06:01:31 <bsmntbombdood> light your shirt on fire!
06:05:30 -!- poiuy_qwert has quit.
06:06:29 <bsmntbombdood> i've been reading colorado law
06:06:39 <bsmntbombdood> it's pretty blech
06:13:17 <bsmntbombdood> using a recording device in a movie theater is a misdemeanor
06:14:50 <bsmntbombdood> minimum wage for minors is 15% less than for unminors
06:29:40 -!- simplechat has quit ("There coming!").
06:49:50 -!- theoros has quit (Connection timed out).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:34 -!- GregorR has quit (Read error: 104 (Connection reset by peer)).
08:19:24 -!- GregorR has joined.
08:38:02 -!- oerjan has joined.
09:22:51 -!- SimonRC has quit (Read error: 104 (Connection reset by peer)).
09:22:55 -!- SimonRC has joined.
09:33:49 -!- oerjan has quit ("Lunch").
10:38:45 -!- ehird` has joined.
10:39:04 <ehird`> ciretose - like comatose, but induced by fucking of the brain
11:38:47 -!- ehird` has quit (Remote closed the connection).
11:39:27 -!- Sgeo has joined.
11:40:12 <Sgeo> Has anyone done anything with PSOX since I last talked about it? (not including now ofc)
11:42:59 -!- ehird` has joined.
11:44:24 <Sgeo> Hi ehird`
11:45:52 -!- ehird` has quit (Client Quit).
11:46:03 -!- ehird` has joined.
11:47:05 <Sgeo> re
11:49:10 <Sgeo> Anyone here?
12:03:06 <ehird`> no
12:03:27 * Sgeo pokes GregorR
12:03:34 <ehird`> i am not here
12:31:40 -!- jix_ has joined.
12:32:13 <Sgeo> Hi jix_
12:32:43 <jix_> moin
13:44:30 -!- ehird`_ has joined.
14:05:15 -!- ehird` has quit (Read error: 110 (Connection timed out)).
14:50:05 -!- jix_ has changed nick to jix.
15:18:57 -!- jix has quit (Nick collision from services.).
15:19:13 -!- jix has joined.
16:04:28 <oklofok> Sgeo: i don't know about the others, but i usually let people finish their own projects :)
16:04:37 <oklofok> unless PSOX is already ready
16:04:51 <Sgeo> Any comments on the newlines issue?
16:05:19 <Sgeo> Some esolang interpreters might require newlines before they can push output or take in input
16:05:22 <Sgeo> or something like that
16:05:37 <Sgeo> So I'm going to need to make 0x0A mandatory after every command
16:06:23 <oklofok> gotta leave :<
16:06:39 -!- ololobot has quit (Read error: 104 (Connection reset by peer)).
16:07:14 -!- sebbu has joined.
16:23:04 -!- oklofok has quit ("( www.nnscript.de :: NoNameScript 4.02 :: www.XLhost.de )").
16:56:37 -!- oerjan has joined.
17:18:24 <SimonRC> sebbu: no, you just create a 0x0A command that does nothing, but can be used to kick the interpreter into outputting.
17:18:47 <SimonRC> then programs use the 0x0A command like a kind of flush command
17:20:35 <oerjan> except it needs to be present on input as well
17:21:28 <SimonRC> I was only thinking about commands
17:21:42 <SimonRC> ah, I have another idea...
17:22:32 <SimonRC> the 0x0A command could cause the PSOX layer to feed you a newline, thereby flushing output and input in that order
17:22:47 <g4lt-sb100> SimonRC, now, do this over multiple architectures and endiannesses
17:23:31 <g4lt-sb100> ...remembering that they all have different reserved opcodes
17:23:51 <SimonRC> eh?
17:24:00 <SimonRC> no they don't
17:24:13 <SimonRC> PSOX is platform-independent
17:24:26 <g4lt-sb100> okay, do a 0x80 on a sparc. hint, it's not a null
17:24:36 <g4lt-sb100> nop ratehr
17:25:27 <SimonRC> WTF
17:25:36 <SimonRC> what the hel has that got to do with PSOX?
17:25:43 <oerjan> there is going to be an optional translation layer needed anyhow.
17:25:58 <oerjan> consider original INTERCAL, for example.
17:26:27 <oerjan> roman numerals in one direction, and i don't quite remember in the other.
17:26:34 <SimonRC> how do opcodes relate to a layer that allows bytestream-to-bytestream programs to do system-specific things?
17:26:59 <SimonRC> oerjan: input was digit names in a variaety of weird languages
17:29:38 <oerjan> some languages, such as unlambda, have most character I/O possible but it is so awkward that you might want a different encoding for efficiency.
18:01:43 * Sgeo was thinking that the client would be forced to do 0x0A after every command, and server sends 0x0A after every response
18:03:35 <Sgeo> But 0x0A doesn't necessarily indicate the end of the command or response
18:04:41 -!- sebbu2 has joined.
18:04:50 <Sgeo> Hi sebbu
18:04:54 <Sgeo> sebbu2,
18:21:52 <oerjan> > mapAccumR (flip divMod) 10000 [60,60]
18:21:59 <oerjan> grr
18:23:44 -!- sebbu has quit (Connection timed out).
18:39:01 -!- galt has joined.
18:54:05 -!- g4lt-sb100 has quit (Read error: 113 (No route to host)).
19:02:28 <ehird`_> oerjan: implementing... haskell?
19:02:52 <oerjan> just wrong channel again
19:06:50 -!- importantshock has joined.
19:09:25 <bsmntbombdood> oerjan should implement haskell
19:12:10 <ehird`_> it'd be the weirdest haskell ever
19:16:21 <bsmntbombdood> why?
19:19:39 -!- sebbu2 has changed nick to sebbu.
19:29:27 * bsmntbombdood needs to learn pi-calculus
19:35:19 * bsmntbombdood also needs to go to class now
19:55:58 -!- galt has changed nick to g4lt-mordant.
19:58:13 -!- Tritonio has quit (Remote closed the connection).
20:09:51 -!- Tritonio has joined.
20:30:03 -!- oerjan has quit ("Good night").
20:35:55 -!- RedDak has joined.
20:55:10 -!- CakeProphet has joined.
21:06:10 -!- rabidfurby has joined.
21:09:36 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
21:29:30 -!- oklopol has joined.
21:30:25 -!- ehird`_ has left (?).
21:30:28 -!- ehird`_ has joined.
21:30:33 <ehird`_> #thelang anyone?
21:33:26 -!- jix has quit ("CommandQ").
21:41:30 -!- CakeProphet has changed nick to SevenInchBread.
21:52:10 <oklopol> current projects: brainfuck-interpreter in True, and ski interpreter in Texas instruments TI-84
21:52:28 <oklopol> (or just TI-84, since ti is prolly texas instruments...)
21:52:49 <oklopol> is there an ski interpreter in an imperative language?
21:52:55 <oklopol> i haven't seen one :|
22:01:15 <ehird`_> youd have to implement a callstack and stuff
22:01:53 <oklopol> i implemented a list stack in TI-84
22:02:06 <oklopol> you can push and pop arbitrary lists
22:02:46 <oklopol> it prints the numbers as pixels on the graph
22:03:27 <oklopol> yes, i know there are matrices there... but mine is cewler.
22:11:57 <oklopol> because you can watch as your ski program evaluates
22:19:47 <bsmntbombdood> ti-84 basic is TERRIBLE
22:19:51 <oklopol> yeah :D
22:19:53 <oklopol> that's the challenge
22:20:02 <bsmntbombdood> my ti-89 has a c compiler
22:20:12 <bsmntbombdood> oooh
22:20:22 <bsmntbombdood> i should write ski in C as an excersize
22:20:24 <oklopol> after 8 minutes of silence, i answer in 3 seconds... some might say that's sad.
22:20:40 <oklopol> hmm... that might help making it in the basic
22:20:47 <oklopol> *in
22:20:51 <oklopol> c compiler?
22:20:52 <bsmntbombdood> probably
22:20:53 <oklopol> oh, 89
22:20:55 <bsmntbombdood> c compiler
22:21:04 <bsmntbombdood> the basic is better too
22:21:24 <oklopol> wonder if ti-84 has c...
22:21:34 <oklopol> i could... write an interpreter in the basic!"
22:21:35 <oklopol> :D
22:21:48 <oklopol> oh my god it's pain writing that
22:22:12 <oklopol> what's 89 basic like?
22:22:21 <oklopol> i mean, what's different
22:25:36 <bsmntbombdood> i don't remember
22:25:53 <bsmntbombdood> haven't coded in it since i got the calculator
22:41:09 <sp3tt> I wrote a BF interpreter for my hp 48.
22:42:20 <bsmntbombdood> i want an hp 48
22:42:48 <sp3tt> you sure do
22:44:07 <ehird`_> i want an hp 48g or whatever it was, and a ti-89
22:44:17 <ehird`_> :( but must spend money on less useless things..
22:47:00 <sp3tt> =)
22:47:15 <sp3tt> I got mine as a birthday present.
22:51:15 <oklopol> it's pretty trivial doing bf for ti-84
22:51:30 <oklopol> i don't know about hp 48
22:51:37 -!- sebbu has quit ("@+").
22:52:26 <sp3tt> my interpreter was probably not very efficient
22:52:33 <bsmntbombdood> it's universally trivial
22:52:34 <sp3tt> it took five minutes to run Hello world
22:52:43 <oklopol> bsmntbombdood: no
22:52:55 <sp3tt> a bf interpreter in bf is not trivial
22:53:02 <ehird`_> yes it is
22:53:10 <oklopol> that isn't hard, making it in ski is hard
22:53:12 <bsmntbombdood> that's because nothing in bf is trivial
22:53:17 <bsmntbombdood> oklopol: no it's not
22:53:22 <oklopol> really?
22:53:25 <oklopol> i never tried
22:53:42 <bsmntbombdood> you just write it in functional scheme, and have your computer do the abstraction elemination for you
22:53:44 <oklopol> i guess if you rip off list presentations from somewhere
22:53:57 <oklopol> haha, trues :P
22:55:47 <oklopol> i still think that doesn't make it any easier to do in ski
22:56:01 <oklopol> because the program will be immensely complex
22:56:18 <bsmntbombdood> no it won't
22:56:28 <bsmntbombdood> write it in scheme
22:56:34 <bsmntbombdood> it will be <25 lines
22:57:14 <bsmntbombdood> abstraction eliminated it of course will be very long
22:57:54 <ehird`_> 3=14
22:58:05 <oklopol> i think being able to make scheme -> ski, and therefore calling making bf in ski easy is pretty much like saying making a bf interpreter in ski is easy because you can just download it from the net
22:58:21 <oklopol> just because you can get the code from somewhere easily isn't really *trivially making it*
22:58:22 <bsmntbombdood> no it's not
22:58:33 <bsmntbombdood> not if you wrote the abstraction eliminator and the interpreter
22:59:06 <oklopol> if you wrote the abstraction eliminator in ski and encoded your scheme in the ski program, true, that's making it in ski
22:59:36 <ehird`_> Hey wow I forgot about kajirbot
23:00:53 -!- KajirBot has joined.
23:00:56 <ehird`_> .feed
23:00:57 <KajirBot> thanks :) but have you got cyanide?
23:00:59 <ehird`_> .feed cyanide
23:01:00 <KajirBot> thank you :)
23:01:03 <oklopol> :)
23:01:14 -!- KajirBot has quit (Remote closed the connection).
23:01:15 <ehird`_> :D
23:01:19 * ehird`_ adds a dictionary
23:01:46 -!- ololobot has joined.
23:02:29 * oklopol has a dictionary
23:02:37 <ehird`_> dodes dictionary.com have an api
23:02:54 <bsmntbombdood> yes, http
23:02:57 <ehird`_> Specifically I need a python api for dictionary (or a rest api is fine too)
23:03:04 <ehird`_> But not web scraping.
23:03:17 <oklopol> http sucks
23:03:24 <ehird`_> http doesn't suck
23:03:25 <ehird`_> html sucks
23:03:41 <oklopol> http sucks.
23:03:46 <ehird`_> no it doesn't
23:03:47 <ehird`_> justify that
23:03:53 <oklopol> it's text based
23:04:01 <oklopol> who the fuck needs that nowadays
23:04:15 <ehird`_> ..
23:04:32 <ehird`_> you enjoy spouting off garbage just to have your opinion differ from everyone else in here, don't you?
23:04:34 <oklopol> EVERYTHING SHOULD BE IN ONE BIG DATA STRUCTURE
23:04:39 <oklopol> no no
23:04:59 <oklopol> i'm pretty sure everyone here thinks it sucks.
23:05:07 <oklopol> except i now know you don't
23:05:20 <ehird`_> bsmntbombdood: Does HTTP suck, or does HTML suck
23:05:28 <bsmntbombdood> html
23:05:33 <oklopol> the main problem is coding interface into content
23:05:46 <ehird`_> that's html.
23:05:48 <ehird`_> not http.
23:06:14 <oklopol> indeed :)
23:06:26 <oklopol> i have to think a bit.
23:06:55 -!- ehird`_ has changed nick to ehird`.
23:07:27 <oklopol> there's a lot of text encoding issues i hate about it, but that might just be php originated
23:08:57 <ehird`> thats html
23:09:27 <bsmntbombdood> HYPER text PREprocESSOR!
23:10:00 <oklopol> well, i guess all i can hate about http is how it's used, which is basically hating html.
23:11:35 <oklopol> and also, i do think it's be much nicer to have a protocol over http to be able to skip the useless serializing part
23:11:39 <oklopol> i'm sure there is.
23:11:44 <oklopol> *it'd
23:13:07 <ehird`> what
23:13:14 <ehird`> have you even researched http
23:13:15 <oklopol> also, i think the whole layer system could've been done a lot better, it's verrry ugly
23:13:18 <oklopol> somewhat
23:14:48 <oklopol> i'll have to read te rfc i guess.
23:15:41 <oklopol> http seems to already support that.
23:15:47 <oklopol> about first line on the rfc :)
23:19:52 -!- rutlov has joined.
23:23:52 -!- rutlov has left (?).
23:29:39 <oklopol> this is much better than what cisco has taught me
23:30:10 <oklopol> i'll read the spec and see if i still have something to complain
23:35:38 <oklopol> *the
23:42:11 -!- g4lt-mordant has changed nick to unbewont.
23:44:30 -!- RedDak has quit (Remote closed the connection).
23:49:40 -!- ehird` has quit.
2007-09-05
00:03:42 -!- Sgeo has joined.
00:03:51 <Sgeo> Hi all
00:04:04 <oklopol> hi
00:05:23 * Sgeo goes to put newlines in the spec
00:05:55 <bsmntbombdood> auto-fill-region
00:06:09 <Sgeo> hm?
00:16:19 -!- importantshock has quit (Connection timed out).
00:40:09 <oklopol> This media type
00:40:09 <oklopol> UST NOT be used unless the sender knows that the recipient can arse
00:40:09 <oklopol> it;
00:40:32 <oklopol> (was trying to put quotes in, but indeed, mirc sucks.)
00:45:36 <oklopol> the more i read the rfc, the more i feel i was right, this is pretty horrible
00:53:46 <oklopol> i hate everything when i'm this tired, but god those rfc's... i could just strangle and rip them
00:54:18 <Sgeo> What RFC is this?
00:57:53 <oklopol> http://www.faqs.org/rfcs/rfc2616.html
00:58:26 <oklopol> there's a fun paragraph full of typoes :)
01:01:43 <oklopol> okay... i've now seen both the alternative forms "nescesarry" and "nessicary" for "necessary" :P
01:02:03 <oklopol> guess that's a hard word to type
01:05:26 <Sgeo> Typos can make an incredible difference.. "referer"
01:07:02 <oklopol> how come?
01:07:25 <oklopol> i mean, what did "referer" mean
01:08:10 <Sgeo> The HTTP header "referer" is called "referer" and not "referrer" due to a typo
01:08:29 <Sgeo> ARGH!
01:08:43 <Sgeo> should the Print NUL function end with 0x0A?
01:08:52 <Sgeo> Like every other function in PSOX will?
01:12:24 <oklopol> i thought "referer" was just the american version of "referrer"
01:12:42 <oklopol> that's prolly what other misspellers think, so that's no excuse for not knowing that
01:13:46 * Sgeo reconsiders.. not sure if it was a typo or spelling error..
01:14:47 <oklopol> most likely a spelling error
01:15:26 <oklopol> it's possible a lot of people don't know something like that, but not that probably they wouldn't see the lack of an "r" when used that for a while...
01:16:41 <oklopol> it's not *impossible* they've just typoed it a 100 times, but it's not very probable either
01:17:24 <Sgeo> "Referer is a common misspelling of the word referrer. It is so common, in fact, that it made it into the official specification of HTTP – the communication protocol of the World Wide Web – and has therefore become the standard industry spelling when discussing HTTP referers."
01:17:29 <Sgeo> http://en.wikipedia.org/wiki/HTTP_Referer
01:17:49 <oklopol> yeah, read that
01:18:48 <pikhq> The problem is that the RFC bureaucracy does not include a bureau of proofreading. ;)
01:19:08 <Sgeo> lol
01:19:23 -!- SevenInchBread has changed nick to CakeProphet.
01:19:27 <Sgeo> argh, the only way to really demonstrate the newline thing is with an example, methinks
01:22:53 <oklopol> "you know i negotiated my way through negotiator training, i should've failed the hell out of that class, that's how good i am"
01:51:25 <Sgeo> Is this sane?
01:51:27 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox-newline-demo.b
01:53:08 * Sgeo needs to leave at 10PM EST
01:56:04 * Sgeo pokes pikhq
01:57:22 * Sgeo urgently pokes pikhq and SimonRC and anyone else
01:57:42 <oklopol> minminor....
01:58:07 <Sgeo> minimum minor version the client (the BF code) will work with
02:00:03 <oklopol> is that cat?
02:00:28 <Sgeo> yes
02:00:56 <Sgeo> Works correctly with nulls; 0x00 0x02 0x00 is the "safe print character" function
02:01:02 <oklopol> quite a lot of overhead, i hope its other functionality makes it worth it :)
02:01:40 <oklopol> it's quite long... you could at least have a "safe print characterS" function as well
02:01:53 <Sgeo> ..how would that work?
02:02:23 <oklopol> <instr> <instr> <instr> <n> <value to output>{n}
02:02:53 <oklopol> basically, just that you could implicitly prefix that 000200 for the next n characters
02:03:39 <oklopol> i mean, just would be nice if you didn't have to do 4 times more outputs than you are actually using, if you're piping large amounts of data
02:05:19 * pikhq is poked
02:05:27 <pikhq> Sgeo: I assume you have a spec working?
02:05:55 <Sgeo> A demo of how I think newlines could be handled, and the newline thing hastily added to the spec
02:06:17 <pikhq> Err. Implementation?
02:06:26 <Sgeo> No implementation yet.
02:06:42 <Sgeo> A tutorial on how to get pipes working with Python would be nice
02:08:40 * Sgeo puts oklopol's idea into http://sgeo.diagonalfish.net/esoteric/psox-output.txt
02:09:35 <Sgeo> Would there be call for a function that could take an amount of bytes to safeprint larger than 255?
02:09:46 <Sgeo> Can't hurt
02:10:43 <CakeProphet> :)
02:10:56 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox-output.txt
02:11:00 <Sgeo> Hi CakeProphet
02:12:04 <Sgeo> Is my way of handling the newline issue sane?
02:12:09 * Sgeo wonders if GregorR is here
02:19:12 * Sgeo pokes
02:25:30 <CakeProphet> ...what?
02:25:32 <CakeProphet> -checks-
02:26:22 <CakeProphet> what newline issue?
02:26:25 * CakeProphet wasn't paying attention
02:28:43 -!- unbewont has changed nick to g4lt-mordant.
02:29:22 <Sgeo> Some interpreters might not show output until a newline is output
02:29:37 <Sgeo> and they might not receive input until a newline is put in
02:29:46 * Sgeo pokes CakeProphet
02:51:21 <GregorR> CHOROFLAM
02:53:08 <Sgeo> hm?
02:53:18 <Sgeo> GregorR, did you see how I handled the newline situation?
02:53:26 <bsmntbombdood> does this rag smell like chloroform to you?
02:58:11 <Sgeo> G'night all ;(
02:58:19 -!- Sgeo has quit ("Ex-Chat").
02:59:00 <GregorR> Choroflam = http://www.codu.org/choroflam/
02:59:08 <CakeProphet> ...does anyone here play starcraft?
03:00:11 <bsmntbombdood> GregorR: include a string-plucking algorithm
03:00:17 <bsmntbombdood> otherwise, fail
03:14:10 <CakeProphet> ...anyone?
03:36:17 <GregorR> bsmntbombdood: ... It's not a stringed instrument.
03:36:45 <bsmntbombdood> ok, reed-blowing algorithm?
03:37:17 <bsmntbombdood> because plain sawtooth just sounds bad
03:44:48 -!- puzzlet has joined.
05:15:22 -!- CakeProphet has quit (Read error: 113 (No route to host)).
05:44:08 -!- GreaseMonkey has joined.
07:26:25 -!- oerjan has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:44:41 -!- Tritonio_ has joined.
08:45:12 -!- Tritonio has quit (Read error: 110 (Connection timed out)).
09:23:44 -!- oerjan has quit ("leaving").
10:12:02 -!- ehird` has joined.
10:37:58 -!- GreaseMonkey has quit ("Man who stand in frond of car is tired. Man who stand behind car is exhausted.").
10:52:32 * ehird` wonders what to add to KajirBot
11:28:21 <oklopol> porn is a safe choise
11:29:59 <oklopol> beepiano owns choroflam
11:30:17 <oklopol> and sawtooth sounds awesome
11:30:24 <oklopol> naturally
11:31:00 <oklopol> but for maximum comfort, i'd go for square
11:31:36 <ehird`> how about a dictionary.
11:31:37 <ehird`> XD
11:31:43 <oklopol> well that too :)
11:32:03 <oklopol> what was kajirbot in again?
11:32:34 <ehird`> ?
11:32:35 <ehird`> #esoteric.
11:32:49 <oklopol> language, i mean
11:32:58 <ehird`> python
11:33:03 <ehird`> clean, simple, nice python
11:33:04 -!- KajirBot has joined.
11:33:25 <ehird`> it's an incredibly simple yet powerful irc bot/client lib - kajirc, and the bot based on it - KajirBot
11:33:35 <ehird`> kajirc is built to fit KajirBot, not the other way round
11:34:00 <ehird`> kajirbot right now is 124 lines, including whitespace, comments etc, and kajirc is 139
11:34:02 <ehird`> .help
11:34:02 <KajirBot> feed, help, kill, ps, q, tell, time
11:34:27 <ehird`> it has a command system and a regexp matcher, both using threaded callbacks
11:34:59 <oklopol> ololobot is 49 line
11:35:01 <oklopol> *lines
11:35:12 <oklopol> ah
11:35:36 <oklopol> the actual ololobot file would prolly be similar to yourkajirc
11:35:41 <oklopol> *your kajirc
11:35:50 <ehird`> kajirc and kajirbot are pretty intertwined
11:36:05 <ehird`> actually, kajirc is just one class
11:36:08 <ehird`> kajirc.Bot
11:36:12 <ehird`> that's it
11:36:27 <ehird`> it gives a pythonic irc interface, and the callback system
11:36:39 <ehird`> def time(self, info):
11:36:39 <ehird`> self.privmsg(info['channel'], 'Right now, it is %s GMT' %
11:36:39 <ehird`> time.strftime('%Y-%m-%d, %H:%M'))
11:36:42 <ehird`> that's an example callback.
11:36:55 <ehird`> "command" callbacks (PREFIXname arg ...) get info as the first param
11:37:03 <ehird`> which has channel, user, etc
11:38:07 <ehird`> http://pastie.textmate.org/private/n2vsy1uxvpg6ppfz9t <-- this is kajirbot
11:38:25 <ehird`> as you can see, kajirc does a lot of heavy lifting to make kajirc.Bot-derived classes look very natural
11:38:58 <ehird`> False as the third entry in a command tuple means "optional", btw
11:39:57 <ehird`> optional arguments that are omitted are None
11:40:02 <ehird`> thus:
11:40:14 <ehird`> def help(self, info, command):
11:40:15 <ehird`> if command:
11:40:15 <ehird`> ...
11:40:15 <ehird`> else:
11:40:32 <ehird`> ', '.join(x for x in cmds) wait what
11:40:36 <ehird`> that can just be ', '.join(cmds)
11:41:27 <ehird`> .q hello
11:41:28 <KajirBot> hello?
11:41:35 <ehird`> .q You are KajirBot. You are clever.
11:41:35 <KajirBot> I am KajirBot. I am clever?
11:41:43 <ehird`> .q You are KajirBot. If this is true, say hello.
11:41:43 <KajirBot> I am KajirBot. If this is true, say hello?
11:42:17 <ehird`> .help
11:42:17 <KajirBot> feed, help, kill, ps, q, tell, time
11:42:32 <ehird`> .help time
11:42:32 <KajirBot> time
11:42:32 <KajirBot> Displays the current date and time.
11:48:27 <ehird`> what should i add :)
11:48:52 <oklopol> ', '.join(x for x in cmds) <<< wondered this as well
11:49:28 <oklopol> hmm...
11:51:58 <oklopol> i should make my multi-key dictionary support string substitutions...
11:56:08 -!- Tritonio__ has joined.
11:56:52 -!- Tritonio_ has quit (Read error: 110 (Connection timed out)).
12:01:39 <ehird`> soooo what should i add =)
13:38:33 -!- pikhq has quit (Read error: 110 (Connection timed out)).
13:42:23 -!- Tritonio__ has quit (Remote closed the connection).
13:43:05 -!- jix has joined.
13:53:24 -!- pikhq has joined.
14:12:55 -!- RedDak has joined.
14:22:48 -!- RedDak has quit (Remote closed the connection).
14:35:46 -!- oerjan has joined.
16:26:14 -!- sebbu has joined.
17:04:50 -!- oerjan has quit ("leaving").
17:58:04 -!- Haikz has quit (Read error: 110 (Connection timed out)).
18:05:17 -!- sebbu2 has joined.
18:24:13 -!- sebbu has quit (Read error: 110 (Connection timed out)).
19:40:23 -!- oerjan has joined.
20:38:06 -!- poiuy_qwert has joined.
20:40:52 <ehird`> ping
20:41:08 <oerjan> u
20:41:17 <ehird`> f
20:41:51 -!- ihope has joined.
20:47:58 -!- Sgeo has joined.
20:50:07 <oklopol> o
20:51:02 <ihope> o?
20:51:15 <oklopol> (22:40:31) (oerjan) u
20:51:17 <oklopol> (22:40:39) (ehird`) f
20:51:20 <oklopol> (22:41:12) join: (ihope) (n=ihope@c-71-205-100-59.hsd1.mi.comcast.net)
20:51:22 <oklopol> (22:47:20) join: (Sgeo) (n=Sgeo@ool-18bf68ca.dyn.optonline.net)
20:51:24 <oklopol> (22:49:27) (oklopol) o
20:51:29 <ihope> a.
20:51:30 <Sgeo> BTB
20:51:31 <Sgeo> BRB
20:51:37 -!- Sgeo has quit (Client Quit).
20:51:41 <oklopol> beer-to-beer
20:51:53 -!- Sgeo has joined.
20:51:55 <oerjan> but nobody seemed to catch on to _why_ i used u.
20:52:07 <oklopol> pingu the penguin?
20:52:15 <oerjan> yeah
20:52:24 <oklopol> ?
20:52:24 <oklopol> really?
20:52:34 <oerjan> really :)
20:52:35 -!- Sgeo has quit (Dead socket).
20:52:44 <oklopol> thought it'd've been something deeper :)
20:52:47 -!- Sgeo has joined.
20:52:55 <ihope> Like equine!
20:53:17 <oklopol> "o" is a quine
20:53:18 <oklopol> (22:34:19) (+oklopol) o
20:53:18 <oklopol> (22:47:51) (tonkman) o
20:53:57 <Sgeo> ihope, oklopol, did you see the specs updated with the newline issue?
20:54:22 <ihope> oklopol: cool.
20:54:26 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox_newlines.txt
20:54:34 <Sgeo> and http://sgeo.diagonalfish.net/esoteric/psox-newline-demo.b
20:54:47 <ehird`> oerjan: hahahaha pingu
20:54:57 <Sgeo> and ehird` and oerjan and everyone else
20:55:01 <ehird`> i was expecting something deeper, i admit
20:55:53 <oerjan> i am afraid i don't recall a lot of deep things starting with "ping" :)
20:56:28 -!- CakeProphet has joined.
21:01:20 <oklopol> oerjan: there are jokes aside from catenation ones :)
21:01:36 <oklopol> though catenation jokes *are* definately the funniers
21:01:39 <oklopol> *finniest
21:01:44 <oklopol> *funniest
21:01:45 * Sgeo doesn't have a lot of time today
21:01:45 <oklopol> ...
21:01:50 <ihope> Catenation?
21:01:53 <oklopol> con-
21:02:02 <ihope> Yeah, what ever happened to that...
21:02:11 <oklopol> i don't use it
21:02:23 <oklopol> everyone knows what i mean from catenation
21:02:26 <oklopol> even you :)
21:02:32 <ihope> Indeed.
21:02:37 <ihope> It's turning into a word! Oh no!
21:02:42 <oklopol> heh
21:02:50 <oklopol> i'll try to use con- from now on
21:03:00 <ihope> Nothing wrong with calling it catenation.
21:03:15 <oerjan> apropos finniest, is the most proper way to refer to persons from finland "finn" or "finnish"?
21:03:17 <ihope> Unless people give you a hard time about it, of course. Unlike me. I would never do that. :-P
21:03:30 <oklopol> there's nothing wrong with your MOTHER
21:03:53 <ihope> Before you know it we'll be talking of op systems, then opsystems, then ostems or something.
21:03:55 <Sgeo> Ok, unsafe functionality in PSOX: Things like opening files
21:04:00 <oklopol> oerjan: use the native word
21:04:12 <Sgeo> Should a PSOX client have to declare that it wants to use such functionality at the beginning?
21:04:19 <oerjan> in english?
21:04:32 <oklopol> well, yes, that's what i meant
21:04:35 <Sgeo> I could have it declare that it might want to request functionality while the program runs..
21:04:41 <Sgeo> Any thoughts?
21:04:58 <ihope> Operating system, oper system, op system, opsystem, opstem, ostem?
21:04:58 <oklopol> making a follow-up question is dangerous, though, since you might actually think i was serious
21:05:09 <oklopol> -> o.
21:05:25 <oklopol> did you know it's already gone shorter than ostem?
21:05:30 <ihope> OS.
21:05:32 <oklopol> i hear them saying "os"...
21:06:03 <oklopol> Sgeo: why should it tell it's gonna need files?
21:06:21 <Sgeo> So that it can't access things without the user's permission
21:06:32 <oklopol> if it does have to do that, then i guess you could make mandatory declares for using any function
21:06:42 <ihope> "There are three one-letter words in English. One is 'I', a subject pronoun referring to the speaker. One is 'a', an article referring to an inspecific item. One is 'o', a noun referring to a set of software running on a computer that facilitates the running of programs."
21:06:45 <Sgeo> *any unsafe function
21:06:59 <oklopol> because you prolly want the same interface for files and, say, printing complex number
21:07:01 <oklopol> *numers
21:07:06 <oklopol> *numbers
21:07:15 <Sgeo> The specs for each domain note whether a function is safe or unsafe
21:07:19 <oklopol> ihope: :D
21:07:27 <ihope> Sgeo: er, program permissions?
21:07:32 <Sgeo> ihope, hm?
21:07:40 <Sgeo> should I force such declarations to be in the beginning?
21:07:54 <oklopol> to avoid runtime-errors, or why?
21:07:58 <ihope> I mean, your ordinary everyday programming language doesn't either ask the user or not before doing something, does it?
21:07:59 <Sgeo> (Incidentally, declarations will be flexible, prespecifiying arguments and indicating this to the user)
21:08:20 <ihope> It does it, and returns some special thing if something bad happened.
21:08:24 * Sgeo doesn't like the thought of Brainf*ck viruses too much
21:08:39 <Sgeo> ihope, "if something bad happened"?
21:08:48 <ihope> Er, if it didn't work.
21:09:15 <Sgeo> The first byte returned by any unsafe function will be a status byte
21:11:13 <Sgeo> Should I allow declarations in the middle of the program?
21:11:34 <oklopol> i voted for "no declarations", so hard to answer :P
21:12:25 <SimonRC> ihope: WTF did you get the "I, a, o" thing from?
21:12:29 <SimonRC> o != 0
21:12:56 <ihope> <ihope> Operating system, oper system, op system, opsystem, opstem, ostem?
21:13:00 <ihope> <oklopol> -> o.
21:13:51 <Sgeo> If there's no declarations, then the user would have to agree/disagree as it occurs
21:14:40 <Sgeo> Unless domains with unsafe functions are carefully designed..
21:14:54 <oklopol> well yeah, you should have optional declarations
21:15:14 <oklopol> but the problem is, the user will have to agree anyway
21:15:36 <SimonRC> ah, so I see
21:15:47 <oklopol> you can't know whether the program asks for permissions without running it
21:15:48 <Sgeo> Thing is, the client will call the declaration function with a list of arguments that it will give the unsafe function
21:16:05 <Sgeo> It can say "ask the user if it's ok to call this function as long as these arguments are filled like this"
21:16:42 <ihope> BF viruses would be impossible with a good ostem :-P
21:17:30 <Sgeo> And of course, the PSOX server can be run with a --safe function
21:23:00 -!- jix has quit ("CommandQ").
21:24:22 -!- oerjan has quit ("Good night").
21:27:39 * Sgeo pokes
21:29:57 <Sgeo> Time to start writing the safety specs?
21:30:10 * Sgeo will remove the bit about safety stuff needing to be first
21:43:52 <ehird`> brainfuck viruses = loller
21:43:59 <ehird`> that would be hilarious
21:44:06 <ehird`> fucks your brain, then your hard drive
21:44:13 <Sgeo> lol
21:44:33 <Sgeo> Incidentally, all usages of Unsafe functions will be recorded in a Safety Log
21:45:03 <ehird`> i htink you are overengineering psox
21:45:07 <Sgeo> ??
21:46:10 <Sgeo> How is it possible to overengineer something?
21:47:03 <bsmntbombdood> easy
21:47:19 <SimonRC> Well, as a first step I would recommend getting a committee of mixed civilian contractors and military personelle...
21:48:07 <SimonRC> make sure they all want to make their mark on it, but have no sense of elgance
21:48:24 <SimonRC> ... then split them into those two subcomittees, and have them play ping-pong with the spec, each making it bigger then passing it to the other
21:48:41 <SimonRC> s/spec/requirements/
21:49:09 <SimonRC> then get a load of idiots who do not know of each others' existance to turn the requirements into a design...
21:49:33 <SimonRC> be su never to chuck anything out, and to favour fundamental complexity over superficial complexity...
21:49:53 -!- CakeProphet has quit ("haaaaaaaaaa").
21:50:32 <SimonRC> every time something is getting tricky, add another layer ora new abstraction, rater than expanding existing ones...
21:50:47 <SimonRC> finally, take the resulting 2,000-page document and there you have it, and over-engineered product
21:52:26 <SimonRC> hopefully something like the Universal Calculator (from the OMGWTF).
21:55:01 <bsmntbombdood> that's not what i would call overengineering
21:55:15 <ehird`> it's what i would
21:55:27 <bsmntbombdood> overengineering would be designing the bridge to hold 1000 times its working load instead of 10
21:55:32 <ehird`> no
21:55:41 <Sgeo> How is what I was doing overengineering?
21:55:44 <ehird`> overengineering is designing something to be much more convoluted than it needs to be
21:55:49 <ehird`> see: Common Lisp, as a prime example
21:55:54 <SimonRC> PL/I
21:55:56 <ehird`> PSOX does this, imo
21:56:16 <Sgeo> Maybe with the versioning thing..
21:56:22 <SimonRC> Actually, overengineering is rather rare in esolangss
21:56:36 <SimonRC> they tend to be small and useless, rather than gigantic and useless
21:56:46 <Sgeo> PSOX isn't an esolang >.>
21:57:24 <SimonRC> one might call it a minilanguage?
21:57:29 <SimonRC> and it is esoteric and computery
21:57:35 <ehird`> PSOX is an over-engineered interface that esolangs can use
21:57:36 <ehird`> IMO
21:57:44 <SimonRC> an API is certianly relate to a language
21:57:46 <ehird`> its just... Safety Log where all "unsafe" ops are logged? WTF?
21:58:02 <SimonRC> how about erasing the safety log?
21:58:09 <ehird`> its the little things like that
21:58:14 <Sgeo> Is the safety log too much?
21:58:14 <ehird`> they all add up and spell "wtf" to me
21:58:29 * Sgeo would have thought that, if anything, the version stuff adds too much overhead
21:58:36 <ehird`> Sgeo: IMO yes. I mean, try and emulate C i guess in these interfaces - simple and dirty. It'll fit esolangs better imo
21:59:12 <Sgeo> No safety stuff, or just no Log?
21:59:25 <ehird`> I dunno, I'm not completely prepped up on PSOX
21:59:41 <ehird`> But from what I've heard, things like safety stuff is quite unneeded in an esolang API imo
21:59:53 <ehird`> not to say i don't think psox is not a great idea - it is ;)
21:59:55 <ehird`> *:)
22:00:03 <bsmntbombdood> what's PSOx's purpose?
22:00:17 <ehird`> bsmntbombdood: API for esolangs to use the outside world
22:00:25 <ehird`> bsmntbombdood: POSIX-function like stuff
22:01:04 <Sgeo> Of course, the removal of safety thingies means the possibility of... *shudders* Brainfuck malware
22:01:45 <ehird`> Sgeo: seriously who cares
22:01:53 <ehird`> Sgeo: writing malware is very hard on unixy systems
22:02:06 <ehird`> Sgeo: and on windows, heck, who on windows uses BF and is not using an AV etc?
22:02:07 <Sgeo> This will probably run on Windows too, you know..
22:02:13 <SimonRC> well...
22:02:22 <SimonRC> Unix is very powerful...
22:02:51 <ehird`> SimonRC: there is a handful of unix malware
22:03:03 <ehird`> SimonRC: its not likely using BF would suddenly show the amazing simplicity of writing malware.
22:03:10 <SimonRC> heh
22:03:41 <Sgeo> ehird`, would AV stuff really care about BF programs? SHould I force them too like this?
22:03:51 <ehird`> Sgeo: AV stuff works based on processes.
22:04:04 <ehird`> Sgeo: seriously, wtf, this is an api not training wheels for windows users ;)
22:04:11 <Sgeo> Also, it's difficult to read through a BF program to make sure it's not doing anything bad, like erasing every file in the user's home directory..
22:04:19 <ehird`> so why are you doing that
22:06:15 <Sgeo> hm?
22:12:44 <bsmntbombdood> that's why you don't execute untrusted code
22:13:31 <SimonRC> ... with full permissions
22:14:04 <Sgeo> wrt File I/O, I guess I could force it to run in the current directory..
22:14:43 <SimonRC> no, you just use your existing filesystem permissions
22:15:32 <Sgeo> yes, because who cares about losing ~? </sarcasm>
22:16:19 <SimonRC> point taken
22:16:27 <SimonRC> unix file permissions are a bit sucky
22:16:36 <SimonRC> there needs to be something more fine-grained
22:17:22 <Sgeo> My idea was to have the client ask for permission for any usafe function, and it can ask for permission for calling unsafe functions with prefilled arguments
22:17:43 <Sgeo> e.g. to ask the user if it can always open a file named "myfile.txt"
22:17:51 <SimonRC> ok
22:17:55 <SimonRC> good
22:18:09 <SimonRC> a great thing to do in the middle of your curses work...
22:18:19 <Sgeo> curses work?
22:18:48 <SimonRC> yeah, curses
22:19:03 <SimonRC> as in curses(3)
22:19:20 <Sgeo> It can ask for permissions before doing whatever, if it wants
22:19:40 <SimonRC> um
22:19:56 <SimonRC> but if you have uestions poopping up that might muck up the screen output
22:20:00 <Sgeo> it can ask for permissions before it does curses'y stuff
22:20:10 -!- RedDak has joined.
22:20:13 <Sgeo> Hi RedDak
22:29:16 <Sgeo> Bye for now all. Any comments to the effect of "no safety" will be taken onboard, and thrown over the side.
22:29:55 -!- Sgeo has quit ("Ex-Chat").
22:35:45 <SimonRC> magic image resizing
22:35:47 <SimonRC> oh, wow, this is so cool: http://www.youtube.com/watch?v=vIFCV2spKtg
22:36:00 <bsmntbombdood> yep
22:49:42 <ehird`> what hsould i add to kajirbot/
22:50:17 <SimonRC> a cybersex attachment
22:50:31 <SimonRC> it should only do really esoteric cybersex though
22:50:47 <ehird`> i see.
22:50:55 -!- sebbu2 has quit ("@+").
22:51:01 <SimonRC> nothing normal, but lots of furry, roleplay, and bizare situations
22:51:13 <SimonRC> or bazzar situations even
22:51:24 <bsmntbombdood> yes!
22:51:39 <SimonRC> you can do it by modifying an existing chatting module, I am sure
22:51:40 <ehird`> how about no
22:51:40 <ehird`> :p
22:52:34 <bsmntbombdood> http://freestudents.blogspot.com/2007/09/kids-are-just-excuse-you-are-target.html
22:58:16 <oklopol> umm
22:58:32 <oklopol> did i misunderstand something, or is <21 child porn in the us?
22:58:39 <bsmntbombdood> <18 is
22:59:16 <bsmntbombdood> and it doesn't even have to be nude to be cp
22:59:26 <oklopol> "It was long after that they were arguing that some 17-year-olds look 18 so the limit should be raised to 21.", "One result of this new age limit is that some erotica, that was previously legal, became illegal quite literally over night."
22:59:28 <oklopol> became
22:59:51 <bsmntbombdood> hrm
23:00:12 <bsmntbombdood> can't be
23:01:05 <bsmntbombdood> maybe he's talking about the new changes
23:02:50 <oklopol> "If a photographer takes erotic photos he must have forms filled out and filed regarding each model." is this currently true?
23:03:15 <bsmntbombdood> yes
23:05:47 <oklopol> kay... i should make a list of the ways i would be a criminal in in the us
23:05:51 <bsmntbombdood> i think the relevent age should be in here: http://caselaw.lp.findlaw.com/casecode/uscodes/18/parts/i/chapters/110/toc.html
23:05:54 <bsmntbombdood> but i can't find it
23:06:23 <bsmntbombdood> if the age for cp was raised to 21, at least half the US would be outlaws
23:06:56 <oklopol> yeah, men
23:07:19 <oklopol> (bad joke, sorry)
23:07:41 <bsmntbombdood> better raise that to 75% (all the men, half the women)
23:08:17 <oklopol> hmm
23:08:37 <oklopol> i just googled for child porn, without realizing it :)
23:08:42 <bsmntbombdood> ?
23:08:50 <oklopol> was looking for the hungarian ...whuz the word
23:08:53 <oklopol> party
23:09:08 <bsmntbombdood> what are the laws in .fi?
23:09:31 <oklopol> <18 illegal
23:09:43 <bsmntbombdood> what though?
23:09:57 <oklopol> hmm... don't know the spesifics
23:10:04 <oklopol> no one cares really
23:10:09 <oklopol> i mean
23:10:23 <oklopol> there's not much control...
23:10:28 <oklopol> no one has checked my hd at least
23:10:38 <oklopol> i guess that wouldn't happen anywhere
23:11:08 <oklopol> i guess it's nudity that triggers it
23:12:09 <oklopol> http://english.pravda.ru/news/world/19-02-2007/87572-porn-0
23:12:13 <oklopol> this i mean
23:12:32 <oklopol> i never understood these laws, at least 100% of 13-year-olds are having sex anyway
23:13:03 <bsmntbombdood> lol
23:13:27 <oklopol> i may have been a bit excessive there
23:18:00 -!- RedDak has quit ("I'm quitting... Bye all").
23:29:47 <oklopol> still 6 hours till school... better go buy something to keep me awake
23:29:47 <oklopol> ->
23:30:15 <bsmntbombdood> or you could sleep
23:30:34 <oklopol> well
23:30:44 <oklopol> theoretically
23:31:09 <oklopol> but i prefer being awake when i'm home and asleep when i'm at school
23:32:02 <bsmntbombdood> did you know your ip address is owned by Kari Ylenius?
23:33:51 <ehird`> oklopol: do your isp log stuff at all?
23:33:58 <ehird`> they probably have an alert set for 'child porn' :p
23:34:10 <oklopol> darn, i realized i don't have any money
23:34:24 <oklopol> ehird`: i doubt they do, but that's exactly what i was thinking :)
23:34:47 <oklopol> bsmntbombdood: nice, i've never heard that name
23:34:53 <oklopol> our apartment has 3 ip's
23:35:36 <bsmntbombdood> you can mail him at Turun Kaapelitelvisio Oy \ Kauppiaskatu 5 \ 20100, Turku \ FINLAND
23:36:35 -!- cmeme has quit (Excess Flood).
23:36:56 <oklopol> "the turku cable tv company" if you couldn't decipher, that's prolly where this connection is from
23:37:26 <oklopol> i don't remember where it's from, since i wasn't a part in the process of getting it
23:37:41 <oklopol> anyway, i'm pretty sure they're sending troops in his home right now
23:37:46 <oklopol> for the child porn
23:37:52 <oklopol> actually, i just said that again
23:37:55 <oklopol> dangerous stuff
23:38:07 <oklopol> i found money, monologue stops ->
23:38:41 -!- cmeme has joined.
23:45:40 <bsmntbombdood> whoa
23:45:47 <bsmntbombdood> C is ambiguous
23:45:51 <bsmntbombdood> x * y;
23:46:32 <bsmntbombdood> multiplication or variable declaration?
23:59:08 <oklopol> you can't have a type and a variable with the same name, can you?
2007-09-06
00:00:01 <bsmntbombdood> dunno
00:00:11 -!- ehird` has quit.
00:18:52 -!- KajirBot has quit (Read error: 113 (No route to host)).
00:53:13 <pikhq> bsmntbombdood: Sadly, either.
00:59:08 <oklopol> i think it's clever to have parsing be affected by identifier assignations
00:59:35 <oklopol> because you want the challenge of having to check what x is to know what that does
02:08:17 <ihope> bsmntbombdood: there's no reason for it to be multiplication, so it's variable declaration. :-P
02:08:21 <pikhq> やった!
02:08:27 <ihope> Unless C is lazy now and you want to specify that it should be evaluated then.
02:08:40 * ihope hugs Haskel
02:08:48 <ihope> (l++)
02:09:09 <ihope> It doesn't make you specify evaluation order much.
02:12:19 * pikhq finally has IME and terminal working together
02:14:01 <ihope> Of course, it can require a runtime system thingy and... all that.
02:14:24 <ihope> A smart enough Haskell compiler can produce fast code with a small memory footprint thing.
04:12:11 <bsmntbombdood> a smart bsmntbombdood can do all that and more
04:14:13 <pikhq> A smart pikhq can skip the compiler and go straight to the assembler.
04:38:25 <bsmntbombdood> yay, me wrote a gc
04:43:13 <ihope> A smart ihope can, um, think about coding in assembly.
04:43:42 <ihope> Languages should be lazy, not programmers.
04:44:11 <ihope> I wonder what Haskell would be like if it were strict...
04:44:17 <ihope> Or eager, or whatever.
04:44:20 -!- rabidfurby has left (?).
05:38:23 -!- GreaseMonkey has joined.
06:51:39 -!- poiuy_qwert has quit.
07:11:23 -!- oerjan has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:29:15 -!- oerjan has quit ("Lunch").
10:03:29 -!- GreaseMonkey has quit ("yay for sourceports").
11:09:31 -!- RedDak has joined.
11:21:57 -!- RodgerTheGreat_ has joined.
11:23:43 -!- RodgerTheGreat has quit (Read error: 110 (Connection timed out)).
11:30:34 -!- ihope__ has joined.
11:47:52 -!- ihope has quit (Read error: 110 (Connection timed out)).
12:05:03 -!- RedDak has quit (Remote closed the connection).
12:48:18 -!- ehird` has joined.
13:01:13 -!- sebbu has joined.
13:07:53 <SimonRC> ihope__: actually, a decent Haskell compiler will produce lots of strict code, via cross-module optimisations
13:10:05 <SimonRC> Cross-module optimisations are needed in Haskell because of the possibility to put a control structure in one module, a generator in a second, and a consumer in a third, then use them together in a fourth.
13:23:26 -!- ehird` has left (?).
13:23:35 -!- ehird` has joined.
14:20:26 -!- RodgerTheGreat_ has changed nick to RodgerTheGreat.
15:40:30 <ehird`> ping
16:04:45 -!- jix has joined.
16:22:54 -!- Sgeo has joined.
16:23:12 <Sgeo> Hi all
16:37:33 <ehird`> hello
16:52:35 -!- importantshock_ has joined.
16:53:19 -!- importantshock_ has changed nick to importantshock.
17:01:56 -!- pikhq has quit (Read error: 110 (Connection timed out)).
17:38:32 -!- pikhq has joined.
17:58:15 -!- pikhq has quit (Read error: 110 (Connection timed out)).
18:05:31 -!- sebbu2 has joined.
18:08:00 -!- importantshock has quit.
18:17:32 -!- jix has quit (Read error: 104 (Connection reset by peer)).
18:22:51 -!- jix has joined.
18:24:56 -!- sebbu has quit (Connection timed out).
18:44:36 -!- oerjan has joined.
19:00:32 -!- pikhq has joined.
19:11:21 -!- oklokok has joined.
19:11:22 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
19:11:22 -!- ololobot has quit (Connection reset by peer).
19:39:59 -!- Tritonio has joined.
19:43:17 -!- oerjan has quit (Remote closed the connection).
19:43:22 -!- oerjan has joined.
20:28:52 <Sgeo> Hi oerjan
20:31:32 <oerjan> hi Sgeo
20:35:09 <oklokok> hi Tritonio
20:39:50 <Tritonio> hello!
20:58:55 -!- jix has quit ("CommandQ").
21:01:34 -!- tombom has joined.
21:09:23 <tombom> i'm a little confused
21:09:29 <tombom> what's the latest intercal version
21:11:49 <ihope__> There are versions?
21:12:28 <oerjan> well there are at least two competing implementations
21:12:38 <tombom> oh dear
21:12:52 <oerjan> C-INTERCAL and CLC-INTERCAL
21:13:06 <ihope__> What's next? CLCLC-INTERCAL?
21:13:15 <tombom> so uh
21:13:19 <tombom> which has more features :S
21:13:41 <oerjan> we have pages on both on the wiki, i think
21:14:11 -!- ihope__ has changed nick to ladu.
21:14:20 -!- ladu has changed nick to ihope.
21:14:44 <tombom> oh right i'll check there thanls
21:15:47 <tombom> uh
21:15:52 <tombom> is clc-intercal written in perl
21:16:28 <tombom> oh yes it is
21:22:46 <ehird`> ppdpdpdpdpdpdpfppdfodfkgjkhjkhhghgjjakakakakakaka.
21:22:48 <ehird`> Also.
21:22:59 -!- Sgeo has changed nick to Sgeo[Test].
21:23:16 -!- Sgeo[Test] has changed nick to Sgeo.
21:25:05 -!- Sgeo has changed nick to Sgeo|Testing.
21:26:46 -!- Sgeo|Testing has changed nick to Sgeo.
21:33:48 -!- Sgeo has changed nick to Sgeo|Test.
21:34:27 -!- Sgeo|Test has changed nick to Sgeo.
21:35:28 -!- Sgeo has changed nick to Sgeo|Testing.
21:35:34 -!- tombom has quit.
21:37:34 -!- Sgeo|Testing has changed nick to Sgeo|Test.
21:38:12 -!- Sgeo|Test has changed nick to Sgeo.
21:39:04 -!- Sgeo has changed nick to Sgeo|Test.
21:39:11 -!- Sgeo|Test has changed nick to Sgeo.
21:39:13 -!- oerjan has quit ("Good night").
21:41:25 -!- Sgeo has changed nick to SgeoBot.
21:41:35 -!- SgeoBot has changed nick to Seo.
21:41:58 -!- Seo has changed nick to Sgeo.
21:42:15 <ihope> Sgeo: I see you're testing.
21:51:22 <bsmntbombdood> test me, baby
21:56:09 -!- sebbu2 has quit ("@+").
21:57:44 * ihope tests bsmntbombdood
21:57:58 <ihope> Negative.
21:59:14 <bsmntbombdood> yay, i don't have herpes after all!
22:01:42 <ihope> No, it's largepox you don't have.
22:01:53 * ihope tests bsmntbombdood for herpes, HIV, etc.
22:02:01 <ihope> Positive, positive, positive, positive, positive? Oh my.
22:02:21 <ihope> Luckily, a "positive" result only gives a 9% chance of you actually having it.
22:05:51 <bsmntbombdood> hooray for bayes
22:07:41 -!- poiuy_qwert has joined.
22:09:44 <Sgeo> Hi poiuy_qwert
22:09:52 <poiuy_qwert> hello Sgeo
22:10:01 * Sgeo should start working on PSOX again
22:40:14 -!- RedDak has joined.
22:48:26 * SimonRC wonders why he is such an idiot in dreams.
22:48:50 <SimonRC> ok, so I figure out that I am dreaming, then I decide, "oh, I'll talk to my sister"
22:49:08 <SimonRC> despite all the planning I did for much more fun things to do
22:49:11 <SimonRC> *sigh*
22:49:29 <SimonRC> also I can't tell how long I stay lucid...
22:49:43 <SimonRC> I worry it's only about 15s or something.
22:52:56 <bsmntbombdood> i had a sweet dream last night
22:54:35 <SimonRC> hm?
22:55:22 <bsmntbombdood> i was swimming in a hot spring + waterfall surrounded by cliffs and shit, then i found an entrance to a cave, that had all sorts of cool stuff inside
22:55:25 <bsmntbombdood> hard to explain
22:55:32 <SimonRC> mine mke less sense
22:55:48 <SimonRC> mine are also unillustrable
22:56:04 <bsmntbombdood> boiling pools of liquid surrounded by equipment...
22:56:13 <SimonRC> I go into the kitchen, and there is a pile of PDFs on the table...
22:56:41 <SimonRC> ... not printed or icons or on storage media or anything, but actual PDFs.
22:56:43 <SimonRC> like, WTF
23:00:19 <bsmntbombdood> ha
23:01:11 <bsmntbombdood> this cave was so cool
23:01:31 <SimonRC> describe
23:02:10 <bsmntbombdood> it was a working area, but left like everyone had vaporized a few minutes ago
23:03:08 <bsmntbombdood> really hard to describe
23:03:31 * Sgeo should really work on PSOX
23:05:26 <bsmntbombdood> SimonRC: what did the pdfs look like?
23:05:41 <SimonRC> dunno
23:06:19 <SimonRC> I think the sensation entered at a higher layer, so they didn't have an appearence.
23:15:00 <bsmntbombdood> wish that could happen for real
23:18:48 <SimonRC> give it 50 years
23:19:12 <SimonRC> It is a bit scary looking in the mirror and not havig your reflection match properly
23:20:48 <GregorR> Especially when your reflection reaches out and starts beating the crap out of you.
23:20:49 <GregorR> That sucks.
23:21:14 <SimonRC> It didn't do that to me.
23:21:18 <SimonRC> Though it was black once
23:21:38 <GregorR> I don't know if you intended that to be a racist remark, but it definitely was :P
23:24:41 <SimonRC> um
23:24:43 <SimonRC> ok
23:26:24 <bsmntbombdood> it was?
23:27:02 <ehird`> s/was/sounded like one
23:27:10 <ehird`> i highly doubt SimonRC was being racist to... pdfs?
23:28:46 <SimonRC> it was not intended to be racist
23:34:52 <SimonRC> zzzzzzzz
23:39:31 * Sgeo is thinking about two new string formats for PSOX
23:39:36 * Sgeo pokes pikhq
23:44:55 <Sgeo> Longstrings: Longnums that are not interpreted as numbers, and the 0x02 indicator is meaningless
23:45:12 <Sgeo> RStrings: terminated by an unescaped 0x00
23:45:22 <Sgeo> 0x01 can escape a 0x00
23:45:30 <Sgeo> 0x01 can also escape 0x01
23:46:36 <Sgeo> XStrings: Allows the client to choose.. first byte is 0x00 for NUL-terminated strings, 0x01 for longnums(same 0x01 is used as indicator), and 0x02 for RStrings
23:59:43 <Sgeo> Anyone here?
2007-09-07
00:01:10 <poiuy_qwert> i am
00:08:33 <Sgeo> poiuy_qwert, any comments?
00:09:13 <poiuy_qwert> i dont understand Longstrings, how does that work?
00:09:37 <Sgeo> There are indicator bytes
00:09:41 <Sgeo> i d i d i
00:09:51 <Sgeo> (indicator data indicator data indicator)
00:10:03 <Sgeo> An indicator of 0x01 means a data byte follows
00:10:14 <Sgeo> an indicator of 0 means that no databyte follows
00:11:12 -!- ehird` has quit.
00:14:00 <poiuy_qwert> but why do you need longnums, what does 1234 represent? unicode character 1234?
00:15:15 <Sgeo> Because otherwise PSOX would only be able to transmit numbers 0<=n<=255
00:16:32 <poiuy_qwert> oh i see. having string in the name confused me
00:17:24 <Sgeo> Incidentally, 0x02 as a starting indicator for longnums mean the number is negative. This is not supported with Longstrings for obvious reasons
00:31:06 -!- RedDak has quit (kornbluth.freenode.net irc.freenode.net).
00:31:07 -!- cmeme has quit (kornbluth.freenode.net irc.freenode.net).
00:31:08 -!- lament has quit (kornbluth.freenode.net irc.freenode.net).
00:31:08 -!- Overand has quit (kornbluth.freenode.net irc.freenode.net).
00:31:09 -!- Chton has quit (kornbluth.freenode.net irc.freenode.net).
00:31:09 -!- Eidolos has quit (kornbluth.freenode.net irc.freenode.net).
00:31:09 -!- Tritonio has quit (kornbluth.freenode.net irc.freenode.net).
00:31:09 -!- Sgeo has quit (kornbluth.freenode.net irc.freenode.net).
00:31:10 -!- g4lt-mordant has quit (kornbluth.freenode.net irc.freenode.net).
00:31:10 -!- GregorR has quit (kornbluth.freenode.net irc.freenode.net).
00:31:10 -!- tokigun_ has quit (kornbluth.freenode.net irc.freenode.net).
00:31:11 -!- sekhmet has quit (kornbluth.freenode.net irc.freenode.net).
00:31:11 -!- poiuy_qwert has quit (kornbluth.freenode.net irc.freenode.net).
00:31:11 -!- ihope has quit (kornbluth.freenode.net irc.freenode.net).
00:31:11 -!- RodgerTheGreat has quit (kornbluth.freenode.net irc.freenode.net).
00:31:12 -!- puzzlet has quit (kornbluth.freenode.net irc.freenode.net).
00:31:12 -!- SimonRC has quit (kornbluth.freenode.net irc.freenode.net).
00:31:12 -!- mtve has quit (kornbluth.freenode.net irc.freenode.net).
00:31:12 -!- bsmntbombdood has quit (kornbluth.freenode.net irc.freenode.net).
00:31:13 -!- oklokok has quit (kornbluth.freenode.net irc.freenode.net).
00:31:13 -!- pikhq has quit (kornbluth.freenode.net irc.freenode.net).
00:32:00 -!- sekhmet has joined.
00:32:00 -!- poiuy_qwert has joined.
00:32:00 -!- Tritonio has joined.
00:32:00 -!- oklokok has joined.
00:32:00 -!- pikhq has joined.
00:32:00 -!- Sgeo has joined.
00:32:00 -!- ihope has joined.
00:32:00 -!- RodgerTheGreat has joined.
00:32:00 -!- puzzlet has joined.
00:32:00 -!- g4lt-mordant has joined.
00:32:00 -!- SimonRC has joined.
00:32:00 -!- GregorR has joined.
00:32:00 -!- bsmntbombdood has joined.
00:32:00 -!- Chton has joined.
00:32:00 -!- mtve has joined.
00:32:00 -!- Eidolos has joined.
00:32:00 -!- tokigun_ has joined.
00:32:19 -!- bsmntbombdood has quit (Remote closed the connection).
00:32:21 -!- bsmntbombdood` has joined.
00:32:36 -!- RedDak has joined.
00:32:36 -!- cmeme has joined.
00:32:36 -!- Overand has joined.
00:32:36 -!- lament has joined.
00:33:02 <Sgeo> PSOX functions probably shouldn't return XStrings though, unless the client already knows what type it will be by specifying it somehow
00:33:12 <RodgerTheGreat> woo netsplit
00:33:26 <ihope> PSOX sounds... um...
00:33:29 <ihope> Complex.
00:33:55 <ihope> Couldn't you just slap a bunch of compatibility layers on top of the basic interface?
00:34:24 <Sgeo> ..?
00:35:41 <ihope> Make the system calls and an API available to the program.
00:35:53 <Sgeo> ..Isn't that what PSOX _is_?
00:36:10 <ihope> Maybe. :-P
00:36:16 <ihope> Do you have a spec for it?
00:36:29 <Sgeo> Yes, but it's not finished
00:36:41 * Sgeo will add the strings now, then work on Safety
00:37:21 <ihope> Safety?
00:37:36 <Sgeo> Oh, also: re: Might some Python BF interpreters ask the user for one character at a time when doing ',', and discard the rest?
00:37:54 <Sgeo> Safety: Unsafe functions might write files or read files or connect to the net..
00:37:54 -!- RedDak has quit (Remote closed the connection).
00:38:04 <Sgeo> Although I will make a Safe File I/O domain
00:38:27 * ihope nods
00:39:13 * Sgeo wonders if he should *gasp* exclude Safety from PSOX 1.0, and make no unsafe functions
00:40:20 <ihope> So safety is for keeping programs from doing bad things?
00:40:29 <Sgeo> yes
00:40:35 <Sgeo> Without the user's permission
00:41:19 <Sgeo> Should I exclude it from 1.0 for now?
00:41:35 <Sgeo> Add the string stuff and some clarifications, and declare the Core done?
00:41:42 <pikhq> I'd think *1.0* would need just that.
00:41:44 <ihope> Still seems silly to me.
00:41:52 <Sgeo> pikhq, hm?
00:42:06 <pikhq> 1.0 ought to be fairly feature-complete.
00:42:52 * Sgeo works on the safety specs
00:43:04 <pikhq> Declare that what you have now won't change in 1.0, but that more will be added?
00:44:29 * Sgeo might be able to get 1.0 Core finished tonight, even w/ safety
00:44:55 <Sgeo> (Core = basic PSOX framework, but not builtin domains other than 0)
00:45:28 <Sgeo> Questions: Should I allow custom domains to accept arbitrary data, as opposed to forcing them to have functions?
00:46:57 <Sgeo> Might not really matter...
00:47:18 <Sgeo> Imean, a domain designer, if they want something similar, can always do 0x00 DOMAIN DOMAIN
00:47:24 <Sgeo> and shortcuts?
00:47:39 <Sgeo> Should I allow functions to be binded to odd domain numbers?
00:47:47 <Sgeo> Maybe not in 1.0?
00:50:22 <Sgeo> How's this so far?
00:50:24 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox-safety.txt
00:51:37 * Sgeo pokes ihope and pikhq
00:51:42 <Sgeo> and oklokok
00:51:44 <Sgeo> and poiuy_qwert
00:52:36 <Sgeo> anyone there?
00:53:22 <bsmntbombdood`> psox has not a point
00:53:32 -!- SEO_DUDE has joined.
00:54:05 <Sgeo> Hi SEO_DUDE
00:54:07 <Sgeo> bsmnt_bot, hm?
00:54:16 <Sgeo> bsmntbombdood`, hm?
00:54:27 <bsmntbombdood`> wtf?!!???
00:54:31 <bsmntbombdood`> why do i have a '
00:54:34 <bsmntbombdood`> *`
00:54:45 -!- bsmntbombdood` has changed nick to bsmntbombdood.
00:54:59 <Sgeo> bsmntbombdood, what do you mean by it doesn't have a point?
00:55:00 <Sgeo> brb
00:55:06 <bsmntbombdood> i mean FOO
00:57:59 <pikhq> Sgeo: Oh, Calling it Psox 1.0 Core? *That* I approve of.
00:58:15 <pikhq> You don't need much of anything except your bare-bones suggestions, and the *possibility* for more domains. :)
01:00:46 <pikhq> Sgeo: Better idea for safety. . . Require that each unsafe function be declared as follows: 0x00 0x00 unsafe_function_declare DOMAIN FUNCTION
01:01:08 <bsmntbombdood> require no unsafe runctions
01:01:10 <bsmntbombdood> use mondas
01:01:42 <pikhq> If used without such a declaration, or if the unsafe function is not approved, then the unsafe function will only output on stderr "Unsafe function foo attempted without approval."
01:02:03 <pikhq> bsmntbombdood: Think "jailbox", not functional programming.
01:02:14 <pikhq> s/jail/sand/
01:02:14 <bsmntbombdood> +[] is UNSAFE FUNCTION
01:04:20 <Sgeo> pikhq, how is that different from what I'm doing, except that using the function counts as a declaration?
01:04:40 <Sgeo> erm, I mean, except your way doesn't have the prefilled arguments..
01:04:57 <Sgeo> prefilled arguments are optional btw.. but they might add complexity..
01:05:19 <pikhq> Sgeo: It looks to me that each call requires a declaration in your spec.
01:06:19 <Sgeo> That's wrong.. how to clarify..
01:06:33 <pikhq> Maybe just state that each unsafe function implicitly requests approval for that specific call?
01:06:45 <Sgeo> without a predeclare?
01:07:06 <Sgeo> argh
01:07:24 <pikhq> Thus, 0x00 0x02 REMOVE "foo" would respond with "Program requesting to delete foo. Approve? [yes/no/all]"
01:08:25 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox-safety.txt clarified..
01:08:44 <Sgeo> No 'all'
01:08:55 <Sgeo> That's what 0x00 0x00 0x06 is for
01:09:34 <Sgeo> "Allow program to (do X| do anything) with (file x|any File)?"
01:09:53 <Sgeo> Depending on the predeclare unsafe functionality call
01:10:13 <pikhq> Oh.
01:10:34 <pikhq> *That* spec is much clarified.
01:10:37 <pikhq> I approve.
01:12:12 <Sgeo> More clarification
01:12:16 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox-safety.txt
01:14:29 <Sgeo> pikhq, like it with the extra clarification?
01:14:55 <pikhq> Yeah.
01:24:42 <Sgeo> "Unsafe functions MUST, for the first byte, return a Safety status code. The byte is
01:24:42 <Sgeo> 0x00 if it failed because it's not allowed, or 0x01 if the function was allowed.
01:24:42 <Sgeo> PUF also returns a safety byte with similar semantics, but 0x01 may also mean that the user selected 'ask'."
01:25:04 <Sgeo> i.e. the app can't tell the difference between 'ask' and 'yes' >.>
01:25:10 <Sgeo> at least with PUF
01:25:49 * Sgeo pokes pikhq
01:26:34 * pikhq approves again.
01:27:04 <Sgeo> :)(
01:27:06 <Sgeo> :)
01:59:41 * Sgeo pokes pikhq and ihope with http://sgeo.diagonalfish.net/esoteric/psox-safety.txt
01:59:49 -!- SEO_DUDE has quit (Remote closed the connection).
02:07:01 <Sgeo> pikhq?
02:15:13 <ihope> What's PSOX for, exactly?
02:15:56 <Sgeo> It's to allow esolangs that are restricted to stdin/stdout to do other things, like reading the command line, file I/O, and network access
02:16:00 <Sgeo> and anything else you can imagine
02:18:20 * Sgeo will BBL. MSG any comments to me, or they may not be read.
02:24:05 -!- SEO_DUDE has joined.
02:56:24 * Sgeo is back
02:56:26 <Sgeo> Hi SEO_DUDE
03:02:32 -!- Tritonio has quit (Remote closed the connection).
03:29:49 -!- ihope has quit (Read error: 110 (Connection timed out)).
03:40:56 <bsmntbombdood> Quite frankly, even if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C.
03:41:48 <bsmntbombdood> http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918
03:41:57 <bsmntbombdood> torvalds++
03:46:41 <Sgeo> bsmntbombdood, eh?
03:46:54 <bsmntbombdood> eh what?
03:47:02 <Sgeo> <bsmntbombdood> Quite frankly, even if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C.
03:47:02 <Sgeo> <bsmntbombdood> http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918
03:47:02 <Sgeo> <bsmntbombdood> torvalds++
03:47:09 <bsmntbombdood> i just said that
03:47:23 * Sgeo meant 'explain'
03:47:57 <bsmntbombdood> without any extra information from you, an explaination will just be a repost
04:07:43 <Sgeo> Note to self: stdin/stdout switching
04:29:26 <Sgeo> pikhq, still up?
04:29:32 <Sgeo> Just checking
04:29:35 <Sgeo> BRB
04:30:03 <pikhq> No.
04:33:01 <Sgeo> I'll take that as a yes.
05:09:46 * Sgeo pokes pikhq and oklokok and Eidolos and GregorR
05:09:52 <Sgeo> and RodgerTheGreat
05:09:57 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox.txt file descriptors!
05:10:01 <RodgerTheGreat> hi, Sgeo
05:10:08 <Sgeo> Hi RodgerTheGreat
05:10:23 <RodgerTheGreat> I would appreciate it if you didn't modify my memory
05:10:31 <Sgeo> eh?
05:10:36 <RodgerTheGreat> POKE
05:10:39 <RodgerTheGreat> ala basic
05:11:08 <Sgeo> sorry
05:11:12 * pikhq PEEKs
05:11:25 <RodgerTheGreat> 'sokay
05:12:02 <RodgerTheGreat> I'm buffered with some noncoding segments and repeated vital code blocks- I'm more or less error-tolerant
05:13:02 <pikhq> while(1)*++RodgerTheGreat = rand();
05:13:42 <RodgerTheGreat> this is why I'm glad I'm a paper- we're pretty strong against things like a dwarf.
05:13:57 <RodgerTheGreat> I have no fear of primitive bombers
05:14:04 * pikhq eats the paper
05:14:13 <Sgeo> any comments on file descriptors?
05:14:27 * RodgerTheGreat covers pikhq's intestinal lining
05:14:34 <RodgerTheGreat> got you now, bitch!
05:14:40 <RodgerTheGreat> Sgeo: like metadata?
05:14:41 * pikhq throws up
05:14:56 <Sgeo> RodgerTheGreat, did you read the spec?
05:15:00 * RodgerTheGreat reforms, T1000-style
05:15:08 <RodgerTheGreat> just got here- what am I reading?
05:15:13 <pikhq> TROGDOR!!!!!!
05:15:20 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox.txt
05:15:37 <RodgerTheGreat> stupid, frickin, KNIGHTS!
05:15:52 * RodgerTheGreat reads
05:16:29 * Sgeo hastily adds support for extended function names to psox-safety.txt
05:16:54 <Sgeo> So that a suggestion by the one and only bd_ can be implemented sanely
05:17:45 <RodgerTheGreat> hm...
05:17:52 <RodgerTheGreat> sounds interesting so far
05:20:39 <Sgeo> Any questions/comments?
05:24:31 <RodgerTheGreat> hm
05:24:50 <RodgerTheGreat> I will ponder it, but for now I must sleep. I'll contact you tomorrow if I think of anything
05:24:57 <Sgeo> G'night
05:25:37 <RodgerTheGreat> c'yall
05:26:40 -!- Sgeo has changed nick to IdleWilde.
05:27:01 -!- IdleWilde has changed nick to Sgeo.
05:28:09 -!- oerjan has joined.
05:29:50 * pikhq is called to sleep
05:29:58 <Sgeo> G'night pikhq
05:29:59 <Sgeo> Hi oerjan
05:30:16 * Sgeo pokes oerjan to http://sgeo.diagonalfish.net/esoteric/psox.txt
05:33:03 <Sgeo> Any questions/comments?
05:33:33 <oerjan> no
05:52:04 <Sgeo> G'night all
06:09:06 -!- Sgeo has quit ("Ex-Chat").
06:16:56 -!- calamari has joined.
06:20:20 -!- puzzlet has quit (Remote closed the connection).
06:20:45 -!- puzzlet has joined.
06:35:47 -!- poiuy_qwert has quit.
07:01:34 -!- oerjan has quit ("leaving").
07:01:34 <oklokok> (Sgeo) Oh, also: re: Might some Python BF interpreters ask the user for one character at a time when doing ',', and discard the rest? <<< i have no idea what you were referring to, but one of mine did that...
07:01:34 <oklokok> and you aren't here
07:01:34 -!- calamari has quit ("Leaving").
07:23:03 <oklokok> i woke up at 6, went back to sleep, immediately started another dream where i walked about 10 meters and jumped over this little stream, then woke up
07:23:10 <oklokok> it was 7 then.
07:23:58 <oklokok> guess my mind is trying to answer me wondering whether dreams go the same speed as irl
07:24:33 <oklokok> "hey, i already know, you idiot, i do that every night, remember?"
07:24:45 -!- oklokok has changed nick to oklopol.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:18:40 -!- sebbu has joined.
09:29:41 -!- ehird` has joined.
09:30:15 -!- ehird` has quit (Client Quit).
09:30:35 -!- ehird` has joined.
09:31:16 -!- ehird` has quit (Client Quit).
09:50:04 -!- ehird` has joined.
11:32:17 -!- tombom has joined.
11:39:13 -!- Tritonio has joined.
11:52:53 -!- pikhq has quit (Read error: 110 (Connection timed out)).
12:40:57 -!- pikhq has joined.
13:10:39 -!- RedDak has joined.
13:42:07 -!- ehird` has quit (Remote closed the connection).
13:42:32 -!- ehird` has joined.
14:00:52 -!- Figs has joined.
14:02:17 <Figs> !bf ++++++++++[>+++++++<-]>++.+.
14:02:20 <EgoBot> HI
14:06:33 <tombom> !bf +++++++++++++++++++++++++++++++.
14:06:39 <tombom> w/e
14:08:48 <Figs> lol O.o
14:09:03 <Figs> oh
14:13:33 <Figs> !bf ++++++++++++++++++++++++++++++++.
14:13:35 <EgoBot>
14:14:03 <Figs> You like me, don't you egobot? Yes you do~o... good bot!
14:14:37 * Figs pats egobot on the ... *bot equivalent of a head*
14:22:29 <ehird`> !bf ++++++++++++++++++++++++++++++++.
14:22:32 <EgoBot>
14:22:51 <ehird`> egobot just said "you like me" /before/ digs patted egobot..
14:24:36 <Figs> dig?
14:24:54 <Figs> :P
14:25:06 <ehird`> figs
14:25:07 <ehird`> :p
14:25:25 <Figs> !bf +[>+++<+>[-<+++++++>]>]<</
14:25:43 <Figs> XD
14:26:35 <Figs> !bf +[>+++[<++>-]++++[<++>-]]
14:26:43 <Figs> !ps
14:26:46 <EgoBot> 1 Figs: ps
14:27:36 <Figs> >>> bf >,[>,]<[.<] << Hello World!
14:27:42 <Figs> oh
14:27:52 <Figs> no ololobot
14:32:25 <oklopol> :<
14:32:55 <Figs> oklomagicman!
14:33:20 <oklopol> it doesn't wanna join it seems...
14:33:27 -!- ololobot has joined.
14:33:30 <oklopol> haha
14:33:33 <oklopol> i just failed
14:33:46 <Figs> :P
14:33:58 <oklopol> (16:32:02) (oklopol) >>> join #esoteric
14:33:58 <oklopol> (16:32:10) (oklopol) >>> join #esoteric
14:33:58 <oklopol> (16:32:43) (oklopol) >>> raw join #esoteric
14:34:39 <tombom> !bf [+].
14:34:52 <tombom> !bf +[+].
14:35:05 <oklopol> !ps
14:35:07 <tombom> !bf +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
14:35:10 <EgoBot> 1 oklopol: ps
14:35:12 <EgoBot> C
14:35:27 <oklopol> ah okay
14:36:21 <Figs> do we have a !C yet?
14:36:31 <oklopol> what's that?
14:36:38 <Figs> runs C code? :P
14:36:56 <oklopol> aaaaah :P
14:37:50 <oklopol> it could automatically nest everything that's not a function into main, and run
14:38:06 <Figs> geordi in ##C++ does C++
14:38:15 <oklopol> :O
14:38:18 <Figs> we should get our own geordi going...
14:38:41 <oklopol> show how it works
14:38:44 <oklopol> or is it !C?
14:38:47 <oklopol> or...
14:38:49 <oklopol> !c++
14:38:52 <EgoBot> Huh?
14:39:22 <Figs> geordi << int main{ for(int i =0;i<10;i++) { cout << i << " ";} }
14:40:42 <oklopol> (geordi) expected primary-expression before 'int'
14:40:51 <oklopol> (oklopol) geordi << int main(void){int i; for(i =0;i<10;i++) { cout << i << " ";} }
14:42:09 <Figs> ... it's C++ :P
14:42:43 <Figs> you have to screw something up or it just isn't right.
14:43:08 <oklopol> i can't find the error...
14:43:10 -!- Figs has changed nick to FreshCaek.
14:43:15 <oklopol> it gives that error after my cix
14:43:16 <oklopol> *fix
14:43:32 <oklopol> std::cout prolly
14:43:42 <FreshCaek> nay
14:43:50 <oklopol> nay?
14:43:53 <oklopol> okay
14:43:54 <oklopol> then what?
14:45:28 <FreshCaek> no idea.
14:45:35 -!- FreshCaek has changed nick to Figs.
14:47:07 <tombom> http://home.nvg.org/~oerjan/esoteric/intercal/unlambda.i
14:47:11 <tombom> i don't understand
14:47:14 <tombom> how can anyone code thisd
14:47:43 <Figs> oh
14:47:44 <Figs> ()
14:47:56 <Figs> + I already did <<
14:47:57 <Figs> :P
14:47:58 <Figs> >.<
14:49:02 -!- jix has joined.
14:49:57 <Figs> howdy
14:50:12 <Figs> howdy do-da day :)
14:51:25 -!- RedDak has quit (Remote closed the connection).
14:54:41 -!- Figs has changed nick to geodi.
14:54:59 -!- geodi has changed nick to Figs.
14:57:32 -!- Sgeo has joined.
14:58:51 <oklopol> tombom: oerjan is a demigod
14:59:30 <oklopol> http://home.nvg.org/~oerjan/esoteric/interpreter.unl <<< though i guess this provides the other half...
14:59:50 <oklopol> this is where bsmntbombdood says that's trivial to do, though
15:04:08 <Sgeo> hm?
15:04:09 <Sgeo> Hi all
15:04:22 <Sgeo> Hi oklopol
15:05:21 <Figs> hi
15:09:13 <Sgeo> hi Figs
15:09:17 <Figs> hi.
15:09:31 <Figs> this conversation is moving.
15:09:36 <Sgeo> lol
15:11:09 * Sgeo is tired
15:12:07 <Sgeo> Must.. keep.. working.. on.. PSOX..
15:14:11 -!- Figs_ has joined.
15:14:26 -!- Figs has quit (Nick collision from services.).
15:14:29 -!- Figs_ has changed nick to Figs.
15:15:22 <Sgeo> re Figs
15:16:34 <Figs> y0
15:16:39 -!- ihope has joined.
15:16:45 <Figs> It slayed me.
15:16:51 <Figs> evil nodefree.
15:17:15 <Figs> live node evil free no. yes?
15:17:29 <Figs> Compile or die;
15:17:35 <Figs> (dies)
15:18:47 <tombom> whgat ius psox
15:19:02 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox.txt
15:30:38 <Figs> try talking without using that char by 'w', 'd', 'r', and '3'
15:30:55 <Figs> (looks similar to 3 backwards.)
15:31:11 <Sgeo> Why?
15:31:15 <Figs> it's hard.
15:32:03 * Sgeo ruins it by having a nick that is what it is
15:32:08 <Figs> :P
15:32:25 <Figs> that contains it, anyway.
15:32:58 <Sgeo> I'm going to violate it now so I don't feel compelled to twist my words when talking about PSOX
15:33:28 <Figs> I should put goo on that writing-button to stop my inclination to it....
15:35:59 <Figs> It will twist your writing around...
15:36:14 <Sgeo> I don't want that when discussing PSOX
15:36:24 <Figs> :P
15:37:29 <Figs> But it will look so cool if anybody finds it... or it could just look awkward...
15:37:36 <Figs> *shrug*
16:10:48 -!- Nightrose has joined.
16:11:33 -!- Nightrose has left (?).
16:18:33 -!- Sgeo has changed nick to Sgeo|Testing.
16:26:06 -!- Sgeo|Testing has changed nick to Sgeo.
16:27:08 <Figs> http://video.google.com/videoplay?docid=-7038656109656489183
16:27:13 <Figs> plan 9 from outer space
16:27:16 <Figs> awful.
16:36:09 -!- poiuy_qwert has joined.
16:40:05 <Sgeo> Hi poiuy_qwert
16:44:12 -!- pikhq has quit (Read error: 110 (Connection timed out)).
16:50:24 <poiuy_qwert> hi Sgeo
16:53:45 <Figs> bbl
16:53:46 -!- Figs has left (?).
16:58:51 -!- SEO_DUDE has quit (Remote closed the connection).
17:09:21 -!- pikhq has joined.
17:10:42 -!- SEO_DUDE has joined.
17:11:02 <Sgeo> Hi pikhq and SEO_DUDE
17:29:55 -!- pikhq has quit (Connection timed out).
17:42:55 -!- tombom has quit.
17:45:29 <Sgeo> Must..work..on..PSOX..
17:51:56 -!- poiuy_qwert has quit.
18:00:46 -!- oerjan has joined.
18:06:24 -!- sebbu2 has joined.
18:09:36 -!- Tritonio has quit (Remote closed the connection).
18:14:55 <Sgeo> Hi oerjan
18:15:06 <Sgeo> IMPORTANT QUESTION TO THE FUTURE OF PSOX!!!!:
18:15:17 <oerjan> BOW TO ME YE MORTALS!
18:15:35 <Sgeo> If I have a pipe to a processes stdin, can I tell when it's requesting input, or does stdin not work that way?
18:15:41 * oerjan is reading the logs
18:16:15 <Sgeo> That is, if I'm running BF interpreter as a subprocess, will I be able to find out when the BF program does a `,`?
18:16:16 <oerjan> i think that depends on buffering
18:16:28 <Sgeo> oerjan, explain more
18:16:59 -!- Figs has joined.
18:17:00 <Figs> http://www.eatliver.com/i.php?n=2350
18:17:02 <Figs> :D
18:17:21 <Sgeo> Figs, do you know about stdio stuff?
18:17:34 <Figs> tiny bit
18:18:01 <Figs> I don't know what you want with pipes though
18:18:10 <Sgeo> If I have a pipe to a processes stdin, does that process request things from stdin, or are things placed on stdin?
18:18:28 <oerjan> both, with a buffer on each side
18:18:47 <Sgeo> How do I determine when a process requests stuff from stdin?
18:19:04 <Figs> I'm surprised you didn't ask me how I knew you were going to talk about pipes...
18:19:11 <oerjan> you can try non-blocking I/O on one end
18:19:17 <Sgeo> Figs, hm?
18:19:35 <Sgeo> How? Reading the logs?
18:19:40 <Sgeo> Or some other way?
18:19:44 <Figs> yeah, I had the log open
18:19:48 <oerjan> however if the BF uses line buffering say, then you will not get any new information other than at line ends
18:19:51 <Figs> that's how I saw people were talking in here
18:20:23 <Sgeo> oerjan, I won't get new information about when it's requesting input?
18:20:33 <Figs> sometimes I prefer to have a tab instead of a window...
18:20:36 <Figs> it blinks less
18:21:00 <oerjan> if the BF side is line buffered then , will read an entire line into the buffer when it is empty
18:21:27 <Sgeo> and does it let whatever's on the other side of stdin know this somehow?
18:21:33 <oerjan> if it is block buffered then iiuc it will read a fixed size
18:22:05 <oerjan> i am not sure
18:22:09 <Figs> iiuc?
18:22:17 <Sgeo> if I understand correctly
18:22:20 <Figs> ah kk
18:22:20 <oerjan> the writing side would need to turn its buffering off at least
18:23:02 <Figs> I thought stdout went to the next process in the pipe list?
18:23:08 <Figs> or are we talking about something else?
18:23:16 <Figs> like x|y|z
18:23:38 <Sgeo> When a program requests something from stdin, does it tell stdin, or does whatever's sending put and leave stuff there?
18:25:01 <oerjan> i think possibly you should talk to a real Unix hacker :)
18:25:18 <Sgeo> Where?
18:25:19 -!- sebbu has quit (Connection timed out).
18:25:27 <Figs> ##C?
18:25:27 <Sgeo> And this stuff would still apply on Windows somehow
18:25:31 <oerjan> er, i would assume we have some
18:25:54 <Figs> I'm taking a look on wikipedia, of all places :P
18:26:12 <oerjan> i am sure windows may do it in some completely different way :/
18:27:04 <Figs> I *assumed* that the first program would run, and then produce some output which is fed into the second program
18:27:21 <Figs> if we're doing something like x|y|z
18:27:32 <Figs> say, cat foo|grep ...
18:27:36 <oerjan> i am assuming we are talking about PSOX
18:27:57 <oerjan> and that PSOX wants to handle _both_ stdin and stdout, which makes things even hairier
18:28:19 <Figs> it isn't unidirectional?
18:28:44 <Figs> I assumed the stdin/stdout were one way communicaiton
18:28:48 <Figs> *communication
18:29:01 <Figs> but I'm no unix hacker ;)
18:29:02 <oerjan> the simplest thing is to use a request/response method, i think
18:29:41 <oerjan> so that PSOX only responds to requests from the interpreter, and doesn't need to worry about buffering so much
18:30:52 <oerjan> PSOX could use non-blocking input in case it want to do other things between requests
18:30:58 <oerjan> *wants
18:31:02 <Sgeo> but `,` causes the interpreter to request on stdin
18:31:15 <Figs> sgeo: http://www.pixelbeat.org/programming/stdio_buffering/
18:31:18 <Figs> is this relevant?
18:32:25 <oerjan> i mean, the simplest protocol is not to allow the interpreter to read without sending a request first
18:32:54 <oerjan> however, that of course makes mixing in ordinary I/O awkward, i guess
18:33:50 <Figs> how is PSOX different from POSIX?
18:34:12 <Figs> are they unrelated and just made to sound similar to confuse me?
18:34:59 <Sgeo> "P S O X" "P Eso X" PESOX was the original name, coming from PESOIX, and "incrementing" the IX
18:35:23 <Figs> kk
18:37:33 <Figs> if you read in, but there is no data... wouldn't the program just stall while waiting for data?
18:37:53 <Figs> unless you've defined it to allow for async
18:38:03 <Figs> (like with non-blocking sockets)
18:38:11 <Figs> (or whatever)
18:38:26 <Sgeo> Ok, just for clarification, this is why I don't want to just put stuff from regular stdin to the prog's stdin:
18:38:49 <Sgeo> If I buffer up characters, e.g. "aaa\n"
18:38:57 <Sgeo> the prog might do
18:39:09 <Sgeo> ,.(some function call that returns stuff)
18:39:16 <Sgeo> but I wouldn't want the next , to be 'a'
18:39:34 <Figs> returns stuff to where?
18:39:42 <Sgeo> the BF interpreter
18:39:50 <Figs> from where?
18:39:58 <Sgeo> the PSOX server
18:40:05 <Figs> that doesn't make sense
18:40:16 <Sgeo> What do you know about PSOX?
18:40:21 <Sgeo> Did you read the specs?
18:40:25 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox.txt
18:40:25 <Figs> De nada :)
18:40:33 <Figs> but it doesn't make sense to me
18:40:53 <Figs> how/why would you have a function call there? and how would it get there?
18:41:13 * Figs is trying to understand your project
18:41:51 <Sgeo> It lets a language such as BF do things with the outside world
18:42:08 <Sgeo> the BF might call a function by outputting 0x00 0x02 0x00 0x01 or whatevre
18:42:13 <Sgeo> And that might return something
18:42:34 <Figs> oh, I see.
18:42:40 <Figs> I knew the first bit
18:42:50 <Figs> (we've babbled with each other on this before)
18:43:04 <Sgeo> I don't want to just put the return stuff in stdin with stuff from the outside world
18:43:19 <Figs> why not have a different stream in?
18:43:24 <Sgeo> Figs, hm?
18:43:31 <Figs> it's just files
18:43:33 <Sgeo> To the BF interpreter?
18:43:46 <Figs> so you open a new connection/pipe/file/whatever
18:44:00 <Sgeo> By "BF Interpreter" I meant a black box for any esolang
18:44:10 <Sgeo> I can't modify it
18:44:40 <Figs> the only other way I can see it working is if you make stdin say where the data is coming from
18:44:54 <Sgeo> hm
18:44:59 <Figs> (which would make programing in bf, etc much harder)
18:45:07 <Figs> ex, each byte is really 2 bytes of input
18:45:13 <Figs> first is a description of where it is from
18:45:21 <Sgeo> I was thinking, if I absolutely HAD to, I could make the reply wait until a newline
18:45:32 <Figs> 00 = regular, 01 = return from psox special... 02 = whatever
18:45:35 <Sgeo> The BF program would have to loop until 0x0A
18:46:29 <Sgeo> hm, actually, I'm not sure if that would even work..
18:46:43 <Figs> well, you could reduce the amount of bytes needed that way
18:46:48 <Figs> in terms of description
18:46:57 <Figs> ie, after an 0x0A, next byte is descriptor...
18:46:59 <Sgeo> I mean, I'm not sure how that could be implemented either
18:47:28 <Sgeo> Although..
18:47:41 <Figs> you have a current buffer in use flag, and then before loading next buffer line, you see if you have a message waiting, process all messages, then load up the next one?
18:47:49 <Figs> (in your PSOX server or whatever)
18:48:37 <Sgeo> But what if I check to see if I have a message waiting before the BF program or whatever outputs that it wants to do something?
18:48:56 <Figs> ?
18:50:22 <Sgeo> How do I tell the different between ,.(function call) and .(functioncall),(get result)?
18:50:33 <Sgeo> er
18:50:41 <Sgeo> How do I tell the different between ,(regularinput).(function call) and .(functioncall),(get result)?
18:50:59 <Figs> the first byte is the source?
18:51:29 <Figs> it doesn't really matter what the program gets back, it has to figure out how to handle it, doesn't it?
18:51:43 <Figs> if you say where it is from
18:53:11 <Sgeo> icky complexity
18:53:43 <Figs> true, but I don't see how else you can get around it without providing another source of input and shoving it to the interpreter writer to comply
18:53:58 <Figs> then again
18:54:04 <Figs> I am no expert on Unix.
18:54:55 <Figs> Hell, I don't even own a computer than runs a Unix/Linux/etc system
18:54:58 <Figs> :P
18:55:11 <bsmntbombdood> what about eunuchs?
18:55:42 <Figs> ...
18:56:02 <Figs> :P
18:56:08 <Sgeo> ok, maybe this will help explain: My wrapper program needs to put one thing into the other apps stdin if the other app retrieves information at one time, and something else if it's a different time
18:58:01 <Figs> do you have the format you want to return the data in?
18:58:10 <Sgeo> hm?
18:58:16 <bsmntbombdood> what about a rapper program?
18:58:20 <Figs> I was just speculating on how to return the data
18:58:33 <Figs> did I miss the forest here? :P
18:58:48 <Sgeo> It depends on the function being called, and can be arbitrary if it's from regular stdin
18:58:49 <Figs> (yes figs, you missed the whole friggen planet!)
18:59:16 <Figs> what I assumed made sense was you'd have something like
18:59:29 <Figs> [description byte] data data data \n \0
18:59:32 <Figs> as a message
18:59:39 <Figs> and each message would be contained
19:00:02 <Figs> (it doesn't make sense to me to fragment a message)
19:00:15 <Sgeo> hm maybe
19:00:25 <Sgeo> but that's still a PITA for the BF or whatever programmer
19:00:34 <Figs> PITA?
19:00:38 <Figs> oh
19:00:39 <Figs> :P
19:00:52 <Figs> I guess I assumed it would be regardless?
19:01:10 <Figs> BF wasn't made to be easy... :P
19:01:21 <Figs> (for the end user, anyway)
19:01:24 -!- ehird` has quit (Remote closed the connection).
19:01:26 <Figs> (or end coder?)
19:01:35 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox-newline-demo.b
19:02:23 <Sgeo> see where there's the ,, and ,,, I don't want to make response retrieval insane
19:02:54 <Figs> I assumed you'd retrieve most responses with something like
19:03:04 <Figs> >,[>,]
19:03:18 <Figs> then <[<]
19:03:19 -!- ehird` has joined.
19:03:35 <Sgeo> Figs, that could be used if you want to store responses
19:03:37 <Figs> >[ /*handle it*/]
19:03:41 -!- Tritonio has joined.
19:03:53 <Sgeo> But it would still be a PITA to work with if extra stuff is added..
19:03:58 <Sgeo> hm
19:04:29 <Sgeo> 0x00 0x00 0x01 to retrieve data from stdin up to the next newline with a courtesy 0x00 after it?
19:04:40 <Sgeo> and , would then be used for responses?
19:05:07 <Figs> well, I'd think the first byte you'd pull off should tell you where it's from
19:05:28 <Sgeo> hm, then I could make 0x00 0x00 0x00 be go into output mode
19:05:45 <Figs> *shrug* ok
19:05:55 <Sgeo> and then regular commands would not need an escape thing
19:06:04 <Sgeo> a bit convoluted though
19:06:08 <Sgeo> But should still be usable
19:06:11 <Figs> yay!
19:06:14 <Sgeo> Except how would binary IO work?
19:07:41 <Figs> make the first byte output describe what it does
19:07:57 <Figs> if it's a binary output
19:07:59 <Figs> then
19:08:13 <Figs> you write the size after that
19:08:18 <Figs> in # of bytes that follow
19:08:23 <Figs> do it in 7-bit mode
19:08:28 <Figs> so like,
19:09:04 <Sgeo> I can describe formats for strings w/ NUL
19:09:11 <Figs> yeah
19:09:15 <Figs> but for binary
19:09:17 <Figs> you need a length
19:09:21 <Figs> you can do it like midi does
19:09:30 <Sgeo> one of which is terminate on unescaped NUL, and 0x01 escapes
19:09:40 <Figs> using a bit to say last size
19:10:03 <Figs> like if you had Mddd dddd Mddd dddd
19:10:13 <Figs> where M is either 1 for more or 0 for done
19:10:30 <Figs> assuming that *typically* you'd want a small amount of output
19:10:35 <Sgeo> another is something like indicator bytes: 0x01 if a byte follows, 0x00 if no byte follows
19:10:40 <Figs> (if that's not the case, then switch it)
19:10:44 <Sgeo> 0x01 some byte 0x01 another 0x00
19:11:03 <Figs> you can do that too
19:11:13 <Sgeo> I already have the strings defined, just not down in the specs
19:11:25 <Sgeo> This is going to be another complete change in PSOX
19:11:47 <Figs> drive people crazy you will, :)
19:12:09 <Figs> but eh, it's meant to be confusing isn't it? this *is* #esoteric after all...
19:12:19 * Sgeo didn't WANT it to be confusing
19:12:24 <Figs> oh :'(
19:12:33 <Figs> I guess I've been doing too much obfuscated C
19:12:38 <Figs> getting to my head :)
19:13:43 <Sgeo> You know, last night, I was assuming I'd be done with PSOX in some hours
19:14:32 <Sgeo> I'm going to special case domains 0 and 1
19:14:36 <Sgeo> and 2 will be system
19:14:42 <Sgeo> though that will be awkward
19:15:47 <Figs> (1<:"0 0"] <<1)+3;
19:15:59 <Sgeo> eh?
19:16:12 <Figs> that's 67 (or ascii c)
19:16:15 <Figs> *C
19:16:37 <Figs> it does look awful though, doesn't it? :P
19:19:37 <jix> well it's basically (1["0 0"] << 1)+3 which is ("0 0"[1] << 1)+3 which is (' ' << 1) +3 which is (32 << 1) +3 which is 64 +3 which is 67
19:19:49 <Figs> yes :)
19:20:02 <Figs> it's not very complicated
19:20:11 <Figs> that's just an appearance hack :P
19:20:16 <Sgeo> It's very complicated to someone who doesn't know C
19:20:35 <Sgeo> What's <:?
19:20:40 <Figs> its the same as [
19:20:48 <Figs> for people who have keyboards that don't have [
19:21:01 <Figs> but the trick is <: ] work together
19:21:08 <Figs> <: :> is how you'd usually write it
19:23:17 <Sgeo> PSOX will be line buffered
19:23:36 <Figs> ok
19:23:40 <Figs> cool
19:23:43 <Figs> g'luck :)
19:23:50 <Sgeo> ty I need it
19:24:58 <Sgeo> actually, scrath that maybe
19:28:11 * Figs scratches
19:28:46 -!- poiuy_qwert has joined.
19:39:52 -!- poiuy_qwert has quit.
19:48:51 -!- Sgeo has quit ("Ex-Chat").
19:49:56 -!- sp3tt has quit (Read error: 104 (Connection reset by peer)).
19:50:05 -!- ehird` has quit (Remote closed the connection).
19:50:17 -!- ehird` has joined.
19:55:43 -!- sp3tt has joined.
20:59:17 -!- RedDak has joined.
21:33:41 -!- pikhq has joined.
21:40:19 -!- RedDak has quit (Remote closed the connection).
21:42:11 -!- Figs has left (?).
21:46:28 -!- RedDak has joined.
22:15:08 <bsmntbombdood> aaagh
22:15:18 <bsmntbombdood> what's a symmetric monoid?
22:16:34 <oerjan> symmetric?
22:17:29 <bsmntbombdood> "(N/=, +, 0) is a symmetric monoid"
22:17:40 <bsmntbombdood> where = has 3 lines
22:18:38 <oerjan> well i guess it could either be an analogy to symmetric group, or a misspelling of commutative
22:21:20 <bsmntbombdood> http://www.lfcs.inf.ed.ac.uk/reports/91/ECS-LFCS-91-180/ECS-LFCS-91-180.ps
22:21:22 <bsmntbombdood> page 8
22:22:04 <oerjan> i'm not set up to view postscript
22:22:53 <bsmntbombdood> http://abacus.kwzs.be/~bsmntbombdood/ECS-LFCS-91-180.pdf
22:25:48 <oerjan> my hunch is that it means "commutative"
22:51:03 -!- sebbu2 has changed nick to sebbu.
2007-09-08
00:01:46 <ehird`> bsmnhttp://en.wikipedia.org/wiki/Symmetric_monoidal_category
00:01:53 <ehird`> bsmntbombdood: http://en.wikipedia.org/wiki/Symmetric_monoidal_category
00:01:59 -!- ehird` has quit (Remote closed the connection).
00:02:12 -!- ehird` has joined.
00:03:03 <oerjan> ehird`: i strongly doubt those pi-calculus people meant anything that advanced :D
00:03:24 <ihope> Ooh, pi calculus.
00:03:31 <ihope> I should study it eventually.
00:03:37 * bsmntbombdood is trying to learn it
00:03:50 <ihope> And gauge theory, which is oh-so-important for particle physics. At least, it seems important.
00:08:24 -!- jix has quit ("CommandQ").
00:33:55 -!- Sgeo has joined.
00:36:29 <Sgeo> Hi all
00:36:42 * Sgeo pokes ihope, oerjan oklopol
00:36:50 <Sgeo> and ehird`
00:36:50 <ihope> Ello.
00:36:55 <ihope> Who's oerjan oklopol?
00:36:59 <ihope> Or is oerjan the new and?
00:37:05 <ihope> :-P
00:37:24 <oerjan> well, if bsmntbombdood is xor...
00:37:39 <Sgeo> I'm completely redoing PSOX
00:41:27 <Sgeo> Anyone going to ask me why?
00:42:13 <pikhq> Sgeo: Self-whoring.
00:43:23 <Sgeo> As far as I can tell, it would be near-impossible for the server to determine when the client is requesting input..
00:45:17 -!- ehird` has quit.
00:45:22 <Sgeo> The system domain is moving to 0x02
00:45:29 <Sgeo> 0x00 and 0x01 will be special cased
00:45:44 <Sgeo> 0x00 0x00 is 'print next character safely'
00:45:55 <Sgeo> and does not require a 0x0A after it
00:46:39 <Sgeo> 0x00 0x01 will be for input
00:46:46 * Sgeo gets to writing the revised specs
00:52:10 -!- oerjan has quit ("Good night").
01:00:54 -!- RedDak has quit (Read error: 113 (No route to host)).
01:40:00 -!- sebbu has quit ("@+").
02:00:36 <Sgeo> argh
02:00:45 <Sgeo> BRB then I'll start writing the new specs for real
02:00:59 <pikhq> (x){x(x)}((x){x(x)})
02:01:06 <Sgeo> hm?
02:01:13 <bsmntbombdood> \mnfx.mf(nfx)
02:01:29 <pikhq> No, the equivalent is \x.xx \x.xx
02:01:40 <bsmntbombdood> you need a ()
02:05:07 <Sgeo> eh?
02:05:50 <bsmntbombdood> egads
02:16:37 <bsmntbombdood> pi calculus is teh confusing
02:16:48 <bsmntbombdood> i don't understand the new thing
02:24:10 <ihope> Yay, pi calculus.
02:24:27 <ihope> And suddenly, I wonder why I've been writing (\x.xx)(\x.xx) instead of (\x.xx)\x.xx... or have I? :-P
02:26:28 <bsmntbombdood> run to the hills
02:26:32 <bsmntbombdood> run for your life
02:29:58 <bsmntbombdood> lambda calculus is so easy to understand, why not pi?
02:33:49 <ihope> Because it's different?
02:33:54 <ihope> Go learn gauge theory instead!
02:34:32 <ihope> Or get a parallel text description of pi calculus.
02:34:50 <ihope> Formal on one side, intuitive on the other.
02:35:09 <Sgeo> bleh at input function
02:35:47 <Sgeo> `,` won't be enough to get input in PSOX anymore
02:35:58 <Sgeo> ^^main point of the revisions
02:38:01 * Sgeo was thinking something like `[-].+..+++++++++.,` would be a (naive) replacement, but it won't
02:38:23 <Sgeo> There will be a newline that will need to be discarded after the ,'
02:39:03 <Sgeo> erm
02:39:32 <Sgeo> well, it would be `[-].+..+++++++++.,,,` then an extraneous newline
02:39:48 * Sgeo pokes ihope and pikhq and people
02:41:12 <pikhq> Bleck.
02:41:27 <pikhq> That's *remarkably* bad.
02:41:55 <Sgeo> The PSOX server needs to be told somehow to get input
02:42:01 <Sgeo> to give to the client
02:42:48 <Sgeo> Would taking away a `,` or two help at all?
02:43:30 <Sgeo> Incidentally, that wouldn't be needed for every `,`, only for people who like Search&Replace and are basically idiots
02:44:44 <Sgeo> might it help if I said that it's sending (0x00 0x01 (input function) 0x01 (number of bytes) 0x0A (newline)) and returning (EOF status) (number of successful bytes) (the byte) (newline)?
02:45:04 * Sgeo pokes pikhq
03:09:55 <Sgeo> pikhq, http://sgeo.diagonalfish.net/esoteric/psox.txt
03:10:00 <Sgeo> see under Pseudodomains
03:11:05 <Sgeo> and oklopol and GregorR and ihope and and and
03:20:57 <Sgeo> Anyone here?
03:21:06 <Sgeo> ihope, pikhq EgoBot GregorR ?
03:30:42 * Sgeo watches tumbleweeds float bye
03:31:46 * pikhq joins the tumbleweeds
03:32:02 <Sgeo> erm..
03:32:48 -!- Tritonio has quit (Remote closed the connection).
03:34:03 <Sgeo> pikhq, any comments?
03:55:10 <bsmntbombdood> psox has not sense
04:21:35 * Sgeo makes a #PSOX
04:23:33 * bsmntbombdood makes a #doesn't-care
04:23:50 * Sgeo enters that channel
04:23:54 <Sgeo> >.>
04:24:00 * Sgeo pokes pikhq and ihope and and and
04:38:20 -!- rutlov has joined.
04:46:20 -!- rutlov has left (?).
05:37:14 -!- catron has joined.
05:37:25 <catron> hello my fellow devs
05:37:40 <Sgeo> Hi catron.
05:37:54 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox.txt
05:40:17 -!- calamari has joined.
05:41:38 <Sgeo> Hi calamari
05:41:45 <calamari> hi Sgeo
05:41:47 <Sgeo> calamari, you're the PESOIX person?
05:41:59 <calamari> not exactly
05:42:08 <calamari> I was working on an implementation of it
05:42:15 <Sgeo> oh
05:42:23 <pikhq> He designed the precursor to PESOIX, IIRC.
05:42:25 <Sgeo> Integrated with a BF interpreter?
05:42:34 <calamari> I defined ESOApi
05:42:36 <Sgeo> Or separate?
05:42:37 <Sgeo> oh
05:42:53 <calamari> it was for Linux
05:42:56 <Sgeo> Because if it was separate, I'd really like to know how it was done
05:42:59 <calamari> (PESOIX)
05:43:18 <calamari> I couldn't get the piping to work correctly, so the project got stuck
05:43:22 <Sgeo> ah
05:43:45 <Sgeo> couldn't determine when the BF interpreter or whatever wanted input?
05:43:49 <calamari> ESO api was implemented as a 512-byte x86 boot sector
05:44:07 <calamari> Sgeo: yeah it buffers stuff and messes it all up
05:44:14 <Sgeo> buffers stuff?
05:44:25 <calamari> Sgeo: the OS
05:44:30 <Sgeo> Is it possible to find out when a program is requesting input?
05:44:34 <Sgeo> Or is that meaningless?
05:44:39 <calamari> Sgeo: yes and no
05:44:45 <Sgeo> calamari, how?
05:45:04 <pikhq> The oft-broached idea of the Brainfuck OS. . .
05:45:16 <calamari> pikhq: broached?
05:45:29 <Sgeo> calamari, how do I determine when the program requests input?
05:45:34 <pikhq> calamari: Excuse me, I may be using odd vocabulary ATM.
05:45:47 <pikhq> My brain is getting shot by it being 11. . .
05:45:57 <pikhq> And me having woken up at 5:20 today.
05:45:59 <Sgeo> It's 12:45AM here..
05:46:08 <Sgeo> calamari, how?
05:46:19 <calamari> pikhq: nah my vocabulary is just smaller it seems
05:46:41 <calamari> Sgeo: I don't remember all the details anymore.. that was a long time ago
05:46:50 <Sgeo> For the buffering issue, I just sticked newlines everywhere
05:47:08 <calamari> Sgeo: I was trying to do it so that interpreters wouldn't need to be modified
05:47:10 <Sgeo> But that doesn't help me know when the program is requesting stuff on stdin
05:47:11 <pikhq> (transitive) (figuratively) To begin discussion about (something).
05:47:14 <pikhq> From Wiktionary.
05:47:14 <Sgeo> calamari, same here
05:47:37 <Sgeo> although I'm thinking about my own spec, PSOX
05:47:42 <pikhq> Guess I was using valid verbiage, even at this time of night.
05:47:58 <pikhq> calamari: Let me just say that PSOX seems to be a sanely-done PESOIX for the most part.
05:48:08 <Sgeo> pikhq, did you see the changes?
05:48:10 <calamari> pikhq: yeah .. I looked it up in my paperback dict
05:48:24 <pikhq> (although I need to look at the spec when I feel more ready & awake for programmatical thought)
05:48:28 <pikhq> Not yet.
05:48:43 * Sgeo made it so that the BF program needs to send a command in order to receive input
05:48:49 <calamari> anyhow, after all the bf os talk, I seem to be so far the only one who has actually done anything about it.. that I am aware of anyhow
05:48:59 * pikhq nods
05:49:08 <pikhq> Hmm.
05:49:12 <Sgeo> because I can't seem to work out how to detect when something requests stuff on stdin
05:49:20 * pikhq notes that calamari missed out on PEBBLEversary. :p
05:49:24 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox.txt
05:49:42 <Sgeo> (new version, with a bit of strangeness due to copy&paste goodness
05:50:04 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox-old.txt is without the send-a-command-to-get-input thing
05:50:43 * Sgeo pokes calamari to those URLs
05:51:13 <Sgeo> hm, the "To map a longname (e.g. "http://example.com/longname") to
05:51:13 <Sgeo> an odd shortname (e.g. 0x03):" thing is a bit dated
05:51:16 <pikhq> I don't like the idea of needing a PSOX command to get something from stdin. . .
05:51:44 <Sgeo> If there's a better way to do it, like knowing when the client requests data from stdin, I'm all for it
05:51:56 <Sgeo> But if there isn't..
05:52:02 <pikhq> It makes it exceptionally hard to get PEBBLE to work with PSOX.
05:52:12 <Sgeo> eh?
05:52:12 <calamari> PEBBLEversary?
05:52:21 <pikhq> calamari: One year of PEBBLE development.
05:52:40 <pikhq> Sgeo: I was thinking about having PSOX just be supported via some additional macros. . .
05:52:58 <Sgeo> couldn't an input macro output some stuff too?
05:53:12 <pikhq> "input" is a builtin.
05:53:25 <Sgeo> make a p_input macro
05:53:29 <calamari> guess I need to catch up..
05:53:33 * calamari looks up PEBBLE
05:53:45 <pikhq> calamari: BFM got renamed to PEBBLE.
05:53:54 <pikhq> A few months ago. ;)
05:54:03 <calamari> ahh
05:54:06 <pikhq> Sgeo: Removing source-compatibility.
05:54:36 <Sgeo> pikhq, eh? Programs not written for PSOX don't need to be compatible with PSOX
05:54:39 <Sgeo> erm..
05:54:59 <pikhq> A program written for PEBBLE should work regardless of the target language.
05:55:01 <Sgeo> If PSOX-Init isn't the first thing output, PSOX ignores it
05:55:16 <pikhq> (unless it uses a language-specific feature)
05:55:38 <Sgeo> PEBBLE programs that don't output PSOX-Init will still work
05:55:45 <Sgeo> Same thing that PESOIX does
05:55:51 <pikhq> You don't seem to get the point. . .
05:56:11 <pikhq> I want the same PEBBLE input to work regardless of whether it targets Brainfuck or PSOX+Brainfuck.
05:56:44 <pikhq> I want to be able to just plug in PFUCK and PSOX-specific versions of the PEBBLE macros and get a program taking advantage of PSOX.
05:57:09 <Sgeo> ..That's meaningless. If it uses no PSOX features, then it just targets BF
05:57:26 * pikhq beats Sgeo for being clueless
05:57:41 <pikhq> The PSOX-specific versions of PEBBLE macros could well be using PSOX features.
05:58:18 <pikhq> I don't want to rewrite *every single PEBBLE program* to be able to take advantage of features added by PSOX, when I could just rewrite the PEBBLE stdlib instead.
05:58:24 <Sgeo> So if it wants to take advantage of PSOX then it needs to emit PSOX-Init at the beginning anyway, and be written for PSOX
05:58:38 <Sgeo> oh
05:58:38 * pikhq beats Sgeo some more.
05:59:26 <Sgeo> So instead of having to replace stuff, you just want to be able to add PSOX stuff in, and not worry about s/input/p_input/?
05:59:35 <pikhq> Yes.
06:00:20 <Sgeo> Memo me if you can solve the pipes problem
06:00:25 <Sgeo> G'night
06:00:26 <pikhq> Now, an easy way to tell whether a program wants to read a return code. . . If there is a return value that has not been read, put that into stdin.
06:00:37 <pikhq> Erm.
06:00:40 <Sgeo> hm?
06:01:25 <pikhq> read_from_stdin(){if(return_code_not_read()) putchar (return code); else putchar (getchar());}
06:01:52 <Sgeo> What's return_code_not_read()?
06:02:18 <pikhq> ...
06:02:29 <pikhq> A chunk of psuedocode?
06:02:32 <Sgeo> Imean, how does it work?
06:02:56 <Sgeo> I guess, if the stdin pipe or whatever holds a readable queue..
06:03:04 <pikhq> If there's something returned from a PSOX function that hasn't been received yet, it returns true. Otherwise, it returns false. . .
06:03:19 <Sgeo> Can I tell if it's been received yet?
06:03:31 <pikhq> Imagine that you've got a queue into which PSOX function return values are put into.
06:04:08 <pikhq> You pop from that when reading a return code. . . If the queue is empty, everything has been received by the program.
06:04:31 <Sgeo> How do I know that the client wants to read anything?
06:04:37 <Sgeo> and thus to pop something?
06:05:07 <pikhq> Hmm.
06:05:53 <pikhq> Easier solution: just always put return values to the program's stdin, and take advantage of file-stream buffering.
06:06:18 <Sgeo> file-stream buffering?
06:06:37 <pikhq> cat foo | bar
06:06:55 <Sgeo> How could I take advantage of that like that?
06:06:58 <pikhq> Ignore my "easier solution"'s explanation.
06:07:39 <pikhq> In that pipe (as with any other pipe), cat won't output everything at once. When it outputs something, the output function makes it halt until bar reads from its stdin.
06:08:00 <Sgeo> How does it do that? That's what I need
06:08:17 <pikhq> It does that via the magic of Unix.
06:08:23 <Sgeo> ..I mean, unless it's really putting things into a stdin queue for bar..
06:08:30 <Sgeo> pikhq, can I hook into it easily?
06:08:45 <pikhq> Just set up a pipe; it's a fairly mundane part of the POSIX API.
06:09:07 <Sgeo> But I need to know WHEN bar requests input
06:09:17 <Sgeo> Before or after bar outputted some command..
06:10:08 * pikhq beats his head into the desk
06:10:13 <Sgeo> pikhq, hm?
06:11:39 <pikhq> If there is anything on PSOX-interp's stdin, put that into PSOX-program's stdin. Then, if a command is executed, put that command's result to PSOX-program's stdin.
06:11:45 <pikhq> There, your algorithm.
06:12:38 <Sgeo> hmm..
06:12:39 <Sgeo> G'night
06:12:44 <catron> g'night
06:12:45 <Sgeo> Memo me with any more thoughts
06:12:53 -!- Sgeo has quit ("Ex-Chat").
06:26:20 -!- catron has left (?).
06:56:41 -!- g4lt-mordant has changed nick to g4lt-xperienced.
06:56:48 -!- g4lt-xperienced has changed nick to g4lt-eexperience.
06:57:16 -!- g4lt-eexperience has changed nick to g4lt-experienced.
07:27:58 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:06:23 -!- sebbu has joined.
09:47:19 -!- RedDak has joined.
11:04:11 -!- oerjan has joined.
11:38:24 -!- jix has joined.
13:07:09 -!- ehird`_ has joined.
13:37:40 <ehird`_> so, bsmntbombdood = xor
13:37:41 <ehird`_> oerjan = and?
13:38:07 <oerjan> that IS the NATURELLE CONCLUSION
13:38:38 <ehird`_> i like the NATURALLE CONCLUSION
13:39:25 <ehird`_> hmm
13:39:27 <ehird`_> what is just normal or
13:39:59 <oerjan> gregOR, perhaps
13:40:00 <ehird`_> how about or = GregorR, not = ihope
13:40:04 <ehird`_> whoa
13:40:05 <ehird`_> we think alike
13:40:39 <ehird`_> hmm
13:40:52 <ehird`_> implies = pikhq?
13:42:01 <ehird`_> ok
13:42:05 <ehird`_> P = RodgerTheGreat
13:42:14 <ehird`_> Q = ?
13:42:26 <oerjan> sukoshi
13:42:53 <ehird`_> ok
13:43:05 <ehird`_> what about ( and )
13:43:15 <ehird`_> aha
13:43:25 <ehird`_> since they have no "real" value
13:43:26 <ehird`_> bots.
13:43:35 <ehird`_> bsmnt_bot = (
13:43:37 <ehird`_> cmeme = )
13:43:58 <ehird`_> Sukoshi oerjan bsmnt_bot Sukoshi pikhq RodgerTheGreat cmeme
13:45:00 <ehird`_> if i have got the notation right, that is Q and ( Q implies P )
13:47:15 <ehird`_> ihope bsmnt_bot RodgerTheGreat oerjan ihope RodgerTheGreat cmeme
14:20:17 -!- RedDak has quit (Remote closed the connection).
14:33:37 <ehird`_> :D
14:33:54 -!- oerjan has quit ("Dinner").
14:50:47 -!- jix has quit (Nick collision from services.).
14:50:59 -!- jix has joined.
15:09:51 <RodgerTheGreat> woah, kickass. I'm a variable. :D
15:17:47 <ehird`_> :)
15:18:34 <RodgerTheGreat> although operators are pretty sweet as well
15:18:46 <ehird`_> i wouldn't trust you to operate on anyone, RodgerTheGreat
15:19:06 <RodgerTheGreat> yeah, I'm no doctor. I am, however, a SCIENTIST!
15:19:30 <ehird`_> oh god i hope not
15:21:23 <RodgerTheGreat> don't you mean "ihope ihope"?
15:21:32 <ehird`_> X( see what i mean
15:21:53 <RodgerTheGreat> hm
15:22:08 <ehird`_> speaking of esoteric thinsg,
15:22:12 <ehird`_> *things
15:22:37 <ehird`_> does a Python-based music programming software count?
15:22:50 <ehird`_> here's the "official" lowdown on what that actually means:
15:22:51 <ehird`_> "The idea is that you have various instruments - which are (suprise suprise) Python classes, and you write some code using a library which takes some input parameters, does something (Runs a cellular automata? Generates a sine wave? Distorts a sample in some way?) and returns some audio. Now, for each track in the application you write code to call the various instruments, and the track's volume etc. plus you can write a sort of middle
15:22:58 <ehird`_> (did that all get through?)
15:23:46 <RodgerTheGreat> "...plus you can write a sort of middle"
15:23:58 <ehird`_> ware for a whole track which will apply to all audio played on it. Then it just mixes it together and produces the track."
15:25:25 <RodgerTheGreat> interesting
15:26:02 <RodgerTheGreat> would the "track" ultimately sound musical or consist of usable binary data of some kind (or both, via some odd interlacing method or somesuch?)
15:26:24 <ehird`_> well, it depends.
15:26:31 <ehird`_> you write the instruments and arrange them, after all
15:26:43 <ehird`_> but that's just a frontend (exporting or playing back etc)
15:27:18 <ehird`_> probably i'd just code it so it can play the track back or export to .wav/PCM
15:27:24 <ehird`_> two most common operations i'd say
15:29:44 <ehird`_> :)
15:30:41 <RodgerTheGreat> so last night I wrote another scripting language
15:31:23 <ehird`_> oo
15:31:27 <RodgerTheGreat> this one actually seems pretty useful, but I'm still tweaking the syntax a bit
15:31:52 <RodgerTheGreat> it has recursion, something akin to function pointers and some other nifty stuff
15:33:46 <ehird`_> i think i'll implement a first prototype of that music software
15:33:50 <ehird`_> as soon as i find an audio lib for python
15:33:50 <ehird`_> :/
15:33:55 <RodgerTheGreat> go for it
15:33:58 <RodgerTheGreat> hm
15:34:04 <ehird`_> something that can generate tones (sine waves, etc) but can also modify samples
15:34:05 <RodgerTheGreat> minor stumbling block
15:34:17 <RodgerTheGreat> does python have SDL bindings?
15:34:17 <ehird`_> (preferably everything from adding and removing single samples to changing the volume, etc)
15:34:21 <ehird`_> and yeah, pygame
15:34:29 <ehird`_> but pygame isn't that fun :p
15:34:31 <RodgerTheGreat> I got the impression audio synth and the like are pretty easy in SDL
15:35:21 <ehird`_> its not really an audio synth though is it?
15:35:33 <ehird`_> it's just something that can morph and generate sounds
15:36:26 <RodgerTheGreat> well, that involves exactly the same kind of stuff, at the end of the day
15:36:30 <ehird`_> true
15:57:19 <ehird`_> hm, i wonder how i should implement the middleware
15:57:41 -!- Sgeo has joined.
15:58:46 <ehird`_> RodgerTheGreat: have any ideas how i could implement the middleware functionality?
15:59:08 <RodgerTheGreat> hm
15:59:40 <RodgerTheGreat> would it just be a data structure for music that calls "instruments" in sequence, or what?
15:59:49 <ehird`_> the idea, of course, is that you could hook up the "reverb" middleware to an instance of the "echo" middleware which is given the current track
16:00:00 <ehird`_> something like
16:00:11 <ehird`_> Reverb.apply(Echo.apply(self))
16:00:14 <Sgeo> Hi all
16:00:14 <ehird`_> you get the idea
16:00:23 <ehird`_> tracks would probably just be a special case of middleware
16:00:37 <ehird`_> maybe Reverb(settings).apply(Echo(settings).apply(self))
16:02:01 <ehird`_> hm, no, that wouldn't be good
16:02:03 <ehird`_> maybe:
16:02:19 <ehird`_> echo = Echo(settings)
16:02:24 <ehird`_> echo.apply(Reverb(settings))
16:02:26 <ehird`_> self.apply(echo)
16:02:48 <ehird`_> so middleware.apply(other_middleware) morphs middleware to have other_middleware in it
16:03:51 <ehird`_> does that sound like a good way, RodgerTheGreat?
16:03:58 <RodgerTheGreat> could work
16:04:26 <ehird`_> i'll write a full sort of example
16:07:17 * Sgeo pokes pikhq..
16:07:52 <Sgeo> and GregorR and ihope for good measure
16:10:36 <Sgeo> Why is it that it seems no one cares?
16:12:01 * pikhq wakes
16:12:15 <Sgeo> hi pikhq
16:12:22 <ehird`_> Sgeo: because people do other things than talk about psox
16:12:56 * Sgeo goes to #PSOX
16:13:16 <Sgeo> hm
16:13:57 <Sgeo> pikhq, re: your idea, couldn't it cause a race condition or something? Or at least cause problems with users entering stuff before the program asks for it?
16:15:00 <Sgeo> The user would need to correctly be able to determine that the program wants input, and not provide too much, I think
16:15:13 <Sgeo> Unless the program had to scroll pass newlines maybe?
16:15:19 * Sgeo is not fully coherent right now
16:16:05 <ehird`_> nonlogic dump is the official pastebin of here isn't it?
16:16:17 <Sgeo> ehird`_, hm?
16:16:28 <ehird`_> RodgerTheGreat: http://nonlogic.org/dump/text/1189264162.html here's a kind of example
16:16:39 <ehird`_> the newlines doubled up randomly in that paste o_O
16:22:39 <pikhq> Sgeo: Hmm. That actually is a bit tricky.
16:23:39 <Sgeo> Incidentally, is output a builtin in PEBBLE?
16:23:57 <ehird`_> obviously.
16:24:04 <ehird`_> it DOES compile to brainfuck...
16:24:30 <Sgeo> So then in any spec, output would need to be changed, or a p_output made..
16:24:41 <Sgeo> >.>
16:25:26 <Sgeo> How is making a p_output different from requiring a p_input? Not that I wouldn't like a nice solution to the pipes problem that lets input be `,` mind you
16:33:37 * Sgeo pokes pikhq, then goes AFK
17:49:02 <bsmntbombdood> wrong
18:01:38 <pikhq> I might be able to get stuff to work in PEBBLE. . .
18:01:56 <pikhq> New PEBBLE-specific pass.
18:03:01 <pikhq> Provide the p_input, p_output, and p_string commands, which will output via just "," and ".", rather than the in and out macros, which will call the PESOIX functions.
18:06:19 -!- sebbu2 has joined.
18:08:19 -!- g4lt-experienced has changed nick to g4lt-mordant.
18:13:34 -!- sebbu has quit (Nick collision from services.).
18:13:37 -!- sebbu2 has changed nick to sebbu.
18:39:16 -!- KajirBot has joined.
18:40:25 -!- KajirBot has quit (Remote closed the connection).
18:41:12 -!- jix has quit ("This computer has gone to sleep").
18:42:51 -!- ehird`_ has changed nick to ehird`.
19:08:27 <Sgeo> pikhq, you mean PSOX?
19:08:30 <Sgeo> afk
19:08:37 <pikhq> Right.
19:11:35 * Sgeo is here only for a few min right now
19:11:42 <Sgeo> I'll be back laterish maybe
19:12:31 <Sgeo> um, actually, I can't risk the computer beeping
19:12:31 <Sgeo> Bye
19:12:36 -!- Sgeo has quit ("Ex-Chat").
19:59:53 -!- oerjan has joined.
20:20:18 -!- ehird` has quit (Remote closed the connection).
20:20:39 -!- ehird` has joined.
21:00:55 -!- importantshock has joined.
21:29:15 -!- ihope has quit ("Reconnecting...").
22:37:45 -!- Sgeo has joined.
22:38:54 <Sgeo> Anyone here?
22:47:37 * Sgeo pokes
22:47:47 <oerjan> oww
22:48:09 <oerjan> my eye!
22:49:08 <Sgeo> ..oops
22:49:18 <Sgeo> *unpoke*
22:49:31 -!- calamari has joined.
22:49:35 <Sgeo> Hi calamari
22:49:49 <calamari> hi
22:49:58 <Sgeo> Do you have any code from your implementation of PESOIX that could help me understand pipes?
22:50:19 <calamari> not sure
22:50:23 <calamari> let me take a look
22:53:36 -!- calamari has quit (Read error: 104 (Connection reset by peer)).
23:07:06 -!- ihope has joined.
23:09:32 <Sgeo> Hi ihope
23:09:42 <ihope> Ello.
23:10:02 <ihope> Uh oh. I seem to have two Firefox windows open.
23:10:24 * ihope closes... that one
23:12:01 <Sgeo> pikhq?
23:13:18 * Sgeo safely pokes pikhq
23:15:38 <Sgeo> Testing http://sgeo.diagonalfish.net/esoteric/psox.txt
23:16:28 <Sgeo> Testing PSOXURL/psox-safety.txt
23:16:31 <Sgeo> argh
23:16:33 <Sgeo> http://sgeo.diagonalfish.net/esoteric/
23:16:53 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox.txt
23:17:27 * Sgeo pokes pikhq
23:21:26 -!- calamari has joined.
23:21:40 -!- jix has joined.
23:24:00 <Sgeo> re calamari, hi jix
23:24:07 <calamari> hi
23:24:10 <jix> moin
23:24:11 <calamari> sorry, lost power
23:24:14 <Sgeo> wb
23:24:27 <calamari> I was in the process of making the pesoix files available to you
23:25:00 <Sgeo> ty (in advance?)
23:25:06 <Sgeo> What language is the code in?
23:25:08 * oerjan vaguely recalls someone needing a german. not why, though.
23:25:19 <calamari> ehh, apache isn't cooperating.. email? (pm is fine)
23:29:18 <ihope> I could do with some German chocolate cake. :-P
23:29:50 <ihope> Or maybe I should call it German's chocolate cake, to sort of make a ding in that rumor.
23:29:53 <ihope> Er, belief.
23:35:58 <oerjan> http://whatscookingamerica.net/History/Cakes/GermanChocolateCake.htm
23:36:15 <oerjan> indeed, i don't think Germans are big on pecans
23:36:44 <oerjan> i could be wrong, of course :)
23:37:21 <Sgeo> erm, I don't know C
23:37:27 <Sgeo> What's write(), and how does it work?
23:37:39 <oerjan> man write
23:37:48 <ihope> Yeah, German chocolate cake was named after a guy named German, wasn't it?
23:38:22 <Sgeo> I guess PESOIX3.c is the file I should look at for the main loop?
23:38:27 <oerjan> that page says so
23:38:37 <Sgeo> calamari?
23:38:49 <calamari> hi
23:39:03 <Sgeo> Is it that PESOIX1-3.c represent attempts?
23:39:06 <calamari> sorry, I don't remember anymore
23:39:09 <calamari> yes
23:39:12 <Sgeo> ty
23:39:38 <calamari> and some of those other files are scripts, etc to test it
23:39:52 * Sgeo wishes he understood nonblocking I/O
23:40:00 <calamari> yeah
23:40:10 <Sgeo> /* handle esolang input requests */
23:40:10 <Sgeo> pthread_create(&input_thread, NULL, handle_input, NULL);
23:40:11 <Sgeo> hm
23:40:12 <calamari> like I say.. it never worked properly
23:40:14 <ihope> Non-blocking I/O? Hmm, that sounds evil.
23:40:35 <ihope> What is it, anyway?
23:40:35 <Sgeo> Was it not working because of line-buffering?
23:40:46 <Sgeo> Or for different reasons?
23:41:03 <ihope> Something where I/O functions return stuff like "no input yet"?
23:41:09 <calamari> I don't remember now.. maybe Gregor has a better memory than I.. I bugged him about it repeatedly
23:41:24 <oerjan> ihope: right
23:41:37 <Sgeo> GregorR mentioned to me that some interpreters might require newlines
23:41:42 <ihope> Fine as long as there's a "wait for input" function.
23:41:42 <Sgeo> That is now part of the spec
23:42:08 <ihope> An interface that provides a "has anything happened yet?" function but no "wait for something to happen" function is sort of broken.
23:42:10 <Sgeo> Gah! What's pthread_create?
23:42:48 <ihope> Unless, of course, providing only "has anything happened yet?" is more efficient for some reason.
23:42:49 <Sgeo> handle_input()
23:42:52 <GregorR> What's this?
23:43:12 <ihope> This is called IRC. You type stuff here and push this button and people see what you typed.
23:43:25 <Sgeo> GregorR, you worked on a PESOIX implementation?
23:43:45 <GregorR> No?
23:44:00 <GregorR> I just laughed as other people tried to hook one up to interpreters that waited on \n.
23:44:16 <Sgeo> Um.. different Gregor Richards I guess...
23:44:44 <Sgeo> "Copyright (c) 2006 Gregor Richards "
23:45:24 <calamari> Sgeo: that's Egobot code, lol
23:45:37 <Sgeo> GregorR, is it possible to tell if a process is requesting input or not?
23:45:42 <calamari> you can safely delete those, I was just using them for examples
23:45:58 <Sgeo> PESOIX3.c has that copyright notice
23:46:22 <Sgeo> /* handle esolang input requests */
23:46:22 <Sgeo> pthread_create(&input_thread, NULL, handle_input, NULL);
23:46:44 <calamari> Sgeo: oh, probably because I used some of his code in there
23:46:56 <Sgeo> Ah
23:47:05 <Sgeo> I just need to learn what pthread_create is
23:47:21 <calamari> should be in your man pages
23:47:47 <Sgeo> sgeo@ubuntu:~$ man pthread_create
23:47:47 <Sgeo> No manual entry for pthread_create
23:48:07 <calamari> do you have all the man pages installed?
23:48:16 * Sgeo shrugs
23:49:43 <calamari> sudo apt-get manpages-dev manpages-posix manpages-posix-dev
23:49:46 <Sgeo> the input_thread thing seems to be declared, but not assigned..
23:49:47 <calamari> oops
23:49:55 <calamari> sudo apt-get install manpages-dev manpages-posix manpages-posix-dev
23:50:38 <calamari> then you should have all sorts of good stuff
23:51:47 * Sgeo wants this thing to work on Windows too, incidentally..
23:52:10 <calamari> ahh well then you're out of luck with that code then
23:52:19 <calamari> but, but cares about Windows anymore?
23:52:24 <calamari> who
23:56:18 <ihope> Companies?
23:56:28 <ihope> Especially Microsoft :-P
23:56:51 <ihope> And people whose Linux machines don't mix with their wireless adapters.
23:59:07 <calamari> my IBM Thinkpad at work runs Linux happily, including wireless
23:59:31 <Sgeo> Does the PESOIX code know when the esolang interp. requests input?
23:59:39 <Sgeo> "/* handle esolang input requests */ "
23:59:50 <Sgeo> How does that work? How would I do that in Python?
2007-09-09
00:01:02 <calamari> # handle esolang input requests
00:01:03 <calamari> :P
00:01:46 <Sgeo> lol
00:02:02 <Sgeo> I meant how would I hook something up to the esolang input requests?
00:02:57 -!- jix has quit ("CommandQ").
00:03:31 <calamari> well, let's see.. is it required to know that the esolang wants input?
00:04:45 <Sgeo> YES
00:04:52 <calamari> perhaps your pesoix just supplies output to the esolangs input when it has some available.
00:04:53 <Sgeo> Unless I make the changes in the spec..
00:06:03 <calamari> I think I have a little I/O diagram in there
00:06:58 <Sgeo> Let's suppose '.' is some PSOX request that returns stuff
00:07:13 <Sgeo> How is PSOX supposed to tell the difference between ',.' and '.,'
00:07:29 <Sgeo> One would get one thing, the other would get something else
00:09:12 <Sgeo> Push comes to shove, see http://sgeo.diagonalfish.net/esoteric/psox.txt
00:09:18 <Sgeo> Under Pseudodomains
00:09:40 <Sgeo> That's only if I can't determine when an input requests is being made, or when the size of the stdin buffer goes down
00:09:48 <pikhq> Obviously, you need an explicit get_stdin() function.
00:10:08 <pikhq> I've been thinking about it a while, and that's the only sane way to get it done.
00:10:18 <Sgeo> You mean like in the current specs (with the PSOX input function?)
00:10:35 <Sgeo> pikhq, is what's in the psox.txt file now sane?
00:10:48 <Sgeo> Under Pseudodomains
00:11:27 * pikhq agrees
00:11:35 <pikhq> very sane.
00:11:41 <Sgeo> :)
00:12:10 <pikhq> Also, I now see how I'd implement the PEBBLE pass.
00:12:27 <Sgeo> Will your modified input thing be able to get rid of the ending newline?
00:12:38 <Sgeo> (for fixed-byte requests)
00:13:13 <pikhq> No; the PEBBLE "input" command only accepts one byte of input.
00:13:47 <Sgeo> So the substitutuonary input will read in one byte, then will it be able to discard the newline?
00:13:56 <pikhq> . . . Oh.
00:14:07 <pikhq> You know, the newline bit would still be tricky.
00:14:29 <Sgeo> Without it, on interps. that require newlines, there might be deadlocks
00:14:30 <pikhq> It'd be much, much easier (maybe even possible) if the newline wasn't output.
00:16:02 <pikhq> Still a useful API, just hard to get to work with PEBBLE.
00:16:57 * Sgeo doesn't see a way to remove the newline
00:19:44 <Sgeo> pikhq, is it workable with the newline?
00:21:03 <pikhq> Not for PEBBLE.
00:21:09 <Sgeo> D:
00:21:15 <pikhq> For raw Brainfuck, sure, just not for PEBBLE. . .
00:21:50 <Sgeo> There's no way it can be taken out unless it runs on interpreters that don't need newlines or something
00:22:22 <pikhq> 0x00 0x02 0x09 0x0A: Returns a single char from stdin.
00:24:08 <Sgeo> It would cause deadlock on some interpreters
00:24:27 <pikhq> Um, wha?
00:24:45 -!- oerjan has quit ("Good night").
00:24:46 <Sgeo> Suppose I requested a character like that, then read in
00:24:55 <Sgeo> ',' is blocking, so I wait
00:25:07 <Sgeo> but the interp doesn't send it until it gets the newline 0x0A
00:25:19 <Sgeo> But that's not going to come because the BF prog isn't requesting it
00:25:25 <pikhq> "interp"?
00:25:31 <Sgeo> esolang interpreter
00:25:34 <pikhq> Which interp? PSOX interpreter? Esolang interpreter?
00:25:38 <pikhq> Oh.
00:26:05 <pikhq> I don't think that's how it works.
00:26:44 <Sgeo> hm?
00:27:07 <pikhq> A lot of esolang interpreters use buffered input, which may work *somewhat* like that when called from a shell. . .
00:27:42 <pikhq> But you can just flush the stream going to the esolang interpreter, and the ',' will stop blocking.
00:27:58 <Sgeo> oO I can?
00:28:03 <Sgeo> Are you _sure_?
00:28:06 <pikhq> (it just so happens that outputting 0x0A also flushs a stream)
00:28:19 * Sgeo pokes GregorR
00:28:20 <pikhq> Erm.
00:28:29 * pikhq pokes GregorR, too. Tell us if we're idiots.
00:35:32 <Sgeo> GregorR, you there?
00:40:18 <GregorR> What's this?
00:40:22 <GregorR> I'm confused by the above statements.
00:40:53 <GregorR> If you have a pipe to some other program, and that other program is buffering, you can't force it to take all your input, only it can.
00:41:13 <Sgeo> GregorR, and are there interpreters that will take it in only after a newline?
00:41:18 <Sgeo> *esolang interpreters
00:41:27 <GregorR> Well, it's not as likely to do that on input as on output.
00:41:58 <Sgeo> Are there some that do?
00:42:44 <GregorR> I'm muddling in my head exactly what happens in various situations here ...
00:43:48 <GregorR> I don't /think/ that fread buffer. fgets() always waits for a newline or EOF, regardless of the input source, but it's unlikely that that would be used.
00:43:51 <Sgeo> very off topic, GregorR don't get derailed
00:44:13 <Sgeo> http://esoteric.sange.fi/brainfuck/bf-source/prog/hanoi.bf
00:44:17 <Sgeo> Terrible code
00:44:21 <Sgeo> >< and <> found
00:44:27 <pikhq> Sgeo: It's generated.
00:44:44 <pikhq> Also, that poorly generated code is part of the impetus for PEBBLE in the first place. ;)
00:44:45 <Sgeo> Plus arbitrary [-] at the beginning..
00:44:48 <GregorR> If fread doesn't buffer, and stdin is a pipe, then you just have to make sure you've forced the pipe not to buffer the other way.
00:45:04 <Sgeo> GregorR, 'buffer the other way'?
00:45:23 <GregorR> The PSOX interpreter would have to make sure it's not buffering the output back over the pipe.
00:45:42 <GregorR> That is to say: The buffering problem is primarily on writing.
00:46:06 <Sgeo> Ok, so remove the 0x0A requirement on returned things?
00:46:18 <Sgeo> *things returned from PSOX functions?
00:46:20 <GregorR> I don't see why?
00:46:40 <Sgeo> Can it hurt?
00:46:55 <Sgeo> Extraneous 0x0A's sent to BF programs == not fun'
00:47:00 <GregorR> It can if the PSOX interpreter is poorly written.
00:47:17 <GregorR> So I'd write big fat warnings about buffering into the docs :)
00:47:21 <GregorR> Other than that, shouldn't hurt.
00:47:41 * GregorR goes to take a shower.
00:47:52 -!- ehird` has quit.
00:48:01 * Sgeo needs to eat now
00:48:08 * Sgeo will modify the specs after he eats
00:48:19 <pikhq> Sgeo: Allow me to provide one recommendation for you. . . Believe me, math functions would help a lot with Brainfuck.
00:54:52 <bsmntbombdood> brainfuck is imperative
01:02:18 <pikhq> bsmntbombdood: Well aware.
01:14:16 <Sgeo> pikhq, what domain would they go into?
01:14:23 <Sgeo> Domain 0x04?
01:14:37 <Sgeo> Which would be renamed from I/O Utils to.. "Utils"?
01:14:41 <Sgeo> "Misc"?
01:15:03 <Sgeo> pikhq, and should the functions just accept and return longnums?
01:16:17 <pikhq> Sgeo: It'd also be nice to just do 8-bit nums via PSOX rather than raw Brainfuck.
01:16:47 <Sgeo> Well, any 8-bit num is just 0x01 byte 0x00
01:16:58 <Sgeo> But I guess I can make single-byte versions..
01:17:52 <pikhq> But it wouldn't be a wrapping 8-bit that way.
01:18:13 * Sgeo was wondering how overflows should be handled..
01:18:18 <Sgeo> and what about negative numbers?
01:18:31 <Sgeo> Status code byte?
01:18:48 <Sgeo> Should I have a separate domain for math from the Simple I/O domain?
01:18:53 <Sgeo> Or one "Utils"
01:19:08 <ihope> Overflows don't happen in Galois fields.
01:19:17 <pikhq> 0x02 at the start of a longnum indicating that it's negative?
01:19:18 <Sgeo> ..? Galois fields?
01:19:32 <Sgeo> pikhq, yes, but for the single-byte functions..
01:19:42 <ihope> Number systems with finite numbers of numbers.
01:19:58 <ihope> (That happen to be fields.)
01:20:04 <ihope> Like the integers modulo 7.
01:20:40 <Sgeo> We're dealing with integers mod 256, I think
01:21:01 <pikhq> Ah.
01:21:41 <pikhq> Assume that you're dealing with unsigned integers.
01:21:59 <Sgeo> So what happens when something requests 1 - 2?
01:22:04 <Sgeo> status byte?
01:22:24 <ihope> Modulo 256, 1 - 2 = 255.
01:22:29 <ihope> Though I suggest a carry bit :-P
01:23:53 <pikhq> ihope: I don't.
01:24:04 <ihope> You don't?
01:24:07 <pikhq> That's the exact behavior of an unsigned char on my system. ;)
01:24:37 <ihope> 1 - 2 gives 255 and sets the carry bit to... 1, I guess.
01:24:57 <pikhq> And, since the reason for these functions is to be easier-to-use equivalents of an 8-bit Brainfuck's mod 256 math operators, carry bits don't make much sense.
01:25:16 <ihope> Or maybe 1 - 2 is the same as 1 + -2, and evaluating -2 at all ones the carry bit.
01:25:17 <Sgeo> do status bytes make sense?
01:25:41 <Sgeo> 0x01 if everything's ok, 0x00 if overflow in one direction or the other?
01:28:15 <ihope> I find doing it the other way around slightly more elegant.
01:28:38 <Sgeo> But in BF, '
01:28:43 <ihope> 1 for wrap, 0 for no wrap.
01:28:44 <Sgeo> But in BF, '['
01:28:46 <Sgeo> argh
01:29:04 * ihope hands Sgeo a potion of holy water
01:29:05 <Sgeo> But in BF, '[' is a sort of "if nonzero"
01:29:07 <ihope> #dip your enter key in this.
01:29:12 <Sgeo> lol
01:30:24 <pikhq> Well, at least in PEBBLE's addvar macro, I have the ability to throw that stuff away.
01:32:42 <Sgeo> We're sticking with the input function thingy?
01:33:08 <Sgeo> aka giving up on piping?
01:33:12 <Sgeo> er, the problem
01:34:58 <Sgeo> hm, it looks like I never wrote in the specs that functions return a mandatory 0x0A
01:36:10 -!- calamari has quit ("Leaving").
01:37:10 <Sgeo> "If an attempt is made to map a longname onto an occupied shortname,"
01:37:15 <Sgeo> What should be next?
01:37:27 <Sgeo> Should I have it fail, or replace the old one?
01:37:31 <ihope> Fail.
01:37:38 <Sgeo> pikhq, comments?
01:37:38 <ihope> Well.
01:37:51 <ihope> Fail if there's a way to make it replace the old one; replace the old one if there's a way to put it back.
01:38:41 <Sgeo> Way to put it back: Do the thing that got the original there in the first place
01:38:52 <Sgeo> Incidentally, there will be no status code for that function
01:40:53 <Sgeo> pikhq, agree or disagree?
01:41:56 * Sgeo puts "replace" in there
01:42:17 <Sgeo> What does "Fail if there's a way to make it replace the old one" mean?
01:44:43 <ihope> What I mean is to make sure that the option you go with can easily simulate the other one.
01:44:56 <Sgeo> oh
01:45:11 <ihope> With no arbitrary overhead, preferably.
01:45:27 <Sgeo> I mean, the client must have put the original there anyway, so it can replace i
01:45:43 <Sgeo> So "replace", since there will be no explicit replace function
01:46:02 <Sgeo> ty ihope
01:52:40 <pikhq> Sgeo: Why not have an explicit remove function, though?
01:52:49 -!- Figs has joined.
01:52:54 <Figs> !bf ++++++++++[>+++++++<-]>++++++.---.+++++.+++++++.+++.
01:52:58 <EgoBot> LINUX
01:53:25 <bsmntbombdood> NO
01:54:02 <Figs> the C version was cooler...
01:54:36 <bsmntbombdood> ()
01:55:05 <Sgeo> pikhq, it's unneeded?
01:55:21 <pikhq> Sgeo: Hmm. You've got a point there.
01:55:40 <pikhq> I'd say that replacing it wouldn't violate the law of least surprise.
01:57:15 <Sgeo> Should I bother including stuff for strings that can contain NULs?
01:59:04 <pikhq> I thought that much had already been discussed.
01:59:27 <Sgeo> It's not in the specs yet
01:59:30 * Sgeo will put it in
02:01:31 <Sgeo> "RStrings are like NUL-terminated strings except that they can contain NULs.
02:01:31 <Sgeo> 0x01 escapes a 0x00, so that "0x01 0x00" resolves to "0x00". 0x01 also escapes 0x01,
02:01:31 <Sgeo> so "0x01 0x00" resolves to "0x01". A "0x01" followed by anything else removes the 0x01."
02:01:33 <Sgeo> That good?
02:02:01 <Sgeo> the last bit causes 0x01 to be like a "safe escape"
02:02:31 <Sgeo> ..and also makes Longstrings valid as RStrings..
02:02:35 * Sgeo noticed
02:05:19 * Sgeo pokes ihope and pikhq
02:05:28 <ihope> I have been poked!
02:06:11 * Sgeo was thinking of XStrings as something that could contain a Longstring, RString, or NUL-terminated string
02:06:19 <Sgeo> But all Longstrings are RStrings..
02:06:40 <ihope> Sounds complicated.
02:06:58 <Sgeo> Hmm..
02:07:22 <Sgeo> Maybe this: PSOX functions that deal with stuff with NULs should accept RStrings, and return Longstrings..
02:07:36 <Figs> I didn't solve all your problems yesterday? :'( I'm sorry
02:10:04 <Sgeo> Check out the new http://sgeo.diagonalfish.net/esoteric/psox.txt .. look under Longstrings and RStrings
02:11:03 * Sgeo pokes pikhq
02:11:17 <Sgeo> Is having most functions return Longstrings good for PEBBLE?
02:11:30 <Sgeo> erm, most that need data with embedded NUL's
02:11:36 <Sgeo> *return
02:13:50 <ihope> Loop N: Read a byte. If it's 0, output N. Otherwise, read N-1 more bytes and loop the concatenation of the first byte and the rest of the bytes.
02:13:51 <ihope> Loop 1.
02:14:12 <Sgeo> eh?
02:14:38 <ihope> Essentially, a number is represented by the number of bytes in the number, followed by the number itself.
02:14:47 <pikhq> Given that nothing in PEBBLE even assumes a *string*, the format of a longstring wouldn't matter much; anything assuming a string would be added for the sake of PSOX.
02:15:04 <ihope> "The number of bytes" is a number in this format, while "the number itself" is just a number.
02:15:10 <ihope> All this is terminated with a 0.
02:15:50 <Sgeo> ihope, that isn't good for BF and it can only provide a finite amount of numbers anyway..
02:15:59 <Sgeo> I've thought about the number problem before..
02:16:09 <ihope> What do you mean, it can only provide a finite amount of numbers?
02:16:32 <Sgeo> The number itself can only be 256 bytes
02:16:55 <Sgeo> Imean, unless I'm understanding you incorrectly..
02:17:10 <ihope> The number of bytes is given as a number in this format, not as a byte.
02:17:29 <Sgeo> um.. recursive?
02:17:29 <ihope> Er, hmm.
02:17:37 <ihope> Yes, it is recursive.
02:17:53 <ihope> Essentially, it's SADOL's number system, minus the commas in front and plus a 0 on the end.
02:18:08 <Sgeo> My longnum format is nice and simple and readable easily by BF
02:18:17 <ihope> Indeed, that's very true.
02:18:57 <Sgeo> Incidentally, with the HTTP domain, it won't use longnums for HTTP status codes..
02:19:09 <pikhq> Strings, instead?
02:19:15 <Sgeo> fixed bytes
02:19:18 <pikhq> Ah.
02:19:25 <Sgeo> eg. 404 would be 0x04 0x04
02:19:32 <Sgeo> 500 would be 0x05 0x00
02:20:47 <Sgeo> Since HTTP status codes like 404 are understood like 4|04
02:21:43 <Sgeo> Any comments on strings?
02:22:06 <Sgeo> and the input function was updated
02:22:25 <Sgeo> Time to write an example for the new PSOX?
02:28:25 <Figs> o.o
02:28:32 <Sgeo> Figs, hm?
02:28:40 <Figs> what is 0x4 0xFF then?
02:28:48 <Figs> *04
02:29:02 <Sgeo> Meaningless
02:29:06 <Figs> ok
02:29:15 <Figs> 4 times final fantasy! :P
02:29:19 <Sgeo> lol
02:35:12 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox-new-cat.b
02:35:34 * Sgeo vaguely hopes he didn't make a mistake
02:36:13 <Sgeo> oO I did
02:37:25 <Sgeo> Ok fixe
02:37:27 <Sgeo> *fixed
02:38:22 * Sgeo pokes ihope, Figs, and pikhq
02:39:11 <ihope> ¡Me he pocado!
02:39:13 <ihope> :-P
02:40:46 <Figs> hi
02:41:06 <Sgeo> Note the PSOX example
02:41:09 <Sgeo> any comments?
02:41:19 <Figs> did you realize that your name contains: pi hoe?
02:41:35 <Sgeo> ..no
02:41:40 <Figs> also "oh pie"
02:41:50 <Figs> (this is, of course, @ihope)
02:41:54 <Sgeo> oh
02:42:08 <Sgeo>