< 1399334444 685647 :boily!~boily@96.127.201.149 PRIVMSG #esoteric :lexande: mapole ↓ < 1399334447 531484 :boily!~boily@96.127.201.149 PRIVMSG #esoteric :`? mapole < 1399334448 238887 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :A mapole is a thwackamacallit built from maple according to Canadian standards. < 1399335189 639764 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 240 seconds < 1399336011 641687 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1399336774 757900 :vravn!~vravn@syn.rook.sx QUIT :Ping timeout: 240 seconds < 1399336819 543068 :tromp!~tromp@ool-4575eb51.dyn.optonline.net JOIN :#esoteric < 1399336940 354975 :vravn!~vravn@syn.rook.sx JOIN :#esoteric < 1399337017 404740 :boily!~boily@96.127.201.149 PRIVMSG #esoteric :`? ingesorgeco < 1399337018 140931 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :ingesorgeco? ¯\(°​_o)/¯ < 1399337034 589948 :boily!~boily@96.127.201.149 PRIVMSG #esoteric :`coins --french 12 < 1399337035 959770 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :​09commantecoin 02vertielcoin 06limeubwecoin 13gaêtancrcoin 04surguercoin 07faciencoin 08reuccoin 09substrumcoin 02autopécoin 06deyroncoin 13physiavacoin 04djerontcoin < 1399337065 45049 :boily!~boily@96.127.201.149 QUIT :Quit: CHICKENCOIN < 1399337108 240924 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :`coins --canadian-english-insane 10 < 1399337109 272405 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :​07refrankedcoin 08mastaicoin 09finlidcoin 02brutcoin 06capcoin 13bionarcheterimcoin 04leurinacoin 07mimmarkcoin 08sabillecoin 09phicablecoin < 1399337125 60255 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :i am all about bionarcheterimcoin < 1399337705 401065 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 252 seconds < 1399338842 71234 :fowl!~fowl@unaffiliated/fowlmouth PRIVMSG #esoteric :`coins < 1399338843 663902 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :​02chacoin 06judicacoin 13lazycoin 04teqcoin 07tmlibergcoin 08mircoin 09tetneycoin 02camecoin 06filecoin 13frainfcoin 04etaplecoin 07wikmanlarcoin 08foblefoodcoin 09dvenghacoin 02hyanickethaxcoin 06blaccoin 13watchacoin 04v--coin 07monofcoin 08headcoin < 1399339676 161003 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Why do people still use quicksort when radix sort exists? < 1399339713 349121 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Because quicksort has "quick" in the name. < 1399339730 445681 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :I fail to see how radix sort is relevant though: quicksort is honestly a blatant misnomer. < 1399339746 814382 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :It's literally got O(n^2) worst case performance. < 1399339959 412289 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 250 seconds < 1399339974 807065 :vravn!~vravn@syn.rook.sx QUIT :Ping timeout: 240 seconds < 1399339997 578882 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :pikhq: It's faster than merge sort on average though < 1399340009 10050 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :And merge sort is O(n log n) < 1399340021 546213 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Radix sort is just O(nk) though < 1399340037 942068 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :I mean, merge sort is guaranteed O(n log n) < 1399340079 146879 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Radix sort blows quicksort out of the water < 1399340120 553345 :vravn!~vravn@syn.rook.sx JOIN :#esoteric < 1399340544 270484 :monotone!~monotone@room208.org PRIVMSG #esoteric :Only if k <= log(n). < 1399340593 391845 :monotone!~monotone@room208.org PRIVMSG #esoteric :If you have a sparse distribution of numbers over some large range it's going to be very inefficient. < 1399340620 415896 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :That's true < 1399340636 228050 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :But would quicksort for such a distribution be better than merge sort or even insertion sort? < 1399340772 767126 :monotone!~monotone@room208.org PRIVMSG #esoteric :Dunno. < 1399340786 433431 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Radix sort is O(nk) but not constant in memory usage. < 1399340794 268258 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Shell sort is bitchin'. < 1399340834 909284 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :There is in-place radix sort, although it's not quite the same < 1399340893 152712 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :I think the main thing with quicksort *in particular* is, in general what you want from a sorting algorithm is not absolute fastest time, but rather consistently not-slow time. < 1399340902 293123 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Especially when dealing with, say, a library function. < 1399340912 631624 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :That you Want to be robust against potentially malicious input. < 1399340981 863913 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :"Usually fast, but sometimes ungodly slow" is not a good thing. < 1399341183 157767 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :pikhq: If you have n 128-bit numbers, it's going to take radix sort the same amount of time to sort them no matter what they are < 1399341219 592869 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Yes. Radix sort is a good algorithm, and should probably be used when applicable. < 1399341235 120372 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :My complaints were with quicksort, not radix sort. < 1399341281 445416 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Shell sort seems to have the same asymptotic complexities as quicksort, so simplicity and constant factors would be the thing to consider < 1399341310 580289 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Shell sort has worst-case O(n log n). < 1399341319 48124 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Erm, wait. < 1399341321 313301 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Smooth. < 1399341323 790776 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :That's what I meant. < 1399341331 358662 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Jeeze, I must be sleepy today. < 1399341341 392992 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Shell sort is not at all what I meant to recommend. :) < 1399341369 810838 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Your being confused at me is very understandable. < 1399341545 31028 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Shell sort isn't stable, but in-place quicksort isn't either < 1399341559 519113 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :What sort did you mean then? < 1399341853 236150 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Smoothsort. < 1399341876 418082 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Or... well. At least something that isn't worst-case suboptimal. < 1399341898 315785 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Which is definitely not shell. :) < 1399342433 686827 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Ah, heapsort variation < 1399342446 802410 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :That takes advantage of runs < 1399342484 235401 :pikhq!~pikhq@2602:100:18b2:fbfb:a60:6eff:fece:493 PRIVMSG #esoteric :Yep. < 1399344750 608841 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :FreeFull: you can't always use radix at all < 1399344767 223377 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :you might only have pairwise comparison < 1399344812 176129 :^v!~notnot^v@c-71-238-153-166.hsd1.mi.comcast.net QUIT :Quit: http://i.imgur.com/Akc6r.gif < 1399344835 694440 :^v!~notnot^v@c-71-238-153-166.hsd1.mi.comcast.net JOIN :#esoteric < 1399346164 550204 :contrapumpkin!~copumpkin@unaffiliated/copumpkin NICK :copumpkin < 1399346175 61434 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Suicide14]]4 10 02http://esolangs.org/w/index.php?diff=39462&oldid=17129 5* 0376.100.81.188 5* (+70) 10Tagged < 1399346347 436021 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :does anyone know who, if anyone, owns the rights to 65xx processors? like, MOS is gone, can anyone make them now? < 1399346584 475491 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Gerbil14]]4 10 02http://esolangs.org/w/index.php?diff=39463&oldid=23533 5* 0376.100.81.188 5* (+51) 10Tagging < 1399346962 129652 :sebbu!~sebbu@ADijon-152-1-59-206.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1399346995 433766 :sebbu!~sebbu@ADijon-152-1-59-206.w83-194.abo.wanadoo.fr QUIT :Changing host < 1399346995 581423 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1399347095 237725 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :i should lie and tell people that the Finnish language has case for punctuation and that { is actually considered a lower case version of [ < 1399347116 460301 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :or someone can try now to convince me that this is actually true, that might be a fun game < 1399347539 412068 :lexande!arapp@terpsichore.ugcs.caltech.edu PRIVMSG #esoteric :wait i thought it was { is the upper case version of [ < 1399347631 737994 :lexande!arapp@terpsichore.ugcs.caltech.edu PRIVMSG #esoteric :hmm no i guess not < 1399348660 299075 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :`run echo '[{' | iconv -f iso646-fi < 1399348660 484195 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :​Ää < 1399349261 37318 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1399349298 880696 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :http://arxiv.org/abs/cond-mat/0303625/ neat paper people might like. does CAs! < 1399349393 261571 :lexande!arapp@terpsichore.ugcs.caltech.edu PRIVMSG #esoteric :`run echo ']}\|' | iconv -f iso646-fi < 1399349394 55077 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :​ÅåÖö < 1399349816 758367 :tromp!~tromp@ool-4575eb51.dyn.optonline.net QUIT :Remote host closed the connection < 1399349848 735255 :tromp!~tromp@ool-4575eb51.dyn.optonline.net JOIN :#esoteric < 1399350094 727495 :tromp!~tromp@ool-4575eb51.dyn.optonline.net QUIT :Ping timeout: 240 seconds < 1399351550 569660 :Sorella!~queen@oftn/member/Sorella QUIT :Quit: It is tiem! < 1399352818 968853 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :Bike: you are wrapping a mobius strip of videotape around and around the math/porn part of my mind < 1399352842 888162 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :i... don't know what that means? or where i got video tape nowadays < 1399352897 597847 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :it means mind = blown < 1399352951 875499 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :i saw a VHS rewinder next to a trash can the other day < 1399353969 360825 :Sgeo!~quassel@ool-44c2df0c.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1399353985 336999 :Sgeo!~quassel@ool-44c2df0c.dyn.optonline.net JOIN :#esoteric < 1399354403 165496 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Why do people still sort when you can just put it in a replicated nosql cloud < 1399354418 443201 :coppro!raedford@taurine.csclub.uwaterloo.ca PRIVMSG #esoteric :sort what? < 1399354427 817943 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :stolen Flickr passwords < 1399354477 84262 :coppro!raedford@taurine.csclub.uwaterloo.ca PRIVMSG #esoteric :oh < 1399354533 77211 :password2!~password@197.78.185.168 JOIN :#esoteric < 1399354586 127011 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :And this one? < 1399354615 696904 :coppro!raedford@taurine.csclub.uwaterloo.ca PRIVMSG #esoteric :hunter2 obv < 1399354631 951575 :coppro!raedford@taurine.csclub.uwaterloo.ca PRIVMSG #esoteric :I assume that's what you use as a password for everything < 1399354999 177724 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1399355541 108651 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1399355882 331041 :^v!~notnot^v@c-71-238-153-166.hsd1.mi.comcast.net QUIT :Quit: http://i.imgur.com/Akc6r.gif < 1399356354 205712 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`learn Ingesorgeco is when a German is worrying that their money might get cut short. < 1399356355 687835 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :I knew that. < 1399356958 699713 :MoALTz_!~no@user-46-113-137-196.play-internet.pl QUIT :Quit: bbl < 1399357664 515949 :ter2!~tertu@143.44.70.199 QUIT :Ping timeout: 255 seconds < 1399357883 500529 :drdanmaku!uid17782@gateway/web/irccloud.com/x-ilfkonhgqrgvxywm QUIT :Quit: Connection closed for inactivity < 1399358058 403123 :olsner!~salparot@c83-252-203-32.bredband.comhem.se PRIVMSG #esoteric :Bike: http://www.westerndesigncenter.com/wdc/ perhaps ... but there may be more companies holding licenses to make 65xx chips < 1399358081 550262 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :it's just that the licensor doesn't exist any more far as i can tell < 1399358096 827795 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :legalities are hard < 1399358128 115971 :olsner!~salparot@c83-252-203-32.bredband.comhem.se PRIVMSG #esoteric :yeah, I'm not sure who/what they'd have a license from, presumably commodore (who bought MOS) exists in a shell somewhere < 1399358182 628748 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :patent trolls from beyond :o < 1399358202 691568 :olsner!~salparot@c83-252-203-32.bredband.comhem.se PRIVMSG #esoteric :or, no, they split from commodore, and apparently it was later "liquidated", http://en.wikipedia.org/wiki/MOS_Technology#GMT_Microelectronics < 1399361038 327644 :Tritonio!~Thunderbi@212.251.54.186 JOIN :#esoteric < 1399361393 387928 :slereah_!~slereah@46.218.232.202 JOIN :#esoteric < 1399362148 376979 :edwardk!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1399363693 936229 :edwardk!~edwardk@pdpc/supporter/professional/edwardk QUIT :Quit: Computer has gone to sleep. < 1399364187 727015 :impomatic!~john_metc@37.152.203.231 QUIT :Ping timeout: 276 seconds < 1399364671 466327 :Patashu!~Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au JOIN :#esoteric < 1399365238 251864 :conehead!~conehead@unaffiliated/conehead QUIT :Ping timeout: 240 seconds < 1399368688 367581 :Froox!~Frooxius@cust-101.ktknet.cz QUIT :Read error: No route to host < 1399368697 748361 :Frooxius!~Frooxius@cust-101.ktknet.cz JOIN :#esoteric < 1399368725 729006 :KingOfKarlsruhe!~stud-heco@unaffiliated/kingofkarlsruhe JOIN :#esoteric < 1399369398 752669 :slereah_!~slereah@46.218.232.202 PRIVMSG #esoteric :Is there a C type specific to probabilities? < 1399369411 27325 :slereah_!~slereah@46.218.232.202 PRIVMSG #esoteric :Floating points are pretty bad at it < 1399369421 5310 :slereah_!~slereah@46.218.232.202 PRIVMSG #esoteric :Not uniform and bad range < 1399369458 95320 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :long long int hth < 1399369470 330872 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :wait < 1399369474 650607 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :make that unsigned < 1399369487 201127 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :very uniform. < 1399369543 914454 :lexande_!arapp@terpsichore.ugcs.caltech.edu JOIN :#esoteric < 1399369841 908127 :lexande!arapp@terpsichore.ugcs.caltech.edu QUIT :*.net *.split < 1399369846 260856 :FireFly!~firefly@oftn/member/FireFly QUIT :*.net *.split < 1399369919 936744 :TodPunk!~Tod@50-198-177-186-static.hfc.comcastbusiness.net QUIT :Ping timeout: 252 seconds < 1399370280 680486 :yorick!~yorick@oftn/member/yorick JOIN :#esoteric < 1399370365 202948 :FireFly!~firefly@oftn/member/FireFly JOIN :#esoteric < 1399371121 147341 :Melvar!~melvar@dslb-092-072-186-068.pools.arcor-ip.net PRIVMSG #esoteric :Is a long long int 128 bits anywhere? < 1399371494 41258 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION thinks they must have finally fixed the annoying tab bug in IE 11 < 1399372319 745913 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and also, the address bar suddenly seems not to give the entirely wrong completion suggestions any more... < 1399372364 598886 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :__int128 is 128 bits everywhere < 1399374381 757414 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :Melvar: no < 1399374407 582163 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: What about long long long long long long ints? < 1399374473 452381 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :How long must we long for long long long! < 1399374557 309320 :Melvar!~melvar@dslb-092-072-186-068.pools.arcor-ip.net PRIVMSG #esoteric :mroman_: Would it comply with the standard? < 1399374567 867383 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :long long is guaranteed to be 64bits < 1399374582 852552 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :but that's it < 1399374619 892080 :Melvar!~melvar@dslb-092-072-186-068.pools.arcor-ip.net PRIVMSG #esoteric :mroman_: You mean, exactly 64 bits, not ≥64? < 1399374643 620532 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I mean "at least" < 1399374667 852377 :Melvar!~melvar@dslb-092-072-186-068.pools.arcor-ip.net PRIVMSG #esoteric :Okay, that’s what I would have expected. Thanks. < 1399374672 99441 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :There is no required integer type required to have an exact bit size < 1399374691 407003 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :The C standard only defines the manimum range of a long long < 1399374719 586684 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :*minimum < 1399374751 60300 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :This is so that WG14 sponsors can make a 32-bit sandwich toaster and advertise support for ISO standard C < 1399374752 786067 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :You should use int128_t if you wan't exactly 128bits < 1399374761 581381 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :but I'm not sure how much support compilers have for intN_t < 1399374780 591346 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I don't get it why compilers use non-standard stuff like __int128 < 1399374786 874464 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :when they could just use int128_t < 1399374823 488218 :Melvar!~melvar@dslb-092-072-186-068.pools.arcor-ip.net PRIVMSG #esoteric :mroman_: I was just wondering; I don’t need a 128-bit type for anything. < 1399374840 362696 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :You better use inttypes . < 1399374860 331364 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I don't see a reason to use long long < 1399374867 922378 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I don't see a reason to use int for that matter < 1399374876 474441 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :it's broken < 1399374900 692686 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :for(int i = 0; i < 10000; i++) { /* hurray, I'm crappy unportable code */ } < 1399374909 659345 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :*100000 < 1399374956 355209 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :Melvar: My opinion on those regular C types is "They suck" < 1399374960 790774 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :It's a feature to prevent idiots with obsolete computers from enjoying the software < 1399374969 215384 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :Exactly! < 1399374982 744352 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :There's no guarantee an int can hold 100k < 1399374999 667390 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :on my obsolete computer . < 1399375026 531109 :Melvar!~melvar@dslb-092-072-186-068.pools.arcor-ip.net PRIVMSG #esoteric :I did once program a microcontroller with a 16-bit int, I think. < 1399375036 626951 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Well, the real problem is that int is no longer mapped to machine words by any amd64 compiler (and on most of them, not even long) < 1399375044 24293 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :int is at least 2^16 < 1399375055 125902 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :So you have people writing int left and right and the compiler has to sign-extend them all < 1399375058 857253 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :but nobody said it can hold 32bit values < 1399375067 120806 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :It's p. efficient < 1399375116 821840 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :well < 1399375124 15912 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :There's int_fast32_t! < 1399375169 498935 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Pretty sure that's still mapped to int to appease the peasants < 1399375177 292386 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :which, if you use on a 64bit machine probably gives you an int64_t? < 1399375199 280113 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :which means that you better not rely on 32bit wrap-arounds . < 1399375207 569177 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :No, I don't know any compiler that maps int to int64_t < 1399375220 65297 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :I think posix requires int to have at least 32 bits, though < 1399375236 50317 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I don't know any compiler that maps int to int64_t < 1399375242 477657 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :but a compiler is allowed to do so < 1399375258 575128 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :In practice, it's not going to happen < 1399375276 406738 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :why not? < 1399375293 83733 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :It will break milljeeons of programs < 1399375295 103601 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I could imagine that int64_t is faster < 1399375308 730921 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :Jafet: I don't care about breaking millions of crappy written programs . < 1399375310 477518 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :;) < 1399375324 231046 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :If you rely on int to be 32bit you don't know C < 1399375327 437365 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Good thing you're not writing compilers, then < 1399375331 665141 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Or programs < 1399375394 336448 :Melvar!~melvar@dslb-092-072-186-068.pools.arcor-ip.net PRIVMSG #esoteric :If one relies on 32-bit wraparounds, it needs int32_t and -fwrapv at least, I believe. < 1399375433 445485 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :Yeah < 1399375439 469150 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :wrap-arounds are evil anyway < 1399375452 484611 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :but what kind of evil stuff were people doing so that the code breaks if int is suddenly 64bit wide? < 1399375476 55752 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :(relying on wrap-arounds would be one thing) < 1399375495 218604 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Not evil, just stupid < 1399375499 104663 :Melvar!~melvar@dslb-092-072-186-068.pools.arcor-ip.net PRIVMSG #esoteric :( the Int maxBound < 1399375499 305347 :idris-bot!~ircslave@dslb-092-072-186-068.pools.arcor-ip.net PRIVMSG #esoteric :Can't resolve type class 12MaxBound 12Int < 1399375533 211101 :Melvar!~melvar@dslb-092-072-186-068.pools.arcor-ip.net PRIVMSG #esoteric :Oh, right, it won’t actually be known … < 1399375554 182608 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :`echo $'#include \n#include \nmain(){ printf("%zu %zu %zu", sizeof(int_least32_t), sizeof(int32_t), sizeof(int_fast32_t)); }\n' > /tmp/a.c && gcc /tmp/a.c -o /tmp/a.out && /tmp/a.out < 1399375554 815652 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :​$'#include \n#include \nmain(){ printf("%zu %zu %zu", sizeof(int_least32_t), sizeof(int32_t), sizeof(int_fast32_t)); }\n' > /tmp/a.c && gcc /tmp/a.c -o /tmp/a.out && /tmp/a.out < 1399375566 892587 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :`run echo $'#include \n#include \nmain(){ printf("%zu %zu %zu", sizeof(int_least32_t), sizeof(int32_t), sizeof(int_fast32_t)); }\n' > /tmp/a.c && gcc /tmp/a.c -o /tmp/a.out && /tmp/a.out < 1399375567 749088 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :4 4 8 < 1399375583 648944 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Wow, gcc fucks the peasants < 1399375663 5554 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :hm? < 1399375671 161128 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :looks like int_fast32_t is 64bit < 1399375725 977724 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :although I'm currently reading something about "you can fit more 32bit ints into the cache so it's faster" < 1399375737 585526 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :You certainly can fit more 32bit ints into a cache line < 1399375765 395650 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :so... < 1399375840 375722 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :If you do 32bit computations on 16 integers < 1399375845 375775 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :they fit neatly into a cache line < 1399375852 633222 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :wherease 16 64bit integers wouldn't! < 1399375887 479485 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :well... < 1399375893 748570 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :Somebody should test that < 1399376034 792585 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :My gcc is probably 32bit though < 1399376035 363674 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :hm < 1399376062 537700 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Not on itanium < 1399376200 993586 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :ah < 1399376205 347922 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :`run echo $'#!/bin/sh\necho "$@" > /tmp/a.c && gcc /tmp/a.c -o /tmp/a.out && /tmp/a.out' > bin/cc && chmod +x bin/cc < 1399376206 397533 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :they blocked me on the 64bit machine < 1399376206 707221 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :No output. < 1399376222 773213 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :probably due to something important running on it :D < 1399376238 46069 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :`cc #include \nmain(){ return 1/0; } < 1399376238 926810 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :​/tmp/a.c: In function ‘main’: \ /tmp/a.c:2:17: warning: division by zero [-Wdiv-by-zero] \ Floating point exception < 1399376310 323380 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :`cc #include \nmain(){ puts("\n\n\n"); } < 1399376310 970959 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :​/tmp/a.c: In function ‘main’: \ /tmp/a.c:2:14: warning: missing terminating " character [enabled by default] \ /tmp/a.c:2:1: error: missing terminating " character \ /tmp/a.c:5:1: warning: missing terminating " character [enabled by default] \ /tmp/a.c:5:1: error: missing terminating " character \ /tmp/a.c:5:1: error: expected expression at < 1399376321 889879 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :`cc #include \nmain(){ puts("\\n\\n\\n"); } < 1399376322 697646 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :No output. < 1399376340 462670 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :`cc #include \nmain(){ puts("\\n\\n\\n☃"); } < 1399376341 294716 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :​ \ \ \ ☃ < 1399376719 118217 :Froox!~Frooxius@cust-101.ktknet.cz JOIN :#esoteric < 1399376838 68027 :Sgeo!~quassel@ool-44c2df0c.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1399376978 476299 :b_jonas_!~x@russell2.math.bme.hu JOIN :#esoteric < 1399376982 530804 :Frooxius!~Frooxius@cust-101.ktknet.cz QUIT :Read error: Connection reset by peer < 1399376982 785049 :b_jonas!~x@152.66.83.24 QUIT :Ping timeout: 258 seconds < 1399377137 93156 :b_jonas_!~x@russell2.math.bme.hu NICK :b_jonas < 1399377303 451863 :ter2!~tertu@143.44.70.199 JOIN :#esoteric < 1399379131 786623 :FireFly!~firefly@oftn/member/FireFly PRIVMSG #esoteric :very snowman < 1399379392 715144 :S1!8d1fe87a@gateway/web/cgi-irc/kiwiirc.com/ip.141.31.232.122 JOIN :#esoteric < 1399379462 952903 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Zero14]]4 N10 02http://esolangs.org/w/index.php?oldid=39464 5* 03Tailcalled 5* (+1493) 10Created page with "Zero is a language invented by Tailcalled. It was specifically designed to be literally impossible to program in and execute in the general case. Zero has eight instructions,..." < 1399379675 550160 :edwardk!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1399379814 967085 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Literally < 1399380037 63495 :S1!8d1fe87a@gateway/web/cgi-irc/kiwiirc.com/ip.141.31.232.122 PRIVMSG #esoteric :literally what? < 1399380705 454806 :Sorella!~queen@oftn/member/Sorella JOIN :#esoteric < 1399381051 759814 :S1!8d1fe87a@gateway/web/cgi-irc/kiwiirc.com/ip.141.31.232.122 QUIT :Quit: http://www.kiwiirc.com/ - A hand crafted IRC client < 1399382258 258850 :password2!~password@197.78.185.168 QUIT :Ping timeout: 240 seconds < 1399382594 560637 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Zero14]]4 M10 02http://esolangs.org/w/index.php?diff=39465&oldid=39464 5* 03FireFly 5* (+172) 10+categories < 1399383178 497896 :nucular!~MOO@p4FC7E644.dip0.t-ipconnect.de JOIN :#esoteric < 1399383178 669432 :nucular!~MOO@p4FC7E644.dip0.t-ipconnect.de QUIT :Changing host < 1399383178 816974 :nucular!~MOO@unaffiliated/nucular JOIN :#esoteric < 1399383277 929861 :edwardk!~edwardk@pdpc/supporter/professional/edwardk QUIT :Quit: Computer has gone to sleep. < 1399383536 723752 :aloril!~aloril@dsl-tkubrasgw2-54f80b-12.dhcp.inet.fi QUIT :Ping timeout: 252 seconds < 1399383802 791845 :MindlessDrone!~MindlessD@unaffiliated/mindlessdrone JOIN :#esoteric < 1399384120 476904 :Patashu!~Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au QUIT :Ping timeout: 265 seconds < 1399384345 488524 :ter2!~tertu@143.44.70.199 QUIT :Ping timeout: 252 seconds < 1399384366 735097 :aloril!~aloril@dsl-tkubrasgw2-54f80b-12.dhcp.inet.fi JOIN :#esoteric < 1399384417 922788 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 252 seconds < 1399384683 26162 :KingOfKarlsruhe!~stud-heco@unaffiliated/kingofkarlsruhe PART :#esoteric < 1399384753 633434 :ter2!~tertu@143.44.70.199 JOIN :#esoteric < 1399385208 680431 :ter2!~tertu@143.44.70.199 QUIT :Ping timeout: 276 seconds < 1399385222 26451 :`^_^v!~nycs@rrcs-24-39-141-128.nyc.biz.rr.com JOIN :#esoteric < 1399385412 689720 :ter2!~tertu@143.44.70.199 JOIN :#esoteric < 1399386161 784864 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1399386378 36791 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1399386705 180264 :callforjudgement!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1399386712 370922 :ais523!~ais523@unaffiliated/ais523 QUIT : < 1399386762 746505 :callforjudgement!~ais523@unaffiliated/ais523 NICK :ais523 < 1399386794 772153 :vravn!~vravn@syn.rook.sx QUIT :Ping timeout: 240 seconds < 1399386885 321506 :ais523_!93bcc175@gateway/web/freenode/ip.147.188.193.117 JOIN :#esoteric < 1399387014 115501 :vravn!~vravn@syn.rook.sx JOIN :#esoteric < 1399387238 477565 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Firefox just upgraded; I had to open the About menu to make sure I hadn't opened Chrome by mistake < 1399388334 767959 :`^_^v!~nycs@rrcs-24-39-141-128.nyc.biz.rr.com QUIT :Ping timeout: 240 seconds < 1399388656 688201 :`^_^v!~nycs@rrcs-24-39-141-128.nyc.biz.rr.com JOIN :#esoteric < 1399389099 357733 :Tritonio!~Thunderbi@212.251.54.186 QUIT :Ping timeout: 250 seconds < 1399390182 485208 :conehead!~conehead@unaffiliated/conehead JOIN :#esoteric < 1399390269 290487 :atriq!9020800e@gateway/web/freenode/ip.144.32.128.14 JOIN :#esoteric < 1399390291 499502 :AnotherTest!~turingcom@94-224-17-246.access.telenet.be JOIN :#esoteric < 1399390497 684560 :AnotherTest_!~turingcom@94-224-17-246.access.telenet.be JOIN :#esoteric < 1399390590 967723 :AnotherTest!~turingcom@94-224-17-246.access.telenet.be QUIT :Ping timeout: 276 seconds < 1399390591 115360 :AnotherTest_!~turingcom@94-224-17-246.access.telenet.be NICK :AnotherTest < 1399391348 975065 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1399391450 353062 :Tritonio!~Thunderbi@athedsl-20401.home.otenet.gr JOIN :#esoteric < 1399391590 83836 :TodPunk!Tod@50-198-177-186-static.hfc.comcastbusiness.net JOIN :#esoteric < 1399391667 379956 :TodPunk!Tod@50-198-177-186-static.hfc.comcastbusiness.net QUIT :Client Quit < 1399391681 203729 :TodPunk!~Tod@50-198-177-186-static.hfc.comcastbusiness.net JOIN :#esoteric < 1399391838 587711 :ter2!~tertu@143.44.70.199 QUIT :Ping timeout: 276 seconds < 1399392293 734428 :slereah_!~slereah@46.218.232.202 QUIT :Quit: Leaving < 1399392687 120358 :password2!~password@197.78.136.149 JOIN :#esoteric < 1399392696 576371 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 276 seconds < 1399393125 453442 :lexande_!arapp@terpsichore.ugcs.caltech.edu NICK :lexande < 1399393148 620562 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1399393196 359952 :tertu!~tertu@143.44.70.199 JOIN :#esoteric < 1399393346 369260 :sebbu2!~sebbu@ADijon-152-1-11-166.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1399393375 870293 :tertu!~tertu@143.44.70.199 QUIT :Client Quit < 1399393380 707854 :sebbu2!~sebbu@ADijon-152-1-11-166.w83-194.abo.wanadoo.fr QUIT :Changing host < 1399393380 855075 :sebbu2!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1399393429 166086 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 245 seconds < 1399393512 86003 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :kmc: http://pipeline.corante.com/archives/2014/04/21/molecular_printing_of_drug_molecules_say_what.php :catdrugs: < 1399393619 692753 :^v!~notnot^v@c-71-238-153-166.hsd1.mi.comcast.net JOIN :#esoteric < 1399393657 823286 :impomatic!~john_metc@37.152.203.231 QUIT :Read error: Connection reset by peer < 1399393934 33027 :drdanmaku!uid17782@gateway/web/irccloud.com/x-qcrezodwioxitvfy JOIN :#esoteric < 1399393954 33722 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Peer review. Not even once. < 1399394050 83384 :john_metcalf!~digital_w@37.152.203.231 QUIT :Read error: Connection reset by peer < 1399395135 281186 :ais523!~ais523@unaffiliated/ais523 QUIT :Read error: Connection reset by peer < 1399395145 500200 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1399395163 604343 :idris-bot!~ircslave@dslb-092-072-186-068.pools.arcor-ip.net QUIT :Quit: Terminated < 1399395695 431969 :MoALTz!~no@user-46-113-137-196.play-internet.pl JOIN :#esoteric < 1399395722 795533 :atriq!9020800e@gateway/web/freenode/ip.144.32.128.14 QUIT :Quit: Page closed < 1399396639 399618 :Tritonio!~Thunderbi@athedsl-20401.home.otenet.gr QUIT :Ping timeout: 250 seconds < 1399396837 381853 :Tritonio!~Thunderbi@athedsl-20401.home.otenet.gr JOIN :#esoteric < 1399397474 220078 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Quit: Sacrificing a goat to the sun god. < 1399397601 347166 :Tritonio!~Thunderbi@athedsl-20401.home.otenet.gr QUIT :Ping timeout: 250 seconds < 1399397727 607420 :myname!~myname@84.200.43.57 PRIVMSG #esoteric :i feel dirty using nested wheres in haskell < 1399397758 338098 :Tritonio!~Thunderbi@athedsl-20401.home.otenet.gr JOIN :#esoteric < 1399397801 406297 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :Those dirty where nests < 1399397826 754401 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :i wrote some rust code with early return inside a match inside a macro inside a guard < 1399398070 432887 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :match () { _ if match self.lookahead_and_consume(6, |s| s.eq_ignore_ascii_case("public")) { None => return true, Some(r) => r } => go!(to AfterDoctypeKeyword Public), ... } < 1399398223 449589 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what does go! do? < 1399398247 307801 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, I approve of that case-insensitive equality operation < 1399398296 992858 :myname!~myname@84.200.43.57 PRIVMSG #esoteric :why is ascii mentioned there? < 1399398304 935248 :myname!~myname@84.200.43.57 PRIVMSG #esoteric :does it respect other types of cases? < 1399398322 429458 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :no, it doesn't do Unicode case folding, which is very complicated and also not what's in the relevant spec < 1399398359 448406 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :ais523: it's another macro I defined, a DSL for writing HTML tokenizer actions in a concise way https://github.com/kmcallister/html5/blob/master/src/tokenizer/mod.rs#L475-L543 < 1399398360 184547 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1399398368 122575 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there are a bunch of ways to do case folding < 1399398372 859616 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ASCII case folding is at least well-defined < 1399398383 721838 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :well-defined, simple, fast, not locale-dependent < 1399398497 260362 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :the HTML parsing spec mostly doesn't interpret non-ASCII characters < 1399398511 902788 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :because it's not like past software has handled them consistently < 1399398696 808619 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :this is also handy because a parser operating on UTF-8 can do most operations on bytes without decoding them to codepoints < 1399398711 489710 :john_metcalf!~digital_w@37.152.203.231 JOIN :#esoteric < 1399398837 369623 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :which in turn makes it easier to use SIMD instructions < 1399398877 668264 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :SIMD parsing :-) < 1399398894 137674 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wouldn't UTF-32 be faster for that, if you had to handle Unicode codepoints, but didn't care about grapheme clusters? < 1399398917 567607 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although that would probably suffer from caching issues < 1399398938 38095 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :yeah, increasing memory traffic 4x will probably kill other gains < 1399398947 433617 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :and most content comes off the wire as UTF-8 so you would need to convert it first < 1399398965 551136 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :(and basically no content comes as UTF-32; I'm not sure it's even allowed) < 1399398981 522057 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I want a UTF-graphemecluster < 1399398990 471333 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :even if it's hundreds of bytes per cluster < 1399398997 521774 :john_metcalf!~digital_w@37.152.203.231 QUIT :Ping timeout: 252 seconds < 1399399000 166774 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually, that's how ncursesw works internally < 1399399042 640247 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :i'm not sure that grapheme clusters are relevant to any part of the web stack < 1399399119 758432 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :high quality text shaping for proportional fonts can map any number of codepoints to any number of (translated, scaled, etc.) glyphs < 1399399168 129325 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :but the input to the shaping library might be a sequence of grapheme clusters? i've forgotten < 1399399326 804933 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :in servo I mean < 1399399506 78535 :ais523_!93bcc175@gateway/web/freenode/ip.147.188.193.117 PRIVMSG #esoteric :oh, right, I forgot that Rust is made by a browser company < 1399399508 561902 :ais523_!93bcc175@gateway/web/freenode/ip.147.188.193.117 PRIVMSG #esoteric :I was just thinking in general < 1399399516 669137 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :heh < 1399399616 209682 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :I am writing a HTML parser for Servo but I want it to be a generally useful library, which is tricky because browsers have some unusual requirements < 1399399816 79638 :edwardk!~edwardk@pdpc/supporter/professional/edwardk JOIN :#esoteric < 1399399832 564879 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :I think there are a lot of open questions about API design in Rust generally < 1399399844 744659 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Is Servo Rust's only killer program so far? < 1399399862 395592 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :because of the need to accommodate library users with different memory management strategies, in a safe API < 1399399879 469590 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :It seems to be quite influential to Rust's design < 1399399921 398783 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :I think I care more about getting higher-kinded polymorphism after considering its use with lifetime variables < 1399399967 443344 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :FreeFull: well, what do you mean by killer program? < 1399399979 478672 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :FreeFull: it may be the motivating application < 1399399990 101830 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :Servo is probably the second largest program written in Rust, but it's not usable for anything real yet < 1399399990 751624 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :like, aimake is mostly used on NetHack, because that's what I needed it for < 1399400007 315216 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :(it's like 100k SLoC) < 1399400015 674197 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :rustc is like 300k < 1399400022 568885 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ooh, self-hosting already? < 1399400023 79687 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :including the bundled libs etc < 1399400028 278519 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :ais523: yes, for some years now < 1399400041 83650 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :for Rust, I think that makes sense < 1399400041 232044 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :ais523: the runtime system is also self hosting, which is a lot more unusual < 1399400045 875846 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there's some debate about whether languages should self-host < 1399400054 291422 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but something with Rust's aims should probably be able to < 1399400061 374176 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :i mean, not every language is a good choice for writing a compiler < 1399400065 576278 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :exactly < 1399400068 98751 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :so there isn't a general answer to the question of "should you self-host" < 1399400074 106176 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :here, we identify the languages that aren't < 1399400075 588946 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :but yeah, I think for Rust it's a defensible decision at least < 1399400081 585304 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then write self-compilers in them anyway < 1399400113 843033 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :the compiler still makes heavy use internally of the deprecated refcounted @-boxes < 1399400116 963839 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric ::/ < 1399400121 818778 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :which have been removed in favor of a Rc library type < 1399400134 962329 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :self-hosting is a big pain when your language is still evolving so rapidly < 1399400154 485751 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is it possible to change from one to the other in an automated way? < 1399400159 292479 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :like, the syntax for ~-boxes is also changing < 1399400164 240318 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's been the big Rust news recently < 1399400172 556444 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :they've done some automated refactorings I know < 1399400175 513888 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :everyone seems to expect a huge outcry, yet it never emerges < 1399400180 624100 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :pcwalton wrote a big perl script < 1399400185 325768 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :ais523: i whined about it in #rust yesterday < 1399400206 216275 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, I was expecting something parsetree-based, but I guess it's hard to preserve comments when doing that < 1399400207 788415 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :15:36 <@kmc> for f**ks sake < 1399400207 935804 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :15:36 <@kmc> at this rate in another year Rust will be the SK calculus < 1399400230 608066 :nortti!nortti@nano.smar.fi PRIVMSG #esoteric :is there a SK-calculus self-compiler? < 1399400245 332926 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :Rust has a syntactic concept of a "token tree", which is useful for macros and automated refactoring < 1399400257 375027 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :I don't know if other languages have this < 1399400274 717441 :nortti!nortti@nano.smar.fi PRIVMSG #esoteric :lisp macros? < 1399400276 403686 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :nortti: there are Unlambda self-compilers < 1399400285 921789 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which is about as close as you'll get < 1399400290 839686 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, self-interps < 1399400293 649749 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :it's a tree of balanced parentheses (and brackets etc.) where the leaves are tokens < 1399400299 868771 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :those are basically SK + C + I/O < 1399400303 713756 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :nortti: yeah, I guess it is similar to manipulating code as S-expressions < 1399400308 995310 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :probably closer to an AST than s-expressions are? < 1399400340 686674 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :but Rust has a lot more expression grammar than Lisp; it's just that you can manipulate code before the stage at which that grammar is implemented < 1399400362 126564 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :but I'm fond of pointing out that Lisp also secretly has a lot of expression grammar < 1399400418 77411 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :FreeFull: Servo has been influential to Rust's design, certainly, but I think somewhat less than one might expect < 1399400423 300878 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :and not-secretly. the BNF for loop is a couple pages long < 1399400429 798209 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :heh < 1399400451 240718 :nortti!nortti@nano.smar.fi PRIVMSG #esoteric :loop really is a beast < 1399400475 573525 :sebbu2!~sebbu@unaffiliated/sebbu NICK :sebbu < 1399400481 607548 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :and shivers's loop is the same way, so there go any "uh but loop isn't REALLY lisp" crapola < 1399400498 867209 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :there are only a few people who do lots of work on both Rust and Servo < 1399400515 797528 :Bike!~Glossina@gannon-wless-gw.resnet.wsu.edu PRIVMSG #esoteric :r u one < 1399400532 589131 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :no < 1399400676 197118 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :i've only landed a few patches to rust < 1399400683 876648 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :opened a lot of bugs though :P < 1399400729 318503 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Ping timeout: 264 seconds < 1399400739 336206 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :i basically consider compiler bugs part of the fun < 1399400744 958977 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :i've only hit a few really nasty ones, though < 1399400884 716342 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :I've only hit one so far < 1399401270 19895 :cel_reloaded!~cliberal@80.215.210.162 JOIN :#esoteric < 1399401339 106698 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1399401906 590379 :cel_reloaded!~cliberal@80.215.210.162 QUIT :Quit: cel_reloaded < 1399401925 489531 :cel_reloaded!~cliberal@80.215.210.185 JOIN :#esoteric < 1399402172 692121 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :http://www.pcworld.com/article/2150775/amd-announces-skybridge-chips-to-bring-together-x86-and-arm.html < 1399402409 589101 :olsner!~salparot@c83-252-203-32.bredband.comhem.se PRIVMSG #esoteric :hmm, how would that work? < 1399402474 677488 :olsner!~salparot@c83-252-203-32.bredband.comhem.se PRIVMSG #esoteric :oh, it's not x86+arm in one cpu chip, but different pin-compatible x86 and arm cpus, I guess < 1399402522 477427 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :lame < 1399402530 757569 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :I thought it's a hardware translator between those two < 1399402543 844238 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :like a ARM chip that also supports x86 < 1399402553 70117 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :oh < 1399402563 405680 :olsner!~salparot@c83-252-203-32.bredband.comhem.se PRIVMSG #esoteric :you can get almost that with qemu, I think < 1399402567 553248 :mroman_!~roman2@fmnssun.ibone.ch PRIVMSG #esoteric :that'd be the same as you said :) < 1399402567 753730 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you could almost do that in microcode < 1399402574 715660 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :we need a customizable-microcode chip, really < 1399402582 910153 :tromp_!~tromp@rtc35-154.rentec.com PRIVMSG #esoteric :my paper at http://homepages.cwi.nl/~tromp/cl/cl.html has an SK self-interpreter < 1399402595 295604 :tromp_!~tromp@rtc35-154.rentec.com PRIVMSG #esoteric :but it's bigger than the lambda calculus self-interpreter < 1399402597 797490 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :So they've finally given up on drag racing intel < 1399402666 597350 :tromp_!~tromp@rtc35-154.rentec.com PRIVMSG #esoteric :which is under 26 bytes < 1399402704 112603 :nortti!nortti@nano.smar.fi PRIVMSG #esoteric :binary lambda calculus? < 1399402806 167848 :tromp_!~tromp@rtc35-154.rentec.com PRIVMSG #esoteric :yep < 1399402878 453278 :MindlessDrone!~MindlessD@unaffiliated/mindlessdrone QUIT :Quit: MindlessDrone < 1399402976 180461 :cel_reloaded!~cliberal@80.215.210.185 QUIT :Quit: cel_reloaded < 1399403175 565573 :john_metcalf!~digital_w@37.152.203.231 JOIN :#esoteric < 1399403508 178153 :zzo38!~zzo38@24-207-51-179.eastlink.ca JOIN :#esoteric < 1399403653 503509 :FreeFull_!~freefull@defocus/sausage-lover JOIN :#esoteric < 1399403782 453110 :FreeFull!~freefull@defocus/sausage-lover QUIT :Ping timeout: 265 seconds < 1399404516 127102 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :FireFly: um how can Zero be both unusable for programming and turing-complete < 1399404573 879545 :FireFly!~firefly@oftn/member/FireFly PRIVMSG #esoteric :I thought "unusable for programming" was supposed to be in terms of practicality < 1399404589 985883 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :in _our_ community? < 1399404599 504891 :FireFly!~firefly@oftn/member/FireFly PRIVMSG #esoteric :...fair point < 1399404608 794174 :FireFly!~firefly@oftn/member/FireFly PRIVMSG #esoteric :I'm not sure why I had that idea < 1399404687 487661 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :although looking at the actual language, i think it's more likely that it's not tc.. < 1399404720 994990 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :by the unusual way of not having any computable reduction from a turing machine to it. < 1399404746 182971 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :um or the other way, for that matter. < 1399404832 224002 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm actually it _might_ be possible to reduce some universal bf program with input to it. < 1399404875 73092 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :because the halting sequence will only start being undecidable from some point on, and that point may very well be pretty large < 1399404987 164319 :ais523_!93bcc175@gateway/web/freenode/ip.147.188.193.117 PRIVMSG #esoteric :this is like saying "is BF with a source code limit of 200 bytes TC?" < 1399404994 813357 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yep < 1399405007 790408 :ais523_!93bcc175@gateway/web/freenode/ip.147.188.193.117 PRIVMSG #esoteric :it would be very hard to prove that the answer is no, but if the answer is yes, a proof would likely be trivial < 1399405170 453953 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523_: also you run into L problems < 1399405209 535971 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, right < 1399405212 848412 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :curly-L-coplete < 1399405214 661702 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*complete < 1399405242 774306 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: thanks for that Haskell help you gave me a few days ago; how should I credit you in my PhD thesis? < 1399405250 916094 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :atm I credited your nick, but it looks a little unprofessional < 1399405262 635147 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Shachaf the Terrible, Lord of all Mankind hth < 1399405315 706159 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Sha Chaf is not shachaf's real name?! < 1399405326 54899 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :afaik it is < 1399405336 196999 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well without the space < 1399405353 570527 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :also he used to have his surname in the /whois but i see it's gone < 1399405523 833170 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I went to an IBM recruiting event today, and they made a snide joke at Google's expense. < 1399405531 150858 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm it might actually possible to program in zero entirely, if undecidable points in the halting sequence are sparse enough. < 1399405579 638652 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: can you at least force such points to never be an unmatched bracket? < 1399405588 164670 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if not, the first one is going to mess up your bracket matching < 1399405601 98804 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, I have a feeling that Zero may be uncomputable < 1399405619 926927 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yeah that's the main problem, you need to have no 3 in a row. < 1399405663 200685 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :actually 2 in a row is also a problem if they're the first two in a triple < 1399405711 233368 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :"fun" exercise: write a program in Zero that halts if and only if it doesn't halt < 1399405717 434267 :newsham!~chat@udp217044uds.hawaiiantel.net JOIN :#esoteric < 1399405736 297112 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ais523: not sure that's possible to achieve < 1399405742 720967 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :neither am I < 1399405747 402015 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but if it is, it'd say something about the language < 1399405777 334196 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :after all the programs tested for the halting sequence are logarithmically shorter than the program you are constructing. < 1399405806 182748 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you could insert a bunch of NOPs, but even then it'd cause problems < 1399405816 179115 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because you couldn't reliably make them NOPs < 1399405827 179189 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :like, it'd work if you had "immutable NOPs", Malbolge-style < 1399405837 868722 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(also programming in Zero would be very easy if you did) < 1399405841 971594 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :also i think the specification of Zero has some weak points. like the fact that ordinary lexicographic order isn't isomorphic to the natural numbers. < 1399405860 517208 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and also, what happens to malformed programs tested in the halting sequence < 1399405862 185700 :fowl!~fowl@unaffiliated/fowlmouth PRIVMSG #esoteric :isomorphic is so 90s < 1399405872 23108 :fowl!~fowl@unaffiliated/fowlmouth PRIVMSG #esoteric :now we say isographic < 1399405884 225710 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION categorically swats fowl -----### < 1399405888 129885 :fowl!~fowl@unaffiliated/fowlmouth PRIVMSG #esoteric :read in the same tone you would read "reaganomics" < 1399405928 568850 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :also i'm pretty sure Zero is uncomputable if you make no attempt to avoid the undecidable points in the halting sequence. < 1399405982 592736 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and come to think about it, avoiding 3 undecidables in a row also seems impossible, even if you can assume malformed programs have an easy value. < 1399406007 366306 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I imagine the undecidables take quite a while to show up < 1399406008 881311 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1399406016 73359 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :yeah < 1399406019 707359 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Hmm, I guess "Shachaf Ben-Kiki" would work. < 1399406025 892165 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Which Haskell help was this? < 1399406036 843934 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :but i'm thinking of translating general bf programs to it < 1399406037 22812 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the rank-2 polymorphism declaration < 1399406068 832459 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm trying to give an example of "this program can type with this type in at least one widely used language, but the inference algorithm can't figure it out itself" < 1399406106 936326 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, that. OK. < 1399406204 155560 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps I'll remove the argument altogether because it turned into a bit of a mess < 1399406233 776348 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :[wiki] 14[[07Zero14]]4 10 02http://esolangs.org/w/index.php?diff=39466&oldid=39465 5* 03Oerjan 5* (+18) 10I'm going to assume you meant this, as the original doesn't give a sequence order < 1399406262 888608 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: huh, I thought that name was familiar; I looked at the monitor on my desk, and it has the YAML spec open < 1399406267 14501 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and one of the authors is Oren Ben-Kiki < 1399406279 827303 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(and another has a surname of "döt Net") < 1399406376 774405 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :thanks for the help, anyway < 1399406383 57877 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ais523: i am thinking that if you could only avoid undecidable brackets in zero (which alas i don't think you can), then all other problems could probably be solved with the ][...] comment trick. < 1399406396 279171 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: yes, that would probably work < 1399406416 302784 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then you could just pad out with 3^n +-+-+-+- < 1399406426 347428 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and create a paradoxical program < 1399406439 902380 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's some level above uncomputable, I think < 1399406456 731798 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :not just "cannot be implemented without an oracle", but "an implementation directly causes a paradox" < 1399406473 215292 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :um i wasn't thinking of paradoxes here < 1399406483 14064 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :just general translation to zero < 1399406499 531091 :nooodl!~nooodl@91.176.146.209 JOIN :#esoteric < 1399406508 659843 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, if you can translate any BF program to zero in linear time < 1399406511 6510 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you can produce a paradox < 1399406512 576498 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :but you are right about the padding, that means you can find equivalent elements further out in the sequence < 1399406553 601060 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Yes. < 1399406559 537975 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :an ancestor of mine < 1399406600 406046 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :now I'm imagining that the YAML spec is hundreds of years old, which is an awesome mental image < 1399406696 798777 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :hichaf < 1399406746 678938 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Is the proper answer "himc", I wonder. < 1399406756 238805 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ais523: hm i don't think you can make a paradoxical program in Zero, because the encoding is not self-referential in the right way - the halting sequence tests _unencoded_ programs. < 1399406779 254774 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: it doesn't have to test itself for halting < 1399406783 944509 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :just a program that is equivalent to itself < 1399406817 367629 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well what i'm saying is Zero programs cannot actually do halting tests once they're up and running. < 1399406877 2307 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh hum on rereading the spec it implies the ordering skips unmatched programs. < 1399406922 47529 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: oh, I see; they can test most of themself < 1399406940 68284 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but they can't test the unsure instruction that they're testing without first knowing what it'll be < 1399406962 798621 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if we think as a program as a function from the haltingness of a particular other program P to a termination status < 1399406973 170166 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then P cannot equal the entire /function/, just the application of that function to some argument < 1399406982 737118 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and that argument has to be defined as a constant, it can't come from a halting oracle < 1399407007 497325 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :my real argument is that as written, the halting sequence is mathematically well defined, and so therefore is the semantics of a zero program, and so there cannot be any paradox. < 1399407029 731553 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :right < 1399407034 174230 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was trying to expose the hole in my argument < 1399407039 52194 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :rather than the hole in yours < 1399407040 866324 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and I think I found it < 1399407112 543018 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :fizzie: no the proper response is kmcello hth < 1399407463 373549 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm i'm starting to wonder if you may have enough control of consecutive elements in the halting sequence to at least know whether they give the _same_ bit or not. < 1399407508 203817 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :like, programs that don't end in brackets will come in groups of 6, all of which must do the same thing. < 1399407516 315134 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :(afa halting is concerned) < 1399407544 501597 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :and that is enough to avoid encoding brackets with them < 1399407788 80509 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :so the trouble happens with programs ending with ] < 1399407880 584393 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm and those can do wild things, like P+] P-] P>] P<] are consequtive in the order. < 1399407973 478460 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :which is almost certainly enough to encode switching between two independent undecidable subprograms. < 1399408225 501975 :Sprocklem_!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1399408251 245866 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Disconnected by services < 1399408268 488830 :Sprocklem_!~sprocklem@unaffiliated/sprocklem NICK :Sprocklem < 1399409496 710992 :idris-bot!~ircslave@dslb-092-072-186-068.pools.arcor-ip.net JOIN :#esoteric < 1399409642 220611 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :higan < 1399409709 387070 :AnotherTest!~turingcom@94-224-17-246.access.telenet.be QUIT :Ping timeout: 240 seconds < 1399410019 350605 :Patashu!~Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au JOIN :#esoteric < 1399410289 934724 :password2!~password@197.78.136.149 QUIT :Ping timeout: 252 seconds < 1399410418 481884 :Patashu_!Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au JOIN :#esoteric < 1399410418 677151 :Patashu!~Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au QUIT :Disconnected by services < 1399410660 779548 :nucular!~MOO@unaffiliated/nucular QUIT :Quit: Excess Food < 1399410777 525037 :Patashu!Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au JOIN :#esoteric < 1399410974 447677 :Patashu_!Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au QUIT :Ping timeout: 265 seconds < 1399411217 581442 :Sprocklem!~sprocklem@unaffiliated/sprocklem QUIT :Quit: Ascending to God form < 1399411226 65074 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :shachaf: I like languages with strong safety guarantees, but I seem to spend a lot of my time learning about ways to break the rules :) < 1399411448 562347 :Patashu!Patashu@c27-253-115-204.carlnfd2.nsw.optusnet.com.au QUIT :Ping timeout: 255 seconds < 1399412534 415970 :john_metcalf!~digital_w@37.152.203.231 PRIVMSG #esoteric :Have any computers other than PDP-11 got a single instruction which copies itself through the entire memory? The PDP-11 instruction is MOV -(PC),-(PC) < 1399412674 631580 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :john_metcalf: you should talk to impomatic about that, pity impomatic isn't online < 1399412691 774769 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's a major part of CoreWars strategy, the fact that Redcode has an instruction that does that < 1399412725 491829 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote john_metcalf: you should talk to impomatic about that, pity impomatic isn't online < 1399412726 846049 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :1193) john_metcalf: you should talk to impomatic about that, pity impomatic isn't online < 1399412744 358260 :john_metcalf!~digital_w@37.152.203.231 PRIVMSG #esoteric :ais523: same person! jm is my real name :-P < 1399412755 683663 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: I don't know, it's useful advice, just advice that can't be actd on < 1399412759 638332 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :if not for the reason I expected < 1399412769 197284 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :`revert < 1399412770 500551 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :Done. < 1399412777 594537 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: it's funnier with the context < 1399412786 284924 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ain't it always. < 1399412787 577417 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :feel free to readd < 1399412789 547683 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, is that why you reverted, to add the context? < 1399412827 704723 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm < 1399412838 790730 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :most processors don't have PC-relative addressing < 1399412848 651190 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because compilers typically know where their output is in the program < 1399412856 252093 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Is that true? < 1399412882 885086 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :X86-64 does, ARM does (IIRC). < 1399412894 952916 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :ais523: not with dynamic linking < 1399412895 189954 :elliott!~elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: no, to let others add it if they wish < 1399412908 66281 :john_metcalf!~digital_w@37.152.203.231 PRIVMSG #esoteric :None of the processors I've used allow anything similar to be created. < 1399412934 151115 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :for dynamic linking it's desirable to emit position-independent code, and in that case PC-relative addressing is very useful < 1399412937 679234 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you might manage it on a processor where the PC is memory-mapped /and/ indirect addressing is supported < 1399412958 993483 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :PIC has a pretty severe performance penalty on 32-bit x86 because of the need to reserve a register for an offset < 1399413041 722818 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :dynamic linking is relatively recent compared to the history of programmers, though, isn't it? < 1399413042 506427 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Does it count if you need to set registeres to particular values before the one instruction? < 1399413063 782190 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :fizzie: some sort of movsw instruction? < 1399413071 677877 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :dynamic linking isn't that recent, but there are different implementation strategies and they don't all require PIC < 1399413081 477964 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :http://www.iecc.com/linkers/ has lots on this < 1399413082 936930 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's basically *di++ = *si++, if you make di the next line and si the current line < 1399413089 982541 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then it should keep going until di overflows < 1399413129 509626 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I don't see why it'd stop there. < 1399413156 806630 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Assuming all address space is mapped and rwx, anyway. < 1399413241 884980 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Though a rep stos with the maximum count sounds approximately the same. < 1399413270 191284 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :if a REP MOVSB instruction overwrites itself, the repetition stops after the next processor interrupt < 1399413289 922009 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :which is something emulators tend to implement incorrectly < 1399413290 675385 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :http://repzret.org/p/rep-prefix-and-detecting-valgrind/ < 1399413301 643289 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :But that wasn't a rep. < 1399413318 56625 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Interesting, though. < 1399413320 764194 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :kmc: it's not a rep, you're copying the movsb onto the next instruction < 1399413324 541391 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :yeah this is a tangent < 1399413324 813976 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then executing the new copy < 1399413327 78819 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :imp-style < 1399413327 227665 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :just a bizarre fact < 1399413341 740940 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, detecting valgrind is easy < 1399413351 555913 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :because of client requests? < 1399413355 571486 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes < 1399413358 926254 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :yeah < 1399413365 835462 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :there really should be a way to disable those, but I didn't find one < 1399413379 394400 :nooodl!~nooodl@91.176.146.209 PRIVMSG #esoteric :kmc: that is cool < 1399413381 886191 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I remember fixing JPC-RR to do pipeline flushing on self-modifying code < 1399413390 830387 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it used to just run the old version of the code, and it has a very long pipeline < 1399413392 711348 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :I was wondering if e.g. Native Client code running in Valgrind could use client requests to escape the sandbox < 1399413395 816558 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I needed to do that so that NetHack would run correctly < 1399413407 260194 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :kmc: there's a client request for "run this on the real CPU", so trivially < 1399413443 928875 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :yeah < 1399413464 113397 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :now how hard is it to set up a NaCl toolchain so i can write a PoC < 1399413493 194946 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :NaCl uses valgrind? < 1399413499 927614 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :no < 1399413507 70145 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :but you can run a NaCl program in Valgrind, like any other program < 1399413509 950277 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, I see < 1399413516 696229 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :and in this case it makes it less secure, not more :) < 1399413526 623147 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is it still using the prctl-based sandbox? or has it moved to a different sandbox? < 1399413542 9517 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :prctl's basically undefeatable because it limits the syscalls you can use and there's no way to undo it < 1399413568 261543 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as in, you need to find a kernel bug to get around it no matter how many layers of emulation are used, so long as the emulator runs the prctl call itself < 1399413581 250983 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :no, NaCl is used for sandboxing within a process, aiui < 1399413590 314681 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh right < 1399413594 259976 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was thinking of a different sandbox entirely < 1399413607 950757 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :I think NaCl in Chrome will run in a process sandbox too < 1399413610 194162 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :but that's separate < 1399413611 382735 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :NaCl's the "run a static analyser on the code to make sure it doesn't try to do anything nasty, then run it unmodified" system < 1399413622 254231 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :NaCl uses a conservative subset of x86 with well behaved static semantics < 1399413628 2220 :john_metcalf!~digital_w@37.152.203.231 PRIVMSG #esoteric :MOVSB imp doesn't work because of the prefetch queue. (Works in a debugger though). < 1399413628 644460 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :plus segmentation < 1399413654 10196 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :john_metcalf: huh, pipeline behaviour causing problems on real processors? < 1399413661 49557 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :I always wondered about memory ordering with self-modifying code < 1399413664 409119 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :what about in 8086 mode? < 1399413684 914933 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :since there's no way to put a read barrier before the other CPU's fetch < 1399413685 954077 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I know that NetHack overwrites the argument of an int instruction, then runs that instruction immediately afterwards < 1399413702 800767 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :to run arbitrary interrupts < 1399413748 784473 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :why < 1399413780 558060 :john_metcalf!~digital_w@37.152.203.231 PRIVMSG #esoteric :Can't be done on a Z80 without looping. (Demo here) https://www.youtube.com/watch?v=LPqDksPdNiE < 1399413786 66233 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :How about a "movsd; jmp $+2" one? (Modulo instruction length issues. And not a single instruction.) < 1399413837 874690 :olsner!~salparot@c83-252-203-32.bredband.comhem.se PRIVMSG #esoteric :the manuals do mention self-modifying code with multiple cpus, basically saying "don't do that" < 1399413838 876926 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think there might even be room for a NOP in there < 1399413877 3000 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :olsner: fuck tha police < 1399413912 661105 :TodPunk!~Tod@50-198-177-186-static.hfc.comcastbusiness.net QUIT :Read error: Connection reset by peer < 1399413925 535322 :TodPunk!Tod@50-198-177-186-static.hfc.comcastbusiness.net JOIN :#esoteric < 1399414226 603831 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: leaving < 1399414390 172198 :olsner!~salparot@c83-252-203-32.bredband.comhem.se PRIVMSG #esoteric :hmm, actually I remembered that wrong, they instead describe some appropriate synchronization procedures for getting cross-modified code to run properly < 1399414459 208770 :Sprocklem!~sprocklem@unaffiliated/sprocklem JOIN :#esoteric < 1399414464 629953 :olsner!~salparot@c83-252-203-32.bredband.comhem.se PRIVMSG #esoteric :basically use a memory flag to indicate when your modification is complete, then do cpuid before you jump to any of the modifying code < 1399414522 665062 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :cpuid's a memory barrier? < 1399414525 875020 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :cross-processor? < 1399414529 373906 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :weird instruction to use < 1399414571 608444 :olsner!~salparot@c83-252-203-32.bredband.comhem.se PRIVMSG #esoteric :it's not for memory, I think, but for serializing and emptying pipelines and the whatnots < 1399414592 481734 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, instruction cache barrier < 1399414610 146065 :olsner!~salparot@c83-252-203-32.bredband.comhem.se PRIVMSG #esoteric :if it's not cross-cpu doing a jump is enough (but cpuid also works) < 1399414768 904031 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :CPUID is a memory barrier but there are better memory barrier instructions < 1399414784 299371 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :and yeah it's also a barrier to OOE < 1399414790 700268 :Bicyclidine!~Glossina@wl-nat101.it.wsu.edu JOIN :#esoteric < 1399414797 844618 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :I don't know which other instructions are < 1399414839 720544 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :some hypervisors virtualize CPUID which makes it very slow for this purpose < 1399414847 885212 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :also, there totally are legitimate use cases for multi-threaded self modifying code < 1399414976 720096 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :Self modifying codes can be very useful < 1399415036 318989 :zzo38!~zzo38@24-207-51-179.eastlink.ca PRIVMSG #esoteric :CPUID isn't a very good idea < 1399415091 243621 :kmc!~keegan@ec2-50-17-127-187.compute-1.amazonaws.com PRIVMSG #esoteric :why not? < 1399415175 317599 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1399415437 370366 :Tritonio!~Thunderbi@athedsl-20401.home.otenet.gr QUIT :Ping timeout: 250 seconds < 1399415597 492067 :ais523_!93bcc175@gateway/web/freenode/ip.147.188.193.117 QUIT :Quit: Page closed < 1399415711 426716 :ais523!~ais523@unaffiliated/ais523 QUIT : < 1399416375 577558 :Sgeo!~quassel@ool-44c2df0c.dyn.optonline.net JOIN :#esoteric < 1399416424 452632 :nooodl!~nooodl@91.176.146.209 QUIT :Quit: Ik ga weg < 1399416647 570919 :Bicyclidine!~Glossina@wl-nat101.it.wsu.edu QUIT :Ping timeout: 255 seconds < 1399416660 477345 :Bicyclidine!~Glossina@wl-nat101.it.wsu.edu JOIN :#esoteric < 1399418528 573948 :augur!~augur@216-164-48-148.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com QUIT :Quit: Leaving... < 1399418559 320605 :augur!~augur@216-164-48-148.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1399418576 517762 :Bicyclidine!~Glossina@wl-nat101.it.wsu.edu QUIT :Ping timeout: 255 seconds < 1399418590 756071 :Bicyclidine!~Glossina@wl-nat101.it.wsu.edu JOIN :#esoteric < 1399418608 38317 :^v!~notnot^v@c-71-238-153-166.hsd1.mi.comcast.net QUIT :Read error: Connection reset by peer < 1399418636 707519 :^v!~notnot^v@c-71-238-153-166.hsd1.mi.comcast.net JOIN :#esoteric < 1399418728 533971 :edwardk!~edwardk@pdpc/supporter/professional/edwardk QUIT :Quit: Computer has gone to sleep. < 1399419810 209826 :^v!~notnot^v@c-71-238-153-166.hsd1.mi.comcast.net QUIT :Quit: http://i.imgur.com/Akc6r.gif < 1399420054 720161 :Bicyclidine!~Glossina@wl-nat101.it.wsu.edu QUIT :Ping timeout: 240 seconds < 1399420059 418467 :boily!~boily@96.127.201.149 JOIN :#esoteric < 1399420265 672066 :Bicyclidine!~Glossina@wl-nat101.it.wsu.edu JOIN :#esoteric