< 1563321778 233709 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 245 seconds < 1563327214 811587 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1563330916 770346 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric > 1563332778 657355 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64500&oldid=64476 5* 03A 5* (+1446) 10/* Talk page */ > 1563332922 178906 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64501&oldid=64500 5* 03A 5* (+282) 10 > 1563333032 830026 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64502&oldid=64501 5* 03A 5* (+156) 10/* Computational class */ > 1563333271 597272 PRIVMSG #esoteric :14[[07Varnand14]]4 N10 02https://esolangs.org/w/index.php?oldid=64503 5* 03DoggyDogWhirl 5* (+2387) 10 > 1563333274 907027 PRIVMSG #esoteric :14[[07Varnand/Python Implementation14]]4 N10 02https://esolangs.org/w/index.php?oldid=64504 5* 03DoggyDogWhirl 5* (+1583) 10 > 1563333566 521019 PRIVMSG #esoteric :14[[07User:DoggyDogWhirl14]]4 M10 02https://esolangs.org/w/index.php?diff=64505&oldid=64272 5* 03DoggyDogWhirl 5* (+15) 10 > 1563333732 478157 PRIVMSG #esoteric :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=64506&oldid=64498 5* 03DoggyDogWhirl 5* (+14) 10 > 1563334065 766394 PRIVMSG #esoteric :14[[07Esolang:Introduce yourself14]]4 10 02https://esolangs.org/w/index.php?diff=64507&oldid=64382 5* 03FlyHamsterPaul 5* (+229) 10 > 1563334085 966372 PRIVMSG #esoteric :14[[07BWTFN14]]4 N10 02https://esolangs.org/w/index.php?oldid=64508 5* 03FlyHamsterPaul 5* (+1473) 10Created page with "'''BWTFN''', or '''Because Why The Fuck Not''', is an esolang inspired off of the [[CopyPasta_Language|CopyPasta]] language created in 2019. BWTFN is only used for printing te..." > 1563334318 370312 PRIVMSG #esoteric :14[[07User talk:A14]]4 10 02https://esolangs.org/w/index.php?diff=64509&oldid=64502 5* 03Areallycoolusername 5* (+205) 10 > 1563334609 759096 PRIVMSG #esoteric :14[[07Esoteric algorithm14]]4 10 02https://esolangs.org/w/index.php?diff=64510&oldid=64482 5* 03Areallycoolusername 5* (+4) 10/* Example */ > 1563334843 191882 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64511&oldid=64509 5* 03A 5* (+322) 10/* Char language */ I have changed my signature. < 1563336102 16956 :adu!~ajr@pool-173-73-86-145.washdc.fios.verizon.net PART :#esoteric < 1563336989 909903 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : where's the repository? <-- fizzie might want to change the link at the end of `help < 1563336995 932645 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`help < 1563336996 252236 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch [] " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ < 1563337008 170899 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`url < 1563337009 130268 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :https://hack.esolangs.org/repo/ < 1563337434 725060 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`! brachylog "test"w⊥82{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥} < 1563337572 470288 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :test < 1563337959 666189 :mniip!mniip@freenode/staff/mniip QUIT :Quit: This page is intentionally left blank. < 1563337994 2720 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`` interp 'brachylog "test"w⊥82{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' 1563339597 260074 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64512&oldid=64511 5* 03A 5* (-1083) 10/* Talk page */ < 1563347225 744975 :user24!~user24@p2E50C34D.dip0.t-ipconnect.de JOIN :#esoteric < 1563347833 287492 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 246 seconds < 1563348011 430413 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1563348415 516761 :AnotherTest!~turingcom@d51a4b8e1.access.telenet.be JOIN :#esoteric < 1563348976 426526 :user24!~user24@p2E50C34D.dip0.t-ipconnect.de QUIT :Quit: Leaving < 1563349535 556560 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563349717 830844 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 258 seconds < 1563350128 517017 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1563350161 503104 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Client Quit < 1563354113 32427 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1563354140 541498 :sftp!~sftp@unaffiliated/sftp QUIT :Ping timeout: 272 seconds < 1563356269 520789 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 JOIN :#esoteric < 1563356320 120893 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :oerjan: interesting. though I don't know why it would read stdin when it doesn't in the simple case of the program that just prints a constant string. is it waiting for a more prompt? < 1563357144 461546 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :wob_jonas: since ais523 said brachylog is supposedly interactive, i suspect it is, and that's what gives the % halt when it gets /dev/null instead. < 1563357195 639607 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :not that i know brachylog < 1563357572 273960 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :How do I make an URL that refers to a PDF with a fragment part pointing to a specific page? I thought I just had to add a hash mark and the page number in decimal, but that doesn't seem to work. < 1563357584 344981 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I want to give a link to page 17 of an article for convenience < 1563358149 275181 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Later < 1563359870 96980 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :wob_jonas: does #page=17 work? < 1563359898 864090 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :let me see < 1563359913 86371 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Works for me in Firefox and Chrome < 1563359945 557470 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :Taneb: yes, that does work\ < 1563359948 661159 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :thanks < 1563359965 797014 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :hmm, should I add that to a wisdom? I won't remember that syntax otherwise < 1563359977 797979 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :`? pdf < 1563359978 977830 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :PDF stands for Pretty Depressing Format. < 1563359979 355031 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`? pdf < 1563359980 374065 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :PDF stands for Pretty Depressing Format. < 1563359982 682466 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`? wisdom.pdf < 1563359983 871013 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Nicely formatted classical wisdoms and quotes book at https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf < 1563360004 707984 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :^ nah, that's not actually a pdf < 1563360008 453529 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it's a fancy HTML page < 1563360025 339857 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :``` grep -ERi pdf wisdom < 1563360027 805064 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :wisdom/pdf:PDF stands for Pretty Depressing Format. \ wisdom/wisdomme:wisdomme is a PDF that may be in the topic. boily is the one who compiles it. See `? wisdom.pdf \ wisdom/wisdom.pdf:Nicely formatted classical wisdoms and quotes book at https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf > 1563361440 552054 PRIVMSG #esoteric :14[[07Blue Tomato14]]4 N10 02https://esolangs.org/w/index.php?oldid=64513 5* 03Jabutosama 5* (+3519) 10Created page with "Blue tomato (BT) is an art programming language concepted by [[user:Jabutosama]]. The language is based around around giving more or less surreal art to very specifically teac..." < 1563362521 395669 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :Ah ah ah is one of the rare customary american units of measurement that happens to fit SI units exactly. One ah ah ah is equal to 1. < 1563363832 192813 :shotover!gilesgate@sdf-eu.org QUIT :Remote host closed the connection < 1563364112 325174 :howlands!gilesgate@sdf-eu.org JOIN :#esoteric < 1563365072 952149 :mniip!mniip@freenode/staff/mniip JOIN :#esoteric < 1563365876 524395 :arseniiv!~arseniiv@136.169.209.175 JOIN :#esoteric > 1563366275 797373 PRIVMSG #esoteric :14[[07Arch14]]4 10 02https://esolangs.org/w/index.php?diff=64514&oldid=64493 5* 03Areallycoolusername 5* (+178) 10/* Cells & Split */ > 1563366599 189678 PRIVMSG #esoteric :14[[07User talk:A14]]4 10 02https://esolangs.org/w/index.php?diff=64515&oldid=64512 5* 03Areallycoolusername 5* (+786) 10/* Char language */ > 1563366626 31637 PRIVMSG #esoteric :14[[07User talk:A14]]4 10 02https://esolangs.org/w/index.php?diff=64516&oldid=64515 5* 03Areallycoolusername 5* (+9) 10/* Char language */ > 1563366654 181832 PRIVMSG #esoteric :14[[07User talk:A14]]4 10 02https://esolangs.org/w/index.php?diff=64517&oldid=64516 5* 03Areallycoolusername 5* (-2) 10/* Char language */ > 1563366670 170660 PRIVMSG #esoteric :14[[07User talk:A14]]4 10 02https://esolangs.org/w/index.php?diff=64518&oldid=64517 5* 03Areallycoolusername 5* (+3) 10/* Char language */ > 1563366731 638331 PRIVMSG #esoteric :14[[07User talk:A14]]4 10 02https://esolangs.org/w/index.php?diff=64519&oldid=64518 5* 03Areallycoolusername 5* (-8) 10/* Char language */ > 1563366759 277725 PRIVMSG #esoteric :14[[07User talk:A14]]4 10 02https://esolangs.org/w/index.php?diff=64520&oldid=64519 5* 03Areallycoolusername 5* (+118) 10/* Char language */ > 1563367496 620206 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64521&oldid=64520 5* 03A 5* (+34) 10/* Char language */ Thank you, and a memory fix first < 1563367659 288074 :sftp!~sftp@unaffiliated/sftp JOIN :#esoteric > 1563367726 607796 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64522&oldid=64521 5* 03A 5* (+387) 10/* Char language */ > 1563368063 812600 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64523&oldid=64522 5* 03A 5* (+640) 10/* Char language */ < 1563368215 930658 :howlands!gilesgate@sdf-eu.org QUIT :Quit: sort of > 1563368304 687751 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64524&oldid=64523 5* 03A 5* (+190) 10/* Commands */ > 1563368445 301132 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64525&oldid=64524 5* 03A 5* (+75) 10/* Commands */ > 1563368888 116822 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64526&oldid=64525 5* 03A 5* (+132) 10/* Char language */ More verbose! MWHAHAHA > 1563369237 413281 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64527&oldid=64526 5* 03A 5* (+15) 10/* Char language */ not TC of course > 1563369517 497368 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64528&oldid=64527 5* 03A 5* (+232) 10/* Char language */ < 1563369859 963154 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 QUIT :Remote host closed the connection > 1563369865 640703 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64529&oldid=64528 5* 03A 5* (+217) 10/* Char language */ < 1563370740 902102 :xkapastel!uid17782@gateway/web/irccloud.com/x-ucfxartyyocmprgp JOIN :#esoteric > 1563372129 813517 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=64530&oldid=64529 5* 03A 5* (-145) 10 > 1563373803 151880 PRIVMSG #esoteric :14[[07Char14]]4 N10 02https://esolangs.org/w/index.php?oldid=64531 5* 03Areallycoolusername 5* (+4040) 10Created page with "'''Char''' is an [[esoteric programming language]] made by [[User: A]]. It's made to be the first [[Arch]]-based programming language. == Specifics == Char utilizes an arch t..." > 1563373897 731723 PRIVMSG #esoteric :14[[07Char14]]4 10 02https://esolangs.org/w/index.php?diff=64532&oldid=64531 5* 03Areallycoolusername 5* (+47) 10 < 1563373912 433420 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 JOIN :#esoteric < 1563373951 204584 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 TOPIC #esoteric :IOCCC winners are announced; source code release planned in the past | Welcome to the international center for esoteric programming language design, development, and deployment! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1563373967 302492 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :hmm no, that's not the right way to phrase it > 1563374062 465699 PRIVMSG #esoteric :14[[07Arch14]]4 10 02https://esolangs.org/w/index.php?diff=64533&oldid=64514 5* 03Areallycoolusername 5* (-19) 10/* Languages */ > 1563374105 376875 PRIVMSG #esoteric :14[[07Arch14]]4 10 02https://esolangs.org/w/index.php?diff=64534&oldid=64533 5* 03Areallycoolusername 5* (+74) 10/* Languages */ > 1563374151 925725 PRIVMSG #esoteric :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=64535&oldid=64506 5* 03Areallycoolusername 5* (+11) 10/* C */ < 1563374183 646784 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 TOPIC #esoteric :IOCCC winners are announced; source code release planned by now | Welcome to the international center for esoteric programming language design, development, and deployment! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1563374378 376209 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563374584 527028 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 272 seconds > 1563375072 915588 PRIVMSG #esoteric :14[[07Varnand14]]4 M10 02https://esolangs.org/w/index.php?diff=64536&oldid=64503 5* 03DoggyDogWhirl 5* (+19) 10 < 1563376034 807132 :heroux!sandroco@gateway/shell/insomnia247/x-vooozkgdfiferwtp QUIT :Read error: Connection reset by peer < 1563376044 974498 :heroux!sandroco@gateway/shell/insomnia247/x-riptmzlyenlmlsnx JOIN :#esoteric < 1563376390 421065 :atslash!~atslash@static.231.107.9.5.clients.your-server.de QUIT :Read error: Connection reset by peer < 1563376443 257699 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric > 1563376482 589871 PRIVMSG #esoteric :14[[07Special:Log/newusers14]]4 create10 02 5* 03Sec-iiiso 5* 10New user account < 1563377188 352876 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 QUIT :Remote host closed the connection < 1563378908 7851 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Read error: Connection reset by peer < 1563378934 255258 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563379504 458260 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563379690 207822 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 246 seconds < 1563382044 194174 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu JOIN :#esoteric < 1563383227 214344 :heroux!sandroco@gateway/shell/insomnia247/x-riptmzlyenlmlsnx QUIT :Read error: Connection reset by peer < 1563383261 148203 :heroux!sandroco@gateway/shell/insomnia247/x-srtiepeuyvkydxwc JOIN :#esoteric < 1563383914 462847 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563384059 521775 :heroux!sandroco@gateway/shell/insomnia247/x-srtiepeuyvkydxwc QUIT :Read error: Connection reset by peer < 1563384088 473148 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 244 seconds < 1563384363 759969 :heroux!sandroco@gateway/shell/insomnia247/x-rxtwkbppqobdyvdd JOIN :#esoteric < 1563384727 968284 :mniip!mniip@freenode/staff/mniip QUIT :Quit: This page is intentionally left blank. < 1563384895 39812 :heroux!sandroco@gateway/shell/insomnia247/x-rxtwkbppqobdyvdd QUIT :Read error: Connection reset by peer < 1563385197 886085 :heroux!sandroco@gateway/shell/insomnia247/x-twgisdsqhmrpnbxw JOIN :#esoteric < 1563385237 651412 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1563388168 385619 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :"early July 2019" has definitely ended, right? < 1563388186 390450 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think it only ends in mid-August. < 1563388280 366749 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :shachaf: which USB-C laptop charger do you use? < 1563388282 921846 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :hmm < 1563388292 654639 :int-e!~noone@int-e.eu PRIVMSG #esoteric :b_jonas: I would not say "definitely". < 1563388298 148852 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I'm considering getting a single charger for my backpack for both laptop and phone, but I want one that's compact < 1563388334 594471 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :laptop refuses to charge on 50W < 1563388339 618724 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I think I want 65 < 1563388370 869362 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :USB-C laptop charger? what the... don't we still live in a world where laptop charger plugs are coaxial, with incompatible random geometries, voltages, polarities, and voltage tolerances, so you can never be sure that an off-brand charger won't fry your laptop motherboard and lose the warranty, even if it mechanically fits in the socket? < 1563388390 371211 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :effectively random that is. there are standards, but there are too many of them. < 1563388423 847340 :int-e!~noone@int-e.eu PRIVMSG #esoteric :b_jonas: But I would usually understand it to mean the first 10 days of a month; after that point, the notion becomes increasingly less applicable. < 1563388474 117324 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :int-e: I assumed it would mean the first half of July, but gave them a day of doubt just in case they're on the -1200 timezone pacific islands < 1563388497 991442 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: mostly yes :( < 1563388503 351473 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: but some laptops can charge from USB-C < 1563388518 625820 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :my X270 can do either USB-C or the usual square thinkpad charger port < 1563388524 617012 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(But of course it's July 4th today. ;-) ) < 1563388527 387951 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :and July has 31 days, so the first half can be about 16 days long < 1563388542 516454 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but it's picky about USB-C, you can't just plug it into any random wall charger < 1563388543 48779 :int-e!~noone@int-e.eu PRIVMSG #esoteric :https://www.timeanddate.com/calendar/?country=23 <-- lovely. < 1563388545 708065 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it may require the 20V mode < 1563388592 940959 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :not sure if you know how USB-PD works < 1563388651 853135 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :int-e: no way. they're the IO*C*CC, they insist on accepting only C programs, not programs in other languages, and the C standard library has only the localtime/timelocal functions which work only with the gregorian calendar < 1563388664 355183 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :although... < 1563388673 28312 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :yeah, we can take that as an excuse: < 1563388693 327747 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: I first bought a cheap USB-PD charger and it was bad. < 1563388699 415981 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Then I bought the one from Apple and it was fine. < 1563388701 374549 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :the localtime function allows you to carry stuff from out of range lower fields to higher fields, to make it easy to do date arithmetic with, < 1563388709 749450 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :and the IOCCC rules have in fact used that in the past: < 1563388718 220828 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Some time later I bought anther cheap one and it was also fine. < 1563388735 967839 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`? Gregor < 1563388736 838464 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Gregor took forty cakes. He took 40 cakes. That's as many as four tens. And that's terrible. < 1563388746 760797 :int-e!~noone@int-e.eu PRIVMSG #esoteric :No mention of a calendar. < 1563388772 38822 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Apparently this is the one I'm using that works OK: https://www.amazon.com/Genius-Charger-Extension-Overheating-Warranty/dp/B07KCTKKFR < 1563388785 274556 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :thanks < 1563388793 280956 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :or haven't they? I seem to remember they have, but now I can't find the reference < 1563388796 312433 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Keep in mind there are several hundred kinds of type-C cables and only one of them is compatible with your charger and laptop. < 1563388801 745103 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :is that so < 1563388813 209022 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If you're lucky. < 1563388818 534436 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :it is scow < 1563388863 450817 :int-e!~noone@int-e.eu PRIVMSG #esoteric :So Elon Musk has a new company, "Neuralink", for brain implants. Too bad "The Boring Company" was already taken... < 1563388872 392825 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: the charger and device negotiate a voltage up to 20V and a current up to 5A < 1563388878 353351 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I think they also sense what the cable is capable of < 1563388879 296028 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :not sure < 1563388904 176701 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but yeah the brick I have right now only goes up to 9V which is probably why the laptop won't charge < 1563388926 325031 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :one scow fact is that my laptop refuses to bios-update on usb power < 1563388934 736151 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric ::( < 1563388935 522477 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :because it's not 130W or whatever < 1563388995 485084 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :shachaf: I do have a brick that can charge my laptop from 12V power < 1563388997 941927 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it's exciting < 1563389001 573372 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :maybe I'm just bad at datetime calculations and assumed that some date I read somewhere had an out of range field without checking it < 1563389004 931026 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :anyway the point is that cables make a difference with type-c, and also they all look identical, so you gotta look it up or something < 1563389025 948329 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: bricks are also good for charging cats < 1563389030 377663 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :they are solar-powered < 1563389037 957934 :int-e!~noone@int-e.eu PRIVMSG #esoteric :What kind of voltage do flash roms need to be programmed? 5V? More? < 1563389069 352761 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :lol < 1563389071 526200 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :int-e: modern ones don't require more than the operating Vcc, I think < 1563389145 492521 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Obviously the answer to that question is irrelevant. < 1563389155 743618 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's just Dell being scow for Dell reasons. < 1563389182 168344 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :shachaf: I think USB-D should be hermaphroditic, like Powerpole < 1563389358 212099 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :shachaf: Dell in the infamous sense where if you order replacement screws from them, they send you six tiny screws each individually packaged in six huge boxes respectively? < 1563389378 473830 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't know? < 1563390256 274759 :MDead_!~MDude@c-174-55-101-236.hsd1.pa.comcast.net QUIT :Quit: Going offline, see ya! (www.adiirc.com) < 1563391162 707683 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1563391187 560431 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 244 seconds < 1563391235 440143 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1563391327 584760 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I was trying to think of a certain sci-fi astronomical arrangement between a planet and a double sun moving in a strange pattern, but it seems it's gravitationally impossible. < 1563391377 456376 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :What I wanted is a double sun orbiting each other very quickly, and a planet that orbits the two of them slowly, but at the same the planet isn't much father away from them than the two suns from each other. < 1563391419 116301 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :If the arrangement exists, it needs a more magical reason, such as for Discworld. < 1563391434 384154 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :what is the computational complexity of orbital mechanics < 1563391450 163565 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :or not complexity, but rather computability class < 1563391454 303068 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :meaning, what kinds of algorithms can you implement as a n-body gravitational system < 1563391471 565002 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :the fact that it's continuous will place limits < 1563391506 636120 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :kmc: I won't try to answer that. I just totally confused myself with a different computational complexity question. < 1563391928 565303 :j4cbo!sid186930@gateway/web/irccloud.com/x-rhlvmgrmtzwmpdca PRIVMSG #esoteric :kmc; my MacBook Pro will happily charge (v slowly) from 5v < 1563392050 206192 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :the X270 won't < 1563392052 512974 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :because it's a butt < 1563392062 813599 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I also bought a USB-C power anal-yzer < 1563392068 994568 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :so I can see what my devices are actually using < 1563393658 706220 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :kmc: is that a passive thing that only measures power, or an active thing that interacts with the USB negotiation to tell you the voltage used too? < 1563393677 396215 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I don't think the cables contain any electronics; I think it probably senses the voltage drop of the cable < 1563393681 706731 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but also I'm not sure that's a thing at all < 1563393725 668304 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :oh, that could work < 1563393728 290201 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :er < 1563393731 343110 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :wait, sorry < 1563393740 515088 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I thought you were back to talking about the cable quality < 1563393745 534826 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :the meter is a man in the middle < 1563393751 752048 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I think it does not interfere with the negotiation < 1563393755 529883 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it probably just measuers the voltage < 1563393770 795686 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but I'm sure you can buy more advanced (read: expensive) devices that also allow you to mess with the negotiation < 1563393770 926185 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :meter? i just met 'er! < 1563393784 243263 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and also programmable loads and power supplies that you can configure for any set of capabilities < 1563393787 550476 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it might be fun to own such things < 1563393817 67478 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and then there are those "USB condoms" < 1563393820 271712 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :which disconnect the data lines < 1563393826 865209 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I'm not sure if that interferes with USB-PD negotiation < 1563393881 168621 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I think there are power only cables you can get < 1563393882 282471 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :idk < 1563393942 689439 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I guess it could be passive and yet measure everything. It just needs to put an ideal infinite resistance voltage meter between the wires of the cable, and an ideal zero impedance current meter interrupting the wires, and some magical zero resistance gold coated sockets with superconducting wires. < 1563394002 525559 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :It just needs a separate power source so it doesn't leach the USB itself for power. < 1563394097 846260 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1563394102 749590 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :yes but of course it has none of those things < 1563394109 757664 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and is Good Enough ™ < 1563394120 395004 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it's probably like a standard multimeter < 1563394151 962662 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :voltmeter 10 Mohm resistance in parallel to the load, ammeter ~1 mohm resistance in series to the load < 1563394162 575893 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I do have some Powerpole voltage-current meters that can use an external supply < 1563394172 395536 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :in addition to being more accurate, this allows them to measure a wider range of voltages < 1563394178 318880 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :those things are very useful < 1563394210 755162 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :1 milliohm? that's nice < 1563394236 822122 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I'm not sure, but probably on that order < 1563394343 424929 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I just measured the shunt resistor inside one of my meters as 0.1 ohms < 1563394347 410462 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but that's the lowest the other meter can read < 1563394350 922805 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and it's probably lower than that < 1563394376 96450 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :for high current shunts a common size is to drop 75 mV at full current < 1563394385 183789 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :kmc: sure, but isn't that only the ohmic resistance? can the capacitance bother the autodetection mechanism or signaling between the laptop and charger? < 1563394388 546117 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :so a 100A max shunt would have a resistance of 0.75 mohm < 1563394412 503786 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I don't really know, I don't understand electric engineering < 1563394419 237156 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :we have other people at this company who understand it though < 1563394432 304469 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :they talk in crazy jargon < 1563394437 869915 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: if it violates the USB spec for the data lines then yes < 1563394439 79898 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :otherwise no < 1563394443 318395 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :because the negotiation is digital < 1563394460 877975 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :if the meter is poorly made it may prevent USB 3 speeds from working < 1563394466 958373 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I don't know if the port will automatically downgrade to 2 < 1563394477 985673 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I don't mean the signals for negotiation, but for autodetecting the cable quality < 1563394521 834945 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :oh, USB3 is a good point, does its extra wires help transmit more current? < 1563394573 46493 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I don't know how USB works, it's magic < 1563394585 667178 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I am not certain that autodetecting cable quality is even a thing < 1563394589 367141 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I'm not sure where I got that idea < 1563394603 894593 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ok < 1563394616 993565 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I don't think USB-C has any additional power wires < 1563394629 31699 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but a cable designed for 5A had better have some reasonably thick wires < 1563394648 757459 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :as for capacitance, USB3 is so fast that it's essentially a microwave-frequency transmission line < 1563394653 575435 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :better wires in general, they're not restricted to power. < 1563394653 830166 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :so it does need precisely controlled impedance < 1563394658 239794 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :mhm < 1563394680 21825 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :similarly, the twist in ethernet cables matters more at higher speeds < 1563394699 131341 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :and yes, USB3 is so fast you can basically transmit digital video signals to your monitor through it < 1563394701 621999 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :Cat7 has very tight tolerances on the twist geometry < 1563394740 424899 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: yeah < 1563394746 570488 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: you can have an external video card connected by USB3 < 1563394747 721804 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and also < 1563394749 882614 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :there are laptop dockers that use just two USB connectors plus two thick power connectors, and you can transmit data to two external monitors plus high speed network plus external solid state disks through them < 1563394753 891212 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :it seems impossible < 1563394774 714742 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :you can configure a USB-C port to carry HDMI or DisplayPort signals from an internal graphics card < 1563394777 743775 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :https://en.wikipedia.org/wiki/USB-C#Alternate_Mode_partner_specifications < 1563394781 661379 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it is pretty fancy < 1563394806 502408 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :fun fact: USB3 cables have a tight enough tolerance that you can run PCIe signals through them, at least on short distances < 1563394822 832128 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :this is not in any way supported by the spec, it is just a repurposing of the cables < 1563394833 957995 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :the laptop I use at work is like that, although I only transmit laptop power plus data for one monitor plus not too fast network through it, no disk < 1563394835 858042 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but it's popular with crypto miners < 1563394848 264740 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :as a way to get lots of video cards plugged into one motherbord < 1563394889 329370 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :at fry's I saw a mobo with 19 PCIe x1 slots on it < 1563394897 53144 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :yes, 19 < 1563394911 750807 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :obviously you cannot physically fit that many cards on the board without risers < 1563394938 538859 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :huh? why do you need a fast connection for that? don't they put separate built-in RAM onto each video card, so for crypto mining (as opposed to, say, gaming) you don't need much data throughput or latency between the motherboard and video card? < 1563394946 532476 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and it has *three* ATX motherboard connectors < 1563394952 340333 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :https://www.asus.com/us/Motherboards/B250-MINING-EXPERT/ < 1563394973 162231 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :also can't you put all that stuff into a single big video card that fits into two adjacent pcie sockets? < 1563394976 295858 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and the best part? this thing was on blowout sale for $35. < 1563394992 278378 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :shovels and pickaxes 90% off! < 1563395002 975192 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: we are takling 19 big video cards < 1563395016 656467 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :have you ever seen a GPU mining rig < 1563395028 982920 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :here's a small one https://cryptosrus.com/wp-content/uploads/2017/06/mining-rig-1280x640.jpg < 1563395033 388971 :rain1!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :hey < 1563395055 176949 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :those little boards plugged into the mobo with USB cables coming out vertically are the PCIe risers < 1563395086 463554 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :mining does not require much bandwidth, so PCIe x1 is fine < 1563395098 258863 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :the big card can have separate power cables, going to it directly without the motherboard involved, and as much cooling as you can physically manage < 1563395105 649750 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I don't see why it needs much motherboard connection < 1563395111 749711 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I've heard of people cutting a notch out of the back of an x1 slot so they can fit an x16 card in it < 1563395120 885986 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :or cutting off most of the GPU's PCIe connector < 1563395121 492444 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and this works, apparently < 1563395127 383368 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :do you need low latency connection to the motherboard? < 1563395135 388229 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: I think it is still allowed to draw a fair amount of current from the PCIe slot itself < 1563395138 392355 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: no < 1563395158 561099 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :the cards basically operate on their own until they discover a solution for a particular block < 1563395173 980866 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :which does not happen very often < 1563395192 189456 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :kmc: looks nice, it's sort of like those servers with lots of high capacity hard disks connected to them, only you need more air gaps for heating < 1563395195 157592 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :um < 1563395197 660297 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :cooling < 1563395197 714544 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I mean cooling < 1563395201 498315 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :the heating comes from the power cables < 1563395208 410619 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :for heating the environment < 1563395213 146192 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :yeah < 1563395237 235960 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :and you need a powerful air conditioner to get the heat out of the room itself < 1563395243 745933 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :my friend has a painting at her apartment, not sure who made it, of a melting glacier with a huge (skyscraper-size) mining rig in front of it < 1563395291 323783 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I mean, I'm paranoid and put air gaps between my disk drives, but I only have three in my computer right now, plus a dvd drive < 1563395314 863851 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :if you have good case airflow then you shouldn't need big gaps < 1563395318 45117 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I use one of these little metal extenders to be able to put a HDD to a 5 inch wide space < 1563395322 153306 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :mm < 1563395323 660364 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :those are good < 1563395329 454049 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I don't need big gaps, but there's enough space in the box to have it, so why not < 1563395333 422415 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I don't lose anything by it < 1563395338 525138 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :yeah < 1563395348 919441 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :it's not like I have a big video card taking up the space < 1563395362 823342 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :also, this box is ancient and I should buy lots of new hardware < 1563395397 359330 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :and start looking for a new camera too, because the warranty of the current one expires in a week and I'm getting more and more certain that it *knows* and deliberately times its death to right after that < 1563395426 763362 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :so that if I took it to repairs within the warranty, I couldn't prove that there's anything wrong, but the motor for the lens will give up right after < 1563395459 466410 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :but this compact camera has served me really well for three years, I enjoy it, so I might stick to the Panasonic brand < 1563395971 217013 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :Also I have to process and upload some photos that I made with it. < 1563396083 486875 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :Lots of pictures in fact. < 1563397188 876617 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :has oren disappeared? it seems like he hasn't been in the channel (under this name or the backslash one) for a while < 1563397351 923856 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I need to get a bunch of stuff fixed on my laptop before the warranty runs out < 1563397357 103054 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I have on site accidental damage coverage < 1563397366 700731 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I am not that happy with the build quality on this ThinkPad X270 < 1563397393 222965 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it's disappointing even by the standard of the post-IBM standards < 1563397401 524424 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I broke the keyboard twice with tiny amounts of water, broke the screen once < 1563397409 290855 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :broke the internal speaker *and* the headphone jack, separately < 1563397446 278386 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I broke my non-laptop keyboard with colored water too. I bought a new identical one. I'm more careful about letting drinks close to it now. < 1563397462 867053 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :this was like residual water on my hands after washing them < 1563397473 286710 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :every other thinkpad i've owned, it would not be a problem to get a few drops othe keyobard < 1563397490 662672 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :with this one it messed things up even after letting it dry < 1563397492 14087 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric ::( < 1563397497 567709 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :Mind wasn't, I actually spilled a significant amount in it, like perhaps 50 grams or something. < 1563397508 803452 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Yeah at the very least it should recover after drying out :/ < 1563397518 923158 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :cathy spilled a whole cup of tea into her X201i < 1563397522 602035 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and it was fine in the end < 1563397525 422565 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :let it dry for like a week < 1563397543 226517 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I use a cheaper keyboard at work. That one claims to be waterproof. < 1563397544 852445 :int-e!~noone@int-e.eu PRIVMSG #esoteric :The best keyboard killer I know is Coca Cola (ideally with sugar). < 1563397552 266659 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I haven't tested yet. < 1563397554 919437 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I don't think I've ever had that misfortune < 1563397570 80841 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :the speakers are sort of my fault < 1563397587 747090 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :i dropped the laptop off the side of the bed in a fit of passion < 1563397589 345091 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I've destroyed 2 keyboards that way. But that was ages ago. < 1563397609 954155 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I got coffee in one of my external keyboards and fucked it up < 1563397618 52056 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but I was able to open it up, clean the board with isopropyl alcohol < 1563397621 248306 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and now it works again \o/ < 1563397711 544194 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :int-e: I see. I haven't tried spilling that into keyboard yet. < 1563397755 673597 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I won't try either < 1563397822 809087 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :kmc: what additives did the coffee have? < 1563397829 784324 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :none < 1563397835 507804 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :as in, sugar, cream, etc < 1563397851 178687 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I'm asking because int-e says the sugar might matter < 1563397860 25163 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I like coffee as black as my existential despair < 1563397868 800872 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it might, yeah < 1563397870 491363 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ouch, that's heavy < 1563397876 971702 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric : ithink it was espresso actually < 1563397950 656137 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I don't drink coffee. In the office, lots of people drink coffee of course. The entire IT industry can grind into a halt when the coffee machine doesn't work or when we run out of sugar or milk. < 1563397960 886349 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :yep < 1563397968 725488 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I think maybe I should try quitting caffeine just to see what it's like < 1563397974 863795 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :cause I've consumed a lot of caffeine for a very long time < 1563397996 128627 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :oh, I don't say that I don't drink caffeine. I drink coke actually. < 1563398004 536563 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :With sweeteners rather than sugar these days. < 1563398017 876542 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :yeah < 1563398030 68746 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I drink coffee and diet soda and energy drinks < 1563398038 708613 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I have a sort of compulsion to eat/drink things < 1563398041 567806 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :these things have no calories < 1563398051 652195 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :yeah, I know < 1563398053 890986 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :chewing gum too < 1563398085 971728 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :water's pretyt good too < 1563398092 801459 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I have also been drinking diluted orange juice < 1563398096 334394 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it's tastier than it sounds < 1563398099 481055 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :and pretty low calorie < 1563398190 970489 :int-e!~noone@int-e.eu PRIVMSG #esoteric :b_jonas: sugar matters because in addition to the electrical problem (cola has acid, plenty of electrolytes there...) you get a mechanical one (stickiness). < 1563398218 66040 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :int-e: yep, the plain water evaporates completely, but the sugar doesn't, and it keeps the water there more < 1563398245 177067 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :but coke with sweeteners is still somewhat sticky, even if not as much as the one with sugar < 1563398314 624745 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I haven't tried that yet :) < 1563398359 733442 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I haven't spilled it to a computer either < 1563398370 872142 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I destroyed my phone with plain water too < 1563398995 523699 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric ::( < 1563399061 838697 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :kmc: https://www.perlmonks.com/?node_id=1225327 has the story of my phone < 1563399088 690658 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :oh, I should edit that to add that the bluetooth of the Cat is broken too < 1563399360 522191 :AnotherTest!~turingcom@d51a4b8e1.access.telenet.be QUIT :Ping timeout: 272 seconds < 1563399423 413577 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :done < 1563400985 46416 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1563401048 151278 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :hi ais523. oerjan figured out what took time. < 1563401050 925579 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ooh, I guess what was happening is that the Brachylog compiler was falling through into the interactive swipl interpreter after running the code < 1563401057 257747 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`cat ibin/brachylog < 1563401057 874269 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​#!/bin/sh \ echo "$1" > tmp/input.brachylog \ (cd interps/brachylog/brachylog/Brachylog-master/src; swipl -g 'run_from_file("../../../../../tmp/input.brachylog", _, _), halt' brachylog.pl) < 1563401074 345937 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :but I don't understand why that happens for your triangular number program but not for the hello world program < 1563401077 769964 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :…but only if it returns false, rather than returning true < 1563401090 130995 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the hello world program where I "commented out" the rest of the code with a return false returns false :-) < 1563401109 678602 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ah < 1563401116 106230 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :but it's not just that < 1563401170 365428 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :`! brachylog "QUeRHCOQ9j7V"w < 1563401172 329471 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :QUeRHCOQ9j7V < 1563401177 528986 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :^ doesn't that return true? < 1563401185 651540 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes, and it ran quickly < 1563401191 169567 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :oh < 1563401197 469066 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :so it's slow if it returns false? < 1563401203 689622 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes < 1563401204 787979 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ok < 1563401217 477233 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :so in that case, do you have a good way to fix this in your wrapper script? < 1563401229 838655 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` sed -i 's/halt/write("\ntrue."), !, halt; write("\nfalse."), !, halt' -e ibin/brachylog < 1563401230 633627 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​/bin/sed: can't read s/halt/write("\ntrue."), !, halt; write("\nfalse."), !, halt: No such file or directory < 1563401240 57738 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` sed -i -e 's/halt/write("\ntrue."), !, halt; write("\nfalse."), !, halt' ibin/brachylog < 1563401240 746346 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​/bin/sed: -e expression #1, char 60: unterminated `s' command < 1563401245 331280 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` sed -i -e 's/halt/write("\ntrue."), !, halt; write("\nfalse."), !, halt/' ibin/brachylog < 1563401247 95208 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563401260 250089 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`! brachylog [2,2]= < 1563401261 438090 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​ \ true. < 1563401268 290064 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`! brachylog [2,3]= < 1563401269 558199 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​ \ false. < 1563401286 818349 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I made it print the program's return boolean, too < 1563401297 508056 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, exit code boolean < 1563401313 322461 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :brachylog doesn't have any way to write programs, only functions < 1563401326 102901 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so you need a wrapper to make a brachylog function into an entire program and there's more than one way to do it < 1563401362 521408 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the wrapper on TIO prints exit code as true/false by default, but has an option to print return value or even input instead (input is useful if you didn't specify it) < 1563401381 518479 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :does halt quit the interpreter? < 1563401390 887843 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes < 1563401395 428624 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`! brachylog 63{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w⊥} < 1563401396 743342 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​[3,15,45][3,45,15][6,21,36][6,36,21][15,3,45][15,45,3][21,6,36][21,21,21][21,36,6][36,6,21][36,21,6][45,3,15][45,15,3] \ false. < 1563401412 868503 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the "false" here is because there are no more solutions < 1563401436 840503 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`! brachylog 81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w⊥} < 1563401447 580963 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​[0,0,0][0,0,1][0,1,0][1,0,0][0,1,1][1,0,1][1,1,0][0,0,3][0,3,0][1,1,1][3,0,0][0,1,3][0,3,1][1,0,3][1,3,0][3,0,1][3,1,0][1,1,3][1,3,1][3,1,1][0,0,6][0,3,3][0,6,0][3,0,3][3,3,0][6,0,0][0,1,6][0,6,1][1,0,6][1,3,3][1,6,0][3,1,3][3,3,1][6,0,1][6,1,0][1,1,6][1,6,1][6,1,1][0,3,6][0,6,3][3,0,6][3,3,3][3,6,0][6,0,3][6,3,0][0,0,10][0,10,0][1,3,6][1,6,3][3,1,6][3,6,1][6,1,3][6,3,1][10,0,0][0,1,10][0,10,1][1,0,10][1,10,0][10,0,1][10,1,0][0,6,6][1,1,10][1,10,1][3,3, < 1563401477 440031 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :add the cut to make it print just one solution per sum? < 1563401496 268019 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh right < 1563401508 528542 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`! brachylog 81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}!w⊥} < 1563401518 276241 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think you can cut after the w too, to the same effect < 1563401518 933397 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​[0,0,0][0,0,1][0,1,0][1,0,0][0,1,1][1,0,1][1,1,0][0,0,3][0,3,0][1,1,1][3,0,0][0,1,3][0,3,1][1,0,3][1,3,0][3,0,1][3,1,0][1,1,3][1,3,1][3,1,1][0,0,6][0,3,3][0,6,0][3,0,3][3,3,0][6,0,0][0,1,6][0,6,1][1,0,6][1,3,3][1,6,0][3,1,3][3,3,1][6,0,1][6,1,0][1,1,6][1,6,1][6,1,1][0,3,6][0,6,3][3,0,6][3,3,3][3,6,0][6,0,3][6,3,0][0,0,10][0,10,0][1,3,6][1,6,3][3,1,6][3,6,1][6,1,3][6,3,1][10,0,0][0,1,10][0,10,1][1,0,10][1,10,0][10,0,1][10,1,0][0,6,6][1,1,10][1,10,1][3,3, < 1563401534 488264 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :nope, /have/ to cut after, that position is before the labelise :-) < 1563401535 649728 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :nope, didn't work < 1563401537 420288 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`! brachylog 81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥} < 1563401539 674946 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​[0,0,0][0,0,1][0,1,1][0,0,3][0,1,3][1,1,3][0,0,6][0,1,6][1,1,6][0,3,6][0,0,10][0,1,10][0,6,6][0,3,10][1,3,10][0,0,15][0,1,15][1,1,15][0,3,15][1,3,15][0,10,10][0,0,21][0,1,21][1,1,21][0,3,21][0,10,15][1,10,15][0,6,21][0,0,28][0,1,28][0,15,15][0,3,28][1,3,28][3,15,15][0,6,28][1,6,28][0,0,36][0,1,36][0,10,28][0,3,36][1,3,36][3,10,28][0,6,36][0,15,28][1,15,28][0,0,45][0,1,45][1,1,45][0,3,45][0,21,28][1,21,28][0,6,45][1,6,45][10,15,28][3,6,45][0,0,55][0,1,55 < 1563401543 136373 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :better < 1563401544 456506 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :labelise rules are the worst thing about Brachylog < 1563401573 416623 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because you need to know way too much about how the "derive an algorithm to meet the spec you give" works internally to be able to labelise correctly < 1563401629 292954 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` \! brachylog '81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' | perl -e "local $/; print substr ,200" < 1563401630 605726 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563401652 254972 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` \! brachylog '81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' | perl -e 'local $/; print substr ,200' < 1563401654 327271 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563401675 110232 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` perl -e 'print "foo!bar"' < 1563401675 778203 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :foo!bar < 1563401686 19363 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :hmm < 1563401694 134339 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` \! brachylog '81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' < 1563401695 274439 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563401705 169672 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` \! 'brachylog 81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' < 1563401706 372566 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Warning: '../../../../../tmp/input.brachylog':1:4: Illegal multibyte Sequence \ Warning: '../../../../../tmp/input.brachylog':1:5: Illegal multibyte Sequence \ Warning: '../../../../../tmp/input.brachylog':1:6: Illegal multibyte Sequence \ Warning: '../../../../../tmp/input.brachylog':1:7: Illegal multibyte Sequence \ Warning: '../../../../../tmp/input.brachylog':1:8: Illegal multibyte Sequence \ Warning: '../../../../../tmp/input.brachylog':1:9: Illegal m < 1563401721 896496 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :what the heck does ! do? < 1563401733 344520 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I want to see the entries past the line cutoff < 1563401740 121455 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` \! 'brachylog 81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' < 1563401742 924496 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​[0,0,0][0,0,1][0,1,1][0,0,3][0,1,3][1,1,3][0,0,6][0,1,6][1,1,6][0,3,6][0,0,10][0,1,10][0,6,6][0,3,10][1,3,10][0,0,15][0,1,15][1,1,15][0,3,15][1,3,15][0,10,10][0,0,21][0,1,21][1,1,21][0,3,21][0,10,15][1,10,15][0,6,21][0,0,28][0,1,28][0,15,15][0,3,28][1,3,28][3,15,15][0,6,28][1,6,28][0,0,36][0,1,36][0,10,28][0,3,36][1,3,36][3,10,28][0,6,36][0,15,28][1,15,28][0,0,45][0,1,45][1,1,45][0,3,45][0,21,28][1,21,28][0,6,45][1,6,45][10,15,28][3,6,45][0,0,55][0,1,55 < 1563401751 977847 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :what < 1563401754 66181 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :try using a prefix that doesn't randomly turn UTF-8 mode off? < 1563401759 328066 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ah < 1563401767 480646 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :well that's backwards, but ok < 1563401768 375232 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I still don't see the point in ``` :-D < 1563401819 86872 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` LC_CTYPE=en_NZ.utf8 \! brachylog '81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' | perl -e 'local $/; print substr ,200' < 1563401820 349096 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563401826 365248 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` LANG=en_NZ.utf8 \! brachylog '81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' | perl -e 'local $/; print substr ,200' < 1563401828 210713 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563401831 2130 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :`` locale < 1563401831 740479 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :LANG=en_NZ.UTF-8 \ LANGUAGE= \ LC_CTYPE="en_NZ.UTF-8" \ LC_NUMERIC="en_NZ.UTF-8" \ LC_TIME="en_NZ.UTF-8" \ LC_COLLATE="en_NZ.UTF-8" \ LC_MONETARY="en_NZ.UTF-8" \ LC_MESSAGES="en_NZ.UTF-8" \ LC_PAPER="en_NZ.UTF-8" \ LC_NAME="en_NZ.UTF-8" \ LC_ADDRESS="en_NZ.UTF-8" \ LC_TELEPHONE="en_NZ.UTF-8" \ LC_MEASUREMENT="en_NZ.UTF-8" \ LC_IDENTIFICATION="en_NZ.UTF-8" \ LC_ALL= < 1563401839 664321 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you forgot the hyphen < 1563401840 861476 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` LANG=en_NZ.UTF-8 \! brachylog '81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' | perl -e 'local $/; print substr ,200' < 1563401842 70468 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563401859 801189 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :`` \! brachylog '81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' | perl -e 'local $/; print substr ,200' < 1563401861 63040 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :``` LANG=en_NZ.UTF-8 locale < 1563401861 112218 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563401861 702728 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :LANG=en_NZ.UTF-8 \ LANGUAGE= \ LC_CTYPE="en_NZ.UTF-8" \ LC_NUMERIC="en_NZ.UTF-8" \ LC_TIME="en_NZ.UTF-8" \ LC_COLLATE="en_NZ.UTF-8" \ LC_MONETARY="en_NZ.UTF-8" \ LC_MESSAGES="en_NZ.UTF-8" \ LC_PAPER="en_NZ.UTF-8" \ LC_NAME="en_NZ.UTF-8" \ LC_ADDRESS="en_NZ.UTF-8" \ LC_TELEPHONE="en_NZ.UTF-8" \ LC_MEASUREMENT="en_NZ.UTF-8" \ LC_IDENTIFICATION="en_NZ.UTF-8" \ LC_ALL= < 1563401890 317674 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :`` \! brachylog '81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' | cat < 1563401892 323888 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it should be using LC_CTYPE to determine the program encoding, I think? < 1563401893 326562 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563401904 631110 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :misplaced quote < 1563401911 778188 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :`` \! 'brachylog 81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' | cat < 1563401914 142639 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​[0,0,0][0,0,1][0,1,1][0,0,3][0,1,3][1,1,3][0,0,6][0,1,6][1,1,6][0,3,6][0,0,10][0,1,10][0,6,6][0,3,10][1,3,10][0,0,15][0,1,15][1,1,15][0,3,15][1,3,15][0,10,10][0,0,21][0,1,21][1,1,21][0,3,21][0,10,15][1,10,15][0,6,21][0,0,28][0,1,28][0,15,15][0,3,28][1,3,28][3,15,15][0,6,28][1,6,28][0,0,36][0,1,36][0,10,28][0,3,36][1,3,36][3,10,28][0,6,36][0,15,28][1,15,28][0,0,45][0,1,45][1,1,45][0,3,45][0,21,28][1,21,28][0,6,45][1,6,45][10,15,28][3,6,45][0,0,55][0,1,55 < 1563401921 54382 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` LANG=en_NZ.UTF-8 \! 'brachylog 81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' | perl -e 'local $/; print substr ,200' < 1563401923 422536 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :1,10,15][0,6,21][0,0,28][0,1,28][0,15,15][0,3,28][1,3,28][3,15,15][0,6,28][1,6,28][0,0,36][0,1,36][0,10,28][0,3,36][1,3,36][3,10,28][0,6,36][0,15,28][1,15,28][0,0,45][0,1,45][1,1,45][0,3,45][0,21,28][1,21,28][0,6,45][1,6,45][10,15,28][3,6,45][0,0,55][0,1,55][0,21,36][0,3,55][1,3,55][0,15,45][0,6,55][1,6,55][3,15,45][0,28,36][0,10,55][0,0,66][0,1,66][1,1,66][0,3,66][0,15,55][1,15,55][0,6,66][0,28,45][1,28,45][3,6,66][0,10,66][1,10,66][0,0,78][0,1,78][1,1,78 < 1563401927 158306 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :! is confusing < 1563401947 652630 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's because `! gets the language name and program as a single argument because that's how single ` works < 1563401949 811042 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so it splits them < 1563401953 542588 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :yeah, I know < 1563401974 959994 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :though we could make it also work with two arguments < 1563402030 642842 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`cat bin/! < 1563402031 234601 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​#!/bin/bash \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG="$(echo "$1" | cut -d' ' -f2-)" \ exec ibin/$CMD "$ARG" < 1563402042 988200 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` LANG=en_NZ.UTF-8 \! 'brachylog 81>ℕ≜{~{Ṫ{.∧ℕA+₁×↙A~×₂}ᵐ+}w!⊥}' | perl -e 'local $/; print substr ,400' < 1563402045 384509 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :1,21,28][0,6,45][1,6,45][10,15,28][3,6,45][0,0,55][0,1,55][0,21,36][0,3,55][1,3,55][0,15,45][0,6,55][1,6,55][3,15,45][0,28,36][0,10,55][0,0,66][0,1,66][1,1,66][0,3,66][0,15,55][1,15,55][0,6,66][0,28,45][1,28,45][3,6,66][0,10,66][1,10,66][0,0,78][0,1,78][1,1,78] \ false. < 1563402053 533181 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :seems to work correctly < 1563402063 634687 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :nice < 1563402080 371720 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` sed -i -e 's/ARG"$/ARG$2"' 'bin/!' < 1563402081 122536 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​/bin/sed: -e expression #1, char 14: unterminated `s' command < 1563402084 83003 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` sed -i -e 's/ARG"$/ARG$2"/' 'bin/!' < 1563402085 802095 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563402088 131079 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`cat bin/! < 1563402088 698355 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​#!/bin/bash \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG="$(echo "$1" | cut -d' ' -f2-)" \ exec ibin/$CMD "$ARG$2" < 1563402106 471061 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`! brachylog 2+₂! < 1563402107 586730 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​ \ true. < 1563402108 782739 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err < 1563402110 408748 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`! brachylog 2+₂w < 1563402110 569363 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :be careful, sed is also overridden in /hackenv/bin < 1563402111 610327 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :4 \ true. < 1563402126 852412 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` ! brachylog '2+₂w' < 1563402128 990963 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​/hackenv/bin/`: line 5: brachylog: command not found < 1563402134 271121 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :and be careful with sed, if you want to allow two arguments, then you also want to allow two arguments when the second one can have newlines and carriage returns < 1563402135 104215 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` '!' brachylog '2+₂w' < 1563402136 338307 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563402160 766644 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :not for brachylog in particular, but in some languages, newlines in the source are useful < 1563402175 17588 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was only using sed for editing bin/! < 1563402186 52430 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the edit worked, but the resulting code doesn't do what I wanted < 1563402203 981312 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: sorry for my connection < 1563402216 255558 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1563402245 364027 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :hmm < 1563402250 870434 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` echo '' | cut -d' ' -f2- | wc < 1563402253 560098 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​ 1 0 1 < 1563402271 841977 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` echo '' | cut -d' ' -f2- | od -t x1z < 1563402272 634141 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :0000000 0a >.< \ 0000001 < 1563402291 370416 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ooh, cut is appending a newline? < 1563402311 45559 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`` echo -n '' | cut -d' ' -f2- | od -t x1z < 1563402311 747196 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :0000000 < 1563402330 72575 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh right < 1563402335 259938 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :echo is appending a newline < 1563402345 190340 :int-e!~noone@int-e.eu PRIVMSG #esoteric :that said... < 1563402345 913566 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but bin/! isn't using echo -n < 1563402355 922160 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`` echo a `echo b` c < 1563402356 738082 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :a b c < 1563402363 342540 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` sed -i -e 's/echo/echo -n/' 'bin/!' < 1563402364 539217 :int-e!~noone@int-e.eu PRIVMSG #esoteric :...the shell should strip the newline < 1563402369 670300 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563402383 592810 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`! brachylog 2+₂w < 1563402384 654089 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :4 \ true. < 1563402392 768742 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :`` '!' brachylog '2+₂w' < 1563402394 157069 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :ERROR: Prolog initialisation failed: \ ERROR: brachylog_main/4: Undefined procedure: default/0 < 1563402401 260416 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: why do you use ``` rather than ``? < 1563402426 30694 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Wasn't ``` the one with the C locale... < 1563402435 164430 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`cat bin/`` < 1563402435 762556 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​#!/bin/sh \ export LANG=C; exec bash -O extglob -c "$@" | rnooodl < 1563402450 383301 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`cat bin/` < 1563402450 991183 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​#!/bin/bash \ cmd="${1-quote}" \ TIMEFORMAT="real: %lR, user: %lU, sys: %lS" \ shopt -s extglob globstar \ eval -- "$cmd" | rnooodl < 1563402452 426175 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: C locale is more practical for some things. especially bash itself: makes it sort the results of wildcard extension asciibetically rather than locale-wise, and more importantly, make bracket hyphen range wildcards like [a-k] match in a sane asciibetic way < 1563402515 760802 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :generally I use `` like I would use an actual shell < 1563402519 176429 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and I don't set my actual shell to C locale < 1563402524 75118 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: if the brachylog interpreter depends on the locale, like the java compiler, but most programs use fancy characters that you won't find in smaller charsets, then you should consider making the wrapper set the LC_CTYPE explicitly < 1563402582 842100 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: the brachylog interpreter uses the locale in order to interpret what encoding the input is in, which is correct < 1563402599 609502 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: I set LC_CTYPE to an utf-8 locale, but the other locale facets to C. that makes programs, including the builtin readline in bash, know that the terminal uses utf-8, but doesn't have the strange behavior for wildcard expansion because that's governed by LC_COLLATE < 1563402605 151999 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :forcing it to something that the locale doesn't specify would be incorrect, because if, say, it's running in a UTF-16 environment, it should be interpreting the input as UTF-16 < 1563402623 451046 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :perhaps ``` should be using C.UTF-8? because IRC uses UTF-8 except when it doesn't < 1563402642 707572 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: UTF-16 environments won't usually work in unix, definitely not when you pass the program in argv, because argv strings can't have nul bytes < 1563402681 245562 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's a good point, main uses char** for argv not wchar_t** < 1563402685 392390 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :you can read utf-16 files, but you can't have utf-16 argv or environment < 1563402690 177082 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :or filenames for that matter < 1563402712 446831 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I believe there's some Linux-specific way to get at the command line arguments even if they have embedded NULs but I doubt anyone uses it because the portable way is more portable and more convenient < 1563402731 898618 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :in C and unix, yes. in windows and NNIX, you can have the argument and environment contain utf-16 strings. < 1563402732 680452 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :is it in the ELF startup vectors thing < 1563402740 193421 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :there's that weird auxv thing that people don't use < 1563402743 436029 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :that i forgot even the purpose of < 1563402761 147997 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that said, I'm not convinced you /can/ put embedded NULs into the argument list because I'm not sure there's any kernel-level API for doing that < 1563402762 213269 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :oh right, it has certain useful runtime system info < 1563402772 910254 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :kmc: ASLR is one good use of it, it contains a random number for ASLR purposes < 1563402774 1991 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :that is used mainly by the dynamic loader and libc init code < 1563402774 484902 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: I don't think there is, at least for actual execced programs (as opposed to shell builtins, which cheat), because the arguments are passed in by execve, and execve takes nul-terminated strings < 1563402775 462604 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :right < 1563402789 871876 :MDead_!~MDude@76.5.108.106 JOIN :#esoteric < 1563402792 245194 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: it's quite the opposite: there's a windows-specific way to get the original utf-16 arguments < 1563402827 935004 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :kmc: I used it through that libc wrapper in one program < 1563402834 284968 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :sysconf or something like that < 1563402838 958744 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :procconf? < 1563402843 582399 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I dunno, some strange name like that < 1563402855 349856 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I needed one of the parameters < 1563402866 54656 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :because of some linux-specific stuff < 1563402927 889531 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: maybe you can do something crazy like that to put an empty string into the environment and read it < 1563402946 836193 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :or maybe not < 1563403009 620664 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :maybe you can do that even normally < 1563403094 795887 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: putenv puts the provided string into the environment, not a copy of it < 1563403107 290587 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so you can just put an arbitrary string into the environment and then overwrite the first byte with NUL afterwards < 1563403127 858145 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this is probably an esoteric use of putenv? < 1563403151 289188 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, I don't know how environment variables work. < 1563403172 162298 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's somewhat more insane than you'd expect < 1563403173 411879 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is the running process's environment as modified by libc functions accessible in /proc, in Linux? < 1563403194 818974 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or does putenv only affect getenv and exec functions? < 1563403195 60044 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :basically, environment variables aren't tracked by the kernel at all except at the execve → main boundary < 1563403197 522490 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: but does that survive an execve? < 1563403206 827144 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :OK, that's what I would have guessed. < 1563403207 858343 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the environment doesn't survive an execve by definition < 1563403210 887308 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's what the e stands for < 1563403212 17716 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :or more like, survive an execv, or can you pass execve < 1563403212 721428 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :yeah < 1563403214 529373 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :"replace the environment" < 1563403228 364506 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :execv is just a wrapper in libc that does an execve with your current environment < 1563403249 564538 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: how does /proc/self/env work then? < 1563403260 538719 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I know Linux processes can modify their argv and that becomes visible in /proc/cmdline (and ps). < 1563403264 688346 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so the kernel providing only execve, not any of the other 7 exec* functions, means it doesn't need to track the environment for correctness < 1563403266 49167 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :no, /proc/self/environ < 1563403272 180707 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But I don't know how they can modify their command line to make it longer, for example. < 1563403281 138943 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think /proc/*/environ stores a copy for auditing reasons but the kernel doesn't need to remember it for semantic reasons < 1563403294 814556 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: argv[0] is a pointer to a string, you can just change the pointer rather than the string < 1563403306 145062 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: so it's like the filenames you get if you readlink /proc/*/fd/* ? < 1563403308 868732 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: And the kernel will pick up on that? < 1563403319 136836 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :argv is double-mutable, you can mutate both the pointers and the things they point to < 1563403335 439538 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not sure that the kernel picks up on argv[0] assignments in Linux < 1563403386 887840 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I though you could set the executable name using prctl, but maybe you can't < 1563403458 109315 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, so prctl lets you set the kernel's idea of where the command line is stored in memory and where the environment is stored in memory < 1563403475 11721 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so maybe /proc/self/env just reads the environment variables directly out of the program's memory, assuming they're stored in the same place as before? < 1563403519 885691 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ok... I think I don't even want to know those details < 1563403527 497750 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :aha: there's a PR_SET_MM_EXE_FILE < 1563403546 417462 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which lets you change which executable file the kernel thinks your program is currently running from < 1563403553 142090 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which is even more insane than changing argv[0] < 1563403557 578249 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: But that's only the executable, not the command line. < 1563403566 397475 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :"only" the executable < 1563403578 337233 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in order to be able to use it you first have to entirely unmap your existing executable, also you can only do it once per process < 1563403595 613900 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I once wrote a C program that ran without libc, let me look at what it did. < 1563403625 707279 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :shachaf: did that program ran on linux as a user process? < 1563403638 664217 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :At startup with the amd64 ABI, you get argc right at %rsp, and then argv, which is an array of argc many pointers, and then envp, and then auxv. < 1563403643 205438 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :b_jonas: Yes. < 1563403673 288624 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :shachaf: what type is auxv there? < 1563403681 535611 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Elf64_aux * < 1563403691 727407 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :a pointer to an array? < 1563403693 610023 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ok < 1563403701 998524 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, no, it's the actual array. < 1563403704 860008 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ah < 1563403719 386015 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You scan it until you find the sentinel with type AT_NULL < 1563403725 683857 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :yeah, so that was the un-c-like part, not how argv and envp were passed < 1563403774 309683 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :By the way, auxv contains the file name passed to execve, which can of course be distinct from argv[0] < 1563403802 654307 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :shachaf: sure, ps can print both < 1563403836 129005 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Can it? < 1563403857 441983 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :it can print two different executable-name-like-things at least < 1563403858 751704 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :on linux < 1563403860 842107 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I know it can read the link proc/pid/exe, but that's an absolute path, which I think is a bit different. < 1563403902 601825 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :let me see < 1563403931 329056 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't actually know. < 1563404054 969521 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh man, this is so confusing. < 1563404066 96581 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` ps axo pid,comm,args # this prints stuff like "Web Content" in the second column and command lines starting with "/usr/lib/firefox-esr/firefox-esr -contentproc" in the second column < 1563404066 801543 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​ PID COMMAND COMMAND \ 1 init /init \ 2 kthreadd [kthreadd] \ 3 ksoftirqd/0 [ksoftirqd/0] \ 4 kworker/0:0 [kworker/0:0] \ 5 kworker/0:0H [kworker/0:0H] \ 6 kworker/u2:0 [kworker/u2:0] \ 7 lru-add-drain [lru-add-drain] \ 8 kdevtmpfs [kdevtmpfs] \ 9 oom_reaper [oom_reaper] \ 10 writeback [writeback] \ 11 kcompactd0 [kcompactd0] \ 12 crypto < 1563404070 498015 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :In this program U8 means an 8-byte unsigned integer rather than an 8-bit unsigned integer. < 1563404073 849071 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :no full pathnames < 1563404084 266740 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :not always full pathnames that is < 1563404103 879995 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :the second colume only has the basename of the executable, or what it lies about itself < 1563404117 392708 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :the third column has what looks pretty much like the full argv joined < 1563404145 128850 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :the argv sometimes has relative pathname, sometimes absolute pathname for the executable < 1563404157 256571 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :and sometimes the argv itself lies < 1563404177 348256 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :because you can pass basically anything, and only the shell and gzip and git and a few programs like that care < 1563404195 534092 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :(the shell cares about whether it starts with a hyphen, gzip and git cares about names it's usually symlinked to) < 1563404228 854824 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I've seen the U1/2/4/8 nomenclature somewhere before, for 8/16/32/64-bit integers, respectively. < 1563404255 560375 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: As far as I can tell setting argv[0] to point to a different string has no effect on ps. < 1563404276 808892 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's what I'd expect too; it works on some systems but I don't think Linux is one of them < 1563404277 264739 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I have written C++ code where I defined typenames ending in 1, 2, 4, 8 for 1-byte, 2-byte, 4-byte, and 8-byte integers. not U8 or u8 or S8 or s8 or I8 or i8 though < 1563404281 6811 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: Yes, I thought it would be a better idea because they're all one-digit numbers. < 1563404300 658094 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Then maybe I misunderstood 15:41 shachaf: argv[0] is a pointer to a string, you can just change the pointer rather than the string < 1563404304 486464 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :shachaf: exactly < 1563404328 144909 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I decided to go back to bit counts because that's what everyone else uses. < 1563404343 880840 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It wouldn't be confusing except that 8 bit and 8 bytes are both very common sizes. < 1563404355 538133 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: that was in reply to a question asking about how you could make the name longer < 1563404357 171533 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :although there's also a third variant, where you use "3" for 1-byte, "4" for 2-byte, "5" for 4-byte, "6" for 8-byte, "7" for 16-byte, "8" for 32-byte, and "9" for 64-byte < 1563404372 377436 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Yes, for people viewing the name through ps. < 1563404378 875272 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :anyway, it seems that on Linux, the "executable name" is the name of the executable's main thread, so you can rename the thread in question and that renames the view in ps < 1563404379 516168 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why else would I want to make it longer? < 1563404387 778422 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's limited to 15 bytes, apparently < 1563404408 994934 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :and any of these is better than using ambiguous names like "long" and "int" and "word" or abbreviations for them < 1563404409 347235 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: because 1 byte = 8 bits? < 1563404422 198513 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: yes, you can also have "0" for booleans < 1563404424 318453 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I want to change the contents of /proc/pid/cmdline. < 1563404445 577729 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Oh, I think it was probably the JVM specification. < 1563404458 71505 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html "The types u1, u2, and u4 represent an unsigned one-, two-, or four-byte quantity, respectively." < 1563404481 865112 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh no. < 1563404484 935477 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not sure if it's possible to change arguments after the first in /proc/pid/cmdline; my guess is yes but if so my searches haven't discovered a method yet < 1563404498 187630 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Recently I've been reading decompiled Java code to understand a game better. < 1563404509 375747 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's amazing how much information they put in there. Almost everything except comments. < 1563404511 587383 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Java doesn't /have/ unsigned 1-, 4-, or 8-byte types < 1563404526 812352 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(char is an unsigned 2-byte number with a misleading name) < 1563404538 631589 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :ais523: JVM, not Java. < 1563404552 802441 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :fizzie: yes, that's why the names can be weird < 1563404557 616600 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :as they don't have Java names to use as a reference < 1563404562 616168 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :and there's also one I considered using for the syntax of a certain sort-of esolang I've been considering: "1" for 1-byte, "2" for 2-byte, "4" for 4-byte, "8" for 8-byte, "3" for 4-byte float, "7" for 8-byte float, "6" for 8-byte pointer, "0" for boolean, because this way they're distinct and give the approximate size of the mantissa in bytes < 1563404570 748783 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Can't you just mutate argv[1][0] or whatever and put what you like in there? < 1563404605 201997 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: yes, but if mutating argv[0] doesn't affect ps output, I wouldn't expect mutating argv[1] to affect ps output either < 1563404606 948178 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but maybe it does < 1563404631 921086 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :I think unixes where it does alter ps output look into the process memory < 1563404634 839612 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it's n a s t y < 1563404654 374782 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :not sure about /proc/$PID/cmdline < 1563404665 283722 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Mutating argv[0][0] does change ps output. < 1563404675 140226 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ooh < 1563404676 559229 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But not the pointer argv[0], which I thought was the distinction you were making before. < 1563404691 348234 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :shachaf: what if you unmap the initial stack? < 1563404702 330214 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so I guess that /proc/$PID/cmdline is looking at the memory backing the pointers that argv points into < 1563404704 886257 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that would make some sort of sense < 1563404709 695373 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :One time I got very confused by a program that used strtok to parse command line arguments. < 1563404712 595986 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :surely it won't segfault the kernel, linux is careful about that thing these days, but what does it show in cmdline? < 1563404722 809934 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Yes, that's what it does. I think the pointers aren't used for anything. < 1563404733 191735 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's just nul-separated strings. < 1563404746 408258 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: there's a prctl option to set where the memory backing *argv is; presumably, based on shachaf's results, that could be used to set the entire cmdlien < 1563404748 479216 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*cmdline < 1563404751 758200 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ah < 1563404752 517651 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I see < 1563404788 916766 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: But argv isn't limited to 15 bytes. < 1563404826 424209 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: there are three separate program name things < 1563404835 422909 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I like how the POSIX-specified way of getting access to the environment (to pass to execve or whatever) is to write "extern char **environ;" in your program. < 1563404845 586010 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: the third is the filename remembered for the mapping? < 1563404866 16187 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you have readlink(/proc/self/exe) (kernel's idea of executable image); orig_argv[0] (memory space in which the command line was passed); and the name of the program's main thread (settable via prctl) < 1563404886 555575 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the last is the one that's limited to 15 bytes when set via prctl; I'm not sure whether it can exceed 15 bytes if it's set by the kernel on program start < 1563404890 608713 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: There's also the AT_EXECFN in auxv. < 1563404911 478736 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :ah yes, although I'm not sure that the kernel can see that one if it's modified? < 1563404921 845909 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It would probably be hard for it to look at the pointers, since that vector is constructed by the libc; the initial process stack at _start is just the strings. < 1563404922 340581 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :No, it's read-only I assume. < 1563404950 510296 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :fizzie: is that only for auxv, or also for argv? < 1563404961 150122 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Also for (the contents of) argv. < 1563404966 214552 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ok < 1563404966 368439 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: No, the ABI gives programs an array of pointers at startup, I think. < 1563404975 678443 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :shachaf: No, it doesn't. < 1563404979 668351 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I've heard contradictory statements about this, I give up now < 1563404987 93805 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :At least the x86-64 ELF ABI. < 1563404988 22123 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I'll have libc or other libraries handle this < 1563404988 909433 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: How confident are you, on Linux amd64? < 1563404996 758505 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :shachaf: Very, because I'm staring at the spec. < 1563405005 302200 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It's Figure 3.9: Initial process stack. < 1563405023 558624 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :... < 1563405026 942053 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :No, I just can't read. < 1563405033 880580 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I can't eithert < 1563405038 46339 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Yes, there is an array of pointers there. < 1563405067 129414 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :and it's terminated by a null pointer? < 1563405073 95690 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It's just that there's no pointer to the array of pointers, that's what I was misremembering. < 1563405098 97223 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they didn't want to get into three-star programming :-) < 1563405107 835996 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :lol < 1563405122 994342 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :so the libc startup routines create argc and argv, but not *argv or **argv? < 1563405131 893025 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm glad the spec agrees with my program. < 1563405141 394349 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's one of my favourite articles on c2, it inspired the name of an esolang < 1563405142 810482 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :shachaf: is your program x86_64? < 1563405147 562011 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes. < 1563405167 411922 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :b_jonas: argc and argv are passed by the kernel at (%rsp) and 8(%rsp) < 1563405191 868660 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess I should say at %rsp and at %rsp + 8 < 1563405191 956555 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :hmm < 1563405193 943144 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I mean, not really? < 1563405209 380033 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :At 8(%rsp) there is the first pointer, as in argv[0]. < 1563405241 801993 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wow, apparently the C2 wiki need to be able to make "cross-domain" (actually to a different subdomain of itself, but still) XHR requests to work correctly? < 1563405243 549391 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, I meant that argv points to that address. < 1563405259 950874 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :http://wiki.c2.com/?ThreeStarProgrammer for anyone interested, btw < 1563405394 284070 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :yeah, I remember I looked at that because you link to it from the 3-star programmer description page on esowiki < 1563405409 60419 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I don't otherwise use the c2 wiki < 1563405411 585145 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :https://zem.fi/tmp/f39.png is that table, just for the reference. < 1563405436 439308 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Quit: Leaving < 1563405442 502231 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :nowadays most people think only of Wikipedia when someone says "wiki" < 1563405448 622672 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but the older wikis are an important part of Internet history < 1563405483 456156 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: I most certainly don't, but I mostly think on _newer_ wikis than wikipedia < 1563405500 369649 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :s/on _/of _/ < 1563405510 145888 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :// argc: 8 bytes < 1563405510 290916 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :// argv: 8 bytes * (argc + 1), terminated with 0 pointer < 1563405510 309438 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :// envv: 8 bytes * ?, terminated with 0 pointer < 1563405510 309487 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :// auxv: 16 bytes * ?, terminated with AT_NULL (type 0) entry < 1563405522 135883 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :one thing I dislike is when I'm in #esoteric or #nethack or the like and someone says "the wiki" to mean Wikipedia rather than Esolang or NetHackWiki respectively < 1563405560 850268 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :shachaf: Arguably, auxv is (16*N + 8) bytes long, at least according to that table. < 1563405561 185484 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Only nonsense people say that, though. < 1563405571 464226 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :on the subject of argv and friends being insane, I would like there to be a standard for command-line arguments and exit codes from programs, even if not everyone followed it < 1563405587 507654 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(The "Auxiliary vector entires..." are "2 eightbytes each", but the "Null auxiliary vector entry" is only "1 eightbyte".) < 1563405593 167768 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: Hmm, good point. < 1563405593 578977 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this would mean that programs could opt-in to declaring they followed the standard, making them easier to use in an automated way without needing to special-case your code for every program < 1563405611 997195 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But I think the next eight bytes are guaranteed to be mapped so you can treat it as a 16-byte entry. < 1563405616 659804 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :BSD has a standard for return codes, that seems like a good starting point (and I typically try to follow it in my own code, but it's not very fine-grainedD) < 1563405625 74679 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But maybe not? < 1563405630 506457 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not sure which BSD, probably all of them < 1563405641 866246 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It would be a funny joke to put that right on a page boundary. < 1563405643 339765 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It doesn't say in the table, but it might say it in the text. Certainly it's true in practice. < 1563405662 909642 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is it always true in practice? < 1563405677 410068 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What if the environment and argv are empty? < 1563405692 214426 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: perl uses the convention that if the program exist with an unhandled exception, the exit code is max(errno & 0xFF, 1) < 1563405698 662033 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, there are always going to be other things in the information block. < 1563405712 13244 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: ugh, I hate that convention < 1563405713 604239 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :which is useful because the errno can give some useful information when the exception message is not too detailed < 1563405716 753904 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: why? < 1563405734 299844 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because errno has more than 256 possible values and as such you're making every single element of the exit code space ambiguous (other than 0) < 1563405746 73125 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in particular, you have nowhere to return non-errno-based failures < 1563405747 872436 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :for proper programs, I prefer if the errno is 1 for ordinary failure, 2 for wrong usage or exceptional failure < 1563405753 751150 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(I guess you could map them onto the closest errno value) < 1563405755 262214 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :s/errno/exit code/ < 1563405783 116999 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in the BSD system, 64 is used for wrong usage, and is not used in any other circumstance < 1563405785 676521 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I like that sort of guarantee < 1563405791 481305 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: no it doesn't. it's still under 256 on unix. < 1563405810 179984 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I mean, technically you can assign any int to errno, but the defined errno codes only go up to something between 125 and 256 < 1563405818 682479 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I don't know the exact limit < 1563405820 616485 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, it goes up to 133, but wraps at 127 I think < 1563405824 737809 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :it's syscalls that go way past 256 < 1563405834 714613 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: hmm, does perl wrap it to 7 bits? let me test < 1563405856 282091 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no, wait (which is what returns the exit code) wraps it to 7 bits < 1563405865 4508 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` perl -e '$!=0x81;die'; echo $? < 1563405865 654358 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Died at -e line 1. \ 129 < 1563405869 620264 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :^ doesn't wrap < 1563405872 699640 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` perl -e '$!=0x89;die'; echo $? < 1563405873 438518 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Died at -e line 1. \ 137 < 1563405877 275894 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :see, proper 8-bit clean < 1563405885 849887 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wow < 1563405887 994997 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I claim this for unix, I don't know what happens on windows < 1563405903 737221 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :``` perl -e 'kill $$, 9'; echo $? < 1563405904 418654 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :0 < 1563405909 909765 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :``` perl -e 'kill 9, $$'; echo $? < 1563405910 644656 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :bash: line 1: 58 Killed perl -e 'kill 9, $$' \ 137 < 1563405910 692449 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :it's only the shell the maps signal k to 128+k in the shell parameter $? < 1563405913 767686 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :sorry, PID 9 < 1563405926 856566 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :good thing HackEso protects me from that sort of error :-) < 1563405928 173578 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :everything other than the shell support proper 8-bit exit codes, both on the exit side and the wait side < 1563405934 158275 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :though sometimes the documentation claims otherwise < 1563405935 669496 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Man, I sure wish I could statically link all my Linux programs. < 1563405940 240789 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It would be way better. < 1563405960 279232 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :even the ones that load dynamic libraries at runtime? < 1563405975 493234 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean, I wish the platform ABI didn't require you to load dynamic libraries at runtime. < 1563405976 180666 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think there are some programs that even compile code from source while they're running, then dlopen the resulting executables < 1563405993 5984 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You could use dlopen and still statically link, probably. < 1563405996 818121 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` perl -e 'system "perl", "-e", "kill 9, $$"; printf "wait code %04X,\n", $?;' < 1563405997 500127 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Killed < 1563405999 128901 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If you had your own implementation of dlopen. < 1563406014 923510 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` perl -e 'system "perl", "-e", "kill 9, \$"; printf "wait code %04X,\n", $?;' < 1563406015 751385 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :syntax error at -e line 1, at EOF \ Execution of -e aborted due to compilation errors. \ wait code FF00, < 1563406019 700254 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: you need to escape the $$ < 1563406020 136888 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` perl -e 'system "perl", "-e", "kill 9, \$\$"; printf "wait code %04X,\n", $?;' < 1563406020 827592 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :wait code 0009, < 1563406023 792193 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the inside perl killed the outside perl < 1563406038 217934 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :``` perl -e 'system "perl", "-e", "\$!=0x89; die"; printf "wait code %04X,\n", $?;' < 1563406039 3144 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Died at -e line 1. \ wait code 8900, < 1563406043 47581 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think OpenGL is the biggest culprit? < 1563406053 662380 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net JOIN :#esoteric < 1563406055 334476 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Unfortunately writing GPU code is just ridiculous on every platform. < 1563406057 475146 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :upper byte of the wait code is the exit code, lower byte is the signal, and there are two or three other bits stowed in there < 1563406064 406422 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :or maybe just one... uh < 1563406070 188635 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think that if you're statically linking libc and friends, you probably want to use LTO to take advantage of that < 1563406088 462736 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :the signal and the exit code are the ones you usually care about, unless you're ptracing something < 1563406102 139899 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :anyway, we now have a problem, in that there are /two/ incompatible exit code standards now < 1563406104 536577 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which is worse than having one < 1563406107 291082 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :or doing job control, which needs to care about stopped children < 1563406109 814478 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Do you like Penguins? < 1563406134 551860 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: penguins as in the animals, or is Penguins some piece of software or the like that I don't know about? < 1563406151 331307 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The chocolate biscuit. < 1563406174 564836 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: there are also programs with custom exit codes defined. curl the command-line program actually documents what exit codes correspond to each kind of error. I even used that in a script that calls command-line curl and wants to retry for some errors but give up for others. < 1563406179 833500 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't eat chocolate nowadays, but back when I did I didn't /dislike/ Penguins but there were many sorts of chocolate I preferred, so I hardly ever ate them < 1563406191 227324 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why don't you eat chocolate? < 1563406201 294393 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(don't eat = I avoid things that are primarily chocolate, I'm fine with chocolate traces) < 1563406209 707014 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ah. < 1563406211 705253 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also I gave it up for a few months by accident/coincidence and just never started again < 1563406232 800409 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: do you have an estoeric language, other than feather, that does something like time travel? < 1563406233 117983 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't think it's particularly good for my health and I was doing fine without it < 1563406239 820015 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Makes sense. < 1563406253 384949 :Sgeo__!~Sgeo@ool-18b98455.dyn.optonline.net QUIT :Ping timeout: 244 seconds < 1563406277 326710 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: I think the closest you get is nondeterminism in the NP sense < 1563406280 361405 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Anyway LTO seems like a different level of detail than what I was thinking about. < 1563406280 531156 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :e.g. Nellephant, Precognition < 1563406288 809743 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ok < 1563406293 578879 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :that might actually count < 1563406297 185823 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The point is that I want to make a Linux executable, in whatever language, which is self-contained. I might not use libc at all. < 1563406298 455031 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the word "precognition" refers to a time-travel effect even if the language Precognition can be implemented without it < 1563406305 231508 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So I just want to know what ABIs it needs to conform to. < 1563406336 484730 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: x86_64 (or whatever) kernel ABI would be the only relevant one if you have control over all the code in your executable < 1563406349 664217 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you can use whatever you want for an ABI internally, and with no libraries, the API isn't relevant < 1563406358 492979 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: OpenGL or Vulkan is also relevant if you want to write code that uses the GPU. < 1563406359 4381 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :shachaf: just because you don't use libc you can still use some other startup standard library that is distributed with the language. rust actually has one. C++ has one too but that one is pretty close to libc. < 1563406369 622065 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :And that's a huge userspace mess. < 1563406378 450951 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: oh right, you also have the API for any userspace programs you want to communicate with < 1563406381 483256 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :X, for example < 1563406393 723640 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :from Web of Lies I learned that X mostly works over sockets < 1563406395 889219 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :X is a protocol that you can implement yourself. < 1563406402 209985 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :have fun with that < 1563406404 971178 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :...Except if you want accelerated rendering. < 1563406408 544306 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :shachaf: which side? server or client? < 1563406419 21397 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: I'd almost rather implement the X protocol myself than use Xlib. < 1563406425 36728 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But I can't! < 1563406432 423685 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I assume there's enough information to implement either yourself, but also strongly suspect that the client end of the connection is the easier to implement < 1563406434 561131 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You also can't really use xcb without Xlib. < 1563406445 974996 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :b_jonas: The client, of course. < 1563406502 557975 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Now they're releasing Wayland which is in many ways even worse, and you're still limited to a single library. < 1563406503 40920 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :sshd logically has to contain an implementation of the server end otherwise ssh -X wouldn't work (possibly unlike ssh -Y, -X needs some understanding of the commands passing overe it), but my guess is that it just delegates almost everything to the X server on the same machine < 1563406522 945976 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Except now the library is more complicated and tries to do more things for you that you don't want to do. < 1563406550 120793 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :doesn't Wayland put much of the logic into the client exectuable? that would explain the need for a complex library < 1563406586 37677 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, for example the Wayland library requires you to do everything with a lot of callbacks instead of just giving you event data like Xlib. < 1563406591 386333 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Well, soon there won't be any X, right? < 1563406612 753097 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :X will be supported pretty much forever for compatibility reasons < 1563406617 738506 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :fizzie: dream on < 1563406619 408361 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :ais523: "Once we [Fedora] are done with this [transitioning to Wayland] we expect X.org to go into hard maintenance mode fairly quickly. The reality is that X.org is basically maintained by us and thus once we stop paying attention to it there is unlikely to be any major new releases coming out --" < 1563406619 457131 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: I'm not objecting to a complex library existing, but I do object to a complex library that you have to use. < 1563406630 293729 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there's likely already an X server written in Wayland to act as a compatibility buffer between the two < 1563406641 313935 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If you're going to be forced to use a library, there should be a minimal simple library that the optional complex library is built on top of. < 1563406647 754955 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :They'll support XWayland "forever", sure. < 1563406681 930356 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't object to deprecating X but a bunch of things in Wayland seem either not ready or just bad. < 1563406709 407041 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :one thing I discovered by accident is that SDL is capable of writing to framebuffers directly < 1563406723 453806 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and thus can run and display graphics without access to X, Wayland or friends < 1563406731 347807 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :mplayer can do that too. < 1563406735 529717 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but this only works in fullscreen mode and there are a lot of graphicial artifacts < 1563406741 910252 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :some of the things wayland does make sense, but it also runs on a lot of stupid marketing about things where it's not actually better than X, I think < 1563406743 756200 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It can also do accelerated video on MGA cards without X. < 1563406754 764376 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :presumably SDL doesn't use the GPU at all in that configuration < 1563406766 19887 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(The G200/G400/G450/G550 ones.) < 1563406782 248134 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: the main alleged argument for Wayland is that it doesn't try to serialise the drawing commands over a socket, allowing it to be simpler < 1563406798 571704 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm not sure I agree with this, but it's not an obviously ridiculous argument < 1563406820 359113 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: yeah, but X doesn't do that either, at least with modern programs and local X server < 1563406820 387023 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :...well, if you can call it "accelerated video", AIUI the only accelerated bit is the colorspace conversion, the card provides a YUV overlay. < 1563406850 555047 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :you can use X that way, but most programs these days don't, I believe < 1563406855 844583 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: it uses a unix domain socket I think rather than a TCP socket < 1563406863 776390 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's still /technically/ a socket but I doubt there's much loss at that point < 1563406873 220760 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :yeah i saw someone who had a tiling WM esque setup using tmux windows and mplayer fbdev < 1563406874 13962 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: not even that I think < 1563406883 429779 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :now all you need is a web browser < 1563406892 332479 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well it uses a unix domain socket when running under web of lies, but maybe it detected that it couldn't talk to X the normal way? < 1563406901 807733 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I meean, there's still a socket connection for control info, but not for all the drawing command data < 1563406922 429888 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :kmc: There was at least one browser that supported rendering mostly as text, then overdrawing bitmaps into the framebuffer at the right spots. < 1563406929 355897 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: ah, how is that sent? shared memory? < 1563406930 188648 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :links2? < 1563406999 583257 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Hmm, it at least has a framebuffer driver, but maybe that's in the more conventional style where it draws the text there as well. < 1563407003 101361 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: I think X gives the programs some sort of access to the GPU, with GPU permissino control, maps some GPU memory thing into the visible window, and the programs use toolkit libraries that, below heavy levels of abstractions and in the common fast case, ask the GPU to render the actual graphics into that GPU memory < 1563407006 817732 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :neat < 1563407025 752780 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: oh, the Direct Rendering Manager < 1563407030 824565 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I have no idea how that thing works < 1563407044 976389 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(just that people keep getting annoyed at it because it has the same acronym as Digital Rights Management and both are tied up with graphics/video) < 1563407045 699827 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :the X socket itself is still used to initiate everything, but I don't see a problem with at < 1563407082 98055 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I wrote my own UI library that renders directly with Xlib and OpenGL. < 1563407099 748270 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, it doesn't do very much UI right now. < 1563407131 273691 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :is that the emscriptenized thing you were showing me? < 1563407141 584435 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's related? < 1563407143 721055 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: that's not an accident of course. if you want to allow the user to read e-books that they don't own but only have a license to read but don't want to allow them to copy their contents, then you can't just serialize the drawing commands for the e-book through a socket to X. < 1563407167 417065 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I have an SDL backend which more or less supports HTML, though it's not that great. < 1563407167 912162 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I would love it if there were a portable UI library where you gave it a description of what elements you wanted in your UI and it translated that to appropriate native (or native-looking/behaving) GUI/TUI for every platform < 1563407183 341247 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm surprised it hasn't been written yet, the main issue may be that a number of the backends would be moving targets < 1563407186 188139 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I might make a proper emscripten/web backend eventually rather than using SDL. < 1563407188 462254 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :movies too, but for those you also need the efficiency. < 1563407188 519352 :arseniiv!~arseniiv@136.169.209.175 QUIT :Ping timeout: 272 seconds < 1563407204 393951 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but more likely it hasn't been written because managers care about their program looking the same on every platform more than they care about their program fitting into the platform < 1563407205 232739 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: there are such portable libraries, < 1563407223 658799 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :but the problem is that what the graphics environments want to do are moving targets, so every such library gets obsolate < 1563407234 171150 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the closest I've seen is Java AWT, which has been deprecated for years and doesn't really work < 1563407243 484381 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: I think Google' Flutter is a recent library with a goal like that. < 1563407250 203876 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :and eventually they do get improved, but everyone keeps using the old version of gtk (2 rather than 3) just like how they're using the old version of python (2 rather than 3) so the new things can't be added < 1563407268 586892 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :By the way, chet out https://makepad.github.io/makepad/ < 1563407277 543928 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's written in Rust and renders all the text and everything with WebGL. < 1563407279 71097 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :b_jonas: isn't that because Gnome 3 was a disaster? I really dislike the way its native programs behave < 1563407279 324387 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :there are several such portable libraries, not only gtk, but also wx and tk which are both even more obsolate and, from a modern point of view, badly designed, than gtk < 1563407289 336075 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It looks surprisingly good for a web thing that does that. < 1563407291 688151 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :no doubt it's possible to use GTK 3 without repeating the same bad decisions, but Gnome 3 will have rather tainted it < 1563407296 995183 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :ais523: no, I think gnome 3 was a disaster for reasons other than that < 1563407311 207923 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :I don't think that's connected to gnome 3 much < 1563407317 743302 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I have to use Gnome 3 at work, I hate it < 1563407323 361130 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh man, what's with the GTK3 native client-side decorations (ncsd) thing? < 1563407324 781882 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's so bad. < 1563407338 94010 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ubuntu disables it automatically if you're using a window manager other than GNOME. < 1563407352 930767 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's bad enough that it forced me to Cinnamon on my laptop, because even though I dislike how bad Cinnamon's performance is it is at least possible to customize it into being usable < 1563407355 853974 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But the way they do it is with a .so that they add to LD_PRELOAD (!!!) < 1563407359 717632 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :everything is bad < 1563407369 227318 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It breaks all the time. < 1563407376 455425 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :$ echo $LD_PRELOAD < 1563407377 951037 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :libgtk3-nocsd.so.0 < 1563407379 511187 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh wow < 1563407396 11631 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :bad enough to be LD_PRELOADed out by the operating system :-D < 1563407396 750931 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :`` echo $LD_PRELOAD < 1563407397 406417 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1563407411 91702 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, does this mean that you have terrible UI when you run programs with sudo? < 1563407418 56865 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: They have access to the code! Don't they have patches for every package anyway? < 1563407441 652396 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: it could be meant for, e.g., locally compiled software, snaps, etc. < 1563407441 972634 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :the hackenv environment is actually quite short < 1563407452 151080 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :snapd is something that I would benefit from knowing how it works, I think < 1563407463 706219 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :shachaf: I don't think Flutter is super-focused on making applications "look native" on the platforms it supports. Maybe for the sort of behavioral things, but I think you get the same widgets you pick on all platforms you target. < 1563407464 276329 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it may be an excellent idea or a terrible idea but I don't know enough about it to tell < 1563407474 402587 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I have the suspicion, though, that if I understood it I would have a strong opinion on it < 1563407484 419211 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: Oh, that was the impression I got but I never used it. < 1563407487 889711 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Since it does the rendering on its own, with Skia. < 1563407524 215352 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: I thought they rendered the widgets to look like each platform's widgets, though. < 1563407576 933367 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1563407577 794466 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Hm, maybe. I know it's got two widget sets (Material Design, and iOS-y), so maybe the default could be to pick the "natural" one. < 1563407589 54986 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1563407592 81334 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: Oh, maybe that's all I as thinking of. < 1563407621 823409 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: I remember reading something about how they have to chase a moving target to match iOS widget look. Maybe it's just that rather than a general cross-platform thing. < 1563407647 514793 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :All I know about Flutter is what I've overheard, there's been a lot of talk about it lately. < 1563407674 132305 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(Where "lately" means "over the last year or so".) < 1563407675 973199 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I wish platforms weren't all about maximizing lock-in with their nonsense bad APIs. < 1563407683 940550 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This is what every single platform is about. < 1563407690 947186 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :how does that even work these days, when modern programs don't even use any sort of standard widgets, not even from toolkits, but instead use their stupid custom reinvented checkboxes and calendar widgets where you can only enter a date by clicking on arrows with the mouse and text input boxes that try to interpret your raw keyboard presses directly? < 1563407924 405410 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :shachaf: Text selected in makepad doesn't end up in the PRIMARY selection. :/ < 1563407964 131863 :b_jonas!~x@catv-176-63-25-29.catv.broadband.hu PRIVMSG #esoteric :in webpages, first the fashion was custom calendar widgets and custom dropdown boxes, then input boxes that's pre-filled with a description of what the input box should contain that it's supposed to delete when you start entering text but can't really do that because the javascript api doesn't do, < 1563407964 780891 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: Man, that's the one nitpick I pointed out to someone when I was telling them about this the other day. < 1563407976 955367 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: I wonder whether it's doable, by making a hidden buffer and selecting the text in it. < 1563407991 464123 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The rounded corners of the selection highlight are nice, though. < 1563407993 399806 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: Ctrl-C/Ctrl-V does work, which surprised me a bit.