< 1239062460 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1239062474 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :you can? < 1239062475 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1239062480 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :that's like crazy < 1239062484 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :your own functions! < 1239062499 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :lol you can't write functions in python < 1239062501 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :w00t a c00l l4ngu4ge < 1239062522 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :ehird, and yes I saw it was python and tried it in python < 1239062524 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :duh < 1239062541 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a: [T](T)T < 1239062543 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :↑ A real type. < 1239062554 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :ehird, language? < 1239062558 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Scala. < 1239062565 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Meaning: Taking type parameter T, a function taking T and returning T. < 1239062577 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :To clarify, (Int, Int)String would be "Takes two ints and returns a string." < 1239062592 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And [T](T, Int)Int would be "taking a type parameter T, takes a T and an Int and returns an Int." < 1239062600 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Of course, you don't need to specify [T] as it's inferred from the argument. < 1239062611 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It is like Haskell's "forall a." < 1239062616 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :haskell in disguise? < 1239062620 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :this scala I mean < 1239062623 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Scala is similar to Haskell. < 1239062630 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It runs on the JVM and has many OOP features. < 1239062636 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And also a lot of Haskell-esque things. < 1239062641 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And a lot of Ruby-esque things. < 1239062676 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :didn't scala do some publicity stunt with a suicide recently < 1239062686 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1239062703 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1239062707 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Tony Morris is back to being annoying on reddit. < 1239062713 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :who < 1239062719 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :The guy who was going to off himself. < 1239062725 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :didn't he do it < 1239062725 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1239062728 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1239062728 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :did he ever post an apology? < 1239062730 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :what < 1239062739 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what was it about then < 1239062741 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster_ipv6: The post saying he shot himself was a troll. < 1239062749 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1239062770 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :ehird, so the police managed to find him in advance of that or < 1239062772 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :And the whole thing was that he'd said he'd going to on IRC (and email simultaneously: it was automated), had already taken his motorbike and couldn't be found. < 1239062778 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster_ipv6: Yes. The police found him. < 1239062783 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1239062796 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: do you know what happened since? Did he post anything? < 1239062802 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :apart from reddit trolls < 1239062816 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :ehird, a cron job would have made sense though for it < 1239062822 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: He replied to the message saying he'd been found saying he's doing much better now and then returned to insulting christians on reddit < 1239062823 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :he's in #Scala so i assume he apologized somehow < 1239062845 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: An apology was never expected afaik,. < 1239062859 0 :FireFly!unknown@unknown.invalid PRIVMSG #esoteric :--> < 1239062860 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :they were talking about ostracizing him < 1239062866 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Er, since when? < 1239062866 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :for being a douche < 1239062875 0 :FireFly!unknown@unknown.invalid QUIT :"Later" < 1239062875 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Right, it's lament's-troll-reality. < 1239062875 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :when they were searching for him < 1239062883 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :eh, check the logs if you want < 1239062891 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :They never said anything of the sort, and I was there for it. < 1239062901 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :what a silly address: "Faculty street 1" < 1239062904 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :guess what that is < 1239062947 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird: they did. < 1239062950 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so, basically, if he later really commits suicide, no one will care? < 1239062963 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, now that is an evil thought < 1239062974 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: The most I heard was one of the people who regularly talked to him saying they were going to shout at him for saying he'd do it. < 1239062991 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Based on your less-than-immaculate reputation for, uh, truth, I'm inclined to believe my, more probable, version. < 1239062992 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, hah at iwc btw < 1239063017 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, though darth&droids was funnier < 1239063022 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION needs to recall what it was about < 1239063035 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, iwc: martians < 1239063036 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :eh, i could check the logs for the exact quote, but it's easier to just ban you < 1239063041 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes < 1239063046 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Feel free to do either. < 1239063060 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, D&D: 3 pages background on shape shifter < 1239063063 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1239063100 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah yes < 1239063124 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you would think the GM had learned by now ;) < 1239063134 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: I'm waiting! < 1239063147 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, so you would < 1239063198 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :lament: Oi. < 1239063266 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :night < 1239063268 0 :AnMaster_ipv6!unknown@unknown.invalid PRIVMSG #esoteric :really < 1239063290 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster_ipv6: also, my evil thought is known as the story of "The boy who cried wolf" < 1239063326 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wow that's ancient < 1239063656 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wants to play Paranoia again at some point < 1239063734 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"If Google would have actually put a fraction of the effort that they put into dreaming up the April's Fools joke into actually *doing* something about AGI , we'd be there by now." < 1239063737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION rolleye < 1239063737 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :s < 1239063811 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :A fraction of a fraction of the effort they normally do? < 1239063843 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well, i'm sure their server clusters would be useful for it < 1239064130 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"First of all," Akon said. "First of all. Does anyone have any plausible hypothesis, any reasonable interpretation of what we know, under which the aliens do *not* eat their own children?" < 1239064131 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric : — Eliezer Yudkowsky, Three Worlds Collide, "The Baby-Eating Aliens" < 1239064295 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm the title sounds like one of my theories for why aliens don't show up in public < 1239064333 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(basically, we are so prejudiced that we would hate them if we knew their culture) < 1239064363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1239064373 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(to be clear, for much less than eating babies) < 1239064405 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ehird: link? < 1239064418 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.overcomingbias.com/2009/01/the-babyeating-aliens.html first part of http://www.overcomingbias.com/2009/01/three-worlds-collide.html < 1239064426 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which is, in typical yudkowsky fashion, about rationality. < 1239064579 0 :psygnisfive!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1239064598 0 :psygnisfive!n=psygnisf@c-71-196-114-50.hsd1.fl.comcast.net JOIN :#esoteric < 1239064891 0 :M0ny!unknown@unknown.invalid QUIT :"PEW PEW" < 1239065044 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"And ancient environmentalist arguments about population control, plus... oh, dear. I don't think they've realized that Adolf Hitler is a bad guy." < 1239065051 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(from the second part) < 1239065500 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :[[Akon flipped a hand. "I don't think we'll run short of volunteers to watch disgusting alien pornography. Just post it to the ship's 4chan, and check after a few hours to see if anything was modded up to +5 Insightful." ]] < 1239067252 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i like it, maybe you can put that in your comic < 1239067277 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :"i read adolf hitler is a dead guy" and i was like wut < 1239067285 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :but then i realized my silly mistake. < 1239067312 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1239067327 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :was that to ehird? < 1239067331 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :*i read " < 1239067339 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: comic for you, rest for no one < 1239067344 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has no comic < 1239067357 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :well "silly" was for ehird, and also "then" < 1239067421 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION refrains from believing anything oklopol_ just said < 1239067436 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :well umm err < 1239067445 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :about the comic < 1239067455 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :haven't i told you like a million times i want you to make a comic < 1239067463 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no < 1239067468 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :because if you made one, it would awesome (as a verb) < 1239067474 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :yes i have < 1239067476 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :... < 1239067489 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no < 1239067502 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :well i'm telling now anyhow. < 1239067511 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although if you reduce that million a bit, i'm not entirely sure < 1239067517 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :and that comic thing was a reference to this < 1239067524 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :well maybe like 5. < 1239067557 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :actually i think it was my catch phrase at some point, so probably more. < 1239067572 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :anyway sleep time, you get working on your mathketeers < 1239067574 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :-> < 1239067589 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :get working? < 1239067592 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :well anyway -> < 1239067600 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh those < 1239068650 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :very much sleep-time indeed, 3 am dammit < 1239068669 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :and here I'm supposed to get up to work later this morning < 1239068737 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :very cool novella about the aliens btw < 1239069702 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I think I just thought of what it might be a metaphor for, but I might be completely misunderstanding < 1239071101 0 :Gracenotes_!n=person@wikipedia/Gracenotes JOIN :#esoteric < 1239072439 0 :Gracenotes!unknown@unknown.invalid QUIT :Connection timed out < 1239072828 0 :rodgort!unknown@unknown.invalid QUIT :Client Quit < 1239073021 0 :rodgort!n=rodgort@ludios.net JOIN :#esoteric < 1239073094 0 :Gracenotes_!unknown@unknown.invalid QUIT :Connection timed out < 1239075329 0 :Asztal_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1239076271 0 :Gracenotes!n=person@wikipedia/Gracenotes JOIN :#esoteric < 1239076865 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :oklopol_: do you have a real name? < 1239080648 0 :mtve!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1239082011 0 :GreaseMonkey!n=gm@unaffiliated/greasemonkey JOIN :#esoteric < 1239083290 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :he does! < 1239083311 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that's just a rumor! < 1239083324 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :his name is oklopol < 1239083326 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :or oklofok < 1239083328 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :or ... < 1239085278 0 :jix!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1239085295 0 :jix!n=jix@dyndsl-095-033-097-081.ewe-ip-backbone.de JOIN :#esoteric < 1239085735 0 :neldoreth!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1239089065 0 :neldoreth!n=user@unixboard/users/neldoreth JOIN :#esoteric < 1239089509 0 :mtve!n=mtve@65.98.99.53 JOIN :#esoteric < 1239091199 0 :clog!unknown@unknown.invalid QUIT :ended < 1239091200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1239091685 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://qntm.org/?leak <== ALL Fine Structure fans, READ < 1239092103 0 :Sgeo!unknown@unknown.invalid QUIT :"Leaving" < 1239092883 0 :Mony!n=Harmony@AToulouse-258-1-83-144.w90-60.abo.wanadoo.fr JOIN :#esoteric < 1239092911 0 :Mony!unknown@unknown.invalid NICK :Guest43671 < 1239092946 0 :Guest43671!unknown@unknown.invalid NICK :M0ny < 1239092956 0 :M0ny!unknown@unknown.invalid PRIVMSG #esoteric :yop < 1239094996 0 :FireFly!n=FireFly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1239096174 0 :BeholdMyGlory!n=BeholdMy@d83-183-183-70.cust.tele2.se JOIN :#esoteric < 1239097908 0 :Judofyr!n=Judofyr@c0796BF51.dhcp.bluecom.no JOIN :#esoteric < 1239098091 0 :FireFly!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1239098227 0 :FireFly!n=FireFly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1239098612 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 60 (Operation timed out) < 1239098681 0 :Judofyr!n=Judofyr@c0796BF51.dhcp.bluecom.no JOIN :#esoteric < 1239098904 0 :olsner!unknown@unknown.invalid QUIT :"Leaving" < 1239100010 0 :Gracenotes!unknown@unknown.invalid QUIT :"Leaving" < 1239100055 0 :Gracenotes!n=person@wikipedia/Gracenotes JOIN :#esoteric < 1239100546 0 :Asztal_!n=asztal@host86-163-45-19.range86-163.btcentralplus.com JOIN :#esoteric < 1239100739 0 :tombom!n=tombomp@wikipedia/Tombomp JOIN :#esoteric < 1239101261 0 :FireFly!unknown@unknown.invalid QUIT :"Later" < 1239102520 0 :FireFly!n=FireFly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1239102960 0 :FireyFly!n=FireFly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1239103027 0 :FireFly!unknown@unknown.invalid QUIT :Nick collision from services. < 1239103031 0 :FireyFly!unknown@unknown.invalid NICK :FireFly < 1239103065 0 :AnMaster_ipv6!unknown@unknown.invalid NICK :AnMaster < 1239104320 0 :GreaseMonkey!unknown@unknown.invalid QUIT :"X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer" < 1239105864 0 :Judofyr!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1239105964 0 :Judofyr!n=Judofyr@c0796BF51.dhcp.bluecom.no JOIN :#esoteric < 1239108905 0 :M0ny!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1239108924 0 :Mony!n=Harmony@AToulouse-258-1-83-144.w90-60.abo.wanadoo.fr JOIN :#esoteric < 1239108951 0 :Mony!unknown@unknown.invalid NICK :Guest87749 < 1239109107 0 :Guest87749!unknown@unknown.invalid NICK :M0ny < 1239110728 0 :FireFly!unknown@unknown.invalid NICK :FireMipo < 1239110847 0 :Judofyr!unknown@unknown.invalid QUIT :"raise Hand, 'wave'" < 1239112817 0 :oerjan!unknown@unknown.invalid QUIT :"leaving" < 1239113571 0 :victor______!n=victor__@ppp83-237-222-244.pppoe.mtu-net.ru JOIN :#esoteric < 1239114109 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :hello! i just wrote cli bf debugger. does anybody know what to do with it ? :) < 1239116860 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :nobody knows.. < 1239116913 0 :victor______!unknown@unknown.invalid PART #esoteric :? < 1239117008 0 :fungot!unknown@unknown.invalid QUIT :Read error: 145 (Connection timed out) < 1239117027 0 :und3f!n=und3f@costumeness.airline.volia.net JOIN :#esoteric < 1239117107 0 :fizzie!unknown@unknown.invalid QUIT :Read error: 145 (Connection timed out) < 1239117222 0 :victor______!n=victor__@ppp83-237-222-244.pppoe.mtu-net.ru JOIN :#esoteric < 1239117264 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric : hello! i just wrote cli bf debugger. does anybody know what to do with it ? :) < try eating it < 1239117352 0 :fizzie!i=fis@iris.zem.fi JOIN :#esoteric < 1239117440 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :thanx i try maybe. i mean i can put it somewhere if anybody need < 1239117484 0 :Slereah!unknown@unknown.invalid PRIVMSG #esoteric :Well, you can link it on the wiki < 1239118798 0 :KingOfKarlsruhe!n=nice@HSI-KBW-091-089-027-168.hsi2.kabelbw.de JOIN :#esoteric < 1239119900 0 :FireMipo!unknown@unknown.invalid NICK :FireFly < 1239120942 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :victor______, hm... < 1239120949 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bf debugger? < 1239120954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :how would it work < 1239121006 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :i just didn't found one for command line. mm. 'next instruction', 'set breakpoint' etc < 1239121069 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well right < 1239121071 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1239121085 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :watch point in memory? < 1239121098 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as in break when a specific cell is written/read < 1239121125 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :yes, for example < 1239121166 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so what lang did you write the debugger in? < 1239121175 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :bf? :D < 1239121182 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :no :) < 1239121184 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :perl < 1239121212 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1239121234 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :new here or just long time idler? < 1239121244 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :first time < 1239121251 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(A nick like that I think I would remember) < 1239121278 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so, have you made this debugger public? It sounds interesting. < 1239121304 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :though I don't know much perl. < 1239121350 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :yes, but i'm looking for free ftp to put it. it terrible, all services needs javascript enabled < 1239121362 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1239121370 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :a few minutes and it will be public :) < 1239121380 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :if it is a single perl file, why not use a pastebin < 1239121404 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :http://dpaste.com/25639/ < 1239121405 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1239121431 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :./bfg-0.2 -p prog.b < 1239121433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION notice a lack of use strict < 1239121461 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no criticism, I don't know enough perl be sure if that is a good or bad thing. < 1239121483 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :i think it won't copile with strict :) < 1239121514 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :"real programmers who use fortran for strings" don't need strict < 1239121544 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :but larry says that its bad < 1239121547 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fortran for strings? I'm afraid I don't get that part of the reference < 1239121593 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(C, Scheme, Erlang, Bash I know well, Befunge98 too, haskell I want to learn as soon as I have some free time for that) < 1239121614 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(oh and I can read python and a few other langs too) < 1239121618 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :ive found howto about real programmers in isolnag today :) < 1239121647 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :haskell is my dream too < 1239121648 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :victor______, hm "print "[1B\r" . (' ' x 50);" looks odd < 1239121653 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what encoding are you using < 1239121679 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it looks like an embedded "char missing" here < 1239121682 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :ah, yes, it requires ansi sequences < 1239121689 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :what os do you use ? < 1239121694 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Linux atm < 1239121701 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1239121707 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :its just for colors < 1239121713 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1239121715 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well it should work, but not in firefox :P < 1239121721 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(where I was viewing the paste) < 1239121741 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :i hope dpaste didn't eat them < 1239121765 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :its possible to rewrite it using ANSI::color module < 1239121796 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that would mean I would have to deal with cpan :( < 1239121830 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah no, this distro does have a perl-core/Term-ANSIColor package < 1239121857 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :i mean _i can rewrite if necessary :) < 1239121888 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no need. I'm not heavily into bf anyway, there are others here (seem to be idling atm though) who may be more interested < 1239121901 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :^bf +++++[->+++++[->+++++<]<]>>----[->+>+<<]>-----------------.---.>. < 1239121905 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1239121908 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :where is that bot < 1239121911 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, where is fungot? < 1239122030 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :victor______, but the debugger looks nice, haven't tried it, since 1) I don't know perl well enough 2) I am paranoid 3) no offence meant. < 1239122084 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :ok, '2)' is enough < 1239122090 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well I'll just create another user I guess. < 1239122117 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :you can run it in sandbox for example < 1239122161 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :and, if you were looking at the sources i already know your root pass :) < 1239122162 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1239122174 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://dpaste.com/25639/plain/ is mangled it seems < 1239122189 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wait no < 1239122204 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :my mistake < 1239122308 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1239122331 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :interesting < 1239122344 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :victor______, when run in interpreter mode do you optimise the program btw? < 1239122351 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :no < 1239122356 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1239122358 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :its quite slow < 1239122381 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :except sum simple things like caching ']' and '[' < 1239122388 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric ://some < 1239122411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm tried the lost kingdom program in it? (a text adventure in bf, file is around 1.7 MB or something iirc) < 1239122428 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :trie TakeOverTheWorld < 1239122428 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://jonripley.com/i-fiction/games/LostKingdomBF.html < 1239122439 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :haven't heard of that one < 1239122554 0 :lifthrasiir!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but that is compiled from BFBASIC... :p < 1239122563 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lifthrasiir, that is true < 1239122572 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it is a good way to test bf interpreters < 1239122577 0 :lifthrasiir!unknown@unknown.invalid PRIVMSG #esoteric :agreed. < 1239122590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, somewhat like a acid test for bf interpreters < 1239122596 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :an* < 1239122605 0 :lifthrasiir!unknown@unknown.invalid PRIVMSG #esoteric :i'd like to see bigger brainfuck program, so it can be used as milestone for optimization. < 1239122627 0 :lifthrasiir!unknown@unknown.invalid PRIVMSG #esoteric :(as like mycology suite have been informally used for funge-98 performance test) < 1239122670 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lifthrasiir, well, lostking.b can be optimised optimised even on a bf level iirc < 1239122675 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :some useless [-] and such < 1239122680 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :when cell is known to be zero < 1239122696 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :i also tested awib, but its not too big < 1239122698 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :lifthrasiir, also I prefer to compile bf really < 1239122782 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waits for perl -i bfg.pl LostKingdomBF/LostKng.b < 1239122786 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :2.1 MB file even < 1239122840 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :aha, i'm waiting too < 1239122850 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well < 1239122854 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :but it's just debugger < 1239122857 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1239122873 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :and .. bfg -p -i < 1239122893 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :bfint LostKng.b < 1239122894 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :Error: Program is too large, maximum is 65535 operations. < 1239122924 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err what does -p do? < 1239122951 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :$ perl bfg.pl -p -i LostKingdomBF/LostKng.b < 1239122955 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that just quits directly < 1239122964 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and yes I put the -i in the wrong place indeed < 1239122982 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :preprocess. it is necessary because it includes '!' and it is end of code like in dbfi < 1239122995 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :but with '-p' it skip comments, insert includes, etc < 1239123012 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1239123026 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1239123038 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well you should skip every unknown char in bf < 1239123043 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :btw how do you handle EOF < 1239123060 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what value does that push to the program < 1239123071 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :zero :) < 1239123081 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1239123083 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :i skip any chars except '!' < 1239123091 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I see < 1239123098 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what do you think about befunge btw? < 1239123142 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :i didn't know or use it < 1239123164 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ok. A self modifying two dimensional language. < 1239123177 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Befunge < 1239123199 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :yes, i know what is it, but don't know it < 1239123203 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1239123237 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, there? < 1239123267 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :awib segfaults when tried to compile lostkindom < 1239123281 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1239123363 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :victor______, I wrote a "bf-to-C" compiler once, it worked and so on and optimised code somewhat, it compiled everything into one function though, when compiling the resulting C file for lostkingdom, GCC ran out of memory < 1239123389 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :hh < 1239123402 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :what do we want from basic ? < 1239123411 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1239123422 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anwyay... maybe I should try again now that GCC 4.3 is stable on gentoo... < 1239123458 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :is let gcc to segfault only once using -fast-math and -whole-program < 1239123498 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I'm sorry, but I didn't understand that.. < 1239123502 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :4.3.3 is in testing branch on gentoo < 1239123523 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well true. 4.3.2 is stable here on Gentoo x86_64 (which I run) at least < 1239123538 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :my english is too bad? i learned it only from perl < 1239123547 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it's ok. < 1239123553 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(I'm not a native speaker either anyway) < 1239123557 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :hh < 1239123621 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :you learned english from perl? :D < 1239123624 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also why would I want to use -fwhole-program, most of the time it doesn't help very much, and it requires a special build system. < 1239123702 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :i tried to use it once, it was c++ programm with a lot of templates so main.cpp includes almost everything < 1239123718 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :but gcc failed to compile it < 1239123724 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :with -whole < 1239124070 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1239124097 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as for -ffast-math, unless you know exactly how the program works and how it will be affected it would be a bad idea < 1239124162 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :i knew. it was a boring math program partly written in assembler which had only two target users < 1239124178 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :and fast-math increased perfomance twice < 1239124206 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1239124247 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric :but in most cases fat-math breaks all :) < 1239124253 0 :victor______!unknown@unknown.invalid PRIVMSG #esoteric ://fast < 1239124431 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I'm going to merge the exact bounds stuff back into cfunge trunk, so that other branch will soon be deprecated. < 1239124466 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Alright < 1239124484 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :merged and pushed < 1239124584 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :next item: error handling cleanup < 1239124597 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :less random fputs and abort, and some central system < 1239124646 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :15:24 victor______: i think it won't copile with strict :) < 1239124648 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fail < 1239124668 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, it's rather eso isn't it? < 1239124684 0 :ais523!n=ais523@92-236-187-64.cable.ubr08.king.blueyonder.co.uk JOIN :#esoteric < 1239124690 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hi ais523 < 1239124701 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: that was fast, and hi < 1239124708 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1239124903 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, since you know gcc so well, any idea why -fgcse-sm and -fgcse-las are not enabled at any -O level by default? < 1239124908 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they don't seem to break anything < 1239124934 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and for cfunge they offer a measurable speed-up on certain processors (such as one of mine) < 1239124935 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :common subexpression elimination can make programs slower < 1239124955 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, certain types of gcse is enabled by -O and higher though < 1239124958 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1239124965 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :presumably those are the ones more likely to help < 1239124970 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : -fgcse-lm < 1239124970 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : When -fgcse-lm is enabled, global common subexpression elimination will attempt to move loads which are only killed by stores into themselves. This allows a loop < 1239124970 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : containing a load/store sequence to be changed to a load outside the loop, and a copy/store within the loop. < 1239124975 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1239124979 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1239124981 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :wrong one < 1239124989 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(copy-fail) < 1239124994 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : -fgcse-sm < 1239124995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : When -fgcse-sm is enabled, a store motion pass is run after global common subexpression elimination. This pass will attempt to move stores out of loops. When used < 1239124995 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : in conjunction with -fgcse-lm, loops containing a load/store sequence can be changed to a load before the loop and a store after the loop. < 1239124997 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and < 1239124999 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : -fgcse-las < 1239124999 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : When -fgcse-las is enabled, the global common subexpression elimination pass eliminates redundant loads that come after stores to the same memory location (both < 1239125000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : partial and full redundancies). < 1239125003 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :are the ones I mean < 1239125024 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, at least the latter I can't see how it would slow down things < 1239125094 0 :fizzie!unknown@unknown.invalid QUIT :Remote closed the connection < 1239125125 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, also we had someone new here today, who wrote a brainfuck debugger in perl heh < 1239125133 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : http://dpaste.com/25639/ < 1239125134 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, interesting < 1239125356 0 :Judofyr!n=Judofyr@c0796BF51.dhcp.bluecom.no JOIN :#esoteric < 1239125417 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1239125440 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what would you call a error/warning/notice handling code file. errors.c seems wrong... < 1239125452 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and it isn't a full "logging framework" or such < 1239125461 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :diagnostic.c < 1239125467 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah good idea < 1239125474 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION steals naming ideas from the C standard < 1239125498 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :they used it? < 1239125538 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, for that purpose < 1239125608 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in some example you mean? < 1239125621 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, it's a term defined by the standard < 1239125625 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's used to represent errors and warnings < 1239125635 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :lots of things require a diagnostic, according to the standard < 1239125642 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah right < 1239125644 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which means that a compiler must give an error or warning if you try them < 1239125650 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's what -pedantic does < 1239125654 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it adds all the required warnings to the code < 1239125661 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in the form of "warning: ANSI C requires..." < 1239125673 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the gcc people think they're silly warnings because it's obvious what you meant < 1239125684 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but technically complying with the standard is always a good idea IMO < 1239125691 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least, if it's a sensible standard < 1239125742 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1239125768 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :btw why is it: fputs(string, file); but fprintf(file, string, ...) < 1239125774 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, why not always put file first < 1239125785 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :file always goes last < 1239125788 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I see why putting it last in fprintf would be an issue yes < 1239125791 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :except in fprintf, where that would be an issue < 1239125805 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :what is the reason for putting it last? < 1239125829 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fseek takes it first < 1239125844 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, all the file I/O puts it last < 1239125853 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and why < 1239125854 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :presumably it's so you can just put a ,file at the end of the command and an f at the start < 1239125864 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and C89 wasn't designed to be consistent, but to model common practice < 1239125877 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so presumably that weird practice sprung up before it was standardised < 1239125877 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, that would be as easy as f at the start and file, just after ( < 1239125883 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, yes < 1239125892 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :don't ask me to justify C to you, though, I didn't invent it < 1239125897 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :true < 1239126177 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, what is a safe way to print "out of memory" and exit. < 1239126194 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, I need to pre-allocate in some way I guess < 1239126201 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you use write to print a constant string, it should be safe < 1239126212 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :using write means that you don't have trouble with stdio buffering < 1239126229 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and constant string means it's loaded into memory already, so you don't have to allocate the string you're printing < 1239126245 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, well what about: < 1239126249 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :void diag_oom(void) { < 1239126249 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : fputs("FATAL: Out of memory!\n", stderr); < 1239126249 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : abort(); < 1239126249 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :} < 1239126258 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm write ok < 1239126262 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1239126274 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably the stdio buffers won't be extended anyway < 1239126278 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, any reason to not use fputs()? < 1239126281 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but in theory, I think an interp's allowed to allocate them lazily < 1239126296 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a very unlikely problem to come up in practice, though < 1239126312 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(if you're really insane, you could statically allocate the stdio buffer for stderr yourself, to avoid the implementation coming up with one0 < 1239126314 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*) < 1239126352 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, no, and I do that for stdout already in cfunge if -b is passed < 1239126360 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :you would say -b is insane I bet... < 1239126388 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :-b = you allocate your own stdio buffers yourself, rather than relying on the defaults? < 1239126390 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1239126397 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, -b = fully buffered output < 1239126402 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and larger buffer < 1239126409 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, aha < 1239126418 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and only affects stdout < 1239126432 0 :KingOfKarlsruhe!unknown@unknown.invalid QUIT :Remote closed the connection < 1239126443 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :make a large difference in mycology when not redirecting stdout to /dev/null < 1239126470 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, meh, stderr is fd 2 right? < 1239126473 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1239126694 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to remember how to use vfprintf < 1239126744 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :personally I very seldom write code using variable argument count to functions < 1239126816 0 :und3f!unknown@unknown.invalid PART #esoteric :? < 1239126955 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: run va_start, pass the result to vfprintf, run va_end < 1239126969 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :va_end is a no-op on more or less all architectures, but the ones that need it need it badly < 1239126981 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :What needs it? < 1239127011 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't know, offhand < 1239127016 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm just repeating the standard c.l.c answer < 1239127030 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1239127043 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :presumably it would be useful on an architecture with strange calling conventions < 1239127091 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : "va_end must also be called from within the body of the function having the variable argument list. In many implementations, this is a do-nothing operation; but those implementations that need it probably need it badly." < 1239127103 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"Probably" < 1239127110 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Sounds like they don't know either :-P < 1239127829 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, right < 1239127836 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and I found it < 1239127847 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I was just complaining about having to loop it up.. < 1239127897 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if there is no better way than: < 1239127898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :void diag_error_format(const char* format, ...) < 1239127898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :{ < 1239127898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : va_list ap; < 1239127898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : fputs("FATAL: ", stderr); < 1239127898 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : va_start(ap, format); < 1239127899 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : vfprintf(stderr, format, ap); < 1239127901 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : va_end(ap); < 1239127905 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : putc('\n', stderr;) < 1239127907 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :} < 1239127909 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :err < 1239127911 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :typo there < 1239127913 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :about the ; < 1239127920 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And it should be fputc, not putc < 1239127931 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, why? < 1239127948 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh right, putc is that stupid thing which is the same as fputc < 1239127971 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm < 1239127972 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :BUGS < 1239127973 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : It is not advisable to mix calls to output functions from the stdio library with low-level calls to write(2) for the file descriptor associated with the same output < 1239127973 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : stream; the results will be undefined and very probably not what you want. < 1239127979 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Of course? < 1239127979 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :from man 3 puts < 1239127985 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Is that somehow unexpected < 1239127986 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, undesirable to mix < 1239127992 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :are you stdio-writing to stderr? < 1239127998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, so why did you suggest write() for fatal < 1239128002 0 :Judofyr!unknown@unknown.invalid PART #esoteric :? < 1239128004 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, normally I am yes < 1239128007 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1239128014 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can mix safely if you do fflush(stderr) in between < 1239128017 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, doing fprintf and such to stderr < 1239128021 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, ok < 1239128030 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in that case, it's probably safest to just fputs the string < 1239128061 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but isn't stderr unbuffered anyway? < 1239128085 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I can't remember if it's unbuffered or line-buffered by default < 1239128093 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I can't remember if the default's the same on all systems, either < 1239128232 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why does gcc hate returning results from GCC docs, and prefer to return irrelevant ones from mailing list.. meh < 1239128234 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1239128296 0 :kar8nga!n=kar8nga@a-101.vc-graz.ac.at JOIN :#esoteric < 1239128597 0 :olsner!n=salparot@h-60-96.A163.priv.bahnhof.se JOIN :#esoteric < 1239129329 0 :neldoreth!unknown@unknown.invalid QUIT :"Lost terminal" < 1239129394 0 :fizzie!i=fis@iris.zem.fi JOIN :#esoteric < 1239129493 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I seriously should not have hyped that ISP of mine, they went and broke the interwebs today. (First time in the 8 months I've been a customer, so it's not exactly *frequent*, but still.) < 1239129876 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, where is fungot < 1239129920 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :another question, any way to set ulimits for a process you debug under gdb < 1239129924 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I want to debug OOM handling < 1239130205 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Er, what I just said about broken interwebs is directly related to fungot's non-appearance. It @s at a socket read error, and is not in a crontab or anything. < 1239130207 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: you could use the ulimit syscall inside the process < 1239130330 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, setrlimit iirc? < 1239130344 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Don't know about gdb + ulimit. If you don't mind changing the program being debugged, adding a suitable strlimit call at start of main should be enough, though. < 1239130349 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I think so < 1239130358 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :s/str/setr/ < 1239130359 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ulimit's the old interface to the same syscall < 1239130407 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The AI tournament I've been incessantly bothering you about uses a JNI-callable blob which uses setrlimit to implement the "each player has one hour of thinking-time per game" feature. < 1239130447 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :could you add your own JNI-callable blob to cancel the limit? < 1239130450 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or are they using hard limit? < 1239130477 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Assuming unbroken Java sandbox implementation, no, since they run under a securitymanager with no privileges. < 1239130484 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1239130493 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And it is also the hard limit, I think, so it can't be raised again. < 1239130538 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, I could've of course done the ulimit before starting the Java VM, but I also need to call getrusage to report to the programs how much thinking time they have left. < 1239130565 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1239130567 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :rlimit.rlim_cur = (rlimit.rlim_cur > 25000) ? 25000 : rlimit.rlim_cur; < 1239130572 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :undefined or not? < 1239130590 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes I know it is a silly way to write it < 1239130619 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also it should be tmp_rlimit < 1239130622 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but anyway < 1239130686 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's the sequence point inherent in ?:, but I let ais523 to decide. < 1239130702 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: defined < 1239130705 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :k < 1239130715 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you're using the value twice to the right of the =, those are both reads so legal < 1239130724 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and for the write, the value written depends on the value read < 1239130726 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so legal < 1239130780 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hum < 1239130788 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ais523: How about "foo = (++foo > 42) ? 6667 : foo;"? There's a sequence point between the evaluation of ?:'s conditional and the selected operand, after all. < 1239130830 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: that's legal I think, foo = foo is legal, ++foo ? anything : anything is legal if the anythings are legal < 1239130857 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1239130880 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(In the sense of "okay, good to know", not in the sense of "yes, you got it right".) < 1239131034 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gdb is failing step when there is an inline asm statement in the way it seems < 1239131083 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, longjmp confuses it too < 1239131092 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you put a breakpoint on the other side and continue instead, though, it's fine < 1239131138 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, it fails because there is a label inside the asm block < 1239131143 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I need that since it contains a loop < 1239131150 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but it seems to think it is a new function < 1239131214 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, this was funny: can i expect a slowdown of only 1000x ? < 1239131229 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1239131234 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, someone finding out his platform lacked hardware watch point support in gdb < 1239131245 0 :tombom!unknown@unknown.invalid QUIT :"Peace and Protection 4.22.2" < 1239132230 0 :ehird!unknown@unknown.invalid PART #esoteric :? < 1239132257 0 :ehird!n=ehird@208.78.103.223 JOIN :#esoteric < 1239132398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :17:38 fizzie: I seriously should not have hyped that ISP of mine, they went and broke the interwebs today. (First time in the 8 months I've been a customer, so it's not exactly *frequent*, but still.) < 1239132405 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :mine does that daily < 1239132409 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is gonna buy wrt router todays < 1239132416 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :16:44 AnMaster: void diag_oom(void) { < 1239132416 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :16:44 AnMaster: fputs("FATAL: Out of memory!\n", stderr); < 1239132417 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :16:44 AnMaster: abort(); < 1239132419 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :16:44 AnMaster: } < 1239132429 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: if you're oom, chances are you don't get to print < 1239132448 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, see other related discussion... < 1239132450 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :malloc actually returning NULL is vanishingly rare and you'll have bigger problems than cfunge < 1239132458 0 :Robdgreat!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: they got word you'd hyped them and wanted to discredit you < 1239132465 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: also, you can save a branch each allocation by not checking malloc < 1239132468 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird: the trick is to try to survive on a null malloc < 1239132468 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :which should save a lot < 1239132473 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so IMO i'd remove the check < 1239132475 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, but this is for cfunge < 1239132485 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: null mallocs happen basically never < 1239132493 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and when you do, you have problems bigger than cfunge exiting gracefully < 1239132504 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and you get a speedup by not checking < 1239132507 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I rest my case < 1239132522 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :the trick to survive may be to free some memory I guess. Since you are about to exit anyway just free some huge memory pool < 1239132535 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Nobody ever listens... < 1239132562 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :guys have i mentioned scala is great? < 1239132599 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the trick is not to call anything that might malloc < 1239132661 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, hm I guess free() might call malloc < 1239132665 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1239132670 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i think that's very unlikely. < 1239132682 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well not guaranteed afaik < 1239132682 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'd punch anyone who made a malloc impl that requires free to allocate < 1239133176 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyway if you malloc() a large block and get NULL you most probably have some free memory around < 1239133186 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and then I'm talking of 100 kb or so < 1239133193 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ^ < 1239133215 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(of course it might be you don't, but it is rather likely) < 1239133369 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :http://www.endpcnoise.com/cgi-bin/e/index.html < 1239133374 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :people are as obsessed as me! < 1239133672 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :#define DIAG_OOM(m_reason) \ < 1239133673 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : do { \ < 1239133673 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : fputs("FATAL: Out of memory at " __FILE__ ":" CF_CPP_STRINGIFY(__LINE__) ": " m_reason "\n", stderr); \ < 1239133673 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : abort(); \ < 1239133673 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : } while(0) < 1239133674 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :odd < 1239133687 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ais523, gcc compiled: DIAG_OOM() without complaining < 1239133690 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that is a missing argument < 1239133697 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :the argument is the null string < 1239133699 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: empty argument is valid < 1239133703 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1239133718 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't make much sense though. < 1239133731 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :does too < 1239133781 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :just gets expanded to ... ": " /* empty string from argument m_reason */ "\n" < 1239133927 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1239133930 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :still.. < 1239133979 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nice output though: < 1239133980 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :FATAL: Out of memory at ../src/interpreter.c:630: < 1239133980 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : Couldn't create funge space!? < 1239133998 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(changed a bit, and using ulimits to test this= < 1239134000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/=/)/ < 1239134360 0 :kar8nga!unknown@unknown.invalid QUIT :Read error: 131 (Connection reset by peer) < 1239135208 0 :jix!unknown@unknown.invalid QUIT :"..." < 1239136109 0 :Sgeo!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1239136215 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, there? < 1239136225 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Here and there, everywhere. < 1239136265 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, 1) where is fungot? 2) I found a solution to that "want %rsp for funge stack, but breaks in signal handlers" < 1239136305 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :1) Still offline, but since the interwebs seem to be working, I guess I could bring it back. 2) Oh, what's the solution? < 1239136324 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I suspect sigaltstack(2) is the solution < 1239136345 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not totally sure < 1239136387 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, possibly sigaction() with SA_ONSTACK < 1239136399 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1239136401 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :seems you need both < 1239136474 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, although I wonder if I only need them for signals I actually want handled. If it's a handle-as-default, die-or-whatever signal, maybe it won't crunch up with a very nonstandard %rsp. < 1239136476 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :What "want %rsp for funge stack, but breaks in signal handlers" < 1239136502 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, in jitfunge < 1239136518 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: I was just wondering if I could abuse the normal stack pointer register to work as the funge stack in jitfunge-generated code, at least in portions that don't call any external functions. < 1239136524 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: WHERE IS FUNGOT < 1239136558 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ACTION imagines a distributed fungot < 1239136563 0 :fungot!n=fungot@momus.zem.fi JOIN :#esoteric < 1239136573 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :each part would monitor the others, and if one went down another would connect and replace it < 1239136580 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :boring < 1239136599 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what do you suggest instead? < 1239136604 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Nothing? < 1239136611 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, even more boring.. < 1239136630 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Your idea lacks interest; mine requires much less effort for the same amount of interest. < 1239136655 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and? < 1239136675 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So, logically, mine is the better option. < 1239136682 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1239136695 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Because the interest level is the same and it has the advantage of requiring less effort. < 1239136698 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :This is rather trivial. < 1239136706 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, you forgot uptime advantage of mine < 1239136712 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: If you could guarantee that code doesn't generate any hardware faults and that its quite quick (say, few cs at most) you could block signals and unblock them later. Also has advantage of not calling stuff in odd contexts. < 1239136717 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Fungot has been down, oh, 3 times. < 1239136724 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :A distributed system would be down more. < 1239136727 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, he depends on catching sigsegv... < 1239136728 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :They are brittle in small sizes. < 1239136752 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, it would be massively distributed of course, every person in here would run one of them < 1239136753 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1239136759 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :No they wouldn't. < 1239136761 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Well, Maybe have dedicated stack for SIGSEGV... < 1239136781 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, with the sigaltstack trickery. < 1239136794 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, wonder if it breaks stuff though < 1239136845 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I have not really seen much reliable documentation about how safe it is to mess around %rsp (well, %esp in my code). It certainly could break some types of interrupt-handling, but I guess in the sensible systems I target they use a different, kernel-side stack. < 1239136931 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you could ignore some signals you didn't care about, and provide dummy ones for the other ones < 1239136934 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :to cover all < 1239136964 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, and you would still need to restore it whenever you go back to the C++ part of the program < 1239137300 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Hrm. I guess I'll still have to try it, in the off chance I do get back to jitfunge mode some day. < 1239137681 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, you basically gave it up? < 1239137683 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1239137795 0 :atrapado!n=nnn@cm187072.red91-116.mundo-r.com JOIN :#esoteric < 1239137842 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :No, no, it's not yet that far gone; I would've moved it to my ~/src/abandoned/ in that case. < 1239137863 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, :/ < 1239137870 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :get working on it < 1239137875 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it was such a cool idea < 1239137928 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no it wasn't < 1239137930 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1239137932 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's a nice thing < 1239137938 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but jitting befunge has Been Done before < 1239137946 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, not correctly iirc < 1239137954 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, or, show me the source in question < 1239137964 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Bitrotted. < 1239137972 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It was on the wiki as a dead link. < 1239137982 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, then we don't really know < 1239138002 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :... < 1239138005 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I read about it. < 1239138007 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :You are wrong. < 1239138011 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :could be someone lying < 1239138026 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :>_< < 1239138029 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's certainly not a very original idea, that's for sure. A Mycology-okay jit-interpreter is something that should exist, anyway. < 1239138032 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Could be pink fuckin' elephants, AnMaster. < 1239138038 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess I should work on it, otherwise someone will STEAL it. But I have too much to do right now, with this AI tournament nonsense (them scripts are having some issues) and such. < 1239138050 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, well that would be how they reproduce < 1239138058 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: are you participating in the tournament, or running it, or both < 1239138060 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :so what did you expect? < 1239138068 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Just running it. < 1239138068 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ais523: running < 1239138082 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"39 bot(s) => 1482 match(es) -- so far played: 330" < 1239138097 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's proceeding reasonably, there have just been... issues. < 1239138120 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : fizzie: they got word you'd hyped them and wanted to discredit you <-- what was that about hm < 1239138126 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it made no sense, no context < 1239138134 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(and if it was private it shouldn't have been in channel duh) < 1239138137 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Sure it made. < 1239138137 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: what is the game? < 1239138149 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: sure it had context < 1239138152 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, not to me... and I did look at your 20 last lines < 1239138152 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it just went back further than 5 lines < 1239138154 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :before that < 1239138158 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you should extend that buffer < 1239138168 0 :Robdgreat!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: but thanks for playing. < 1239138178 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"fizzie> I seriously should not have hyped that ISP of mine, they went and broke the interwebs today. (First time in the 8 months I've been a customer, so it's not exactly *frequent*, but still.)" < 1239138196 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :1482? Isn't all pairs once would be 1481 matches? < 1239138207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, ah < 1239138214 0 :Robdgreat!unknown@unknown.invalid PRIVMSG #esoteric :it was only a few lines up that that line was repeated by ehird < 1239138229 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :a few hours < 1239138230 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Robdgreat, I thought it was about the tournament you see < 1239138245 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:02 ehird: fizzie: what is the game? < 1239138250 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: My count would put all-pairs-once as 741; but this is all-pairs-twice; each bot plays each other once as the "blue" player and once as the "red" player. < 1239138261 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ehird: http://www.niksula.hut.fi/~svirpioj/hierarkia/ < 1239138283 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I was hoping something silly like iterated Prisoner's Dilemma < 1239138310 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Ah yes. < 1239138313 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :One of the tournament issues was caused by someone submitting a .jar file which had only the Java sources, no .class files at all. Even though I've told then in about thirteen different places to test the .jar file they submit with a script that runs it under the tournament mess. < 1239138331 0 :Robdgreat!unknown@unknown.invalid PRIVMSG #esoteric :note to self: never talk in here when malcontents are around < 1239138366 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Robdgreat: which malcontents? < 1239138385 0 :Robdgreat!unknown@unknown.invalid PRIVMSG #esoteric :anyone who'll give me unwarranted grief about something that didn't even concern them < 1239138398 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Robdgreat: ah, AnMaster. < 1239138406 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that's an even harsher view of him than I have < 1239138406 0 :Robdgreat!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shrugs < 1239138412 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I must applaud you < 1239138413 0 :Robdgreat!unknown@unknown.invalid PRIVMSG #esoteric :if the shoe fits < 1239138431 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well i'm not sure I can applaud passive-agressiveness < 1239138437 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :you can have a one-handed clap < 1239138459 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Robdgreat, then you can never talk I guess. since I never disconnect my client except for kernel upgrades on the system running the bouncer, and then I real log < 1239138461 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1239138482 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: your bouncer isn't you. < 1239138502 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and the day you are in #esoteric talking continuously is the day you die of starvation or w/e < 1239138503 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ehird: Are you sure? Maybe AnMaster is just a very advanced piece of software. < 1239138511 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I dispute the advanced qualifier < 1239138517 0 :Robdgreat!unknown@unknown.invalid PRIVMSG #esoteric :ehird: beat me to it < 1239138524 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Certainly it makes more sense than fungot. < 1239138525 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: i'll take a look < 1239138530 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Heh. < 1239138542 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I'm pretty sure I could make a bot emulating AnMaster accurately about 60% of the time < 1239138578 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Anybody want to tell me what's wrong with my ELF/program/section header that's making my process get SIGKILL'd immediately? < 1239138599 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, you told me to expand scrollback. :P < 1239138608 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :What? < 1239138637 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : you should extend that buffer <-- So I did (lazy evaluation though) < 1239138659 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It contains something the kernel doesn't like... < 1239138676 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Yeah, any idea what it could be? < 1239138677 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Your system has developed a sense of taste (probably due to exposure to Mycology) and dislikes your hacky binary. < 1239138679 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm running out of ideas myself. < 1239138697 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, use a kernel level debugger < 1239138698 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Where's the sense of taste stored, so I can wipe it? < 1239138700 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1239138706 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Errors after exec has passed point of no return (old mm destroyed) and control being passed to interpretter/program cause SIGKILL to be sent. < 1239138708 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Such as? How? < 1239138720 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, kgdb, serial cable < 1239138724 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I guess < 1239138735 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I'm sure the FHS has a well-defined place for that. < 1239138761 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Too bad this machine doesn't even have a serial port :-P < 1239138762 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: you heartless monster < 1239138768 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :oklopol_: I know < 1239138770 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, you can use firewire too < 1239138771 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1239138781 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Well, it's happening before any code is executed < 1239138790 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :if you knew where my port is, would you make me forget? < 1239138799 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I guess that the entry point might be somehow incorrect < 1239138814 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You could take a peek at the Linux ELF-loading code. I assume it's not something ld-linux.so involves itself with? < 1239138815 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I don't have a firewire cable :-P < 1239138835 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, well, check the relevant kernel code < 1239138843 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Yes. Almost entiere ELF loading occurs when kernel can't abort exec anymore but needs to kill the process if it goes wrong. < 1239138867 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Forsooth. < 1239138895 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, do a bisect of revision history to find what revision introduced the issue? < 1239138910 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :... < 1239138918 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, add logging statements to the code to find what way it kills in? < 1239138921 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or why rather < 1239138928 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Another way of running kgdb is qemu, I guess. But that really might be more trouble than what it's wrong. < 1239138934 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Do you honestly think I would'nt've noticed that my program doesn't even start, for many revisions? :-P < 1239138954 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :21:14 AnMaster: Deewiant, do a bisect of revision history to find what revision introduced the issue? < 1239138956 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, set up linux under bosch (sp?) and use it's built in debugger < 1239138958 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :QOTD < 1239138982 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, do you seriously not detect sarcasm. < 1239139008 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: If I detected sarcasm with you I'd laugh at half of what you say. < 1239139010 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(and I think you did that) < 1239139021 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: First thing that can go wrong is that if BRK setting goes wrong when loading section. < 1239139024 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: the problem is that sarcasm has to convey a point < 1239139026 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh the irony... < 1239139027 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :or be humorous < 1239139035 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :if you got that, our meters would set off < 1239139039 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as is it's indistinguishable from stupidity < 1239139050 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: The load_elf_binary function of Linux's fs/binfmt_elf.c is a very sequential piece of code, with SIGKILLs very visible; I guess you could read about the checks it makes, see if it gives you any inspiration. < 1239139067 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, no, this is post-nonsense sarcasmic art. < 1239139086 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: What you're saying is, "um... err... LA LA LA" < 1239139092 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :"You're wrong 'cuz I said so." < 1239139118 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(It is, however, quite long, too.) < 1239139133 0 :neldoreth!n=user@unixboard/users/neldoreth JOIN :#esoteric < 1239139182 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, that was the point all along. A post-modern social experiment over irc. You seriously claim you haven't understood that after these years... < 1239139219 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: You have been in here than less than a year. And I think you'd better know that I despise the common human excuse of papering over logical argument with bad jokes. < 1239139228 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no, more than a year I'm pretty sure. < 1239139234 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :at least it feels like it. < 1239139239 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1239139241 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but I may be wrong. < 1239139244 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :You are. < 1239139253 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what date did I first join then? < 1239139255 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :It feels like it because you slow time down by packing as much annoyance in to it as possible. < 1239139260 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Watch as I magic grep: < 1239139281 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: If you want just to test the executable code, load aout module and use that. Aout is vastly simpler than ELF. < 1239139287 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Hm. < 1239139288 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :actually cfunge is over a year old now. < 1239139289 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :[2007-11-05 04:03:25] ... AnMaster_ [n=AnMaster@unaffiliated/anmaster] has joined #esoteric < 1239139291 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :2007-10. < 1239139292 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :see < 1239139295 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I told you so. < 1239139299 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I distinctly recall 2008. < 1239139310 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :07.10.31:15:10:56 Or Rodger Tokigun Helios EgoBot Gregor-Reddak-Ehird-Anmaster-Tritonio, which would be very weird. <-- huh? < 1239139319 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :One day after joining, you establish your catchphrase. < 1239139320 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Nah, the program is fine, I want proper ELF. < 1239139321 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I seem to be missing a bit there, since I don't have a 2007-10 mention. Might've been my "forgot to rejoin" period. < 1239139355 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, interesting < 1239139403 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: 'objdump -x' on it says anything that could be hint? < 1239139434 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: It and readelf dump the values that I expect; of course, I don't know what could be incorrect :-) < 1239139453 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Can you pastebin such dump? < 1239139483 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Sure < 1239139494 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, /usr/src/linux/fs/binfmt_elf.c and grep for KILL ? < 1239139507 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :it seems pretty easy to follow < 1239139521 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Been there 10 minutes ago; nothing obvious jumps out < 1239139610 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :http://www.pastie.org/private/gaqgo3ngwfhpvcnattprkq < 1239139726 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Er, are you sure Linux is happy to load stuff at 0? < 1239139745 0 :victor______!unknown@unknown.invalid PART #esoteric :? < 1239139759 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, hm that sounds right. It shouldn't be < 1239139761 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :My primary suspicion is that it doesn't like my virtual addresses, indeed < 1239139766 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :unless some compat flags < 1239139769 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :are set < 1239139779 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, try to change that then < 1239139794 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I did, no difference < 1239139857 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm also not sure if there was some funkitude about the file offset needing to be align-aligned (while 146 % 8 != 0), but that sounds a bit too picky. < 1239139878 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :that would make sense < 1239139897 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Added 400000h (seems to be what /bin/ls uses) to the entry point + program header entry's virtual address + executable section's virtual address, still dies < 1239139905 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Bit-C dies: http://www.coyotos.org/pipermail/bitc-dev/2009-April/001784.html < 1239139922 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Changed alignment to 1: still dies < 1239139959 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, did you use a.out before or? When did it start dying? < 1239139980 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :It started dying when I started writing my own ELF data instead of using the assembler's < 1239139986 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :(Unsurprisingly enough) < 1239139996 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, compare it's and your own < 1239140000 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :see where they differ? < 1239140041 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :then start changing each of the assemblers ones to your until it breaks+ < 1239140043 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/+/?/ < 1239140054 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :They differ in many places because its headers are somewhat crap < 1239140065 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, crap, but working < 1239140081 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For certain values of 'working', yes < 1239140111 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, being able to run the program is a quality of "working" to me < 1239140125 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Indeed < 1239140254 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: ph vaddrs and paddrs seem to be the same in dumping working executable... < 1239140273 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: According to the spec paddrs are ignored < 1239140311 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Do you know if the loader looks at the section headers at all (if they happen to be there), or just the program headers? < 1239140325 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Just to humour you, doesn't make a difference < 1239140373 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I don't know how important it considers them, but looking at the code it does do something with them < 1239140421 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, maybe my virtual address should start at 400000h + the header size < 1239140446 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: You could also try doing what most executables I've seen do, and just load the whole program starting from file offset 0. < 1239140451 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: AFAIK, it only looks at program headers. < 1239140465 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Into 400000h. And do remember to alter your entry point when you change the vaddr value. :p < 1239140491 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :From one test executable I made with NASM + LD: LOAD 0x000000 0x08048000 0x08048000 0x00064 0x00064 R E 0x1000 < 1239140549 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Okay, now I got past SIGKILL, yay < 1239140550 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :That is, file offset 0, virtaddr and physaddr 0x08048000, file and memory size 0x64, Readable Executable, alignment 0x1000 (1 page) < 1239140586 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Making the virtaddr be 0x400000 + the size of the headers was what made it work < 1239140587 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Using a page-sized alignment was another thing I was going to suggest in LOADed phdr entries, since that seems to be a habit of ld too. < 1239140620 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It is really more common just to load from 0 and include the headers, but if it works... < 1239140698 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh, you mean include the headers in the area specified by the program header? < 1239140728 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Seems weird to include them in the segment IMO :-P < 1239140789 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Presumably yes. < 1239140870 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That's what people do, though. < 1239140885 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, but now it seems that all memory accesses are offset < 1239140903 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :By an amount of bytes equal to negative the virtual address, I suspect :-P < 1239140914 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Are you sure your assembler knows where the code starts? < 1239140942 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's kind of why I wanted to specify a virtual address of zero < 1239140963 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: You would need to write relocations table in that case. < 1239140979 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, let it generate it's own ELF header instead? < 1239140980 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1239140991 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: And have objdump and other tools not work because they think it's borked? Nah. < 1239141003 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :meh < 1239141012 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, use a different assembler? < 1239141017 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Nah. < 1239141025 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :which one did you use you said? < 1239141028 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :nasm? < 1239141029 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :yasm? < 1239141035 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fasm. < 1239141041 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, I suspect that they include the headers because it makes no difference whether you start from vaddr 0x400123 and file offset 0x123, or start from vaddr 0x400000 and file offset 0x0, it's not like it's leaving those 0x123 bytes of the start of the first page unallocated. < 1239141044 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And it has an 'org' directive which allows me to tell it the virtual base address < 1239141047 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :So I'm good. < 1239141050 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, it isn't even in my package manager < 1239141051 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Thanks for the help. < 1239141055 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and why are you using fasm anyway < 1239141064 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :An assembler without a org-like directive would be a rather crappy assembler. < 1239141099 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Currently I start from vaddr 0x146 and file offset 0x146. < 1239141108 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, is the code position independent? < 1239141108 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And it works. < 1239141109 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1239141122 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :j/k < 1239141133 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :PIC code is a bit of a pain to code by hand < 1239141139 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah probably < 1239141141 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, double C there < 1239141156 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, I have done that though in cfunge, have a pic and a non-pic variant < 1239141162 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: What ORG value you use? < 1239141167 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :though gcc handles most of it < 1239141173 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Size of the headers. < 1239141187 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I think the correct one is loadbase + size of headers. < 1239141203 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Well, this one seems to work. < 1239141227 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Or actually, loadbase of program text. < 1239141228 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I.e. printing string constants gives exactly the string. < 1239141293 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The correct ORG value is (pretty much by definition) wherever the code ends up being. < 1239141314 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :This is a bit annoying though: I need to assemble my program to know its binary size for the headers, and I need to assemble my headers to know the ORG value for the program. < 1239141351 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Is there a command-line tool I can use to write values into specified positions of a binary? < 1239141360 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Aren't you just including the headers in the assembler file? < 1239141390 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No; the final tool that compiles my program is 'cat' < 1239141391 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I mean, you could use .ORG 0, then start writing ".db" pseudo-ops or whatever fasm uses, and then assemble as a "flat binary" file. < 1239141392 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: bvi < 1239141431 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :ehird: I'd rather not depend on non-coreutils stuff < 1239141449 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I thought you meant manually < 1239141449 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You can abuse dd for writing too; "echo | dd of=file bs=1 count=len skip=offset conv=notrunc". < 1239141459 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No, not manually. < 1239141463 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :For my makefile. < 1239141468 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Uh, s/skip/seek/ there of course. < 1239141477 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Heh, that's cute. < 1239141498 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :[this is for a puzzle] In trinary, if I have no access to "2", can I always express a number as a - b with a and b only containing 0s and 1s in their representation? < 1239141510 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, ternary* < 1239141542 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Actually, trinary is a synonym of ternary. < 1239141557 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, yes but I just strongly prefer ternary. And so do wikipedia. < 1239141566 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes. < 1239141569 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hms at http://en.wikipedia.org/wiki/Balanced_ternary < 1239141570 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :That's balanced ternary. < 1239141572 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Prefer what you will but it wasn't incorrect. < 1239141572 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The one time I manually did an ELF file, I found it very pleasant to include the headers in the assembler file, a bit like the teensy-elf-executable-guy is doing. < 1239141614 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, Ternary numeral system (Redirected from Trinary) < 1239141615 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I just expect to have to write non-ELF headers as well, which means I need to keep the headers separate from my code. < 1239141621 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :It *is* balanced ternary. < 1239141623 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Yes? < 1239141629 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :..and that page basically says that it's the solution for the puzzle < 1239141636 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1239141679 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :After the winner wins, tell me what the puzzle is... < 1239141710 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :kerlo, it's the Enigma puzzle < 1239141728 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, write a tool to generate elf headers < 1239141738 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and hot patch code < 1239141746 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: It's called a 'compiler' :-P < 1239141755 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, or assembler < 1239141763 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant, exactly! < 1239141766 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, wait. < 1239141771 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :They're all compilers to me < 1239141832 0 :kerlo!unknown@unknown.invalid PRIVMSG #esoteric :I've seen that puzzle before at least twice, I believe. < 1239141941 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"Your password has been emailed to your address on record." < 1239141947 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm gcc has __float128 on x86_64 too.. < 1239141949 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :This, coming from a security site < 1239141976 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, engima as in the game? < 1239141992 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster, Enigma as in the contest in Agora < 1239141997 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1239142371 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :One from context of one custom level Enigma (the game): How to draw random nxn matrix over GF(2) that is invertible at uniform (assuming ideal RNG is available)? < 1239142658 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1239142664 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I got gdb to "Bus error" < 1239142671 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :anyone want to know how? < 1239142691 0 :ais523!unknown@unknown.invalid QUIT : < 1239142719 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :start program which will call abort(), do: display errno, do: r (answer yes to question about restarting), wait for abort() call < 1239142730 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :gdb "Bus error"s < 1239142754 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :night < 1239143313 0 :atrapado!unknown@unknown.invalid QUIT :"quita" < 1239143497 0 :Sgeo_!n=Sgeo@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1239143519 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :What did I miss? < 1239143726 0 :psygnisfive!unknown@unknown.invalid PRIVMSG #esoteric :cocks. < 1239144251 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: you thar? < 1239144254 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :What missed me? < 1239144271 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Shur. < 1239144306 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Though not for long.) < 1239144396 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1239144627 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I was wondering if you could share your supar-secret DPI calculation formula. < 1239144790 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What is such a thing? I just did {X,Y}-resolution/{X,Y}-visible-size-in-inches. I don't think that's much of a formula. < 1239144844 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Well, yes. That could work. < 1239144847 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking more the diagonal DPI. < 1239144852 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :15:24:53 oerjan, there is no strip on the page? < 1239144852 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :15:24:54 ?? < 1239144854 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :15:25:00 or do I have to enable java script < 1239144856 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :15:25:02 I hope not < 1239144858 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :How little things change < 1239144913 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :ty < 1239144934 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Uh. < 1239144938 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :You're welcome, Sgeo_? < 1239144940 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :What did I do? < 1239144968 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :n/m < 1239144976 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: do tell. < 1239144977 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :I thought you were pasting what I missed? < 1239144980 0 :psygnisf_!n=psygnisf@c-71-196-114-50.hsd1.fl.comcast.net JOIN :#esoteric < 1239145015 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :no. < 1239145017 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :this is from 2007. < 1239145047 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :I might have missed stuff from 2007 < 1239145048 0 :Sgeo_!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1239145065 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Conceivable. < 1239145073 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo_: do you want all the logs of before you came in here? < 1239145078 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :05.09.17:14:16:35 --- join: Sgep (n=sgeo@ool-182e9882.dyn.optonline.net) joined #esoteric < 1239145080 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :So, just a few years. < 1239145096 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :05.09.18:15:10:28 n00b's (read:my) attempt to design something: http://esolangs.org/wiki/User:Sgeo/binbf < 1239145097 0 :psygnisf_!unknown@unknown.invalid NICK :psygnisfiv < 1239145098 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I puked < 1239145101 0 :psygnisfiv!unknown@unknown.invalid NICK :psygnisfive_ < 1239145107 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(Well okay it's not that bad) < 1239145108 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :>.< < 1239145126 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you want some sort of diagonal DPI, you can compute sqrt(xres^2+yres^2)/sqrt(xsize^2+ysize^2), but I assume in most cases the pixels tend to be quite square. In which case xres=k*xsize and yres=k*ysize and the diagonal-DPI sqrt(xres^2+yres^2)/sqrt(xsize^2+ysize^2) = sqrt(k^2) = k. < 1239145158 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Yes, well, diagonal-DPI is quite the standard, since nobody buys narrowscreens any more. < 1239145212 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :Anyhoos. < 1239145799 0 :FireFly!unknown@unknown.invalid QUIT :Excess Flood < 1239145838 0 :FireFly!n=FireFly@1-1-3-36a.tul.sth.bostream.se JOIN :#esoteric < 1239146093 0 :psygnisfive!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1239146167 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :printf "0: %016x" $$sz | xxd -r | od -vAn -tdL | xargs printf "0: %016x" | xxd -r | dd of=$$tmp bs=1 count=8 seek=$$(($$o)) conv=notrunc 2>/dev/null < 1239146170 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Muah < 1239147730 0 :olsner!unknown@unknown.invalid QUIT :"Leaving" < 1239147837 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :ehird < 1239147856 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what < 1239147859 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :do you know of any app that does actual analysis of musical structure beyond just, say, trying to find its "musical fingerprint" < 1239147903 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :what, from pcm data? < 1239147907 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :that sounds kind of difficult < 1239147908 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :as in AI-hard < 1239147913 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :there is a thing which purports to separate all the notes < 1239147914 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so you can tweak them < 1239147915 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :i recall telling somewhere it would be cool to have a thingie you could give a melody to, and it would tell you the song < 1239147918 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :well, there is the whole music genome project < 1239147918 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :but apparently it doesn't work < 1239147921 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and apparently it works < 1239147922 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :and someone said there is one < 1239147924 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and so on < 1239147926 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :oklopol_: shazam? < 1239147927 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it's shit < 1239147928 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't work < 1239147929 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :ehird sounds like someone who'd say that < 1239147935 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :well there you go < 1239147947 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :ehird: what do you mean it doesn't work? < 1239147952 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :what does it do? < 1239147981 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well you are meant to give it to a recording of a song < 1239147982 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :lastfm unfortunately doesnt organize artists based on their musical similarities < 1239147985 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :and then excels in the area of failing to recognize the song you play it < 1239147989 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :i mean it's not like it's possible to fail at what i'm talking about, you'd just need to actually have such a system < 1239148000 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :ehird: well that's absolutely useless, trivial and stupid < 1239148001 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :but rather based on their genre similarities < 1239148005 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :and not what i want < 1239148009 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1239148012 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :i mean even if it worked < 1239148016 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive_: actually it categorizes them based on < 1239148017 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(1) tags < 1239148020 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :(2) who listens to both artists < 1239148024 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so it's pretty, um, shit < 1239148032 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1239148048 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :but also genre i think < 1239148059 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :does it track genre < 1239148060 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I don't think so < 1239148063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :I think you do that via trags < 1239148063 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :tags < 1239148066 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :also: I am king of the world. < 1239148071 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :maybe < 1239148080 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :ehird: i mean just give it 7773....5552.... and it'd say ...well umm whatever that piece is some famous beethoven thing < 1239148087 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :micky erbe and maribeth solomon, tho, show similar artists as being other soundtrack artists, especially scifi soundtracks < 1239148092 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :um it must be noted that I'm doing that thing where I write in a specific style that doesn't come naturally because I can' tnot < 1239148092 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There was a music analysis workshop at Nokia Research Centre around two years ago, but I've forgotten most of what was presented there. < 1239148093 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :and i dont want that < 1239148093 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :i want fuckin musical similarity < 1239148101 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :so if that happens welp watch out oky < 1239148102 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :ay < 1239148124 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive_: well you could compare musical fingerprints i mean that might work acceptably for the amount of work it'd take which is roughly none i mean if you use one of those library things to do it and do it in chunks and stuff you know? < 1239148141 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :makes sense. < 1239148159 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :ehird, what sort of of library things? < 1239148175 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive_: errrrrrrrrrrrrrmmmmmmmmm like that foosic site has an open source thing for musical fingerprinting I think? ? ? < 1239148224 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :hey talking like this is fun wish it came naturally < 1239148233 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :you can't categorize music music are an individual.......... < 1239148234 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :As I recall, most papers there were about things like query-by-humming-a-melody and such. < 1239148239 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :ehird, talking like what < 1239148258 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :yeah ehird isn't that how you always talk! < 1239148264 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :psygnisfive_: have you like not noticed how I am talking super weird on purpose < 1239148272 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :no < 1239148274 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :because I can't talk if I don't don't don't talk this way? < 1239148277 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :how is what you're saying super weird < 1239148289 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :well then it is clear you have a low perception like of my talkingnessbecause if you were paying attention i think you would notice it okay < 1239148422 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Remote closed the connection < 1239148645 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's at least one paper about using HMM-style statistical models on MFCC features to analyse musical similarity of (here classical) sampled music. < 1239148688 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :has anyone read music and probability? < 1239148707 0 :oklopol_!unknown@unknown.invalid PRIVMSG #esoteric :i performed some glancing upon it, and looked pretty neat < 1239148742 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Given how hip and pop recommendation systems are, I'm sure there are a lot of them, and not *all* of them can be trivial wrt. the similarity measuring side. < 1239148756 0 :psygnisfive_!unknown@unknown.invalid PRIVMSG #esoteric :ehird