< 1189209706 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmnhttp://en.wikipedia.org/wiki/Symmetric_monoidal_category < 1189209713 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: http://en.wikipedia.org/wiki/Symmetric_monoidal_category < 1189209719 0 :ehird`!unknown@unknown.invalid QUIT :Remote closed the connection < 1189209732 0 :ehird`!n=ehird@user-5af069d2.wfd101.dsl.pol.co.uk JOIN :#esoteric < 1189209783 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: i strongly doubt those pi-calculus people meant anything that advanced :D < 1189209804 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, pi calculus. < 1189209811 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I should study it eventually. < 1189209817 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is trying to learn it < 1189209830 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And gauge theory, which is oh-so-important for particle physics. At least, it seems important. < 1189210104 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1189211635 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1189211789 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1189211802 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes ihope, oerjan oklopol  < 1189211810 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and ehird` < 1189211810 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ello. < 1189211815 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Who's oerjan oklopol? < 1189211819 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Or is oerjan the new and? < 1189211825 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1189211844 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well, if bsmntbombdood is xor... < 1189211859 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm completely redoing PSOX < 1189212087 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Anyone going to ask me why? < 1189212133 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Self-whoring. < 1189212203 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :As far as I can tell, it would be near-impossible for the server to determine when the client is requesting input.. < 1189212317 0 :ehird`!unknown@unknown.invalid QUIT : < 1189212322 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The system domain is moving to 0x02 < 1189212329 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :0x00 and 0x01 will be special cased < 1189212344 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :0x00 0x00 is 'print next character safely' < 1189212355 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and does not require a 0x0A after it < 1189212399 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :0x00 0x01 will be for input < 1189212406 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets to writing the revised specs < 1189212730 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1189213254 0 :RedDak!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1189215600 0 :sebbu!unknown@unknown.invalid QUIT :"@+" < 1189216836 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1189216845 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :BRB then I'll start writing the new specs for real < 1189216859 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(x){x(x)}((x){x(x)}) < 1189216866 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hm? < 1189216873 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :\mnfx.mf(nfx) < 1189216889 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, the equivalent is \x.xx \x.xx < 1189216900 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :you need a () < 1189217107 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :eh? < 1189217150 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :egads < 1189217797 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :pi calculus is teh confusing < 1189217808 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i don't understand the new thing < 1189218250 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yay, pi calculus. < 1189218267 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And suddenly, I wonder why I've been writing (\x.xx)(\x.xx) instead of (\x.xx)\x.xx... or have I? :-P < 1189218388 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :run to the hills < 1189218392 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :run for your life < 1189218598 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :lambda calculus is so easy to understand, why not pi? < 1189218829 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Because it's different? < 1189218834 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Go learn gauge theory instead! < 1189218872 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Or get a parallel text description of pi calculus. < 1189218890 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Formal on one side, intuitive on the other. < 1189218909 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :bleh at input function < 1189218947 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :`,` won't be enough to get input in PSOX anymore < 1189218958 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :^^main point of the revisions < 1189219081 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was thinking something like `[-].+..+++++++++.,` would be a (naive) replacement, but it won't < 1189219103 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :There will be a newline that will need to be discarded after the ,' < 1189219143 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1189219172 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :well, it would be `[-].+..+++++++++.,,,` then an extraneous newline < 1189219188 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes ihope and pikhq and people < 1189219272 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Bleck. < 1189219287 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's *remarkably* bad. < 1189219315 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The PSOX server needs to be told somehow to get input < 1189219321 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :to give to the client < 1189219368 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Would taking away a `,` or two help at all? < 1189219410 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, that wouldn't be needed for every `,`, only for people who like Search&Replace and are basically idiots < 1189219484 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :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)? < 1189219504 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes pikhq  < 1189220995 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, http://sgeo.diagonalfish.net/esoteric/psox.txt < 1189221000 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :see under Pseudodomains < 1189221065 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and oklopol and GregorR and ihope and and and < 1189221657 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Anyone here? < 1189221666 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ihope, pikhq EgoBot GregorR ? < 1189222242 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION watches tumbleweeds float bye < 1189222306 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION joins the tumbleweeds < 1189222322 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :erm.. < 1189222368 0 :Tritonio!unknown@unknown.invalid QUIT :Remote closed the connection < 1189222443 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, any comments? < 1189223710 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :psox has not sense < 1189225295 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION makes a #PSOX < 1189225413 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :ACTION makes a #doesn't-care < 1189225430 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION enters that channel < 1189225434 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1189225440 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes pikhq and ihope and and and < 1189226300 0 :rutlov!n=voltur@217-68-166-105.dynamic.primacom.net JOIN :#esoteric < 1189226780 0 :rutlov!unknown@unknown.invalid PART #esoteric :? < 1189229834 0 :catron!n=BOSS@ip68-97-63-182.ok.ok.cox.net JOIN :#esoteric < 1189229845 0 :catron!unknown@unknown.invalid PRIVMSG #esoteric :hello my fellow devs < 1189229860 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi catron. < 1189229874 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://sgeo.diagonalfish.net/esoteric/psox.txt < 1189230017 0 :calamari!n=calamari@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1189230098 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi calamari < 1189230105 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi Sgeo < 1189230107 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :calamari, you're the PESOIX person? < 1189230119 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :not exactly < 1189230128 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I was working on an implementation of it < 1189230135 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1189230143 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :He designed the precursor to PESOIX, IIRC. < 1189230145 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Integrated with a BF interpreter? < 1189230154 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I defined ESOApi < 1189230156 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Or separate? < 1189230157 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1189230173 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :it was for Linux < 1189230176 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Because if it was separate, I'd really like to know how it was done < 1189230179 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :(PESOIX) < 1189230198 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I couldn't get the piping to work correctly, so the project got stuck < 1189230202 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1189230225 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :couldn't determine when the BF interpreter or whatever wanted input? < 1189230229 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ESO api was implemented as a 512-byte x86 boot sector < 1189230247 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yeah it buffers stuff and messes it all up < 1189230254 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :buffers stuff? < 1189230265 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: the OS < 1189230270 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is it possible to find out when a program is requesting input? < 1189230274 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Or is that meaningless? < 1189230279 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes and no < 1189230285 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :calamari, how? < 1189230304 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The oft-broached idea of the Brainfuck OS. . . < 1189230316 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: broached? < 1189230329 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :calamari, how do I determine when the program requests input? < 1189230334 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Excuse me, I may be using odd vocabulary ATM. < 1189230347 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :My brain is getting shot by it being 11. . . < 1189230357 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And me having woken up at 5:20 today. < 1189230359 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It's 12:45AM here.. < 1189230368 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :calamari, how? < 1189230379 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: nah my vocabulary is just smaller it seems < 1189230401 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I don't remember all the details anymore.. that was a long time ago < 1189230410 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :For the buffering issue, I just sticked newlines everywhere < 1189230428 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I was trying to do it so that interpreters wouldn't need to be modified < 1189230430 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But that doesn't help me know when the program is requesting stuff on stdin < 1189230431 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(transitive) (figuratively) To begin discussion about (something). < 1189230434 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :From Wiktionary. < 1189230434 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :calamari, same here < 1189230457 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :although I'm thinking about my own spec, PSOX < 1189230462 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Guess I was using valid verbiage, even at this time of night. < 1189230478 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: Let me just say that PSOX seems to be a sanely-done PESOIX for the most part. < 1189230488 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, did you see the changes? < 1189230490 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: yeah .. I looked it up in my paperback dict < 1189230504 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(although I need to look at the spec when I feel more ready & awake for programmatical thought) < 1189230508 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not yet. < 1189230523 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION made it so that the BF program needs to send a command in order to receive input < 1189230529 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1189230539 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION nods < 1189230548 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1189230552 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :because I can't seem to work out how to detect when something requests stuff on stdin < 1189230560 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION notes that calamari missed out on PEBBLEversary. :p < 1189230564 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://sgeo.diagonalfish.net/esoteric/psox.txt < 1189230582 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :(new version, with a bit of strangeness due to copy&paste goodness < 1189230604 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://sgeo.diagonalfish.net/esoteric/psox-old.txt is without the send-a-command-to-get-input thing < 1189230643 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes calamari to those URLs < 1189230673 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hm, the "To map a longname (e.g. "http://example.com/longname") to < 1189230673 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :an odd shortname (e.g. 0x03):" thing is a bit dated < 1189230676 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I don't like the idea of needing a PSOX command to get something from stdin. . . < 1189230704 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :If there's a better way to do it, like knowing when the client requests data from stdin, I'm all for it < 1189230716 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But if there isn't.. < 1189230722 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It makes it exceptionally hard to get PEBBLE to work with PSOX. < 1189230732 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :eh? < 1189230732 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :PEBBLEversary? < 1189230741 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: One year of PEBBLE development. < 1189230760 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I was thinking about having PSOX just be supported via some additional macros. . . < 1189230778 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :couldn't an input macro output some stuff too? < 1189230792 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"input" is a builtin. < 1189230805 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :make a p_input macro < 1189230809 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :guess I need to catch up.. < 1189230813 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ACTION looks up PEBBLE < 1189230825 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :calamari: BFM got renamed to PEBBLE. < 1189230834 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A few months ago. ;) < 1189230843 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ahh < 1189230846 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Removing source-compatibility. < 1189230876 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, eh? Programs not written for PSOX don't need to be compatible with PSOX < 1189230879 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :erm.. < 1189230899 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A program written for PEBBLE should work regardless of the target language. < 1189230901 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :If PSOX-Init isn't the first thing output, PSOX ignores it < 1189230916 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(unless it uses a language-specific feature) < 1189230938 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :PEBBLE programs that don't output PSOX-Init will still work < 1189230945 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Same thing that PESOIX does < 1189230951 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You don't seem to get the point. . . < 1189230971 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I want the same PEBBLE input to work regardless of whether it targets Brainfuck or PSOX+Brainfuck. < 1189231004 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1189231029 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :..That's meaningless. If it uses no PSOX features, then it just targets BF < 1189231046 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION beats Sgeo for being clueless < 1189231061 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The PSOX-specific versions of PEBBLE macros could well be using PSOX features. < 1189231098 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1189231104 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1189231118 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1189231118 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION beats Sgeo some more. < 1189231166 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :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/? < 1189231175 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1189231220 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Memo me if you can solve the pipes problem < 1189231225 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :G'night < 1189231226 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1189231237 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. < 1189231240 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hm? < 1189231285 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :read_from_stdin(){if(return_code_not_read()) putchar (return code); else putchar (getchar());} < 1189231312 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What's return_code_not_read()? < 1189231338 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... < 1189231349 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A chunk of psuedocode? < 1189231352 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Imean, how does it work? < 1189231376 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I guess, if the stdin pipe or whatever holds a readable queue.. < 1189231384 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If there's something returned from a PSOX function that hasn't been received yet, it returns true. Otherwise, it returns false. . . < 1189231399 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can I tell if it's been received yet? < 1189231411 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Imagine that you've got a queue into which PSOX function return values are put into. < 1189231448 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You pop from that when reading a return code. . . If the queue is empty, everything has been received by the program. < 1189231471 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How do I know that the client wants to read anything? < 1189231477 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and thus to pop something? < 1189231507 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1189231553 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Easier solution: just always put return values to the program's stdin, and take advantage of file-stream buffering. < 1189231578 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :file-stream buffering? < 1189231597 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :cat foo | bar < 1189231615 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How could I take advantage of that like that? < 1189231618 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ignore my "easier solution"'s explanation. < 1189231659 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1189231680 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How does it do that? That's what I need < 1189231697 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It does that via the magic of Unix. < 1189231703 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :..I mean, unless it's really putting things into a stdin queue for bar.. < 1189231710 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, can I hook into it easily? < 1189231725 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just set up a pipe; it's a fairly mundane part of the POSIX API. < 1189231747 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But I need to know WHEN bar requests input < 1189231757 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Before or after bar outputted some command.. < 1189231808 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION beats his head into the desk < 1189231813 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, hm? < 1189231899 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1189231905 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :There, your algorithm. < 1189231958 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hmm.. < 1189231959 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :G'night < 1189231964 0 :catron!unknown@unknown.invalid PRIVMSG #esoteric :g'night < 1189231965 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Memo me with any more thoughts < 1189231973 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1189232780 0 :catron!unknown@unknown.invalid PART #esoteric :? < 1189234601 0 :g4lt-mordant!unknown@unknown.invalid NICK :g4lt-xperienced < 1189234608 0 :g4lt-xperienced!unknown@unknown.invalid NICK :g4lt-eexperience < 1189234636 0 :g4lt-eexperience!unknown@unknown.invalid NICK :g4lt-experienced < 1189236478 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1189238399 0 :clog!unknown@unknown.invalid QUIT :ended < 1189238400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1189242383 0 :sebbu!n=sebbu@ADijon-152-1-54-164.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1189244839 0 :RedDak!n=dak@host2-89-dynamic.16-87-r.retail.telecomitalia.it JOIN :#esoteric < 1189249451 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1189251504 0 :jix!n=jix@dyndsl-091-096-044-029.ewe-ip-backbone.de JOIN :#esoteric < 1189256829 0 :ehird`_!n=ehird@user-5af069d2.wfd101.dsl.pol.co.uk JOIN :#esoteric < 1189258660 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :so, bsmntbombdood = xor < 1189258661 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan = and? < 1189258687 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that IS the NATURELLE CONCLUSION < 1189258718 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i like the NATURALLE CONCLUSION < 1189258765 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1189258767 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :what is just normal or < 1189258799 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :gregOR, perhaps < 1189258800 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :how about or = GregorR, not = ihope < 1189258804 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :whoa < 1189258805 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :we think alike < 1189258839 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1189258852 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :implies = pikhq? < 1189258921 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1189258925 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :P = RodgerTheGreat < 1189258934 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :Q = ? < 1189258946 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sukoshi < 1189258973 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1189258985 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :what about ( and ) < 1189258995 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1189259005 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :since they have no "real" value < 1189259006 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :bots. < 1189259015 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :bsmnt_bot = ( < 1189259017 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :cmeme = ) < 1189259038 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi oerjan bsmnt_bot Sukoshi pikhq RodgerTheGreat cmeme < 1189259100 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :if i have got the notation right, that is Q and ( Q implies P ) < 1189259235 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ihope bsmnt_bot RodgerTheGreat oerjan ihope RodgerTheGreat cmeme < 1189261217 0 :RedDak!unknown@unknown.invalid QUIT :Remote closed the connection < 1189262017 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1189262034 0 :oerjan!unknown@unknown.invalid QUIT :"Dinner" < 1189263047 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1189263059 0 :jix!n=jix@dyndsl-091-096-044-214.ewe-ip-backbone.de JOIN :#esoteric < 1189264191 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :woah, kickass. I'm a variable. :D < 1189264667 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1189264714 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :although operators are pretty sweet as well < 1189264726 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i wouldn't trust you to operate on anyone, RodgerTheGreat < 1189264746 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :yeah, I'm no doctor. I am, however, a SCIENTIST! < 1189264770 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :oh god i hope not < 1189264883 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :don't you mean "ihope ihope"? < 1189264892 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :X( see what i mean < 1189264913 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1189264928 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :speaking of esoteric thinsg, < 1189264932 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :*things < 1189264957 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :does a Python-based music programming software count? < 1189264970 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :here's the "official" lowdown on what that actually means: < 1189264971 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :"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 < 1189264978 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(did that all get through?) < 1189265026 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :"...plus you can write a sort of middle" < 1189265038 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ware for a whole track which will apply to all audio played on it. Then it just mixes it together and produces the track." < 1189265125 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1189265162 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :would the "track" ultimately sound musical or consist of usable binary data of some kind (or both, via some odd interlacing method or somesuch?) < 1189265184 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :well, it depends. < 1189265191 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you write the instruments and arrange them, after all < 1189265203 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but that's just a frontend (exporting or playing back etc) < 1189265238 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :probably i'd just code it so it can play the track back or export to .wav/PCM < 1189265244 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :two most common operations i'd say < 1189265384 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1189265441 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :so last night I wrote another scripting language < 1189265483 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :oo < 1189265487 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :this one actually seems pretty useful, but I'm still tweaking the syntax a bit < 1189265512 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :it has recursion, something akin to function pointers and some other nifty stuff < 1189265626 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i think i'll implement a first prototype of that music software < 1189265630 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :as soon as i find an audio lib for python < 1189265630 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1189265635 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :go for it < 1189265638 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1189265644 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :something that can generate tones (sine waves, etc) but can also modify samples < 1189265645 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :minor stumbling block < 1189265657 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :does python have SDL bindings? < 1189265657 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(preferably everything from adding and removing single samples to changing the volume, etc) < 1189265661 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and yeah, pygame < 1189265669 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but pygame isn't that fun :p < 1189265671 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :I got the impression audio synth and the like are pretty easy in SDL < 1189265721 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :its not really an audio synth though is it? < 1189265733 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :it's just something that can morph and generate sounds < 1189265786 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :well, that involves exactly the same kind of stuff, at the end of the day < 1189265790 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :true < 1189267039 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :hm, i wonder how i should implement the middleware < 1189267061 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1189267126 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: have any ideas how i could implement the middleware functionality? < 1189267148 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1189267180 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :would it just be a data structure for music that calls "instruments" in sequence, or what? < 1189267189 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1189267200 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :something like < 1189267211 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :Reverb.apply(Echo.apply(self)) < 1189267214 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1189267214 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you get the idea < 1189267223 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :tracks would probably just be a special case of middleware < 1189267237 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :maybe Reverb(settings).apply(Echo(settings).apply(self)) < 1189267321 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :hm, no, that wouldn't be good < 1189267323 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :maybe: < 1189267339 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :echo = Echo(settings) < 1189267344 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :echo.apply(Reverb(settings)) < 1189267346 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :self.apply(echo) < 1189267368 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :so middleware.apply(other_middleware) morphs middleware to have other_middleware in it < 1189267431 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :does that sound like a good way, RodgerTheGreat? < 1189267438 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :could work < 1189267466 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i'll write a full sort of example < 1189267637 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes pikhq.. < 1189267672 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and GregorR and ihope for good measure < 1189267836 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Why is it that it seems no one cares? < 1189267921 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wakes < 1189267935 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hi pikhq < 1189267942 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: because people do other things than talk about psox < 1189267976 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to #PSOX < 1189267996 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1189268037 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :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? < 1189268100 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The user would need to correctly be able to determine that the program wants input, and not provide too much, I think < 1189268113 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Unless the program had to scroll pass newlines maybe? < 1189268119 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is not fully coherent right now < 1189268165 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :nonlogic dump is the official pastebin of here isn't it? < 1189268177 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird`_, hm? < 1189268188 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: http://nonlogic.org/dump/text/1189264162.html here's a kind of example < 1189268199 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :the newlines doubled up randomly in that paste o_O < 1189268559 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Hmm. That actually is a bit tricky. < 1189268619 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, is output a builtin in PEBBLE? < 1189268637 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :obviously. < 1189268644 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :it DOES compile to brainfuck... < 1189268670 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So then in any spec, output would need to be changed, or a p_output made.. < 1189268681 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1189268726 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1189269217 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes pikhq, then goes AFK < 1189273742 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wrong < 1189274498 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I might be able to get stuff to work in PEBBLE. . . < 1189274516 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :New PEBBLE-specific pass. < 1189274581 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1189274779 0 :sebbu2!n=sebbu@ADijon-152-1-11-149.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1189274899 0 :g4lt-experienced!unknown@unknown.invalid NICK :g4lt-mordant < 1189275214 0 :sebbu!unknown@unknown.invalid QUIT :Nick collision from services. < 1189275217 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1189276756 0 :KajirBot!n=KajirBot@user-5af069d2.wfd101.dsl.pol.co.uk JOIN :#esoteric < 1189276825 0 :KajirBot!unknown@unknown.invalid QUIT :Remote closed the connection < 1189276872 0 :jix!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1189276971 0 :ehird`_!unknown@unknown.invalid NICK :ehird` < 1189278507 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, you mean PSOX? < 1189278510 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :afk < 1189278517 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1189278695 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is here only for a few min right now < 1189278702 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'll be back laterish maybe < 1189278751 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :um, actually, I can't risk the computer beeping < 1189278751 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Bye < 1189278756 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1189281593 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1189282818 0 :ehird`!unknown@unknown.invalid QUIT :Remote closed the connection < 1189282839 0 :ehird`!n=ehird@user-5af069d2.wfd101.dsl.pol.co.uk JOIN :#esoteric < 1189285255 0 :importantshock!n=p_trick@161.253.18.113 JOIN :#esoteric < 1189286955 0 :ihope!unknown@unknown.invalid QUIT :"Reconnecting..." < 1189291065 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1189291134 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Anyone here? < 1189291657 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes < 1189291667 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oww < 1189291689 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my eye! < 1189291748 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :..oops < 1189291758 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :*unpoke* < 1189291771 0 :calamari!n=calamari@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1189291775 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi calamari < 1189291789 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1189291798 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Do you have any code from your implementation of PESOIX that could help me understand pipes? < 1189291819 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :not sure < 1189291823 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :let me take a look < 1189292016 0 :calamari!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1189292826 0 :ihope!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1189292972 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi ihope < 1189292982 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Ello. < 1189293002 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Uh oh. I seem to have two Firefox windows open. < 1189293024 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION closes... that one < 1189293121 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq? < 1189293198 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION safely pokes pikhq  < 1189293338 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Testing http://sgeo.diagonalfish.net/esoteric/psox.txt < 1189293388 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Testing PSOXURL/psox-safety.txt < 1189293391 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1189293393 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://sgeo.diagonalfish.net/esoteric/ < 1189293413 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://sgeo.diagonalfish.net/esoteric/psox.txt < 1189293447 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes pikhq  < 1189293686 0 :calamari!n=calamari@ip72-200-73-175.tc.ph.cox.net JOIN :#esoteric < 1189293700 0 :jix!n=jix@dyndsl-091-096-044-214.ewe-ip-backbone.de JOIN :#esoteric < 1189293840 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :re calamari, hi jix < 1189293847 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1189293850 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :moin < 1189293851 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :sorry, lost power < 1189293854 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :wb < 1189293867 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I was in the process of making the pesoix files available to you < 1189293900 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ty (in advance?) < 1189293906 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What language is the code in? < 1189293908 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION vaguely recalls someone needing a german. not why, though. < 1189293919 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ehh, apache isn't cooperating.. email? (pm is fine) < 1189294158 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I could do with some German chocolate cake. :-P < 1189294190 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Or maybe I should call it German's chocolate cake, to sort of make a ding in that rumor. < 1189294193 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Er, belief. < 1189294558 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://whatscookingamerica.net/History/Cakes/GermanChocolateCake.htm < 1189294575 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :indeed, i don't think Germans are big on pecans < 1189294604 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i could be wrong, of course :) < 1189294641 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :erm, I don't know C < 1189294647 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :What's write(), and how does it work? < 1189294659 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :man write < 1189294668 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, German chocolate cake was named after a guy named German, wasn't it? < 1189294702 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I guess PESOIX3.c is the file I should look at for the main loop? < 1189294707 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that page says so < 1189294717 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :calamari? < 1189294729 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1189294743 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is it that PESOIX1-3.c represent attempts? < 1189294746 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :sorry, I don't remember anymore < 1189294749 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1189294752 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ty < 1189294778 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :and some of those other files are scripts, etc to test it < 1189294792 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wishes he understood nonblocking I/O < 1189294800 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1189294810 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : /* handle esolang input requests */ < 1189294810 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : pthread_create(&input_thread, NULL, handle_input, NULL); < 1189294811 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1189294812 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :like I say.. it never worked properly < 1189294814 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Non-blocking I/O? Hmm, that sounds evil. < 1189294835 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What is it, anyway? < 1189294835 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Was it not working because of line-buffering? < 1189294846 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Or for different reasons? < 1189294863 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Something where I/O functions return stuff like "no input yet"? < 1189294869 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I don't remember now.. maybe Gregor has a better memory than I.. I bugged him about it repeatedly < 1189294884 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ihope: right < 1189294897 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :GregorR mentioned to me that some interpreters might require newlines < 1189294902 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Fine as long as there's a "wait for input" function. < 1189294902 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That is now part of the spec < 1189294928 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :An interface that provides a "has anything happened yet?" function but no "wait for something to happen" function is sort of broken. < 1189294930 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Gah! What's pthread_create? < 1189294968 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Unless, of course, providing only "has anything happened yet?" is more efficient for some reason. < 1189294969 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :handle_input() < 1189294972 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :What's this? < 1189294992 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :This is called IRC. You type stuff here and push this button and people see what you typed. < 1189295005 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :GregorR, you worked on a PESOIX implementation? < 1189295025 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :No? < 1189295040 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I just laughed as other people tried to hook one up to interpreters that waited on \n. < 1189295056 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Um.. different Gregor Richards I guess... < 1189295084 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"Copyright (c) 2006 Gregor Richards " < 1189295124 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: that's Egobot code, lol < 1189295137 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :GregorR, is it possible to tell if a process is requesting input or not? < 1189295142 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :you can safely delete those, I was just using them for examples < 1189295158 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :PESOIX3.c has that copyright notice < 1189295182 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : /* handle esolang input requests */ < 1189295182 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : pthread_create(&input_thread, NULL, handle_input, NULL); < 1189295204 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: oh, probably because I used some of his code in there < 1189295216 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ah < 1189295225 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I just need to learn what pthread_create is < 1189295241 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :should be in your man pages < 1189295267 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :sgeo@ubuntu:~$ man pthread_create < 1189295267 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :No manual entry for pthread_create < 1189295287 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :do you have all the man pages installed? < 1189295296 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shrugs < 1189295383 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :sudo apt-get manpages-dev manpages-posix manpages-posix-dev < 1189295386 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :the input_thread thing seems to be declared, but not assigned.. < 1189295387 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oops < 1189295395 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :sudo apt-get install manpages-dev manpages-posix manpages-posix-dev < 1189295438 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :then you should have all sorts of good stuff < 1189295507 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wants this thing to work on Windows too, incidentally.. < 1189295530 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ahh well then you're out of luck with that code then < 1189295539 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :but, but cares about Windows anymore? < 1189295544 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :who < 1189295778 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Companies? < 1189295788 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Especially Microsoft :-P < 1189295811 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And people whose Linux machines don't mix with their wireless adapters. < 1189295947 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :my IBM Thinkpad at work runs Linux happily, including wireless < 1189295971 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Does the PESOIX code know when the esolang interp. requests input? < 1189295979 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"/* handle esolang input requests */ " < 1189295990 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How does that work? How would I do that in Python?