< 1267056089 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Frankly, you'll find people more interested if you make something more bizarre. < 1267056577 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :yes! < 1267056628 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what we need is a language based on _living_ cells < 1267056640 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ACTION skimmed a book on that < 1267056772 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: we'll call it... brainfuck! < 1267056819 0 :puzzlet!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck on a living brain? < 1267056846 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the cells will have to divide, naturally < 1267056896 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it will be an imperative language < 1267057323 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Idonno, something about cell division makes me think of evaluating expressions ... not sure why :P < 1267057357 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, it must definitely be imperative. < 1267058074 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has done even more ridiculous things in the name of functional C programming. < 1267058104 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I made my lambda macros use blocks. Now, they're only macros so that I can force the damned things to go through Boehm GC. < 1267058395 0 :charlesq__!~charlls@201.248.104.180 JOIN :#esoteric < 1267058538 0 :charlls!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1267058944 0 :charlesq__!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1267059809 0 :songhead95!~jay@c-75-67-0-54.hsd1.ma.comcast.net JOIN :#esoteric < 1267059822 0 :charlls!~charlls@201.248.104.180 JOIN :#esoteric < 1267059918 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1267060010 0 :Oranjer!~HP_Admini@adsl-71-7-92.cae.bellsouth.net JOIN :#esoteric < 1267060018 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :hello! < 1267060246 0 :songhead95!unknown@unknown.invalid PRIVMSG #esoteric :HELLO < 1267060268 0 :songhead95!unknown@unknown.invalid PRIVMSG #esoteric : BYE < 1267060269 0 :songhead95!unknown@unknown.invalid PART #esoteric :? < 1267060391 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :awwww < 1267065101 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1267065142 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :hello! < 1267065179 0 :augur!~augur@c-68-54-80-152.hsd1.md.comcast.net JOIN :#esoteric < 1267065287 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Analysis of Noise and Audio Library and Sound Exchange for X11 < 1267065311 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I shall now write this, and submit it (as its acronym) to Google Code. < 1267065455 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :WHAT IF WOLFRAM ALPHA GOES SINGULAR? < 1267065490 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :http://www.wolframalpha.com/input/?i=can+entropy+be+reversed%3F < 1267065492 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :ACTION giggles  < 1267065522 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :locally, yes; globally, no < 1267065530 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION bets on "Insufficient data for meaningful answer" < 1267065583 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wins 1 polka-dot panda < 1267065697 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :I'm glad I have read that short story < 1267065713 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits for eliezer yudkowsky to smack coppro for suggesting a singular AI can be less than global < 1267065732 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :wait what? < 1267065755 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well what _else_ would you mean? < 1267065774 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh entropy < 1267065811 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :_lol_ < 1267065817 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :this underlines < 1267065820 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :I'm scared < 1267065837 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :it's your client < 1267065838 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Wareya: it's a client thing < 1267065847 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*bold* < 1267065852 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :*.* < 1267065861 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :I've always used ^b for bold < 1267065871 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :and ^u for underlines < 1267065899 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Wareya: this channel censors colors, at least it used to. < 1267065949 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :testing < 1267065978 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :/italic/ < 1267065979 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right, the ^b's didn't show up in the logs < 1267065987 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :^b < 1267065997 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :MissPiggy: not shown any special in my client < 1267066008 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :nor mine < 1267066014 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :at least, not the terminal < 1267066069 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Wareya: by logs i mean the lines in the topic. you cannot actually see whether the irc server accepts your _own_ control codes directly < 1267066080 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*link in the topic < 1267066095 0 :Wareya!unknown@unknown.invalid PRIVMSG #esoteric :I know < 1267066253 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i suppose the client could try to show it according to the channel mode though, mine (irssi) doesn't. < 1267066260 0 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1267066577 0 :uorygl!~Warrigal@rrcs-70-63-156-144.midsouth.biz.rr.com JOIN :#esoteric < 1267066669 0 :Wareya!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1267066685 0 :Wareya!~wareya@cpe-74-70-140-214.nycap.res.rr.com JOIN :#esoteric < 1267067501 0 :Pthing!unknown@unknown.invalid PART #esoteric :? < 1267067637 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric :goodnight! < 1267067645 0 :uorygl!unknown@unknown.invalid PRIVMSG #esoteric :Good night. < 1267067648 0 :Oranjer!unknown@unknown.invalid PART #esoteric :? < 1267068232 0 :Sgeo_!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1267068456 0 :Sgeo!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1267069030 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Good night < 1267069911 0 :MissPiggy!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1267072600 0 :amca!~amca@CPE-121-208-82-97.cqzr1.cha.bigpond.net.au JOIN :#esoteric < 1267075202 0 :oklopol!~oklopol@a91-153-117-208.elisa-laajakaista.fi JOIN :#esoteric < 1267075207 0 :oklopol!unknown@unknown.invalid NICK :oklofok < 1267075426 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :glium < 1267075452 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :what's a glium? < 1267075727 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not a muilg < 1267075772 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :it's the singular of glia < 1267075789 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Where can I buy these glium? Ebay? < 1267075892 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric ::o < 1267075898 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :MY glium < 1267075900 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :MINE < 1267075915 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Is it your precious? < 1267075928 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i wanted to do some topology, but the lamp is depressed and i can't see :< < 1267075964 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Sing the lamp a cheery song! < 1267075981 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :"Always look on the bright side of life" or something < 1267075999 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Always look on the bright side of death! < 1267076002 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION starts singing < 1267076060 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i doubt it can be brought out of such a deep ression < 1267076099 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :guess i could just change the bulb < 1267076116 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :or, alternatively, i could just use the light from my computer screen < 1267076221 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :sort of unfortunate my windows theme is almost completely black < 1267076299 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :No wonder your light is depressed. Maybe it likes happy colours like yellow, or pink! < 1267076317 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :not gonna happen! < 1267076320 0 :mycroftiv!~ircguy@h69-128-47-242.mdsnwi.dedicated.static.tds.net JOIN :#esoteric < 1267076352 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :yellow at least, god that's an ugly color < 1267076534 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... Windows? < 1267076537 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. < 1267076548 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That still exists, doesn't it? < 1267076716 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :vista is an okay os < 1267076720 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: What OS do u use? < 1267076729 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :he uses cool hacker oses < 1267076761 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :amca: Gentoo. < 1267076787 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :With a somewhat quirky window manager setup. < 1267076794 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Im using Fedora 8 >.> < 1267076846 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Which WM? < 1267076910 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ratpoison. < 1267076916 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :For managing *both* of my windows. < 1267077039 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :One would be the irc win. What's the other? < 1267077062 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :(if you dont mind me asking) < 1267077063 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... IRC window? < 1267077066 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's crazy talk. < 1267077070 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :the root window and xterm for screen obv < 1267077073 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I have a terminal and a web browser. < 1267077081 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :3 windows then < 1267077082 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. The root window. < 1267077097 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I always forget that that's there. < 1267077107 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I only see it when I typo. < 1267077110 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :So, you are not using the term for irc? Telepathy? :) < 1267077128 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, I just don't have a dedicated IRC window. < 1267077136 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I just have a terminal running screen. < 1267077185 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :can I ask which term u use? < 1267077193 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i have a screen running terminal < 1267077195 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :urxvt. < 1267077271 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: text mode linux terminal? < 1267077500 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which, the physical terminal, or the Linux virtual terminal? < 1267077500 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1267077566 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :That's the phrase I was looking for: Linux virtual terminal < 1267077793 0 :lament!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1267077853 0 :lament!~lament@S0106001b63f462cc.vc.shawcable.net JOIN :#esoteric < 1267077939 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1267078180 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Can I ask why you prefer urxvt over all others? < 1267078202 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :amca: Lightweight, supports Unicode. < 1267078225 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Does it have tabs? < 1267078237 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, why would I want those? < 1267078245 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Those require a mouse to use. < 1267078288 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Ah, no they dont. I switch between tabs with +PageUp/Down all the time < 1267078304 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :s/alt/ctrl/ < 1267078310 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :They take up space on screen. < 1267078331 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :My entire screen is text ATM. < 1267078388 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :urxvt doesnt have a menu, then? Not even hidden one thatt appears when required? < 1267078424 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :the only oses i can stand are cell phone and calculator oses < 1267078443 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i wish computer oses were less extendable and more good. < 1267078458 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: What do you torture yourself with on your comp? < 1267078463 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :vista < 1267078476 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i've tried windowses and ubuntu < 1267078500 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ubuntu was too hard to use, you had to press multiple buttons to make things work < 1267078508 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think it has a hidden one that involves a mouse click of some sort. < 1267078508 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Have you tried DOS 6.22 yet? < 1267078534 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :text-only ones are usually good, they are just ugly < 1267078548 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: Ugly but usable. < 1267078616 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1267078670 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps Slackwafre 1.0 would be best? ;) < 1267078680 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :what's that < 1267078730 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :oops. Should be Slackware < 1267078742 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :One of the first Linux distro releases < 1267078817 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i'm sort of fed up with linux, ubuntu had me constantly learning how things work, because they didn't < 1267078829 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :granted, i didn't have a very new version. < 1267078853 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i don't want to learn irrelevant things < 1267078887 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :You want an OS to "just work". You dont need the complexity that flexibility brings? < 1267078895 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1267078910 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :but my calculator can't handle flash :< < 1267078929 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :What calc is it? < 1267078985 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :ti-86, i don't actually use it much, i just said that because i just praised calculator oses. < 1267078990 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :nice and simple < 1267079042 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh also i obviously don't want the computer to forget state when i turn it off, and i want it to start up instantly < 1267079047 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(just like any calculator) < 1267079075 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :but that's a minor thing < 1267079221 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :What processor does TI86 run on? < 1267079243 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :no idea < 1267079304 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i don't really care, i just know it runs the native basic very slowly < 1267079328 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :I think I have a TI84 which was an upgrade to the TI83 and runs on a z80 < 1267079333 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :made this snake game in it, no way to make it fast enough to be challenging :< < 1267079462 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :I meant to make a snake one on mine, but got distracted and never finished it >.> < 1267079528 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :my attention span is about two hours for stuff like that < 1267079553 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :complete waste of time in that any monkey could do it, i basically just wanted to have something to play during lectures < 1267079620 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr2.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1267079641 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1267079663 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :You seem to be a kind of non-geeky geek. < 1267079743 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :maybe, maybe < 1267079895 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :hey guyses < 1267079902 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oklofok especially < 1267079902 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh i also started on an ski interp, that one i never finished, but had some fun ideas, i used the screen as a stack < 1267079924 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :columns were continuations < 1267079926 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :me?!? < 1267079928 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :shit < 1267079932 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :you! < 1267079933 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :<3 < 1267079936 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pounces oklofok < 1267079947 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh dear < 1267079952 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... oklofok, non-geeky? < 1267079967 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well. Maybe compared to some others here. < 1267080003 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :im writing this super humongoid article for wikipedia < 1267080003 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :omg < 1267080005 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: ski thing sounded interesting < 1267080051 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :augur: what about? < 1267080068 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :controlled grammars < 1267080080 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :amca: i implement ski in pretty much everything i touch, because it's nice and simple, and very, very pure. < 1267080114 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1267080115 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :(always ski, never sk, i think i is important for purity) < 1267080125 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :i for purity? < 1267080127 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's just skk. < 1267080135 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :yep, it's more coincidence that i happens to be implementable in terms of s and k < 1267080141 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :there's mathematical reason to have all thre < 1267080143 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :*three < 1267080147 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :? I would have thought sk was more pure than ski < 1267080165 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :amca: try reading the proof that all expressions can be expressed as SKI some time < 1267080167 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :purity != minimalism < 1267080170 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :the i is very necessary there < 1267080175 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :*all lambda expressions < 1267080185 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :well s and k can express anything, i'd say sk is mathematically purer, ski is programmatically purer. < 1267080187 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :or maybe what augur said. < 1267080192 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :all i know is ski > sk. < 1267080204 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :and I can't think of a sane way to do the proof for sk without implementing i in terms of s and k first < 1267080210 0 :adu!~ajr@pool-71-191-173-96.washdc.fios.verizon.net JOIN :#esoteric < 1267080300 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: Do you normally write your expressions in lambda calc first then convert to sk? < 1267080366 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :amca: I know I do < 1267080369 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :except I convert to ski < 1267080379 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :Unlambda has an i, and why else would you convert? < 1267080382 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :sorry,, I forgot the i < 1267080401 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: Do you perform I/O with your SKI? < 1267080406 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :ok, so i = ``skk, but who cares < 1267080425 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: obviously not :| < 1267080442 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :you can use Unlambda I/O, but that's rather impure and (probably deliberately) convoluted < 1267080443 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: But it's so very simple to do in a purely functional manner. < 1267080444 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :`ii is important < 1267080445 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1267080447 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :metaphysically < 1267080454 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :scarf: Bah. < 1267080455 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: how then? < 1267080458 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Lazy K I/O. < 1267080480 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :amca: i don't write ski at all, usually. < 1267080486 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i write it in other things. < 1267080491 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :*implement < 1267080507 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: You use a prog lang that compiles to ski? < 1267080518 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The program is passed a lazy infinite list of church numerals representing the input in UTF-8. After an "end of file" condition on input, the values are just 256. < 1267080532 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :right < 1267080538 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The program *returns* a lazy list of church numerals representing the output in UTF-8. An EOF is represented by 256. < 1267080548 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :yeah obviously < 1267080563 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Viola. Lazy K I/O. < 1267080566 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :amca: no, i don't write programs in ski. < 1267080572 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :not big ones < 1267080575 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :its his native language, amca. it really is. < 1267080587 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :augur: That's zzo38. < 1267080597 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1267080601 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, either that or x86 machine code. It's hard to tell. < 1267080649 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :actually, zzo38 doesn't have any particular native language, but all natural and all programming languages in existence just flow naturally from him < 1267080652 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Why do ski machines tend to use church numerals? Why not lists of booleans for numbers?? < 1267080662 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :and then oklopol has to discover them < 1267080670 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :amca: Because church numerals are much nicer. < 1267080670 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :amca: arithmetic's easier, and it's mathematically nicer < 1267080696 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :ok, I suppose decrement's slightly easier with lists of booleans; but addition and multiplication are easier with church numerals < 1267080702 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(a list of booleans for numbers is a *royal pain* to deal with functionally) < 1267080719 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Shorter programs with church numbers? < 1267080765 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: oh, I thought you meant unary < 1267080772 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :writing it in /binary/ would be really ouch < 1267080790 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :scarf: He said booleans, so, yeah. < 1267080794 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Pain*. < 1267080803 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :I was assuming end of list / not end of list < 1267080807 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :otherwise you need a marker for the end < 1267080827 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :really, though, binary may translate well into wires, which is why computers use it < 1267080829 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hey, if your design is modular enough, the implementation of numbers will be hidden. < 1267080832 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :but it translates badly into functions < 1267080856 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i guess you still have to implement the operations, tho... < 1267080875 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: ... *SKI*. < 1267080894 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :yay exercise one done... i should probably close the irc window at some point < 1267080894 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Your best chance of doing it modularly is passing the implementation as an argument. < 1267080903 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1267080905 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :scarf: Could always have a "false" value for end-of-list < 1267080917 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: have you seen my bf in python lambdas? < 1267080923 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :amca: if you're using true and false as 1 and 0, what do you use as EOL? < 1267080930 0 :charlls!unknown@unknown.invalid QUIT :Quit: Saliendo < 1267080939 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i did exactly that, long list of lambdas as arguments < 1267080956 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: that's how I write relambda < 1267080963 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :scarf: An actual list with a "nil" value? < 1267080965 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :I/O gets abstracted and passed in as arguments < 1267080975 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: well, OK < 1267080994 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :the issue with SKI, though, is that the only way to tell the value of something is by passing it arguments and seeing what happens < 1267080998 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :scarf: Your EOL would only be in the cdr, not the car, all your 1s and0s would be in the car, so you can have false in the cdr for the EOL < 1267081013 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :so, the result of all operations is either an infinite loop (not good), or defined < 1267081023 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :scarf: Uh... < 1267081025 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :so if you have a typical false value (say `ki) for your cdr < 1267081032 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :then you can take its head and tail < 1267081036 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :(typically both i, in this case) < 1267081054 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :so you get false = [true | true] < 1267081067 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :there should be a language where all flow control relies on the detection of infinite loops < 1267081088 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :scarf: You represent your list as: (end-of-list-p, (car, cdr)) < 1267081112 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: heh, then you're effectively using 1-hot-ternary-coded-binary < 1267081156 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :nil is (True, (I, I)) < 1267081186 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :yep, that would /work/, but it's effectively the same thing as just using ternary < 1267081197 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, yes. < 1267081240 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :and you probably couldn't write multiplication, say, anywhere near as effectively as with church numerals < 1267081274 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: hmm, istr finding something like that on the esolang wiki, an esolang based on solving the halting problem < 1267081298 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Can you perform binary ops on church numerals? (and, or, xor, etc) < 1267081317 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :not easily, but why would you want to? < 1267081323 0 :lament!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1267081324 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but probably not *easily*. < 1267081351 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :link if so, i doubt it's done in an interesting way. < 1267081363 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Binary ops aren't exactly useful things on non-binary numbers. < 1267081375 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :So you can easily do blitting < 1267081416 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... < 1267081430 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :amca: why would you be using the bits of a number to encode pixels in memory? < 1267081434 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Blitting, in a language without anything beyond stdin and stdout? < 1267081435 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :you'd do blitting via array copies < 1267081444 0 :lament!~lament@S0106001b63f462cc.vc.shawcable.net JOIN :#esoteric < 1267081448 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1267081451 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :scarf: List copies, really. < 1267081467 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :well, yes < 1267081471 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :or tuple copies < 1267081474 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: looks like what I'm refering to is http://esoteric.voxelperfect.net/wiki/Brainhype and http://esoteric.voxelperfect.net/wiki/Onoz < 1267081479 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :the two data structures are rather different in SKI < 1267081489 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: For sprite movement etc. I suppose in a functional language, raytracing would be more appropriate rather than blitting < 1267081499 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :amca: There are no graphics. < 1267081513 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1267081514 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :amca: There aren't even, really, stdin and stdout. < 1267081527 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :There is the argument, and there is the result. < 1267081532 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*That's it*. < 1267081555 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Why cant the result be the video frame every 1/60 seconds? < 1267081602 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, it can. You could, of course, have the result be a raw video dump just fine. < 1267081608 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But you're not doing blitting. < 1267081619 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Hence my comment about ray-tracing < 1267081632 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Blitting is a very specific technique used soley because binary operators are fast in low-level languages. < 1267081636 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :amca: you're thinking incorrectly here < 1267081645 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Alternatively, if you were doing blitting, the result could be instructions to video hardware to perfom the actual blitting < 1267081646 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :you're thinking "blitting is fast on a computer, so it should be fast on an SKI machine" < 1267081657 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :you can get the same effect, sure, but you wouldn't do it via copying bit-blocks < 1267081661 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :you'd be copying lists instead < 1267081664 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :SKI doesn't have binary operators at all. < 1267081680 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :SKI can do implementations of them, but they are slow. < 1267081682 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :sorry, logging out and back in, the mouse focus here has gone insane < 1267081699 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Because your computer is *pretending* to be a SKI machine, and this process is slow. < 1267081711 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :scarf: No, Im not. Im thinking "blitting is fast on video hardware, so video hardware would expect input to refer to it" < 1267081720 0 :scarf!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267081720 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(well, it's actually much faster than anything else you could find, but that's beside the point.) < 1267081743 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Of course, my reasoning is perverse. That's is half the point. To see how far I can stretch an analogy for myself. < 1267081752 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :amca: But blitting is fast largely because you are directly modifying state. < 1267081753 0 :scarf!~scarf@unaffiliated/ais523 JOIN :#esoteric < 1267081760 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In SKI, there is no state. < 1267081766 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :There are only S, K, and I. < 1267081776 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :I have no idea how the bottom toolbar can have stolen mouse capture like that... < 1267081806 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :olsner: neither of those really uses the halting detection for anything < 1267081821 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :they're just bf with halting detection, and bf without infloops < 1267081934 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Have you heard of the Reduceron? < 1267081945 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :amca: Yes, the graph reduction machine. < 1267082032 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking you could hook it up to video hardware and input devices, and have each eval be for each frame < 1267082044 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: yeah yeah < 1267082082 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :amca: But clearly if you evaluate the same function with the same arguments, you will get the same result. < 1267082140 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :oh i missed the "looks like what i'm ..." thing, probably you realized that too < 1267082144 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i mean something like < 1267082156 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :you can't even write a program that halts, directly < 1267082161 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :everything just goes into an infloop < 1267082170 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :but, this will be detected, and things will return < 1267082231 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :yes. Which is why with each iteration, different arguments to be applied to the program are eval'd. The arguments would include input device state and , say, gameworld model, and the outputs would be changed game world model and video hardware input. < 1267082256 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Would there be a better way to implement a game on a reduceron? < 1267082488 0 :jcp!unknown@unknown.invalid QUIT :Quit: I will do anything (almost) for a new router. < 1267082624 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :either jcp wants many routers, or people don't like blowjobs anymore. < 1267083286 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :hi oklofok < 1267083319 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :hi adu < 1267083354 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :I've made a breakthrough with my language! < 1267083410 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :hi adu. What's your language? < 1267083428 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :cool! i have this vague recall that we talked about some language of yours, but can't remember what it was :) < 1267083428 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :I don't need to design, build, nor implement any part of it! brilliant! < 1267083443 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :Droscript < 1267083464 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :okay i don't think i've heard that name at least < 1267083489 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :I have some rudimentary documentation of it here: < 1267083495 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :http://drosera.co.cc/ < 1267083557 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i have a new programming language too, currently undocumented, but i still like advertising it: www.vjn.fi/oklopol/clue.rar < 1267083593 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :i hate rars < 1267083629 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :sorry about that. < 1267083652 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :ugh, now i have to search through hundreds of downloads to find 5 files < 1267083666 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :i hate rars < 1267083671 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1267083689 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i could reup in some other format, but my connection is pretty slow. < 1267083730 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :lzma is much more opensource than rar < 1267083802 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :but anyways, my language was supposed to by a Pythonic Haskell < 1267083812 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i don't really care about open sorcity. < 1267083816 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :*sourcity < 1267083830 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :Blasphemer! < 1267083868 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1267083886 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :adu: "supposed to by a" = " supposed to be a"? < 1267083892 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1267083922 0 :madbr!unknown@unknown.invalid QUIT :Quit: Radiateur < 1267083930 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: then when you find yourself in a jail made by Microsoft, and they charge you $20/day to sit on the floor, and threaten to throw away the key if you want to use the toilet, and electrocute you every time you use the sink, then sure, stick with proprietary < 1267083961 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :amca: yes, i can't type < 1267084012 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i'm not sure that sentence made any sense, but you have a point, using both open and closed source is much more restricted than just using open source. < 1267084044 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :like i can never experience the freedom of hating some file type because it's closed < 1267084075 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :big peeve: "Trusted" computing < 1267084091 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :the ultimate in closed source < 1267084108 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :What is "trusted computing"? < 1267084135 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :don't google it < 1267084139 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :http://www.gnu.org/philosophy/can-you-trust.html < 1267084183 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :adu: Are you a private concubine or RMS? < 1267084189 0 :amca!unknown@unknown.invalid PRIVMSG #esoteric :or = of < 1267084207 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :uh no < 1267084213 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :i just like him < 1267084230 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :can I be an open source/free software advocate who nevertheless thinks that RMS is crazy? < 1267084231 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :RMS is my hero < 1267084238 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1267084242 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :many ppl do < 1267084256 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I do < 1267084262 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :you can be a U.S. patriot who hates Obama < 1267084294 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :you know, the saying: "I love my country, but I fear my government" < 1267084328 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :trusted computing sounds like a great idea < 1267084338 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :if everyone wants to be a part of it < 1267084343 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: can I give you a language to shoot yourself with? < 1267084350 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1267084377 0 :tombom!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1267084381 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :sort of like socialism in that sense < 1267084389 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :although i guess in a different direction < 1267084396 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1267084404 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: if by "Everyone" you mean 0.0000001% of netizens, then yes < 1267084421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : well that would _clearly_ be nonsense, since i read here the other day that ericsson document _everything_ <-- quite. All documented functions at least. :D. Often new features are experimental and undocumented for a year or two before it is documented and considered stable < 1267084437 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :you're saying if 0.0000001% of people think trusted computing is a great idea, then imposing it on everyone would work fine? < 1267084447 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i really don't think that's true < 1267084458 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: and often even then it has a warning about that it might be subject to change for another year or so < 1267084480 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :i think and hope it would fail horribly < 1267084500 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl university < 1267084504 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :no, i'm saying the only people who it benefits is 0.0000001% of netizens < 1267084518 0 :oklofok!unknown@unknown.invalid PRIVMSG #esoteric :and that has nothing to do with what i said < 1267084522 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :so naturally those would be the people who want it < 1267084543 0 :tombom_!tombom@wikipedia/Tombomp JOIN :#esoteric < 1267084562 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :but since those are the same people in charge, it will likely be forced on the rest because of the power they hold < 1267084577 0 :adu!unknown@unknown.invalid PRIVMSG #esoteric :so in the end, what you said < 1267084746 0 :tombom!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1267084799 0 :clog!unknown@unknown.invalid QUIT :ended < 1267084800 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1267085227 0 :tombom_!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1267085249 0 :tombom_!tombom@wikipedia/Tombomp JOIN :#esoteric < 1267086428 0 :tombom_!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1267086588 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1267087639 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oklofok: :o < 1267087773 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :wanna learn about minimalist grammars? :D < 1267088385 0 :oklofok!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1267088787 0 :oklopol!~oklopol@a91-153-117-208.elisa-laajakaista.fi JOIN :#esoteric < 1267089063 0 :oklopol!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1267089081 0 :gm|lap!unknown@unknown.invalid QUIT :Quit: 2 hour UPS expired. Shutting down laptop. < 1267089532 0 :oklopol!~oklopol@a91-153-117-208.elisa-laajakaista.fi JOIN :#esoteric < 1267091223 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :oklopol! < 1267091248 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1267091275 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :meeeeeeeeeeeeeeeeeeeeeee < 1267091336 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :wanna learn about minimalist grammars? :D < 1267091345 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :no time. < 1267091348 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1267091353 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :it wont take long! < 1267091399 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :come to #minigram :D < 1267091417 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :if for no reason other than to get the logs < 1267092722 0 :adu!unknown@unknown.invalid QUIT :Quit: adu < 1267093786 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1267094049 0 :oklopol!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1267094524 0 :oklopol!~oklopol@a91-153-117-208.elisa-laajakaista.fi JOIN :#esoteric < 1267094572 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1267095324 0 :scarf!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267097369 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yay i just conquered the topologist's sine curve, the boss of level 1 in topology. < 1267097424 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at least i think so, this is not a very well-organized game < 1267097515 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION starts an alexander horned sphere rolling towards oklopol < 1267097536 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1267097578 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't even remember its definition, although i do remember what i'm supposed to do to kill it. < 1267097623 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hopefully i can get some better weapons before the sphere < 1267097640 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :currently i'm basically fighting with my bare hands < 1267098035 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :augur: i read #minigram, i'm following the lecture sofar < 1267098052 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1267098315 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well not that you really even started yet < 1267099510 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Lateral < 1267099734 0 :ais523!~93bcc029@gateway/web/freenode/x-xcyfczvnupqgrmrw JOIN :#esoteric < 1267099846 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :eatness -> < 1267099881 0 :chickenzilla!unknown@unknown.invalid QUIT :*.net *.split < 1267099881 0 :pikhq!unknown@unknown.invalid QUIT :*.net *.split < 1267099882 0 :mycroftiv!unknown@unknown.invalid QUIT :*.net *.split < 1267099882 0 :EgoBot!unknown@unknown.invalid QUIT :*.net *.split < 1267099882 0 :HackEgo!unknown@unknown.invalid QUIT :*.net *.split < 1267099965 0 :pikhq!~pikhq@75-106-100-139.cust.wildblue.net JOIN :#esoteric < 1267100098 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267100120 0 :mycroftiv!~ircguy@h69-128-47-242.mdsnwi.dedicated.static.tds.net JOIN :#esoteric < 1267100147 0 :chickenzilla!~chicken@olol.eu JOIN :#esoteric < 1267101180 0 :ais523!unknown@unknown.invalid QUIT :Quit: Page closed < 1267101720 0 :scarf!~scarf@unaffiliated/ais523 JOIN :#esoteric < 1267106100 0 :KingOfKarlsruhe!~nice@p5B1330AD.dip.t-dialin.net JOIN :#esoteric < 1267106407 0 :amca!unknown@unknown.invalid QUIT :Quit: good night < 1267107329 0 :oklopol!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1267107416 0 :Libster!~Libster@pool-74-103-90-165.bltmmd.east.verizon.net JOIN :#esoteric < 1267107439 0 :Libster!unknown@unknown.invalid PART #esoteric :? < 1267107705 0 :bsmntbombdood_!~gavin@97-118-252-102.hlrn.qwest.net JOIN :#esoteric < 1267107712 0 :MigoMipo!~migomipo@84-217-3-100.tn.glocalnet.net JOIN :#esoteric < 1267107834 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1267108985 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1267109395 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :"All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can't get them together again, there must be a reason. By all means, do not use a hammer. ~ IBM maintenance manual, 1925" < 1267109596 0 :tombom_!tombom@wikipedia/Tombomp JOIN :#esoteric < 1267109733 0 :tombom!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1267110310 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, hi there. What sort of things would you recommend to work with VHDL on linux? < 1267110332 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I use GHDL as a simulator, with gtkwave < 1267110356 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :I doubt there are free synthesizers around, though; all the ones I've seen tend to be nastily expensive < 1267110358 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, thanks. Will start a course in a few weeks about digital circuits & VHDL (basic level course) < 1267110370 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :although they generally run just as well on Linux as on Windows, which is interesting < 1267110391 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I expect the uni has stuff for the labs. But having something to experiment with at home seems useful < 1267110396 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :(GHDL's interesting, as it effectively compiles VHDL to a binary, which is /not/ the normal way to simulate it; the binary produces simulation output) < 1267110431 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, what is a synthesizers in this case? Something to program real hardware? < 1267110439 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: pretty much < 1267110443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :something to simulate it is just fine for me to begin with < 1267110456 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :to be precise, it generally generates a file used to program the hardware < 1267110483 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1267110510 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, so a compiler to something that can be loaded into an FPGA basically? < 1267110523 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1267110535 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :synthesizers are also often very slow < 1267110548 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :they can take half an hour to run for the little toy chips that they let undergraduates use < 1267110554 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, and you download it over a serial port or such? < 1267110564 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :and well over a day if you're trying to fit a lot of data onto a medium-sized chip < 1267110570 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :and you nearly always download over JTAG < 1267110581 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :which generally needs special software, and a driver for the JTAG cable < 1267110583 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh interesting < 1267110591 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, why jtag? < 1267110610 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: it's the standard very-low-level interface to reprogrammable hardware, nowadays < 1267110626 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :even if you have a device that can reprogram itself from software, JTAG's how you reset it if it screws uo < 1267110628 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :*up < 1267110630 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :When I programmed PIC12* it was generally done over serial port. < 1267110632 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :serial would be rather higher level < 1267110640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(PIC12F627 or something such iirc) < 1267110646 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(maybe 629?) < 1267110693 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :(and PICs don't program over the serial port directly; what happens is they only need a couple of data wires to program, so the programmer just links them to a couple of wires in an RS232 link, maybe with voltage-level adaption, and drives them directly in a way rather unlike what the RS232 spec suggests) < 1267110725 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, well yes, you latched some leg high to make it enter programming mode < 1267110729 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1267110746 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: at least on the 16F series, you do it by putting 9V (or was it 12V) in on the reset pin < 1267110746 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since my circuit used serial port for other purposes during normal operation < 1267110752 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :when the device normally only uses 5V < 1267110755 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it was natural to do it over the same interface < 1267110760 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but with a jumper iirc < 1267110768 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that you moved to a programming mode < 1267110772 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :which is a really clever solution to stopping people entering programming mode by mistake < 1267110787 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, I don't remember the details < 1267110800 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway I do remember I had to move a jumper to do it < 1267110803 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :and yes, IIRC on a PIC, the same two pins that are used for programming clock/data are the ones commonly used for clock/data on a uniplex data link < 1267110823 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, I also remember that the interrupt routine that read serial data was a pain to code. < 1267110836 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :not really, if you understand interrupts < 1267110839 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you had to get timing right and make it finish before the next piece of data arrived < 1267110856 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :it's about eight lines of asm, or maybe thirty of C because the C compilers typically used for PICs are so bad < 1267110862 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, back then I barely did < 1267110880 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, also, there is no built in support for serial data in PIC12F* series < 1267110894 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc there is in some more advanced models < 1267110902 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: even on the 16F series, it's just a buffer for one byte < 1267110910 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :umm, two bytes under certain circumstances, I think < 1267110912 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, no buffer thingy here on 12F < 1267110924 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :which means that you don't have to poll/respond to interrupts quite as often < 1267110932 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :but which still means that you have to do most of the work yourself < 1267110946 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, also remember you have very very limited memory, both ram and flash < 1267110954 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, I know < 1267110967 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :I probably know more about PICs than you do < 1267110968 0 :tombom__!tombom@86.25.48.58 JOIN :#esoteric < 1267110983 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :I've even built a PIC programmer from components before, and written long programs for them in asm < 1267110995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, true for more advanced models at least. But isn't the 16F series vastly more advanced than the 12F series? < 1267111008 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :not vastly, I wouldn't say < 1267111016 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :it has more random features that most people don't use < 1267111017 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :but that's about it < 1267111021 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :also, often more pins < 1267111049 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, more registers iirc too? < 1267111063 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :a bit, not all that much though < 1267111071 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :you might get maybe 100 bytes or so of memory on a high-end model < 1267111128 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, plus I needed some nasty logic to drive 12 LEDs with the 8 pin PIC I had. And some of those 8 pins were needed for other things. iirc I made use of that LED only works in one direction and to light up more than one led at once I just quickly switched between them < 1267111160 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :it's a standard trick, I've used it myself < 1267111162 0 :tombom_!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1267111189 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :the other method would be to multiplex it as a 3x4 display, which uses 7 pins, same as 6+6 with one wire for direction < 1267111197 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, yes true, still somewhat tricky to code for me back then < 1267111201 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :you could probably combine the methods and only use 6 pins, but that would just be confusing < 1267111257 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, actually of those 8 pins, one was needed for serial iirc, and two for power things. So that leaves 8-3=5 pins for the leds < 1267111293 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :No I don't remember how I connected them. But it was somewhat confusing to get it to work < 1267111297 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :ouch, driving 12 from 5 seems painful; even connecting it as a K_5 can only do 10 pins < 1267111312 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, it was possible though < 1267111321 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :oh, you can do 20 with a K_5 < 1267111322 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :so it is possible < 1267111342 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :K_5? I don't remember that term < 1267111418 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: complete graph on 5 vertices < 1267111421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, anyway I did this when I was around 13 years old or so. I don't remember most details any longer. < 1267111771 0 :cpressey!~CPressey@173-9-215-173-Illinois.hfc.comcastbusiness.net JOIN :#esoteric < 1267111914 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :This is completely irrelevant, but the TI calculator "link cable" connection is really funky; it's a three-wire port, one is ground and two for data, but it's a sort of a "clockless" asynchronous protocol; to send a bit, you pull one wire low (which one depends on the bit), wait for the receiver to acknowledge by pulling the other wire low, then raise the original back to high and wait for the receiver to acknowledge that. < 1267111960 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Wareya: I thought of a way to help visualize the balance problem thing in 4 dimensions... in 3 dimensions, the disc and the table are basically 2 dimensional. They have a thickness, but it's not interesting. The disc is on the table. It falls off when it center is no longer above the table. < 1267111986 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It was a bit tricky to interface with on the TI DSP board; despite being made by the same company, "surprisingly" the rather advanced (or at least feature-rich) serial communications circuitry wasn't really helpful for that sort of stuff. < 1267111994 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :In 4 dimensions, the sphere and the container are basically 3 dimensional. They have a 4-dimensionalness, but it's not interesting. The sphere is in the container. It falls off when the center is no longer inside the container. < 1267112003 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :The weird part, to me, is what "falls" means in 4D :) < 1267112013 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: read up on I²C some time, it's just as fun < 1267112023 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, what? really? < 1267112024 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :it has the most ingenious method of handling collisions I've ever seen < 1267112024 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ACTION prefers truly 1-wire protocols. < 1267112031 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :basically, there are two wires, clock and data < 1267112038 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, this is the cable you connect to the box attached to the serial cable? < 1267112041 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that you are talking about < 1267112056 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :the system's set up such that if either of two devices tries to send a 0, the wire goes 0, otherwise it goes to 1 < 1267112061 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :and the clock ends up in sync < 1267112071 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I have a TI black link cable < 1267112076 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :came with my TI-83+ < 1267112078 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :so, if two devices try to send at once, then as long as they're sending the same data, everything's fine < 1267112091 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes, the GraphLink cable. I think even the official serial cable contains some PIC-like chips to translate that stuff into standard RS232. < 1267112092 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :as soon as they differ in the data they're sending, one of them tries to send a 1 but sees a 0, so it shuts up < 1267112101 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, heh :D < 1267112114 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :and from everything else's point of view, it's as if only one of the devices was actually sending < 1267112115 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Some of the home-built ones do that decoding on the processor, by just connecting those into suitable pins. < 1267112122 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :so it sort-of fixes conflicts retroactively < 1267112178 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, wait? so it is left to the computer cpu to try to make sense of the protocol? < 1267112218 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes, if you use a home-built simple cable like that. There's the "open-source" PIClink cable which does it like the TI one, having more sense in the cable itself. < 1267112243 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :scarf: That's nifty. < 1267112245 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, the signal levels and such are compatible ? < 1267112265 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: yep, I think it's rather neat < 1267112309 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Close enough, if you add some diodes in there. The serial port pins aren't really read-and-write suitable, so the usual design uses a pair of pins in the serial port for each one of the wires. < 1267112393 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :The problem with Maxim's 1-wire protocol is that it's actually 2 wires, because those wimps insist on having a ground reference. It is bidirectional, though. http://www.maxim-ic.com/app-notes/index.mvp/id/1796 < 1267112434 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: all the standard assumptions break if you don't assume a ground reference < 1267112446 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :which means designing a truly 1-wire protocol could be relatively tricky < 1267112456 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :scarf: ;) < 1267112545 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :scarf: I think for the calc-dsp thing we used some low-level code on the calculator side to implement a unidirectional more-or-less synchronous "one clock wire, one data wire" serial protocol, just because then we could on the DSP side just program the serial port circuitry to completely automagically collect a full four-byte data packet and stick it (with DMA) to the DSP chip's memory. < 1267112592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ah < 1267112629 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I remember seeing a Circuit Cellar circuit for a modem that operated over your home's AC wiring. So you plug in one modem into the mains upstairs, plug in another modem downstairs, and voila. 300 bps between them. < 1267112639 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Mind you, they're just compatible in practice, not in theory. The RS232 voltages can (spec-wise) go a lot higher (15V?) than what the calculator is designed to accept (5V). < 1267112651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ouch. < 1267112663 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: not just that, in standard practice they /do/ < 1267112677 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :the RS232 port on a typical computer ought to be +/- 9V < 1267112688 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway these days I think USB cables are used < 1267112691 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1267112697 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :there's a chip called the MAX232 that converts RS232 logic levels to/from standard ones, it's pretty standard nowadays < 1267112717 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for calculators I meant < 1267112719 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mean* < 1267112768 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which reminds me (somehow, can't explain why): new erlang version out yesterday. yay. And quite a lot of documentation improvement < 1267112788 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :plus this release is the first after they switched from the cathedral to a more open development process. < 1267112837 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :scarf: I always wanted to abuse that chip to do something related to voltage boosting that it was never designed for < 1267112858 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1267112864 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: let me guess, the distribution grew... 90 megabytes this time? < 1267112874 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :probably possible, there's likely a datasheet somewhere < 1267112880 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : AnMaster: I use GHDL as a simulator, with gtkwave <-- why does this pull in gnat < 1267112883 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean < 1267112883 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :and good datasheets are as general as possible < 1267112888 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is there actually someone using ada? < 1267112889 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wth < 1267112893 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: who knows < 1267112897 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :VHDL is very ADA-like < 1267112905 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ghdl gnat-4.3 gnat-4.3-base gtkwave libgnat-4.3 libgnatprj4.3 libgnatvsn4.3 < 1267112905 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :it wouldn't surprise me if bits of the parser were shared < 1267112911 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I didn't even list gtkwave there < 1267112913 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just ghdl < 1267112915 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :one of the design goals of VHDL was actually to make it look like ada < 1267112917 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it pulled in all those deps < 1267112923 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :*Ada < 1267112937 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, One* < 1267112938 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :(I bet gtkwave is on the recommended list, because there's no point in producing simulation data you can't view) < 1267112942 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :TI switched to usb cables for the calcs, yes. < 1267112953 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :No, Erlang/OTP dist only grew by 1.4 megabytes. Drat. < 1267112964 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, har < 1267112976 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :It's supposed to double every time! Or something < 1267112986 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, if they switch from .gz to .bz2 or .lzma it would shrink < 1267112992 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course that would break compat < 1267112994 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so they would never < 1267113003 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Not that there ever were any problems with official TI serial cables, those did the right thing. < 1267113012 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and if they did they would provide new and old formats for quite a few releases < 1267113027 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :.pax.lzma! < 1267113041 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :suuure < 1267113148 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyone know any open source tool for simulating analogue AC circuits btw? < 1267113163 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, isn't that Moore's law: the size of Erlang doubles every 18 months? < 1267113173 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, heh < 1267113215 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they finally documented the -type/-spec thingy (with a disclaimer that it might change still, but will probably become stable in the next major release) < 1267113229 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :btw, efunge has been using that since near the start ;) < 1267113796 0 :MissPiggy!~none@unaffiliated/fax JOIN :#esoteric < 1267113933 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1267114641 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pax! < 1267114645 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Oh gawd pax < 1267114673 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :pix of teh pax < 1267114705 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is funny how gnome somehow puts a harddrive icon on my desktop for sshfs file systems < 1267114710 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that I mounted from command line < 1267114712 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbiab < 1267114997 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh this is so sad, erlang's build system isn < 1267115002 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :isn't* -j2 safe < 1267115018 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it tried to execute the erlang compiler before the runtime was built < 1267115212 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :wtf < 1267115217 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :That is pretty sad, considering. < 1267115356 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, exactly < 1267115479 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :The image on http://www.chromium.org/Home is not exactly brilliant marketing. It looks like the browser is on its way to the Great Hereafter. < 1267115502 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :heh.......................................... < 1267115862 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, hah < 1267115876 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, not how I saw it < 1267115917 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, looked like a reference to < 1267115952 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wasn't he supposed to have wings on his shoes or something < 1267116192 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. They want you to think it's fast... I just tried it for the first time, though, and it's so "fast" it's actually annoying. < 1267116210 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Fast in the way a grumpy person snapping at you is fast. < 1267116237 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I dunno, maybe if I used it for real browsing, it would be different.\ < 1267116335 0 :bsmntbombdood_!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1267117246 0 :bsmntbombdood_!~gavin@97-118-252-102.hlrn.qwest.net JOIN :#esoteric < 1267117813 0 :coppro!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1267118211 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, err " Fast in the way a grumpy person snapping at you is fast." <-- what? < 1267118310 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267119010 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :It's not fast so much as its SUDDEN. < 1267119811 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, idea for a future befunge: / and \ swap meanings based on direction of travel < 1267120362 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: That's a great idea, but it breaks a lot. < 1267120371 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well yes < 1267120383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, oh btw I find the colour scheme on http://catseye.tc/projects/funge98/doc/website_funge98.html rather unreadable < 1267120403 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the light green on the gray-patterned bg < 1267120414 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I preferred the old yellow based one < 1267120425 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Well, you can go to the source page, or you can tell your browser to ignore the CSS < 1267120435 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, like is still on http://catseye.tc/projects/funge98/library/TURT.html < 1267120439 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :http://catseye.tc/projects/funge98/doc/funge98.html < 1267120448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, source page? I just clicked the spec link on http://catseye.tc/projects/funge98/ < 1267120455 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like I have always been doing < 1267120461 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah there it is < 1267120481 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Next to the link is a link that says "source file" -- there should be a link in the marked-up doc too, but there isn't yet < 1267120487 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, not the one at the top < 1267120497 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :True, there shoul;d be a link there too < 1267120498 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, under the heading "Documentation" < 1267120528 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since half of the time I need the spec and the other half one of the fingerprints I just bookmarked the "index" < 1267120579 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Hm, since TURT still says "Under development" :) < 1267120601 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aaargh < 1267120608 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, that would break the nice TURT quine < 1267120621 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I know. < 1267120640 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(for anyone who missed it http://www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/tquine.php) < 1267120644 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :So are people really mixing up left and right or is that some SVG thing < 1267120649 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is btw an awesome domain name < 1267120806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, it was some svg thing < 1267120812 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, weird coordinate system in svg < 1267120831 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, but it seems like people treat the coordinate system as navigational < 1267120835 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I did too < 1267120840 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :'k, that makes more sense. < 1267120842 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but when re-implementing it and reading my old code < 1267120850 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I wasn't aware that I had taken some shortcuts < 1267120861 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(ab)using that it would be inverted < 1267120871 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :thus no need to convert the value when calling sin/cos < 1267120878 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :thus I assumed it was mathematical < 1267120882 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not navigational < 1267120892 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and 0 = east made it more probable too < 1267120932 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Could always define several different fingerprints, TURT, TURM, TURN, whatever, to handle all the different interpretations out there - making those programs easy to "fix" < 1267121022 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :That is, IF I decide to work on Befunge-111. Well, I already started some small effort to rewrite the spec, so maybe. < 1267121048 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :It should start with a gigantic "Definitions" section, with the rest of the spec being relatively small and relying heavily on the definitions. < 1267121116 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I have nothing against a radically different language, but probably it shouldn't be called befunge then. Imagine you were the C standard working group. What sort of changes would you allow < 1267121137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :C99 is basically fixing undef and adding some new non-colliding things < 1267121153 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :very few C90 programs can't compile unmodified as C99 in my experience < 1267121165 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure, there will be some corner cases < 1267121190 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, C99 was pretty well defined to minimise breakage. < 1267121271 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I agree. < 1267121290 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Plus there are a bunch of Be- names that could be riffed on. < 1267121311 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and interestingly enough befunge111s would be way less capable than befunge98s < 1267121319 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless you add a lot new stuff < 1267121340 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since the s versions are defined to be "only new commands, any commands in previous versions are excluded) < 1267121344 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :But what would you think of deprecating some of the uglier parts? < 1267121345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/)/"/ < 1267121351 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, such as? < 1267121393 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'd like to move t, i, o, and = into a fingerprint (where they will be called T, I, O, and S, or similar,) and say that the semantics of t, i, o, and = are implementation-defined. < 1267121410 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1267121413 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, what? < 1267121423 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, t is pretty well defined. And no one implements the error in t < 1267121435 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :An implementation could make t, i, o, and = Funge-98 compatible. Or not. < 1267121435 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is that t doesn't move the child ip one step first < 1267121442 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :meaning that t will be the first thing it executes < 1267121445 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't matter that it's well-defined < 1267121459 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :It's optional, that's the more important consideration. < 1267121467 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :And optional things should go in fingerprints. < 1267121477 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Optional things like having two dimensions. < 1267121491 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: That's not optional in *Be*funge. :) < 1267121494 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I would like TIO to be well defined in that/those fingerprint(s). I'm happy with = being implementation-defined though < 1267121512 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(well duh for the last part) < 1267121515 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, the replacement for = would also be well-defined in a fingerprint. < 1267121524 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, in what way? < 1267121535 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Probably refer to POSIX system(). < 1267121552 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, then these would need three different fingerprints at least. Maybe 4 < 1267121554 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :So, POSIX-dependent, but many OSes try to implement POSIX these days. < 1267121564 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, efunge used to implement i but not o until recently < 1267121570 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nowdays it implements both < 1267121585 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: could be a couple of different fingerprints. I'm not picky about that. < 1267121591 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't implement t, since ATHR will be superior and actually be able to use both cores < 1267121628 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, the fingerprint implementing T would still change @ when loaded? < 1267121629 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or? < 1267121645 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since both @ and q seems odd if not < 1267121663 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, @ can be defined in such a way that its semantics don't change. < 1267121692 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :@ removes the current execution context (EC). The program ends where there are no more ECs. < 1267121703 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Therefore in single threaded Befunge, @ ends the program. < 1267121704 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway moving t to T would break some programs that already use a fingerprint which defines T (and use that T). Without instruction moving as in FING that would be annoying < 1267121715 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, right < 1267121723 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, that causes havoc for ATHR < 1267121743 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since you can have multiple ips from t in a single ATHR thread < 1267121752 0 :charlls!~charlls@201.248.104.180 JOIN :#esoteric < 1267121763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and there can be multiple ATHR threads (of course) < 1267121781 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'm not familiar with FING, but if it allows moving assignments of A-Z around, it should probably be standard. Like "import foo as bar" in "normal" languages. < 1267121857 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well what happens in your option if we have two fingerprints AAAA and BBBB. AAAA provides DE, BBBB provides EF. < 1267121857 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'm not clear on why the definition of @ I just gave causes havoc for ATHR, but I think it's much cleaner. < 1267121858 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then: < 1267121868 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :we load AAAA, we load BBBB, we unload AAAA < 1267121872 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :now what is E mapped to < 1267121875 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :AAAA right? < 1267121895 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is the current de-facto standard < 1267121918 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'd have to refresh on how fingerprint unloading is defined. < 1267121919 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :treating it as "unload one instruction from each of the stacks, one stack for each of A, B, C, D, ..., Z < 1267121933 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I thought you could only unload the most recently loaded. < 1267121938 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well that exact detail (unloading out of order) is a bit unclear in the spec < 1267121959 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but not treating it the way I mentioned will break all kinds of havoc all over the place by now < 1267121969 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1267122013 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :differences in how it was treated already caused issues before. But now that the major implementations agreed on this interpretation (and mycology tests that) it seems the best way to do it < 1267122059 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :OK, well < 1267122062 0 :KingOfKarlsruhe!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267122069 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well? < 1267122078 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :The spec is a mess wrt unloading so that makese sense < 1267122105 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'm pretty sure the intention was to only allow the last-loaded to be unloaded, but ) takes a fingerprint ID, sooooo..... < 1267122137 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well a lot of programs use out of order unloading now. Well nowdays they seem to be switching to FING instead < 1267122147 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but still < 1267122165 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Do you happen to have a link for the FING spec? < 1267122171 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sec < 1267122180 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: The spec also explicitly says that ) can unload a fingerprint "even if that fingerprint had never been loaded before". < 1267122184 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ACTION googles FING for kicks < 1267122187 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://rcfunge98.com/rcsfingers.html#FING < 1267122192 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Thanks < 1267122197 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, not the most detailed spec of course < 1267122206 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, indeed < 1267122226 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I think that's even the improved FING. < 1267122233 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Um, yeah, that's not terribly informative < 1267122243 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, well the bad one was called FNGR < 1267122252 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :OK, well < 1267122267 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway here is how Deewiant, me and some other people interpret things: < 1267122276 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'm very tempted to establish some new semantics for ( and ) which are better but break minimally < 1267122276 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :one stack of function pointers (or lambdas or whatever) per A,B,C,...,Z < 1267122278 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes, but I think even the FING spec got some of those corner-case empty-stack clarifications later on. < 1267122282 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :FNGR's fixed to comply with the specs, by making it highly untame < 1267122292 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :hmm, what's the term < 1267122306 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, fingerprints push function pointers on these stacks (depending on which ones it define) < 1267122309 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :scarf: BLOODTHIRSTY. < 1267122314 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :scarf: (I guess you mean "feral".) < 1267122316 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :it basically now says, "while FNGR's loaded use old broken RC/Funge semantics, while it isn't use Funge-98 / fixed RC/Funge semantics" < 1267122317 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: yes < 1267122320 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :that's it < 1267122342 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, unloading a given fingerprint just pops the top function pointer (or lambda or whatever) from the stacks for the instructions it implement < 1267122369 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :fungot uses FING nowadays, but it used to use FNGR because FNGR was the first fingerprint-remapping fingerprint I came across. < 1267122369 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: these unique items make us invincible! < 1267122388 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :fungot: Yes, I'm sure FING makes you invincible. Sigh. < 1267122389 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: like, thanks princess. i'll take that under advisement!!! i give you 1 weapon or 1 item! what you do? wake you, but need dactyl? yes, i'd have done something very brave! he's probably up north, to guardia!!! let's toast our land! now we'll have some peace! magus is a tad on the spooky side. our only hope. < 1267122392 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so given the above example: "AAAA provides DE, BBBB provides EF", then we execute >"AAAA"4("BBBB"4("AAAA"4) now E is from AAAA and F from BBBB < 1267122399 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there is nothing on D any more < 1267122399 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That bot is sometimes so insulting. < 1267122401 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1267122403 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, does that make sense? < 1267122427 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes, that makes sense. < 1267122442 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :further it is useful < 1267122463 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :That *might* be what was meant, in the spec, tho I'm not at all convinced of that. < 1267122465 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, so I recommend that if befunge-111 isn't about to break everything, that it should use these above mentioned semantics for ( and ) < 1267122493 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: heh, pushed back to 2011 already? < 1267122497 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in any case, a lot of people (including me) would become rather irritated by having to rewrite code to change it. Sometimes quite a lot of code < 1267122498 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The semantic stack stuff seems to be the de-facto interpretation. < 1267122504 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I agree. But I'm considering adding something like: "If the fingerprint ends with '.', it is a new-style fingerprint and ( behaves slightly differently..." < 1267122506 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, a different one altogether < 1267122509 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I gave up on mine < 1267122511 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1267122511 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I think even I did fingerprints like that in GLfunge98. < 1267122513 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey is considering it < 1267122516 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and he called it that < 1267122528 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :-108 was just clarifications, wasn't it? < 1267122532 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :of all the ambiguities in the spec? < 1267122536 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, wonderfully complex. But what would the new semantics then? < 1267122539 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :scarf: It's mainly that the number 111 is much cooler than 110. :) < 1267122544 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :scarf, yes but the result was suboptimal < 1267122548 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: agreed < 1267122550 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, you should wait to 666 then < 1267122557 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1267122566 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The spec explicitly allows for unloading things that haven't been loaded yet < 1267122572 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and what Deewiant said < 1267122579 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: cpressey: The spec also explicitly says that ) can unload a fingerprint "even if that fingerprint had never been loaded before". < 1267122584 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: You're a bit derivative! < 1267122593 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, fizzie: Yes, that's bizarre. < 1267122609 0 :scarf!unknown@unknown.invalid PRIVMSG #esoteric :wasn't that for NULL to work correctly? < 1267122610 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, what would the new semantics be for ( and ) though < 1267122611 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Perhaps even integral. < 1267122611 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Actually, that suggests the spec intended something similar to the defacto behaviour that's out there < 1267122639 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, augh < 1267122651 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Not sure yet. Not sure if it needs them, now. But I was thinking something about support for renaming semantics like FING does. < 1267122651 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Right, I wasn't reading context, just AnMaster's highlight and a line or few up < 1267122672 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hey don't do that. ehird always complains when I do that < 1267122686 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, never mind that he does it himself sometimes < 1267122701 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also, I have to get out and clear away the snow < 1267122723 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'm not ehird < 1267122735 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and? < 1267122747 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you missed the joke completely < 1267122756 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It just seemed like you didn't feel about it very strongly yourself < 1267122758 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway: I'll be back in an hour or so (hopefully, it has snowed quite a lot though...) < 1267122764 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I don't < 1267122799 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Bleh, gitweb's commitdiff display isn't very befunge-friendly; it's far too line-oriented. < 1267122803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, hm. well I'll read any interesting scrollback (assuming it isn't too long and we don't have concurrent convos in it) when I get back < 1267122816 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: 'K, have fun in the snow :) < 1267122821 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, file a feature request! < 1267122829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, .... I have started to hate it < 1267122842 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://git.zem.fi/fungot/commitdiff/2d306563bb6d998d208c78d6400168b0ef633ae7 changes (incidentally) from FNGR to FING, but the changes are not so very clear. < 1267122842 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: we are looking to achieve a shorter life span... lavos will rule the world in a mere door that keeps us bound, hand, foot...and tongue kid? ...oh, it's you, isn't this morbid? the great adventurer toma levine rests in a grave to the north. it's a great place for a picnic! heard that magus's statue before my shift. i hate! ayla not like... < 1267122850 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, it has been the snowiest and coldest winter for over 100 years according to SMHI < 1267122870 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(SMHI is something like gov weather agency thingy, not sure what your equiv is over there) < 1267122890 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :→ < 1267122914 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Over here it's only the coldest it's been in 20-30 years or so < 1267122936 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Although in snow amount, I think it was around 50; I can't remember exactly < 1267123182 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Finnish meteorological institute reported (in a Feb 18 newspost) that this is in the top-10 of coldest winters for the last 50 years, but not significantly colder than winter 2002-2003. Possibly they have had to update that, though, since it's continued to be cold. < 1267123976 0 :scarf!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267124498 0 :lament!unknown@unknown.invalid QUIT :Ping timeout: 246 seconds < 1267124588 0 :lament!~lament@S0106001b63f462cc.vc.shawcable.net JOIN :#esoteric < 1267124799 0 :MizardX!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1267125526 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1267125611 0 :gm|lap!~gm@unaffiliated/greasemonkey JOIN :#esoteric < 1267126727 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that... < 1267126729 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :was heavy < 1267126771 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I think this was for mid-Sweden < 1267126788 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the north parts had worse years more recently < 1267126806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and definitely some temp records earlier < 1267126862 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it was both coldest "average" and coldest (record for a specific time) in these parts for a long time. the record lowest was "last 30 years" or so. < 1267126886 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :while the average coldest and snowiest were for "over 100 years" < 1267126908 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :still, last weekend was much worse than this evening < 1267127386 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, so what would the moved toi= be used for now? < 1267127413 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey your idea of something like FING? < 1267127442 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, or something else? < 1267127569 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, oh and I think allowing some fingerprints to have special opaque values pushed on stack that can be duplicated copied and so on as normal but perhaps not output or used in stuff like addition/subtraction may be nice < 1267127579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course this should be completely optional for the core language < 1267127596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but any fingerprint trying to do that currently would give something extremely feral < 1267127607 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Not sure I understand -- the new t, o, i, = would be T, O, I, S in some fingerprint(s), their use would be essentially the same < 1267127619 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :And t, o, i, = would be undefined < 1267127660 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :For opaque stack values, yes, I think that could be defined, somewhere between tame and feral, closer to tame. < 1267127668 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, my main use case is to allow FPDP (double precision floating point fingerprint) to use values like {double,Value} instead of having to do what current implementations do (which is (in pseudo C) basically: union {cell, double}) < 1267127675 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :does that make it clearer? < 1267127688 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1267127688 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well it uses two cells for 32-bit funges < 1267127716 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Instructions like + could be defined to say "If the objects on the stack aren't both intvals, reflect (or undefined or something)." < 1267127734 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Or, ALL std instructions would have a clause like that. < 1267127750 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Popping any object that isn't an intval -> some behavior < 1267127751 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, not reflect. More useful would be: "fingerprint-defined and/or implementation-defined" < 1267127753 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it could reflect < 1267127762 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it could also do something sensible for, say, floats < 1267127775 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :my point with this is that the {double,Value} is much nicer than using various bit-syntax messing when implementing it in erlang < 1267127790 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, :\$ and so on are well defined < 1267127792 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: Leaving toi= undefined is annoying given that the rest of ASCII is all reserved ;-) < 1267127792 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1267127814 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: the idea is that the implementer can choose to try to be -98 compatible, or no < 1267127815 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and yes perhaps all std ones should < 1267127817 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it would be nice < 1267127830 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, think along the lines of the rather detailed ATHR spec < 1267127849 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and there MUST be a security considerations section *somewhere* in there ;P < 1267127855 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: Won't there be incompatible changes? < 1267127882 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: only small ones, on the scale of the ones between 93 and 98, is the current plan < 1267127909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :plus moving tio= out to fingerprints < 1267127911 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's still incompatible < 1267127924 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, sure, but 98% of the befunge93 programs work in 98 < 1267127925 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'm not a fan of the idea of putting "do something sensible" in the spec. If your FP changes how + works, it's feral. < 1267127939 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for 1.99% of the remaining one just skipping SGML spaces is enough < 1267127954 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It just seems a bit of a shame that there's a "hole" in the definedness of the ASCII instructions < 1267127955 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: it's a small incompatibility which can be addressed by an implementation < 1267127957 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for 0.01% or so you have them depending on stuff like "f reflects" < 1267127994 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I don't think there are 10000 Befunge-93 programs < 1267128008 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, I have seen no ends of variations of hello world in it < 1267128038 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, So allowing a fingerprint with opaque types to result in "fingerprint defined" behaviour might be a bad idea < 1267128040 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm right < 1267128041 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Probably not /that/ many < 1267128056 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, of course not 10000 hello world! < 1267128060 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there are some other programs < 1267128062 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: not a bad idea so much as a feral fingerprint... < 1267128068 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, true < 1267128072 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes, but there are likely less than 100 programs in total :-P < 1267128079 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :The strategy here is not so much to disallow things or discourage them as to give them names :) < 1267128083 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, no actually my guess is more around 200-300 programs < 1267128134 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the list on http://catseye.tc/projects/befunge93/ is quite long. And I have seen quite a few programs elsewhere < 1267128139 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :e.g. "The semantics of executing a Funge character which is not listed in the "Instructions" section is not defined. The subset of Befunge-111 in which all of these characters have the semantics of the 'r' instruction is called _sober_." < 1267128139 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so yeah above 100 definitely < 1267128146 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :less than 1000 probably < 1267128166 0 :MizardX!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1267128174 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, nice name for it < 1267128195 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Regardless, 0.01% == 0% < 1267128254 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, okay. Well I have seen one programs I think that depended on f reflecting < 1267128268 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :three or so that depended on non-SGML spaces < 1267128279 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :other ones worked < 1267128296 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mycology depends on 80x25 loading to detect Befunge-93 < 1267128309 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(Although not that insistently) < 1267128318 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, true, but these ones had .bf extension < 1267128321 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not .b98 < 1267128383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, another use case for opaque values: {socket,Fileno} < 1267128398 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, cfunge currently validates it against a list for SOCK < 1267128402 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yes. Certain std instructions like swap should be handle opaque values, too. < 1267128420 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :certainly swap, dup, g and p definitely should < 1267128439 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :all those that just move the data around and don't care what it means < 1267128441 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oof, enforcing that'll be a pain < 1267128450 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :With 32-bit funges that implement FPDP < 1267128466 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :If there was a way to "cast to boolean" then |_w and such could use them too. BUT, that gets into the domain of objects with methods. I shudder. < 1267128485 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, an implementation would be free to do it either way for FPDP. I mean, it doesn't say either way < 1267128500 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if the fingerprint defined that "it must use opaque values", well then it would be clear < 1267128515 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :In this day and age of Unicode I think it's worth considering a way to load fingerprints into regions of characters > 127. < 1267128538 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway, I'm likely to use this feature in efunge (as tagged tuples). I doubt it will ever happen in cfunge (since it optimises so heavily for plain integers) < 1267128561 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and I agree, befunge should not be object oriented < 1267128595 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, oh btw, cfunge will never gain unicode for file input. It would slow down file loading having to interpret utf-8 or whatever < 1267128602 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :efunge might < 1267128622 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :basically, utf8 with just libc will be a pain < 1267128641 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :There would be no requirement to support it. But nothing stopping implementations from using it either. < 1267128657 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, and everything except POSIX.1-2001 + the mmap option are optional deps for cfunge < 1267128667 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which means NCRS is optional, since it needs ncurses < 1267128683 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :You could insist that utf-8 (or other) encoded files are converted to UCS-64(? or whatever it is with no compression) before loading < 1267128685 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, iirc Deewiant claimed he was able to read the spec as unicode input < 1267128696 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :UCS-64 XD < 1267128705 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think it is UCS-4 which is 32-bit < 1267128710 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: That doesn't help with using the high characters for anything other than ' and " < 1267128712 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :never heard of UCS-64 < 1267128714 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Er < 1267128714 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ^ < 1267128719 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, true < 1267128730 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, UCS-4 is UTF-32 < 1267128737 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also the spec says that implementations can do whatever they want above a certain limit < 1267128740 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1267128741 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :? Well, the 98 spec leaves enough undefined that it is mostly OK with unicode < 1267128745 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :except it also iirc gives an uper limit < 1267128762 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No it doesn't < 1267128766 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :"Funge-98 source files are made up of Funge characters. The Funge-98 character set overlays the ASCII subset used by Befunge-93 and may have characters greater than 127 present in it (and greater than 255 on systems where characters are stored in multiple bytes; but no greater than 2,147,483,647.) " < 1267128768 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure it does < 1267128770 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :It claims there are no characters above 2,147,483,647 < 1267128771 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yeah < 1267128774 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh, darn < 1267128780 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but < 1267128783 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Completely forgot about that one < 1267128784 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Also, it claims there are characters below 0 < 1267128788 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Or allows < 1267128798 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well, funge-space is signed < 1267128806 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you could use signed 64 bit IO or something I guess < 1267128809 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, just map everything above 2^32-1 to a negative number ;-P < 1267128838 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1267128846 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :2^31-1 = 2,147,483,647 isn't it? < 1267128859 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :doesn't look so random that limit after all < 1267128859 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Right, thinko < 1267128890 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway, a strange limit I agree < 1267128899 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but quite esoteric in a certain way < 1267128927 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It just seems like Funge-98 was originally specced as 32-bit but then partially updated to allow any bittiness < 1267128947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1267128988 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway for y I suggest the handprint field and such are left as undefined. Since there are plenty of programs that use hard coded offsets for anything up to "size of TOSS" < 1267129004 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Hm, q might be deprecatable too, since it only makes sense in concurrent < 1267129019 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, then it would have to be moved to the same fingerprint as t < 1267129019 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes. Much of y will now be undefined, I think. < 1267129020 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Isn't each cell capable of storing one funge number and isn't there instructions to dump part of program space into file and load such dump? < 1267129042 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Yes, i and o < 1267129068 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, not much. Just handprint, maybe version number, oh and = op paradigm I guess.., the beglad thingy < 1267129072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that's all isn't it? < 1267129074 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: That impression is correct, it went to "at least 32-bit" < 1267129099 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Which would imply that bignum funge need to have some way to represent bignums in dumps... < 1267129105 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, handprint and version number are inherently implementation-defined anyway :) < 1267129107 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, not at all < 1267129113 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, since it is dumped to plain text < 1267129127 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is perfectly fine to do %256 < 1267129143 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least, that is what I do currently, otherwise it doesn't work even for a 32-bit funge < 1267129148 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :(Or at least the new fingerprint for those instruction should say that) < 1267129164 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: I'd keep the handprint there, it's amusing if not useful < 1267129178 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, what about allowing #! starting line optionally? < 1267129202 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you know, like #!/usr/bin/fbbi or possibly #!/bin/fbbi when funge becomes really popular! < 1267129215 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :CCBI already implements that < 1267129220 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1267129220 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Due to user request < 1267129225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :doesn't that break stuff < 1267129235 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's not enabled by default, only if you pass a switch < 1267129237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1267129244 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well that works with no spec modification then < 1267129256 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also strange user request < 1267129259 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, like most implementation-specific extensions :-P < 1267129274 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I can actually not imagine anyone would *request* such a feature like that < 1267129310 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Why not :-P < 1267129333 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Maybe they wanted to write befunge CGIs < 1267129447 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, yeaaaah, no < 1267129480 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway team id could be nice to exploit in a future extension to ATHR to allow multiple erlang nodes as well < 1267129483 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :executing #!/ would result in a division by zero, which could be handled specially :) < 1267129498 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with async update of funge space to actually not make it completely grind to halt of course < 1267129550 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, so each would have a local copy and updates would be sent over infiband or such < 1267129552 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1267129554 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: Oh, one char which isn't reserved by Funge-98 is tab, maybe you could use that for something amusing < 1267129561 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: Division by zero is well-defined in Funge-98 < 1267129576 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, tab = 4 spaces wide! < 1267129585 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course scarf isn't here < 1267129593 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :doesn't he prefer mixed indention iirc < 1267129594 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Pushes 4 spaces on stack? ;-P < 1267129608 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, that depends on preferred tab width < 1267129611 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or just "pushes an implementation-defined number of spaces on stack" < 1267129615 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: and the number of programs that rely on it producing a zero when division by zero occurs as the second instruction of the program is ... ? < 1267129626 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, btw iirc ehird said he wanted an n-dimensional funge < 1267129627 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is < 1267129632 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: At least 2, Mycology included < 1267129635 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Nefunge < 1267129641 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Er, well not as the second instruction < 1267129642 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :was the name of that experiment < 1267129649 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :(n-dimensional) < 1267129653 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :At least 1, for that < 1267129677 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, one that isn't restricted and where a program can go into any dímension it wants < 1267129679 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Well, it wasn't a very serious suggestion anyway. < 1267129679 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :dimension* < 1267129694 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so vector length would have to have some different handling for it < 1267129700 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :should probably be a fungoid though < 1267129723 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with something like ",...,z,y,x" < 1267129724 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, it was considered at one point in the late 90s. No one worked much on it < 1267129741 0 :cheater2!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1267129768 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :vectors become more like hash tables (x: 3, y: 3, z: 3, d4: 3, d5: 3, ...) < 1267129785 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I optimise too much for just two dimensions in cfunge for anything except exactly two dimensions to be viable without a lot of work, and in efunge, well, it would require some work, not quite as much though < 1267129857 0 :tombom__!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1267129862 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1267129926 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(an explanation may be in order btw: Order of importance for features in cfunge: correctness, speed, extensibility. For efunge: correctness, extensibility, speed) < 1267129966 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :basically, speed is nice in efunge but not a primary goal. For cfunge speed is more important than everything else except following the spec < 1267130014 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(and not crashing on any input of course, OOM is somewhat excused from that) < 1267130132 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What do you mean by extensibility, exactly? < 1267130163 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For CCBI I'd say it's: correctness, fingerprint/extension support, speed < 1267130179 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, "being able to do things like ATHR and what not without going insane" < 1267130205 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But no TRDS? ;-P < 1267130207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it is designed with things like ATHR and the better MVRS we considered in mind. < 1267130221 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I think that might be possible perhaps. I won't do it though < 1267130224 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but feel free to do it < 1267130239 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I think it is nearly impossible when combined with ATHR though < 1267130245 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since there are no single ticks any more < 1267130249 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :with async threads < 1267130287 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and any command would take some time to register in other threads < 1267130318 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, stuff like IIPC would be possible in theory definitely, if you allow that things might not happen straight away in the other threads < 1267130329 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and IIPC at least need a way to break deadlocks < 1267130340 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1267130364 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, so basically, when going for ATHR I made TRDS virtually impossible < 1267130384 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, do you agree with that? < 1267130391 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Baah, I'm sure CCBI2 can manage both ;-) < 1267130399 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, both used at once? < 1267130408 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway, remember the ATHR spec is still somewhat in flux < 1267130410 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Might as well < 1267130426 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I have figured out that some stuff didn't work at all and such < 1267130443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the core parts (not the books thing) is mostly well defined by now < 1267130491 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some parts works, there are test cases for most for a single thread and a few for multiple threads (they are partly UNDEF due to timing issues) < 1267130651 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there, pushed an update to one of the test cases for ATHR < 1267130742 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway since the ATHR threads do not run synced it would be impossible to determine when a certain tick happened. After all they one thread might be in the middle of executing tick 240, while another is just about to start at tick 259 < 1267130771 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh and the locking in D will be fun. Does it have a pthreads interface or how is it done? < 1267130796 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The runtime implements threads and fibers and whatever < 1267130810 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and thread safe hash tables? < 1267130812 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Of course I could bind to pthreads but no reason t o < 1267130814 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :to* < 1267130829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, in fact: plenty of reasons *not* to < 1267130839 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You mean thread-safe Funge-Space? Probably will have to lock < 1267130885 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, it doesn't have to be safe w.r.t. non-atomic CAS (like funge code emulating a CAS). And ATHR is defined such that the CAS it provides is only safe against the G and P it provides < 1267130892 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :this is required because erlang has no true CAS < 1267130896 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :being message oriented < 1267130921 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and doing every write through a gen_server would be slow < 1267130952 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :thus, it uses public ets table normally (erlang internally does some locking as required here) < 1267130960 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and only serialises it for ATHR CAS < 1267130966 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(and it's G/P) < 1267130980 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :What if you give a negative value as the iteration count for k? < 1267130992 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well. that's one of the UNDEFs in mycology < 1267130999 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, iirc cfunge and CCBI does different things < 1267131010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think cfunge reflects and CCBI takes the absolute value < 1267131013 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or something like that < 1267131025 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, they both reflect < 1267131028 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, mind you, k currently is unable to execute exactly one iteration < 1267131035 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mycology just tests for absolute value taking < 1267131051 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, based on stuff you previously said/wrote iirc < 1267131079 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, as in 0kab pushes b. 1kab pushes aab < 1267131080 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1267131093 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you better explain the mess he caused and why < 1267131097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't remember the details < 1267131097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1267131127 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't remember the details either < 1267131132 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah yes < 1267131141 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Basically, k doesn't move past what it executes unless the iteration count is 0 < 1267131145 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Can't remember why < 1267131147 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah yes < 1267131148 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that was it < 1267131159 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :? < 1267131161 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway that means that just executing it's instruction once is impossible < 1267131166 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Oh < 1267131204 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, didn't Mike Riley dig up some old cats-eye test suite or something? < 1267131208 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There was some issue with all ways of doing it < 1267131214 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh, it may have been because of that < 1267131220 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes I think so < 1267131232 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :k is so dumb < 1267131247 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, k is quite useful actually for some things < 1267131251 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :It should probably be popping the instruction off the stack instead of getting it from the path < 1267131275 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, that would help for nested k < 1267131276 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like < 1267131282 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :>22kk^ < 1267131293 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, tell me where that one goes up < 1267131309 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION watches cpressey's head explode < 1267131324 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway changing k that way *now* is sure to break things < 1267131340 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since people actually use k outside test suites < 1267131375 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Please don't mess with k, I'll have to go through mycotrds again :-) < 1267131382 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1267131383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you use it there? < 1267131386 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :poor you < 1267131404 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but yeah, changing it now would break sooo much < 1267131421 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but perhaps it should be done for the 1k case < 1267131423 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it works < 1267131431 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure. < 1267131438 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So 2k executes three times but 1k once? :-P < 1267131462 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, no, so that 2k executes 2 times and so on... ;P < 1267131498 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think there are still some strangenesses even with that < 1267131505 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mostly when using strange instructions with k < 1267131510 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Can't remember what < 1267131510 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, anyway I think perhaps there was just a bug in that cats eye test suite < 1267131519 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :might explain why I never found it elsewhere < 1267131533 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Wait, >22kk^ ? < 1267131536 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and yes there are some issues with where k^ goes up and so < 1267131539 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, yep < 1267131543 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, figure that out < 1267131574 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, or why not >12345kkj abcdefg < 1267131576 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :On the first k < 1267131579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that ones looks even funnier < 1267131582 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, wait, what? < 1267131594 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :"where it goes up" - maybe I don't understand? < 1267131616 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, so everything for nested k executes on the first k? < 1267131633 0 :lament!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1267131662 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You probably meant something like >22kk^^^^^^^^^ < 1267131675 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or did you? < 1267131678 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: k executes in one tick < 1267131682 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that doesn't cause any other issues < 1267131688 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, yes. But at which location < 1267131694 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I think in CCBI it'll go past the first ^ ;-P < 1267131703 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, strange < 1267131706 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: ? Where the instruction is, of course ? < 1267131716 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, so what does: >12345kkj abcdefg do= < 1267131719 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/=/?/ < 1267131727 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: At least, if you put more stuff on the stack; 222kk (since the inner k is executed twice and thus pops two things) < 1267131736 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Jumps far to the right... < 1267131743 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :like 20 cells < 1267131759 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :I don't understand the argument that we couldn't understand something more intelligent than us < 1267131769 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, so it keeps executing j even after the first iteration of the outer k? < 1267131771 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :No, like 4+3+2+1 cells I guess < 1267131772 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :he says a goldfish couldn't understand us, just like we couldn't understand AI < 1267131779 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes < 1267131784 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, notice that there are two k:s there < 1267131785 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nested < 1267131785 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :but it's just an analogy.... what's the justification < 1267131785 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: After the first j, the IP's position will have changed and the inner k sees a different instruction < 1267131806 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: the tick hasn't expired yet, so the IP hasn't moved < 1267131811 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1267131820 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ah, that's an interesting way of looking at it < 1267131825 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, so you mean the jump move is only applied after the tick is done? < 1267131833 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeargh < 1267131847 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that will be like impossible to change to in cfunge < 1267131848 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :"An instruction is executed by an IP every tick. The IP executed is the one at the current position of the IP. Only after that does the IP moves by its delta to a new position. " < 1267131865 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: But it's not moving by its delta here < 1267131868 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1267131869 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure the 1st IP in the 2nd sentence meant to be "instruction" there < 1267131875 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is being forced ahead < 1267131894 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: E.g. the # instruction: "moves the IP one position beyond the next Funge-Space cell in its path" < 1267131908 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I don't think "by its delta" was meant to be prescriptive. the point was that it moves < 1267131912 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Not after the tick; "moves the IP", i.e. right now < 1267131923 0 :lament!~lament@S0106001b63f462cc.vc.shawcable.net JOIN :#esoteric < 1267131926 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets the popcorn for this one < 1267131927 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: I meant that it's not the normal every-tick move, it's an additional move induced by an instruction < 1267131946 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Well, if you interpret it like that, k has different and interesting semantics, yes. < 1267131958 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, yep, and I think that is what everyone done so far < 1267131965 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which caused quite a lot of issues with k < 1267131971 0 :MissPiggy!unknown@unknown.invalid PRIVMSG #esoteric :"reasoning by analogy" seems like a flaw < 1267131972 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If you don't interpret it like that you'll be breaking a lot of Concurrent Funge-98 programs as well ;-) < 1267131992 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :OK, so k will be undefined too. < 1267131999 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1267132003 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, that is going too far < 1267132018 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I thought we were defining the undefineds ;-) < 1267132023 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1267132029 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :k isn't optional < 1267132046 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm okay with tio= being handled these way < 1267132065 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm okay with them because you need to ask y whether they're available anyway < 1267132067 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :OK, then define it in a way that doesn't break any programs. < 1267132084 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, almost impossible, and I'm okay with breaking some programs < 1267132089 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for the undef parts < 1267132094 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just not too many < 1267132108 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Just keep it as it is now and say something about nested k < 1267132110 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :call it path of least issues maybe < 1267132119 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the issue with 1k though... < 1267132122 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :"something" < 1267132143 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Could just disallow nested k. I doubt anyone uses it < 1267132147 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: Well, I prefer my interpretation ;-) < 1267132152 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I don't mind that < 1267132170 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If you want, define negative arguments as executing exactly that many times ;-) < 1267132192 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I.e. for n < 0, k executes the instruction |n|-1 times and doesn't move past it < 1267132203 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, take a look at http://sprunge.us/MbCj?c (cfunge's k implementation) < 1267132234 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, for nested k I think ccbi does something quite different < 1267132237 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Special-casing kk? Tut, tut. :-P < 1267132242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yep < 1267132250 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :CCBI does exactly nothing, it just executes it as normal < 1267132259 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Which leads to rather unintuitive semantics < 1267132260 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that didn't work out though < 1267132263 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, exactly < 1267132268 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes it works out < 1267132269 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: what does it do instead of moving past it? Act like # < 1267132271 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's just not intuitive :-P < 1267132304 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: I mean it moves into it. It moves past the k into the instruction. Just like what k does now with positive arguments < 1267132322 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: So, you'd change the semantics for positive count? < 1267132338 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, for negative < 1267132367 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Currently for positive: k executes n times, then moves into the instruction it just executed, thus executing it one more time come next tick < 1267132382 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hence 1k has the net effect of executing twice < 1267132386 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ooh that is a good idea < 1267132398 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :My proposal: for negative, execute |n|-1 times, otherwise behave the same. < 1267132399 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :for negative counts define it to execute and skip over < 1267132415 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, that's brilliant < 1267132417 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or |n| and skip over, whatever < 1267132421 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Oh, I thought you were proposing something that would allow you to execute the instruction exactly 0 times < 1267132425 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'd prefer |n|-1 and not skip < 1267132429 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, oh, 0k does that < 1267132431 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: That's what 0k does < 1267132437 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, I think it was specced somewhere < 1267132438 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :0k is like # < 1267132441 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1267132444 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that was it < 1267132445 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, explicitly specced < 1267132461 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Wait, I thought that was the problem, that 0kX executed X once < 1267132470 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :because it follows 0k < 1267132473 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, 0k executes zero times < 1267132475 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :1k executes twice < 1267132476 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, no the issue is that 1kX executes X twice < 1267132484 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The problem is that there is no way of executing once < 1267132487 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1267132492 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Oh, ok. < 1267132516 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But yeah, defining the negatives would do it < 1267132519 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, still pretty similar issue. Just somewhat more wtfy < 1267132520 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :OK, then that mostly makes sense. < 1267132521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1267132527 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :My proposal is just general: alternatively all negatives could execute once, if you prefer :-P < 1267132537 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :still, nested k is a nested can of worms < 1267132554 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I'm pretty sure nested k should just go undefined. < 1267132555 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You're so negative ;-P < 1267132561 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hah < 1267132574 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(Pun actually not intended) < 1267132584 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :suuuuuuure... < 1267132599 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I realized it at about the same time as you responded < 1267132625 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the negative = once, would be somewhat harder to use, not that that is necessarily a bad thing. < 1267132658 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I figure the issue is just that you know you're going to hit a k at some point, but you'd like to execute only once < 1267132658 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nor is it automatically a good thing I think < 1267132662 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :since this is *NOT* intercal < 1267132910 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Is the behaviour of ># X Y to execute both X and Y, or just Y? < 1267132910 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wtf, I was at the painful end of a static discharge.... against a plastic surface < 1267132914 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how could that even happen < 1267132925 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Oh, the static is revolting. < 1267132932 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, eh? < 1267132933 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1267132936 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :the great electron uprising you know < 1267132940 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1267132952 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, anyway it would execute X and Y, alternatively break lots of things < 1267132962 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Huh. I was pretty sure it skipped X. OK. < 1267132964 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, probably few programs use it < 1267132972 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well you told us before it didn't < 1267132977 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I might have your mail around still < 1267132991 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :That makes sense, I was misremembering. < 1267133008 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, it does? < 1267133038 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, what email do you use? so I can search for it < 1267133048 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh wait never mind < 1267133055 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :found a folder called "funge" < 1267133061 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it might be related < 1267133091 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm the mail is not there < 1267133092 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :strange < 1267133162 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :seems to be some funge stuff in "other" and "misc" and "assorted" too < 1267133176 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :really should come up with a saner organisation for my email < 1267133178 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: # says "funge-space cell" not "instruction" < 1267133194 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :As far as implementations go, it's about 50/50. Mycology aborts early on if that executes only Y. < 1267133202 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: gmail, for several years < 1267133210 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah found the mail < 1267133287 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well then due to what Deewiant said it doesn't apply actually < 1267133322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but anyway, the relevant section was: http://pastebin.ca/1810777 < 1267133352 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :k does say "next instruction". < 1267133407 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1267133416 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that makes that a non-issue :) < 1267133424 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :That might be why I was thnking that < 1267133508 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, fungot and mycology are the largest befunge98 apps I know of < 1267133509 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: i must ponder this turn of events, it can have a powerful effect on time. ask the one to bring back lost loved ones... it's what that guy in medina, a village near the mystic mountain" 65,000,000 b. c.? yes, i'd have done something very brave! he's probably up north, to guardia!!! let's toast our land! now we'll have some peace! magus is a tad on the spooky side. our only hope. < 1267133525 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :shut up ;P < 1267133536 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fungot isn't that big is it? < 1267133537 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: we are looking to achieve a shorter life span... lavos will rule the world in a mere door that keeps us bound, hand, foot...and tongue kid? ...oh, it's you, isn't this morbid? the great adventurer toma levine rests in a grave to the north. it's a great place for a picnic! heard that magus's place... < 1267133550 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(who would want to toast their own land) < 1267133563 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also "we are looking to achieve a shorter life span" is pretty funny < 1267133572 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :forgot where it came from < 1267133579 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie explained it before < 1267133594 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Something like "go there only if you are looking to achieve a shorter live span" < 1267133606 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :life* < 1267133717 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1267133754 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway, the befunge turt quine is another semi-major app < 1267133763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/app/program/ < 1267133771 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and then there are a number of smaller testing programs < 1267133805 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think I wrote maybe 20 or 30 "would have fitted into 93 with some work" sized programs to test bugs and what not < 1267133832 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :there was that mine sweeper game in 98 that I never finished < 1267134070 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Wait, I don't see why you wouldn't want to write CGIs in Befunge... < 1267134076 0 :gm|lap!unknown@unknown.invalid QUIT :Quit: 2 hour UPS expired. Shutting down laptop. < 1267134126 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :http://catseye.tc/projects/fbbi/eg/cgi.b98.cgi was supposed to be one < 1267134187 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :on my current host, I'd need an interpreter written in PHP though < 1267134308 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :apparently fbbi supports -script to interpret the hashbang line < 1267134331 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1267134402 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, CCBI might've picked it up from there then < 1267134487 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I love when I can say "apparently" about stuff I've done < 1267135300 0 :cheater2!~cheater@ip-80-226-235-220.vodafone-net.de JOIN :#esoteric < 1267135385 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :night → < 1267136596 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267136757 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Tia sez: gbhhhh < 1267136801 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :tia maria < 1267137563 0 :tombom!unknown@unknown.invalid QUIT :Quit: Leaving < 1267138614 0 :MigoMipo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1267139802 0 :FireFly!unknown@unknown.invalid QUIT :Quit: Leaving < 1267139829 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1267140024 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should check to see if PSOX works on Windows at some point < 1267140305 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :It does not. < 1267140343 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1267140346 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :It's supposed to < 1267140357 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :What happens, exactly? < 1267140370 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :I mean, after the bug in whatchamacallit, the easter egg, is fixed < 1267140494 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I just assumed it didn't because nothing ever works on Windows. < 1267140508 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :It's not like I ever use Windows. < 1267142343 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds