< 1565222866 821680 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ `:11111111112779092073579732177590915891200000000000x < 1565222867 701542 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: `:11111111112779092073579732177590915891200000000000x < 1565222872 820904 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ q:11111111112779092073579732177590915891200000000000x NB. int-e < 1565222873 510791 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 11 11 11 11 11 11 13 13 13 13 13 13 13 13 13 17 17 19 23 23 23 < 1565223015 994183 :nfd9001!~nfd9001@c-67-183-33-240.hsd1.wa.comcast.net QUIT :Read error: Connection reset by peer < 1565223121 611175 :salpynx!794954f8@121.73.84.248 JOIN :#esoteric < 1565223204 968278 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :int-e: ^ that's the best if you use primes no greater than 23 < 1565223214 159808 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :I'm running a longer search now < 1565223240 273570 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :well, as soon as I fix the bugs in my program < 1565223297 276061 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ q:11111111111269581656547160489766631945078430800000x < 1565223297 970438 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 2 2 2 2 2 2 2 3 3 3 3 3 5 5 5 5 5 7 7 7 7 7 7 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 13 13 13 13 13 13 13 13 19 19 19 19 19 19 19 29 < 1565223404 56706 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :int-e: may I ask how good a number you've got, that is, (the the best number you have minus (2**50-1)/9) rounded to two significant digits? < 1565223455 813210 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :wait, what's the competition? < 1565223503 746248 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :Hooloovo0: http://esolangs.org/logs/2019-08-02.html#lY < 1565223639 141994 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :dammit I missed a discussion of TI-8x grayscale < 1565223680 156253 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :ha, sorry < 1565223752 464531 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :the display (or at least the controller) doesn't suport any more than black and white, you have to flicker the pixels fast enough that you trick the eye into seeing gray < 1565223820 361995 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :I too wrote a mandelbrot renderer in BASIC and it took a similarly long amount of time to render < 1565223838 742308 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :I wonder if you could flash like 8 pictures in BASIC to get flickerless grayscale... < 1565223861 908720 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :(well, relatively speaking) < 1565223933 25784 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :also sdcc for the z80 isn't super good < 1565223968 295038 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :the only compiled language which is half-decent forTI-z80 is AXE < 1565224169 881803 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :oh come on, stupid program, find a better solution < 1565224270 737985 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ 11111111111269581656547160489766631945078430800000 - (9<.@%~_1+10x^50) < 1565224271 391629 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 1.58473e38 < 1565224274 918 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :Hooloovo0: it wasn't flickerless < 1565224363 209009 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ 0j_2": 11111111111269581656547160489766631945078430800000x - (9<.@%~_1+10x^50) < 1565224363 908364 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 1.58e38 < 1565224403 571086 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :ok, I think I'll leave this running for a while < 1565224559 430395 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ q:11111111111161923559652900718659162521362304687500x < 1565224560 126914 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 11 13 13 13 17 17 17 17 17 17 23 31 59 < 1565224581 378922 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ 0j_2": 11111111111161923559652900718659162521362304687500x - (9<.@%~_1+10x^50) < 1565224582 67174 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 5.08e37 < 1565224908 448686 :douglas_!~douglas@190.221.91.55 JOIN :#esoteric < 1565224973 662747 :douglas_!~douglas@190.221.91.55 QUIT :Remote host closed the connection < 1565228266 606162 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1565229266 922432 :xkapastel!uid17782@gateway/web/irccloud.com/x-fppadfuhcidlzwug QUIT :Quit: Connection closed for inactivity < 1565229451 329654 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ q:11111111111111167179461296463398102111816406250000x < 1565229452 84622 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 2 2 2 2 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 13 13 13 13 13 17 19 19 23 23 23 23 23 23 23 23 53 61 73 < 1565229455 947641 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1565229475 577774 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ 0j2": 11111111111111167179461296463398102111816406250000x - (9<.@%~_1+10x^50) NB. int-e < 1565229476 273819 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 56068350185352286991000705295138889.00 < 1565229486 840639 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ 0j_2": 11111111111111167179461296463398102111816406250000x - (9<.@%~_1+10x^50) < 1565229487 543560 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 5.61e34 < 1565231831 682000 :rodgort!~rodgort@static.38.6.217.95.clients.your-server.de QUIT :Quit: Leaving < 1565232402 526438 :rodgort!~rodgort@static.38.6.217.95.clients.your-server.de JOIN :#esoteric < 1565232582 370827 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: leaving < 1565233050 616033 :rodgort!~rodgort@static.38.6.217.95.clients.your-server.de QUIT :Ping timeout: 272 seconds < 1565233108 207077 :rodgort!~rodgort@static.38.6.217.95.clients.your-server.de JOIN :#esoteric < 1565234189 250613 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :what kind of optimization algorithm are you using b_jonas? > 1565234508 596111 PRIVMSG #esoteric :14[[07Adjudicated Blind Collaborative Design Esolang Factory14]]4 M10 02https://esolangs.org/w/index.php?diff=65368&oldid=65364 5* 03A 5* (+18) 10At least this is created in 2006. > 1565239079 71256 PRIVMSG #esoteric :14[[07Adjudicated Blind Collaborative Design Esolang Factory14]]4 M10 02https://esolangs.org/w/index.php?diff=65369&oldid=65368 5* 03Salpynx 5* (-18) 10Undo revision 65368 by [[Special:Contributions/A|A]] ([[User talk:A|talk]]) Yes, but [[Category:Years]] "All languages should belong to exactly one of these categories, and other articles should not." < 1565244843 92691 :int-e!~noone@int-e.eu PRIVMSG #esoteric :b_jonas: that's pretty good < 1565244859 944360 :int-e!~noone@int-e.eu PRIVMSG #esoteric :b_jonas: 11111111111111111400018389711831195436675393750000 is the best I've got < 1565244898 370421 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What are these numbers? < 1565244920 122204 :int-e!~noone@int-e.eu PRIVMSG #esoteric :103-smooth overapproximations of 11111111111111111111111111111111111111111111111111 < 1565245033 485615 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What is that? < 1565245047 76929 :int-e!~noone@int-e.eu PRIVMSG #esoteric :A four-letter word. < 1565245049 267253 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm looking for clues in the text and not seeing them. < 1565245069 887560 :int-e!~noone@int-e.eu PRIVMSG #esoteric :@google "B-smooth" < 1565245070 823984 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric :https://en.wikipedia.org/wiki/Smooth_number < 1565245080 492092 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Aha. < 1565245099 881648 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why would you use the word "smooth" to talk about natural numbers? Come on. < 1565245110 338725 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :ACTION is a smooth operator < 1565245133 948136 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: because we also use the word "round" for natural numbers < 1565245163 449360 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :i,i kmc^op < 1565245165 27159 :int-e!~noone@int-e.eu PRIVMSG #esoteric :and round numbers tend to be smooth < 1565245171 676688 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :you gotta tell me if you're a c^op < 1565245191 866223 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :is it opposite day < 1565245197 777668 :int-e!~noone@int-e.eu PRIVMSG #esoteric :> 2^5*3^2*5^3*7 < 1565245199 948892 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :no hth < 1565245200 744956 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : 252000 < 1565245242 592049 :int-e!~noone@int-e.eu PRIVMSG #esoteric :> 2^15*3^10*7^7 -- smooth, not round < 1565245247 515836 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : 1593487871410176 < 1565245331 237761 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :it's not round in base 10 because it doesn't have any 5s < 1565245333 796753 :int-e!~noone@int-e.eu PRIVMSG #esoteric :b_jonas: oh, actually 11111111111111111215673466122483207680856045806875 is the best I have. < 1565245372 860928 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :smooth buddy < 1565246612 999407 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I wonder whether an ILP solver would be good at this kind of thing. < 1565246646 54942 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess probably not very? < 1565247045 58293 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :I looked into approximate subset sum solvers but they mostly suck < 1565247052 754522 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :well, all suck < 1565248139 537203 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Girl Genius theory: the entire thing's going to be a shaggy dog story, with Agatha, Gil, and Tarvek being unable to claim their titles due to having died in Castle Heterodyne during the Si Vales Valeo procedure < 1565248179 498026 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :branch and bound is tg < 1565248187 909691 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :can sat solvers use a trick like that somehow < 1565248548 970766 :john_metcalf!~digital_w@host86-139-94-170.range86-139.btcentralplus.com JOIN :#esoteric < 1565248950 971258 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: Uh, they are? < 1565248980 448309 :int-e!~noone@int-e.eu PRIVMSG #esoteric :You only have two values. You cut off branches that are definitely false. < 1565249005 151357 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Unit propagation is a combined branch & bound. < 1565249019 552093 :int-e!~noone@int-e.eu PRIVMSG #esoteric :It's all so degenerated though that the concept hardly fits. < 1565249207 240159 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess... < 1565249219 299915 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Do SMT solvers use it more directly? < 1565249228 620537 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe when used for optimization rather than satisfiability. < 1565249241 679973 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe that's pretty far from SAT territory. < 1565249396 291924 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I don't know whether the LIA solvers prefer gomory cuts or branch&bound. < 1565249420 623679 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(LIA = linear integer arithmetic) < 1565249482 159516 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, maybe lookahead SAT solvers are a bit closer to the kind of thing I was thinking of. < 1565249500 525873 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's not really a bound, though. < 1565249650 692795 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ 0j_2": (9<.@%~_1+10x^50) -~ 11111111111111111400018389711831195436675393750000 < 1565249651 385790 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 1.30e33 < 1565249653 194270 :int-e!~noone@int-e.eu PRIVMSG #esoteric :afaiui lookahead is just another heuristic for selecting promising decisions. < 1565249662 555633 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :nice < 1565249674 477263 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ 0j_2": (9<.@%~_1+10x^50) -~ 11111111111111111215673466122483207680856045806875x < 1565249675 175723 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 1.05e32 < 1565249677 571907 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :even better < 1565249683 76927 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :[ q: 11111111111111111215673466122483207680856045806875x < 1565249683 772332 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :b_jonas: 3 3 3 3 3 5 5 5 5 7 7 7 7 7 11 11 11 11 13 13 13 13 13 13 13 13 17 19 31 37 37 37 37 43 47 47 47 67 67 97 97 103 < 1565249698 766142 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, it's a different thing. < 1565249719 614234 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :I'll try to run this search with different parameters on a faster machine < 1565249867 455169 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :shachaf: http://esolangs.org/logs/2019-08-02.html#lY < 1565249935 357226 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Aha. < 1565250057 754641 :int-e!~noone@int-e.eu PRIVMSG #esoteric :b_jonas: http://paste.debian.net/1094920/ has some more results and runtime on a i7-6850K (3.6GHz, single-threaded, written in Haskell, exact arbitrary precision integer arithmetic) < 1565250126 100040 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu PRIVMSG #esoteric :int-e: I don't want to look at spoilers yet < 1565250135 927581 :int-e!~noone@int-e.eu PRIVMSG #esoteric :b_jonas: it's only numbers and runtimes < 1565250195 572013 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(And spoils the fact that I have tried two different approaches... I don't really think that's a spoiler :) ) < 1565250668 344260 :b_jonas!~x@catv-176-63-24-59.catv.broadband.hu QUIT :Quit: leaving < 1565251962 474010 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 244 seconds < 1565252047 275940 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1565252064 516408 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1565252795 16552 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is "rep ret" necessary only when the ret is on an even address? < 1565252803 132597 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Also is it necessary at all nowadays or only for old AMD CPUs? < 1565252812 944502 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or maybe I mean odd. Whichever one I mean. < 1565252951 849842 :int-e!~noone@int-e.eu PRIVMSG #esoteric :"Continuing in the following generation of AMD CPUs, Bulldozer, we see that any advice regarding ret has disappeared from the optimization guide." < 1565252963 770498 :int-e!~noone@int-e.eu PRIVMSG #esoteric :according to http://repzret.org/p/repzret/ < 1565252990 465038 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Probably not. < 1565252995 729824 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Obviously the AMD manuals are the authorative source. < 1565253075 881964 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, I generally only look at the Intel manuals. I guess I should read the AMD ones too. < 1565253083 87153 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(Not that I look at the optimization guide hardly ever.) < 1565253105 542720 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :when are people going to scrap x86 twh hand < 1565253120 202875 :cpressey!~cpressey@5.133.242.4 JOIN :#esoteric < 1565253140 182006 :int-e!~noone@int-e.eu PRIVMSG #esoteric :maybe when Intel goes out of business. < 1565253219 966185 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I imagine Intel could do pretty well at other architectures if it came to it? < 1565253259 456124 :int-e!~noone@int-e.eu PRIVMSG #esoteric :but why would they switch away from x86 < 1565253300 725796 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think "the world switching away from x86" is more likely than "Intel going out of business" < 1565253313 324380 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Though maybe not. Companies can be ephemeral. < 1565253323 314853 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I'll believe it when it happens. < 1565253344 404861 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The world's most popular operating system is already almost exclusively ARM. < 1565253485 516213 :int-e!~noone@int-e.eu PRIVMSG #esoteric :\any architecture with LLVM support is viable these days. < 1565253507 699065 :int-e!~noone@int-e.eu PRIVMSG #esoteric :So the popularity of ARM is still no reason for Intel to switch away from x86. < 1565253511 746268 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Uh oh. < 1565253519 174538 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If I write a compiler should I target LLVM? < 1565253532 840754 :int-e!~noone@int-e.eu PRIVMSG #esoteric :probably < 1565253591 20100 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, there were a few things where I wasn't sure LLVM could really do the things I want. < 1565253594 580781 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But maybe it's feasible. < 1565253610 63153 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :x86 is still huge for gaming < 1565253714 194531 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Are there any standards like calling conventions or whatever for software that wants to be sure to avoid stack overflow? < 1565253724 669060 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :For example, a pointer to the end of the stack that it can check. < 1565253811 674122 :int-e!~noone@int-e.eu PRIVMSG #esoteric :guard pages? < 1565253881 124275 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Presumably programs would like to fail better than a SEGV. < 1565253910 934855 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Meh you're so hard to please. < 1565253936 446105 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :For example to guarantee success before starting a computation rather than crashing in the middle. < 1565253942 202152 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This seems pretty basic. < 1565253958 217709 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Recursion is the only case where you might need a dynamic check. < 1565254139 778952 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Also, are there any clues for why the REX bits are called W R X B? < 1565254139 995029 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: You want to be able to call code from external libraries and you want to be sure to avoid stack overflow? < 1565254148 360268 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 JOIN :#esoteric < 1565254153 601917 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`ping < 1565254154 491073 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :pong < 1565254168 861555 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: Ideally I'd like this to work across library boundaries, yes. < 1565254287 789493 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: You do seem to be asking a lot < 1565254411 491996 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: I don't know about the ret instructions specifically, but you should look them up in the optimization manuals for your target cpu at "https://software.intel.com/en-us/articles/intel-sdm" and AMD, and in Agner's optimization manuals at "http://www.agner.org/optimize/" if you care < 1565254457 332371 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: I guess my wisdom entry is correct tonight. < 1565254460 881441 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: OK, so I have this computation, and in the middle it loads a shared object and calls the symbol `foo` in it. You want to guarantee this will not overflow the stack. You want this guarantee *before starting it*. < 1565254481 172515 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :That's all I mean by asking a lot < 1565254489 594628 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, I see. < 1565254507 163791 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: If all your functions are non-recursive and non-indirect, this can just be in the type of foo. < 1565254527 217325 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess it's a problem with shared libraries but shared libraries aren't so great in the first place. < 1565254539 243709 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :If you have control over foo and access to information about it in the compiler, just track the stack size in the compiler, you don't need dynamic checks < 1565254552 507315 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :If you don't have control over foo, all bets are off < 1565254561 332201 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You need something like dynamic checks if you want to support recursion. < 1565254598 66558 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :OK so you have a general recursive function and you want a guarantee *before calling it* that it will terminate < 1565254598 886695 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Besides, you at least need a dynamic check at program startup or something. < 1565254609 138881 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :No, I want it to be able to fail gracefully. < 1565254624 185722 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :For example maybe I only want to support bounded recursion where it can decide on the bound up-front. < 1565254679 981112 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's true that I hadn't thought carefully about dynamic libraries, they're kind of tricky because they're all indirect jumps. < 1565254712 395889 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Then your "calling convention" is to keep track of the recursion count and "fail gracefully" (however you define that) if the call would mean the count is exceeded < 1565254713 289816 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You can have a standard calling convention where dynamic calls are guaranteed 8kB or whatever of stack space, and if they want more than that they can do a dynamic check. < 1565254732 649470 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Right. There are a lot of things that are more graceful than SEGV. < 1565254763 120671 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :shachaf: that would make it tricky to have dynamic calls which make dynamic calls < 1565254764 529110 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :"why the REX bits are called W R X B" => R for "register" because it extends the field that usually specifies a register operand (though sometimes chooses between instrs), X for "index" because it extends the field that gives the (scaled) index register for memory operands, B for "base" because it may extends the field that gives the base register < 1565254765 28543 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :(though may also extend the other register operand for reg-reg instructions), and W for "word" because it can determine word size between 32 and 64 bits < 1565254785 671925 :relrod!~relrod@redhat/relrod QUIT :Ping timeout: 268 seconds < 1565254800 25888 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :of course sometimes some of those mnemonics are meaningless, because in some instructions some of the bits are ignored or must be zero < 1565254803 879677 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: Hmm, maybe. How frequent is that? < 1565254813 872648 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I don't know < 1565254815 87008 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :wob_jonas: Aha. Thanks. < 1565254828 406704 :relrod!~relrod@origin.elrod.me JOIN :#esoteric < 1565254830 402669 :relrod!~relrod@origin.elrod.me QUIT :Changing host < 1565254830 428155 :relrod!~relrod@redhat/relrod JOIN :#esoteric < 1565254834 455129 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :relrod: helrod < 1565254888 2854 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think dynamic linking is mostly a bad idea for many reasons, but this one can go on the list. < 1565254907 651008 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I think dynamic linking is mostly a good idea < 1565254964 215565 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :imagine having to reinstall every fricking executable on my debian whenever some bug is fixed in one of the frequently used libraries that is currently a shared library < 1565254992 118025 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :you may still want to link some things statically of course < 1565255013 334573 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What if the bug fix requires an API change? < 1565255082 663226 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :That's quite rare, in my experience < 1565255181 107594 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I feel like you're describing an infrequent case with a relatively small benefit, though I don't know. < 1565255188 940613 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: You really have to convince people... C/C++ users foremost... that failing more gracefully than producing a segmentation fault is actually desirable and useful. For that, you have to figure out what that more graceful way would be, especially in the context of C (C++ has exceptions, arguably that makes it easier to do something useful.) < 1565255192 649352 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This only really matters for security bugs probably. < 1565255215 96704 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: Returning an error? < 1565255228 45365 :int-e!~noone@int-e.eu PRIVMSG #esoteric :returning an error from where? < 1565255238 553369 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The call that ran out of stack space. < 1565255245 989892 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I'm invoking a void foo() < 1565255255 282174 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If foo can fail its return type shouldn't be void. < 1565255279 571369 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I don't think you'll convince anybody that way. < 1565255280 835138 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :If you "fail gracefully" remember to clean up all the resources you allocated... and hope the cleanup code doesn't also need to "fail gracefully" < 1565255296 907843 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This sort of thing seems like a basic requirement for reliable software? < 1565255308 229490 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Nobody's going to go over millions of lines of code base with void functions and change them. < 1565255316 999141 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, I only mean for new programs. < 1565255321 431508 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(should write billions) < 1565255332 992450 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :no, it really depends on what software it is < 1565255336 918826 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Existing software can keep using guard pages if you want, I just want my programs to be reliable. < 1565255352 481056 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :in most cases, in programs I write, most errors don't have to be handled gracefully, I don't have to clean up anything, just print an error message and exit < 1565255370 286948 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :then I find the very few actual errors that will happen often, and handle those < 1565255370 833566 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Well for your own programming language you can define your own ABI. < 1565255383 802716 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :this is because I mostly write programs for research, not for production < 1565255385 445686 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: I mean, sure, these are problems, but they're problems you already have to solve to write reliable and resilient software. < 1565255395 917715 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: I will! I'm just wondering whether this exists anywhere. < 1565255400 519094 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(Did you know that LLVM knows about GHC's calling convention?) < 1565255400 844069 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :so only I run them, and I will edit and rerun them when they hit a case that I don't handle < 1565255413 880332 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it would take four times as long if I tried to handle every possible error gracefully < 1565255423 661626 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: Erlang promotes writing reliable and resilient software by *expecting* that processes will sometimes crash < 1565255438 802884 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: Here's an example of a bug that came from not having clearly defined stack bounds: https://marcan.st/2017/12/debugging-an-evil-go-runtime-bug/ < 1565255447 501341 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(I didn't up to a short while ago. I have not checked the details.) < 1565255451 810851 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and most of those errors are either detecting internal logic bugs in my program, or warning me that the input has something that I thought it didn't have and so I don't have code to read it properly < 1565255459 678902 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :That seems far simpler that trying to guess all the ways they might crash and all the cases you need to would need to handle to make them "fail gracefully" < 1565255460 713998 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cpressey: But it doesn't expect individual function calls to crash. < 1565255480 386290 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Certainly the thing you're talking about is important for building a large resilient system. < 1565255494 537515 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But it's not going to be a fractal system where you expect every instruction to potentially fail. < 1565255494 665004 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: exactly, which is why I don't have to do cleanup for the errors in particularly, because I expect they can fail in ways that I don't expect so whatever that causes I have to be able to clean up too < 1565255497 983279 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: Individual function calls can raise an exception, which, if unhandled, causes the process to crash < 1565255512 532819 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Exceptions are almost certainly a bad idea for reliable software. < 1565255524 402470 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(And probably for other software?) < 1565255536 230458 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :so I store the data on the file system in such a way that I can recover from the state I can get from a crashed process or power failure < 1565255558 662845 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: only _handling_ an exception is usually a bad idea < 1565255558 807667 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: exceptions solve the API problem presented by functions that cannot return an error condition. < 1565255563 100307 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: I did know that they had something though not the exact details. I was under the impression it was some small subset of the GHC calling convention. < 1565255570 63413 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :raising an "exception" that's actually a fatal error that you can't catch is not a bad idea < 1565255574 165486 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it's just strange terminology < 1565255598 703110 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: They don't, because if you want your software to be reliable you need to be able to reason about all the ways control flow could go. < 1565255617 332792 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So "void foo();" only makes the control flow harder to see. < 1565255626 380808 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: I really don't know details. I was surprised to find that LLVM knows anything about GHC at all. < 1565255638 528823 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: I can always walk into the server room and turn the computer off. How do you reason about that "flow control"? < 1565255646 589729 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(It does make sense. But I didn't expect it.) < 1565255655 435184 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: Maybe more to the point, you need a definition of "reliable". < 1565255690 436454 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: Arguably the proper way to handle stack overflows is to enlarge the stack. < 1565255727 877937 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int-e: Not forever! < 1565255741 403334 :int-e!~noone@int-e.eu PRIVMSG #esoteric :And the proper way to handle OOM is to pause the program until an engineer adds more memory to the computer. < 1565255742 742259 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean, you could say it's true forever, but now you need to handle out-of-memory errors on every function call. < 1565255755 280155 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What if your computer is in space or something? < 1565255811 850856 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: I've heard of aerospace engineering teams being forbidden to use recursive code. < 1565255814 754739 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I suppose for embedded systems you basically disallow recursion. < 1565255835 714965 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :And if you can't recurse, you don't even need a stack, really < 1565255862 441338 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Or, at least, you can statically determine how much of it you'll need. < 1565255886 573766 :relrod!~relrod@redhat/relrod PRIVMSG #esoteric :shachaf: hey :P /late < 1565255893 423925 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: how do you fail gracefully in that context? < 1565255901 830228 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Which context? < 1565255906 570592 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: space crafts < 1565255914 889246 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, you probably disallow recursion. < 1565255961 988841 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I guess you have non-mission-critical stuff which you can afford to process on a best effort basis. < 1565256057 58229 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It seems to me like it's easy to turn a system that's reliable and predictable into one that isn't (e.g. by adding useful features), but it's impossible to go the other way. < 1565256110 823957 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I certainly think it's reasonable for a program to want to allocate all its memory up front so it can avoid malloc errors. < 1565256122 105377 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(Not that that's realistic on Linux.) < 1565256174 203855 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: I was serious when I said you should define "reliable". < 1565256197 56969 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It's much easier to hit an explicitly identified target. < 1565256237 656826 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's true. < 1565256253 480842 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't have a comprehensive definition or anything. I guess there are things like https://en.wikipedia.org/wiki/MISRA_C < 1565256288 658407 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It seems easy enough to point out a particular way that software could fail and say that eliminating it would make it more reliable. < 1565256314 162686 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :shachaf: Are you making up a new language for this, or an existing one, or slightly modifying an existing one? < 1565256359 989980 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Let's say making up a new language. < 1565256365 669893 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But also wondering about existing systems? < 1565256749 873430 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :If you're making up a new language then you have a lot more freedom to design it to try to solve some of the problems at the language level. < 1565256774 910523 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Neat. Like what? < 1565256820 522546 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm thinking: End of stack pointer is stored somewhere and available for checking for dynamic cases. < 1565256832 651560 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :To go back to what you said about bounded recursion, you could make the language only allow bounded recursion, instead of checking if a function exceeds some recursion bound at runtime < 1565256846 880080 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Function types are annotated with maximum stack usage, so if the call graph is acyclic everything can be solved statically. < 1565256875 563056 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Only allowing bounded recursion seems like a pretty strong constraint. < 1565256912 911435 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean, especially if it has to be statically bounded (rather than e.g. bounded by an argument). < 1565256922 555922 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :So you want to allow unbounded recursion but you also want it to be reliable < 1565256953 501708 :int-e!~noone@int-e.eu PRIVMSG #esoteric :He wants a Turing Machine... well okay... a RAM machine. < 1565256999 615121 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Ah pronouns. < 1565257002 724812 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`? shachaf < 1565257003 868282 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :Queen Shachaf of the Dawn sprø som selleri and cosplays Nepeta Leijon on weekends. He hates bell peppers with a passion. He doesn't know when to stop asking questions. We don't like this. < 1565257015 991097 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Queen/He. Okay, mystery solved. < 1565257053 590361 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I want to allow programmers to do what they want, and make it easy to do the reasonable thing. < 1565257107 932553 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think dynamic checks are pretty reasonable. Say you have a recursive function to search a tree or something, and you run out of stack space. You return an error. That seems fine to me? < 1565257132 380744 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`` dowg | grep Queen < 1565257135 52835 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :11837:2019-06-17 `` perl -pi -e\'s/Bond\\K/, Queen Elizabeth the first/\' wisdom/p*aneb* \ 9872:2016-12-05 slwd shachaf//s/^/Queen / \ 7390:2016-04-14 le/rn victoria/Queen Victoria is the most victorious queen the world has ever known, even having won at the not dying contest. < 1565257183 239113 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :what? < 1565257189 352583 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :was that really me? < 1565257201 793911 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :oh, I do remember that < 1565257219 597171 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it's just strange that I used \K < 1565257234 502229 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :All the things I'm saying are kind of exploratory, but this is my general attitude. I don't want to make it impossible to avoid these things, I just want the mechanism to be available. < 1565257271 252865 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :perl -pi -e presumably makes perl generate a position-independent executable < 1565257311 584181 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: presumably, since this is x86_64 so executablesa re position-independent by default < 1565257447 649446 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But perl doesn't normally generate an executable in the first place. < 1565257475 849056 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :well, then it's doubly redundant < 1565257507 760510 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't know why I'm a queen but I guess I'll take it. < 1565257540 780797 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :ask boil̈y < 1565257572 614051 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`` echo wisdom/p*aneb* < 1565257574 57039 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :wisdom/people who taneb is not < 1565257588 56456 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: seems you have fungot to thank for that one < 1565257589 908057 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`? people who taneb is not < 1565257590 951325 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :elliott, a rabbi, Mark Zuckerberg, James Bond, Queen Elizabeth the first. Pending approval: Shigeru Miyamoto. < 1565257614 540343 :int-e!~noone@int-e.eu PRIVMSG #esoteric :shachaf: https://esolangs.org/logs/2016-12-05.html#lRl < 1565257616 554594 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: Which rabbi are you not? < 1565257655 304512 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :shachaf: the one from Fiddler on the Roof < 1565257670 385945 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Shouldn't you be in bed right now < 1565257688 878075 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I never saw that. < 1565257701 962927 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But a few days ago I sang some of the songs from it, in Bodega Bay. < 1565257702 917139 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Neither have I, but I was once in a production of it < 1565257706 595748 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`quote elizabeth < 1565257707 220415 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :992) I've also pretended to be Queen Elizabeth the first, but that was a desperate plea for attention < 1565257710 21605 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I played the rabbi < 1565257735 3393 :int-e!~noone@int-e.eu PRIVMSG #esoteric :`` wc -l quotes < 1565257735 722637 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :1333 quotes < 1565257737 678119 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :wob_jonas: I can picture exactly where I was when I pretended to be Queen Elizabeth the first < 1565257741 580987 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :`quote 1333 < 1565257742 519943 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :1333) `unidecode ⧸🙼 ​[U+29F8 BIG SOLIDUS] [U+1F67C VERY HEAVY SOLIDUS] it is with a very heavy solidus that i write to inform you that unicode has too many code points < 1565257778 156873 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Does `quote special case numbers? or does it just find all the quotes that mention the number < 1565257783 258841 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :dunno < 1565257788 587043 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`quote 1 < 1565257789 222934 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :1) EgoBot just opened a chat session with me to say "bork bork bork" < 1565257802 982591 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Seems like the former. < 1565257815 941790 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :``which quote < 1565257819 968302 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: `which: not found < 1565257824 557105 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`cbt quote < 1565257826 5445 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​#!/bin/sh \ allquotes | if [ "$1" ]; then \ if expr "$1" + 0 >/dev/null 2>&1; then \ sed "$1q;d" \ else \ grep -P -i -- "$1" \ fi \ else shuf --random-source=/dev/urandom -n 1; fi < 1565257870 66304 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What's shuf's normal random-source? < 1565257872 913038 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :Yeah, that looks like it's special casing numbers < 1565257899 13817 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`` allquotes | strace -fo tmp/OUT shuf -n 1 < 1565257899 935524 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :326) Hmm. I guess it's nearby GRBs that would be problematic? Sgeo, if by 'problematic' you mean 'what's that in the AAAAAAAAARRRRRGGGGHHHH'. < 1565257901 787217 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`url tmp/OUT < 1565257902 555088 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :https://hack.esolangs.org/tmp/OUT < 1565257918 105378 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That looks like urandom. < 1565257934 534130 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`1 dobg quote < 1565257938 67119 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :1/1:9771:2016-11-24 sled bin/quote//s,shuf,shuf --random-source=/dev/urandom, \ 978:2012-12-09 revert \ 977:2012-12-09 cp bin/quote bin/realquote; echo -n $'#!/bin/sh\nsleep 1\nrealquote "$@"\n' > bin/quote \ 0:2012-02-16 Initïal import. < 1565257951 396285 :int-e!~noone@int-e.eu PRIVMSG #esoteric :oer < 1565257965 485325 :int-e!~noone@int-e.eu PRIVMSG #esoteric :hah. perhaps there was an older version of `shuf` that used /dev/random instead? < 1565257992 631775 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: I heard there are questions that cross your eyes when posed. Is that true? < 1565258071 277022 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`quote 2011 < 1565258071 915936 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1565258084 640276 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Looking at the logs from that time, oerjan was spreading false rumors about /dev/urandom. < 1565258092 270024 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :shachaf: I believe so. "Can you cross your eyes?" might make me cross my eyes when posed < 1565258107 657222 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`quote 124 < 1565258108 359144 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :124) I love logic, especially the part where it makes no sense. < 1565258116 670235 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :yes, it special-cases numbers < 1565258118 930409 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`quote 124 < 1565258119 539505 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :64) Note that quote number 124 is not actually true. < 1565258167 627793 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`q 124 < 1565258169 827264 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :124) I love logic, especially the part where it makes no sense. < 1565258170 289467 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`' 124 < 1565258172 400215 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :124) I love logic, especially the part where it makes no sense. < 1565258173 157879 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`" 124 < 1565258174 501633 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :141) comex: what? *vorpal comex: hi, tab-complete completed c to comex instead of Vorpal, dunno why \ 237) okay see in my head it went, you send from your other number smth like "i'd certainly like to see you in those pink panties again" and she's like "WHAT?!? Sgeo took a pic?!?!?! that FUCKING PIG" < 1565258194 83307 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`quotes 124 < 1565258194 791919 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :124) I love logic, especially the part where it makes no sense. < 1565258265 419517 :atslash!~atslash@static.231.107.9.5.clients.your-server.de JOIN :#esoteric < 1565258321 411980 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess dynamic libraries calling other dynamic libraries is actually reasonably common. < 1565258355 291745 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If the whole system was built with this thing in mind, you could maybe do something fancy during relocation. < 1565258360 879785 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But that's almost certainly a bad idea. < 1565258375 462024 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Instead you should just ban dynamic libraries. < 1565258434 184263 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`fetch http://slbkbs.org/tmp/out.a tmp/out.a < 1565258439 66888 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :http:/slbkbs.org/tmp/out.a: No such file or directory < 1565258445 693485 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`fetch tmp/out.a http://slbkbs.org/tmp/out.a < 1565258447 792843 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :2019-08-08 10:00:46 URL:http://slbkbs.org/tmp/out.a [923/923] -> "tmp/out.a" [1] < 1565258454 253203 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`tmp/out.a < 1565258455 140891 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: /hackenv/tmp/out.a: Permission denied \ /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: /hackenv/tmp/out.a: cannot execute: Permission denied < 1565258460 441664 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`` chmod +x tmp/out.a < 1565258462 536615 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1565258464 546186 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`tmp/out.a < 1565258465 95080 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :finally < 1565258468 144024 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :finally < 1565258487 811266 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :that program is so good < 1565258492 318353 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`file tmp/out.a < 1565258493 86601 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :tmp/out.a: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped < 1565258547 659354 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: the system does do a lot of fancy things during relocation already. resolves strong symbols overriding weak symbols, has indirect function symbols that are resolved everywhere the first time they're called, etc < 1565258587 994246 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I want to generate a program that uses dynamic libraries, because that's the only way you can make software nowadays apparently. < 1565258597 57685 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So I just want it to do the minimum possible. < 1565258614 646694 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: you know you can mix and match stuff, link some libraries statically and some dynamically < 1565258628 354736 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes. But some things you have to link dynamically. < 1565258634 9911 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :yep < 1565258676 912332 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :On Linux I think it's pretty much only OpenGL and Xlib, and their dependencies such as libc. < 1565258720 555329 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :On Windows system calls are only available via dynamic linking. < 1565259292 635392 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :By the way, one reason I care about this stack usage thing is that it's relevant for implementing efficient coroutines. < 1565259521 695986 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: you probably already know this, but ais523 is the person to ask about this < 1565259543 918034 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That makes sense. < 1565259567 650828 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Except for the part where ais523 isn't here right now. < 1565259876 8764 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :In a desktop context, if a program starts using excessive amounts of stack space, what I'd like to see is the OS staying responsive, so that I can find the process and kill it. < 1565259913 234654 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, that's a good OS feature. < 1565259922 532491 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's pretty ridiculous how broken things are. < 1565259923 409751 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :The program shouldn't be responsible for deciding what "excessive amounts" are, so it's an OS-domain thing. < 1565260047 636 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: you can set a soft ulimit, in which case the program gets a signal < 1565260069 894759 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That seems like a point about memory consumption in general (of which "the stack" should only be a tiny fraction). < 1565260085 846192 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Of course stacks are just regular memory. < 1565260094 831425 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: there's a specific setrlimit for stack space < 1565260157 82022 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sure, but you can put your stack pointer wherever you want. < 1565260207 87262 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The limit only applies to the "process stack" and not thread stacks anyway, I think. < 1565260714 525930 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 272 seconds < 1565260805 652787 :john_metcalf!~digital_w@host86-139-94-170.range86-139.btcentralplus.com QUIT :Quit: http://corewar.co.uk < 1565260947 571677 :int-e!~noone@int-e.eu PRIVMSG #esoteric :salpynx: https://en.wikipedia.org/w/index.php?title=Iota_and_Jot&diff=909854762&oldid=909568636 -- I didn't know that "comprised of" was so difficult :-/ < 1565261200 435629 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't know what it means to compose sequences, so that seems less clear to me. < 1565261363 500243 :int-e!~noone@int-e.eu PRIVMSG #esoteric :https://en.wikipedia.org/wiki/User:Giraffedata/comprised_of <-- that user is on a vendetta against this usage. < 1565261406 725832 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Using that word correctly always sounds wrong to me, so I just avoid it entirely < 1565261428 831816 :int-e!~noone@int-e.eu PRIVMSG #esoteric :But the new phrasing isn't accurate either. < 1565261432 109455 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"consists" seems better. < 1565261472 447842 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's true that "comprise" is more often used in the reverse sense. < 1565261557 15690 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ACTION rephrases to "consisting of" < 1565261565 371249 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: frankly I don't know how it works, but my guess is that it applies to the total of all stacks < 1565261576 560218 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It seems not. < 1565261581 115277 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the kernel knows which mappings are stacks because they're set to auto-grow downwards < 1565261587 705849 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That would certainly be unexpected to me. < 1565261601 441388 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What does it mean for stacks to auto-grow downward? < 1565261615 920872 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Compared to memory which is mapped and gets faulted in on demand. < 1565261621 715481 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Do you mean stack memory gets mapped on demand? < 1565261634 562068 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :that if you write in a part near the bottom of the stack, its size is extended < 1565261638 828873 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but I might be completely wrong here < 1565261655 954268 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :maybe that applies only to x86_32, where the address space is sparse < 1565261663 389344 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :s/sparse/tight/ < 1565261670 722982 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :let me see < 1565261688 607149 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If it's tight that might mean people map memory near the stack, in which case you're saying the auto-growing stops? < 1565261700 842053 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :My impression was that a fixed amount like 8MB was mapped at startup and that's that. < 1565261751 862881 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: yes, but the mappings are placed in the address space a semi-smart way so that won't happen often < 1565261830 647706 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: there's a MMAP_GROWSDOWN flag of mmap for autoextending, but it's possible that it's not actually used for stacks < 1565261839 585197 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :http://man7.org/linux/man-pages/man2/mmap.2.html < 1565261871 80509 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :"Touching an address in the "guard" page below the mapping will cause the mapping to grow by a page. This growth can be repeated until the mapping grows to within a page of the high end of the next lower mapping, at which point touching the "guard" page will result in a SIGSEGV signal." < 1565261873 86795 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it says < 1565261888 436189 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :wob_jonas: It's hard to imagine what that would be used for *besides* stacks < 1565261902 370430 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: the manpage explicitly says that it's for stacks < 1565261916 193933 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but it's possible that it's not used at all these days, < 1565261925 146333 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :or only on certain old architectures < 1565261932 548821 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :or old types of executables or somethin < 1565261950 656423 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but here's the problem: < 1565261963 803213 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :``` grep stack /proc/$$/maps < 1565261964 476680 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :7fbfb9a000-7fbfbbb000 rw-p 00000000 00:00 0 [stack] < 1565261976 265354 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the flags field is 0, so it doesn't actually grow down < 1565262013 777318 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :do we have a typical libc-based x86_32 executable somewhere on hackeso so we can test how that behaves? < 1565262100 119750 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :so I'm probably wrong about this < 1565262206 434508 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"After some tests on an x84_64 Debian machine, I've found that the stack grows without any system call (according to strace)." < 1565262218 409681 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :https://unix.stackexchange.com/questions/145557/how-does-stack-allocation-work-in-linux < 1565262270 493568 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :sure, but does it grow the mapping, or does it just fault in MAP_NORESERVE pages? < 1565262309 24982 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :``` perl -e print(0x7fbfb9a000-0x7fbfbbb000) < 1565262309 643307 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :bash: -c: line 0: syntax error near unexpected token `(' \ bash: -c: line 0: `perl -e print(0x7fbfb9a000-0x7fbfbbb000)' < 1565262316 488161 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :``` perl -e 'print(0x7fbfb9a000-0x7fbfbbb000)' < 1565262317 326741 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​-135168 < 1565262328 367484 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :that's definitely not 8 megabytes < 1565262444 622639 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :wob_jonas: Thinking about it, it's hard to imagine the kernel implementing MAP_GROWSDOWN in a way that doesn't involve a fault. Well, maybe on some hardware, but...? < 1565262472 244541 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I guess it's there to give the kernel the freedom to implement it one way or another, depending on hardware? < 1565262511 142781 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It seems like another bizarre way to make things unpredictable. < 1565262513 22353 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :And, the flag should still be shown in /proc/'s view of it? < 1565262518 285239 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Idk < 1565262521 223207 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What if someone accidentally maps pages near the current end of the stack? < 1565262531 62718 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: of course it involves a page fault. everything involves a page fault, including allocating mapped pages that weren't used before, or bringing pages in from swap, or just the kernel doing whatever at whim. but the page fault is handled in the kernel, it never raises a signal visible to the process. < 1565262561 919761 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the process can technically tell whether a page is mapped, but it should not do that except for performance optimizations or debugging < 1565262572 715492 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :faulting pages in is mostly invisible in small amounts < 1565262599 424758 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :obviously it's visible when firefox fills up all my ram and my hard disk starts whirring and the whole system freezes to a halt < 1565262604 920727 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but extending the swap a little won't involve that < 1565262609 573685 :int-e!~noone@int-e.eu PRIVMSG #esoteric :hmm that is fairly round, 128k plus 4k < 1565262671 554828 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf => they won't, because the kernel and libc has heuristics and knobs in sysctl for what address range to map things at, so a single-threaded stack is mapped in places where you can't *accidentally* map something below (you can map something deliberately, but that's your problem), < 1565262701 907783 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :wob_jonas: Well, trying to answer shachaf's question, "What does it mean for stacks to auto-grow downward? Compared to memory which is mapped and gets faulted in on demand." -- it does get faulted in on demand, by the kernel, transparent to the userland process < 1565262706 273144 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :wob_jonas: OK, I tested it and it does indeed grow. < 1565262707 799961 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :for multi-threaded it's the problem of the thread library and you may have to specify a hint for the stack space you need if you are starting LOTS of threads, but then you shouldn't start lots of threads < 1565262715 967140 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: on what architecture? < 1565262719 218210 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :amd64 < 1565262728 343718 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I see < 1565262751 552181 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :anyway, on x86_32 this made sense because the address space was small, and some processes used lots of stack while others used lots of heap < 1565262763 364281 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I could imagine a userspace implementation of growing the stack, that the compiler handles via signals or something, but... why? < 1565262796 736015 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :on x86_64 right now it's less important, because we have significantly less RAM than address space, but this may change in our lifetime < 1565262826 974554 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: yes, you can do such a stupid thing. there is an interface for handling SIGSEGV gracefully, but it's hard to get right and good only for silly tricks < 1565262835 113904 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :esoteric tricks really < 1565262873 42296 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the kernel gives the process all the info about the segfault that it knows in the sa_siginfo or whatever that's called, so the process can know where the fault is < 1565262898 993242 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :you can implement user-space swapping that way, or unusual garbage collectors < 1565262925 226467 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Tbh, I hate memory mapping and signals. As abstractions. They're ugly. They're performant, so I see why they're used, but that doesn't mean I have to think they're pleasant. < 1565262943 257802 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but it's a magnitude more dangerous than just the usual cases when you try to do something nontrivial in a signal handler < 1565262966 451836 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: yes, which is why we usually don't do esoteric tricks like this unless they're really needed < 1565263018 469910 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :int-e: whoa, I thought that edit was a minor phrasing maybe-improvement, but it comes with an essay and it's own project? I'm going to have to read the essay and see if I agree with their point, I have no strong opinion. Correct logic relating to the subject is more important. < 1565263024 647497 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`` echo $'#include \n#include \n#include \nchar buf[1024]; void print_stack() { FILE *f = fopen("/proc/self/maps", "r"); while (fgets(buf, sizeof buf, f) != 0) { if (strstr(buf, "[stack]") != 0) { printf("%s", buf); break; } } fclose(f); } int main(int argc, char **argv) { while (1) { print_stack(); alloca(1024); } return 0; }' >/tmp/f.c;gcc -o /tmp/f /tmp/f.c;/tmp/f>tmp/OUT < 1565263025 332145 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :we just let the kernel guys handle swapping, whether it's swapping to disk, to compressed RAM, or (sigh) to network < 1565263027 855709 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​/hackenv/bin/`: line 5: 63 Segmentation fault /tmp/f > tmp/OUT < 1565263031 121933 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`url tmp/OUT < 1565263031 909920 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :https://hack.esolangs.org/tmp/OUT < 1565263058 954259 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :``` perl -e 'print(0x7fbf0d2000-0x7fbf8cf000)' < 1565263059 688502 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​-8376320 < 1565263078 456849 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :8675309 bytes is the maximum. Figures. < 1565263087 471157 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'll stick to writing interpreters in Haskell where I can pretend everything is just math. Beautiful, beautiful math. Which I am bad at. < 1565263095 768838 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: I think that may depend on sysctl stuff and perhaps setrlimit < 1565263123 63258 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Nope, it's always that number. < 1565263139 123312 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: yeah, that aligns with the general good advise to not optimize prematurely < 1565263152 556839 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :No it doesn't? < 1565263162 702566 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean, depends on what you're doing. < 1565263166 168843 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: but this is #esoteric so we sometimes talk about silly optimizations < 1565263229 575186 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: dude, just last evening I made a program to search solutions to int-e's problem in python, even though that means that the integers take like 128 bytes of memory rather than just the 24 or 32 bytes that I would need in C++ < 1565263234 531027 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the whole thing is sluggish < 1565263239 176491 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I should rewrite it in C++ < 1565263254 873038 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but I did at least get preliminary results, and know what my inner loop is and what I would have to rewrite if I wanted to do it better < 1565263270 251976 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :wob_jonas: I presume that int-e's problem is something other than "someone edited my Wikipedia edit to not use 'comprised of'" < 1565263291 996937 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :Taneb: http://esolangs.org/logs/2019-08-02.html#lY < 1565263324 392135 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :wob_jonas: The arguments you made about 32-bit stack usage don't work together. < 1565263349 741816 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: why? < 1565263364 617027 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If it's designed the way it is to save on address space, you might accidentally map something into that area (by using the rest of your address space). < 1565263380 707929 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: no you can't. < 1565263385 197577 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So it could certainly be an accident, in exactly the cases that it's supposed to be helping. < 1565263401 78107 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If accidental mappings into that area can't happen, why not just pre-map the whole region? < 1565263408 747819 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: as a simple model, assume that the stack is mapped near the top of the user address space, and everything else is growing from the bottom of it < 1565263438 766262 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: we don't premap because we don't know if you'll have 256 M of stack and 256 M of heap or 2M of stack and 500 M of heap in an 1G address space < 1565263456 789876 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :wob_jonas: does it have to have all those numbers as prime factors, or just some subset of them? < 1565263480 768400 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Just a subset according to https://en.wikipedia.org/wiki/Smooth_number < 1565263493 836873 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :shachaf: but it's possible that it wasn't because of address space, but because when this was invented, they didn't have MAP_NORESERVE yet < 1565263509 104951 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :Taneb: just a subset, at least the way I interpreted it < 1565263525 435084 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :if it was all those numbers, you'd just have to divide the problem by one of each first and get a smaller problem < 1565263586 264071 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :Taneb: https://esolangs.org/logs/2019-08-08.html#lL is the best I got so far. I'll do a better search, but I'm busy with other things < 1565263607 951640 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: I should indeed be in bed right now. < 1565263700 923917 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :or maybe they didn't have a way to not allocate the supporting structures that take up like 1/1000 or 1/500 of the memory mapped, which could be a lot on old systems if you have 100 processes with 8M stack mapping each < 1565263830 43225 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :or maybe it's for some other historical reason that isn't worth to change now < 1565264087 983160 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`? oots < 1565264089 67031 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :oots? ¯\(°​_o)/¯ < 1565264090 850666 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`? o < 1565264091 989888 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :o is a popular comedy fantasy webcomic. It's about a group called the Order of the Stick, as they go about their adventures with minimal competence, and eventually stumble into a plan by an undead sorcerer to conquer the world, and they're out to stop him and conquer their personal problems at the same time. Hopefully not in that order. < 1565264615 508876 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :tfw an argument breaks out about whether the filename-selecting regex in the config file should be written as /^.*\.(ts|tsx)$/ or as /^.*\.tsx?$/ < 1565264805 923716 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the answer to that is obvious < 1565264849 503626 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`perl -e print(rand(2)<1 ? "it should definitely be written as /^.*\.(ts|tsx)$/" : "it should definitely be written as /^.*\.tsx?$/" < 1565264850 119884 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :syntax error at -e line 1, at EOF \ Execution of -e aborted due to compilation errors. < 1565264853 339535 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`perl -e print(rand(2)<1 ? "it should definitely be written as /^.*\.(ts|tsx)$/" : "it should definitely be written as /^.*\.tsx?$/") < 1565264853 961500 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :it should definitely be written as /^.*.tsx? < 1565264862 998807 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :argh < 1565264868 44206 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :`perl -e print(rand(2)<1 ? "it should definitely be written as /^.*\.(ts|tsx)\$/" : "it should definitely be written as /^.*\.tsx?\$/") < 1565264868 689439 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :it should definitely be written as /^.*.(ts|tsx)$/ < 1565264884 538040 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the other way is unclear and hard to read and should never be committed to production code < 1565265008 21439 :Melvar!~melvar@dslb-188-106-184-179.188.106.pools.vodafone-ip.de QUIT :Quit: rebooting < 1565265592 247388 :Melvar!~melvar@dslb-188-106-184-179.188.106.pools.vodafone-ip.de JOIN :#esoteric < 1565266208 450633 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ (q: , 0j_2": (9<.@%~_1+10x^50)&-) 11111111111269581656547160489766631945078430800000x < 1565266209 186135 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: |domain error < 1565266209 205173 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: | (q:,0j_2":(9<.@%~_1+10^50)&-)11111111111269581656547160489766631945078430800000 < 1565266219 165000 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ (0j_2": (9<.@%~_1+10x^50)&-) 11111111111269581656547160489766631945078430800000x < 1565266219 867152 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: _1.58e38 < 1565266230 179629 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ (q:) 11111111111269581656547160489766631945078430800000x < 1565266230 879301 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 2 2 2 2 2 3 3 3 3 3 5 5 5 5 5 7 7 7 7 7 7 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 13 13 13 13 13 13 13 13 19 19 19 19 19 19 19 29 < 1565266542 74111 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :^ int-e: that's the best you can get with prime factors up to 29 by the way < 1565266569 654823 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :int-e: The "regular language Jot" is a subset of "all sequences of 0 and 1" according to the definition of a formal language, if we understand 'all sequences' to also include the empty string. In this case 'all sequences of 0 and 1' is the whole, and contains Jot (a subset). So 'all.seq.0.1 contains Jot' => 'all.seq.0.1 comprises Jot'. Flip it to t < 1565266570 153764 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :he passive => "Jot is comprised of all all.seq.0.1" < 1565266585 749752 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :which is what you wrote originally with "Jot is the regular language comprised of all sequences of 0 and 1" < 1565266601 725077 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :salpynx: I think it's exactly the set of all sequences of 0 and 1 < 1565266643 594833 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Jot is a programming language, not a formal language < 1565266648 298489 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :As I understood it < 1565266673 280693 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :taneb: yes, that's the technicality that makes both versions equally awkward, but allows my somewhat contrived and cheeky justification to hold ;) < 1565266684 550611 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ (":@q: ,' | ', 0j_2":-&(9<.@%~_1+10x^50)) 11111111111194529560647830327114462838933000000000x < 1565266685 275598 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 7 7 7 7 7 7 11 17 17 19 19 19 19 19 19 19 19 19 23 23 23 23 23 29 71 | 8.34e37 < 1565266686 54026 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Unless all Jot does is accept or reject a program. In which case it's a set of strings, i.e. a formal language < 1565266703 636721 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :cpressey: yes, it's a programming language < 1565266706 801252 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :and in that case it's almost certainly not "any sequence of 0 or 1s" because that's not a very interesting language < 1565266742 839176 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ (":@q: ,' | ', 0j_2":-&(9<.@%~_1+10x^50)) 11111111111185248065004566815208736562760436940800x NB. so far this is worse than the lucky one that I got yesterday < 1565266743 547010 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 11 11 11 11 17 17 17 17 17 17 17 17 17 17 19 19 19 19 23 29 29 29 29 31 47 | 7.41e37 < 1565266763 676419 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :I believe the set of syntactically valid jot programs is equal to the set of all sequences of 0 and 1 < 1565266764 677737 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ (":@q: ,' | ', 0j_2":-&(9<.@%~_1+10x^50)) 11111111111161923559652900718659162521362304687500x < 1565266765 373564 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 7 7 7 7 7 7 11 13 13 13 17 17 17 17 17 17 23 31 59 | 5.08e37 < 1565266770 591065 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :int-e originally wrote "Jot is the regular language", so I was using that as a starting point < 1565266787 73953 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :taneb: that is correct < 1565266792 961445 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :https://esolangs.org/wiki/Jot "Every combination of 0's and 1's is a syntactically valid Jot program, including the null program." < 1565266800 474252 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :including the empty string < 1565266980 230647 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :taneb: your point re. them being equal is key, I was using 'subset' to deliberately (and misleadingly) imply 'proper subset', but rely on the technical meaning of S ⊆ S < 1565267027 907939 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I should make this program output the factoring so that I don't have to enter this command here < 1565267036 379032 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but then, this command "proves" that I'm not cheating < 1565267039 787698 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :The tone of the anti-"consists of justification < 1565267064 916698 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :made me want to construct some kind of argument to justify it on a technicallity < 1565267108 861319 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I think you can extend any programming language to have a syntax where any string of symbols is syntactically correct but results in some uninteresting semantics such as terminating immediately and producing no output < 1565267121 190515 :Taneb!~Taneb@runciman.hacksoc.org PRIVMSG #esoteric :cpressey: in Jot it's actually interesting < 1565267158 851516 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :there's an xkcd for this, effect an effect #326 < 1565267235 759948 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ (":@q: ,' | ', 0j_2":-&(9<.@%~_1+10x^50)) 11111111111140890057058176051913882460557854562500x < 1565267236 461751 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 3 3 5 5 5 5 5 5 7 7 11 11 11 11 11 11 11 11 13 13 17 19 19 19 19 19 19 19 19 19 19 19 19 19 19 23 23 23 23 29 29 59 59 | 2.98e37 < 1565267243 53140 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :still too big < 1565267317 141717 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Saying "There's an xkcd for this" is the modern version of quoting Bible verses. < 1565267505 791161 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Taneb: my point was trying to be something about how some languages have this thing called "syntax" and others don't and you can always take "syntax" away if you like. < 1565267559 723552 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It's like a front-line triage to eliminate a class of programs we think you won't be interested in running because we haven't defined any particularly interesting meanings for them < 1565267677 885212 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :cpressey: I think you're right, Jot isn't a formal or regular language, so that's a problem with the sentence. How would you phrase it to indicate that that some regular language all.seq.0.1 describes the syntax of Jot, which I think is the intended meaning < 1565267807 947016 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :"The syntax of Jot is comprised of the regular language comprised of..."? < 1565267895 429098 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :"Any sequence of 0's and 1's is a syntactically valid Jot program" ? < 1565267931 460367 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :there's a news article about this wiki editior: https://medium.com/backchannel/meet-the-ultimate-wikignome-10508842caad I think I shouldn't be trying so hard to counter their pet peeve < 1565267956 317877 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I'm deliberately trying to phrase it in a conversational, almost high-school level way < 1565268002 809264 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :But the smallest change to the page as I see it now might just be "The syntax of Jot is the regular language..." < 1565268005 632849 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :cpressey: that's constructive. I should go with that :) < 1565268085 758572 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :is a syntax 'equal to' a formal language? < 1565268132 167875 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :salpynx: Yes, I think that's fair to say. < 1565268213 878298 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :ok, I wasn't sure. We are in pedantic territory here, I wanted to be sure. < 1565268603 662017 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ try =: ":@q: ,' | ', 0j_2":-&(9<.@%~_1+10x^50) < 1565268604 330904 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: |ok < 1565268608 426055 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ try 11111111111122460609418029716397205124244969250000x < 1565268609 126489 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 11 11 11 13 13 13 17 17 17 17 17 17 17 19 19 19 29 29 29 29 29 29 29 29 29 29 83 97 | 1.13e37 < 1565268928 710909 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :"All sequences of 0 and 1 comprise the regular language that is the syntax of Jot." {0,1}* ⊇ Jot syntax "The syntax of Jot is the regular language comprised of all sequences of 0 and 1" Jot syntax ⊆ {0,1}* < 1565269312 207956 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :I'll stop now, and sleep on it before making any wiki edits. I was enjoying the counter-pedantry, not sure these really are good edits. Making the first edit and prompting the wiki user to convert it to the passive 'comprised of' version since Jot is the focus of the article would be funny. < 1565269332 195838 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :All languages are a bit silly. < 1565269420 599884 :salpynx!794954f8@121.73.84.248 PRIVMSG #esoteric :Strict natural language grammar only seems valid when the last natural speaker is dead. < 1565270007 620511 :int-e!~noone@int-e.eu PRIVMSG #esoteric :> let x = 11111111111111111215673466122483207680856045806875; y = 10^50 `div` 9 in (fromIntegral (x - y) :: Double, fromIntegral x - fromIntegral y :: Double) < 1565270012 166017 :lambdabot!~lambdabot@haskell/bot/lambdabot PRIVMSG #esoteric : (1.045623550113721e32,0.0) < 1565270097 264419 :howlands!gilesgate@sdf-eu.org JOIN :#esoteric < 1565270615 131001 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ try 11111111111269581656547160489766631945078430800000x < 1565270615 834424 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 2 2 2 2 2 3 3 3 3 3 5 5 5 5 5 7 7 7 7 7 7 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 13 13 13 13 13 13 13 13 19 19 19 19 19 19 19 29 | 1.58e38 < 1565270644 380098 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :yeah, I've seen that one already < 1565270709 932425 :int-e!~noone@int-e.eu PRIVMSG #esoteric :wob_jonas: this wasn't a new result; it was just an experiment how bad the cancellation with double precision would be :) < 1565270781 740025 :int-e!~noone@int-e.eu PRIVMSG #esoteric :11111111111269581656547160489766631945078430800000 is the optimum for the first 11 and 12 primes. < 1565270799 554350 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: sure, the one I entered isn't really new either, I just started a search with different parameters while the first one is still running (for an expected three more hours), and it found this while it's still searching the part of the search space that I've already searched fully < 1565270819 330150 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it will get in a disjoint part of the search space eventually though < 1565270833 609572 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :yeah < 1565270874 980039 :int-e!~noone@int-e.eu PRIVMSG #esoteric :But I couldn't make my approach for finding the optimum work beyond 15 primes. (I actually ran out of memory (32GB here).) < 1565270893 270751 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :sure, I'm not looking for the optimum with a given number of primes now < 1565270925 162339 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the three hour long search that I'm running could find solutions with 103 in them in theory < 1565270928 405843 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(restricting to the first n+m primes was the "first approach" in my paste) < 1565271163 644393 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the first search should eventually reproduce the best solution that I found during the night < 1565271429 634660 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ try 11111111111112819215968651733403643249992663040000x < 1565271430 320446 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 5 5 5 5 7 7 7 7 7 11 11 11 11 11 11 13 13 13 13 17 17 19 19 23 23 23 23 23 23 29 29 29 47 53 83 | 1.71e36 < 1565271440 950198 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I'm still afraid that that one was a lucky fluke by the way < 1565271482 538948 :int-e!~noone@int-e.eu PRIVMSG #esoteric :feel free to suggest a different target to check that theory :) < 1565271507 818026 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :no need, I can just modify my search if I want < 1565271512 621384 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it still takes lots of time < 1565271527 431187 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and my search is still an inefficient single-threaded python3 program < 1565271574 554175 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :it would probably become much faster if I rewrote it to an efficient C++ program < 1565271585 476675 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but I probably won't do that now < 1565271588 888213 :int-e!~noone@int-e.eu PRIVMSG #esoteric :what are you using for arithmetic? < 1565271596 217590 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :python's built-in integers < 1565271606 188786 :int-e!~noone@int-e.eu PRIVMSG #esoteric :so... gmp < 1565271609 760457 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :probably < 1565271623 527366 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Pretty sure that's what they use by default. < 1565271624 64959 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but note that most of the numbers are 1 or 2 or 3 words long, none longer than 3 words < 1565271634 297345 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Sure. < 1565271640 394436 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and I'm multiplying numbers so that the product doesn't exceed 3 words < 1565271691 368603 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I think the arithmetic isn't the slow part < 1565271698 614154 :int-e!~noone@int-e.eu PRIVMSG #esoteric :But you're right; this means that gmp is probably not the bottleneck here; the interpreter overhead should be significant. < 1565271722 227563 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but the numbers are larger than fits in a small int and so allocated randomly spreaded in the python heap < 1565271749 239718 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :so I have a lot of overhead on memory throughput < 1565271761 745369 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :or L3 cache throughput < 1565271796 210777 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :a proper prorgam would allocate these in a dense array, 32 or 24 or 16 bytes per number < 1565271832 453098 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :(16 bytes means that I use approximate numbers, which means I need extra code to track the exact values for when I find a hit, but it'd be the most efficient) < 1565271890 177180 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ try 11111111111111167179461296463398102111816406250000x < 1565271890 912067 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 2 2 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 11 11 11 11 13 13 13 13 13 17 19 19 23 23 23 23 23 23 23 23 53 61 73 | 5.61e34 < 1565271894 800770 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :this is the one I found yesterday, right? < 1565271925 218053 :int-e!~noone@int-e.eu PRIVMSG #esoteric :yes < 1565271928 91955 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :yeah < 1565271932 124075 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :ok, so the search reproduced it < 1565271960 829 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I should have added code to print anything better than say 1e40, to know if this is a fluke < 1565271978 322516 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :um, anything better than 1e38 rather < 1565271998 210022 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the code only prints the best found so far, so I won't know if it finds ten other 1e35 sized solutions < 1565272038 992777 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :although technically I could modify the main part of the code and continue from where I stopped it, but I don't want to do that now < 1565272401 38843 :salpynx!794954f8@121.73.84.248 QUIT :Remote host closed the connection < 1565272948 144593 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ try 11111111111111158344848599503479968356777700860000x < 1565272948 806844 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 5 5 5 5 13 13 13 13 17 17 17 17 17 17 17 17 17 19 19 19 19 19 19 19 19 19 19 31 89 103 | 4.72e34 < 1565272969 986749 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :now that one is new, and the best I've found so far < 1565272977 419212 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and, what do you know, 103 is a factor in it < 1565272997 298298 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: ^ > 1565273067 209377 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=65370&oldid=65322 5* 03A 5* (+2810) 10/* Blocked */ < 1565273225 697779 :int-e!~noone@int-e.eu PRIVMSG #esoteric :progress. > 1565273249 620749 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=65371&oldid=65370 5* 03A 5* (-606) 10/* Minimal J for Beginners */ < 1565273313 227545 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I wonder if I should try to make the memory access more predictable by really-deep-copying the large array, in the sense that I copy even the biginteger objects too (an unnatural operation on python) to have them reside mostly sequentially in memory < 1565273486 822202 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :Hmm... < 1565273504 908878 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :perhaps even 64-bit integers could be enough for the inner loop, and then recheck whenever I get an approximate match < 1565273517 682375 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :could I implement that in python? < 1565273520 746283 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :or 64-bit floats? < 1565273535 613876 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :yeah, 64-bit floats could work < 1565273636 786856 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :That would solve the problem of the inefficient allocation < 1565273650 765782 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :of course I'd still need to keep the array of exact numbers, but those would be rarely used < 1565273830 625784 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :wob_jonas: I almost hate to mention it but... I wonder how suited Julia would be for this < 1565273848 682232 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: yes, it would work too < 1565273859 988734 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I don't know how well the problem vectorizes, and it's not like vectorization is automatic < 1565273863 973444 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :and C++ would work well too < 1565273981 189365 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :cpressey: I don't know, you can take a stab at trying to solve this if you want < 1565274045 207570 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :wob_jonas: I didn't quite catch what the precise problem is, do you have a link? < 1565274061 567958 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I gather it has something to do with prime factorization :) < 1565274077 450227 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :http://esolangs.org/logs/2019-08-02.html#lY < 1565274177 933140 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I might try to write a more efficient inner loop < 1565274185 747548 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :but I can't promise anything < 1565274215 859227 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :factor: ‘11111111111111111111111111111111111111111111111111’ is too large < 1565274217 802999 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :drat! < 1565274272 760425 :int-e!~noone@int-e.eu PRIVMSG #esoteric :cpressey: 78875943472201*182521213001*25601*9091*5051*271*251*41*11 < 1565274304 33921 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: I tested that it didn't have all small prime factors, but didn't get a full factorization < 1565274335 518602 :int-e!~noone@int-e.eu PRIVMSG #esoteric :ACTION used pari/gp < 1565274344 840610 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I doubt I will have much time to play with it < 1565274366 377690 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :your "(10**50-1)/9" was a convincing enough nothing-up-my-sleeve number that I didn't think you'd cheat by choosing a number such that if you add a very small integer it happens to factor up totally < 1565274382 849209 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :plus you already said what the best solution you had was < 1565274397 909481 :int-e!~noone@int-e.eu PRIVMSG #esoteric :wob_jonas: I didn't intend to cheat... I wanted something where it was easy to see progress :) < 1565274403 288195 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(look for the first non-1 digit) < 1565274409 539139 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :exactlyi < 1565274437 571378 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I don't find it easy to see progress because I can't count 15 ones by hand < 1565274459 351123 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :which is why I have the computer print the difference in %e format < 1565274461 836735 :int-e!~noone@int-e.eu PRIVMSG #esoteric :wob_jonas: well, I put the numbers in a file, one line each < 1565275027 787546 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :13328592851757862349726964424185557245693157222400 < 1565275045 760355 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,2,2,2,2,2,2,2,11,13,2,3,2,5,11,23,2] < 1565275053 731100 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ try 13328592851757862349726964424185557245693157222400x < 1565275054 437735 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 2 2 2 2 2 2 2 2 2 3 3 5 5 7 11 11 11 13 13 17 19 23 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 | 2.22e48 < 1565275071 498689 :int-e!~noone@int-e.eu PRIVMSG #esoteric :you don't have to use all of the primes < 1565275094 348593 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :int-e: I know, but I thought it would be a good place to start < 1565275116 101239 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I at least fulfilled the letter of the challenge, given my limited time to work on it :) < 1565275140 678250 :int-e!~noone@int-e.eu PRIVMSG #esoteric :[ try 11111112137520138469338239234808374004904964760870 < 1565275141 396254 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :int-e: |value error: try < 1565275141 414852 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :int-e: | try 1.11111e49 < 1565275152 166718 :int-e!~noone@int-e.eu PRIVMSG #esoteric :[ try 11111112137520138469338239234808374004904964760870 < 1565275152 871559 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :int-e: |value error: try < 1565275152 925865 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :int-e: | try 1.11111e49 < 1565275153 308063 :int-e!~noone@int-e.eu PRIVMSG #esoteric :[ try 11111112137520138469338239234808374004904964760870x < 1565275154 19570 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :int-e: |value error: try < 1565275154 38930 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :int-e: | try 11111112137520138469338239234808374004904964760870 < 1565275161 35448 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: you need to load my environment first, by like < 1565275165 522928 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :j-bot, cd: < 1565275165 842107 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas, changed to wob_jonas,#esoteric < 1565275174 787507 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: try j-bot, load: wob_jonas < 1565275188 410531 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :j-bot, safe: , < 1565275196 99389 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :j-bot, save: , < 1565275196 417016 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas, copied ,#esoteric from wob_jonas,#esoteric < 1565275209 745275 :int-e!~noone@int-e.eu PRIVMSG #esoteric :oh, per user state < 1565275214 154815 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: or you can j-bot, cd: , < 1565275220 413109 :int-e!~noone@int-e.eu PRIVMSG #esoteric :j-bot, load: wob_jonas < 1565275220 735257 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :int-e, copied int-e,#esoteric from int-e,wob_jonas < 1565275222 955634 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: yeah, it was a strange decision < 1565275230 547649 :int-e!~noone@int-e.eu PRIVMSG #esoteric :mm < 1565275233 983346 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: you can also have multiple sessions in theory < 1565275271 280487 :int-e!~noone@int-e.eu PRIVMSG #esoteric :anyway, 11111112137520138469338239234808374004904964760870 is the best possible if all primes <= 103 need to be used. < 1565275273 656720 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: sorry, apparently wrong syntax < 1565275287 194653 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :j-bot, load: int-e, < 1565275287 518169 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas, copied wob_jonas,#esoteric from int-e,#esoteric < 1565275303 627301 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :j-bot, clean: < 1565275303 965026 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas, changed to wob_jonas,#esoteric and cleared it < 1565275312 603444 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :j-bot, clean: , < 1565275312 926324 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas, changed to ,#esoteric and cleared it < 1565275319 298119 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ try =: ":@q: ,' | ', 0j_2":-&(9<.@%~_1+10x^50) < 1565275319 909516 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: |ok < 1565275329 442174 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(the target is 111...111/p_1*...*p_27 = 463255947, which is very feasible for brute force) < 1565275364 561509 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :j-bot, pwd: < 1565275364 880834 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas, working session is ,#esoteric < 1565275495 367480 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :hmm, the three-hour long program is getting close to done < 1565275526 798979 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :I won't run a longer version of that, instead I'll have to improve the program < 1565275731 675263 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :[ try 11111111111115397052046616165917913561809835753472x < 1565275732 392474 :j-bot!eldis4@firefly.nu PRIVMSG #esoteric :wob_jonas: 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 11 11 11 11 17 17 17 17 17 17 19 19 19 19 19 29 41 43 43 47 47 | 4.29e36 < 1565275761 915920 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :not particularly good, but at least it's new > 1565276012 368150 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=65372&oldid=65371 5* 03Areallycoolusername 5* (+199) 10repo is almost complete > 1565276036 651742 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=65373&oldid=65372 5* 03Areallycoolusername 5* (-2) 10 < 1565276091 17817 :int-e!~noone@int-e.eu PRIVMSG #esoteric :okay, that was stupid < 1565276113 338334 :int-e!~noone@int-e.eu PRIVMSG #esoteric :So I tried (10^49-1)/9... < 1565276133 63736 :int-e!~noone@int-e.eu PRIVMSG #esoteric :...I got 1111111111111111140001838971183119543667539375000 which looked eerily similar to 11111111111111111400018389711831195436675393750000 < 1565276180 26877 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Which is nice in that it indicates a certain robustness of the approach. But other than that this should be utterly unsurprising :) < 1565276211 657271 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(lesson: 10 is smooth) < 1565276273 822746 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :int-e: sure, that's what you get if your search prefers small prime factors, like I do too < 1565276305 187462 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :although the solution above happens to be not divisible by 5 < 1565276306 349585 :int-e!~noone@int-e.eu PRIVMSG #esoteric :Well, mine doesn't do that, exactly. but many of the solutions still feature small prime factors :) < 1565276332 198172 :int-e!~noone@int-e.eu PRIVMSG #esoteric :I'm so happy that 11111111111111111215673466122483207680856045806875 is not divisible by 2 :) < 1565276346 563991 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :heh < 1565276388 388457 :int-e!~noone@int-e.eu PRIVMSG #esoteric :(I also wouldn't be surprised if it was actually optimal... but I see no way of proving such a thing.) < 1565276775 699403 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 PRIVMSG #esoteric :the three-hour search finished and didn't find anything better < 1565277628 609300 :wob_jonas!25bf3cd1@gateway/web/cgi-irc/kiwiirc.com/ip.37.191.60.209 QUIT :Remote host closed the connection < 1565277771 257864 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1565278400 84575 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :ais523: I thought of some infinite initial conditions in Conway's Game of Life. For example, you could have an infinite barber pole. It doesn't need caps on the ends, it just goes on forever. < 1565278431 616813 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you can do that sort of thing in most cellular automata, I think < 1565278563 929467 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :I don't think there's anything particularly philosophically problematic about them, it's just that I don't know if anyone studies them much < 1565278671 8831 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :It starts getting problematic when you start considering the infinite configuration which enumerates (and thus contains) all possible finite configurations < 1565278706 617142 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :If not problematic, then at least kind of weird < 1565278857 834636 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :One could probably make a philosophical objection that, for a sufficiently complex infinite form, a single tick is doing an infinite amount of computational work < 1565278885 499483 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :The barber pole is simple and repeatable and you can efficiently predict how any part of it will be at any tick < 1565278926 499144 :cpressey!~cpressey@5.133.242.4 PRIVMSG #esoteric :Anyway, just thoughts I had recently < 1565278961 396869 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that reminds me of a design in the Game of Life I made a while back, which contains a rake that moves at the maximum possible speed for a moving object < 1565278997 166076 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so that it creates a constant stream of spaceships that, no matter what they do or what mess they create, will never be able to create anything that shoots down the rake producing them < 1565279042 582480 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was wondering if it would be possible to create some sort of infinitely active pattern like that, but what typically happens is that eventually an eater evolves out of the mess and neatly terminates the infinite stream of spaceships > 1565279628 156823 PRIVMSG #esoteric :14[[07Gulp14]]4 N10 02https://esolangs.org/w/index.php?oldid=65374 5* 03Areallycoolusername 5* (+563) 10Created page with "'''Gulp''' is an [[esoteric programming language]] made by ][[User: Areallycoolusername|Areallycoolusername]]. It was made for golfing, and it is [[deque]]-based == Specifics..." > 1565279646 673949 PRIVMSG #esoteric :14[[07Gulp14]]4 M10 02https://esolangs.org/w/index.php?diff=65375&oldid=65374 5* 03Areallycoolusername 5* (-1) 10 < 1565279667 648618 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :by the way since it's CA time in here > 1565279671 452318 PRIVMSG #esoteric :14[[07Gulp14]]4 10 02https://esolangs.org/w/index.php?diff=65376&oldid=65375 5* 03Areallycoolusername 5* (-2) 10 < 1565279680 187481 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :how much have people studied CAs on arbitrary / random graphs? > 1565279731 46637 PRIVMSG #esoteric :14[[07Language list14]]4 10 02https://esolangs.org/w/index.php?diff=65377&oldid=65207 5* 03Areallycoolusername 5* (+11) 10/* G */ > 1565279754 741865 PRIVMSG #esoteric :14[[07User:Areallycoolusername14]]4 10 02https://esolangs.org/w/index.php?diff=65378&oldid=65181 5* 03Areallycoolusername 5* (+11) 10/* Full List of languages I Made */ < 1565279830 204707 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1565279903 767722 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1565279956 55622 :cpressey!~cpressey@5.133.242.4 QUIT :Quit: WeeChat 1.4 < 1565280812 795176 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :ais523: "I was wondering if it would be possible to create some sort of infinitely active pattern" - Golly comes with a couple of patterns that are more or less like that. < 1565280850 932925 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes, but it's hard to prove that they're like that and don't end up eventually chasing down and destroying themselves < 1565280856 331000 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :True. < 1565280887 867241 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Anyway, I've been thinking about replicators in CAs. < 1565280926 476698 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :There's von Neumann's CA with, what, 27 states? < 1565280948 355271 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :quite a lot, yes < 1565280962 941042 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :29 states. < 1565280967 851970 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :So yeah, that's quite a lot. :D < 1565280968 685467 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the Game of Life has replicators but in general it seems like a really fragile system < 1565280986 330479 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :like, a random block or glider somewhere can completely break a complex pattern and there's nothing you can really do about it < 1565281003 650467 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Right. < 1565281042 240853 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :I've seen... three general categories of replicators, I think? < 1565281076 607277 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Or, rather, three categories of CAs with replicators. < 1565281097 688711 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :There are "naturalistic" CAs like Conway's Life, and Star Wars or whatever. < 1565281116 595622 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Simple rules, huge and complicated replicators. < 1565281162 882433 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :There are von Neumann-style CAs. Complicated rules, large and complex replicators, but not quite as bad as the Conway's Life ones. < 1565281186 696493 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Then there are Langton's Loops-style CAs. Medium-complexity rules, very simple replicators. < 1565281332 872401 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :The upside of the naturalistic and VN-style CAs is that you can build universal constructors in both of them. < 1565281347 2052 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :I don't think Langton's Loops supports universal construction. I don't know if it can even do computation. < 1565281438 994531 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Let's see, I'm trying to remember why LL requires a "sheath". You know what I'm talking about? < 1565281460 945255 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :sort of, my memory of this is pretty vague < 1565281490 238259 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Similar to WireWorld, LL has "wires" that signals can go along. But unlike in WireWorld, the wires have to be surrounded on each side by a special state. > 1565281556 152908 PRIVMSG #esoteric :14[[07Braincells14]]4 10 02https://esolangs.org/w/index.php?diff=65379&oldid=65363 5* 03HereToAnnoy 5* (+3169) 10Hopefully the spec is finished, just need execution examples and clarification. WIP < 1565281566 609736 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Hmmmm, here's one reason. In WireWorld, there's a particular state which indicates the tail of a pulse. In LL, on the other hand, the state for the tail of a pulse is identical to the background state. < 1565281600 316974 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :So the "sheath" state is necessary to regenerate the wire in the wake of a pulse. < 1565281604 521625 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :I wonder why it was designed that way. < 1565281675 94070 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :maybe it increases the chance of the wires acting sensibly when they collide? < 1565281735 730230 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Well, let me look up how construction works in LL. < 1565281999 521554 :ais523!~ais523@unaffiliated/ais523 QUIT :Quit: quit < 1565282077 574984 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :I'm reading Langton's paper in which (I think) he describes LL. http://www-users.york.ac.uk/~gt512/BIC/langton84.pdf < 1565282171 591039 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :He writes that in order for a CA pattern to be considered properly self-replicating (as opposed to being a pattern which merely "gets replicated" by the rule), it ought to contain some "code" which is both used to direct the replication process, and copied into the daughter pattern. < 1565282192 604993 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Which is awfully similar to the way that a traditional quine works. < 1565282198 553555 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :that's a tricky definition to make precise < 1565282207 301375 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :it's kind of like the question of whether viruses are alive < 1565282211 697751 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :they need a certain environment to reproduce < 1565282215 627059 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but so does every lifeform > 1565282261 925909 PRIVMSG #esoteric :14[[07User:HereToAnnoy14]]4 M10 02https://esolangs.org/w/index.php?diff=65380&oldid=63533 5* 03HereToAnnoy 5* (+101) 10Added [[Braincells]] to language list < 1565282329 480337 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Right. < 1565282365 930478 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :I'm also reminded of a definition that someone on the Code Golf Stack Exchange site suggested for a "proper quine". < 1565282415 99906 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Which is that the program should contain at least one element which codes some *other* element of the program. < 1565282469 863748 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :"Replicating cellular automata", like 1357/1357 or whatever it is, obviously don't allow you to create a replicator which satisfies that criterion, since each element of the mother pattern codes itself and only itself. < 1565282542 551013 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu JOIN :#esoteric < 1565282571 513593 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :I should probably write the inner loop in C or C++, with 64-bit floats < 1565282580 414222 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :but I don't promise that I'll do it < 1565282608 453143 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :what's it in now < 1565282637 682115 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :cpressey: infinite initial condition for game of life can be useful because it lets you send signals at light speed, while otherwise you can only send signals (repeatedly) at half life speed < 1565282647 769061 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :s/half life/half light/ < 1565282663 611741 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :so yes, people do study that < 1565282713 397971 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1565282756 596581 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :tswett[m]: Neumann's CA => http://esolangs.org/wiki/Von_Neumann%27s_29-state_cellular_automaton -- not that there's much info there < 1565282978 353914 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :How to determine what time zone is used to display the recent changes in a MediaWiki service if not registering an account? < 1565282993 262205 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :kmc: python, and I only have the bigint version, not one that does the inner loop with doubles and then checks near matches with bigints < 1565283230 941036 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :zzo38: what page are you viewing on the wiki? < 1565283281 483186 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :b_jonas: cython is a really easy way to rewrite an inner loop as native code < 1565283421 388569 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Somebody made a hexagonal-neighborhood loop replicator CA, which is an awfully good idea: https://www.youtube.com/watch?v=_kTMO7oEN8U < 1565283723 365531 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :kmc: nah, I want to write it in C++, which I already know, and know enough to be able to figure out how to optimize it properly < 1565283731 890502 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :ok < 1565283736 149859 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :I won't try to learn some new tool for this < 1565283742 235769 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :well, ctypes is also easy < 1565283747 791571 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :but I recommend learning cython at some point < 1565283754 335270 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :you'll get the basics in no time < 1565283762 469821 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :but again, feel free to take a stab at the original problem too < 1565283795 550606 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :you pretty much just put c type declarations on your python variables < 1565283816 105419 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Lemme see. So, in LL, a 7 signal is the signal which indicates that the arm should be extended by one cell. The sheath is the part that actually responds to the signal. You couldn't have the background state respond to the signal directly, because if you're a background cell and there's a 7 next to you, you don't know whether you're supposed to respond to it or not. < 1565283816 558795 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :there's no need for anything like that here < 1565284498 493187 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :b_jonas: The recent changes (but not the esolang wiki; it is a different one) < 1565284588 98917 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :zzo38: so the Special:RecentChanges page in the default html view? < 1565284605 254983 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :b_jonas: Yes. > 1565284648 639957 PRIVMSG #esoteric :14[[07Semordnilap14]]4 10 02https://esolangs.org/w/index.php?diff=65381&oldid=60021 5* 03Orby 5* (-8) 10/* See also */ < 1565285150 637806 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Now I'm trying to figure out why, in Langton's Loops, two consecutive "4" signals are required in order to effect a turn, instead of just one. < 1565285409 942212 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :zzo38: good question > 1565285497 448047 PRIVMSG #esoteric :14[[07Language list14]]4 M10 02https://esolangs.org/w/index.php?diff=65382&oldid=65377 5* 03HereToAnnoy 5* (+17) 10/* B */ Added Braincells to the language list. < 1565285557 910449 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :zzo38: I don't know a good answer. if api.php is enabled (it is not on Wikia), even for read only, then you can use that to query the recent changes in a different format, but that's not trivial < 1565285598 117775 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :you can also use api.php to query the default timezone of the wiki, but I'm not sure if that's always the one used on recentchanges for unregistered users or something may override it < 1565285644 616278 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :zzo38: you can try asking this question in a mediawiki-related channel on freenode, such as #mediawiki < 1565285808 179319 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1565285829 796690 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :perhaps one of the SpecialPages also tells the default timezone? I dunno < 1565285963 233825 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :https://www.mediawiki.org/wiki/Manual:Timezone says how to set the default timezone and that that's used in Special:RecentChanges, but doesn't say how to query < 1565286000 146953 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :ah, got it < 1565286045 116610 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :zzo38: view the page Special:GlobalPreferences#mw-prefsection-rendering and see what timezone it says there < 1565286061 77094 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :under "Time zone:" < 1565286094 885960 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :hmm no, that doesn't seem to wokr < 1565286113 126237 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :not reliably at least < 1565286125 265055 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :It says it is an invalid special page < 1565286317 869762 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :zzo38: is the api.php enabled? if so, you can try loading /w/api.php?action=query&prop=info&meta=siteinfo&format=xmlfm&siprop=general|namespaces|namespacealiases|interwikimap|specialpagealiases|magicwords and see what it says in the timezone attribute of //general , but I'm not convinced that that's always right because I think there's multiple timezone settings < 1565286380 544518 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :but if the api.php is enabled, then it's possible to query the recent changes with it < 1565286391 672827 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :and you can compare the date there with the date in the html view < 1565286656 101545 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :zzo38: look at /w/api.php?action=query&generator=recentchanges&list=recentchanges and compare its timestamps with the one in /wiki/Special:RecentChanges < 1565286692 1193 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :and no, this won't work on wikia, or some other wikis where api.php is not enabled < 1565286794 65699 :zzo38!~zzo38@24-207-15-213.eastlink.ca PRIVMSG #esoteric :OK, that works though on what I am trying to access. < 1565286874 25018 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :good < 1565286912 114618 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :https://www.mediawiki.org/wiki/API:Main_page has the docs for api.php in case you want to go more completely with that, eg. get the Recent Changes from only there rather than just eyeball the timezone < 1565287299 495187 :MDude!AdiIRC@c-174-55-101-236.hsd1.pa.comcast.net QUIT :Ping timeout: 248 seconds > 1565287566 777784 PRIVMSG #esoteric :14[[07Fit14]]4 M10 02https://esolangs.org/w/index.php?diff=65383&oldid=62321 5* 03HereToAnnoy 5* (+743) 10Reduces from Boolfuck --> turing complete > 1565288000 384530 PRIVMSG #esoteric :14[[07Fit14]]4 M10 02https://esolangs.org/w/index.php?diff=65384&oldid=65383 5* 03HereToAnnoy 5* (+1) 10Fixed typo : "(-v)+" ---> "(--v)+" > 1565289371 9590 PRIVMSG #esoteric :14[[07A114]]4 10 02https://esolangs.org/w/index.php?diff=65385&oldid=59728 5* 03Orby 5* (-5) 10/* See Also */ < 1565290115 857625 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :yo < 1565290441 70920 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :o/ < 1565290490 214884 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :I wonder if I could come up with a cellular automaton that's kind of "in between" Codd's CA and Langton's Loops. < 1565290548 517172 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :LL only has two commands: extend forwards and extend left. That's great as long as little square loopy replicators are the only thing you ever want to make. < 1565290624 988520 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Codd's CA has lots of commands that do lots of things, but a replicator in that CA is very complicated. < 1565290786 182820 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :what's this "Codd's CA"? < 1565291046 11956 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :https://en.wikipedia.org/wiki/Codd%27s_cellular_automaton < 1565291102 349624 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :I'm trying to think how how LL might be extended to permit, say, a loop with a kink in it. < 1565291162 661117 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :In LL, replication essentially consists of just executing the program four times. It does exactly the same thing the first three times (extend for a while and then turn left), and something different the last time (extend for a while, then collide, causing various interesting stuff to happen). < 1565291171 260143 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :tswett[m]: wait, isn't that the same as Langton's loops? < 1565291188 880728 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :they both have eight states on a square grid and make squares < 1565291203 325449 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :No, Codd's CA came first. Note that the pictured loop doesn't replicate; it merely extends an arm forever. < 1565291228 592283 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :hmm < 1565291245 378165 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :If you tried to make "a Langton's loop" in Codd's CA, you'd find that the program to generate one side of the loop is too long to fit inside of the loop. < 1565291276 255376 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :ok < 1565291279 722092 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Langton takes advantage of the fact that producing one cell of the loop requires a 3-cell instruction, but the program is executed 4 times, and 4 > 3. < 1565291280 554594 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :there's a lot of loop rules in golly's sample directory < 1565291372 739392 :Hooloovo0!Hooloovoo@sorunome.de PRIVMSG #esoteric :there's also a couple of similar-to-codd rules like devore < 1565291407 523345 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Yeah, the Devore rule is pretty much a strict improvement of Codd's rule. It's better in every way and lets you build a much, much smaller replicator. < 1565291500 985875 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :I'm pondering this "loop with a kink in it" idea. You could do that with something very similar to a Langton's loop, if only you could somehow make it so that certain parts of the program are only executed some of the time. < 1565291688 874747 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :So now I'm just thinking about how to accomplish that. < 1565291963 535940 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :You'd want some way to store a finite state, and suppress some of the program some of the time depending on the state. < 1565292050 581472 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :Hmmmmmmmm. I like the way my thoughts are going. :D < 1565292276 604990 :int-e!~noone@int-e.eu PRIVMSG #esoteric :daisy daisy... ah no, that was HAL's mind going. < 1565292407 646445 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :The mother loop can be totally passive, and merely send the program out over and over again. The construction arm can have a part on it that's a state machine and filter. > 1565292697 558233 PRIVMSG #esoteric :14[[07Post Dominos14]]4 10 02https://esolangs.org/w/index.php?diff=65386&oldid=60349 5* 03Orby 5* (-5) 10/* See also */ < 1565293129 638209 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :we are all merely codons within the mother loop < 1565293788 404974 :lldd_!~atrapado@unaffiliated/atrapado JOIN :#esoteric < 1565295045 711318 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1565295247 306807 :Lord_of_Life!~Lord@unaffiliated/lord-of-life/x-0885362 QUIT :Ping timeout: 246 seconds < 1565295248 38148 :Lord_of_Life_!~Lord@unaffiliated/lord-of-life/x-0885362 NICK :Lord_of_Life < 1565295354 883047 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :I think I've figured it out. I can do almost everything with 12 states. > 1565295678 746985 PRIVMSG #esoteric :14[[07Minaac14]]4 10 02https://esolangs.org/w/index.php?diff=65387&oldid=59930 5* 03TheJebForge 5* (-120) 10/* Minaac */ < 1565295802 693434 :lldd_!~atrapado@unaffiliated/atrapado QUIT :Quit: Leaving < 1565296052 501937 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :tswett[m]: implement it in GPU :-) < 1565296069 232597 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :I'm gonna implement it in Golly. :D < 1565297039 591044 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :ok < 1565297387 513095 :rain2!~My_user_n@unaffiliated/rain1 PRIVMSG #esoteric :I have no idea how fractran works < 1565298462 777967 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :a positive natural is a multiset of primes hth < 1565299525 841775 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :do you mean like 11111111111115397052046616165917913561809835753472 ? is that a multiset too? < 1565300060 961874 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`factor 11111111111115397052046616165917913561809835753472 < 1565300061 621354 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :factor: ‘11111111111115397052046616165917913561809835753472’ is too large < 1565300067 546709 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Apparently it's too large to be a multiset. < 1565300197 819734 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :I see < 1565300261 740891 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu PRIVMSG #esoteric :learn BLJ is a move that lets you solve NP-complete problems with no stars and just one key. < 1565301349 500734 :b_jonas!~x@catv-176-63-24-239.catv.broadband.hu QUIT :Remote host closed the connection < 1565303740 128582 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net PRIVMSG #esoteric :Retroforth's case statement causes the function that's using it to exit if the condition is met < 1565303957 753914 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :so, know anything interesting about cellular automata on random graphs? < 1565303970 234044 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :seems like you could model some social behaviors that way < 1565304046 913373 :xkapastel!uid17782@gateway/web/irccloud.com/x-alclzwgawtunnogg JOIN :#esoteric < 1565304727 42588 :Phantom__Hoover!~phantomho@unaffiliated/phantom-hoover QUIT :Ping timeout: 245 seconds < 1565305323 374972 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It's the brain. < 1565305340 148868 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Golly. I've never even thought about cellular automata on non-planar graphs. < 1565305561 663872 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1565306395 104270 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :well I guess you're about ready then! < 1565306574 256842 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :i'm ready for fluffy cat whiskers < 1565306577 72528 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :is that on the menu < 1565307084 92275 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :maybe < 1565307740 419492 :tswett[m]!tswettmatr@gateway/shell/matrix.org/x-jsgngwyifopekixx PRIVMSG #esoteric :I successfully made a loop that extends itself. Woo. < 1565307815 434326 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :int i = 0; while(1) { this_block.append("print(%d);", i); i++; } < 1565307844 395079 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net PRIVMSG #esoteric :At some point I should make a new implementation of Braintrust. Except the best language for that is probably either Common Lisp or maybe some ... assembly like thing? And I have no interest in Common Lisp these days < 1565307865 879775 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why not do it in ALGOL 68? < 1565307874 896770 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think ALGOL 68 is quite an interesting language. < 1565307892 254776 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It has features not present in many or any modern languages. < 1565307909 986287 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :And certainly in languages that existed in 1968. < 1565307913 401368 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net PRIVMSG #esoteric :Does ALGOL 68 have functionality to preserve the current state as an executable that will run another function when started? < 1565307942 946711 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I imagine think you could dump memory to a file and load it back up later. < 1565307966 864452 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net PRIVMSG #esoteric :https://ccl.clozure.com/manual/chapter4.9.html < 1565308008 58920 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net PRIVMSG #esoteric :Or maybe I could just... directly copy+modify the current executable, if there's specific data in the executable in a predictable location < 1565308025 320126 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That seems like a reasonable approach. < 1565308032 718722 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`tmp/out.a < 1565308033 239538 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :finally < 1565308046 77320 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`` xxd tmp/out.a > tmp/out.a.xxd < 1565308046 703725 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :​/hackenv/bin/`: line 5: xxd: command not found < 1565308078 45972 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`` hd tmp/out.a > tmp/out.a.hd < 1565308078 755814 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :No output. < 1565308081 28293 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`url tmp/out.a.hd < 1565308084 328611 :HackEso!~h@techne.zem.fi PRIVMSG #esoteric :https://hack.esolangs.org/tmp/out.a.hd < 1565308084 644229 :Sgeo_!~Sgeo@ool-18b98455.dyn.optonline.net PRIVMSG #esoteric :I'm wondering if that's sort of like cheating, to compile into an interpreter and call it a "compiler" > 1565308164 36893 PRIVMSG #esoteric :14[[07User talk:A14]]4 M10 02https://esolangs.org/w/index.php?diff=65388&oldid=65373 5* 03A 5* (+287) 10/* Concern */ < 1565308623 440125 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :Sgeo_: that's one of the futamura projections. a compiler is a curried interpreter < 1565308630 569485 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :you provide the program and at some point later you provide the program's input < 1565308641 195640 :kmc!~beehive@li521-214.members.linode.com PRIVMSG #esoteric :so the question is just how much optimization takes place at the earlier point