< 1546819202 565838 :danieljabailey!~danieljab@cpc75709-york6-2-0-cust725.7-1.cable.virginm.net QUIT :Quit: ZNC 1.6.6+deb1ubuntu0.1 - http://znc.in < 1546819653 738 :Essadon!~Essadon@81-225-32-185-no249.tbcn.telia.com QUIT :Quit: Qutting < 1546819858 70558 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Remote host closed the connection < 1546819911 503235 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: sorry for my connection < 1546819927 502084 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1546820160 422541 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric > 1546820912 424306 PRIVMSG #esoteric :14[[07Talk:Nope.14]]4 10 02https://esolangs.org/w/index.php?diff=58992&oldid=58927 5* 03Areallycoolusername 5* (+394) 10 < 1546821413 756601 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :arseniiv: Baez just wrote back. He fixed the nitrous oxide thing. < 1546821431 979704 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: that sentence out of context raises so many questions < 1546821434 460116 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :arseniiv: thanks for spotting it. < 1546821467 236010 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :ais523: yeah, especially since my current job involves working on something about something about something about something about nitrous oxide actually < 1546821752 952262 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :hmm. maybe eating either a wand of slow monster or a wand of speed monster should take a long time, the wand of slow monster because of the stored slowing charges escaping and slowing down the xorn, and the wand of speed monster because of http://www.mezzacotta.net/owls/?comic=770 > 1546822316 164213 PRIVMSG #esoteric :14[[07Talk:Nil14]]4 10 02https://esolangs.org/w/index.php?diff=58993&oldid=53906 5* 03Salpynx 5* (+1726) 10fix interpreter exploit < 1546825959 486568 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :M:tG stuff. The next set, Ravnica Allegiance, apparently has a keyword ability about how white soldiers were sworn to serve so much that they're still bound to serve after their death, as an oath-spirit. < 1546826109 603377 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :That much is great, but it's a mechanic for the Orzhov guild. But the original Ravnica story went that Agrus Kos of the Boros Guild was a famous watch captain who was forced to serve the Azorius guild after his death. So how will that be a mechanic on Orzhov cards? < 1546826134 267000 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I don't know why it is Orzhov. < 1546826150 720260 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :Possibly because the effect is like white mana and black mana? < 1546826196 30678 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: Orzhov flavour has become, over time, "you incur debts to them and spend multiple lifetimes paying them off" < 1546826205 237515 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :zzo38: it's Orzhov because ghosts always made sense in black and white, the blue ones were just illusions, and Eventide and then Innistrad cemented them in black and white. < 1546826230 911521 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's not soldiers (at least, not just soldiers), it's random people who are in debt to the Orzhov < 1546826244 949650 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :b_jonas: Yes, that is how I meant, it is black and white < 1546826252 522922 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :ais523: OK, that also explains, then < 1546826278 154184 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :ais523: I'm not saying that it doesn't make sense in Orzhov. I just don't see how it will work, as it seems like this would force them to waste the main selling point of the ghost thing, which is Agrus Kos. < 1546826296 746740 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: Ravnica's flavour gets reinvented often enough that they likely don't care about Agrus Kos any mroe < 1546826315 104917 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :Hmm. So Agrus Kos doesn't have to serve forever then? < 1546826360 349565 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :Would that mean that of the original crew, only Niv-Mizzet will be here to stay? Or maybe some of the angels will still be here? < 1546826428 907128 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Rakdos is the only original guild leader who's still guild leader as of Guilds of Ravnica < 1546826445 582316 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :Hmm no, the angels aren't from Ravnica. < 1546826446 37049 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Niv-Mizzet is still alive but in hiding, apparently < 1546826464 950419 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the full story is likely to be pay-for rather than free, though, so I don't know many of the details < 1546826513 356035 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, the Ghost Council isn't a single person, it's still leader of the Orzhov as of Guilds of Ravnica, but not as of Ravnica Allegiance < 1546826542 16030 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :Oh, you mean the novelization. < 1546826591 131932 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :I was wondering what you meant, because the ability doesn't demand an additional mana payment to get the ghost. < 1546826638 381535 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :why would it? they're in debt already < 1546826719 878821 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :Exactly, it makes sense that it's free. That's why your statement confused me. < 1546826764 181774 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, you interpreted "full story" as an idiom, when I meant it literally (i.e. "the entirety of the plot") < 1546826790 729401 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :Yeah, more or less. < 1546826958 542682 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :`? ance < 1546826959 738966 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Spelling of -ance/-ence words: advance, science, conference, experience, finance, insurance, licence, performance, reference, assistance, balance, defence, difference, distance, evidence, acceptance, appliance, audience, compliance, importance, influence, instance, intelligence, maintenance, preference, presence, sentence, sequence, substance, violence, absence, accordance, alliance, appearance, assurance, attendance, circumstance, clearance, confidence, c < 1546826970 163946 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :^ doesn't have "allegiance" < 1546827228 168582 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :Heh heh. The new card frame allows Wizard to print split cards with more space in the text box, allowing more complicated split cards than ever. < 1546827240 887281 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu PRIVMSG #esoteric :I wonder how the Azorius will use that power. < 1546828683 273713 :b_jonas!~x@catv-176-63-13-186.catv.broadband.hu QUIT :Quit: leaving < 1546829699 307538 :uplime!~nchambers@learnprogramming/staff/nchambers QUIT :Quit: e36freak: whats your favorite meal of the day > 1546829793 515935 PRIVMSG #esoteric :14[[07Nellephant14]]4 N10 02https://esolangs.org/w/index.php?oldid=58994 5* 03Ais523 5* (+13572) 10new language > 1546829920 460800 PRIVMSG #esoteric :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=58995&oldid=58959 5* 03Ais523 5* (+17) 10/* N */ +[[Nellephant]] > 1546829942 22003 PRIVMSG #esoteric :14[[07User:Ais52314]]4 10 02https://esolangs.org/w/index.php?diff=58996&oldid=58790 5* 03Ais523 5* (+16) 10+[[Nellephant]] < 1546830542 447997 :uplime!~nchambers@learnprogramming/staff/nchambers JOIN :#esoteric < 1546830935 977527 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: quit < 1546832443 562022 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1546833027 283322 :pikhq!~pikhq@c-73-181-126-9.hsd1.co.comcast.net QUIT :Ping timeout: 240 seconds < 1546833052 79508 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 258 seconds < 1546833091 776317 :pikhq!~pikhq@c-73-181-126-9.hsd1.co.comcast.net JOIN :#esoteric < 1546833208 29256 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1546833675 685539 :danieljabailey!~danieljab@cpc75709-york6-2-0-cust725.7-1.cable.virginm.net JOIN :#esoteric < 1546834203 987689 :uplime!~nchambers@learnprogramming/staff/nchambers QUIT :Quit: WeeChat 2.2 < 1546835721 456860 :yaewa!~moei@softbank221078042071.bbtec.net JOIN :#esoteric < 1546835798 974883 :moei!~moei@softbank221078042071.bbtec.net QUIT :Ping timeout: 246 seconds < 1546836904 690658 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :is there some kind of catalog on what kinds of memory you can equip an FSM with to make it turing complete? < 1546836913 288188 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :tapes, queues, twin stacks, etc. > 1546837399 428219 PRIVMSG #esoteric :14[[07Brainfuck14]]4 10 02https://esolangs.org/w/index.php?diff=58997&oldid=58974 5* 03Oerjan 5* (+143) 10/* Computational class */ CS.SE answer for improved construction is up > 1546838615 149740 PRIVMSG #esoteric :14[[07Subtractpocalypse14]]4 10 02https://esolangs.org/w/index.php?diff=58998&oldid=55746 5* 03Ais523 5* (+84) 10/* See also */ [[Brainpocalypse]] > 1546839165 876879 PRIVMSG #esoteric :14[[07Re:direction14]]4 M10 02https://esolangs.org/w/index.php?diff=58999&oldid=58825 5* 03Ais523 5* (+0) 10/* Computational class */ fmt < 1546847923 28494 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net QUIT :Remote host closed the connection < 1546847936 899634 :tromp!~tromp@ip-217-103-3-94.ip.prioritytelecom.net JOIN :#esoteric < 1546851153 44087 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 258 seconds < 1546851506 382422 :AnotherTest!~turingcom@d51A4B8E1.access.telenet.be JOIN :#esoteric < 1546852840 16982 :kolontaev!~kolontaev@82.144.205.57 JOIN :#esoteric < 1546852884 350232 :kolontaev!~kolontaev@82.144.205.57 PRIVMSG #esoteric :Hi all. Am I right Gödel's incompleteness theorems states that it's not possible to create a language in which the sentence "this phrase is a like" would be impossible? < 1546853189 640751 :kolontaev!~kolontaev@82.144.205.57 PRIVMSG #esoteric :Hi all. Am I right Gödel's incompleteness theorems states that it's not possible to create a language in which the sentence "this phrase is a lie" would be impossible? < 1546853192 609306 :kolontaev!~kolontaev@82.144.205.57 PRIVMSG #esoteric :lie! < 1546854135 263089 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I don't think so? But maybe you mean something else. < 1546856395 931828 :kolontaev!~kolontaev@82.144.205.57 QUIT :Quit: leaving < 1546859298 378073 :AnotherTest!~turingcom@d51A4B8E1.access.telenet.be QUIT :Ping timeout: 250 seconds < 1546859345 123805 :AnotherTest!~turingcom@ptr-82l26zcjpltykrbgmmx.18120a2.ip6.access.telenet.be JOIN :#esoteric < 1546859934 139178 :AnotherTest!~turingcom@ptr-82l26zcjpltykrbgmmx.18120a2.ip6.access.telenet.be QUIT :Ping timeout: 268 seconds < 1546860549 219700 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 JOIN :#esoteric < 1546860665 112701 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :imode: on what to add to an FSM to make it Turing-complete: any of the following are enough: one half-infinite r/w tape with two symbols, one queue with two symbols, two stacks with two symbols, two bigint counters (you can consider a counter as a read-only tape with one symbol at the beginning and all zeroes after). < 1546860700 299308 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I'm not sure if there's an explicit "catalog" besides TCS textbooks that explain these with proofs < 1546861919 822615 :kritixilithos!~kritixili@unaffiliated/kritixilithos JOIN :#esoteric < 1546862734 855109 :arseniiv!~arseniiv@94.41.79.143.dynamic.ufanet.ru JOIN :#esoteric < 1546866528 618756 :Essadon!~Essadon@81-225-32-185-no249.tbcn.telia.com JOIN :#esoteric < 1546866563 611496 :Essadon!~Essadon@81-225-32-185-no249.tbcn.telia.com QUIT :Max SendQ exceeded < 1546869880 818257 :kritixilithos!~kritixili@unaffiliated/kritixilithos QUIT :Ping timeout: 250 seconds < 1546870161 736386 :AnotherTest!~turingcom@ptr-82l26zcjpltykrbgmmx.18120a2.ip6.access.telenet.be JOIN :#esoteric < 1546870734 710905 :AnotherTest!~turingcom@ptr-82l26zcjpltykrbgmmx.18120a2.ip6.access.telenet.be QUIT :Ping timeout: 252 seconds < 1546870930 781400 :derpy!~quassel@ppp-62-216-204-204.dynamic.mnet-online.de JOIN :#esoteric < 1546873912 63271 :AnotherTest!~turingcom@d51A4B8E1.access.telenet.be JOIN :#esoteric < 1546876156 177547 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1546876349 995029 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 246 seconds < 1546876350 338952 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1546877715 385139 :uplime!~nchambers@learnprogramming/staff/nchambers JOIN :#esoteric < 1546878678 812346 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1546879467 240194 :derpy!~quassel@ppp-62-216-204-204.dynamic.mnet-online.de QUIT :Remote host closed the connection < 1546879575 891926 :derpy!~quassel@ppp-62-216-204-204.dynamic.mnet-online.de JOIN :#esoteric < 1546880271 134467 :AnotherTest!~turingcom@d51A4B8E1.access.telenet.be QUIT :Ping timeout: 258 seconds < 1546881468 294532 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 QUIT :Quit: http://www.kiwiirc.com/ - A hand crafted IRC client > 1546881790 96611 PRIVMSG #esoteric :14[[07Qwote14]]4 10 02https://esolangs.org/w/index.php?diff=59000&oldid=58969 5* 03Areallycoolusername 5* (+365) 10 < 1546882742 713775 :kritixilithos!~kritixili@unaffiliated/kritixilithos JOIN :#esoteric < 1546883967 256011 :S_Gautam!uid286066@gateway/web/irccloud.com/x-urpqrhqrxjxdcqfw JOIN :#esoteric < 1546884362 865449 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 250 seconds < 1546884754 118798 :oerjan!bc715ce1@gateway/web/freenode/ip.188.113.92.225 JOIN :#esoteric < 1546884988 232270 :oerjan!bc715ce1@gateway/web/freenode/ip.188.113.92.225 PRIVMSG #esoteric :@messages-told < 1546884988 362724 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :ais523 said 1d 1h 30m 13s ago: simpler construction (untested but feels like it should work): instead of one fallback counter per waterclock, have two global fallback counters that zero each other < 1546884988 409074 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :and decrement every waterclock, then use [<] as the inner loop rather than doing something mod-number-of-counters < 1546885145 948048 :oerjan!bc715ce1@gateway/web/freenode/ip.188.113.92.225 PRIVMSG #esoteric :@tell ais523 So much for not checking IRC until I'd finished the post. As suggested, I think I see how to keep your simpler construction non-negative. Putting the fallback counters and all counter cells at -5, -4, and 0 (mod 20) respectively is enough to allow each fallback to repair stray damage from the shifts of its own decrements without collisions. < 1546885146 35902 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Consider it noted. < 1546885318 949330 :oerjan!bc715ce1@gateway/web/freenode/ip.188.113.92.225 PRIVMSG #esoteric :@tell ais523 More specifically, a fallback cell can repair itself if it (1) runs often enough (2) is shifted from all other cells by x (mod n) where n>=4 and gcd(x,n)=1. (This ensures no collisions for the repairs.) Taking n=4 and 5 and combining handles two fallbacks. < 1546885319 35861 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Consider it noted. < 1546885399 844618 :oerjan!bc715ce1@gateway/web/freenode/ip.188.113.92.225 PRIVMSG #esoteric :@tell ais523 The repair distances then become 2x and -2x (mod n), while ordinary distances are x, -x and 0 (mod n). < 1546885399 924073 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :Consider it noted. < 1546885649 510800 :oerjan!bc715ce1@gateway/web/freenode/ip.188.113.92.225 QUIT :Quit: My work here is done < 1546886583 259204 :imode!~imode@unaffiliated/imode JOIN :#esoteric > 1546887431 456122 PRIVMSG #esoteric :14[[07Hell6914]]4 N10 02https://esolangs.org/w/index.php?oldid=59001 5* 03Areallycoolusername 5* (+228) 10Created page with "Due to technical limitations, the title of this page is incorrect. The actual name is pronounced "Hell to the sixty-ninth power" or just Hell69. This is an esoteric programm..." < 1546887858 991764 :Phantom_Hoover!~phantomho@2a02:c7d:485a:3300:fb8b:fb15:c1d3:a33a JOIN :#esoteric < 1546887859 79893 :Phantom_Hoover!~phantomho@2a02:c7d:485a:3300:fb8b:fb15:c1d3:a33a QUIT :Changing host < 1546887859 79955 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1546887897 557872 :kritixilithos!~kritixili@unaffiliated/kritixilithos QUIT :Quit: :q < 1546887901 849379 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :hmm < 1546887914 837971 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :i've tried reading the documentation on this before but it evidently hasn't stuck < 1546887942 155168 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :how do the turing-complete x86 mov instruction things get the instruction pointer to go backwards? < 1546888270 217713 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :like i don't think x86 lets you mov to the IP? < 1546888303 998004 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :If you mean the "mov is Turing-complete" paper, that one's a cheat, there's a single unconditional "jmp start" at the end. < 1546888306 997241 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :For the M/o/Vfuscator, it was more complicated; I've forgotten what it did. < 1546888335 932822 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :memory mapped instruction pointers are usually cheating but I don't think that's what movfuscator does. < 1546888357 84741 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Right -- M/o/Vfuscator uses a mov that causes a fault, plus some setup to make that an infinite loop. < 1546888378 934516 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :i noted that the last instruction in a dump on the github page is mov cs,eax < 1546888381 514526 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"While Dolan's paper required a jmp instruction, the M/o/Vfuscator does not - it uses a faulting mov instruction to achieve the infinite execution loop. If you're worried that this is still "jumping", the same effect could be achieved through pages aliased to the same address, wrapping execution around the upper range of memory, ring 0 exception handling, or simply repeating the mov loop indefinitely. A < 1546888386 540439 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :didn't it use that fault to re-map memory and just keep shuffling pages back and forth to simulate a loop? < 1546888387 585135 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :jmp is currently used to dispatch external functions - if this is a problem, avoid using external functions, or compile libraries with the M/o/Vfuscator as well." < 1546888393 449221 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :there we go, yeah. < 1546888409 446225 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :does mov to cs cause a fault then < 1546888418 292880 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :basically "virtual memory + mov is TC" < 1546888528 332394 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :side note: it's possible to encode complete graphs within a hamming graph, yeah? up to a certain size. < 1546888556 932101 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :anything past that size and you need to get crafty. < 1546888570 888217 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu JOIN :#esoteric < 1546888580 619213 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Phantom_Hoover: Loading an invalid selector definitely would, at least. < 1546888617 37636 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Oh, cs? In that case, loading anything does. < 1546888649 126729 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"The MOV instruction cannot be used to load the CS register. Attempting to do so results in an invalid opcode exception (#UD). To load the CS register, use the far JMP, CALL, or RET instruction." < 1546888657 594098 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :lol < 1546888663 102858 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(Basically, just one more way IP is special.) < 1546888685 653448 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :if you're gonna construct invalid opcodes i think it's a bit much to call it mov < 1546888733 146839 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :well, it's no wonder, because calling and returning to special segments have all sorts of extra semantics over the normal jump < 1546888807 343013 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1546888848 206471 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :does cs even do anything in 32/64 bit mode < 1546888887 182102 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Well... it's "documented" under MOV, and the opcode reference just says "MOV Sreg,r/m16". And assemblers assemble it, as you saw. So while it's a reasonable argument to say it's an invalid opcode, it's still pretty mov-y. < 1546888912 164197 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :CS (and all the other selectors) are pretty relevant in 32-bit protected mode. < 1546889055 837379 :AnotherTest!~turingcom@ptr-82l26zcjpltykrbgmmx.18120a2.ip6.access.telenet.be JOIN :#esoteric < 1546889061 621708 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :do you mean 64-bit protected mode? < 1546889065 990696 :FreeFull!~freefull@defocus/sausage-lover QUIT :Client Quit < 1546889083 435146 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :because it's more relevant in 32-bit protected mode than in 64-bit protected mode < 1546889097 816001 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :In 64-bit mode, CS (as well as DS, ES and SS) have a hardcoded base of 0, but maybe they had some functionality still left for things other than address calculations? (FS and GS can have a non-zero base, loadable via MSRs, and have OS-specific uses, such as implementing TLS.) < 1546889181 250695 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1546889290 823491 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Looks like they do, yes. < 1546889292 222650 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"Code segments continue to exist in 64-bit mode even though, for address calculations, the segment base is treated as zero. Some code-segment (CS) descriptor content (the base address and limit fields) is ignored; the remaining fields function normally (except for the readable bit in the type field)." < 1546889357 294067 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover PRIVMSG #esoteric :TLS as in the network security protocol? < 1546889364 790038 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Thread-local storage. < 1546889508 705730 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I guess that makes sense; they've put the bit that makes it possible to run 32-bit code while in IA-32e (aka "long") mode into the CS descriptor. < 1546889519 446336 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :For further details, consult the "Code Segment Descriptor in 64-bit Mode" chapter of Volume 3. < 1546889749 589135 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :fizzie: the bit that distinguishes 16-bit and 32-bit protected mode code is still in the code segment descriptor for example. < 1546889810 909389 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Yes, and the privilege bits as well. < 1546889895 453209 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :and I think the cpu still allows you to use the legacy 386 method for a call to the operating system through a gate, but only very old 32-bit programs use that, because fast system calls and new fast fast system calls were both introduced before 64-bit mode < 1546889945 427928 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1546890114 456426 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :TBH, I'm not sure how much "less of a cheat" the mov fault is compared to the unconditional jmp, since the "host" code needs a `call sigaction` instruction anyway... although OTOH, there'd be non-"mov" code running anyway to load the program to memory, so that's kind of unavoidable when running under an operating system. < 1546890140 830436 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It's pretty funky, though -- it uses the "master_loop" label (the start of the movfuscated program) as the signal handler, which just never returns; it sets the SA_NODEFER flag so that the "signal handler" can be interrupted by the signal it's handling. < 1546890257 432177 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(I wonder if that consumes some stack per iteration, though. Presumably that state must go somewhere?) < 1546890291 445578 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :can you mov to SP? < 1546890355 480400 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Yes? I mean, that's part of the standard function epilogue when using ebp as a frame pointer? < 1546890413 230426 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's how you get rid of the stack that's consumed every iteration < 1546890463 640755 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Oh, right. < 1546890480 946824 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :fizzie: I expect the kernel would push some stuff to the stack before calling the signal handler. Not sure though < 1546890495 175371 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Ah < 1546890540 832987 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Looks like that's in fact what it does, when using the "mov loop" as it calls it. < 1546891108 534386 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :fizzie: no, the MOV proof actually uses some crazy properties of x86 so that even for the fault handler it invokes and in system mode, it never runs any instruction other than MOV. the cpu only executes MOV, as well as generic fault-handling code that isn't specifically part of any named or directly callable instruction < 1546891123 58665 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :it's quite esoteric, you wouldn't believe it until you read the article < 1546891159 80545 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :and yes, the setup requires instructions other than MOV < 1546891168 368300 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :but after that, it's turing-complete < 1546891271 616153 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :and the whole thing requires a custom "operating system", one with very unusual settings that you wouldn't normally use, and that probably isn't convenient if you want to run ordinary programs < 1546891291 323580 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :it might not be able to run anything else < 1546891320 291185 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :the whole concept seems preposterous and impossible a priori, really < 1546891332 423841 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :normally you need an IRET to go back from system code to user code < 1546891373 833949 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :or one of these fancy modern fast system call or fast fast system call instructions < 1546891383 689712 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what sort of system calls can movfuscator manage? none of them (i.e. pure computation only)? < 1546891411 699909 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :ais523: I think it's pure computation < 1546891423 315621 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :it only promises Turing-completness, not IO-completeness < 1546891440 284383 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :though I think it can write to or read from an IO device in a busy loop if it wants to < 1546891448 448786 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :as long as it's memory-mapped < 1546891466 533311 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :so it may be able to do some IO, like writing on the screen < 1546892078 774735 :arseniiv!~arseniiv@94.41.79.143.dynamic.ufanet.ru PRIVMSG #esoteric :this thing: https://en.wikipedia.org/wiki/Baumslag%E2%80%93Solitar_group makes me feel like ordinals somehow < 1546892100 406993 :arseniiv!~arseniiv@94.41.79.143.dynamic.ufanet.ru PRIVMSG #esoteric :like some beautiful monstrosity < 1546892253 285642 :arseniiv!~arseniiv@94.41.79.143.dynamic.ufanet.ru PRIVMSG #esoteric :or more like monstrous beauty < 1546892322 393471 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :`bobadventureslist http://bobadventures.comicgenesis.com/ < 1546892323 528507 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :bobadventureslist http://bobadventures.comicgenesis.com/: b_jonas < 1546892334 247991 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :I saw that in the morning, but forgot to list it < 1546892342 93494 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :b_jonas: That's not what the Dolan 2013 paper does, nor is it what https://github.com/xoreaxeaxeax/movfuscator does. The former uses a jmp, the latter runs under a Unix-like operating system and uses the SIGILL signal handler to loop, which definitely involves non-mov code. But I do remember there was something else that was closer to what you described. < 1546892390 195353 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(I just can't seem to be able to place it now, and it's not even linked from https://esolangs.org/wiki/Mov -- wasn't it someone here that did it better?) < 1546892405 59132 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :fizzie: yeah, it's probably another article, not the movfuscator < 1546892451 868687 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :also, for those who missed the news, there's a new IOCCC contest, with submission deadline in 2019-03 < 1546892483 770108 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Sort of related, there was the https://github.com/jbangert/trapcc thing, which does computation without executing any actual instructions, just as part of the fault handling. < 1546892540 169653 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :fizzie: that technically also follows movfuscator rules :-) < 1546893010 221804 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 246 seconds < 1546893565 415532 :Taneb!~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0 PRIVMSG #esoteric :b_jonas: thanks for the heads up < 1546893602 156406 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :also, I'll have to look at this experimental "shelving" and "checkpointing" thing that subversion (apache svn) does to work around the problem that they're not a distributed vcs, and let you do something as a substitute of local commits not pushed to the server < 1546893614 798579 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :not the same as a true dvcs, but still have to read how it works < 1546893666 540247 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :it's been released for months now, but I haven't looked at the details < 1546893679 803524 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :this is about subversion 1.11 for the record < 1546893696 406489 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :http://subversion.apache.org/docs/release-notes/1.11 < 1546894012 305665 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1546894403 263858 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 245 seconds < 1546895041 458833 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1546895717 18888 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :drat, I think they're trying to do something like git stashes, but without git, which is somewhat of a bad idea < 1546895790 960670 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :I think that's why I shelved the whole idea as useless and decided to wait the first time it came out < 1546896039 839106 :AnotherTest!~turingcom@ptr-82l26zcjpltykrbgmmx.18120a2.ip6.access.telenet.be QUIT :Ping timeout: 252 seconds < 1546896930 398477 :arseniiv!~arseniiv@94.41.79.143.dynamic.ufanet.ru PRIVMSG #esoteric :I feel now I comprehend a new wisdom: strongly avoid design by comittee whenever possible < 1546896944 949035 :arseniiv!~arseniiv@94.41.79.143.dynamic.ufanet.ru PRIVMSG #esoteric :it makes things overlong < 1546897445 139768 :imode!~imode@unaffiliated/imode QUIT :Read error: Connection reset by peer < 1546897515 393716 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1546897818 473845 :newbie!~Essadon@81-225-32-185-no249.tbcn.telia.com JOIN :#esoteric < 1546900404 395280 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 250 seconds < 1546900421 434094 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :committees are good at catching mistakes but bad at suggesting fixes to them < 1546900519 691929 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :which is why instead we use a bug report ticket system, with the developers free to ignore most of the flood of nonsense tickets they get, and the reporters need to take a BIT more care to make real bug reports not look like the ordinary flood of nonsense if they want the bug to get fixed < 1546900580 852434 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :I know that after my first report of the sqlite3 floating point to integer comparison bug got almost ignored. it's lucky that I got a reply to it that clued me into what the mistake was. it looked like the tons of clueless reports from people who don't understand how floating-point arithmetic and formatting works. < 1546900607 805134 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :it's my most useful bug report ever, and I have to make a proper short writeup about it and put it on my CV < 1546900666 16457 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :it's even plausibly deniable that I found it by looking at the source code. it's definitely a bug one could have found by blackbox testing. > 1546900727 559888 PRIVMSG #esoteric :14[[07Bitch14]]4 M10 02https://esolangs.org/w/index.php?diff=59002&oldid=58981 5* 03Helen 5* (+0) 10Fixed hello world exampl < 1546900904 601430 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: do you have a link to the report? > 1546900948 50805 PRIVMSG #esoteric :14[[07Bitch14]]4 M10 02https://esolangs.org/w/index.php?diff=59003&oldid=59002 5* 03Helen 5* (+2) 10Fixed hello world example* < 1546901021 821757 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: sorry for my connection < 1546901042 396102 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1546901066 310834 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :ais523: Incorrect comparison between integer and floating-point number in SQLite database engine, leading to index corruption https://www.mail-archive.com/sqlite-users@mailinglists.sqlite.org/msg92963.html https://www.sqlite.org/src/tktview?name=38a97a87a6 < 1546901074 773414 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :thanks < 1546901113 70337 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :then there's a second one about an incorrect fix to that bug, but that's less interesting > 1546901184 756665 PRIVMSG #esoteric :14[[07Bitch14]]4 M10 02https://esolangs.org/w/index.php?diff=59004&oldid=59003 5* 03Helen 5* (+149) 10Added a link to an alternate implementation at TIO & GitHub < 1546901343 223027 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: that's clearly a bug from the report, inserting a float between two ints left the ints out of order < 1546901455 324238 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :ais523: of course. < 1546901482 267557 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :but I think it doesn't really help a bug report if it starts by claiming that it's a definite bug, because all the nonsense bug reports also do that < 1546901509 657643 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :in fact it seems like a slightly better strategy to ask whether it's a bug, and explain the problem clearly in a way they can tell whether it's a bug < 1546901517 393261 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I guss you want to title it something like "reproducible pragma integrity_check failure" < 1546901532 587760 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and then give the reproduction, without mentioning ints and floats < 1546901584 472690 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :yes, but I have to be careful with "reproducible", lest someone tries it with an msvc compiler or slightly different feature flags, and fails to reproduce it < 1546901642 5988 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :only one of the six permutations of the inserts work, which one depends on the compilation flags and stuff like that, and on msvc there was no bug at all (except for the short time when the incorrect fix was committed, but that never went to release) < 1546901672 286595 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :the body does say that it's reproducible though < 1546901727 279815 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :and it's not even too much of a lie, the index corruption explains why a non-transitive comparison is actually a serious bug in sqlite < 1546901751 739113 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :and yes, in this mail, I didn't mention the ints and floats < 1546901776 710703 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :the two sqlite devs can run a debugger just fine and localize the problem < 1546901797 781708 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :or look at the internal representation of the index < 1546901846 846955 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :or look at the query plan and see that the first query is iterating on the index in order < 1546901856 367463 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :yet somehow manages to print the rows in the wrong order < 1546901865 616105 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :in any case, they'll find the error < 1546901894 872858 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :obviously it's easy to say this in retrospect, when they have found the error and fixed it < 1546901911 992512 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :oh I see < 1546901947 60418 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :ais523: the non-obvious part is that the ticket at https://www.sqlite.org/src/tktview?name=38a97a87a6 wasn't filed by me. sqlite is developed in a closed way, only the dev team files bug reports. my mail doesn't mention the ints and floats < 1546901979 487180 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right, I was wondering why you weren't credited < 1546902011 991644 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there's a change I made to C-INTERCAL recently that hasn't been posted in the repo because the lack-of-feature reporter didn't get back to me about how they wanted me to credit them for the idea < 1546902110 4283 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :ais523: yeah, that would have made my job easier. this way I'll have to write a summary instead of having a single convenient bug ticket link that links to my email. many of their bug tickets do link to the email where it was reported. < 1546902168 744402 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :write one of those blogposts that gets posted to Reddit and everyone ignores < 1546902173 149147 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :I think they did link back to my mail from the ticket for a silly parsing bug < 1546902183 761380 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :report, ticket, an explanation of what caused it, an explanation of how the fix works < 1546902215 747368 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :ais523: no, I'll just write a simple HTML page with an explanation, perhaps with a lesson spinned about how you should be careful in perl about sort { $a<=>$b } even if none of your data are NaNs < 1546902235 42970 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: how does that break with non-NaNs? < 1546902241 996298 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :same comparison bug < 1546902266 261833 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, if you mix ints and floats < 1546902270 452764 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :perl easily automatically numifies strings in a way that you get integers and floats mixed from the same perl code for different inputs < 1546902274 389570 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :that, yes < 1546902274 807712 :zzo38!~zzo38@24-207-47-161.eastlink.ca PRIVMSG #esoteric :I think SQLite converts any NaN value into null, as far as I can tell, anyways < 1546902297 935441 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :zzo38: yes, or at least close to always (I'm not sure if there's any way to get a NaN without breaking some requirement) < 1546902347 618316 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :ais523: I mean this is why it's specifically much more relevant to perl than to, say, C or python or ruby < 1546902363 720471 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :despite that my first bug report was ignored by claiming that C also compares ints to floats the buggy way < 1546902399 385768 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :which is true, but in C you have to be specifically working hard to get the bug because you have to explicitly make a mixed container of ints and floats, and then compare them without casting them to the same type < 1546902429 66851 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :which isn't something you can write without either explicitly writing three or four different comparisons for different types, or hiding it behind something even more complicated < 1546902461 660069 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :whereas in perl or sqlite, both of which offers you to numify strings easily to int or float depending on the string value, you get the bug easily without trying < 1546902516 419135 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :even in ruby or python you have to work at least a little, like creating the int and float values in different places of the code, though after that the non-homogeneous container and mixed comparison is no longer strange < 1546902531 853979 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :mind you, I think some of python and ruby actually compare ints to floats the correct way < 1546902534 588758 :Soni!~quassel@unaffiliated/soniex2 QUIT :Quit: http://quassel-irc.org - Chat comfortably. Anywhere. < 1546902596 26322 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :which isn't too surprising given that both python3 and ruby transparently upgrades ints to bigints on an int arithmetic overflow < 1546902717 636295 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :but in sqlite3 it's even worse than in perl, because sqlite3 has automatic indexes that get corrupted from thi < 1546902797 887636 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :in perl, the p5p will always blame YOUR code forever without fixing the bug, and in fact it's quite possible that fixing the bug in perl _now_ will break some existing code that relies on the float-int comparison having that exact semantics < 1546902803 176152 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :so it's not clear what perl should even do about it < 1546902834 582394 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't think it's fixable without specialcasing <=> inside sort < 1546902869 489520 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :<=> between float and int is not transitive in much the same way that + on floats is not commutative < 1546902912 370395 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :ais523: the problem is that sometimes you may want the correct comparison even outside of a sort < 1546902922 590048 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :it's not really specific to sort < 1546902965 288365 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but <=> already returns the correct results, for floating-point values of correct < 1546902993 63249 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1546903030 655747 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :depending on what you mean by correct < 1546903044 699289 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :if you mix ints and floats, then I think it doesn't return the correct results, < 1546903058 357763 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :and if it returned the correct results from the early days of perl, that would have been better < 1546903062 149366 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you mean it should return numerically correct results rather than converting either argument? < 1546903066 86744 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that seems inefficient < 1546903091 482146 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :yes, and it's not too inefficient given all the things perl do, it's only a few arithmetic operations that the cpu can do well < 1546903104 59343 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :it's true that it's hard to write the code for that correctly, and hard to test that it's correct < 1546903120 251826 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :but when done right, it isn't actually too inefficient as arithmetic in perl goes < 1546903126 343563 :b_jonas!~x@catv-176-63-13-220.catv.broadband.hu PRIVMSG #esoteric :with all the SVs around < 1546903422 4165 :Soni!~quassel@unaffiliated/soniex2 JOIN :#esoteric < 1546904236 154878 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Remote host closed the connection < 1546905095 382573 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: quit