< 1271030403 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Truer words never spoken. < 1271030407 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :stop the spam please < 1271030408 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is there any way to tell who added a quote? < 1271030414 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes < 1271030415 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :`help < 1271030416 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`help < 1271030417 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ < 1271030422 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/ < 1271030423 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, see the hg repo < 1271030424 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :shows the user < 1271030424 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1271030427 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :21| First, invent the direct mind-computer interface. Second, you know the rest. < 1271030428 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :So, Jobs is saying that by limiting everyone to Objective-C, nicer apps are made. Apparently, if you don't kick developers to hand-tweak the result, they won't? < 1271030429 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ < 1271030429 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`whoami < 1271030434 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1271030438 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's... odd < 1271030440 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :`run whoami < 1271030441 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :So better just to force everyone to do it one way to.. < 1271030441 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1271030444 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION growls < 1271030450 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1271030452 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :115| hmm... does anyone know a nonsense game designed for the mentally handicapped involving yelling < 1271030458 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :clearly, we need to name a user "No output." just to screw with people < 1271030464 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1271030465 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :58| [...] sometimes i cant get out of bed becasue the geometry of the sheet tangle is too fascinating from a topological perspective < 1271030471 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i miss mycroftiv < 1271030473 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :he was a lunatic < 1271030485 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :was? < 1271030486 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1271030487 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :25|`quote < 1271030489 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: well, is. < 1271030492 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Ok < 1271030506 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :can we stop the spam? < 1271030513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1271030514 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: no. < 1271030514 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :16| 11 holes for me :D < 1271030519 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :o_O < 1271030520 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1271030522 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :102| I want to read about Paris in the period 1900-1914 not about the sexual preferences of a bunch of writers >.> < 1271030526 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I guess not < 1271030528 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1271030530 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :132| For those who don't know: INTERCAL is basically the I Wanna Be The Guy of programming languages. Not useful for anything serious, but pretty funny when viewed from the outside. < 1271030534 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :if anyone says anything of interest i'll stop < 1271030535 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1271030536 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just go fuck the bot in /msg < 1271030536 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :66| It looks like my hairs are too fat. Can you help me split them? < 1271030537 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, ^ < 1271030538 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, ^ < 1271030541 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :botsex < 1271030543 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1271030545 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, ehird is spamming with the bot agian < 1271030545 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :18| GregorR-L: i bet only you can prevent forest fires. basically, you know. < 1271030546 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :again* < 1271030552 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no he isn't, ehird isn't even in here < 1271030554 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I can see that. < 1271030557 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :& besides nobody is saying anything of interest < 1271030562 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so nyah < 1271030564 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, make it ignore him or something for a while < 1271030575 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Can't. < 1271030576 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :grr, I hate channel politics < 1271030581 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, why not? < 1271030588 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, tell him to use /msg then < 1271030597 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Vote for ais523 for #esoteric president! < 1271030599 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :alise: use /msg then < 1271030603 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: no u < 1271030610 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, you could do it with iptables anyway, deep packet inspection to discard packages from him ;P < 1271030616 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1271030617 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :99| things are more awesome when written by someone in here < 1271030624 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, he refuses to? < 1271030628 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION may end up slapping alise < 1271030632 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :alise: that's one of the most ridiculous ways to ignore people on IRC I've ever heard < 1271030636 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*AnMaster: < 1271030642 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ? < 1271030649 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what is? < 1271030654 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :deep packet inspection < 1271030658 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh yes hah < 1271030664 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, do you only have three lines of memory even for your own comments? < 1271030666 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1271030666 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Deep ... DEEP packet inspection. < 1271030668 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :108| It's not incest if you're third cousins! < 1271030674 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ais523, you addressed alise at first < 1271030683 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: iptables is capable of some pretty damned deep packet inspection. < 1271030687 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: yep, then corrected < 1271030695 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And its replacement should be more-so. < 1271030696 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I thought everyone could do IRC corrections in their head nowadays < 1271030699 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :apart from possibly newbies < 1271030708 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Mmm yeah ... I love that DEEP packet inspection. So deeeeep ... < 1271030721 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I can do it. Just that I thought it was about me having ehird on /ignore < 1271030726 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is currently the case < 1271030734 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but it wasn't him talking, it was me < 1271030742 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or do you have lines that nickping him/her on ignore too? < 1271030751 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, no but that is a good idea < 1271030757 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Hey guys did I mention I'm ignoring alise < 1271030765 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :stop pointing it out you dumbass < 1271030767 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I didn't see the * however < 1271030767 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's just irritating < 1271030777 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I use s/// or put the * after generally < 1271030785 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :night < 1271030786 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :umm, putting the * after makes it harder to see < 1271030792 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's easy enough to see if a comment starts with a * < 1271030797 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it makes little sence out of context otherwise < 1271030799 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*sense < 1271030811 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :* < 1271030813 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to read a whole line to know if it was a correction or not, unless you read right to left < 1271030819 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's a swedishism < 1271030821 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like bork bork bork < 1271030831 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :alise: that's a fake swedishism < 1271030832 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's postfix too < 1271030835 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ais523: shut up < 1271030872 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :3 weeks HackBot run chmod 777 Guest_hacked < 1271030873 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :3 weeks HackBot run printf "#!/bin/sh \n echo Guest Hacked " > Guest_hacked < 1271030875 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :That is some pretty major hacking < 1271030904 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wait, in that order? < 1271030922 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no, opposite < 1271030931 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :5 weeks HackBot touch me < 1271030931 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, ok < 1271030933 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1271030935 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :still, that isn't really hacking < 1271030944 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's like people who edit wikis and claim it's hacking < 1271030960 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :PRETTY MAJOR HACKING I THINK YOU'LL FIND < 1271030980 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : addquote and an AMICED literal would presumably /add/ info to the source whatever info gets added, that's the value that the AMICED doesn't contain it's all falling into place < 1271031052 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION actually starts reading the link about the iPhone dev agreement that someone linked ages ago < 1271031061 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Remote host closed the connection < 1271031064 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :this is why I like new-tab opening at the end, it means I read breadth-first rather than depth first < 1271031071 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hey, maybe this is how I manage to escape TV Tropes < 1271031114 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ais523: unfortunately, that impedes actual navigational use of tabs < 1271031133 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(I use tabs to basically understand a concept in depth by reading all the concepts I don't understand to complete the picture < 1271031133 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :) < 1271031146 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I use new-window for that < 1271031152 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :tabs are just a todo list of things to read < 1271031203 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe you should have tabs both vertically and horizontally < 1271031211 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wishes he didn't need the Marketplace app to download apps from the Marketplace < 1271031212 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you can go both depth-first and breadth-first < 1271031263 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I use buffers and don't care about the order. < 1271031281 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think internally I've got some sort of data structure assigning order to it in my head? < 1271031303 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"In your head" is usually a bad sign; your computer could probably do that for you. < 1271031355 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: You mean my computer can account for my random whims? < 1271031355 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... I can't even remember what I was thinking of when I wrote 115 < 1271031382 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :coppro: obviously, or you wouldn't have had to ask < 1271031384 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think half the order is "interest". < 1271031396 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Well, no. < 1271031399 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I said "probably". < 1271031403 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :coppro: 115 what? < 1271031406 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :alise: the quote earlier on < 1271031412 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`quote 115 < 1271031413 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :115| hmm... does anyone know a nonsense game designed for the mentally handicapped involving yelling < 1271031418 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :coppro: it was some pun < 1271031434 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :that sounds likely < 1271031442 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like if you pronounced it out it sounded like that < 1271031443 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1271031449 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :grep for it in your logs or whatever < 1271031506 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :I have logs? < 1271031568 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if he can use ANGEL on Android < 1271031588 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Voice search works about 80% of the time, but you have to speak slowly and enunciate everything, and pronounce marks. And it doesn't recognize some proper nouns, transcribing "Jesus" (pronounced the Spanish way) to "Hey Zeus," Bruce Willis style. The major downside is that all the voice transcription is done in the cloud—you know, it's Google—so you have to have a net connection to use it. It's awesome to dictate text messages or emails, though I p < 1271031588 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :robably talk too fast and mumble too much for this to work well. < 1271031597 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ANGEL? < 1271031618 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[[Battery life lasts around a day with normal use, which includes calling, browsing, Google Mapping, push Gmailing and clothed sexting. That's on par with other smartphones now, and won't see much change until we get a dramatic boost in battery technology.]] < 1271031687 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :note that the nexus one only has 4gb of storage but you can expand that to 32 gb by inserting a microsd card < 1271031692 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :which you want to do, if you want to put music on it < 1271031724 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :alise, school website < 1271031735 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: does it work in webkit? < 1271031737 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :if so, probably yes. < 1271031739 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(try chrome) < 1271031746 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :alise, it's not officially supported < 1271031753 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Does it work? < 1271031755 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :It works well enough for most things, but not everything < 1271031836 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Is that okay? < 1271031840 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :If so, it will probably work on Android. < 1271031853 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Besides, you don't even have iPhone as an option: it's AT&T, yes, but it's also contract. < 1271031859 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why would music take up that much space? < 1271031862 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :And the contractless iPhone 3G S is ~$700. < 1271031867 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Uh... it does. < 1271031873 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm pretty sure you can fit MIDI files on floppies < 1271031875 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Or is this a shitty "LOL MIDI" leadup? < 1271031878 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1271031880 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :How did I know. < 1271031885 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Hey, I like MIDIs! < 1271031899 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think the problem is that MIDIs are /good enough/ < 1271031900 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :MIDIs have a strong connection with the shitty 3d games I like! < 1271031919 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I normally compile them into .ogg files on this computer, so they take less CPU to play < 1271031936 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :[well, actually, outside of a few MIDIs from AW, it's mostly a 2d thing that I get MIDIs from] < 1271031939 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :really, we should have a format along the lines of .s3m < 1271031946 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or whatever it's called < 1271031965 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is basically MIDI+patches in the same file, so you don't lose the information that you lose in a wave-like file < 1271032090 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION now has an excuse to use his phone in class < 1271032091 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1271032106 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :[Well, pending a decent Android .ppt viewer] < 1271032140 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh, there isn't even a decent Windows .ppt viewer < 1271032196 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :powerpoint is arguably the worst of the major Office apps < 1271032245 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :They're all pretty bad though. < 1271032274 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, Excel is the best < 1271032279 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Though at least Microsoft has finally gotten at least a *bit* of a clue about how to serialise things. < 1271032293 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :rather dangerously so, in that it tries to encourage people to use it for things you really shouldn't use a spreadsheet program for < 1271032302 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if there's an Android Market viewer that will let him actually download apps < 1271032318 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :They used to just write a massive chunk of memory to file. < 1271032330 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The registry still does this. < 1271032360 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: you could download the free ones from elsewhere i bet < 1271032363 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A registry file sometimes includes random chunks of the actual program. < 1271032383 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :alise, did you get the emulator working? < 1271032392 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: I actually just resumed my java download now... < 1271032506 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The doubt within quantifiers. < 1271032546 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: apparently foxit have been working on an android pdf reader < 1271032548 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :also pdfmenot.com < 1271032587 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh pdfmenot is now google docs viewer < 1271032589 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :shorter url though < 1271032631 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: http://www.dataviz.com/products/documentstogo/android/ does full, proper pdf rendering < 1271032636 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries AppBrain < 1271032639 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :$19.99 tho < 1271032660 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :http://www.androidzoom.com/android_applications/productivity/beamreader-pdf-viewer_bfbo.html looks good < 1271032664 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(oh foxit for android died) < 1271032676 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: http://www.dataviz.com/products/documentstogo/android/ seems to do perfect pdf rendering if you can cough up the $20-1c < 1271032682 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(20 dollars minus one cent) < 1271032695 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like with antialiasing unlike that beamreader < 1271032813 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :16% [1 sun-java6-bin 7749120/27.4MB 28%] 188kB/s 3min 24s < 1271032816 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :on mobile internet < 1271032818 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Pressing Tab doesn't switch between fields < 1271032820 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :this is a momentous day for humanity, folks < 1271032828 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: quicker to touch < 1271032831 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :surely < 1271032834 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :alise: what, downloading Java? < 1271032836 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :java serialised classes are pretty hardcore < 1271032842 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, the speed over totally wireless internet < 1271032844 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :alise, when I'm in the emulator, it's quicker to press Tab < 1271032846 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :gm|lap: java anything is not hardcore. < 1271032848 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: well, true < 1271032856 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :and from my experience harder to parse than class files < 1271032900 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :if you get at least one of the older minecraft map files, they're basically a gzipped java serialised class with a 5-byte header < 1271032906 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, what happens if you serialise a Class object? < 1271032922 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :not sure, idunno if it implements Serializable < 1271032924 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably nothing particularly interesting < 1271032942 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :gm|lap: gah, for a moment I forgot about Java preventing you doing insane things < 1271032946 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Stupid 404! < 1271032961 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if Google removed the AppBrain app from the Marketplace < 1271032970 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Or if the Marketplace detects that I'm trying to cheat it < 1271032972 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which reminds me, why does no "Java-like OO" language allow you to mark methods abstract but give an implementation anyway? < 1271032988 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would make it a lot clearer what methods could be replaced entirely, and which had to be wrapped < 1271032993 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :public final class Class < 1271032993 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :extends Object < 1271032994 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :implements Serializable, GenericDeclaration, Type, AnnotatedElement < 1271033004 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, is serialisable < 1271033031 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :it probably gives you information on the class, but that's about it < 1271033065 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :i once made a minecraft map loader in lua < 1271033079 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :slow and not very faithful to the spec but it worked < 1271033097 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :although i think Notch has decided to use a simpler format < 1271033117 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: the marketplace is not required < 1271033120 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you can install ipk files too < 1271033124 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or are they some other extension i forget < 1271033129 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's in the emulator website docs < 1271033134 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :alise, apk < 1271033136 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :http://java.sun.com/javase/6/docs/platform/serialization/spec/protocol.html < 1271033155 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :And I know, but there are a lot of apps on the Marketplace, and I don't see how to get to the .apk files without the Marketplace app < 1271033171 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :I installed an alternative Market thing, but I want the real one on here < 1271033185 0 :gm|lap!unknown@unknown.invalid PRIVMSG #esoteric :it's a fairly well packed format < 1271033805 0 :coppro!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1271033812 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :To have an Internet connection whereever I am < 1271033818 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION fantasizes < 1271034284 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: It's awesome. < 1271034484 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :You can IRC from ANYWHERE < 1271034484 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1271034484 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Nooo, I just ran out of mobile broadband < 1271034504 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :alise: does it charge by the byte? < 1271034511 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if so, how come you're still talking here? < 1271034568 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, maybe alise isn't < 1271034663 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So, I still haven't a clue why this segfaults. < 1271034679 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Heck, I haven't a clue *how* this segfaults. < 1271034680 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: ping < 1271034694 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :alise: poing < 1271034712 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's sort of like a pong, except it reflects off from a random direction, sort of like a bullet ricochet < 1271034778 0 :alise!unknown@unknown.invalid QUIT :Quit: Leaving < 1271034778 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :pong < 1271034791 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :DAMMIT < 1271034816 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1271034888 0 :ais523!unknown@unknown.invalid QUIT :Quit: restarting X in an attempt to get rid of a bunch of glitchiness < 1271034969 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1271035017 0 :ais523!unknown@unknown.invalid TOPIC #esoteric : | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1271035280 0 :ais523!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1271035701 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :So, I'm the only person alise wants to say bye too? Or will alise be back before e has to leave? < 1271035811 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Finally, running mycology. < 1271035816 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BAD: BAD: \ doesn't swap < 1271035819 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :This confuses me. < 1271035833 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... Because \ swaps. < 1271035878 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah. Comment weirdness. < 1271035937 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"// \ " apparently comments out the next line. < 1271035946 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Somehow. < 1271036154 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And now, mycology.b98 executes, outputs no BAD lines, then segfaults. < 1271036252 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I get 2263 lines of output. < 1271036334 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :v#-5 gv#-20-30pGOOD: p modifies space < 1271036343 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Final line before segfaulting. < 1271036390 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :$1 = {bufsz = 1024, bufused = 18446744073709549303, buf = 0x1000000607010
} < 1271036399 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Dear me. That seems quite wrong. < 1271036422 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Any idea what could cause bufused > bufsz? < 1271036447 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Something going horribly wrong? :P. Adding to the buffer without EXPANDing it first? < 1271036499 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Only added to with PUSH. Which checks for that. < 1271036514 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :PUSH should just be WRITE_BUFFER(..., 1, ...) :P < 1271036532 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... Shush you. < 1271036722 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Same behavior. Hooray. < 1271036765 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Show us the codezes. < 1271036786 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Welp, that's fun. I was stepping below the array. < 1271036800 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Ohhhhkidokie. < 1271036831 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In spite of all array indexing being modular arithmetic... < 1271036855 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Yessss ... array indexing in crazy-land. < 1271036871 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps my indexes should be unsigned. :P < 1271036875 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yup, that fixes it. < 1271036891 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And now I get errorness. < 1271036896 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: p modifies space < 1271036897 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BAD: p doesn't modify space% < 1271036907 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which is it, mycology? < 1271036991 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Are "space" and "space%" not the same? < 1271037028 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :% is my terminal showing the lack of newline before EOF. < 1271037037 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. < 1271037038 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :My shell. < 1271037043 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Ah :P < 1271037044 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It was also reversed. < 1271037193 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: So, any idea how p can both modify and not modify space? :P < 1271037205 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I appear to be taking both branches somehow. XD < 1271037277 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You should be able to help pikhq here, right? < 1271037324 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Deewiant wrote Mycology. I presume he could help. < 1271037339 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Ah, didn't know the author was also an #esoteric'er. < 1271037390 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Course, it's also fairly late/early there. So he may not be conscious. < 1271039462 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should probably do his C++ homework at some point < 1271039600 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION adds backtraceness to the interpreter < 1271039986 0 :Oranjer!unknown@unknown.invalid PART #esoteric :? < 1271040001 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Backtrace? Check. < 1271040152 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should learn zippers < 1271040379 0 :Asztal!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1271040408 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/BhiG Complete program execution. < 1271040431 0 :jcp!unknown@unknown.invalid QUIT :Quit: I will do anything (almost) for a new router. < 1271040505 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1271040891 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, also. http://sprunge.us/ShIJ < 1271041043 0 :sebbu2!~sebbu@ADijon-152-1-52-8.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1271041168 0 :adu!~ajr@pool-173-66-9-50.washdc.fios.verizon.net JOIN :#esoteric < 1271041222 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1271041649 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 248 seconds < 1271042036 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1271042120 0 :Gracenotes!unknown@unknown.invalid QUIT :Remote host closed the connection < 1271042582 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1271043514 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1271043680 0 :Oranjer!~HP_Admini@adsl-71-0-216.cae.bellsouth.net JOIN :#esoteric < 1271043688 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1271043928 0 :coppro!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1271044297 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1271045441 0 :Oranjer!unknown@unknown.invalid PART #esoteric :? < 1271045596 0 :Oranjer!~HP_Admini@adsl-71-0-216.cae.bellsouth.net JOIN :#esoteric < 1271047336 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1271048102 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Will anyone kill me if I start programming in Scala? < 1271048148 0 :Oranjer!unknown@unknown.invalid PART #esoteric :? < 1271048250 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1271049195 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1271049354 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric : I think people have fit full working world taking over AI into 6K. We can fit "x => x + 1" < 1271049380 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :[that was after ah, lightweight anonymous functions. http://pastie.org/915119 ] < 1271050247 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :Huh. Scala has mutable and immutable variables < 1271053324 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :http://images.4chan.org/co/src/1271047978643.png < 1271053367 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1271053380 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: so does C++. woop de doo < 1271053452 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :augur: epic < 1271053456 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1271053589 0 :adu!unknown@unknown.invalid QUIT :Quit: adu < 1271053710 0 :ellisonch!unknown@unknown.invalid PART #esoteric :? < 1271054172 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :coppro: C++ has many sorts of mutability and immutability. < 1271054189 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just like everything else. < 1271054190 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1271054190 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1271056534 0 :jcp!unknown@unknown.invalid QUIT :Quit: I will do anything (almost) for a new router. < 1271058798 0 :FireFly!unknown@unknown.invalid QUIT :Quit: Leaving < 1271059199 0 :clog!unknown@unknown.invalid QUIT :ended < 1271059200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1271059332 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1271059679 0 :oerjan!unknown@unknown.invalid QUIT :Quit: leaving < 1271059738 0 :adam_d!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1271059774 0 :adam_d!unknown@unknown.invalid QUIT :Client Quit < 1271061170 0 :lament!unknown@unknown.invalid QUIT :Quit: lament < 1271062693 0 :Tritonio_GR!~Tritonio@ix.ceid.upatras.gr JOIN :#esoteric < 1271064862 0 :lereah_!~lereah@nanpc301.in2p3.fr JOIN :#esoteric < 1271066767 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: After p, it tries to wrap around, and that probably isn't working. < 1271067346 0 :MizardX-!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1271067410 0 :MizardX!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1271067434 0 :MizardX-!unknown@unknown.invalid NICK :MizardX < 1271068611 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1271069263 0 :andreas1984!~Miranda@f055174008.adsl.alicedsl.de JOIN :#esoteric < 1271069855 0 :andreas1984!unknown@unknown.invalid QUIT :Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org < 1271069988 0 :gm|lap!unknown@unknown.invalid QUIT :Quit: ilua < 1271073629 0 :pikhq!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1271074904 0 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1271076857 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1271077479 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1271078757 0 :bsmntbombdood_!~gavin@97-118-213-130.hlrn.qwest.net JOIN :#esoteric < 1271078830 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1271079256 0 :Asztal!~asztal@host86-156-98-230.range86-156.btcentralplus.com JOIN :#esoteric < 1271079313 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1271080249 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1271080554 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1271080955 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1271081212 0 :Tritonio_GR!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1271081486 0 :Tritonio_GR!~Tritonio@ix.ceid.upatras.gr JOIN :#esoteric < 1271081606 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1271082366 0 :augur!~augur@static-70-108-247-66.res.east.verizon.net JOIN :#esoteric < 1271082622 0 :MigoMipo!~migomipo@84-217-13-251.tn.glocalnet.net JOIN :#esoteric < 1271083080 0 :pikhq!~pikhq@75-106-123-198.cust.wildblue.net JOIN :#esoteric < 1271083411 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1271083484 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION notes an adrian with an L oracle < 1271083586 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :idle for 41 days? O_O < 1271083912 0 :coppro!unknown@unknown.invalid QUIT :Quit: I am leaving. You are about to explode. < 1271084651 0 :MigoMipo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1271084965 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1271085507 0 :Tritonio_GR!unknown@unknown.invalid QUIT :Quit: Leaving. < 1271085625 0 :augur!~augur@static-70-108-247-66.res.east.verizon.net JOIN :#esoteric < 1271085755 0 :MigoMipo!~MigoMipo@84-217-13-251.tn.glocalnet.net JOIN :#esoteric < 1271086009 0 :MigoMipo!unknown@unknown.invalid QUIT :Client Quit < 1271086298 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1271088133 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1271090132 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1271090488 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1271090915 0 :lereah_!unknown@unknown.invalid QUIT :Remote host closed the connection < 1271091035 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 260 seconds < 1271091117 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1271091427 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :"As of now, the only mobile version of RoboZZle is the one for iPhone/iPad/iPod touch. We'll see how much interest there will be in the iPhone client - that will make it clearer how worthwhile it would be be to port RoboZZle to other mobile platforms." < 1271091430 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gibbers < 1271091789 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nah, to gibber mush giffle snibble traf a gnome sifting beroth unwards. < 1271091861 0 :oerjan!unknown@unknown.invalid TOPIC #esoteric :This space intentionally left | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1271093908 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Which way does it wrap around? < 1271093918 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Across the west edge < 1271093953 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hrm. Not seeing that in the execution trace. < 1271094013 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It should do that right after it prints the "GOOD: p works" stuff < 1271094033 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : stepping: (0, 17) ; : No-op < 1271094036 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : stepping: (15, 17) +; +: 0 0 resulting in 0 < 1271094049 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... That... Is an odd place to step to. < 1271094065 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It should step to 80,17 methinks :-) < 1271094072 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1271094458 0 :kar8nga!~kar8nga@jol13-1-82-66-176-74.fbx.proxad.net JOIN :#esoteric < 1271094715 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And now it goes into an infinite loop between (0, 18) and (14, 18). ... Somehow. < 1271094726 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : stepping: (0, 18) #; #: skipping char < 1271094730 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : stepping: (14, 18) ; : No-op < 1271094740 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :How does that make... Sense? < 1271094754 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Oh*. < 1271094771 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Didn't fix the wrapping logic in #. < 1271094835 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Okay then. Now passes Mycology. < 1271094901 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :In 0.005 seconds. Granted, Mycology 93, but still. < 1271094911 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Now to randomise the directionness. < 1271095148 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :What the hell? < 1271095170 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :mycorand.bf has become... An ELF file? < 1271095243 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm not going to ask how I managed to get an ELF file to the start of that. < 1271095345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, still haven't got befunge 93 to work? < 1271095356 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is somewhat surprised < 1271095396 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, rand() is easy though < 1271095417 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just srand(time(NULL)) and then rand() % 4 < 1271095425 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yeah. < 1271095432 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I just hadn't *bothered*. < 1271095439 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, and if your MAX_RAND isn't evenly divisable by 4 you have a strange system < 1271095458 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :By the way, it's hard to get B93 working when you're segfaulting in getc. :P < 1271095473 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, what was the cause of that btw? < 1271095490 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It was actually segfaulting elsewhere and screwing with gdb. < 1271095500 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wow, must have been a bad segfault < 1271095510 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1271095523 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, what was the other segfault caused by? < 1271095583 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, remember to try mycouser too < 1271095587 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc that works for 93 too? < 1271095592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it tests input < 1271095600 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and div by zero < 1271095617 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, I have a *** glibc detected *** ./jitfunge: double free or corruption (out): 0x0000000001644ec0 *** which is not much nicer. < 1271095652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, those tend to be annoyingly useless backtraces too < 1271095655 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gdb helps < 1271095658 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It happens inside llvm's _ZN4llvm10VirtRegMap20runOnMachineFunctionERNS_15MachineFunctionE function; don't you just love C++ method name manglings? < 1271095664 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeargh < 1271095684 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, suggestion: attach gdb, it handles unmangling too < 1271095707 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, though it doesn't help that much to catch the bug. < 1271095754 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's a bit weird because the module->dump()'d llvm assembly compiles just fine with llvm-as + llc into X86 asm; not sure why it crashes like that when it's trying to JIT it. < 1271095769 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, oh and an idea for the future: find number of CPUs and/or cores. Then if you have more than one start one or two "optimistic tracers". With this I mean something that when you hit a _ or | or such tries to trace the other branch a bit. It is likely to be useful in a bit anyway < 1271095777 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure what the locking overhead would be < 1271095785 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I think it may be not too bad < 1271095805 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That could be done, yes. < 1271095809 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well probably do some loop heuristics on the | < 1271095815 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :after all it could be a plain if ran once < 1271095829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :maybe look for hot spots by counting hits or such? < 1271095843 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc the java vm does that sort of things < 1271095855 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'm still having odd issues on mycorand.bf < 1271095862 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I don't know how much of a PITA the locking would be wrt llvm < 1271095873 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, oh? < 1271095878 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Among these issues are infinite loops. < 1271095890 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I guess your randomness isn't random enough < 1271095904 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, make sure you actually map 0-3 to different directions < 1271095909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and haven't typoed anything < 1271095929 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I remember doing % 4 and then mapping 1-4 once. < 1271095933 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :worth checking for too < 1271095968 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: It's not getting in an infinite loop there. < 1271095975 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, oh? < 1271095979 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then where? < 1271095990 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :note: I don't have mycology handy atm < 1271095997 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so I can't just take a line/col reference < 1271096010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is on a mobile device < 1271096015 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's somehow finding itself in the middle of a string and not in string mode. < 1271096025 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :So it reflect back and forth. < 1271096026 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, did you do #" ? < 1271096029 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. Reflects. < 1271096043 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, or perhaps like that but wrapping < 1271096044 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure how it even got there, actually. < 1271096052 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's in the *middle* of the string. < 1271096054 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, trace it step by step then < 1271096073 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, as in make it print out x,y,cell-value for each thing it executes < 1271096088 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then trace through that < 1271096112 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, useful if another (known working) interpreter can do that too. Then you can just diff the trace output < 1271096144 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, ccbi just has a debugger iirc, cfunge can output exactly the kind of debug info I mentioned (with somewhat more fancy formatting than just "x,y,cell-value") < 1271096164 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-t 4 to cfunge should be perfect for this < 1271096170 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I've had it stepping for a while now. < 1271096181 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, then surely you can see where it enters the string? < 1271096214 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, perhaps some wrapping issue? < 1271096236 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: It's hard to get this behavior. < 1271096251 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sometimes it just infinite loops putting out the string. Which *also* confuses me. < 1271096260 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, eh... < 1271096265 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, try valgrind < 1271096310 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when bugs make no sense whatsoever one of the first things to try is valgrind, then valgrind --tool=exp-ptrcheck (or was it ptrcheck-exp? well, some such) < 1271096324 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It also only hits "?;" twice. < 1271096374 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, wait what? ; ? < 1271096387 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :isn't that befunge-98 < 1271096450 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, sorry. That's from my tracing output. :P < 1271096472 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, back at a computer < 1271096475 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Ah*. p is modifying the wrong cell. < 1271096484 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1271096488 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, how comes? < 1271096527 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Swapped order. :P < 1271096533 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, oh and once you fixed it, please post the source code. I know of a few things mycology93 wouldn't test < 1271096542 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: As I've often said, "yes s | ccbi -t" is a tracer :-P < 1271096542 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, yet you passed mycology? < 1271096552 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, in a fairly hard to parse format < 1271096556 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1271096559 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes, mycology tested (9,9). < 1271096564 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's not meant to be machine-readable. < 1271096566 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, one line per executed instruction? < 1271096571 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well that is what I need it for < 1271096577 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :to diff < 1271096586 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And now it passes mycorand. < 1271096590 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You can diff other stuff too? < 1271096592 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, maybe you should move that cell in mycology 93 < 1271096607 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :About to test division by zero... < 1271096608 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :zsh: floating point exception ./a.out mycology/mycouser.b98 < 1271096608 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1271096609 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes but I can't easily sed it to the same format as the trace output to compare to < 1271096621 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, why in zsh? < 1271096634 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Because my shell is reporting the exception? < 1271096640 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well yes, if you're comparing two different interpreters... but you can't assume them to have the same trace format anyway. < 1271096641 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah right < 1271096643 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :makes sense < 1271096656 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, that is what you use sed for < 1271096674 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I remember adding such a trace just to track down some t bug early on < 1271096681 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which iirc was the one that turned out to be in ccbi < 1271096683 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So write the sed that changes CCBI's output to whatever you like? You only have to do it once :-P < 1271096719 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also a compact trace is more readable IMO. You can see more of the events without scrolling < 1271096743 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I made sure it was both easy to read in cfunge for the -t 4 level, and easy to parse/grep < 1271096743 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 246 seconds < 1271096764 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I typically don't want just a trace, I want to see what's going on < 1271096767 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some higher levels is for more detailed info, like top elements of stack and so on, that is less readable < 1271096779 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes I often find a trace to be a good way to see what is going on < 1271096796 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Aren't you the one who usually uses a debugger to find C bugs? :-P < 1271096846 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, for SIGSEGV and similar obviously yes. Otherwise I often tests it without debugger to find the rough point of problem. Then I go into debugger to debug the thing < 1271096874 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So why are you so against debugging Befunge? < 1271096899 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: 1 / 0 = 0 < 1271096900 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I'm not. I'm just against a lack of easy-to-sed-on trace output < 1271096901 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :zsh: floating point exception ./a.out mycology/mycouser.b98 < 1271096904 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*sigh* < 1271096909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, that is for modulo < 1271096923 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, also befunge93 should ask you for the value < 1271096924 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I mean, I honestly do not see a use case for tracing < 1271096926 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Immediately before? < 1271096927 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric : stepping: (44, 4) %; %: 0 1 resulting in 0 < 1271096940 0 :tombom_!tombom@wikipedia/Tombomp JOIN :#esoteric < 1271096947 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Also Befunge93 does not say that it should ask you for the value therefore I'm not making it do that. < 1271096948 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I find the good debugger useful, tracing not so much. < 1271096952 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, to track down t bugs. Where you can't tell where the error is. But you can compare against a working interpreter and do a game of "spot the difference" < 1271096962 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :t bugs especially < 1271096974 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, sure it does. I remember reading that < 1271096979 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :When there's a bug in t, just break on t and single step. < 1271097001 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well duh in t itself < 1271097006 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I meant in concurrency in general < 1271097023 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, the point of the CCBI debugger is to debug Befunge, not Befunge interpreters. < 1271097027 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1271097033 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, some timing issue in string mode I remember only tracking down due to tracing < 1271097053 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well okay. I use gdb + a .gdbinit for debugging funge < 1271097068 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You're doing it the wrong way around :-P < 1271097084 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You should use gdb to debug the interpreter and the interpreter to debug Befunge :-P < 1271097091 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, didn't you only support a single breakpoint or such in ccbi1? < 1271097097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gdb supports a lot more :P < 1271097114 0 :tombom!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1271097139 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Hmm. It seems that this reflects on \0. < 1271097168 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, hm? < 1271097170 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: CCBI 2 supports more. I really only need one typically, though. < 1271097173 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :where does \0 come into it? < 1271097184 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how many? < 1271097190 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(does it support now) < 1271097204 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Arbitrarily many. < 1271097210 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, also using gdb is in theory faster, it uses hardware breakpoint after all ;P < 1271097223 0 :augur_!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1271097230 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Actually it probably uses software breakpoints, but yeah < 1271097241 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm just not interested in my interpreter's internals when I've got buggy Befunge. < 1271097246 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: There's an early newline. < 1271097248 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, gdb? No. I prefer hardware breakpoints when possible < 1271097253 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The Befunge array is 0-filled. < 1271097260 0 :augur!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1271097261 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1271097272 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, funge space is *space* filled < 1271097277 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not \0 filled < 1271097284 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'm describing my interpreter. < 1271097291 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, then you are doing it wrong < 1271097299 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it should be space filled < 1271097319 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: So what, you monitor memory addresses? < 1271097321 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://catseye.tc/projects/befunge93/doc/website_befunge93.html Not in here. < 1271097323 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1271097330 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Nor is the "reflect on unknown" thing. < 1271097344 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mycology isn't very Befunge-93. < 1271097361 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, a lot of things will break if you don't space fill it < 1271097383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, every other interpreter I know of does it. Even for 93 < 1271097386 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't need to be space filled, it just needs to work. < 1271097391 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1271097397 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I.e. if you have something like < 1271097398 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :> v < 1271097399 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :@ < 1271097400 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :^ < < 1271097404 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Then the v should hit the < < 1271097410 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it needs to be space in there < 1271097414 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No it doesn't < 1271097419 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The v just needs to hit the <. < 1271097420 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, because otherwise g on that x,y won't work < 1271097434 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, the docs don't say that. :-P < 1271097473 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the docs doesn't say anywhere either that g on a x,y containing a > should return the ascii value of >? < 1271097481 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean explicitly for a > < 1271097506 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Eh? They say that g pushes the value of the char at (x,y) < 1271097515 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well then, what is the char space? < 1271097519 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :a space! < 1271097521 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :see < 1271097529 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But there is no space to the right of the @ < 1271097559 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And what I mean is that the docs don't say what to get for coordinates that weren't in the file < 1271097563 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, okay, but that will break a hell of a lot of programs < 1271097578 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, also a fair number of befunge93 programs depend on unknown reflecting < 1271097579 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I doubt many programs rely on that < 1271097588 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Do they? Don't most interpreters nop? < 1271097594 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: They're wrong! < 1271097600 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well I remember running into a few < 1271097607 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, well maybe, but that is your issue then < 1271097750 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, for 98 it is defined that way anyway. If you plan on doing 98 it is a good idea to get used to it already < 1271097765 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :depending on the interpreter actually considering a particular character unknown (rather than possibly using it for extensions) sounds like a bad idea to me... < 1271097770 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But I'm not *doing* 98. < 1271097800 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, well then *shrug* < 1271097886 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, have you seen http://catseye.tc/projects/bef/src/bef2c.c ? < 1271097889 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm confused now < 1271097908 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I've seen t hat < 1271097914 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What about it? < 1271097927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, optimisation? befunge? compiler? < 1271097951 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What about it? :-P < 1271097959 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how does it handle self modification? < 1271097966 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if it does then how does it optimise < 1271097981 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It just pretty much bundles an interpreter with the code like all Befunge compilers I know of < 1271097999 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what about the optimisation then < 1271098015 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Dunno, haven't looked into that. < 1271098075 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Or hmm, I'm not sure if that's the one I was thinking of. < 1271098087 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, whatever. < 1271098116 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, the reference befunge93 implementation: < 1271098117 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : memset(pg, ' ', LINEWIDTH * PAGEHEIGHT); < 1271098122 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :see http://catseye.tc/projects/bef/src/bef.c < 1271098131 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Reference implementation != spec. < 1271098152 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, just telling you that *not* making it default to space is bloody stupid < 1271098173 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm just telling you that making it default to anything is bloody stupid. < 1271098185 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Therefore it defaults to nothing. < 1271098187 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :default to anything? < 1271098200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is filled with random uninitialised data? < 1271098225 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No, it's 0-filled, as are all uninitialised C globals. < 1271098226 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, filling it with \0 is, you see, also defaulting to something < 1271098249 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Programs relying on any unspecified behavior will be shot. < 1271098299 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fungestation 9000 < 1271098305 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, what good reason do you have to *not* follow the common practise here? Are you aiming for a DS9K? < 1271098344 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: "Eff you, unspecified behavior." < 1271098372 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I fail to see how that answers my question about your good reason < 1271098419 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I do not believe in implementing unspecified behavior soley because of what is common. I am simply going to implement the language. < 1271098428 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And I care not for "what other implementations do". < 1271098457 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, you know if you did befunge98 and do that you would fail. The befunge98 spec doesn't work in some cases < 1271098461 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so you have to change it < 1271098465 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No he wouldn't. < 1271098481 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The only problematic instruction is t. < 1271098486 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes that is the one I meant < 1271098492 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :t is optional. < 1271098496 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well okay < 1271098499 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :he could skip it < 1271098511 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :we should all sop using i < 1271098512 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If it doesn't work then I would of course look for implementations of it to see what was decided upon as the intended behavior for the language. < 1271098523 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, ? < 1271098526 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh ffs < 1271098531 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1271098553 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/SBIe < 1271098553 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's pretty obvious what to do with t once you've done it "wrong", though. < 1271098556 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, it doesn't work as in it will cause a fork bomb the way it is defined < 1271098650 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Okay then. < 1271098733 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, would a to-the-letter befunge-98 spec following implementation (excluding t issues) pass mycology? < 1271098747 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It should. < 1271098768 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, remember it is vague. I'm thinking it would hit issues on k < 1271098786 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Sure, it's vague, but everything non-UNDEF is IMO inferrable. < 1271098798 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, not sure about the k issues < 1271098864 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wgets that source < 1271098888 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, anything special to build it? just clang -o pikhq-bef pikhq-bef.c ? < 1271098932 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: That should do it. < 1271098932 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm didn't work < 1271098941 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's very GCC-specific. < 1271098957 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq-bef.c:146:23: error: cannot compile this GNU array range designator extension yet < 1271098958 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : void *lookup[256] = { < 1271098958 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ^ < 1271098959 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1271098974 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :-std=c99 to gcc breaks too < 1271098989 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Of course it does, since it uses GNU extensions. < 1271098993 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :-std=gnu99 < 1271098994 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq-bef.c:146:23: error: cannot compile this GNU array range designator extension yet < 1271098994 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : void *lookup[256] = { < 1271098995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : ^pikhq-bef.c: In function ‘instrs’: < 1271098995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq-bef.c:183: warning: array subscript has type ‘char’ < 1271098995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq-bef.c:371: warning: array subscript has type ‘char’ < 1271098997 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1271099004 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :synergey fails at copy paste fail < 1271099007 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :gcc -std=gnu99 < 1271099012 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what I meant to paste was: < 1271099015 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq-bef.c:183: warning: array subscript has type ‘char’ < 1271099015 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq-bef.c:371: warning: array subscript has type ‘char’ < 1271099015 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq-bef.c:371: warning: array subscript has type ‘char’ < 1271099017 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I get lots of that < 1271099036 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Okay. So? < 1271099045 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, just thought I'd tell you < 1271099060 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's perfectly defined behavior, it's just very likely to be wrong in most programs. < 1271099203 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :./pikhq-bef-tux ~/dragon/src/own/cfunge/trunk/examples/wumpus.bf < 1271099207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Segmentation fault < 1271099214 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, let me pastebin the program < 1271099225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/LMhC < 1271099244 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, it is strange it segfaulted. < 1271099257 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yup, definitely segfaults. < 1271099264 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :58 is not prime. < 1271099264 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Segmentation fault < 1271099269 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :from another program < 1271099275 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, do you grow the stack properly? < 1271099279 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or do you just stack overflow < 1271099290 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/OXfD < 1271099293 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :is the prime program < 1271099295 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which also segfaults < 1271099300 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: The macros do in fact grow the stack. < 1271099301 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :These programs are all on catseye.tc < 1271099313 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, ah yes indeed I guess < 1271099316 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It appears to be trying to access outside of fungespace somehow. < 1271099325 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I forgot the source so I just found it easier to pastebin them < 1271099328 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :fungespace_x = 4294967295 < 1271099345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, do you not check that it is in bounds? because these are classical befunge93 apps < 1271099347 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The issue is in string mode. < 1271099352 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1271099370 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :String mode is *probably* supposed to wrap. :P < 1271099371 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, you don't handle wrapping in string mode? < 1271099377 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1271099381 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I thought I did but apparently not. < 1271099382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, of course it is supposed to wrap < 1271099395 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it obviously should. < 1271099396 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It just didn't. < 1271099411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I doubt the primes one segfaults due to this. Since it seems to run fine for quite a bit and I don't see any wrapping strings in it < 1271099415 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so probably another error in it < 1271099436 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, and you should extend the 93 part of mycology ;P < 1271099458 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, oh and more important: not use 9,9 for p test < 1271099465 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm not really interested in the 93 part of Mycology :-P < 1271099466 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :use something like 8,9 or whatever < 1271099475 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the p test applies to 98 too iirc? < 1271099522 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but there's a later pg test that uses -3,-2 < 1271099555 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm wait is http://sprunge.us/jDBL befunge98? Why does does it use .bf extension < 1271099563 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well it is officially befunge97 but... < 1271099575 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Mike's programs all use .f98 IIRC. < 1271099582 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in any case, your interpreter crashes on http://sprunge.us/jDBL as well < 1271099590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, Mike? < 1271099591 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It's not official or anything, it's just a recommendation. < 1271099593 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Riley. < 1271099594 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it says "Kevin Vigor" < 1271099601 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not Mike Riley < 1271099601 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yes... < 1271099608 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gah! sprunge stopped pasting! < 1271099608 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I just said that Mike uses .f98. < 1271099610 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1271099615 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, oh? < 1271099649 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I can't get sprunge to hand me a URL any more. < 1271099677 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :WTH? < 1271099697 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There are other pastebins. < 1271099698 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, works for me < 1271099703 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I just tested < 1271099718 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Still not working for me. < 1271099732 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :GAH WHAT THE HELL < 1271099739 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, no idea then. Maybe PEBKAC? < 1271099744 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I accidentally output into befunge93.c < 1271099748 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Thus erasing it. < 1271099754 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :What was the last paste of it? :P < 1271099759 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, hg revert :P < 1271099759 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1271099771 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Not in hg < 1271099771 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, and if not learn to use version control < 1271099776 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :echo '(hello)S' | ./jitfunge ../underload.b98 => "main.cc:80: [main] gnuuubl middle of existing trace" -- there's still perhaps some work to do there. < 1271099783 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, well I hope that taught you a lesson < 1271099786 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I don't version control until there's... more than one file. < 1271099802 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well then you will have to find it in scrollback yourself < 1271099811 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't be too hard anyway < 1271099813 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: gnuuubl? < 1271099831 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, but if you promise to use a VCS then: http://sprunge.us/SBIe < 1271099836 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: An expression of despair. < 1271099842 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Quite. < 1271099863 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in what language is "gnuuubl"? < 1271099865 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Instead of version control, you could opt for something like NILFS for /home. < 1271099887 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I opt for doing testing in a different directory than the source :-P < 1271099889 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, heh < 1271099890 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/KKDR There you go. < 1271099890 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's the sound of a gnu being dragged into a pool by a crocodile. very traumatic. < 1271099956 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For the gnu, that is. < 1271099973 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Quite. < 1271099979 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :pi.bf appears to segfault, but that's not B93 so I don't care. :P < 1271099989 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, the prime one then? < 1271099996 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it still segfaults < 1271099997 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Works just fine. < 1271099997 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and it is 93 < 1271100001 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, segfaults here < 1271100016 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Backtrace? < 1271100017 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :segfaults unless running under gdb < 1271100021 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :WTH < 1271100030 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :under GDB it goes negative instead < 1271100035 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which is even more weird < 1271100048 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Oh*. < 1271100054 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fun fact: chars are signed. :P < 1271100067 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well. On x86 and x86_64. < 1271100076 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Lemme go make them unsigned. < 1271100078 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :On some compilers. < 1271100078 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, see: http://sprunge.us/BdIR < 1271100085 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I thought you used 32-bit cells? < 1271100087 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in befunge < 1271100092 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Wasn't that what the pasted warning was about anyhow? < 1271100106 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: No, you use "a stack". < 1271100128 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, you can't really since you can't reach down deep in the stack < 1271100140 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, oh also: it includes controlcodes < 1271100145 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that seems to have been lost in the paste < 1271100149 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I see: < 1271100156 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :17 is a prime.[0004] < 1271100219 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/bFiZ And now? < 1271100267 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, works in gdb. Still segfaults outside gdb < 1271100285 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Might I suggest getting a core dump? < 1271100323 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I'm doing that already < 1271100327 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :before you mentioned it < 1271100337 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Then where's it segfaulting? < 1271100348 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ore was generated by `./pikhq-bef-tux /home/arvid/dragon/src/own/cfunge/trunk/examples/prime.bf'. < 1271100348 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Program terminated with signal 11, Segmentation fault. < 1271100348 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#0 0x0000000000401889 in ?? () < 1271100348 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(gdb) bt < 1271100348 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#0 0x0000000000401889 in ?? () < 1271100353 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, the stack is smashed < 1271100354 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :-g < 1271100359 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh dear. < 1271100360 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I compiled with g < 1271100367 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm not *that* stupid < 1271100371 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, I got nothing. < 1271100374 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, -ggdb3 -O0 in fact < 1271100382 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Except "works for me" < 1271100385 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ gcc --version < 1271100385 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gcc (GCC) 4.4.3 20100316 (prerelease) < 1271100389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is what arch uses < 1271100392 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :let me try on ubuntu < 1271100397 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :gcc (Gentoo 4.4.3 p1.0) 4.4.3 < 1271100423 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :401889 looks like a reasonable address. < 1271100440 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :segfaults on ubuntu too < 1271100449 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ gcc --version < 1271100449 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3 < 1271100453 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Heh, some bit of jitfunge is trying to put value V to coordinates (X,Y), and ends up putting value X to coordinates (Y,V). < 1271100453 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is jaunty < 1271100471 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, the next frame does not: < 1271100476 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#1 0x0000000000000006 in ?? () < 1271100476 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#2 0x003b000000000002 in ?? () < 1271100476 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#3 0x0000000000000802 in ?? () < 1271100482 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: What /are/ you doing in there? :-P < 1271100483 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :0x0000000000000006? < 1271100486 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :*unlikely* < 1271100497 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Impossible, in user mode. < 1271100505 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, actually not. < 1271100526 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, but unless you tune a sysctl nowdays it is forbidden for normal user space < 1271100550 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, anyway I can send you the binary and the core dump if that helpos < 1271100551 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :helps* < 1271100552 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: My first guess is that I populate the intermediate form's "args" structures from the stack in a different order than what I thought I did. < 1271100552 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well yes, I meant under a typical OS. < 1271100567 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Doubtful. < 1271100578 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, anyway, let me try valgrind < 1271100581 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: it's a rotation < 1271100584 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :A stack smash isn't all that helpful of a core dump. :P < 1271100587 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :funny thing < 1271100590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it works under valgrind < 1271100595 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :BUT < 1271100599 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it gives lots of invalid reads < 1271100604 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Screams bloody murder? < 1271100622 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, http://sprunge.us/FbSN < 1271100650 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Being able to map 0x0 is a simple system configuration on Linux. < 1271100663 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, notice some corruption in output for some primes < 1271100667 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :like � < 1271100687 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Hmm. < 1271100698 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: i recall reading about a recent exploit based on mapping it < 1271100699 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, anyway, can you reproduce those valgrind errors? < 1271100710 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Yes, that's actually a bit strange. But p might have a mixture of constant (or already-in-registers) arguments and things it needs to pop, which might cause problems. < 1271100728 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Under a typical and typically configured OS >_< < 1271100740 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes. < 1271100754 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It used to be the default, actually. :P < 1271100755 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, then I find it not unlikely that fixing those will fix the bug < 1271100757 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: if you are populating V and (X,Y) in the wrong order, you would get that < 1271100773 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: How recently? < 1271100777 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ouch that was awkwardly wored < 1271100780 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :worded* < 1271100796 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: 2.6.something < 1271100797 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, until quite recently < 1271100802 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, 2.6.20 or something like that? < 1271100807 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :2.6.22 perhaps < 1271100816 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :perhaps a bit earlier < 1271100819 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :O_o < 1271100822 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Though you'd have to explicitly ask for mmap to 0 for that to happen. < 1271100829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well yes < 1271100854 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I always have to change the sysctl when I run sheepshaver < 1271100889 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :putchar(BUFFER_TOP(stack)); <-- ... *This* is a source of an invalid read. WTH? < 1271100890 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Sheepshaver? < 1271100893 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Well.. the generated intermediate code looks right, it might be I've just messed up when constructing a call to Space.put_at. < 1271100911 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, macos classic ppc emulator < 1271100929 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I'm sure I mentioned that when I was working on porting ick to it < 1271100940 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :something that mostly worked apart from some compiler bugs in MPW < 1271100946 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure I've completely forgotten. < 1271100966 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Oh*. < 1271100968 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: How do you identify JITable regions in Befunge? < 1271100981 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I think this program relies on 0 being gotten when you pop from an empty stack. < 1271100997 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, well duh < 1271101000 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'll redo my stack code a bit after I get some food. < 1271101002 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: That it is in the docs. < 1271101004 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, that is how it should work < 1271101007 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: -it < 1271101016 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I just forgot about it. < 1271101044 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you should add a warning about b93 parts being incomplete ;P < 1271101060 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Already is one. < 1271101069 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, oh? okay < 1271101084 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It's a tracing sort of JIT; so I just trace all instructions I execute into a list, and mark those cells as being owned by that trace; then if I at some point end up trying to re-execute cells owned by a trace, I compile that trace instead and execute that. < 1271101136 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1271101212 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bbl getting some food too < 1271101231 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I could do some sort of "interpret without tracing unless this bit of code sees multiple executions" heuristics too, I guess. < 1271101289 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But where does a trace begin/end? < 1271101310 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Presumably on branches. < 1271101464 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: A trace begins whenever I need to execute anything (so the first trace begins at (0, 0)) and ends when I hit something that has been seen before. < 1271101494 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Something being based on both coordinates and value, I guess? < 1271101533 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"something" meaning "a cell registered as being part of an existing trace". < 1271101606 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And "cell" including both coordinates and value, I guess? :-P < 1271101678 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :No, just coordinates, current delta, and "mode", where "mode" can be normal, string-mode, value-mode (for 'x) or comment-mode (for ;). < 1271101738 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Wouldn't that break on p? < 1271101743 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't that mean that self-modifying code breaks? < 1271101762 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you change the value of a cell that is owned by a trace (no matter what delta it had), then... well, it depends on the mode in that case. For normal mode, I just invalidate the whole trace instead of figuring out if the change is significant; but for something like comment-mode, changes that do not change to/from ; are safe. < 1271101814 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmkay. < 1271101818 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And I think for value-mode I update the value stored in the trace, and delete any already compiled code, but keep the trace. < 1271101823 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Basically "p is slow mode". < 1271101845 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, though I was thinking I might do a compile-time "unsafe p" mode that you can use for programs that don't self-modify. < 1271101882 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :From the sounds of things your JIT will only be slow when you're modifying something that will then be executed. < 1271101889 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Otherwise, you're invalidating 0 traces. < 1271101905 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which will then be executed 0 more times. < 1271101920 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, though there's still some overhead in checking for trace-ownership. < 1271101928 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :True. < 1271101985 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There are additional complications in that I compile constant-coordinate p's into a direct memory references, and I have to record those in the space too, so that if I ever trace some coordinate that's being referred by compiled code directly, I have to invalidate that compiled code, because it could do unsafe p on that stop. < 1271102017 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Spot.* < 1271102027 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1271102054 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :This is also a bit hypothetical description since things are more or less broken at the moment. < 1271102059 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :heh. < 1271102284 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, back to the "put" problem. It compiles what's essentially "\0p" into the intermediate code "r3 <- STACK", "r4 <- STACK", "p 0, r3, r4" where the p args should be first-pop-on-left. That doesn't look quite correct; because of the \ there, the first pop from stack (to r3) should end up as the last argument to p. < 1271102340 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. Are there any notable *Unefunge* 98 interpreters? :P < 1271102433 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, now it puts V to (Y,X) instead of (X,Y) like it should; but *that* was just because I put the arguments in the wrong order in llbuild.CreateCall4. < 1271102658 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :back < 1271102668 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :TRACE: executing trace 0x1e312f0, in entry 2, stack: 2 2 0 < 1271102669 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :jitfunge llvm runtime: impossible < 1271102669 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Segmentation fault (core dumped) < 1271102671 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Still not quite it. :p < 1271102674 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh well. < 1271102711 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm, what if a trace is invalidated _while it is running_? < 1271102780 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: In that case I terminate running it; there's an "exit" out of a branch (with the delta that it had during the tracing) after each p, and same for all A..Z fingerprint-ops, since you never know about those; and a few others that could invalidate traces too. < 1271102797 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, did you fix your stack? < 1271102801 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1271102820 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : jitfunge llvm runtime: impossible <-- I disagree < 1271102829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it *is* possible < 1271102832 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :just needs a lot of work < 1271102844 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1271102849 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: That was also a bit hypothetical, I'm afraid: < 1271102850 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :fis@eris:~/src/jitfunge/src$ grep -i suicide *.cc < 1271102851 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :interp.cc: /*! \todo handle: put on current trace - suicide */ < 1271102863 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1271102886 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It *was* handled properly in some earlier iteration of jitfunge codebase, though. < 1271102892 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Except for those cases where it was buggy. < 1271102911 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you could probably figure it out directly for constant put, while doing some more checking for when both x and y coordinates are unknown < 1271102930 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in some cases even if x or y is unknown but the other is known you can compute if it is can ever intersect < 1271102962 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I already do it sort-of directly for constant put, but that brings the added hassle that if later the code it p's to is executed, the decision needs to be reconsidered. < 1271103031 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Not yet. < 1271103054 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I'll probably go ahead and make it a little cleaner-looking. < 1271103086 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, that may take some time < 1271103091 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: How's Mycology with your current iteration < 1271103096 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Eh. < 1271103103 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(sorry) < 1271103107 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(no offence meant) < 1271103116 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(just the chance for that joke was too good to miss) < 1271103127 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, oh also I think crashing on an invalid program is a bad idea. < 1271103132 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Just my two euros < 1271103171 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I haven't been morbid enough to try. < 1271103177 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1271103233 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: < 1271103240 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :0 1 2 3 4 5 6 7 < 1271103240 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: , works < 1271103241 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :G < 1271103244 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :codegen.cc:275: [compile] not handled: 46 < 1271103245 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :G? < 1271103256 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Hah. < 1271103260 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, what is 46? < 1271103263 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The llvm codegen is really rudimentary. < 1271103264 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, about? < 1271103270 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, the mangled idiom? < 1271103274 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Crashing on invalid programs. < 1271103281 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Ascii 46, so it's "." < 1271103297 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, The point is there is no such thing as invalid befunge code to my mind < 1271103305 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :of course to 93 devs it might appear different < 1271103322 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, but... how did it output the numbers then? < 1271103342 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You're off to a good start! < 1271103343 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Those were probably output by the tracing interp. As was the "G" there. < 1271103349 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ouch < 1271103369 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, how stable is the tracing interpreter? < 1271103372 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :For typical print loops, the first , is executed by the tracer, before it hits the loopy part; at that point it tries to compile the trace and hits problems. < 1271103393 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, so you can't handle >:#,_ yet? < 1271103409 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sure I can, as long as there is nothing in the trace that it can't compile. < 1271103413 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It runs hello-world just fine. < 1271103418 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1271103420 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :A bit noisily, perhaps, but otherwise fine. < 1271103448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, btw you realise what with this "two different implementations" thing, you need to test mycology both for the tracer and for the actual jit < 1271103476 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I don't think mycology expects , to work once and then stop working the next time < 1271103509 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The readme states that things are generally assumed to work an arbitrary number of times if they worked once :-) < 1271103520 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, how can you say "GOOD: , works"? < 1271103521 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That's probably true, but the architecture doesn't really let me test it only for the actual JIT. It would be borderline trivial to test only the tracing part, though. (Just drop all traces after generating them.) < 1271103530 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: How? < 1271103534 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Just so. :-P < 1271103535 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, after all you can't see that it was actually output < 1271103558 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, it could have been faked, Hard coded to always output those letters in a cycle forever ;P < 1271103558 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If it wasn't output, it's not GOOD, now is it. < 1271103579 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Sure, but then it wouldn't output the other things correctly. < 1271103589 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1271103590 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.com/vPefjzpw -- jitfunge running hello.b98. < 1271103618 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it could be hardcoded to just output mycology, as a huge printf() to insert date and random randomness values and such < 1271103646 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Mycology isn't meant to be a Turing test... < 1271103694 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The use case is an interpreter dev or general Befunge enthusiast, not somebody actively trying out nonsense to see how many GOODs he can get :-P < 1271103715 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, heh < 1271103755 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, is mycology re-entrant? < 1271103789 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, (0,0) and thereabouts can have various values after an execution < 1271103823 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The shared code/data thing of Befunge makes many JITy things quite messy. For example, if a p instruction ends up growing the borders, I need to recheck all wrapping traces just in case some of those might happen to intersect with that bit. (Since the cell ownership records are only there up to the borders.) < 1271103840 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, hm < 1271103843 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and I mark all spaces owned by a trace (because otherwise I wouldn't notice changes in them by p), so slowdown will probably totally break jitfunge. :p < 1271103853 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it would be the perfect way to test jitfunge though in both modes < 1271103878 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, how will it break it? < 1271103902 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Just use a loader, hacking the JIT so it doesn't drop traces that were overwritten by an i :-P < 1271103953 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, maybe it won't; I don't know exactly how it works. If it jumps directly to the far-away bits, then it won't. But if it traverses a huge number of spaces, jitfunge will end up using quite many bytes of memory for each of them. < 1271104002 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It jumps directly, since that's easier to write. (Just subtract the x pos from the target pos) < 1271104127 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :For the record, "jitfunge llvm runtime: impossible" is what the code says when you call a compiled trace and give it an entry point that doesn't actually exist. If I just knew why it was doing that... < 1271104239 0 :Oranjer!~HP_Admini@adsl-34-17-217.cae.bellsouth.net JOIN :#esoteric < 1271104443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, try gdb? But that may not help with JITing < 1271104638 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It seems that some bit of code has been adding entry points to the trace without invalidating the compiled code. (It needs to not flush stack and not stack-fold over those, and in any case the jump table at the beginning needs to contain the new entry points.) < 1271104733 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : /*! \todo recompile if next->compiled */ < 1271104744 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, yes, I don't think that actually invalidates the compiled code. < 1271104752 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1271104755 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Obviously I need a DWIM-capable compiler. < 1271104781 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, sin < 1271104783 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1271104785 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :isn't* < 1271104788 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that what you are writing < 1271104791 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, no? < 1271104967 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Segfaulting now. HOORAY. < 1271105091 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :stack_push 9, -1876564017 on stack < 1271105094 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The hell? < 1271105144 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's... The first stack access... < 1271105175 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, wait. stack_init is not returning a stack. XD < 1271105228 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :shocking! < 1271105264 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And the sanity check... Outputs "0 0 1 2 3 4 5 6 7 8 ". < 1271105285 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's a bit insane. < 1271105290 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i tak... yeah < 1271105306 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it is. < 1271105406 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just off by one. < 1271105496 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And now mycology fails. :( < 1271105614 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so from today's experiences we can deduce that befunge interpreters generally develop _backwards_ in time < 1271105644 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :bufsz is 0... How is bufsz 0? < 1271105649 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(generalized from at least two examples, here) < 1271105652 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, because it is zero? < 1271105671 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :presumably it was set to that at some point < 1271105678 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: It never was. < 1271105681 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It was initialised to 1024. < 1271105691 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And the only thing that modifies it doubles it. < 1271105692 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, gdb watchpoint then < 1271105708 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well if you double it enough times... < 1271105732 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : so from today's experiences we can deduce that befunge interpreters generally develop _backwards_ in time <--- no because sanity.bf comes before mycology.b98 < 1271105816 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yup, it's actually doubling that much. < 1271105823 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which scares me. < 1271105850 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, it is doing something wrong then < 1271105875 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now now, don't leap to conclusions < 1271105875 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1271105876 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, sure you didn't mix up * and ^? < 1271105886 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, or even * and ↑ < 1271105897 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's better. < 1271105903 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, hm? < 1271105916 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Wrong test for when to resize the stack. < 1271105929 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BAD: 0! != 1 < 1271105933 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That I hope is simple. < 1271105979 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Okay, then. Passing Mycology again. < 1271105988 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But not mycorand.bf < 1271106023 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : BAD: 0! != 1 <-- how the? < 1271106049 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You're the first I know of to have triggered that one. < 1271106050 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, how could just fixing stack underflow cause that? < 1271106061 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why did you test it then? < 1271106065 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Typo. < 1271106070 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It was a typo. < 1271106087 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, presumably it is a fatal error? < 1271106109 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: If I tested only things that ever failed in CCBI Mycology would be less than half its current size :-P < 1271106111 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It is. < 1271106179 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, you seem uninterested in adding things no one fails at < 1271106183 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when I suggest things < 1271106216 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And now, the prime number thing is borken. < 1271106225 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It thinks everything is prime. < 1271106235 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, how the fuck < 1271106236 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: In this case, since later parts of Mycology depend on !, it has to be tested. < 1271106245 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, okay < 1271106245 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I wish I knew. < 1271106262 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, do the other ones work? life.bf, wumpus and so on? < 1271106282 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That'd be amusing < 1271106288 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :But unlikely < 1271106294 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, what? If everything was prime? :D < 1271106310 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If the others worked < 1271106316 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1271106324 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if it passes mycology < 1271106406 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's a gigantic trace. < 1271106415 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, heh < 1271106453 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, from cfunge it would be too, Since it implements befunge98 and that has 32-bit (or more) cells. So that program just goes on and on and on < 1271106524 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*That's* better. < 1271106564 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, what caused it? < 1271106571 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/iZVC < 1271106596 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Reversed order of arguments for %. < 1271106622 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1271106646 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BTW, this no longer segfaults on pi.bf < 1271106658 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't *do* anything, but it no longer segfaults. < 1271106689 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, hm < 1271106770 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Once again, though. Are there any notable Unefunge '98 programs or interpreters? < 1271106823 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, iirc ccbi can run it < 1271106860 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I suspect Unefunge '98 would be much easier to compile efficiently is the thing... < 1271106872 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, it is still selfmodifying < 1271106878 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1271106881 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I don't know any programs in it at all < 1271106928 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The bit about being 2-d makes things a bit harder, what with needing smart data structures and all that. < 1271106942 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, your current program is broken I think < 1271106948 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, wumpus no longer works < 1271106954 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. Not sure why. < 1271106958 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, I think read char perhaps? < 1271106965 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Possible. < 1271106977 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Though rot13 still works. < 1271106977 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm no < 1271106988 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :robot.b93 still works < 1271107069 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, this is also broken: http://sprunge.us/QVgW (fib.bf) < 1271107075 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(usage: give a number, hit enter) < 1271107091 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ ./cfunge ../examples/fib.bf < 1271107091 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :9 < 1271107091 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :34 < 1271107108 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, that is what should happen < 1271107123 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And what actually happens? < 1271107132 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh wait, that a can be changed to 91+ < 1271107136 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it is still broken < 1271107141 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, it outputs lots of zeros < 1271107151 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Weird. < 1271107160 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wait now it works < 1271107163 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heisenbug < 1271107175 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Here it does a lot of nothing. < 1271107189 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, input. < 1271107204 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Good night < 1271107208 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, whole lot of 0s here. < 1271107254 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, well first changing it from a to 91+ didn't fix it < 1271107255 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then it did < 1271107272 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so consider it a non-reproducible heisenbug < 1271107279 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(a is b98) < 1271107294 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Wait, "a"? Ah. No wonder it does a whole lot of nothing. < 1271107333 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Okay, then. It's just wumpus. And I got nothing. < 1271107357 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, on wumpus? < 1271107360 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, trace it < 1271107364 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I get it ignoring my inpu t < 1271107367 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :input* < 1271107374 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, trace it and compare to last working trace < 1271107383 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hg pull the old revision < 1271107404 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(or however you do that with hg) < 1271107409 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's annoying that these valgrind errors list "HeaderFileFromTheLibrary.h:1234" for an error inside my function when the error happens in an inlined function; because then it doesn't list the line number where in my function it happens. < 1271107422 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'll futz with it later. < 1271107429 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, --db-attach=yes < 1271107433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and do bt < 1271107458 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, heck valgrind should provide a bt too < 1271107492 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: It does provide a backtrace, but the problem is that it's an inlined function, there's no call there. In place it lists something like: < 1271107494 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :==14642== by 0x4EA678: CodegenLLVM::compile(Trace*, TList*, int) (Function.h:126) < 1271107521 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Where CodegenLLVM::compile is my function, but Function.h:126 is some inlined thing inside LLVM's Function.h header. < 1271107539 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :So it doesn't list the spot in the CodegenLLVM::compile function where the error actually happens. < 1271107594 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :gdb's backtrace somehow manages to list it properly, though, so --db-attach=yes helped. < 1271107834 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm a bit unsure on how I managed to get an "Invalid write of size 8" in llvm::Function's constructor, though. It refers to a block free'd by llvm::Function's destructor earlier, but (if I understood the LLVM docs right) it should be safe to say "delete fun" where fun is a llvm::Function*; the destructor should remove all references to the function. < 1271108000 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps it only removes all references held by the function, and I need to call fun->eraseFromParent(); instead. < 1271108002 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, Can't help you there. Too much C++ nonsense < 1271108010 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"This method unlinks 'this' from the containing module and deletes it." < 1271108040 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure it's C++ nonsense, per se; it's more about LLVM's garbage-collection memory-handling nonsense. Which probably makes an amount of sense, I'm just very unfamiliar with it. < 1271108115 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it fixed that particular problem at least. < 1271108199 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's one "Invalid read of size 1" in llvm::JIT::getPointerToFunction still, and it's from address "0x8", which "is not stack'd, malloc'd or (recently) free'd"; well, that's not a surprise, but I doubt it should refer to 0x8 anyhow. < 1271108223 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1271108255 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you know, I would have been able to tell that you wrote that line even without the nick at front. < 1271108265 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sometimes you have a very distinctive style < 1271108271 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :can't really pinpoint what it is < 1271108484 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : %stack2 = phi i32* [ %entry_stack, %FunEntry ], [ , %Code11 ] ; [#uses=1] < 1271108492 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The might not be what I want. < 1271108609 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It seems to get a bit confused if there's an entry point immediately after a _ branch. < 1271108987 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :fis@eris:~/src/jitfunge/src$ echo '(hello)S' | ./jitfunge ../underload.b98 2>/dev/null < 1271108988 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :unterminated (. < 1271108992 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, it doesn't crash... < 1271109072 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, that is one step forward < 1271109084 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, also: try mycology, it tells you when something is wrong < 1271109097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it is probably saner to make it pass a bit further first < 1271109168 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Guess so; though it's a bit of a big program, long traces to look through. < 1271109326 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, well getting mycology going a bit of the way should help < 1271109345 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess I should at least add the , there. :p < 1271109438 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The ., I mean. < 1271109527 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1271109542 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :fis@eris:~/src/jitfunge/src$ ./jitfunge ../../jitfunge_old/jitfunge/myco/mycology/mycology.b98 2>/dev/null < 1271109542 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :0 1 2 3 4 5 6 7 < 1271109542 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: , works < 1271109542 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Segmentation fault (core dumped) < 1271109545 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Heh, it got worse. < 1271109664 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :$1 = (struct llvm::Function *) 0x0 < 1271109667 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That's probably why. < 1271109673 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, backtrace is useful? I'm surprised < 1271109690 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :As long as you bother stepping out of the LLVM internals, sure. < 1271109705 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, what if it crashes in generated code? < 1271109717 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Then it'll probably be less helpful. < 1271109745 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1271109753 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :0 1 2 3 4 5 6 7 < 1271109753 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: , works < 1271109754 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: : duplicates < 1271109754 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: empty stack pops zero < 1271109754 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: 2-2 = 0 < 1271109754 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: | works < 1271109756 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: 0! = 1 < 1271109758 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Segmentation fault (core dumped) < 1271109760 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yay, it got further. < 1271109761 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1271109762 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Soon it'll be too long to paste here. :p < 1271109820 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Crashes when compiling a !. < 1271109870 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1271109895 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, for bug testing maybe you should make it always compile the trace even the first time < 1271109911 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Do you happen to have a pasted mycology output somewhere? (Though I guess I could just run it with some real interpreter.) < 1271109923 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, sec < 1271109925 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The Mycology comparison page links to .txts for reference output < 1271109930 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :iki.fi/deewiant and browse. < 1271109947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, http://sprunge.us/KFKR < 1271109947 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :First column of the table IIRC. < 1271109951 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Oh, those are links. I didn't notice. :p < 1271109958 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I was there already, but only saw the fancy table. < 1271110012 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :In this case I think I remember by heart that it tries 7! = 0 next < 1271110021 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Don't know what's after that, though. < 1271110029 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Right; it was compiling the "7!" bit, and I had used regs[arg->value] directly, whereas I should've used get_arg_value(arg), because for the "7!" case arg->value had a constant 7 instead of a register number. < 1271110038 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :$1 = {arg = 7, c = 1 '\001'} < 1271110092 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: 7! = 0, followed by a "Gcodegen.cc:263: [compile] not handled: 42". < 1271110106 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That'd be *? < 1271110110 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1271110115 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Who needs to multiply numbers anyway? < 1271110117 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1271110233 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Also my - instruction subtracts values the wrong way around, eh-heh. < 1271110245 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Why didn't you make that "2-2 test unsymmetric? Didn't we talk about this?-) < 1271110261 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I don't know how you people manage these symmetry failures, I don't think I've ever coded one :-P < 1271110276 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ffs < 1271110287 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I have so many intermediate data structures, I can't be expected to remember which way I've put the arguments in there. < 1271110299 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Your fault for overengineering :-P < 1271110306 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1271110324 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Last time I was accused of underengineering when it wasn't trivial to switch backends. :p < 1271110333 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :;-P < 1271110347 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: 8*0 = 0 < 1271110347 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: # < jumps into < < 1271110347 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: \ swaps < 1271110347 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Gcompiler.cc:334: [compile] unknown op in intermediate compiler: 96 < 1271110362 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :96... it's before a... dunno < 1271110370 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's the backtick. < 1271110376 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1271110382 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, did it compile the \ btw? < 1271110391 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, or just trace it? < 1271110417 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, as I said you might want to actually compile these all the time during this phase of development < 1271110424 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It does compile \. It doesn't generate any code for \, though. < 1271110432 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's just a matter of swapping register names, after all. < 1271110433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, well that could be an issue < 1271110437 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1271110456 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :No, I mean, it doesn't need to. If there's a stand-alone \, it will create two stack pops and two stack pushes. < 1271110545 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Actually it seems to compile out some of mycology's tests too, since the arguments to _s are constant. < 1271110587 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, hm. You know this will be a problem, that it won't test the "we don't know the value at all" case < 1271110596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or it won't test "constant one" < 1271111109 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's in fact almost three different implementations for many instructions, because the intermediate-form compiler does constant-folding. It's a leftover from the non-LLVM backend days. These days I could disable all that and let LLVM's IRBuilder and/or optimizer do it directly. < 1271111123 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: 01` = 0 < 1271111123 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: 10` = 1 < 1271111123 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :... then an infinite loop. < 1271111138 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, infinite loop of what? < 1271111144 0 :kar8nga!unknown@unknown.invalid QUIT :Remote host closed the connection < 1271111147 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Of no output. < 1271111161 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ah, so not of those two lines repeating? < 1271111169 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :No, those came just once. < 1271111176 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"GOOD: 900pg gets 9" is supposed to come next. < 1271111200 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Interestingly it seems to be an infinite loop not in generated code. < 1271111205 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, how if your fungespace implemented? < 1271111207 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I have an excuse for using (0,0) there, since it makes the code 6 chars shorter. < 1271111211 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, quad tree? hash table? < 1271111222 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, :P < 1271111236 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Which actually matters in the Befunge-93 area. < 1271111239 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Just a regular hash table at the moment. < 1271111244 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yeah < 1271111264 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, do you generate 64 bit code nowdays? < 1271111293 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and how hard would switching to that be? < 1271111300 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if you still generate 32-bit < 1271111309 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Should be pretty trivial with LLVM. < 1271111310 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :llvm would do some of the work < 1271111321 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you still have to care about type sizes to some extent < 1271111327 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Even the previous manual code-generator did that, with a set of 32-bit #ifdefs. Currently I think it generates 64-bit code; it's really pretty abstracted. < 1271111340 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I use 32-bit cells currently, but that's just a two-line change. < 1271111350 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, hah, when I last saw the old one it was 32-bit only < 1271111372 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, there's been one or two iterations in-between, more or less borken. < 1271111524 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, how much easier is it using the llvm backend? < 1271111665 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Somewhat. I can't really quantify it much. Not terribly much; I had a reasonably similar assembly-generating class in the old jitfunge, though LLVM's IRBuilder is a bit more nicer to use. And at least I don't have to spend time adding features to it whenever I need something I haven't needed before. < 1271111677 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The infinite loop seems to be in (427, 17) with delta (-1, 0); there's a space there, and for some reason it just refuses to move on. < 1271111716 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :One wonders why your x coordinate is so high. < 1271111789 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Should it wrap around close to these parts? I guess it might, but not before the 900pg test. < 1271111802 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Right after the 900pg, IIRC. < 1271111808 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I think my wrapping's completely untested. < 1271111820 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think your wrapping won't work. ;-) < 1271111822 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/untested/broken/ < 1271111957 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :My phrasing was more gentle. < 1271111967 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and? < 1271111973 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And inaccurate. < 1271111978 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1271111990 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so it was broken then? < 1271112007 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Probably; I haven't exactly figured out yet how. It might also just get lost somehow. < 1271112101 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :aka broken ;P < 1271112166 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It enters row 17 at column 13 (from row 16), then the next traced X coordinates are: 12, 11, 9, 8, 6, 7, 8, 11, 13; then at (12,17) with delta (-1,0) it compiles something, comes out of it at (5,17) still moving backwards, traces a single $ instruction, and after that trace has been finished it suddenly is there in (427,17). < 1271112196 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The $ there on that line looks as if it's supposed to wrap there. < 1271112242 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, how did it mirror there? < 1271112369 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's an _ at column 6; it hits that, prints something, goes to the < at 13, then enters a print loop. < 1271112393 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That's okay so far; then it starts tracing from the _ leftwards, reads the $, and should wrap somewhere. < 1271112409 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Instead it ends the trace and comes out of the trace function at column 427. < 1271112409 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Certainly not to column 427. < 1271112421 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I guess you could call that broken, if you were so inclined. < 1271112507 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1271112541 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: The cardinal movement thing wraps by setting the X coordinate to the largest Y value. :p < 1271112553 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-D < 1271112583 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Hrmm, well: < 1271112584 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, if your line count is 427, your Mycology is very old or you're doing something else wrong. < 1271112591 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :This is very old. < 1271112596 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :../../jitfunge_old/jitfunge/myco/mycology/mycology.b98 < 1271112603 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There are bugfixes in the new ones, you know? :-P < 1271112628 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, now, at least this looks interesting: < 1271112635 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: 01` = 0 < 1271112635 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: 10` = 1 < 1271112635 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GGBG < 1271112635 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: a pushes 10 < 1271112635 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: b-f push 11-15 < 1271112636 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: [ turns left < 1271112638 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: ] turns right < 1271112639 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :GGBG < 1271112640 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :GOOD: instructions between ; are skipped < 1271112642 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :BUBAD: k reflects < 1271112644 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And BUBAD. < 1271112644 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :BUBAD! < 1271112665 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :y'might want to check out the latest. < 1271112666 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Bubu-bubad to the bone. < 1271112667 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1271112691 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Have to go to sleep, wake-up time at something like 05am "tomorrow"; will continue this hilariosity later. < 1271112712 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Now that you're around k, bear in mind that that Mycology will probably disagree with the current one about it. < 1271112727 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :At least I think that 427 lines implies somewhere around release one or two. < 1271112746 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hell, I might not have something that old under revision control. < 1271112747 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'll get a new one, don't you worry. Though the GGBG and BUBAD lines are what I'll look at first. < 1271112772 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It should say "Befunge-98 detected" and stuff before it goes to a. < 1271112805 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Just for fun, I'll try the newest one too. < 1271112844 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, no changes so far; it's still GGBG BUBAD. I guess you haven't changed this early bits significantly. < 1271112864 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, not significantly. < 1271112870 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(Maybe not at all up to that point.) < 1271113247 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think from this we can learn that Befunge is just plain hard to implement at all. < 1271113276 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :There's a bit of a gap between "implement" and "JIT compile" < 1271113299 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, but even B93 gave me some trouble. :P < 1271113322 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Granted, what I was doing *was* a not-very-good threaded code compiler. But still. < 1271113357 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Half your problem was writing threaded code in C the first time around :-P < 1271113381 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1271114070 0 :tombom_!unknown@unknown.invalid QUIT :Quit: Leaving < 1271116227 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds