< 1186705082 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1186705808 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric ::t properFraction < 1186706305 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :man, i like haskell, but it tries pretty hard to make me hate it < 1186706427 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1186706589 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i want to write my program, not implement basic math functions :( < 1186706686 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Haskell's making you implement basic math functions? < 1186706691 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think modding with doubles is a somewhat imprecise operation < 1186706986 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it won't get any more precise from me implementing it < 1186707049 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :You could import it from a C thing. < 1186707069 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And then eventually, somebody could extend GHC with it... < 1186707121 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yes, exactly, like i said, i'd rather just write foo % bar like i would in Python. < 1186707284 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :ACTION nods < 1186707314 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout([pi % e, pi - e]) < 1186707315 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: name 'pi' is not defined < 1186707336 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Um... < 1186707478 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :math.pi < 1186707500 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout([math.pi % e, math.pi - e]) < 1186707501 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :NameError: name 'e' is not defined < 1186707504 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout([math.pi % math.exp(1), math.pi - math.exp(1)) < 1186707505 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: unexpected EOF while parsing < 1186707511 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout([math.pi % math.exp(1), math.pi - math.exp(1]) < 1186707520 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :SyntaxError: invalid syntax < 1186707597 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :... < 1186707629 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout((math.pi % math.e, math.pi - math.e)) < 1186707629 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :(0.42331082513074803, 0.42331082513074803) < 1186707666 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :lament: are you making fun of the world? < 1186707673 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :why did i say that? < 1186707691 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :gotta go -.> < 1186707733 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :~exec sys.stdout(math.exp(math.pi)-math.pi) < 1186707733 0 :bsmnt_bot!unknown@unknown.invalid PRIVMSG #esoteric :19.9990999792 < 1186707745 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :aaaw, your floating point arithmetic is bugged < 1186707758 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1186708121 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like if i'm face to face with someone, which face is mine? < 1186708129 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the latter or the former? < 1186708207 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :(|the latter> + |the former>)/sqrt(2) < 1186708227 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :See? I told you WHICH quantum superposition it is. < 1186708277 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :can i... check the value? < 1186708298 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or is it like uncheckalbbebvevr < 1186708304 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Sure. < 1186708320 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i need a transform of some sort or? < 1186708324 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :But it's different every time you say "face to face". < 1186708333 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... true < 1186708353 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :the face is both yours and not yours at the same time < 1186708355 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh, actually, the + is a - if you're female. < 1186708358 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :SCHRÖDINGER'S FACE < 1186708363 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :sp3tt: exactly what I just said. < 1186708371 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Apart from the Schroedinger. < 1186708382 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :but I can type it with the umlaut! < 1186708385 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the word "face" and the word "phase" are originally the same, i think < 1186708468 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the latter coming from the "face" of the moon < 1186708491 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you just thought that up? < 1186708499 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Who what? < 1186708505 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i vaguely recall it < 1186708525 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i wish i vaguely recalled every bit of information that exists < 1186708530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :like you do. < 1186708542 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I vaguely recall that P = NP. < 1186708551 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ihope: your mum... < 1186708552 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I don't remember the details. < 1186708561 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :I vaguely recall that the cat is dead. < 1186708579 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I vaguely recall that that proton is blue right now. < 1186708591 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :No, it's ultraviolt < 1186708610 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :That's not a color. < 1186708619 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ultraviolent < 1186708627 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :THE PROTON DECAPITATES YOU < 1186708627 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :The only colors are red, green and blue. < 1186708637 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Unless you count antired, antigreen and antiblue. < 1186708645 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :that's only one colorspace < 1186708646 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Those are the colors of antiprotons, among other things. < 1186708659 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... should i sleep in my armchair or my bed < 1186708681 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :sleep is for the WEAK < 1186708709 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Sleep gives you special powers. < 1186708717 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i can either sleep or stay awake doing nothing. < 1186708728 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: go for the special powers. < 1186708745 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... does sound intriguing < 1186708748 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :eh, irc? < 1186708755 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :I need food < 1186708757 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1186708769 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i was, though, actually requesting where i should be doing my sleep < 1186708775 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Special powers like the ability to avoid sleepiness and the ability to not be bored. < 1186708783 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :And the ability to shoot people ethically and legally. < 1186708790 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :sp3tt: irc is pretty much nothing < 1186708834 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Staying awake doing nothing, however, gives one the ability to utilize paper and computers. < 1186708835 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :boredom doesn't exist < 1186708850 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1186708851 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how? < 1186708868 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Apart from the fact that you have to do something while doing nothing in order to do that. < 1186708883 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Minor setback. < 1186708898 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :doing nothing = doing nothing productive < 1186708913 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :doing nothing i can "show for my day" < 1186708929 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Well, paper and computers can be non-productive. < 1186708934 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1186708936 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm, my vague recollection is still a bit vague, the terms are apparently from latin and greek respectively, but had the same meaning so i _still_ think they were related < 1186708939 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how exactly? < 1186708992 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: where are there vague articles located that you've been memorizing your whole life, btw? < 1186708999 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i might enjoy reading them < 1186709019 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i shoud start writing vague articles < 1186709029 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*should < 1186709067 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unless there actually exist ones < 1186709070 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'd read them all. < 1186709268 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i might endoy flying to istambul or something < 1186709274 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i might get cold though < 1186709289 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :guess that would depend on how high i'd fly < 1186709301 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :now "sleep" -> < 1186709403 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ihope: you forgot to tell me how to do something unproductive with the computer < 1186709406 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :(aside irc) < 1186709421 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Study... er, wait. < 1186709425 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Play games! < 1186709440 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186709447 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Or study pointless things! < 1186709454 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Things that have been proven pointless! < 1186709460 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anything i get better at is productive. < 1186709504 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Not if they don't produce! < 1186709513 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... well, okay, since that is actually quite exactly the definition i use, it's pretty easy coming up with non productive stuff < 1186709516 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Study something that mathematicians already know everything about! < 1186709530 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :improving my brain is productive. < 1186709552 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :since it's pretty much all that exists from my point of view. < 1186709659 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I guess you'll have to do something destructive, then. < 1186709681 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :You can fail to revert vandalism on a wiki! < 1186709700 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i could, in theory, just like throw dice all night... the only problem is i'd remember that and list it as the cool feat "throwing dice for 10 hours in a row" < 1186709863 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Python fits my brain :) < 1186709872 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :And with that, I go to do me daily Japanese work. < 1186709982 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :and i go to sleep < 1186709986 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :reaaaally -> < 1186710292 0 :sp3tt!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to sleep < 1186711620 0 :meatmanek!unknown@unknown.invalid PART #esoteric :? < 1186712312 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Now, are there any optimizing Unlambda compilers/interpreters out there? >:-) < 1186712834 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there is a guy in #haskell writing a compiler, i don't know how optimised it will be < 1186712920 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also mandelson's interpreter is supposedly much faster than others, although i (vaguely :) ) recall it has some incompatibilities < 1186713009 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*is = was, hard to say if it still is fastest when the unlambda homepage hasn't been updated in years < 1186713771 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Incompatibilities... < 1186713803 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i again vaguely recall the d function didn't quite follow the spec, or something like that < 1186713838 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :possibly he memoized it, or something like that < 1186713874 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anyway some program broke when i tested it (my interpreter? i don't recall) < 1186714755 0 :GregorR!unknown@unknown.invalid QUIT :Remote closed the connection < 1186714785 0 :oerjan!unknown@unknown.invalid QUIT :"Good night" < 1186714818 0 :GregorR!n=gregor@c-76-27-232-8.hsd1.or.comcast.net JOIN :#esoteric < 1186715547 0 :cherez!n=cherez@CPE-65-30-35-192.kc.res.rr.com JOIN :#esoteric < 1186715676 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :THE CHALLENGE: Create a joke with the punchline "Baroque Obama" < 1186715703 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :YOUR MOM is BAROQUE OBAMA. < 1186715885 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :8-O < 1186715889 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It's TRUE < 1186716670 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1186719101 0 :puzzlet_!n=puzzlet@147.46.241.168 JOIN :#esoteric < 1186719101 0 :puzzlet!unknown@unknown.invalid QUIT :Remote closed the connection < 1186719962 0 :Sgeo!unknown@unknown.invalid QUIT :"Ex-Chat" < 1186720699 0 :GreaseMonkey!n=saru@222-154-153-179.jetstream.xtra.co.nz JOIN :#esoteric < 1186725258 0 :poiuy_qwert!n=poiuyqwe@bas2-toronto47-1242399611.dsl.bell.ca JOIN :#esoteric < 1186725439 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1186725453 0 :jix!n=jix@dyndsl-085-016-235-248.ewe-ip-backbone.de JOIN :#esoteric < 1186732799 0 :clog!unknown@unknown.invalid QUIT :ended < 1186732800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1186733017 0 :olsner!n=salparot@c-058ee155.710-8-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1186733390 0 :cherez!unknown@unknown.invalid QUIT :"Leaving." < 1186735589 0 :poiuy_qwert!unknown@unknown.invalid QUIT : < 1186741352 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1186741564 0 :GreaseMonkey!unknown@unknown.invalid PRIVMSG #esoteric :night all < 1186741612 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"Remember kids, be careful with explosives, they might be interesting!" < 1186741707 0 :asiekierka!n=asiekier@nat-1.elb.vectranet.pl JOIN :#esoteric < 1186741713 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :My friend did something for me! < 1186741719 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :a BF loader that fits in a bootsector! < 1186741737 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :interperter is NASM 155 bytes (binary compiled) < 1186741749 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :whole thing 194 bytes < 1186741771 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :510 - 194 = approx. space for BF code :) < 1186741779 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :cool? < 1186741790 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :AWESOME! < 1186741809 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :I don't know enough about bootcodes, but I wanna read the ASM :) < 1186741834 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1186741836 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1186741848 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :stdin - keyboard < 1186741855 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :BF code is compiled in the binary :D < 1186741875 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1186741888 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :my friend did it < 1186741889 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :not me < 1186741890 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :but wait < 1186741896 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i'll try to compile it and test 1st < 1186741987 0 :Darktemplar!n=squerart@adan44.neoplus.adsl.tpnet.pl JOIN :#esoteric < 1186742002 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :it's my polish friend < 1186742002 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :he did it < 1186742005 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :CONGRATS! < 1186742015 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1186742051 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :Waiting for JumpF**k, keyboard BF code typing and RAW BF store (to make max size up to 1,4MB) < 1186742060 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i'd like to first see the first two < 1186742065 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :then a option to add the third :) < 1186742100 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1186742103 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i'll put the code < 1186742170 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :if I make a BF-CommandLineInterface that's gonna be dead :) < 1186742184 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1186742217 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :I don't think I'd fit it in bootloader still < 1186742225 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :perhaps I can fit the CLI, but FS support... < 1186742231 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :it's unneeded < 1186742237 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :you'll make FS support (RAW) < 1186742237 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :okay.. < 1186742242 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Heya. < 1186742243 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :then you will put rest of code in RAW < 1186742247 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Awesome stuffs my friend. < 1186742252 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :AND the BF codefiles in raw < 1186742258 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :sure... < 1186742263 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1186742270 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :sending the code with ,[.,] and binaries < 1186742272 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :but first testing < 1186742287 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :I haven't tested it with multiple loops < 1186742299 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :but frequent stack operating around'em should do < 1186742306 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i'll test < 1186742328 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric : < 1186742346 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1186742353 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :then try and do JumpF**k ok? < 1186742371 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :if you want < 1186742457 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :You can do what Forth does, blocks for the FS. < 1186742528 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :you mean like filename:SECTOR3-6? < 1186742558 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Each block is a fixed size. < 1186742591 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :So block 21 is just data at address (21 * block-size) + block-offset. < 1186742656 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :But look, we want to sometimes store multiple files - oh wait, this can be done with SysLinux+MemDisk+GZip combo :) < 1186742681 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :you mean RAW is no fun ? < 1186742691 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :multiple files in RAW is perfectly OK < 1186742736 0 :Sukoshi!unknown@unknown.invalid PRIVMSG #esoteric :Well, I guess. < 1186742752 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :512 bytes per block < 1186742763 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186742771 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :LBA->CHS is about 25-30 bytes < 1186742784 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :we need also like a file: < 1186742801 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :blah < 1186742807 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :that stores filename you want (8.0 :D) and amount of blocks it takes < 1186742818 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :or 5.0 for that matter < 1186742819 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :it is easier for me to parse hex than dec < 1186742824 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :so use hex < 1186743019 0 :ehird`!n=test@user-514f618c.l4.c3.dsl.pol.co.uk JOIN :#esoteric < 1186743031 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :hi! < 1186743041 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :My friend did a BF reader in a bootsector! < 1186743049 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :with 300-400 bytes left for code < 1186743051 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :he is here < 1186743053 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :Darktemplar. < 1186743079 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ummm so what < 1186743086 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :of course you can fit BF into a bootsector < 1186743089 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :BF is friggin tiny < 1186743100 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :but he will add many stuff to it < 1186743105 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then it isn't BF any more < 1186743108 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :and it's smaller than AmigaOS interperter < 1186743114 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :he will add not stuff to language < 1186743114 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :many stuff < 1186743119 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :like a CLI < 1186743121 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1186743123 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :(except JumpF**k of course :D) < 1186743132 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :and a command right? < 1186743135 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :to read from files < 1186743143 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :@(filename.txt) i mean < 1186743143 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :but kinda debug-like one < 1186743168 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why is jumpfuck "of course"? < 1186743173 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i wrote jumpfuck mainly for compiler writers < 1186743179 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :... oh. But i wi--- < 1186743183 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :YOU WROTE IT? < 1186743196 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :this jump fuck? http://esolangs.org/wiki/JumpFuck < 1186743198 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if so, yes < 1186743201 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186743225 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i wanted to add just the commands < 1186743228 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :the 2 jump commands < 1186743229 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :adding jumpfuck shouldn't be hard.. < 1186743239 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :and one my command (if you implement RAW, it shouldn't be hard) < 1186743246 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :another segment register, like FS... yet limiting that stuff to run on 286+ < 1186743264 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how do people suggest i make this TC? http://pastie.caboo.se/86457 i was thinking maybe a "computed ld/st" which takes its address from a register as well < 1186743280 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i'm not sure which opcodes i'd remove to do it < 1186743311 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :and my command... @, Read (actual cell) char from (cell after actual) block to (cell before actual) < 1186743352 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :ehird, ur making a binary EL? < 1186743358 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :or it may use @(200|3) that will read 200th char from 3rd block (512 bytes/block right?) and save it to actual cell :) < 1186743363 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :it's better for me < 1186743372 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Darktemplar: binary what? < 1186743378 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :esoteric language < 1186743382 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Darktemplar: yes. that's a spec for a computer architechture < 1186743395 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but it isn't really meant to be mainly esoteric < 1186743396 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :but look, ehird, you'll have first JumpF**k implementation :D < 1186743397 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :more an experiment < 1186743401 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :asiekierka: true :) < 1186743424 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm just trying to get an assembly language with the smallest instructions i can while still being relatively easy to use < 1186743430 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :If you'll make the new architecture, try and port Darktemplar's bootloader to it < 1186743444 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :ehird->make it objective-enforcing :D < 1186743464 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :something like a weird minimized Java < 1186743470 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no way < 1186743476 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :why < 1186743483 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :and ehird`: Do you have any command ideas? < 1186743484 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :this is meant to be machine code that could feasably be put on a machine < 1186743493 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :except for a really simple computer where size of code is everythign :) < 1186743498 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :asiekierka: nope < 1186743498 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :since we have 3 more commands to BF, making it total of 11 commands < 1186743500 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :too bad < 1186743507 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :maybe BF machine's IO commands? < 1186743510 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then you could do graphics :p < 1186743536 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1186743547 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :1111 -> couldn't you make it SwitchToWeirdMode :? < 1186743559 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Darktemplar: you need nop :) < 1186743566 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what is weird mode anyway < 1186743583 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :theory... < 1186743586 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :or a joke < 1186743609 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :you could (but not need to) make a command like S(125) that will set current cell to 125 < 1186743617 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :will save up to 20 lines! < 1186743623 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i recommend it < 1186743636 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :or make it Add Number < 1186743641 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :like ! - read from port no. current cell and save it in n+1 cell < 1186743642 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :so it adds 125 to current cell < 1186743652 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :or direct memory access :D < 1186743658 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :OH! You may add it < 1186743673 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :yeah. Let's come up with another EL < 1186743691 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :it will be called "EsoOoS" < 1186743695 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :like ADD = CreateCommand("Add.Command","+",NOTPRIVILENGED); < 1186743700 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :nope < 1186743706 0 :sekhmet!unknown@unknown.invalid QUIT :heinlein.freenode.net irc.freenode.net < 1186743708 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i'll make list of added commands < 1186743714 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :but that would be kinda freaky < 1186743716 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1186743725 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :but asie, decide which cell size to use < 1186743726 0 :sekhmet!n=pez@wilug/madlug/sekhmet JOIN :#esoteric < 1186743732 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :it's no problem for me to switch to words < 1186743746 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gwar, why are there no decent binary editors < 1186743756 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :because you can't sell them < 1186743763 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1186743795 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm found one < 1186743799 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :OK. Got to go. Some work awaits.. < 1186743800 0 :Darktemplar!unknown@unknown.invalid PRIVMSG #esoteric :bye < 1186743801 0 :Darktemplar!unknown@unknown.invalid PART #esoteric :? < 1186744000 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hehe, tiny infinite loop: < 1186744005 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"à." < 1186744009 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :without quotes < 1186744015 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1186744019 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :what à does < 1186744021 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :of course that's just the machine code i need headers < 1186744031 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :asiekierka: that is "111000000000" < 1186744045 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :look at the spec i posted to see why that loops < 1186744088 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i see < 1186744096 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1110 CCCCCCC Jump to C. < 1186744111 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and at position 00000000, we have "111000000000" < 1186744120 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which jumps to 00000000... < 1186744161 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in reality, the shortest infinite loop will be a bit longer < 1186744173 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you have to specify how long the code is (so the machine knows where the data section starts) < 1186744178 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and that takes 32 bits < 1186744183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i might reduce it to 16. < 1186744256 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i may send you the code < 1186744264 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :to Darktemplar's interpreter < 1186744268 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :if you want < 1186744332 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so the shortest infinite loop is that code i posted < 1186744337 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but the shortest infinite loop wrapped in a binary < 1186744352 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is "... à." < 1186744376 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aka "00000000000000000000000000001100111000000000" < 1186744404 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aah, damnit my instruction set has no "halt" < 1186744433 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :somebody tell me what insutrctions they don't think would get much use in http://pastie.caboo.se/86457 :p < 1186744515 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :1111 :D < 1186744575 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :have you EVER coded low-level asm? < 1186744581 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :do you seriously think NOP is useless? < 1186744652 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :no < 1186744658 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :and maybe < 1186744668 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/NOP < 1186744676 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there are quite a few examples of good use there < 1186744945 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I guess for NOP you could do < 1186744955 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :AD A B < 1186744957 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :err < 1186744964 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait you couldn't do that < 1186744966 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :MV A A then < 1186744978 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so 1111 is halt... < 1186745075 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok here's the newest spec: http://pastie.caboo.se/86570 < 1186745086 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if someone comes up with a nice way to make it TC :) < 1186745501 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: Could you help me? < 1186745506 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :the Darktemplar code fails < 1186745508 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1186745837 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :I'll go on and learn ASM later < 1186746010 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how much chuck would a chuck wood wood if a chuck wood could wood chuck? < 1186746219 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :mörning < 1186746358 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :morning < 1186746531 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :got any ideas for how i can make http://pastie.caboo.se/86570 turing complete? :) < 1186746684 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1186746776 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :make 1st bit of each memory slot be a swith that expands that memory slot to be as bit as the whole memory < 1186746782 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and... there. < 1186746795 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you have to have some infinity there < 1186746871 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :how to make a newline in low-level ASM (i'm learning it) < 1186746874 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :without a OS < 1186746880 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i.e. booted from a bootsecotr < 1186746883 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :bootsector* < 1186746931 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :is it 13 and 10? < 1186746931 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :or 10? < 1186746933 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :or what? < 1186746983 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :ehird`! < 1186746987 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :oklokok! < 1186746988 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :do you know? < 1186747027 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186747052 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :0D0A in windows, 0A in unix, 0D in mac iirc < 1186747054 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea. < 1186747066 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :???? in BIOS < 1186747074 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea. < 1186747075 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1186747161 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i think 0D0A < 1186747163 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :but not sure < 1186747226 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you can put that to be sure < 1186747249 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :not now < 1186747267 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1186747273 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :i'll probably be back in 10-15 mins < 1186747285 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :iback < 1186747289 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm back < 1186747294 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1186747296 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :all i really need < 1186747301 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is some way to access memory relative to some other location < 1186747308 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :right now you can only specify an absolute < 1186747325 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :however i need to keep the instruction set at its current size < 1186747339 0 :asiekierka!unknown@unknown.invalid PRIVMSG #esoteric :gotta go < 1186747351 0 :asiekierka!unknown@unknown.invalid QUIT : < 1186747395 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :just make a relative jump < 1186747402 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that'd make it tc as well < 1186747418 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i just like nestable memory slots better : < 1186747420 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1186747532 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how would a relative jump make it tc < 1186747538 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you still can't access infinite memory < 1186747558 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1186747565 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :a relative jump in memory < 1186747574 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so that memory slot 0000 moves < 1186747577 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :back and forth < 1186747586 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :tc via trivial isomorphism to bf < 1186747607 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186747614 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well it's not really typical then < 1186747620 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :right now it looks quite a lot like some other simple machine codes < 1186747625 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that would make it.. less so < 1186747643 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you can also do like 0000-7FFF always program spesific, and 8000-ffff move if relative jump used < 1186747662 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and 8000-FFFF would have "infinite" memory for each program < 1186747670 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :or smth < 1186747697 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :millions of ways to do ittidy < 1186747705 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1186747712 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want it something like most machine codes < 1186747716 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :they don't use weird hacks like that < 1186747722 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :they're just... tc in a normal way < 1186747745 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :okay, then you will have to leave out the "every memory slot is n bits and every address is m bits" attitude. < 1186747772 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :it will then *look* more like asm in instruction descriptions, but it will inherently be less asm < 1186747788 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :have you checked an "asm" for a highlevel language? < 1186747797 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :like python bytecode or jvm < 1186747797 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :inherently less asm = :( < 1186747802 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and yes < 1186747810 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :besides < 1186747816 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i need that attitude < 1186747824 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :otherwise code can't be portable across amount of memory < 1186747826 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i haven't looked at jvm tbh, but that isn't actually that high-level of course < 1186747830 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1186747833 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :whut < 1186747838 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1186747842 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so... my idea. < 1186747847 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :mem jump < 1186747853 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186747865 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you could have a way to jump to next "page" < 1186747869 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and back again < 1186747875 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i have never seen machine code with "mem jump" < 1186747876 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1186747877 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that'd make it tc as well, but it'd be cleaner < 1186747883 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how DOES most machine code do it anyway? < 1186747891 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to handle calculated memory positions? < 1186747892 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :do... what? < 1186747895 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :instead of just immediate values? < 1186747903 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :it's called addition < 1186747913 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1186747917 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :do they have a computed store or something < 1186747918 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like < 1186747943 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :cld r1 r2 - "access the memory whose position is in r1 and store it in r2" < 1186747962 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :as well as ld r1 addr - "access the memory at addr and store it in r1"? < 1186747968 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or something like that? < 1186748021 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :usually asm has something like thta < 1186748023 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*hathtat < 1186748036 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i see, that makes sense < 1186748042 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you have that too < 1186748045 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no i do not < 1186748050 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I have ld, but not cld < 1186748059 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :cld would make it turing complete < 1186748067 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i can't add any instructions < 1186748070 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i've reached my limit < 1186748072 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :then i have misunderstood you... wait a bit < 1186748078 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so i need to remove 2 instructions that won't be used much < 1186748080 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pick two? :) < 1186748134 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :nop can be hacked in using the others... same goes for many of the calculations, but it might be ugly if you'd just have a random subset of the logicals < 1186748153 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(ehird`) cld r1 r2 - "access the memory whose position is in r1 and store it in r2" < 1186748157 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :why does this make it tc? < 1186748164 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and how is that different from ld? < 1186748198 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :"access the memory whose position is in r1" != "access the memory at addr" ? < 1186748312 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1186748347 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and < 1186748350 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it makes it turing complete because < 1186748353 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :r1 is a register < 1186748373 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Ah, wait, I'm going to tweak the code a bit < 1186748399 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :are registers infinite? < 1186748403 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :bignumzz < 1186748455 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok: < 1186748456 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.caboo.se/86579 < 1186748457 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'm sorry, but i don't see the tucrity. < 1186748473 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :everything but the first two AAAAAAAAs are register ids < 1186748486 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that pastie hates me a lot < 1186748497 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now, if i had a version of the first two instructions which instead of the immediate AAAAAAAA took a register AAA, you could do computed memory access < 1186748505 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :only problem is, i'm out of instructions... < 1186748515 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so what two instructions can i get rid of without too much effect? < 1186748668 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :whell, s/xor and or not/nand nor ;) < 1186748697 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't want to get rid of not < 1186748707 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or xor < 1186748712 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or or, or and < 1186748720 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :those are pretty much essential for non-hellish programming < 1186748870 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :memory management, arithmetic, binary logic, conditional jump, unconditional jump, halt... you pretty much need those if you don't want to do anything far-fetched < 1186748884 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1186748889 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i need two mor memory management instructions < 1186748914 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm, can you please try to explain how those are different from the ones you have now? < 1186748942 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :honestly i have no idea how you are having trouble with it < 1186748944 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.caboo.se/86579 < 1186748950 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0000 AAAAAAAA BBB and 0001 AAAAAAAA BBB < 1186748959 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :AAAAAAAA is an immediate value. in the binary file < 1186748961 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :HOWEVER < 1186748974 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :EVERY other single argument for EVERY instruction apart from those two AAAAAAAAs, is a register ID < 1186748979 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ah well, you can just replace those < 1186748986 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SO < 1186748987 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I need < 1186748992 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a computed st/load < 1186749000 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :with AAA BBB arguments, which take the address from the register < 1186749001 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you see? < 1186749017 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :HOWEVER i can't just replace those two < 1186749018 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yes yes < 1186749025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :as they supply the >only way to get values from memory< < 1186749033 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1186749034 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since, of course, you have to get something into the registers in the first place < 1186749036 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :before you can add to them < 1186749038 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to use them as addresses < 1186749041 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :think about it < 1186749049 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if everything is indirect to register values, and every register starts at zero < 1186749052 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how do you get a value into a register? < 1186749067 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, i need those normal ST/LD < 1186749069 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ah ture, but i'd prefer a way to set a value to a register over those .P < 1186749070 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1186749072 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i also, for turing completeness, need a computed ST/LD < 1186749079 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, i need to replace two instructions < 1186749107 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but i can tell you that will not make it tc < 1186749163 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it >will< < 1186749174 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, maybe not completely TC < 1186749181 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because of the size of the values < 1186749183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :BUT < 1186749192 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"turing complete" for all practical purposes < 1186749201 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :oh, if that's all you want, then it already is tc < 1186749204 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :as in you can write real useful programs in it < 1186749205 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and no < 1186749214 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :except for that stuff you haven't gotten in yet < 1186749217 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because accessing relative memory positions and other pointer arithmetic is pretty much mandatory < 1186749242 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Hmm - what is the bitshifts in most programming languages? Arithmetic shift or logic shift < 1186749254 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i do know that, but as i said, you can just replace those first two with cld and ld and have a way to set a register to a valua < 1186749256 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*value < 1186749267 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean? < 1186749275 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what do you mean what do i mean < 1186749289 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :arithmetic shift == takes sign into account < 1186749289 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :? < 1186749312 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Logical_shift < 1186749318 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Arithmetic_shift < 1186749318 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you usually have two shifts in an asm, since asms are rarely typed < 1186749319 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186749323 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'll check those out... < 1186749328 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, well which one should i implement ;) < 1186749354 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1186749359 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't actually need bit shifts! < 1186749366 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1186749370 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>> N == / (2 ** N) < 1186749380 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :<< N == * (2 ** N) < 1186749396 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :...orly < 1186749400 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yarly < 1186749405 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and i have the irb session logs to prove it! < 1186749453 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that is kinda given < 1186749476 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that is a way to get a round the need for two different shifts, yes. < 1186749492 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :if you have multiplication always be signed < 1186749508 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :usually, you also have two multiplication instructions & division instructions < 1186749515 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :for signed / unsigned < 1186749533 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :everything is unsigned in this < 1186749535 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so you may want to have everything just unsigned and let ppl get around that on their own < 1186749537 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186749548 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186749554 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that was my way to say you should naturally have logical shifts < 1186749556 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't have an exponential oprator though < 1186749562 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :...orly < 1186749569 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so the 2 ** N bit might be... annoying to do < 1186749586 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that really isn't the easiest way to use one of those operators to emulate another... < 1186749610 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i guess though that people would just work out 2 ** N beforehand < 1186749712 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :>> and << are effectively quick 2**n div/mul... so it's pretty obvious they aren't exactly *needed* < 1186749732 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*quick div/mul by 2**n < 1186749798 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok i've got a new spec < 1186749804 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll just put it up now < 1186749839 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.caboo.se/86585 < 1186749852 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :waitaminute < 1186749858 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the first integer doesn't have to be 32-bit... < 1186749861 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :addresses only go up to 8 bits < 1186749875 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait... that means code will have to be hideously small < 1186749906 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::s 255 bits max < 1186749909 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :err, wait, no < 1186749925 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :~65536 bits max :p < 1186749929 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's rather less worrying, hehe < 1186750031 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.caboo.se/86585 there we go < 1186750046 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a turing complete, slightly usable machine architechture < 1186750057 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :with tiny, tiny, tiny instruction size < 1186750085 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now i'll design an asm spec for it! < 1186750142 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :speccidy spaccidy < 1186750232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :of course it doesn't have IO... < 1186750237 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what do you think i should do to rectify that? < 1186750242 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :replace two more instructions? :S < 1186750262 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you could do the INT instrcution < 1186750265 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*instrcution < 1186750267 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*instruction < 1186750276 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :interrupts are evul < 1186750296 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :well yes, but they're nice if you want small instruction size < 1186750306 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :though... might be a bit cheatish < 1186750351 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186750358 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think i'll find two more instructions i can remove < 1186750374 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and add in and out, both taking AAA BBB < 1186750389 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :well, arithmetic is used a lot more than binary stuff, and the jump/memory stuff has to be there for it to be an actual programming language < 1186750395 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :A is the register which contains the port, B is the register which contains what to send < 1186750401 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and i'll define some standard ports < 1186750405 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and < 1186750406 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so... i'd say NAND! :P < 1186750408 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in will take < 1186750413 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :AAA BBB < 1186750416 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1186750418 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in will just take AAA < 1186750427 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :A contains the port, A gets replaced with the read value < 1186750436 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :And, um, I don't have NAND. < 1186750442 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :read the spec :) < 1186750478 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :or you could just have 4 ports and have the first bit indicate whether it's an output or an input port < 1186750482 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm... might be a bit ugly < 1186750484 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1186750494 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :sorry, you're using the register value as the port of course < 1186750502 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah that's just a sneaky way to add another instructiosn :p < 1186750506 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so you'd still have like a million ports < 1186750512 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1186750514 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :values are 8 bits < 1186750517 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :256 ports :) < 1186750525 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: i meant i'd say "do the nand" < 1186750529 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :do the do the nand < 1186750535 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :whut < 1186750542 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1186750549 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :s/xor and or not/nand < 1186750555 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that makes no sense < 1186750557 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :do you mean < 1186750559 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :get rid of not and and < 1186750563 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and replace them with nand? < 1186750566 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186750570 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then not is nand a a? < 1186750572 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and also remove or and xor < 1186750576 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1186750579 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't like those < 1186750584 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :this is meant to be relatively easy < 1186750591 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :removing all those logic operations just makes it a turing tarpit < 1186750598 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yeah... but you don't need binary stuff for most things < 1186750608 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :its meant to be a turing tarpit in internals, but externally it should be just about normal :) < 1186750693 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but, glargh < 1186750696 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there appears to be nothing i can remove < 1186750704 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :16 instructions are not enough :( < 1186750730 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you can remove the first two and add a "set" < 1186750739 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :? < 1186750739 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and you have one spot open < 1186750743 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't get it < 1186750752 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :set REG VALVALUE < 1186750766 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1186750769 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :VALUE = bad < 1186750772 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ADDRESS = good < 1186750821 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :if you can set register values, you can do stuff like incrementation without having a memory cell that has the number "1" in it... < 1186750838 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :now you'd have to have a memory slot where you have the number "1" to be able to increment < 1186750852 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1186750853 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's simpler < 1186750857 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so i like my way < 1186750871 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so... "set" would make the first two unnecessary, make a lot of calculation easier and also make it more pure < 1186750888 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :because now you have really duplicate instructions < 1186750925 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :the first two and the ones where memory location is looked up from a register are pretty much the same, the first ones are just the unpure version of the latter < 1186750956 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(purity == the nice INSTRUCTION AAA BBB pattern) < 1186750957 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :okay i guess < 1186750965 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(then SET would be the only exception) < 1186750986 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'm feeling foodneedish < 1186751001 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186751003 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't like your idea < 1186751008 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186751008 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because it makes setting memory locations harder < 1186751009 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :why ? < 1186751012 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186751015 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you need a SET and then a STORE < 1186751019 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well < 1186751021 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you need: < 1186751023 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :SET, CSTORE < 1186751025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :instead of just < 1186751026 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :STORE < 1186751061 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1186751068 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what :( < 1186751083 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :then why not make another set of arithmetic instrcutions as well that take memory slots as params? < 1186751101 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well because i'm keeping it at 16 instructions :p < 1186751102 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so you don't have to LOAD ADD STORE, but just ADD < 1186751113 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'm just saying my way is superior! < 1186751117 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :super über < 1186751118 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :okay, fine < 1186751123 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1186751143 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'm really gonna go eat now < 1186751147 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hf with your asm < 1186751160 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i wish i was doing something... doing stuff is so much fun :< < 1186751164 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but i ain't < 1186751169 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :okay: < 1186751173 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :because i'm reading swedish vicabulary. < 1186751174 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.caboo.se/86585 < 1186751176 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*vocabulary < 1186751179 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i need to free up one more instruction < 1186751237 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186751266 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :usually you *have* a condition for a jump and any 1100 AAA AAA CCC equals 1101 CCC < 1186751271 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :if you see what i mean < 1186751301 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(two reasons to remove 1101 that way) < 1186751307 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :s/way/was < 1186751307 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1186751317 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :also 1111 == nop? < 1186751327 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :or is that like implicit? < 1186751339 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1111 is where i'm going to put the last added instruction < 1186751342 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so "jump" is normally just asm sugar? < 1186751362 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm... x86 has like 15 jumps... < 1186751375 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm just thinking that, jumps are really really common < 1186751382 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and, if it has to compare something every time.. < 1186751404 0 :olsner!unknown@unknown.invalid QUIT : < 1186751452 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :true < 1186751463 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :if you don't wanna do any preprocessing for the code that is < 1186751470 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(trivial optimization...) < 1186751503 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(err... not really) < 1186751528 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well yeah it is trivial < 1186751538 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but < 1186751539 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's fake < 1186751544 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since it'll use another instruction internally < 1186751620 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1186751681 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you could make a halt address. < 1186751684 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :11111111 < 1186751703 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :SET 000 11111111 JUMP 000 < 1186751726 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah but, that's quite a lot of work to halt < 1186751728 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that'd be like fast-forwarding to the end of the code < 1186751730 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and halting is very common < 1186751744 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anywa < 1186751749 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's feasable that some code would be that long < 1186751753 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :though. admittedly. not likely :) < 1186751759 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but... < 1186751763 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah. i'll get rid of halt < 1186751768 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but wait < 1186751775 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what if 11111111 was in the data section < 1186751781 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then you'd jump into data < 1186751787 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and, feasably, you might want to execute some data < 1186751799 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah i don't think specializing jump is good < 1186751803 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll just get rid of unconditional jump < 1186751804 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :well, you'd basically have one less space for code/data... < 1186751809 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :what < 1186751813 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1186751817 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(i misread you) < 1186751866 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :00000000-11111111 ~ 00000000-11111110, so that'd really not be that big a sacrifice... the problem with removing halt is really the fact you may want to use it as a convenience for debugging < 1186751889 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that'd make it quite verbose < 1186751913 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1186751918 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll just get rid of unconditional jump < 1186751922 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :anyway i've almost finished the new spec < 1186751927 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186751931 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :should i combine input and output? < 1186751937 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :READ 000 = input < 1186751939 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :WRITE 000 = output < 1186751941 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that's the 3rd way i suggested < 1186751944 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1186751946 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no i mean < 1186751947 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the port < 1186751949 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186751953 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like, one port for "terminal" < 1186752025 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you could have IO AAA BBB PPP, where AAA would be input register, BBB output and PPP port... millions of ways to cincumvent having to have both IN and OUT < 1186752035 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(i guess that was a note-to-self more like) < 1186752048 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want both in and out < 1186752051 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you do not understand < 1186752055 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i am talking about port numbers < 1186752057 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :aaaaand now i realize what you said. < 1186752058 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186752081 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :takes me a while sometimes, no matter how simple a thing people say to me < 1186752082 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186752099 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that sounds like a good way < 1186752141 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :can't really come up with a good reason though < 1186752502 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :back < 1186752504 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186752524 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1186752528 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so if i have terminal as 0 < 1186752529 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what should port 1 be < 1186752683 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1186752755 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you wanna include those in the spec? < 1186752763 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :well i guess you wanna assign a few < 1186752767 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186752782 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you could have stderr next < 1186752795 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :or have it be port 11111111 < 1186752807 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :then you could have a nop port < 1186752815 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :nops are great < 1186752818 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :nopol <3 < 1186752827 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :why.am.i.not.eating -> < 1186753775 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :decided not to eat today, bought 5 liters of juice < 1186754244 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I have < 1186754246 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0 - terminal < 1186754252 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1 - ? < 1186754282 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that's pretty... impressive :P < 1186754322 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what should 1 be :p < 1186754387 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you can have a sound port and a kinda raw pixel feed port or something < 1186754388 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1186754392 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i mean, graphic output < 1186754404 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1186754408 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but.. something more useful..? < 1186754414 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :then, some kinda nethack. < 1186754420 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nah < 1186754424 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that'd be implementation defined ports < 1186754434 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want to define 3-5 ports and then have the rest implementation defined < 1186754442 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then you could implement a web browser or something in it :D < 1186754457 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :heh, that'd be fun < 1186754535 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sooooooooooo < 1186754539 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what should port 1 be < 1186754726 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1186755106 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :stdio, stderr are the only ones i can think of < 1186755121 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nonononono < 1186755124 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :since you obviously don't want anything that esoteric and my ideas tend to be like that < 1186755125 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't mean like keybaord input/output < 1186755126 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186755127 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186755130 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean ANY kind of IO < 1186755139 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just, any sort of communication at all < 1186755143 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :stdio == keyboard? < 1186755152 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :stdio mostly == terminal < 1186755163 0 :RedDak!n=dak@87.18.90.126 JOIN :#esoteric < 1186755170 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :well, i was just thinking like standard io < 1186755210 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you can have stuff like mouse and keyboard of course, but i don't know at what point it should be implementation defined < 1186755254 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you are thinking too limited definition of IO < 1186755273 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i realize that. < 1186755276 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :absolutely ANY operation that could be said to have some sort of link to "input" and "output" 8-bit values, that isn't covered by the instruction set < 1186755300 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ah, true... you could have like additional instrcutions taht way < 1186755310 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(i can't type that word for some reason) < 1186755381 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :kind of... < 1186755389 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but... e.g. a computer speaker could be IO < 1186755399 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and the value could be some sort of pitch/amplitude combination < 1186755402 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you know, the little beeping speaker < 1186755418 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i already said that < 1186755427 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you said that's not very necessary < 1186755428 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1186755490 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no you didn't say that :| < 1186755505 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(oklokok) you can have a sound port < 1186755509 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i guess i didn't < 1186755518 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but i tried to < 1186755522 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sound port != computer speaker < 1186755535 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :sound port = general term < 1186755549 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*more general term < 1186755653 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, but.. < 1186755670 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :anyway, yeah you can have one be a sound port < 1186755673 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186755677 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, what about 2 < 1186755682 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just 2, and then i'll leave the rest undefined < 1186755699 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and possible two separate ports for *raw* and *pitch+length* output < 1186755703 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*possibly < 1186755745 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :making sounds is hell in like every goddamn platform < 1186755748 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :no matter what you use < 1186755751 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i hate it < 1186755805 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah; how do you do it in ruby? < 1186755808 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :computer speaker < 1186755816 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1186755826 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i have a feeling you know more ruby than me < 1186755840 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :since i vaguely recall you teaching me the basics of ruby < 1186755858 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it was a question to everyone :P < 1186755893 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :...eh... mine was too! < 1186756001 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :when i say computer speaker < 1186756003 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean internal speaker < 1186756008 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i do know < 1186756020 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :pc beeper is what i've thought it's called < 1186756029 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ut... < 1186756030 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*bit < 1186756032 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*but < 1186756045 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i guess that's just for pc. < 1186756050 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*might* be < 1186756088 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1186756093 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1186756200 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :the internal speaker is kinda boring < 1186756262 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you have clearly never played old games < 1186756271 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i've heard complex polyphonic tunes composed with internal speakers < 1186756313 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :it can't be strictly polyphonic... < 1186756314 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :with enough tricks you can get some nice lo-fi tunes < 1186756316 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and, no < 1186756321 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but if you alternate between two very short notes < 1186756325 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you can get the illusion < 1186756328 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :of polyphony < 1186756341 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yeah, okay you've convinced me < 1186756356 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :wonder if you could do that with python's beep... < 1186756365 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1186756400 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also < 1186756401 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you van't? < 1186756402 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*cant < 1186756405 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if i add something that controls the screen too < 1186756406 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*can't < 1186756418 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you could create a 99 bottles of beer program with colour graphics and sound :) < 1186756421 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like an old dos app! < 1186756445 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'll make one that synthesizes a guy saying the lyrics. < 1186756459 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :with an internal speaker?! < 1186756462 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that'd be impressive < 1186756486 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :depends on how strictly the movement of the cone is defined < 1186756492 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i assume it's *very* < 1186756531 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so... you could make a program to convert wav -> beeper < 1186756576 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1186756580 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :are you on windows? < 1186756588 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yes, now < 1186756630 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :do you have ruby installed < 1186756633 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or python < 1186756641 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186756643 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :python < 1186756645 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which < 1186756648 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :version < 1186756657 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :2.2, 2.4 and 2.5 < 1186756712 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :2.4 doesn't open iirc < 1186756720 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and 2.5 i have to do some tricks to get open < 1186757155 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1186757158 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :right: < 1186757168 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :import win32api < 1186757214 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :did that work? < 1186757227 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1186757239 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i do know how to make the pc beeper sing in python < 1186757242 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186757262 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :http://vjn.fi/s/beepiano.py < 1186757283 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wow, a three letter domain name < 1186757284 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :impressive < 1186757288 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not many of those around < 1186757289 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i made that a million years ago < 1186757300 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :there's a website with a link to each of them < 1186757311 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that's not exactly my page < 1186757320 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :it's our group's... vjn's page < 1186757329 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1186757367 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :the domain was easy to get, we were just lazy enough to get a web hotel system so it costed like hell < 1186757381 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but it's fun wasting money < 1186757466 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :web hotel? < 1186757473 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :well okay it's my page in that most of the content is made by me < 1186757477 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(about hald) < 1186757478 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*half < 1186757515 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :web hotel == a public service for a server to maintain that < 1186757525 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1186757528 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :by the way < 1186757542 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :some of the best pc speaker music is in old lucasarts graphical adventure games < 1186757547 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :start them with the pc speaker command line option < 1186757586 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i don't feel like dl'ing any games now, you can record some for me and upload < 1186757587 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1186757607 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p ok < 1186758005 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :are you actually gonna do that btw, because waiting for you to upload it is actually now my excuse for doing nothing at all < 1186758014 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :well, i'm actually picking at my toes < 1186758020 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :they seem to be... rotten < 1186758028 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'm gonna go... do some cleaning now -> < 1186758100 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i am going to do it < 1186758112 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm just finding my copy of the game < 1186758261 0 :RedDak!unknown@unknown.invalid QUIT :"I'm quitting... Bye all" < 1186758376 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :found it < 1186758378 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, starting it < 1186758444 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :recording < 1186758734 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i can hardly wait < 1186758830 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh no < 1186758831 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i hit record < 1186758835 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but it's recorded at insanely low volume < 1186758844 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah there < 1186758849 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it can be amplified without much qualityloss < 1186758856 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :if it's square, you can easily amplify < 1186758857 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1186758866 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :it's prolly sine... but same thing < 1186758906 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm not a good recording < 1186758927 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll find a recording elsewhere < 1186758952 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i don't really care about the quality that much < 1186759020 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah but it skips parts < 1186759023 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :audacity is stupid < 1186759076 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1186759089 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :audacity is stupid how? < 1186759119 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it skips parts when recording < 1186759122 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :for no apparent reason < 1186759131 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :weird < 1186759140 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(case in point of how quiet this recording is: i can amplify 36db and it doesn't even go to halfway full amplitude) < 1186759184 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think this might be ok < 1186759190 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but be warned that the real thing sounds far more like music < 1186759192 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and less like random bleeps < 1186759201 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :stupid skipping < 1186759228 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :k, making an mp3 < 1186759238 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :note that there's periods of silence in between the three tunes < 1186759243 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because i had to, you know, play the game up to that point < 1186759246 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not too long though < 1186759258 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ah okay < 1186759283 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :k uploading < 1186759423 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://rapidshare.com/files/48135293/monkeyisland.mp3.html < 1186759429 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :too lazy to upload it to a real host < 1186759625 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i think that sounds great :) < 1186759635 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but i don't think that's anything near what it should sound < 1186759727 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah it skips in random places < 1186759753 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, that's an example of pc speaker polyphony < 1186759763 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm.. either it skips all the time or i don't think many people would enjoy listening to that < 1186759770 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it does skip all the time < 1186759782 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :seriously; download the game (monkey island 2) and run "monkey2 i" sometime < 1186759787 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it sounds nothing like tha trecording :p < 1186759818 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now i need to work out a consistant way to pack computer speaker values < 1186759819 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :an api < 1186759820 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :mahh < 1186759853 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bear in mind that "2000, 100" in the windows library only produces a very short beep < 1186759856 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :we need to store... big values. < 1186759903 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186759912 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :within 256 < 1186759915 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i guess, maybe < 1186759918 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the register value could be a memory address < 1186759925 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and then like 5 places after that is the values < 1186759967 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :whoa, a program that plays wavs to the pc speaker < 1186759968 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :crazy < 1186760014 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no worky in xp :( < 1186760028 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets updated one < 1186760047 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1186760051 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1186760065 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it's prolly pretty easy to do, i just don't know the basics of the beeper < 1186760183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :this driver isn't xp-confirmed-compatible :s < 1186760193 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is hopefully not suiciderating computer < 1186760273 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how do you suggest we lay out the argument? < 1186760359 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think a 16-bit integer for both tone+amp will be enough < 1186760363 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, four slots of memory < 1186760368 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so should the value be the first slot of memory's address? < 1186760414 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :? < 1186760486 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186760506 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :like 256 for duration and 256 for pitch < 1186760582 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :if you actually make tones (implicit 440*(2**(n/12)) conversion before output), composing will be easier and 256 will be enough < 1186760598 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but ppl might find that a bit hmm... what's the word < 1186760625 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :restricting. < 1186760630 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that was hard < 1186760641 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186760642 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :restricting < 1186760655 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :two 16-bit unsigned integers is just 4 slots of memory anyway < 1186760672 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and goes beyond what most computer speakers can produce as far as tone goes, and into insane lengths of tones as length goes < 1186760711 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :16 bits will be enough if you do frequency pitch < 1186760732 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :also, i was supposed to leave an hour ago < 1186760765 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :its not frequency pitch < 1186760771 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :its SOME-WEIRD-NUMBER length < 1186760777 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :? < 1186760803 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'm not talking about length < 1186760806 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but pitch < 1186760886 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1186760918 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :speaking of pc speakers, and i posted the monkey island 2 theme earlier, here's the monkey island 1 theme tune played live: http://www.youtube.com/watch?v=mYZXNVHVfhc it's awesome < 1186760925 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :it's really never useful having tone output by frequency < 1186760933 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it melds tons of different parts < 1186760943 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: i'm going based on win32's Beep function < 1186760957 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i do know < 1186761264 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :http://www.youtube.com/watch?v=WjvD3C_nvBk&mode=related&search= <<< original version? < 1186761300 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you have to do some serious hacking if that's actually done with a monophonic output < 1186761407 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i know everything can be done with a monophonic output since that's all computers have, but still < 1186761431 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to change note like 100 times a second < 1186761438 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and still i think it'd sound wrong < 1186761446 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so you'd have to add up the sines < 1186761459 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and efficiently just emulate a raw output using the beeper < 1186761470 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :which is like 100 times harder than just making the output < 1186761921 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1186761923 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll check < 1186761932 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and no < 1186761934 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that is not the original < 1186761939 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i showed you monkey island 2 < 1186761950 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://www.youtube.com/watch?v=6lTz2nkPNXA < 1186761969 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's the adlib version, so, not the best < 1186761977 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my recording starts with the monkeys dancing < 1186761986 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but anyway, my recording skipped every 2 seconds < 1186761989 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so of course it sounded nothing like that < 1186762091 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :however mine also includes largo's theme < 1186762098 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and omits the Scabb Island theme < 1186762114 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and also has the chapter change theme < 1186762271 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i seem to remember this scene was the best-composed for the pc speaker: http://www.youtube.com/watch?v=wbTTyacCO5c < 1186762282 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there's no recordings of it on the speaker though and i'm not playing half way through the game to get there < 1186762513 0 :Svenstaro!n=sh@c130083.adsl.hansenet.de JOIN :#esoteric < 1186762524 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'll be going now, cul! -> < 1186762530 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bye < 1186762648 0 :sebbu!n=sebbu@ADijon-152-1-67-153.w83-203.abo.wanadoo.fr JOIN :#esoteric < 1186763972 0 :jix!n=jix@evoke-party-visitors.vipri.net JOIN :#esoteric < 1186766608 0 :lament!unknown@unknown.invalid TOPIC #esoteric :Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric | NOTE TO EHIRD DO NOT REMOVE: \instructionset < 1186766970 0 :jix!unknown@unknown.invalid QUIT :Nick collision from services. < 1186766984 0 :jix!n=jix@evoke-party-visitors.vipri.net JOIN :#esoteric < 1186767721 0 :lament!unknown@unknown.invalid QUIT :"Lost terminal" < 1186767777 0 :cherez!n=cherez@CPE-65-30-35-192.kc.res.rr.com JOIN :#esoteric < 1186769110 0 :lament!n=lament@S010600110999ad06.vc.shawcable.net JOIN :#esoteric < 1186769908 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3.14 < 1186770095 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :3.1489797239479878971073891723816378969086359782649786301276382935496123897 < 1186770123 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1186770130 0 :puzzlet_!unknown@unknown.invalid PRIVMSG #esoteric :seems rational < 1186770302 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: you'll have to remove that note from the topic when you don't need it, nobody else is gonna do it < 1186770309 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1186770313 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i still need it right now :p < 1186770327 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is forgetful < 1186773041 0 :poiuy_qwert!n=poiuyqwe@bas2-toronto47-1242399611.dsl.bell.ca JOIN :#esoteric < 1186774384 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1186774396 0 :ihope_!unknown@unknown.invalid NICK :ihope < 1186774408 0 :olsner!n=salparot@cust.fiber-lan.vnet.lk.85.194.50.194.stunet.se JOIN :#esoteric < 1186774748 0 :ihope!unknown@unknown.invalid QUIT :Nick collision from services. < 1186774770 0 :ihope!n=ns@tapthru/resident/ihope JOIN :#esoteric < 1186774774 0 :ihope_!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1186775111 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I hear the sound of either "All I Know" or an ice cream truck playing Popeye. < 1186775250 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i see < 1186775258 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope: i made that instruction set TC, i think < 1186775337 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.caboo.se/86663 < 1186775347 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i need to define some standard ports though < 1186775356 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think i'll define Terminal and PC speaker and leave the rest implementation-defined < 1186775367 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i really don't like you calling it tc :\ < 1186775376 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: please read http://pastie.caboo.se/86663 < 1186775379 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it >is< turing complete < 1186775379 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186775385 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you changed it? < 1186775389 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186775392 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the current spec should be TC < 1186775397 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :then sorry < 1186775398 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'll read < 1186775402 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if you don't believe me... then i guess i'll write brainfuck rewriting rules for it < 1186775435 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1186775459 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: oh, and couldn't you use MemoServ or something for your notes-to-self? < 1186775465 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so you can make a list of 1000000000 entries in it? < 1186775469 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :possibly, ihope_ < 1186775480 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: if you had more than 8-bit addresses, yes < 1186775486 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1186775505 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(In this aspect, even C isn't turing complete. Pointers have maximum values.) < 1186775507 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you think that's directly extendable to infinite size registers? < 1186775528 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(And yes, I know C isn't TC. I think if mine is on the same computational level of C, nobody will ever need anything more :)) < 1186775531 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: this is a common discussion, this one about C, but no, pointers do not have to be finite size. < 1186775538 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :in C < 1186775540 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :C isn't TC, anyway < 1186775547 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :it is if pointers are infinite. < 1186775555 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :the size of a pointer is not defined < 1186775558 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :they are < 1186775559 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :it can be bignum < 1186775564 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no it can't < 1186775568 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Why not? < 1186775570 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or at least, it can't in C89# < 1186775604 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: then i've been lied to, i haven't read the spec of c, since i don't like the lang that much anymore < 1186775604 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Does that spec explicitly state that there must be a biggest pointer? < 1186775620 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :s/to/at < 1186775627 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :s/at/to < 1186775631 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: iirc, it defines pointers pretty precisely < 1186775634 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(doing some nop there) < 1186775646 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1186775662 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :defining precisely != defining a maximum size < 1186775706 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :anyway, that isn't tc then, and you *did not* change it :\ < 1186775709 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :or did you? < 1186775712 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i can't find it < 1186775714 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.caboo.se/86663 < 1186775734 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it may be non-TC, but if so it's only because it has the same restriction as C89 < 1186775744 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and, frankly, i'm not bothered. nobody stops using C because it isn't TC. < 1186775762 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :can you quote me the part making C pointers finite? < 1186775770 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :in the spec < 1186775815 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you have to pay to get the spec < 1186775820 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :do you have it? < 1186775824 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :because iirc someone on this channel said nothing there says it < 1186775849 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i do not have it, i'd've checked that like 4 times if i had it :P < 1186775849 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: C types are guaranteed to have a size in bytes defined at compile-time < 1186775920 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :and bytes are afaik defined to be 8-bit quantities... < 1186775927 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i doubt that < 1186775929 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :latter one < 1186775934 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1186775962 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i mean, i think they have a size defined in chunks, but those need not necessarily be bytes < 1186775973 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :just whatever is used for memory slots < 1186776010 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :anyway, i haven't read the spec, someone here just said something about something and i *vaguely recall*, so... < 1186776053 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :defined size at compile-time == you can't have an infinite size < 1186776059 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :== c is not turing complete < 1186776106 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :well, PC:s aren't turing complete either due to the finite size of memory < 1186776131 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :pc's aren't, C could still be < 1186776168 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :defined size in bytes, yes, but if the byte is a bignum, it's tc. < 1186776175 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :*if bytes can be bignum < 1186776402 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but they can't < 1186776413 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sizeof(X) must return a value that makes sense < 1186776418 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and it must be >right< < 1186776419 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so no -1 < 1186776425 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sizeof(void *)... < 1186776431 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :MUST be < infinity < 1186776435 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thus, C is not turing complete < 1186776443 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: sizeof(char) could be sizeof(pointer-to-bignum) < 1186776458 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Sure.. So what? < 1186776467 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :It'd be the same size as a pointer to a bignum. < 1186776507 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I mean, sizeof(void *) would be composed of bignums in such a way as to have constant size (but use hidden extra data to enable unbounded values) < 1186776535 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :thus, sizeof's would be bounded, but the values contained unbounded < 1186776557 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :So given a turing-complete C implementation, sizeof(void *) == ? < 1186776574 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :could be just 1, since a byte is a bignum < 1186776627 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what < 1186776629 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that makes no sense < 1186776639 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if its a bignum then its size is not 1 < 1186776653 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :also bytes are defined to be 8 bits < 1186776657 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so a byte cannot be a bignum < 1186776710 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: the spec defines a byte as 8 bits, and that sizeof() returns a number of bytes? < 1186776725 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pretty much yes < 1186776745 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :there is contention as to whether that byte size actually is mandated by the standard ;-) < 1186776751 0 :Darktemplar!n=squerart@83.11.243.130 JOIN :#esoteric < 1186776777 0 :Darktemplar!unknown@unknown.invalid PART #esoteric :? < 1186776823 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :still < 1186776828 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sizeof() must return a number of bytes < 1186776833 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and sizeof(void *) is no exception < 1186776837 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thus pointer addresses are limited < 1186776841 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thus C is not turing complete < 1186777018 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so C is only as powerful as my machine spec there < 1186777020 0 :jix!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1186777025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so you can't complain about my machine not being tc! :p < 1186777063 0 :jix!n=jix@evoke-party-visitors.vipri.net JOIN :#esoteric < 1186777241 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :olsner: there's contention as to... wha? < 1186777288 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :whether the size of a byte is defined by the C standard to be exactly 8 bits < 1186777326 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :...how does it manage to not be clear on that? < 1186777390 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it probably is clear on that... you just have to read that part of the standard ;-) < 1186777448 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, have we all agreed that yelling at my machine for not being "really" tc is pointless :) < 1186777585 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I think the discussion did have the potential to bring forth a deeper understanding of C's turing in/completeness < 1186777597 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: do you still need that thing in the topic? < 1186777605 0 :ehird`!unknown@unknown.invalid TOPIC #esoteric :Esoteric programming language discussion | FORUM AND WIKI: esolangs.org | CHANNEL LOGS: http://ircbrowse.com/cdates.html?channel=esoteric < 1186777608 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no :) < 1186777649 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, now the machine arch needs a name < 1186777654 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then i'll write some simple programs and an implementation < 1186777695 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :YAEL or YAEP? < 1186777702 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :? < 1186777718 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Yet Another Esoteric Language/Platform? < 1186777731 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it isn't really that esoteric, though, is it? < 1186777734 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, would you call it esoteric? < 1186777739 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's just a minimal machine language is it not? < 1186777748 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I dunno. < 1186777754 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :YAML or YAMP, then? < 1186777757 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, what would make it esoteric? < 1186777765 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yaml is a data format :) < 1186777836 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :If it's not made with usability and ease of implementation in mind, it's esoteric :-) < 1186777839 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :MiniMaL (MINImal MAchine Language) :P < 1186777853 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :What does MiniMAX stand for? < 1186777862 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it is designed with usability in mind :) < 1186777864 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but anything above 1 instruction isn't really minimal anymore < 1186777878 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the whole point was to be tiny, but usable if you know some sort of asm < 1186777892 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and i can't see how it would be hard to implement < 1186777901 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Well, why did you want it to be tiny? < 1186777922 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because yesterday RodgerTheGreat was talking about a turing-complete network protocol < 1186777929 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and i remarked that the packet format would have to be incredibly small < 1186777940 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and that you could probably get away with 4-bit opcodes < 1186777943 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :giving you 16 commands < 1186777946 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thus... < 1186777947 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Sounds esoteric to me. < 1186777950 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i took that idea with me < 1186777956 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and made a tiny machine language that was still usable < 1186777963 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't look really esoteric to me but maybe it does to you? < 1186777983 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I guess tininess is... um... < 1186777988 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :A useful thing to strive for. < 1186777998 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not really =p < 1186778000 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Thus making it not an esoteric feature. < 1186778016 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :its tinyness really has no use < 1186778017 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Nooooooooo! < 1186778035 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just wondered how small i could make an architechture while still having it relatively easy-to-use < 1186778047 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :plus, tininess isn't essential for esotericism < 1186778054 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Sounds esoteric again, then. < 1186778064 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :not only did they close the wormhole that was keeping the Ori's ships out, but in destroying the Ori they removed most of the Ancients' motivation to help them! < 1186778070 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(SG-1) < 1186778076 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :*Oris' < 1186778078 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: Okay < 1186778083 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :* whatever < 1186778086 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i might call it MiniMaL < 1186778090 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I might call it Yael (no acronym) < 1186778096 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Though are you sure MiniMAX or BCT doesn't sort of win? < 1186778104 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :MiniMAX means what? < 1186778105 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :BCT means what? < 1186778132 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Bitwise Cyclic Tag. < 1186778135 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah, esoteric things < 1186778137 0 :poiuy_qwert!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC stargate is good < 1186778143 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bitwise cyclic tag -- easy to use? are you KIDDING? < 1186778145 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Mini Mov-Add-Xchg. < 1186778157 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I dunno. You might need to spend some time learning it, but after that... < 1186778161 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah exactly < 1186778162 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :so, by winning the fight they lost their allies? < 1186778174 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :whereas here if you know something about low-level programming you can pick it up immediatly < 1186778259 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Mm... < 1186778270 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :MiniMAX is hardly easy to use < 1186778285 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :don't forget the various SJM architectures < 1186778312 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :one uses CPP and a library of macros to make it quite usable < 1186778339 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :plus, SJMs always have the right O() < 1186778350 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :name time: MiniMaL or Yael? < 1186778357 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I like Yael. < 1186778367 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :It's... likable. < 1186778375 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1186778376 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok then < 1186778377 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Yael it is < 1186778379 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION puts it on the wiki < 1186778390 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :(SJM = subtract and jump if negative) < 1186778404 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Yet Another Esoteric Language? < 1186778405 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Like a circle of grass ten feet across with forest all around. < 1186778412 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: originally, I think. < 1186778440 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I suggested YAEL, standing for that; he pondered Yael, supposedly not standing for anything at all. < 1186778440 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: "the right O()"? < 1186778456 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I was going to suggest "subtract and branch unless positive". < 1186778485 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :An O(n) aalgorithm on normal architectures is O(n) in an SJM architecture, unlike (e.g.) Brainfuck < 1186778492 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Is subtract-and-branch-unless-positive nicely isomorphic to subtract-and-jump-if-negative? < 1186778507 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it can be Yet Another Esoteric Language if you think it should stand for that < 1186778511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but Yael is its official name :) < 1186778550 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :where is the spec? < 1186778642 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's on pastie, but i'm adding a bit to it and putting it on the wiki now < 1186778650 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.caboo.se/86663 < 1186778799 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok: http://esolangs.org/wiki/Yael < 1186778801 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :spec version 1 < 1186778837 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :an infinite loop is remarkably short :) "1100000000000" < 1186778846 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it would be shorter if i still had an unconditional jump < 1186778846 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :+[] < 1186778856 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: and that in binary? :) < 1186778856 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :```sii``sii < 1186778871 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if i had an unconditional jump it would be "000" < 1186778875 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Both of them could be expressed as 0, but that would be a weird coding. < 1186778877 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :assuming jump is 1111, "1111000" < 1186778907 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and "1111000" in a file is pretty much the shortest you're gonna get unless you have a language called Infinity Loop :P < 1186778910 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*Infinite < 1186778977 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is writing hello world in it < 1186779239 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :spec updated with infinite loop and change to get-memory command < 1186779353 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wow, without mnemonics this hurts my brain :) < 1186779423 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Spec updated? < 1186779431 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :an interesting challenge would be to make the program speak "Hello world" through the speaker :P < 1186779434 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the basic principle is "x = 0; while (x < 14) out(0, end_of_code + x); halt();Hello, world!" < 1186779439 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: the wiki page < 1186779448 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but in practice its a lot harder. < 1186779461 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :256 bytes of data + code makes that really really hard unfortunately < 1186779466 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1186779488 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1186779491 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not 256 bytes of data + code < 1186779501 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :256 bytes is the POINTER size < 1186779510 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :read the spec < 1186779528 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oh, so the code size is unlimited, but only the first 256 bytes are read/writable? < 1186779531 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :with that definition, code+data max size is 65536 < 1186779535 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no... < 1186779538 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :think about it < 1186779543 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait, yeah < 1186779546 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :256 bytes of code < 1186779552 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but that >should< be enough to code hello world < 1186779556 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if it isn't i'll update the spec < 1186779563 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the instructions are small enough < 1186779574 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :(ihope_) I dunno. You might need to spend some time learning it, but after that... <<< i rather doubt a human could learn to write *anything* in bct < 1186779584 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I'm talking text-to-speech (or a simple vocal model) hello world < 1186779599 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186779600 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186779608 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :computer speaker is hard to make speak in the first place, haha :p < 1186779689 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but the spec doesn't say that the instruction pointer is limited to 0..255, so I guess you can get quite far with frivolous code generation ;-) i.e. generate an N-megbyte program that explicitly loads immmediate data into registers and never jumps < 1186779697 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: {{x1|b=b|i=i}} < 1186779705 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Something in BCT. < 1186779781 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm... bct consists entirely of 1's and 0's, so i have a feeling that's some sort of abstraction i don't get? < 1186779796 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: Wiki Cyclic Tag syntax. < 1186779822 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :well it wasn't exactly "something in bct" then < 1186779829 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but i don't know wiki cyclic tag < 1186779835 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i know it exists though < 1186779849 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :In BCT, program 11 starting with string 11 < 1186779856 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :(Actually, program 1111.) < 1186779914 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.caboo.se/86687 this is the theory of the hello world program < 1186779921 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just have to work out the value of halt/mainloop_start :) < 1186779924 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which can be done in a few seconds < 1186780029 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1186780146 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i somehow have a feeling http://esolangs.org/wiki/Wiki_Cyclic_Tag somehow assumes i know what mediawiki software is < 1186780197 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :MediaWiki is the software behind Esolang, Wikipedia, and Wikia, among other things. < 1186780210 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I FINISHED HELLO WORLD < 1186780213 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :WOOOOOOOOOOOOO < 1186780231 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :first of all i have no idea how there could be multiple lines < 1186780235 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and wtf is an interpreter there < 1186780249 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: i know that, of course < 1186780270 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :A program seems to go on only one line. < 1186780271 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i mean i know it's the base of those < 1186780312 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :And the interpreter thing at the beginning is sort of like a shebang line. < 1186780315 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :okay... then i understand, assuming all d, a and b are used simultaneously for each of the data bits in one cycle < 1186780324 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :meaning what exactly? < 1186780332 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :d is 0, a is 10, b is 11. < 1186780337 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :o is 0, i is 1. < 1186780346 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Oh, shebang line? < 1186780379 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :a shebang tells how to interpret what follows < 1186780380 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Like how Python files occasionally begin with #!/usr/bin/env python, to denote that /usr/bin/env python is the interpreter. < 1186780380 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1186780385 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, pretty much. < 1186780385 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1186780393 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so what exactly does it do there? < 1186780431 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :[edit] Semantics < 1186780431 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :The d, a, and b commands have been described above. The commands repeat in the order they are given forever. There is one special restriction: there must be at least 2 commands (a 1-command program may be simulated by giving the command twice), and the program must maintain at least 2 bits of data in the data queue at all times, or undefined behaviour will result. < 1186780436 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i completely skipped that. < 1186780437 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Yael < 1186780441 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :see Hello world under programs < 1186780446 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Well, if you put, say, x1 there, it denotes that Template:x1 is the interpreter. < 1186780449 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the "without comments" one is, of course, the most interesting :D < 1186780451 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :how in the name of fuck can i always skip the important part. < 1186780463 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it looks like line noise doesn't it :) < 1186780469 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i think it's nicely compact, for a machine language hello world < 1186780475 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :VERY compact, indeed < 1186780497 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: i have no idea what that means < 1186780510 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :like... it checks the hd for an interpreter with that name? < 1186780524 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and... then uses that? < 1186780533 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :It's template transclusion. < 1186780579 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :{{foo|blah|bleh|blih}} gets replaced with Template:foo with parameters blah, bleh and blih. < 1186780594 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hey, anyone know an editor that will accept a binary 0/1 string and write it as binary to a file? < 1186780600 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or will i have to write it myself :p < 1186780612 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Any hex editor? :-P < 1186780641 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :some don't seem to do it properly :p < 1186780649 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Oh? < 1186780649 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: in bct i do not know what parameters are, exactly. < 1186780658 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so... i have no idea how foo can have params < 1186780677 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: the parameters the "interpreter" takes are the program and the data string. < 1186780693 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :xvi32 only does hexadecimal literals < 1186780695 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no binary entry < 1186780712 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: i still do not know what it means there < 1186780713 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I guess writing one yourself... might not be hard. < 1186780718 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you just put a random string there? < 1186780721 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes but i am lazy < 1186780736 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: {{name of the template|program|data string}} < 1186780767 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: template? < 1186780789 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :MediaWiki, when given that, passes program and data string to Template:name of the template and displays the result. < 1186780800 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :what < 1186780818 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I probably should have used more hyphens or something :-P < 1186780818 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i see no connection between that and the language described < 1186780835 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :The language at the "Wiki Cyclic Tag" wiki page? < 1186780905 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :The example given: {{x1|d=a=b|i=o=i=i}} < 1186780916 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1186780920 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :now i see how that works < 1186780942 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok well < 1186780955 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :someone http://esolangs.org/wiki/Yael#Hello_world < 1186780960 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :put that binary code into a file < 1186780971 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then put Hello, world! in ascii form - those exact characters - after it < 1186780971 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :the interpreter can be any interpreter that is of mediawiki syntax... and there is a mediawiki syntax program that works as an interpreter for wiki cyclic tag there < 1186780974 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and upload it somewhere =P < 1186780980 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and the interpreter name has to be the name of that < 1186780982 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1186781002 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: yeah, pretty much, I think. < 1186781018 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :okay, in theory, that might be nice to tell in the wiki. < 1186781030 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: I'll see what I can do. < 1186781031 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :well.. i guess you can assume ppl know what mediawiki is < 1186781035 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: thanks :P < 1186781053 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: ...well, I don't really see what you just said. < 1186781136 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'm just saying the page assumes people understand what mediawiki does < 1186781142 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Oh, indeed, it doesn't quite say that that example interpreter should be placed in a wiki page of the appropriate name. < 1186781145 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i assumed mediawiki *is* the interpreter. < 1186781152 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :naturally < 1186781175 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :wiki page? < 1186781190 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i don't still know the connection between actual wiki pages and that :P < 1186781216 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :why does everything assume the reader isn't an idiot. < 1186781217 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :The code in "MediaWiki Interpreter" is to be placed into a wiki page of the appropriate name. < 1186781243 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :has someone actually used that? < 1186781252 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I think I have once. < 1186781285 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, there happens to be some in the sandbox: http://esolangs.org/wiki/Esolang:Sandbox < 1186781289 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :got it: < 1186781294 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"\000\034\004\000\020\0000\020\223!V\207\030\333\233\027\204L\002Hello, world!" < 1186781306 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Aww. < 1186781331 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :does the mediawiki installation allow arbitary uploads? < 1186781335 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like, can i upload a .bin < 1186781342 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I think so. < 1186781345 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or a .yae < 1186781347 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or a .yal < 1186781348 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or a .yel < 1186781351 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Er, installation, did you say? < 1186781358 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :? < 1186781366 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Oh, try it: http://esolangs.org/wiki/Special:Upload < 1186781385 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: what do i do with those if i wanna run them? < 1186781418 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: just stick one in a wiki page. < 1186781428 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :It'll display as the "next step". < 1186781477 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i never actually tried "sticking stuff" on a wiki page... but i see how that'd work < 1186781494 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :so... you can't actually make the server run a program? < 1186781521 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Not the whole way through. Only one step at a time. < 1186781536 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :okay, wow, this hello world is the smallest ever < 1186781547 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Hello, world! < 1186781551 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Written in CAT. < 1186781553 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1186781556 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :or... slashes! < 1186781558 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean, metaphorically < 1186781564 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :also, "h" in hq9 < 1186781570 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it looks so tiny, in text editors < 1186781571 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and everything < 1186781572 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so compact. < 1186781577 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :And by CAT, I mean something else. < 1186781582 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: that's /// :-) < 1186781599 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ihope_: i'm not the only one who uses the remanized version of the name :P < 1186781603 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :but yeah < 1186781605 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :you're right < 1186781615 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, yael file extension = ? < 1186781637 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: implementation defined io stuff? < 1186781640 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :3 letters! :) < 1186781641 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklokok: no < 1186781642 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1186781646 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :file extension, as in < 1186781648 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :"binary.yael" < 1186781650 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :except, 3 letters < 1186781655 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ah okay < 1186781665 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ymc? < 1186781667 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yael machine code < 1186781675 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :.yæl < 1186781677 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1186781680 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1186781685 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a.ymc < 1186781685 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that's nicer than leaving out one of the letters < 1186781690 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's fun to stay at the a dot ymc < 1186781694 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :ihope's was the best idea though < 1186781702 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :[edit] Semantics < 1186781702 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :The d, a, and b commands have been described above. The commands repeat in the order they are given forever. There is one special restriction: there must be at least 2 commands (a 1-command program may be simulated by giving the command twice), and the program must maintain at least 2 bits of data in the data queue at all times, or undefined behaviour will result. < 1186781705 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :... < 1186781711 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that was not my intention < 1186781729 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, ymc < 1186781836 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :".ymc" is not a recommended image file format. < 1186781837 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Retrieved from "http://esolangs.org/wiki/Special:Upload" < 1186781839 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :GRRR < 1186781855 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nonlogic dump it goes < 1186781930 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Yael Now with hello world binary! < 1186781989 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :absolutely tiny. seriously. < 1186782021 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :somebody should write 99 bottles :p < 1186782025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my hello world already has a loop < 1186782031 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and shows how to print strings < 1186782034 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so it shouldn't be too hard < 1186782036 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just tedious < 1186782082 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION just realised that Yael has 8 registers, not 4 < 1186782083 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's cool < 1186782086 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION updated spec < 1186782118 0 :poiuy_qwert!unknown@unknown.invalid PRIVMSG #esoteric :it would probably be smaller if you null ended the string and just looped till null instead of having a counter < 1186782135 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah i should probably do that... < 1186782164 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :alternatively someone else should modify my version to do that because i can't bear to write any more right now because that hello world made me tear out my hair : < 1186782165 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*:p < 1186782188 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :UH OH PROBLEM. < 1186782196 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my hello world won't work < 1186782200 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it jumps to a bit, not a byte < 1186782212 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so all jumps really need some padding to one byte :S < 1186782214 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ugly, i guess < 1186782223 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but, otherwise you'd run out of addresses to jump to fast < 1186782277 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :left a note on the hello world section < 1186782366 0 :poiuy_qwert!unknown@unknown.invalid PRIVMSG #esoteric :i dont understand what you mean, could you explain please? < 1186782380 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :# Set halt = halting instruction < 1186782380 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0000 100 10011001 < 1186782380 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :# Set mainloop_start = start of main loop < 1186782380 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0000 101 01011010 < 1186782393 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :those addresses are relative to the start of the program in >bits< < 1186782398 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :whereas, jumping uses bytes < 1186782406 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, i need to pad out the bits right before where i want to jump so they start on a byte < 1186782414 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and update those addresses to reference the byte positions instead < 1186782434 0 :poiuy_qwert!unknown@unknown.invalid PRIVMSG #esoteric :ah i see < 1186782448 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah maybe i could make jump relative, but still in bits < 1186782462 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and have bjmp/fjmp - backwards and forward jump < 1186782490 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i can't think of what i would replace though < 1186782631 0 :poiuy_qwert!unknown@unknown.invalid PRIVMSG #esoteric :also, you used a list on the wiki which says "1. stdout and stdin", but in the hello world you set port to 00000000, not 00000001 < 1186782646 0 :poiuy_qwert!unknown@unknown.invalid PRIVMSG #esoteric :im assuming the code is correct not the list? < 1186782771 0 :poiuy_qwert!unknown@unknown.invalid PRIVMSG #esoteric :and some commands dont use a multiple of 8 bits? < 1186782902 0 :poiuy_qwert!unknown@unknown.invalid PRIVMSG #esoteric :nvm i see < 1186783005 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :code, yes < 1186783011 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and commands are variable sized < 1186783070 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fixed the list in question < 1186783078 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok how about a challenge < 1186783090 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :first person to write some code to play a tune in yael wins a prize < 1186783100 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but not just hardcoding loads of values into memory < 1186783101 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :do some tricks < 1186783102 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1186783104 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah. < 1186783118 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like, if you're going for a slide from one note to another, do it algorithmically < 1186783129 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :don't just store all the notes in memory. < 1186783598 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1186783605 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i take it nobody thinks thats a good idea < 1186783605 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1186783706 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric ::-S < 1186783775 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it might be pretty < 1186783778 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hard mightn't it < 1186783873 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... < 1186783894 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Lemme look at the spec. < 1186783932 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :note that the jumping and memory access and everything is based on BYTES, not bits < 1186783937 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so you might have to pad some stuff out with 0s < 1186783952 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :What's the length given in units of? < 1186783962 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :And how do you control the starting time? < 1186784110 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :? < 1186784116 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186784119 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :welllllll < 1186784124 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i guess ... i dunno < 1186784131 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :win32's Beep function? :P < 1186784141 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that sounds like a good benchmkar < 1186784143 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*benchmark < 1186784146 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :win32's Beep function. < 1186784682 0 :olsner!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1186784719 0 :olsner!n=salparot@cust.fiber-lan.vnet.lk.85.194.50.194.stunet.se JOIN :#esoteric < 1186784880 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if you can make a little algorithmic tune i'll be impressed :) < 1186784888 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll make a little asm spec for it, later < 1186784890 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to make it easier < 1186784914 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :algorithmic tune? < 1186784922 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like, a regular computer speaker tune < 1186784925 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but, if, you say < 1186784932 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :slided up from note A to B three times < 1186784941 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then you'd code the sliding up and the three times algorithmically < 1186784949 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :instead of just hardcoding the sliding notes 3 times < 1186784976 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Have some number of voices, each playing at a certain rate. < 1186784991 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you can't do that, internal speakers are monophonic < 1186785002 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Blah. < 1186785003 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but, yes, that kind of thing < 1186785005 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well < 1186785009 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you can do polyphony with it < 1186785017 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :play extremely short sounds from each one after another < 1186785020 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(use 1 as the length) < 1186785021 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Monophonic? < 1186785026 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186785044 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but if you get the length of the sound that you play before switching to the next one right < 1186785048 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then you can create the illusion of polyphony < 1186785050 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Just what's that mean? < 1186785060 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :monophonic? < 1186785064 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1186785065 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you can only produce one sound at a time < 1186785070 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you can't play "dah" and "duh" at the same time < 1186785074 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Okay. < 1186785076 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but you can play "dah" and then "duh" < 1186785081 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Have some number of voices, each playing at a certain rate. < 1186785089 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so if you want more than one voice, you have to quickly play short sounds from each in succession < 1186785097 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :When a voice is told to play, it looks at the last note played by each other voice, and then plays the lowest note that isn't one of those. < 1186785117 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is this a roundabout way of sliding up? < 1186785130 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i was thinking more of going in a loop and incrementing a variable then playing that variable as the tone :) < 1186785130 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I don't think so. < 1186785139 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :More of an entire music generation thing. < 1186785148 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1186785152 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well if you can code that in Yael < 1186785154 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'm impressed. < 1186785156 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Mm, doing that would produce a simple tune :-) < 1186785164 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok :) < 1186785167 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :write it now :p < 1186785173 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Yours, I mean. < 1186785178 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1186785179 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1186785180 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1186785185 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i was meaning as a >segment< < 1186785186 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :of a song. < 1186785191 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1186785195 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :like, if at one point you want to slide up and down three times < 1186785197 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :don't hardcode it all < 1186785201 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :do it algorithmically < 1186785230 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah! i know the perfect song to do < 1186785239 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :slide from lowest note to highest note, and from highest note to lowest note < 1186785241 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :at the same time < 1186785244 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :emulating polyphony < 1186785254 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :repeat 3 or so times. < 1186785263 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if someone does that, i'll give them a medal :p < 1186785269 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't be too hard < 1186785302 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in fact < 1186785305 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nevermind repeating 3 times < 1186785306 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :loop forever < 1186785314 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then you'll have an oscillating music program :) < 1186785348 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :that's like insanely easy < 1186785354 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so do it :) < 1186785370 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :hmm... i'll make an interpreter for that first unless you do that < 1186785376 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll write an interpreter < 1186785379 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but anyway -- < 1186785392 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :remember you don't just want < 1186785396 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(HI length 1) (LO length 1) < 1186785399 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since length 1 is far too short < 1186785407 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you want (HI length 1) (LO length 1) (HI length 1) (LO length 1) < 1186785408 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or similar < 1186785413 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to keep polyphony but have longer notes < 1186785449 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :actually i can't be bothered to write an interpreter right now < 1186785450 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you do it :p < 1186785453 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i'll write a c one later < 1186785456 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i don't have a c compiler on this machine < 1186785611 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1186785613 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :don't write any programs yet < 1186785617 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want to change the jumping mechanism < 1186785622 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i need to lose one instruction < 1186785628 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which should i use? < 1186785632 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*lose < 1186785681 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i'm not doing anything yet, really, but perhaps later < 1186785810 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which instruction should i lose? < 1186785852 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :input and output can be hacked together < 1186785871 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not nicely though < 1186785872 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :and xor and or can emulate each other < 1186785887 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :i don't think you can remove anything nicely < 1186785889 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how does xor emulate or? < 1186785922 0 :oklokok!unknown@unknown.invalid PRIVMSG #esoteric :2 of them can emulate the third < 1186785959 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how does xor emulate or? < 1186785971 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean, if i have (A xor B) and not (A or B), what is (A or B)? < 1186786004 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186786017 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(A xor (B and true))? < 1186786160 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :um, no < 1186786188 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :xor cannot "fold" things together, I think < 1186786218 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :actually, viewed as a SAT problem, xor does not distinguish inputs and outputs! < 1186786510 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(A xor (B and true)) is (A or B) < 1186786575 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :er, wait no < 1186786597 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there is surely a way to emulate or with xor < 1186786604 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I know < 1186786610 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :now proove it! < 1186786617 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1186786640 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you can invert three signals with 2 not gates though < 1186786651 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :I forget how, but the circuit is rather complicated < 1186787155 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :nobody has written a tune i see :p < 1186787162 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what was that about "insanely simple" < 1186787165 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1186787173 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION continues wondering what instruction to ditch < 1186787381 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :1011? < 1186787402 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Maybe 1010 while you're at it. < 1186787412 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :division and multiplication are useful :( < 1186787424 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Isn't... what you want to add useful? < 1186787431 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :otherwise you can't have a short factorial! everyone knows how important factorials to be :P < 1186787439 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and yes... but only slightly... < 1186787443 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean... you can still do everything now < 1186787447 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i'm making it more elegant < 1186787450 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Division helps with factorials? < 1186787456 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no, multiplication < 1186787466 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Then get rid of only division? < 1186787470 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :jmp ABSOLUTE_BYTES -> bjmp RELATIVE_BITS and fjmp RELATIVE_BITS < 1186787475 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and no i like division :( < 1186788505 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Division is weird! < 1186788563 0 :olsner!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1186788777 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1186788853 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1186788864 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :for some reason i think i want to try learning base 57 < 1186788870 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Base 57? < 1186788878 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :That's silly. Learn base 59 instead. < 1186788914 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :why. base 57 is cooler < 1186788919 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :No it isn't. < 1186788921 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Base 59 is prime. < 1186788938 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Or you could go base 67, which is also prime. < 1186788956 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Or 61, or any of the many other prime numbers... < 1186788996 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :base 43 < 1186789005 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no - base 31 < 1186789073 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : 3.4c25oe856s6... < 1186789075 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not pretty enough < 1186789120 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :36 is good < 1186789136 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :No, 36 is bad bad bad! < 1186789137 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :very composite, yet typable < 1186789146 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :It's composite composite composite! < 1186789153 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i hate base 36 < 1186789157 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :base 43 might be nice < 1186789157 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Unless you want a composite number, of course. < 1186789159 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :digits -> 0123456789abcefghijklmnopqrstuvwxyz < 1186789167 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :or base 62: < 1186789173 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I think base 31 is nice. < 1186789178 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :digits -> 0123456789abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ < 1186789192 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :mixed-base, like HP money? < 1186789196 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Base 61 lets you use every alphanumeric character except "D". < 1186789200 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what does pi look like in base 43 < 1186789201 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :? < 1186789209 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: ask dc < 1186789215 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't have dc, this is the windows box < 1186789262 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you ask dc for me :p < 1186789311 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :not installed < 1186789354 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1186789363 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I'll run up and run it. < 1186789452 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :What's the syntax? < 1186789483 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :for calculating pi in base 43? < 1186789490 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1186789491 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :probably P<[";d']43 knowing dc < 1186789499 0 :ihope__!n=ihope@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1186789528 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ihope__: um, "run up" < 1186789529 0 :cherez!unknown@unknown.invalid QUIT :"Leaving." < 1186789547 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :you don't have ssh on that box < 1186789547 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: yes? < 1186789550 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :? < 1186789555 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :I probably do. < 1186789561 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :But I don't know its IP address. < 1186789593 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gawd all i want is pi_43 :p < 1186789694 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1186789742 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ihope: ah, you need DNS then... :-) < 1186789810 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :"The symbol & (called an ampersand) is sometimes placed in front of a number to show that it is a hexadecimal number." http://www.cleavebooks.co.uk/scol/calnumba.htm < 1186789828 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's very interesting and all, but- < 1186789834 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1186789834 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Cool, a convention I've never heard of rather than the one that seems ubiquitous. < 1186789849 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Heck, you do it :-P < 1186789852 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i can't < 1186789852 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1186789866 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :P<[";d"]43 gives a large number of error messages. < 1186789876 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it was a joke- < 1186789880 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1186789987 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just - someone put it in the topic - pi in base 43 - if they calculate it :p i'll see it tomorrow < 1186789993 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Oi. < 1186790000 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :MemoServ? < 1186790004 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :k < 1186790022 0 :ehird`!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer)