< 1502150667 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :French lesson of the day: Est-ce que les cabots peuvent manger de la poutine? Non, les cabots ne peuvent pas manger de la poutine. < 1502150687 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net QUIT :Quit: PERSPIRATING CHICKEN < 1502150790 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 JOIN :#esoteric < 1502151096 0 :btiffin!~chatzilla@CPE0c473de9ff81-CM0c473de9ff80.cpe.net.cable.rogers.com QUIT :Remote host closed the connection < 1502151596 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`olist 1089 < 1502151617 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :ooh! < 1502151634 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :olist 1089: shachaf oerjan Sgeo FireFly boily nortti b_jonas < 1502151654 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :ah yeah, since HackEgo isn't here, you have to do it manually < 1502151732 0 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :lol < 1502151816 0 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :asciidots looks interesting < 1502151942 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :Mark Rosewater in http://magic.wizards.com/en/articles/archive/making-magic/cats-2017-08-07 writes "While [sabertooth is] not the only word spelled differently on different cards (I'm looking at you "sylex"), such occurrences are infrequent." < 1502152018 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :wob_jonas: I think I must be missing something about this comic. < 1502152024 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :The word sylex is in the name of "Golgothian Sylex", but what other cards does it appear on, what is the alternate spelling, what the heck is a sylex, and why did it choose to collapse on Betelguse Seven in particular? < 1502152048 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Do you know any GURPS game? < 1502152094 0 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :there is a pratchett themed < 1502152106 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Do you like the two loader programs I wrote for use with MIX? (One for programs that are only for specific byte sizes of MIX, and one for programs that are independent of byte sizes of MIX.) < 1502152168 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :(Both of these programs each fit on only one card; you don't need two cards.) < 1502152447 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :However, I used a different format for the program cards, which are the format which can be loaded more efficiently. The one for specific byte sizes, has seven words per card like the one described in the book, although their format is different, and it skips by 2 instead of by 1 (so if a card specifies an address of 300, then it loads at 300, 302, 304, 306, 308, 310, and 312, instead of 300, 301, 302, 303, 304, 305, 306). < 1502152512 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :The final card (the "transfer card") will modify the loading routine; there is no special logic for this in the loader program. < 1502152541 0 :myname!~myname@ks300980.kimsufi.com PRIVMSG #esoteric :the fuck is MIX? < 1502152555 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :dunno, look on the wiki... oh wait < 1502152572 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :It is a kind of hypothetical computer invented by Knuth. There is a description in esolang wiki, but esolang wiki does not currently work now. < 1502152845 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :http://zzo38computer.org/textfile/miscellaneous/mix_stuff < 1502153145 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-lqkdhsknluphgqad QUIT :Quit: EliteBNC free bnc service - http://elitebnc.org - be a part of the Elite! < 1502153356 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :wob_jonas: I did some Gathering and Googlering, and it looks like "sylex" is a misspelling of "cylix". < 1502153395 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :tswe_tt: ah thanks < 1502153486 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :in that case the second half of the question stands. what's a cylix? it's not in my dictionary. < 1502153519 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I also don't know what is meaning < 1502153531 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :"Noun. 1. cylix - a shallow drinking cup with two handles; used in ancient Greece. kylix." < 1502153567 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :thanks < 1502153638 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :That would be like what the picture shows, I guess < 1502153692 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :yeah, all four cylix cards show a chalice (flat cup) < 1502153824 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :of course, M:tG has chalices and goblets too < 1502154436 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net QUIT :Ping timeout: 246 seconds < 1502154643 0 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1502154714 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1502155280 0 :doesthiswork!~Adium@207.55.82.87 JOIN :#esoteric < 1502156264 0 :GeekDude!~G33kDude@unaffiliated/g33kdude QUIT :Quit: WeeChat 1.8 < 1502156718 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-fnnbhgivhrxjjbnf JOIN :#esoteric < 1502156718 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :I made the layered unit net generate some exchanges with lambdabot. My favorite one so far... < 1502156734 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric : > z (f xarg $mob n)) tswett [x] < 1502156734 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :12:59:29 L2DIMAIT #=. (bad exoteric program status reverse copy") < 1502156795 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :lol < 1502156846 0 :GeekDude!~G33kDude@unaffiliated/g33kdude JOIN :#esoteric < 1502157030 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-fnnbhgivhrxjjbnf QUIT :Ping timeout: 240 seconds < 1502157172 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :Concept: esoteric, stack-based programming language where the program must pop their clogs before it can halt < 1502157301 0 :augur!~augur@noisebridge130.static.monkeybrains.net JOIN :#esoteric < 1502157459 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :pop their what? < 1502157470 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :oh < 1502157477 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :do you mean cogs? < 1502157486 0 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Can we make a hydraulic esoteric language? < 1502157602 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Ooh, more fake METAR. < 1502157603 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :LASK 041356Z 23013KT 200 9999 SCT011 BKN007 02/05 A2979 RMK AO2 THITK AO2 SLP123 T01860004 < 1502157801 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-nvcilsngzasjpsso JOIN :#esoteric < 1502157834 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: I didn't actually mean "less fizzie". Your presence here is valued and appreciated. < 1502157844 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It was just a pun. < 1502158214 0 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Sin gas < 1502158531 0 :PattuX!uid129971@gateway/web/irccloud.com/x-siorzyghrimoqvzz QUIT :Quit: Connection closed for inactivity < 1502159063 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :I trained a net on timestamps only. Some of the output is pretty funny. < 1502159098 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :The output mostly makes sense. 13:59:26 is followed by 14:02:20, which is followed by 14:25:52. < 1502159115 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :tswe_tt: did it produce invalid dates like 2017-02-29? < 1502159146 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Just the time component. < 1502159166 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Here it went from 15:59:45 to 15:00:03. < 1502159189 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :So it thought it was reasonable for 15:59:45 to be followed by another timestamp in hour 15, but then decided to reset the minutes and seconds anyway. < 1502159202 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :you could add some domain-specific knowledge to timestamp generation though < 1502159265 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Shouldn't be necessary. After just a little more training, it should generate timestamps pretty flawlessly. < 1502159298 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :It occasionally goes backwards a little bit, like from 18:11:03 to 18:10:23. < 1502159354 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Here it generated 23:03:31 followed by 22:03:30... < 1502159360 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :tswe_tt: clock skew or timezone offset change < 1502159368 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 PRIVMSG #esoteric :or even most of a day skipped < 1502159383 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :I think the timestamp 00:00:00 always appears every day, in the training data. < 1502159394 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Here's a mutant time, 221:29:08. < 1502159431 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :02:04:17 to 20:04:30. I wonder if it forgot which digit was which in the hour component? < 1502159488 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :Then here it goes from 23:59:08 to 24:00:02 and stays in hour 24 for a while before going back to 23. < 1502159518 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :After a while, it generates the timestamp 00:00:00:00. < 1502159754 0 :tswe_tt!~tswett@unaffiliated/tswett PRIVMSG #esoteric :I want to train a network on this for a while and then do one of those visualization things to see what units are doing what. < 1502159868 0 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1502160387 0 :augur!~augur@noisebridge130.static.monkeybrains.net QUIT :Remote host closed the connection < 1502160430 0 :augur!~augur@noisebridge130.static.monkeybrains.net JOIN :#esoteric < 1502160695 0 :augur!~augur@noisebridge130.static.monkeybrains.net QUIT :Ping timeout: 240 seconds < 1502161144 0 :augur!~augur@noisebridge130.static.monkeybrains.net JOIN :#esoteric < 1502161246 0 :ATMunn!~ATMunn@unaffiliated/atmunn26 QUIT :Quit: ~~~~goodnight~~~~ < 1502161873 0 :erkin!~erkin@unaffiliated/erkin JOIN :#esoteric < 1502161974 0 :wob_jonas!b03f18e5@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.229 QUIT :Quit: http://www.kiwiirc.com/ - A hand crafted IRC client < 1502162330 0 :jjthrash!~jjthrash@util.brownbirdlabs.com QUIT :Ping timeout: 255 seconds < 1502162745 0 :jjthrash!~jjthrash@util.brownbirdlabs.com JOIN :#esoteric < 1502163109 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-nvcilsngzasjpsso QUIT :Ping timeout: 246 seconds < 1502163218 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net JOIN :#esoteric < 1502163951 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net QUIT :Ping timeout: 255 seconds < 1502164589 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :Concept: Esolang where tables can access theirselves, and their parent. e.g. {a = "foo", b = "bar", c = {c = self, d = parent}}. < 1502164624 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :So that table (let's call it t) would be recursive, and things like t.c.c.c.c.c.c.c.c.c.c.d.c.c.c.c.c.d.a would be valid. < 1502165141 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-sxbgiesfmfyamprj JOIN :#esoteric < 1502165747 0 :contrapumpkin!~copumpkin@haskell/developer/copumpkin QUIT :Quit: My MacBook Pro has gone to sleep. ZZZzzz… < 1502166746 0 :erkin!~erkin@unaffiliated/erkin QUIT :Quit: Ouch! Got SIGABRT, dying... < 1502169000 0 :doesthiswork!~Adium@207.55.82.87 QUIT :Quit: Leaving. < 1502169033 0 :doesthiswork!~Adium@207.55.82.87 JOIN :#esoteric < 1502169174 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Heirloom-Mailx allows to write downloaded attachments to pipes. Why doesn't a web browser do this? < 1502169861 0 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :nothing stops you from using curl. :P < 1502169933 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Yes, although I think it can be useful at the download prompt. The same is true with upload forms; you should be allowed to enter the local filename (or program to execute) and the remote filename separately. < 1502169959 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :And I don't like the file dialog boxes either; a simple prompt where you can type in the full path (with tab completion) is best. < 1502169973 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I do have curl and yes it is very useful though. < 1502170889 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Another possible thing to be useful is an extension to make a shell script equivalent of a HTML form. < 1502171692 0 :Sgeo_!~Sgeo@ool-18b98980.dyn.optonline.net PRIVMSG #esoteric :Any image I had of low-level programming being saner than web dev was just shattered < 1502171693 0 :Sgeo_!~Sgeo@ool-18b98980.dyn.optonline.net PRIVMSG #esoteric :http://wiki.osdev.org/A20_Line < 1502171745 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :Are there esolangs with support for anonymous, first-class functions, but not closures? < 1502171746 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :userspace in amd64 is fairly sane < 1502171954 0 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :Sgeo_: legacy x86 is often crufty. < 1502171989 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :usually you can choose not to use the insane bits, though there is the legacy cruft where ymm registers have split lanes < 1502172211 0 :Sgeo_!~Sgeo@ool-18b98980.dyn.optonline.net PRIVMSG #esoteric :Maybe I should read about MINIX? < 1502172263 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I think the original design of IBM PC was reasonable (although there are a few things I would have done differently), although now it is a mess. < 1502172276 0 :Sgeo_!~Sgeo@ool-18b98980.dyn.optonline.net PRIVMSG #esoteric :...the book recommended is a bit more than I want to pay right now < 1502172308 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :zzo38: I concur. < 1502172330 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :The original IBM PC was, in most respects, a very normal computer of its time. < 1502172354 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :Just made a bunch of natural decisions on how you'd go about designing a computer around the 8080 and off-the-shelf components. < 1502172385 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Yes, although there are a few things I would have done differently; such as, altering a few gates of CGA would make CGA much more flexible than it is. < 1502172423 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :Yeah, that's probably the best example of a case where they could've *easily* done better. < 1502172464 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :But goodness a lot of cruft got built up. < 1502172468 0 :hppavilion[1]!~dosgmowdo@93-231-58-66.gci.net QUIT :Quit: HRII'FHALMA MNAHN'K'YARNAK NGAH NILGH'RI'BTHNKNYTH < 1502172486 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :(I have the schematics, so I can see which gates to change.) < 1502172534 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :Sgeo_: For extra fun, the only thing we know of that used the A20 wraparound is *itself* a legacy compat feature. < 1502172536 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I think the original "Model F" keyboard design was good too actually. < 1502172551 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :It was used by DOS's implementation of the CP/M API. < 1502172562 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :well, that was... odd. didn't expect the wikipedia article on callbacks to mention Roblox of all things. < 1502172599 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net JOIN :#esoteric < 1502172602 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :You see, one of the selling points of the 8086 was that it was a purely mechanical process to convert 8080 asm to it... < 1502172630 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :So, *if* your 8086 OS implemented the CP/M system call API, then it was trivial to port CP/M software to it. < 1502172634 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :And DOS did exactly that. < 1502172648 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :But it had to use the A20 wraparound to do it. < 1502172674 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :If not for that, the A20 line mess probably wouldn't have happened. < 1502172695 0 :Sgeo_!~Sgeo@ool-18b98980.dyn.optonline.net PRIVMSG #esoteric :o.O < 1502172732 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :Also, this was actually a damned important feature; most of the early DOS software was actually CP/M ports. < 1502172821 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :Nobody would've bought an IBM PC if it didn't run WordStar, dBASE, or AutoCAD. < 1502172832 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :I wonder how many CP/M programs actually needed the wraparound < 1502172852 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :Jafet: All of them. For technical reasons, the *API* relied on it. < 1502172873 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :I suspect few of them needed it outside of that, however. < 1502172875 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :that would do it, then < 1502172913 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :The API was a call to a weird address, which on an 8080 was just a normal address, but with segmenting involved pretty much had to wrap around. < 1502173576 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :whoa whoa whoa, "Intel no longer supports the A20 gate, starting with Haswell." < 1502173687 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :bold move, I wonder how many programs that will break. < 1502173718 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :Wanna bet it's still togglable from the keyboard controller? < 1502173774 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :well, define "keyboard controller"... AFAIK that stuff tends to be emulated by SMM code these days. < 1502173803 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :The 8042 chip is only so emulatable considering many systems still *ship* with a PS2 port. < 1502173813 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :i.e. the thing that it actually interfaces with. < 1502173879 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :TBH, I strongly suspect it broke the use cases of exactly *nobody* to not support the A20 line, though. < 1502173915 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :It'd only *possibly* break software people are running straight from DOS on a Haswell system. < 1502173926 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-sxbgiesfmfyamprj QUIT :Remote host closed the connection < 1502173934 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :maybe highmem.sys actually checked whether the A20 gate worked at some point? :P < 1502173988 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :If it's running from inside virtual 8086 mode, nothing breaks, so... < 1502174000 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :Yes, himem.sys could *hypothetically* be broken by that. < 1502174092 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :Also, given it's recent enough, you could actually probably work around it by using the virtualization extensions to have a *thin* VM that's basically just the base hardware except for a tiny chunk of RAM carved out, and A20 actually works. < 1502174162 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :you can even use paging to get the wrapping behavior right. < 1502174212 0 :erkin!~erkin@unaffiliated/erkin JOIN :#esoteric < 1502174214 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :the A20 gate was mighty silly from the moment it was introduced. < 1502174242 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :It made sense for maybe the year after it was introduced. < 1502174266 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :no, because oce it was there you'd be stuck for it forever :P < 1502174276 0 :pikhq!~pikhq@c-24-8-135-139.hsd1.co.comcast.net PRIVMSG #esoteric :The only software that needed it was legacy software *at the time*, so. < 1502174292 0 :doesthiswork!~Adium@207.55.82.87 QUIT :Quit: Leaving. < 1502174298 0 :int-e!~noone@int-e.eu PRIVMSG #esoteric :admittedly updating software wasn't as easy then as it is now < 1502174494 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :just think, the alternative fix would be to permanently alias A20 to 0 if A21 upwards are all 0 < 1502174495 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(or to implement A20-as-0 in virtual 8086 mode) < 1502174582 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I thought that 8088 only has twenty address lines anyways? Although, ais523's idea makes sense too, that you can have mirrored addressing of the physical memory perhaps. If 8088 has only twenty address lines and the later versions have more, then it would make more sense for that function to be part of the processor instead, where if you do not use long addressing then it wraps. < 1502174599 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :zzo38: it only has 19 address lines < 1502174609 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's why there were backwards compatibility issues when the twentieth was introduced < 1502174622 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :wait, no < 1502174626 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I'm off by 1 < 1502174632 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it has 20 address lines, A20 is the 21st < 1502174676 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so some 8086/8088 programs assume that there's no A20 line (by wrapping addresses past 1MB), meaning that later processors which wanted to be compatible tended to disable the A20 line by default < 1502174699 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Yes, although due to that backward compatibility issues, I think it would make more sense for that to be a feature of the processor itself. If you do not enable long addressing by the control registers then the processor should automatically output 0 on the A20 line and all higher address lines. < 1502174758 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :zzo38: that's basically the solution the 80386 used < 1502174765 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although in a bit of an indirect way < 1502174779 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the A20 line nonsense was mostly related to the 80286 (which also had a number of other problems) < 1502174801 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually, a good way to think about the 80386 is "Intel learns how to be backwards compatible in a way that doesn't hold back the future too" < 1502174825 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-yarkbwjgvmiahrgz JOIN :#esoteric < 1502175463 0 :xkapastel!uid17782@gateway/web/irccloud.com/x-duwwzktpicgenuaz QUIT :Quit: Connection closed for inactivity < 1502175490 0 :Sgeo_!~Sgeo@ool-18b98980.dyn.optonline.net PRIVMSG #esoteric :Is OSDev wiki the best way to learn about this stuff? < 1502175738 0 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1502175808 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1502175979 0 :FreeFull!~freefull@defocus/sausage-lover QUIT : < 1502176033 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :I just invented a new word. Weaboo, but korea: Weobeo < 1502176127 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :. o O ( Are there esolangs with support for anonymous, first-class functions, but not closures? I'd say langs in general, but it seems odd enough to me that it would be considered esoteric ) < 1502177313 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :GCC C local functions < 1502177342 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :you've never heard of it because no one uses it, because it is about as useless as it sounds < 1502177358 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Jafet: I've heard of it < 1502177378 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :however I believe they are closures, they just only last as long as the surrounding stack frame < 1502177416 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :oh, apparently they are < 1502177555 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I've heard of it but never looked into the details. < 1502177564 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :How does it work? < 1502177595 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: syntax-wise, it's basically the C function definition syntax that appears inside a function body < 1502177598 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You can pass a nested function pointer as an argument to another function and it has its local scope? < 1502177609 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :implementation-wise, via the use of a small executable trampoline on the stack < 1502177625 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and yes, the resulting function can be called (not very useful) but you can also take pointers to it < 1502177640 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But the pointer is the same code pointer each time? < 1502177650 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or does it allocate executable memory or something? < 1502177691 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :nearly all implementations of first-class functions use the same code pointers each time < 1502177707 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But then how does it pass the data? < 1502177727 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :using a data pointer, presumably < 1502177753 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :https://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html < 1502177759 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: the pointer is to the stack < 1502177763 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm talking about the "intermediate" example. < 1502177771 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Executable memory on the stack? < 1502177773 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which is basically a simple wrapper that supplies arguments and calls the actual code < 1502177780 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: yes, it's a nightmare for gcc backend writers < 1502177818 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I heard about a clever trick used by GHC on iOS, where you're not allowed to allocate writable executable memory (or something). < 1502177827 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or rather used by a library GHC uses. < 1502177865 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think the way it works is, they have a dynamically linked library that has a relative address. < 1502177870 0 :imode!~imode@unaffiliated/imode QUIT :Ping timeout: 240 seconds < 1502177880 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :They load it at multiple places in memory, and they put the data pointer next to it. < 1502177973 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :I thought that ghc implemented closures as functions taking a pointer to the closure data < 1502177999 0 :ais523!~ais523@unaffiliated/ais523 QUIT :Remote host closed the connection < 1502178004 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean the thing where you can pass closures to C. < 1502178007 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :foreign import "wrapper" < 1502178009 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1502178212 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :After visiting the centre for computing history in Cambridge, I really want a BBC Micro < 1502178320 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I used to have one of those < 1502178328 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I don't think I still do, though; it's possible it broke < 1502178341 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they should be pretty easy to emulate, come to think of it < 1502178346 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :maybe there's an emulator already < 1502178352 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :I'd imagine there is < 1502178512 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: whoa, it just makes the stack executable < 1502178516 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's ridiculous. < 1502178538 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the whole thing? or just one page < 1502178542 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :either would be pretty bad though < 1502178585 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it strikes me that programs would benefit from multiple (processor-provided) hardware stacks < 1502178604 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :one which only holds return addresses, one which is executable, one for small fixed-size locals, one for allocas, etc. < 1502178604 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :As far as I can tell the whole thing. < 1502178607 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Not being able to allocate writable executable memory isn't very good then it makes it difficult to use self-modifying codes. < 1502178612 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Of course there isn't that much stack in this process. < 1502178613 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the extra cost in registers would be negligible < 1502178622 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But at least the 33 pages labeled [stack] are +x < 1502178631 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :33 pages is a lot < 1502178631 0 :augur!~augur@noisebridge130.static.monkeybrains.net QUIT :Remote host closed the connection < 1502178638 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yep. < 1502178650 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: The Mill does something like that, doesn't it? < 1502178663 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, not quite to that degree. < 1502178677 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Itanium probably does something like that too < 1502178693 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but having the return value stack independent of everything else makes quite a few exploits almost impossible < 1502178730 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :most notably, both the original "overwrite the return address so that it points to data" exploit, and the ROP-based version that gets past W^X < 1502179034 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Oh, it just sets the stack to executable in the ELF flags. < 1502179070 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :This is scow. < 1502179088 0 :^v!v^@me.pxtst.com JOIN :#esoteric < 1502179205 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :would sending the stack pointer to point at part of the executable image be more or less scow? < 1502179208 0 :augur!~augur@208.66.31.98 JOIN :#esoteric < 1502179253 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What do you mean? < 1502179283 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :have a writable part of the executable; instead of writing to the stack, you temporarily shift the stack pointer to point at that part of the executable < 1502179288 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then move it back when the function returns < 1502179302 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why do you need to do that? < 1502179305 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :you don't < 1502179325 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I was trying to think of something that would accomplish similar things as making the stack writable, but was even more ridiculous < 1502179400 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ah. < 1502179426 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You can write to read-only shared executable memory using ptrace. < 1502179431 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's how gdb sets breakpoints and so on. < 1502179441 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Of course at that point it stops being shared. < 1502179473 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :come to think of it, a similar approach that's a bit less ridiculous is to reserve a few "closure slots" in the data segment for each closure to store the values being closed over < 1502179492 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this wouldn't work if the function were recursive, but would work in other cases < 1502179502 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and doesn't require any screwing around with memory protection nor segment discipline < 1502179516 0 :augur!~augur@208.66.31.98 QUIT :Ping timeout: 276 seconds < 1502179528 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I was planning to test with a recursive nested function. < 1502179543 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or rather a recursive nesting function. < 1502179551 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But it turned out not be necessary. < 1502179776 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It might be halfway reasonable to have a per-thread "stack" containing just executable closures. < 1502179835 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that'd interact badly with longjmp, unless you told your longjmp implementation about it specifically < 1502179861 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(and this is less irrelevant than it seems, as longjmp-heavy code is one of the main reasons to want to put random complicated things on the stack) < 1502179872 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Speakinig of which, apparently you can implement longjmp using nested functions. < 1502179882 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You can jump to labels from the nesting function. < 1502179927 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :yes, I think that works < 1502179931 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in fact, it's basically just call/cc < 1502179944 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :with a slightly different call sequence < 1502179976 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why call/cc rather than longjmp? < 1502180010 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because call/cc produces a "continuation" value which is a function that jumps to a particular point when called < 1502180019 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :In my informal mental hierarchy I have something like callcc > coroutines > longjmp < 1502180028 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :I think C should have more track and field sports than just longjmp < 1502180032 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :setjmp doesn't do that; a jmp_buf is a value that's only meaningful to lonjgmp < 1502180039 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*longjmp < 1502180058 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Since callcc can use the same continuation multiple times, and coroutines can switch back and forth, and longjmp can only jump up in the stack. < 1502180069 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so in your case of creating a nested function that creates a jump, you're pretty much literally calling the rest of the code with the current continuation < 1502180100 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :note that the same continuation works multiple times in this case (actually, the same jmp_buf works multiple times with longjmp too, as long as you jump upwards to the same point each time) < 1502180101 0 :TellsTogo!3ecd5d9f@gateway/web/freenode/ip.62.205.93.159 JOIN :#esoteric < 1502180118 0 :TellsTogo!3ecd5d9f@gateway/web/freenode/ip.62.205.93.159 PRIVMSG #esoteric :Is the wiki down? < 1502180122 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess that's true. < 1502180126 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Yes, the wiki is down. < 1502180134 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :switch (setjmp(j)) { case 0: longjmp(j,1); case 1: longjmp(j,2); } < 1502180135 0 :TellsTogo!3ecd5d9f@gateway/web/freenode/ip.62.205.93.159 PRIVMSG #esoteric :Tragic.. < 1502180141 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :not very useful as written, but it works < 1502180159 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :assuming I haven't forgotten C syntax < 1502180180 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which I probably have, given that I have a job working with Java atm < 1502180181 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I would say that you forgot break, but it doesn't do much here. < 1502180226 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :nah, I remembered it and realised it was unnecessary < 1502180259 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I was trying to figure out a good way to make switch statements work for strings in C++. < 1502180269 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I haven't known for sure if the same jmp_buf can be worked multiple times with longjmp, so I used something like: while(setjmp(j)); < 1502180270 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oddly enough, most languages in which the switch-equivalent is called `switch` use some sort of `break` in it, although sometimes as a syntax error if it's omitted < 1502180311 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You can make something like this work: constexpr auto t = foo("a","bc","def"); switch(t(s)) { case t("a"): ...; ... } < 1502180317 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But it's not that great. < 1502180325 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :zzo38: is that even legal? there are very few contexts in which setjmp is allowed, I'm not sure if the test of a while statement is one of them (although the test of an if statement is, so it's plausible) < 1502180337 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also why do I have a PM tab open with myself < 1502180357 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :this client often opens random PM tabs in response to what I assume are accidental clicks but normally they're with other people < 1502180378 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Go has "switch" which doesn't require "break", but it has an explicit "fallthrough" statement. < 1502180379 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :ais523: I know there are only some cases where it is legal, but I believe implicitly comparing the result with a constant (in this case zero) is allowed < 1502180409 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :shachaf: Does FreeBASIC support anything similar? < 1502180410 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :zzo38: is merely comparing with 0 enough by itself? or are there restrictions on how you can use the comparison result, too? < 1502180426 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38: I've never used FreeBASIC. < 1502180511 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :ais523: I think it is allowed in any boolean context, but I think that's all. I think also I have read that it is not allowed to save the result of setjmp or to pass it to anything else though. < 1502180554 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :zzo38: right, the only way you can (legally) check more than two possibilities is to use it as the test of a switch statement < 1502180579 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :however, on most compilers, assigning the result to an int happens to work in practice despite being UB < 1502180636 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :But work-around is nevertheless possible, by making your own variable (or member of a structure, perhaps one that also has the setjmp buffer) to store the values you need to pass. This can also help if you want temporary override of where to jump back to, for example. < 1502180976 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Speaking of Go, did you know that when you cast a type to an interface (or check whether it satisfies an interface), the Go runtime does runtime type checking? < 1502180977 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :zzo38: that's harder if the longjmp is in a signal handler that can be called recursively < 1502180986 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Including string comparison of method names and everything. < 1502181005 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: Java does that too, however it has a more efficient way to do it than string comparison of method names < 1502181016 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :ais523: Yes, although I was not considering signal handlers < 1502181034 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ais523: Well, in Java you declare interface implementations explicitly, right? < 1502181051 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: yes, that's one of the reasons checking is more efficient < 1502181055 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :In Go a type satisfies an interface if it has all the right methods with the right types. < 1502181074 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :IMO anything interface-like should have namespaced method names < 1502181104 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which effectively means that even duck typing has "explicit" interface implementations as you wouldn't be using the interface's namespace otherwise < 1502181119 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I'm not a big fan of the Go approach. < 1502181129 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :is there anything Go does well? < 1502181151 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That depends on what you include in "anything". < 1502181185 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think the designers value simplicity a lot, which is nice. Even if I don't like a lot of their decisions. < 1502181228 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It doesn't manifest itself in any particular feature but it makes for a pleasant experience in some cases. < 1502181269 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :Have you seen my RogueVM designs? It does allow the result of setjmp() to be used in any way, and interface implementations are done by just defining them by a class, but each interface is only two functions (a "read" function and a "write" function), so not quite like interfaces in other programming languages which do more than that I think. < 1502181283 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I think language complexity and capacity for abstraction (beyond what Go has) is very often worth it, but it still has a cost that people don't consider. < 1502181286 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :comparing method names at runtime doesn't fit my definition of "simple" < 1502181292 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :although, hmm < 1502181301 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :something like Tcl is simple in some ways, and extremely complex in other ways < 1502181304 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 JOIN :#esoteric < 1502181332 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What languages have namespaces symbols? < 1502181341 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I know Common Lisp does. < 1502181344 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I guess Rust. < 1502181356 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is it a common feature? < 1502181387 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :MMIX has namespace symbol in a way (although namespaces in MMIX are really just prefixes) < 1502181468 0 :augur!~augur@162.245.20.162 JOIN :#esoteric < 1502181516 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: not as common as it should be < 1502181533 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Java namespaces a lot of things but not method names < 1502181558 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :however, because it has overloading, you can effectively namespace them via dummy parameters belonging to namespaced types < 1502181606 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :How much do you think C++ would benefit from JIT compilation? < 1502181672 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :literal C++, with no changes to make it JIT-friendlier, probably not much < 1502181683 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :there are too many corner cases which assume AOT behaviour < 1502181689 0 :izabera!~izabera@unaffiliated/izabera PRIVMSG #esoteric :profile guided jitting could possibly help in some tight loops < 1502181757 0 :augur!~augur@162.245.20.162 QUIT :Ping timeout: 240 seconds < 1502181759 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :most profilers don't help at all in high-performance C++, due to the lack of hardware instrumentation < 1502181784 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :CERN did switch CINT to llvm recently, though < 1502181820 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :There are already profile-guided AOT optimizers for C++. < 1502181860 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :I guess branch prediction helps, but a lot of code today is memory-bound < 1502181864 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Maybe that's good enough in practice. < 1502182097 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :I wonder if there is any profile-guided optimisation for malloc < 1502182152 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I don't even know how branch prediction is working on most computers, other than MMIX where it is explicit in the program. < 1502182169 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38: The Mill doesn't have branch prediction; instead, it has exit prediction. < 1502182179 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Do you like this? < 1502182202 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :How is exit prediction working? < 1502182226 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :if you can replace each call to malloc with an allocation from a carefully chosen region, it could improve locality < 1502182240 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Instead of having an arbitrary instruction stream, instructions are encoded in EBBs, "extended basic blocks". < 1502182248 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :rust sounds like the ideal candidate for it < 1502182256 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You always jump the beginning of an EBB, and you always exit it at exactly one place. < 1502182291 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :So it predicts which exit it'll take from an EBB. < 1502182324 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Don't be a fool. Go easy on your EBBs. < 1502182334 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :O, OK, well I still don't quite know. < 1502182359 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38: Maybe you should watch the Mill videos. < 1502182419 0 :augur!~augur@162.245.20.162 JOIN :#esoteric < 1502182460 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :shachaf: how are those encoded in the instruction scheme? it strikes me as suspiciously VLIWy if the compiler is meant to specify how they work < 1502182502 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Specify how what work? < 1502182540 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The Mill is indeed suspiciously VLIWy. < 1502182586 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :what's so suspicious about being VLIWy? < 1502182711 0 :augur!~augur@162.245.20.162 QUIT :Ping timeout: 268 seconds < 1502182714 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net QUIT :Ping timeout: 276 seconds < 1502182949 0 :TellsTogo!3ecd5d9f@gateway/web/freenode/ip.62.205.93.159 QUIT :Ping timeout: 260 seconds < 1502183024 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :zzo38: you mean on the CPU level? < 1502183040 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :Most primitive ones just count how many times a jump was taken or not taken < 1502183042 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :then use this < 1502183057 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :well < 1502183060 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You could predict indirect jumps, of course. < 1502183067 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Some C++ code has a lot of virtual function calls. < 1502183068 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :even less primitive ones always assume that a jump is not taken < 1502183074 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I mean JIT, not predict. < 1502183078 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :ah. < 1502183095 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :which is actually quite good I think < 1502183114 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :because then the compiler can just use the right version of the jump (jiz instead of jnz) < 1502183138 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :I know nothing about JIT tho :( < 1502183150 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :edwardk had a tracing JIT for amd64 < 1502183179 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :It finds indirect jumps that usually go to the same address and replaces them with conditional jumps. < 1502183199 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or even just plain jumps, after checking the pointer once. < 1502183204 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Or something. I don't know the details. < 1502183334 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :of course, CPUs already predict indirect jumps and calls < 1502183372 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Sure. < 1502183428 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :though if you can inline them statically, it would reduce predictor cache pressure < 1502183467 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :C++ compilers will try to do this < 1502183496 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But they can do much better with some profiling data presumably? < 1502183510 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Who knows what virtual functions are likely to be called in practice. < 1502183560 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Jafet: VLIW implies that the instruction stream contains redundant data, which turned out in practice to be inferior to just having the processor infer it < 1502183563 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :if the call target is not fixed, the code will still need a branch, and it will still involve CPU branch prediction < 1502183651 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :ais523: yes, but then your cores become complicated and use a lot of power < 1502183655 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But I guess you can, say, move the check outside a loop, and have a common case that just has a direct branch? < 1502183658 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't know. < 1502183689 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :aren't there prefetch instructions? < 1502183706 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :that sounds like a normal loop hoist, which I would expect any C++ compiler to do, though I don't know < 1502183710 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :(for instruction cache) < 1502183744 0 :zzo38!~zzo38@24-207-56-48.eastlink.ca PRIVMSG #esoteric :I happen to like the kind of branch prediction of MMIX, where the programmer will specify what prediction to use, rather than trying to make it automatic. < 1502183810 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :ah. MMIX has those P prefixes < 1502183815 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :what for? < 1502183841 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Jafet: How can it do it without knowing the branch target? < 1502183849 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :Why not just predict "always taken" and then have to use the negated version of jumps if you want it differently? < 1502183869 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :mroman: that makes cold-path exception handlers hard to write < 1502183889 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :because in that situation, you have a number of unlikely jumps from different locations to the same location < 1502183892 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :I have to look up what that is :D < 1502183898 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :you are right, it doesn't know yet < 1502183916 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's IIRC not possible to write in such a way that the non-exceptional path takes every jump, without duplicating the handler < 1502183940 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I believe the normal very simple "compiler specifies branch prediction properties" is to make backwards jumps predict as taken by default, and forward jumps predict as not taken by default < 1502183973 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :as loops generally jump back, right. < 1502183989 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :mroman: exception handler = code that handles an unusual/exceptional circumstance; cold-path = code that could run in theory but rarely actually does < 1502184031 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :ah right < 1502184080 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :what is a negated jump? is that where you squat? < 1502184104 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Jafet: dropping into a buoyant fluid, I guess < 1502184113 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :thus causing you to go temporarily downwards, then rise back upwards < 1502184160 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :Jafet: jnz <-> jiz < 1502184173 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :or jumpIfAbove <-> jumpIfLessOrEqual < 1502184186 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :but it wouldn't really work yes < 1502184193 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*jumpIfBelowOrEqual, surely? < 1502184205 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :most jumps are not selected by programmers, but by the compiler < 1502184218 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :IIRC jump-above and jump-greater are different operations in x86 (most likely it's a signedness difference) < 1502184270 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :they are < 1502184277 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :above/below is unsigned < 1502184277 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :hmm, I wonder if there's an asm where you can jump on arbitrary combinations of status flags < 1502184284 0 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :"jump if odd or equal", that sort of thing < 1502184360 0 :ais523!~ais523@unaffiliated/ais523 QUIT : < 1502186302 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net JOIN :#esoteric < 1502186754 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :jump if prime < 1502186756 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :that'll be usefull < 1502188062 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :DupSwap: Nobody has yet figured out what this is actually useful for. Some say it's useless, other's say... 'Fuck you'. < 1502188132 0 :jaboja!~jaboja@jaboja.pl JOIN :#esoteric < 1502188359 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :I argue DupSwap is a command for copyright reasons < 1502188361 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :like a fake map < 1502188388 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :If somebody were to steal my sets of commands and is stupid enough to also steal DupSwap < 1502188392 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :I have a solid case there! < 1502189397 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-yarkbwjgvmiahrgz QUIT :Remote host closed the connection < 1502190584 0 :ybden!ybden@unaffiliated/ybden QUIT :Excess Flood < 1502190623 0 :ybden!ybden@unaffiliated/ybden JOIN :#esoteric < 1502190963 0 :mtve!~mtve@fortress3.myftp.org QUIT :Ping timeout: 268 seconds < 1502190982 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-pytufrnbudhinren JOIN :#esoteric < 1502190986 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net QUIT :Remote host closed the connection < 1502191074 0 :jix!~jix@jixco.de QUIT :Ping timeout: 268 seconds < 1502191102 0 :jaboja!~jaboja@jaboja.pl QUIT :Ping timeout: 246 seconds < 1502191112 0 :jix!~jix@31.24.148.17 JOIN :#esoteric < 1502191189 0 :mtve!~mtve@fortress3.myftp.org JOIN :#esoteric < 1502191211 0 :jaboja!~jaboja@jaboja.pl JOIN :#esoteric < 1502192022 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net JOIN :#esoteric < 1502192082 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :fungot: how much WIS do you have? < 1502192082 0 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :boily: you the state would have to be there it's just uh attitude like you know like the buddhist philosophy that you know that these children are out there toting the guns and dealing drugs and you know < 1502192481 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :wait < 1502192482 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :what < 1502192523 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 PRIVMSG #esoteric :buddhist philosophy is about children doing guns and dealing drugs. < 1502192632 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :ACTION realigns fungot with current reality < 1502192632 0 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :boily: and she's not sure what else more to say < 1502192644 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :ACTION shakes the fungot a little bit more < 1502192644 0 :fungot!~fungot@momus.zem.fi PRIVMSG #esoteric :boily: like a a money thing here is is the shock of it all in the all in the world < 1502192672 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :ACTION shakes more. just to be sure < 1502192676 0 :LKoen!~LKoen@2a01:e35:2eed:a430:1cc1:6ef5:ecb3:3d6 JOIN :#esoteric < 1502192682 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :fungot: now, what is buddhism? < 1502192787 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 JOIN :#esoteric < 1502193163 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 PRIVMSG #esoteric :" You see, one of the selling points of the 8086 was that it was a purely mechanical process to convert 8080 asm to it..." => sure, that's why they used the same format for the low half of the flags register, such as inverted carry for subtract operation etc. but why did they insist that any instruction must translate to a single instruction < 1502193163 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 PRIVMSG #esoteric : on 8080, as opposed to sometimes translating to a short sequence of instructions? that's put some stupid instructions into the set. < 1502193484 0 :mroman!a055e8c2@gateway/web/freenode/ip.160.85.232.194 QUIT :Ping timeout: 260 seconds < 1502193486 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 PRIVMSG #esoteric :" actually, a good way to think about the 80386 is "Intel learns how to be backwards compatible in a way that doesn't hold back the future too"" => no way. the 386 introduced 16-bit operations that cause register tear. they might not have been able to foresee that, but that has already caused problems near the pentiums. < 1502193587 0 :LKoen!~LKoen@2a01:e35:2eed:a430:1cc1:6ef5:ecb3:3d6 QUIT :Remote host closed the connection < 1502193688 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 PRIVMSG #esoteric :" it strikes me that programs would benefit from multiple (processor-provided) hardware stacks" => the problem with that is that it's inefficient to know how much of each stack you want to pop when you exit frames. < 1502193901 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :hm, citeseer's cache is currently not working < 1502193917 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :fortunately, google has cached citeseer's cache < 1502193966 0 :Jafet!~jafet@unaffiliated/jafet PRIVMSG #esoteric :perhaps I should also download a local copy of this paper < 1502194166 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 PRIVMSG #esoteric :" is there anything Go does well?" => sure, there's a lot of things that most modern programming languages do well, and go doesn't mess up either. also, marketing. < 1502194235 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 PRIVMSG #esoteric :" What languages have namespaces symbols?" => C++, rust < 1502194428 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :don't Java's dot also count as a namespace symbol, with its static methods, and `import static`? < 1502194444 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net JOIN :#esoteric < 1502194508 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 PRIVMSG #esoteric :boily: I think it's a typo for "namespaced symbols" from context < 1502194519 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net PRIVMSG #esoteric :oh. < 1502194646 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 PRIVMSG #esoteric :" I don't even know how branch prediction is working on most computers, other than MMIX where it is explicit in the program." => some generation of x86 allowed taken/not-taken hints for short branch instructions, and in a backwards compatible way too, < 1502194706 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 PRIVMSG #esoteric :but they don't do anything now, which makes sense, because how the cpu does branch prediction changes every few years so any hint that made sense in older cpus might actually make your program perform worse than the no-hint prediction in modern cpus < 1502194777 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 PRIVMSG #esoteric :even on MMIX I think the prediction bit is used only on cheaper versions of the hardware, like 486 level < 1502194989 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 PRIVMSG #esoteric :" what is a negated jump? is that where you squat? Jafet: dropping into a buoyant fluid, I guess thus causing you to go temporarily downwards, then rise back upwards" lol < 1502195088 0 :wob_jonas!b03f192f@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.25.47 QUIT :Quit: http://www.kiwiirc.com/ - A hand crafted IRC client < 1502195383 0 :boily!~alexandre@cable-192.222.245.222.electronicbox.net QUIT :Quit: LADY CHICKEN < 1502196691 0 :augur!~augur@162.245.20.162 JOIN :#esoteric < 1502196993 0 :augur!~augur@162.245.20.162 QUIT :Ping timeout: 268 seconds < 1502197093 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-pytufrnbudhinren QUIT :Changing host < 1502197093 0 :Lord_of_Life!Elite12246@unaffiliated/lord-of-life/x-0885362 JOIN :#esoteric < 1502197093 0 :Lord_of_Life!Elite12246@unaffiliated/lord-of-life/x-0885362 QUIT :Changing host < 1502197093 0 :Lord_of_Life!Elite12246@gateway/shell/elitebnc/x-pytufrnbudhinren JOIN :#esoteric < 1502200847 0 :doesthiswork!~Adium@207.55.82.87 JOIN :#esoteric < 1502202205 0 :xkapastel!uid17782@gateway/web/irccloud.com/x-xmyiswbqkidrotfn JOIN :#esoteric < 1502202371 0 :`^_^v!~nycs@gw.hq.meetup.com JOIN :#esoteric < 1502202392 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net QUIT :Remote host closed the connection < 1502202737 0 :Mayoi!~erkin@unaffiliated/erkin JOIN :#esoteric < 1502202937 0 :erkin!~erkin@unaffiliated/erkin QUIT :Ping timeout: 240 seconds < 1502203763 0 :Cale!~cale@2607:fea8:98df:fd6a:f408:fd26:a671:ea81 QUIT :Remote host closed the connection < 1502203846 0 :Cale!~cale@2607:fea8:98df:fd6a:39bb:90fb:d6b6:e724 JOIN :#esoteric < 1502203960 0 :doesthiswork!~Adium@207.55.82.87 QUIT :Quit: Leaving. < 1502204245 0 :doesthiswork!~Adium@207.55.82.87 JOIN :#esoteric < 1502204452 0 :jaboja!~jaboja@jaboja.pl QUIT :Ping timeout: 260 seconds < 1502204897 0 :ATMunn!~ATMunn@cpe-107-11-5-29.columbus.res.rr.com JOIN :#esoteric < 1502204897 0 :ATMunn!~ATMunn@cpe-107-11-5-29.columbus.res.rr.com QUIT :Changing host < 1502204897 0 :ATMunn!~ATMunn@unaffiliated/atmunn26 JOIN :#esoteric < 1502204967 0 :AnotherTest!~turingcom@71.189.202.62.dynamic.cgnat.res.cust.swisscom.ch JOIN :#esoteric < 1502206270 0 :Cale!~cale@2607:fea8:98df:fd6a:39bb:90fb:d6b6:e724 QUIT :Ping timeout: 276 seconds < 1502206521 0 :Cale!~cale@2607:fea8:98e0:6f5:39bb:90fb:d6b6:e724 JOIN :#esoteric < 1502206561 0 :Mayoi!~erkin@unaffiliated/erkin QUIT :Quit: Ouch! Got SIGABRT, dying... < 1502207251 0 :AnotherTest!~turingcom@71.189.202.62.dynamic.cgnat.res.cust.swisscom.ch QUIT :Ping timeout: 246 seconds < 1502207263 0 :AnotherTest!~turingcom@2a02:1206:45b8:4a31:fe:7861:5ed:8fe6 JOIN :#esoteric < 1502207273 0 :contrapumpkin!~copumpkin@haskell/developer/copumpkin JOIN :#esoteric < 1502207279 0 :Cale!~cale@2607:fea8:98e0:6f5:39bb:90fb:d6b6:e724 QUIT :Ping timeout: 255 seconds < 1502207290 0 :Cale!~cale@CPEf48e38ee8583-CM0c473de9d680.cpe.net.cable.rogers.com JOIN :#esoteric < 1502207751 0 :LKoen!~LKoen@2a01:e35:2eed:a430:f06e:ff65:98bf:cf7e JOIN :#esoteric < 1502208515 0 :jaboja!~jaboja@jaboja.pl JOIN :#esoteric < 1502209148 0 :LKoen!~LKoen@2a01:e35:2eed:a430:f06e:ff65:98bf:cf7e QUIT :Remote host closed the connection < 1502210556 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :humans. < 1502210562 0 :btiffin!~chatzilla@CPE0c473de9ff81-CM0c473de9ff80.cpe.net.cable.rogers.com JOIN :#esoteric < 1502211469 0 :AnotherTest!~turingcom@2a02:1206:45b8:4a31:fe:7861:5ed:8fe6 QUIT :Ping timeout: 255 seconds < 1502211974 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :Damn it, the wiki is still down?! < 1502212030 0 :FreeFull!~freefull@defocus/sausage-lover JOIN :#esoteric < 1502212233 0 :zseri!5e86db0c@gateway/web/freenode/ip.94.134.219.12 JOIN :#esoteric < 1502212556 0 :erkin!~erkin@unaffiliated/erkin JOIN :#esoteric < 1502212968 0 :AnotherTest!~turingcom@2a02:1206:45b8:4a31:fe:7861:5ed:8fe6 JOIN :#esoteric < 1502213996 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :https://www.wykop.pl/cdn/c3201142/comment_4PbmfLgqbbQCMtbgNxVNKuLOf77gTHsi.jpg < 1502214085 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :everyone calls an integral an integral, except poles, who call it a calka < 1502214141 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :and icelanders, but that's probably on purpose < 1502214208 0 :AnotherTest!~turingcom@2a02:1206:45b8:4a31:fe:7861:5ed:8fe6 QUIT :Ping timeout: 240 seconds < 1502214259 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net JOIN :#esoteric < 1502214596 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 JOIN :#esoteric < 1502214684 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :why the fuck do people do a 2d plot of something like records of something over time and connect the data points with straight lines instead of stairs? straight lines makes no sense! the record doesn't even approximate going down linearly, it has jumps when someone gets a new record. < 1502214695 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :it's so stupid < 1502214703 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :so many annoying stupid plots < 1502215104 0 :Cale!~cale@CPEf48e38ee8583-CM0c473de9d680.cpe.net.cable.rogers.com PRIVMSG #esoteric :If you think that's dumb, consider 3D pie charts < 1502215123 0 :jaboja!~jaboja@jaboja.pl QUIT :Ping timeout: 268 seconds < 1502215135 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :Cale: or 3D bar charts with crazy close perspectives, in plots where there's absolutely no need for any 3D. I know. < 1502215189 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :http://www.businessinsider.com/the-27-worst-charts-of-all-time-2013-6?op=1 < 1502215231 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net QUIT :Remote host closed the connection < 1502215261 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :Also, I just saw some charts where the numbers on the Y axis were truncated in the image, so all you could see is "5%" "0%" "5%" "0%" "5%" with no way to tell the first digit < 1502215316 0 :LKoen_!~LKoen@2a01:e35:2eed:a430:7d16:fa83:8500:3077 JOIN :#esoteric < 1502215376 0 :btiffin!~chatzilla@CPE0c473de9ff81-CM0c473de9ff80.cpe.net.cable.rogers.com QUIT :Remote host closed the connection < 1502215544 0 :AnotherTest!~turingcom@2a02:1206:45b8:4a31:fe:7861:5ed:8fe6 JOIN :#esoteric < 1502215610 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :\oren\: wow < 1502216216 0 :AnotherTest!~turingcom@2a02:1206:45b8:4a31:fe:7861:5ed:8fe6 QUIT :Ping timeout: 255 seconds < 1502216584 0 :zseri!5e86db0c@gateway/web/freenode/ip.94.134.219.12 QUIT :Ping timeout: 260 seconds < 1502216741 0 :AnotherTest!~turingcom@2a02:1206:45b8:4a31:fe:7861:5ed:8fe6 JOIN :#esoteric < 1502216877 0 :LKoen_!~LKoen@2a01:e35:2eed:a430:7d16:fa83:8500:3077 QUIT :Remote host closed the connection < 1502216881 0 :jaboja!~jaboja@jaboja.pl JOIN :#esoteric < 1502217246 0 :zseri!5e86db0c@gateway/web/freenode/ip.94.134.219.12 JOIN :#esoteric < 1502217349 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Cale: Hale < 1502217353 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :3D pie charts are delicious < 1502217444 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What is the meaning of the trace of a linear map? < 1502217528 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :shachaf: sum of eigenvalues? < 1502217548 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :also sum of elements in diagonals < 1502217616 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :shachaf: basically, if you have a linear map from a space to the same space, and you change coordinates (on both sides), the eigenvalues don't change, and so the multiset of eigenvalues is an important invariant. but < 1502217678 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :the multiset of invariants is a multiset, which is a bit ugly, so sometimes you want specific scalar-valued statistics from it, and the most important ones are the determinant (product of eigenvalues), trace (sum of eigenvalues), eigenvalue with largest absolute value, and the ratio of the eigenvalues with the largest and second largest eigenvalues < 1502217690 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :these come up in a few places, but I don't quite remember where < 1502217712 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, so it is. < 1502217726 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :the trace is also funny because it satisfies a somewhat simple equality Tr(ABC)=Tr(BCA), which isn't as simple as the determinant one, but still comes up sometimes < 1502217745 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :maybe physicists can tell more about why the trace is important < 1502217752 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :it seems to come up in physics < 1502217764 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :and tensors and stuff < 1502220384 0 :jaboja!~jaboja@jaboja.pl QUIT :Ping timeout: 260 seconds < 1502220651 0 :jaboja!~jaboja@jaboja.pl JOIN :#esoteric < 1502220695 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net JOIN :#esoteric < 1502220896 0 :Herbstkind!~S1@ip4d16fc7a.dynamic.kabel-deutschland.de JOIN :#esoteric < 1502220896 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :There are somewhat subjective questions like "What's the difference between X and Y?" that if you try to research on the internet, you find only vague answers like "I use X because it seems to work better for me" and answers that are trying to sell something "X is definitely better in all cases for the following five reasons: (long explanation), oh < 1502220897 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric : and buy the way, buy our new X+ for just 99 dollars". < 1502221231 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :wob_jonas, what was the book you were buying yesterday < 1502221294 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :Taneb: ''Arany János Balladái Zichy Mihály rajzaival''. (2016) Kossuth Kiadó, MTA Könyvtár és Információs Központ – Országos Széchényi Könyvtár, ISBN: 978-963-09-8596-3. A kiadás alapja azonos címmel (I–IV. kötet), Budapest, Ráth Mór, 1895–1898. < 1502221310 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :nice facsimile of the old four volume book set with Zichy's beautiful drawings < 1502221422 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :totally in public domain, except possibly a single essay on page 69, which is only pretty likely in public domain and doesn't matter anyway, so I'm going to try to scan it in as high quality as I can get, clean it up, and upload to commons.wikimedia so everyone can access < 1502221450 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :it's such a beautiful collection of drawings that it totally deserves a complete reproduction on the internet < 1502221486 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :the destroyed book plus scanning will cost me less than 10000 HUF in total, which I will gladly pay for this < 1502221491 0 :sleffy!~sleffy@c-24-7-67-0.hsd1.ca.comcast.net JOIN :#esoteric < 1502221501 0 :LKoen!~LKoen@vbo91-1-82-238-218-67.fbx.proxad.net QUIT :Remote host closed the connection < 1502221627 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1502221660 0 :erkin!~erkin@unaffiliated/erkin QUIT :Remote host closed the connection < 1502222339 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 QUIT :Quit: http://www.kiwiirc.com/ - A hand crafted IRC client < 1502222360 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 JOIN :#esoteric < 1502222509 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 QUIT :Client Quit < 1502222871 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover JOIN :#esoteric < 1502223217 0 :MDude!~MDude@c-73-187-225-46.hsd1.pa.comcast.net QUIT :Ping timeout: 240 seconds < 1502223958 0 :imode!~imode@unaffiliated/imode JOIN :#esoteric < 1502224565 0 :jaboja!~jaboja@jaboja.pl QUIT :Ping timeout: 240 seconds < 1502225319 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net JOIN :#esoteric < 1502225914 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :hi hppavilion[1]. < 1502225929 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net PRIVMSG #esoteric :hi rdococ. I just got dilated < 1502226697 0 :augur!~augur@noisebridge130.static.monkeybrains.net JOIN :#esoteric < 1502226718 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :O_o http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html < 1502226726 0 :AnotherTest!~turingcom@2a02:1206:45b8:4a31:fe:7861:5ed:8fe6 QUIT :Ping timeout: 255 seconds < 1502226786 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :nested functions + function pointers ≈ first-class functions < 1502227556 0 :zseri!5e86db0c@gateway/web/freenode/ip.94.134.219.12 QUIT :Quit: Page closed < 1502227611 0 :fizzie!?@? PRIVMSG #esoteric :Hey, the server is answering SSH now. < 1502227619 0 :fizzie!?@? PRIVMSG #esoteric :But it seems to be having some amount of trouble. < 1502227620 0 :PinealGlandOptic!~PinealGla@82.144.205.57 JOIN :#esoteric < 1502227651 0 :fizzie!?@? PRIVMSG #esoteric :"Write-error on swap-device (254:1:178952)" "end_request: I/O error, dev sda, sector 25058568" "EXT4-fs error (device dm-0) in ext4_evict_inode:243: Journal has aborted" < 1502227657 0 :fizzie!?@? PRIVMSG #esoteric :Doesn't sound terribly healthy. < 1502227727 0 :fizzie!?@? PRIVMSG #esoteric :There's also 1254 processes marked "[sshd] ". < 1502227754 0 :fizzie!?@? PRIVMSG #esoteric :Wonder if a reboot would be a good idea. < 1502227761 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :ribbit < 1502227808 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :if there are 1254 processes then possibly it hasn't rebooted in a while < 1502227821 0 :fizzie!?@? PRIVMSG #esoteric :Not in 31 days. < 1502227837 0 :fizzie!?@? PRIVMSG #esoteric :Though most of those processes are from today or Aug 5th, for whatever reason. < 1502227854 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :was Aug 5th when it first disappeared? < 1502227861 0 :fizzie!?@? PRIVMSG #esoteric :They also all have systemd's init process as parent. < 1502227895 0 :fizzie!?@? PRIVMSG #esoteric :"Aug 5 02:17:41" is when syslog stops, so I'm guessing yes. < 1502227911 0 :fizzie!?@? PRIVMSG #esoteric :I guess a reboot is unlikely to make it any *more* broken than it currently is. < 1502227918 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :wheee < 1502227963 0 :fizzie!?@? PRIVMSG #esoteric :Looks like it's mounted / as read-only as well, presumably due to the errors. < 1502227983 0 :fizzie!?@? PRIVMSG #esoteric :Of course there's the chance that it won't come back up after a reboot, so maybe I should run my backup script to a temporary location just in case. < 1502227986 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :it's like a chicken walked up to a mountain and pecked the ground, causing a landslide that took a billion computers with it < 1502228382 0 :fizzie!?@? PRIVMSG #esoteric :Looks like mysql isn't up enough to do the backups, anyway. < 1502228393 0 :fizzie!?@? PRIVMSG #esoteric :Oh well, I still have a copy up to Aug 1st. < 1502228397 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :Actually cooked for the first time in years < 1502228463 0 :fizzie!?@? PRIVMSG #esoteric :Heh, rebooting doesn't work. < 1502228464 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What food did you invent? < 1502228475 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :Cheese and Too Much Ham Omelette < 1502228479 0 :fizzie!?@? PRIVMSG #esoteric :"Failed to start reboot.target: Activation of org.freedesktop.systemd1 timed out" "Failed to open initctl FIFO: No such device or address" "Failed to talk to init daemon." < 1502228513 0 :fizzie!?@? PRIVMSG #esoteric :Taneb: As a marketing trick, maybe call it "Cheese and Extreme Ham Omelette" if you're starting a restaurant. < 1502228622 0 :Taneb!~Taneb@2001:41c8:51:10d:: PRIVMSG #esoteric :fizzie, I think I'll stay feeling like an imposter in software development for now < 1502228797 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :cheese and 04E08X09T11R12E13M04E jam omelette < 1502228974 0 :AnotherTest!~turingcom@71.189.202.62.dynamic.cgnat.res.cust.swisscom.ch JOIN :#esoteric < 1502229444 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric : . o O ( Are there esolangs with support for anonymous, first-class functions, but not closures? I'd say langs in general, but it seems odd enough to me that it would be considered esoteric ) <-- iirc FALSE might count... < 1502229501 0 :Herbstkind!~S1@ip4d16fc7a.dynamic.kabel-deutschland.de QUIT :Quit: Leaving < 1502229526 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :I considered the possibility of using partial application or currying to simulate anonymous functions, and function pointers to simulate higher-ordered functions. < 1502229536 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :i recall when translating my :()^ TC proof from underload to it, it was essential that no dynamically built functions were required. < 1502229553 0 :hppavilion[1]!~dosgmowdo@58-0-174-206.gci.net QUIT :Ping timeout: 268 seconds < 1502229708 0 :AnotherTest!~turingcom@71.189.202.62.dynamic.cgnat.res.cust.swisscom.ch QUIT :Ping timeout: 260 seconds < 1502229816 0 :AnotherTest!~turingcom@71.189.202.62.dynamic.cgnat.res.cust.swisscom.ch JOIN :#esoteric < 1502230879 0 :AnotherTest!~turingcom@71.189.202.62.dynamic.cgnat.res.cust.swisscom.ch QUIT :Ping timeout: 276 seconds < 1502231609 0 :LKoen!~LKoen@2a01:e35:2eed:a430:8c5d:5d21:587d:4abd JOIN :#esoteric < 1502232123 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :Concept: esolangs where functions can not only be passed around as parameters, but their very mechanics can be modified - each individual step in the function is a unit in itself. < 1502232176 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 JOIN :#esoteric < 1502232189 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :rdococ: like emacs lisp, or (sort of) postscript, or, you know, machine code? < 1502232202 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :maybe? < 1502232285 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :it's possible to modify code in a lot of languages that allow memory access, it's just very often very nonportable against different implementations, including later ones that are better optimized, which is why people don't like it < 1502232293 0 :tswe_tt!~tswett@unaffiliated/tswett QUIT :Read error: Connection reset by peer < 1502232319 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :people have modified BASIC code even in BASIC-era personal computers, mostly to get around various limitations of BASIC or tight memory limits < 1502232323 0 :rdococ!rdococ@unaffiliated/rdococ PRIVMSG #esoteric :True, but I was considering a high-level approach in which modifying functions remains consistent between implementations, due to the fact that it is in the specification. < 1502232381 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :that's possible because those interpreters usually store the BASIC code in a rather straightforward way, as a list of characters with keywords represented as one or two byte shortcuts per line, and some sort of linked list structure to link the lines < 1502232591 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :such tricks were not done often, because once you go to so much trouble to learn about the guts of the machine, it's usually better to just write most of your program in machine code with very little use of BASIC, but they did exist < 1502232681 0 :imode!~imode@unaffiliated/imode PRIVMSG #esoteric :then there are the forth people. < 1502232974 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :one crazy hack you could do this way is to use the same loop for reading and writing all variables and array items of game state to/from a savefile in a game, with special code to switch the statement between WRITE and INPUT in the lines of code < 1502233023 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 PRIVMSG #esoteric :this was necessary on the C64 because its basic didn't have a FIELD statement (nor MKI/CVI functions for that matter, although that wouldn't help here at all), so you saved text to the casette. what a waste! < 1502233757 0 :`^_^v!~nycs@gw.hq.meetup.com QUIT :Quit: This computer has gone to sleep < 1502234008 0 :wob_jonas!b03f189e@gateway/web/cgi-irc/kiwiirc.com/ip.176.63.24.158 QUIT :Quit: http://www.kiwiirc.com/ - A hand crafted IRC client < 1502234142 0 :Hoolootwo!~Hoolootwo@hooloovoo.blue PRIVMSG #esoteric :yeah, that sounds like how I use assembly, at least for tight loops < 1502234149 0 :Hoolootwo!~Hoolootwo@hooloovoo.blue PRIVMSG #esoteric :(on z80) < 1502234388 0 :btiffin!~chatzilla@CPE0c473de9ff81-CM0c473de9ff80.cpe.net.cable.rogers.com JOIN :#esoteric < 1502234853 0 :btiffin!~chatzilla@CPE0c473de9ff81-CM0c473de9ff80.cpe.net.cable.rogers.com QUIT :Remote host closed the connection < 1502234933 0 :HackEgo!~HackEgo@162.248.166.242 JOIN :#esoteric < 1502235012 0 :fizzie!?@? PRIVMSG #esoteric :Hoo. < 1502235028 0 :fizzie!?@? PRIVMSG #esoteric :Looks like that worked. < 1502235045 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :HiEgo < 1502235074 0 :fizzie!?@? PRIVMSG #esoteric :systemd was totally hosed and refused to play ball, but there was a rw-mounted filesystem at /boot, so could stick in there a program that just called the reboot syscall. < 1502235118 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :Hacky. < 1502235155 0 :fizzie!?@? PRIVMSG #esoteric :So far there aren't even any IO errors in dmesg, and the web server is back up as well. < 1502235163 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :fizzie: Fortunately we're running regular fshg backups, right? < 1502235169 0 :fizzie!?@? PRIVMSG #esoteric :shachaf: Yes, we are. < 1502235187 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no TOPIC #esoteric :http://esolangs.org/ is back, bimetal prismack nowhere to be found | logs: http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | https://www.dropbox.com/s/fyhqyvy3i8oh25m/wisdom.pdf | ICFP contest ends on 2017-08-07 < 1502235192 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :hurray, I got a raise! < 1502235198 0 :fizzie!?@? PRIVMSG #esoteric :I had a copy up to slwd decadent//s,.,A,;s,$,., < 1502235214 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :\oren\: raise dead?! < 1502235215 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :famous last hacks < 1502235225 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I didn't know \oren\ was a vampire. < 1502235228 0 :fizzie!?@? PRIVMSG #esoteric :(It's once a week, not quite up to continuous integration standards.) < 1502235252 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :oerjan: What's going on with olist, by the way? < 1502235258 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What's what'shisname planning? < 1502235299 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :shachaf: no I got a raise in salry < 1502235323 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :shachaf: it appears to be going into fart joke territory hth < 1502235410 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :\oren\ sprø som salry < 1502235414 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :shachaf: i'm vaguely assuming durkon is trying to get the vampire to misunderstand some memories in a fatal way. just not sure he's succeeding much... < 1502235437 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :oerjan: he seems to be p. pleased with whatever he's doing < 1502235542 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :🤑 < 1502235542 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :💰 < 1502235542 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :🏦 < 1502235543 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :! < 1502235578 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :economoji < 1502235601 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :also I watched the emoji movie < 1502235617 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :it was terrible < 1502235639 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why did you watch it? < 1502235662 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :becuase I wanted to knwo how bad it is < 1502235672 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`unidecode 🤑 💰 🏦 < 1502235674 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :U+1F911 MONEY-MOUTH FACE \ UTF-8: f0 9f a4 91 UTF-16BE: d83edd11 Decimal: 🤑 \ 🤑 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+0020 SPACE \ UTF-8: 20 UTF-16BE: 0020 Decimal: \ \ Category: Zs (Separator, Space) \ Bidi: WS (Whitespace) \ \ U+1F4B0 MONEY BAG \ UTF-8: f0 9f 92 b0 UTF-16BE: d83ddcb0 Decimal: < 1502235686 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`unidecode 🤑💰🏦 < 1502235687 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :U+1F911 MONEY-MOUTH FACE \ UTF-8: f0 9f a4 91 UTF-16BE: d83edd11 Decimal: 🤑 \ 🤑 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+1F4B0 MONEY BAG \ UTF-8: f0 9f 92 b0 UTF-16BE: d83ddcb0 Decimal: 💰 \ 💰 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+1F3E6 BANK \ UTF-8: f0 9f 8f a6 UTF-16BE < 1502235691 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :. o O ( and now you know. and knowing is half the battle. ) < 1502235744 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :in emojis < 1502235763 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`unicode 🤑💰🏦 < 1502235764 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :U+1F911 MONEY-MOUTH FACE \ UTF-8: f0 9f a4 91 UTF-16BE: d83edd11 Decimal: 🤑 \ 🤑 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+1F4B0 MONEY BAG \ UTF-8: f0 9f 92 b0 UTF-16BE: d83ddcb0 Decimal: 💰 \ 💰 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+1F3E6 BANK \ UTF-8: f0 9f 8f a6 UTF-16BE < 1502235768 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm. < 1502235777 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Wasn't there a thing that gave a more concise output? < 1502235790 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :`unidecode 🤑💰🏦 < 1502235791 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :U+1F911 MONEY-MOUTH FACE \ UTF-8: f0 9f a4 91 UTF-16BE: d83edd11 Decimal: 🤑 \ 🤑 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+1F4B0 MONEY BAG \ UTF-8: f0 9f 92 b0 UTF-16BE: d83ddcb0 Decimal: 💰 \ 💰 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals) \ \ U+1F3E6 BANK \ UTF-8: f0 9f 8f a6 UTF-16BE < 1502235825 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :shachaf: the concise output only works if all the characters are within the ancient version of python's unicode library < 1502235832 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Ah. < 1502235838 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :imo fix it twh < 1502235855 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :that would probably require upgrading HackEgo's python. < 1502235869 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :money mouth, bag with dolar sign, bank < 1502235878 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Why? Just change the printing format for the fallback. < 1502235933 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :🏧 < 1502235976 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :http://www.edgarmcherly.com/spider_rumor.htm < 1502235993 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :In the time it took me to find that comic I forgot why I was looking for it. < 1502236014 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :the fallback is to a more general unicode lookup program that isn't just for characters. < 1502236022 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :`multicode LATIN < 1502236023 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :U+0041 LATIN CAPITAL LETTER A \ UTF-8: 41 UTF-16BE: 0041 Decimal: A \ A (a) \ Lowercase: U+0061 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ \ U+0042 LATIN CAPITAL LETTER B \ UTF-8: 42 UTF-16BE: 0042 Decimal: B \ B (b) \ Lowercase: U+0062 \ Category: Lu (Letter, Uppercase) \ Bidi: L (Left-to-Right) \ \ U+0043 LATIN C < 1502236088 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :i suppose `unidecode could try to parse the output of that. < 1502236110 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Doesn't it have Unicode data in a more convenient format? < 1502236158 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :`` multicod🏧e < 1502236159 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :​/hackenv/bin/`: line 5: $'multicod\360\237\217\247e': command not found < 1502236175 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :I fail < 1502236175 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :well right, it's using share/unicodedata.txt or whatever < 1502236250 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :`` cat share/unic* < 1502236250 0 :HackEgo!~HackEgo@162.248.166.242 PRIVMSG #esoteric :0000 NULL [.] \ 0001 START OF HEADING [.] \ 0002 START OF TEXT [] \ 0003 END OF TEXT [] \ 0004 END OF TRANSMISSION [] \ 0005 ENQUIRY [] \ 0006 ACKNOWLEDGE [] \ 0007 BELL [] \ 0008 BACKSPACE [] \ 0009 CHARACTER TABULATION [ ] \ 000A LINE FEED (LF) [ \ ] \ 000B LINE TABULATION < 1502236269 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :hum. < 1502236272 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :https://www.youtube.com/watch?v=LcT2Cx1Rbd8 < 1502236316 0 :oerjan!~oerjan@hagbart.nvg.ntnu.no PRIVMSG #esoteric :well i don't know how to do it, anyway. < 1502236371 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :\oren\: Are they no longer underpaying you? < 1502236383 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You should try to get even more money. Maybe get a top hat and be a proper capitalist. < 1502236431 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :imo move to america < 1502236447 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :and maybe oppress some people? < 1502236463 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :who would I opress in america, fat people < 1502236464 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :? < 1502236475 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :What did they do to you? < 1502236545 0 :\oren\!~oren@ec2-52-2-213-98.compute-1.amazonaws.com PRIVMSG #esoteric :i mean most people in america are already pretty oppressed < 1502236569 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Right, so they're used to it. < 1502236753 0 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :We're used to it? How do I measure how oppressed I am?