00:03:42 -!- Sgeo has joined.
00:05:23 * Sgeo goes to put newlines in the spec
00:16:19 -!- importantshock has quit (Connection timed out).
00:40:09 <oklopol> UST NOT be used unless the sender knows that the recipient can arse
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: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: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:18:48 <pikhq> The problem is that the RFC bureaucracy does not include a bureau of proofreading. ;)
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:27 <Sgeo> http://sgeo.diagonalfish.net/esoteric/psox-newline-demo.b
01:53:08 * Sgeo needs to leave at 10PM EST
01:57:22 * Sgeo urgently pokes pikhq and SimonRC and anyone else
01:58:07 <Sgeo> minimum minor version the client (the BF code) will work with
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: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: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: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:53:18 <Sgeo> GregorR, did you see how I handled the newline situation?
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/
03:36:17 <GregorR> bsmntbombdood: ... It's not a stringed instrument.
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:30:17 <oklopol> and sawtooth sounds awesome
11:31:00 <oklopol> but for maximum comfort, i'd go for square
11:31:36 <ehird`> how about a dictionary.
11:32:03 <oklopol> what was kajirbot in again?
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 <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:35:36 <oklopol> the actual ololobot file would prolly be similar to yourkajirc
11:35:50 <ehird`> kajirc and kajirbot are pretty intertwined
11:36:05 <ehird`> actually, kajirc is just one class
11:36:27 <ehird`> it gives a pythonic irc interface, and the callback system
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:14 <ehird`> def help(self, info, command):
11:40:32 <ehird`> ', '.join(x for x in cmds) wait what
11:40:36 <ehird`> that can just be ', '.join(cmds)
11:41:35 <ehird`> .q You are KajirBot. You are 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 <KajirBot> feed, help, kill, ps, q, tell, time
11:42:32 <KajirBot> Displays the current date and time.
11:48:52 <oklopol> ', '.join(x for x in cmds) <<< wondered this as well
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:41:51 -!- ihope has joined.
20:47:58 -!- Sgeo has joined.
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:37 -!- Sgeo has quit (Client Quit).
20:51:53 -!- Sgeo has joined.
20:51:55 <oerjan> but nobody seemed to catch on to _why_ i used u.
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:53:57 <Sgeo> ihope, oklopol, did you see the specs updated with the newline issue?
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:45 * Sgeo doesn't have a lot of time today
21:02:02 <ihope> Yeah, what ever happened to that...
21:02:23 <oklopol> everyone knows what i mean from catenation
21:02:37 <ihope> It's turning into a word! Oh no!
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: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: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:25 <oklopol> did you know it's already gone shorter than ostem?
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:15 <Sgeo> The specs for each domain note whether a function is safe or unsafe
21:07:27 <ihope> Sgeo: er, program permissions?
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:56 <ihope> <ihope> Operating system, oper system, op system, opsystem, opstem, ostem?
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: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: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: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:46:10 <Sgeo> How is it possible to overengineer something?
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: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:27 <bsmntbombdood> overengineering would be designing the bridge to hold 1000 times its working load instead of 10
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: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: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 ;)
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: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: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: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: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:18:09 <SimonRC> a great thing to do in the middle of your curses work...
22:19:20 <Sgeo> It can ask for permissions before doing whatever, if it wants
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: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:47 <SimonRC> oh, wow, this is so cool: http://www.youtube.com/watch?v=vIFCV2spKtg
22:49:42 <ehird`> what hsould i add to kajirbot/
22:50:31 <SimonRC> it should only do really esoteric cybersex though
22:50:55 -!- sebbu2 has quit ("@+").
22:51:01 <SimonRC> nothing normal, but lots of furry, roleplay, and bizare situations
22:51:39 <SimonRC> you can do it by modifying an existing chatting module, I am sure
22:52:34 <bsmntbombdood> http://freestudents.blogspot.com/2007/09/kids-are-just-excuse-you-are-target.html
22:58:32 <oklopol> did i misunderstand something, or is <21 child porn in the us?
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."
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: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:06:23 <bsmntbombdood> if the age for cp was raised to 21, at least half the US would be outlaws
23:07:41 <bsmntbombdood> better raise that to 75% (all the men, half the women)
23:08:37 <oklopol> i just googled for child porn, without realizing it :)
23:08:50 <oklopol> was looking for the hungarian ...whuz the word
23:09:57 <oklopol> hmm... don't know the spesifics
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:32 <oklopol> i never understood these laws, at least 100% of 13-year-olds are having sex anyway
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: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: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:52 <oklopol> actually, i just said that again
23:38:07 <oklopol> i found money, monologue stops ->
23:38:41 -!- cmeme has joined.
23:59:08 <oklopol> you can't have a type and a variable with the same name, can you?