< 1357172461 893405 :carado!~user4539@2a01:e35:8b61:e430:6ef0:49ff:fe73:1fd0 QUIT :Ping timeout: 246 seconds < 1357172807 711048 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl QUIT :Ping timeout: 255 seconds < 1357173417 936195 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl JOIN :#esoteric < 1357173498 411285 :Vorpal!~Vorpal@unaffiliated/vorpal QUIT :Ping timeout: 276 seconds < 1357174101 515568 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :r5k1/1bqp2pp/1p2p1r1/3P1p2/2P5/1Q1N3n/P4PPP/R1R2B1K b - - 0 23 < 1357175205 860569 :Sgeo!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I thought some spammer got in here until I saw it was zzo38 < 1357175228 603718 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i don't think that's a valid URL < 1357175235 883058 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl QUIT :Ping timeout: 248 seconds < 1357175247 557324 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Everything that glitters is not an URL. < 1357175256 956171 :Sgeo!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Spammers aren't known for always actually giving URLs < 1357175265 157192 :Sgeo!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Despite that being the sensible thing to do < 1357175294 258107 :TeruFSX!~TeruFSX@65-128-142-102.mpls.qwest.net QUIT :Ping timeout: 252 seconds < 1357175474 321509 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :No try it making the URL. < 1357175488 144340 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Tell them it is the URL. < 1357175493 109190 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Even if it isn't < 1357175610 557443 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Fiora: yo magnus is on the wikipedia frontpage :P < 1357175621 220745 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :I saw! < 1357175653 562969 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :How often do you check the Wikipedia frontpage? < 1357175659 918140 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :once a day < 1357175665 918480 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :ish, yeah < 1357175696 504661 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :just after 0:00 UTC-ish, if i'm online then < 1357175796 172742 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :since that is when most of the panels update < 1357176033 262832 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Ngô Đình Diệm sounds like the nicest guy < 1357176090 369486 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :ha < 1357176146 92907 :Sgeo!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Maybe I will go ahead and write mamb for Racket < 1357176997 96799 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Do you know of QR code implementation in TeX? < 1357177311 972674 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :hm it should really be Élő rating >:) < 1357177357 367115 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :oerjan: Should it be? I didn't know that. < 1357177389 529254 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :the > means i'm not _entirely_ serious. < 1357177432 361765 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :he was only 10 years old when he moved to the us, so probably didn't use the accents much < 1357177435 700462 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I am not _entirely_ serious either. < 1357177872 728987 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :speaking of wikipedia, today's featured article < 1357177875 291307 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :"He ultimately received over 386,000 more votes than the total number of registered voters." < 1357177982 39548 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :as i said, the nicest guy < 1357178338 331081 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :also has an even more inglorious death than your average coup victim < 1357178638 242852 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :oerjan: best quote pairing ever < 1357178675 410178 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :quintopia: erm, what? < 1357178713 327254 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION demands context for that statement < 1357178815 172442 :TeruFSX!~TeruFSX@65-128-142-102.mpls.qwest.net JOIN :#esoteric < 1357178829 196180 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :quintopia: i have no idea what you are referring to < 1357178972 986303 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION hits quintopia with the saucepan ===\__/ < 1357179492 653085 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :the canada quotes < 1357179553 844155 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ah < 1357184024 614258 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Remote host closed the connection < 1357185469 847425 :DH____!~DH____@unaffiliated/dh----/x-6288474 QUIT :Read error: Connection reset by peer < 1357185490 919048 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1357185499 789024 :oerjan!oerjan@sprocket.nvg.ntnu.no QUIT :Quit: Good night < 1357185557 202303 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Ping timeout: 252 seconds < 1357185590 301297 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1357185679 883304 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 QUIT :Read error: Connection reset by peer < 1357186184 65719 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :?`quote < 1357186184 236949 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :contrapumpkin says: like yoda, I speak now < 1357186186 766186 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :buh < 1357186189 287998 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :`quote < 1357186190 462094 :HackEgo!codu@codu.org PRIVMSG #esoteric :429) If in some day, I publish some book, that might include some of the programs I have written too, but also some other books, possibly. However I never yet publish any book. < 1357186301 403768 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :`quote < 1357186302 718181 :HackEgo!codu@codu.org PRIVMSG #esoteric :343) Fiddle. It makes a big difference, you know. < 1357186310 709005 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :@zzo38_ebooks < 1357186310 880405 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Unknown command, try @list < 1357186633 889490 :hagb4rd2!~perdito@koln-4db426e1.pool.mediaWays.net QUIT :Read error: Connection reset by peer < 1357186848 710965 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :What is (\f x -> f x x) commonly referred to as? Hoogle and Hayoo are failing < 1357186870 56286 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :dup? < 1357186876 292630 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :oh < 1357186881 832813 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :you mean the lambda thing < 1357186883 850334 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :ah < 1357187006 147683 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Well, I was searching by type signature < 1357187331 41552 :copumpkin!~copumpkin@unaffiliated/copumpkin PRIVMSG #esoteric ::t join < 1357187332 402293 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Monad m => m (m a) -> m a < 1357187482 804626 :WeThePeople!~WeThePeop@unaffiliated/wethepeople QUIT :Quit: Leaving < 1357188143 254838 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Quit: Computer has gone to sleep. < 1357188704 819730 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1357189216 62799 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 QUIT :Read error: Connection reset by peer < 1357189221 845062 :DH____!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1357189504 56024 :DH____!~DH____@unaffiliated/dh----/x-6288474 QUIT :Read error: Connection reset by peer < 1357189509 869809 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1357189615 359611 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :*sigh* < 1357190062 212243 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :apparently the Galaksija microcomputer had three error messages: "WHAT?", "HOW?", and "SORRY" < 1357190586 964629 :WeThePeople!~WeThePeop@unaffiliated/wethepeople JOIN :#esoteric < 1357190825 50609 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 QUIT :Read error: Connection reset by peer < 1357191059 613374 :TeruFSX!~TeruFSX@65-128-142-102.mpls.qwest.net QUIT :Ping timeout: 255 seconds < 1357191145 579324 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :someone paste me the character for bottom < 1357191180 315950 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1357191195 211888 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :⊥ < 1357191235 340084 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :thx < 1357191305 820335 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :Deewiant: can i get a \exists too? < 1357191346 110603 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :https://en.wikipedia.org/wiki/Table_of_mathematical_symbols < 1357191359 150879 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :I can't figure out a compose-key combo for that one < 1357191379 421288 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :i take it back < 1357191400 63150 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :what i need is a backwards lowercase e < 1357191437 308405 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :ɘ < 1357191449 12567 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :thx < 1357191459 894426 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Or ə < 1357193014 776828 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :FreeFull: copumpkin is correct < 1357193060 874136 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :quintopia: What? < 1357193071 588094 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :join has a completely different type signature < 1357193075 361155 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :it was called join < 1357193097 654246 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :> (join (*)) 3 < 1357193099 491151 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 9 < 1357193102 589762 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :though apparently not the same join as lambda knows < 1357193102 760506 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Huh < 1357193132 327441 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Is the :t and > using different joins < 1357193149 487130 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :Neither seems to be in the standard Prelude < 1357193529 911981 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net JOIN :#esoteric < 1357193558 388419 :Sgeo!~Sgeo@ool-ad034ea6.dyn.optonline.net QUIT :Ping timeout: 245 seconds < 1357193852 432724 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :How did I ever live without internal defines? Besides when I was in languages where there are local variables, I mean < 1357193862 394712 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Erm, bad phrasing < 1357193866 979118 :coppro!raedford@taurine.csclub.uwaterloo.ca PRIVMSG #esoteric :haha < 1357193876 899191 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :But Clojure is all "use let"y, meaning more nesting < 1357193878 932776 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :For example < 1357193898 790482 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Whereas C# or Java or Python etc. etc. it ... seems simpler in that regard < 1357193931 771954 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :And here is Scheme (and Racket), with allowing define forms inside function bodies that lexically scope the entire function body < 1357193944 77065 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Just as convenient as in those... non-lispy languages < 1357194003 654198 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :why does scheme use internal defines instead of just letrec? < 1357194029 671451 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I don't know about Scheme in general, but Racket converts internal defines to letrec I think < 1357194076 397791 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :yes, but why < 1357194102 805105 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :It's nice syntax sugar? < 1357194121 343330 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :scheme's define is weird < 1357194129 752675 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it's like an assignment but also not < 1357194142 268803 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Also it means you can write a function for internal use using define's () shortcut for defining a procedure < 1357194154 639832 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yes, that's nice < 1357194167 34868 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :let doesn't support that sugar, right? no reason it couldn't, in principle < 1357194180 240255 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :as i understand define only actually works at (for?) the toplevel, and anywhere else it's just letrec < 1357194180 864825 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :(let (((f x) (* x 2))) (f 3)) < 1357194704 782980 :FreeFull!~freefull@defocus/sausage-lover PRIVMSG #esoteric :ACTION prefers haskell for his functional programming nowadays < 1357195597 534700 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Even if let had that, I'd still prefer the lack of nesting given by internal defines < 1357195642 910358 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :FreeFull, I want macros. And also changing code at run-time, but that last part means I should probably be wary of Racket < 1357195647 49935 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :*easy macros < 1357195908 93434 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :just because Scheme and Haskell are both "functional languages" is no reason to pick only one < 1357195913 55931 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :they are very different languages < 1357195925 482188 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i might as well say "i prefer python over scheme for my dynamically typed programming" < 1357195939 484984 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :"functional language" is never a very well defined category anyway < 1357195943 564118 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :rant rant rant < 1357195956 659887 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :kmc have you heard about this thing "structured programming" that's all the rage < 1357195972 586161 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :goto 4 lyfe < 1357196008 719640 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :people argued about goto being structured even. guess it's just something programmers do a lot < 1357196011 904985 :coppro!raedford@taurine.csclub.uwaterloo.ca PRIVMSG #esoteric :kmc: syntax error, unexpected "lyfe" < 1357196013 979332 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I'm weird and want to have a preference for a single language. And instead, I am a serial monogamist language person. < 1357196037 123959 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :we have noticed < 1357196288 688589 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net JOIN :#esoteric < 1357196347 987102 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :"How to run computation without ever dispatching an instruction: life on the edge of the double-fault" < 1357196454 436964 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I never have any idea if kmc is quoting something or making something funny up < 1357196463 44492 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :this is from a 29C3 talk < 1357196476 145558 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :this one http://events.ccc.de/congress/2012/Fahrplan/events/5265.en.html < 1357196492 414448 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :you can download the video; i am watching it now < 1357196535 183887 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Maybe later. I hope I remember, it sounds interesting < 1357196539 742105 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I don't know much about hardware < 1357196581 924986 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :"hardware" is such an arbitrary line these days < 1357196583 70642 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but yes < 1357196593 112880 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :there is a particular abstraction layer where it makes sense to talk about these things < 1357196607 976502 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :if you don't know much about that layer, it will be hard to follow < 1357196700 937631 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :FreeFull: join is in Control.Monad, and for the function instance you need Control.Monad.Instances (which is indirectly imported by lots of things) < 1357197025 830111 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :kmc, I don't see a download link there :( < 1357197036 808322 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :http://events.ccc.de/congress/2012/wiki/Documentation < 1357197043 348226 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i didn't link directly because there are various formats < 1357197072 107935 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Ah < 1357197072 278716 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :kmc: wait, without ever dispatching an instruction? < 1357197097 365891 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yeah :) < 1357197165 693817 :WeThePeople!~WeThePeop@unaffiliated/wethepeople QUIT :Quit: Leaving < 1357197366 762659 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :hax < 1357197373 149167 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i won't spoil it but you should watch the talk :) < 1357197380 144187 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :link? < 1357197386 233097 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :oic < 1357197413 430687 :WeThePeople!~WeThePeop@unaffiliated/wethepeople JOIN :#esoteric < 1357197426 703583 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :where's the download link? < 1357197471 689363 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :Sgeo_ just asked that < 1357197480 60244 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :there are various ways to get the video, listed at http://events.ccc.de/congress/2012/wiki/Documentation < 1357197489 551940 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :oh <_> I can't read < 1357197505 887662 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :A lot of the other talks sound interesting too < 1357197513 535835 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i torrented them; i don't know which mirror is the fastest < 1357197551 976823 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :oh god all this stuff looks so interesting @_@ < 1357197668 226880 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :wow the torrent is fast < 1357197696 487342 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :The stuff that's in a language I don't understand does not seem interesting. Actually, it is, but there's about a 0% chance of me watching it. < 1357197728 580111 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :that's true. I don't know enough german for those :< < 1357197729 115679 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric ::< < 1357197837 973629 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :ich bedaure fast alle meine Deutsche Vokalbeln fergessen < 1357197939 538954 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :Bike: "turing complete trapping" <-- you should watch this XD < 1357198004 111881 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :apparently before the NX bit existed on x86, PaX emulated it by exploiting the fact that there are separate TLBs for instructions and data < 1357198007 218511 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :that's really cool < 1357198084 211719 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :Wow < 1357198116 151528 :ion!ion@heh.fi PRIVMSG #esoteric :kmc: Yeah, < 1357198119 117743 :ion!ion@heh.fi PRIVMSG #esoteric :[ 0.000000] Notice: NX (Execute Disable) protection missing in CPU! < 1357198121 116821 :ion!ion@heh.fi PRIVMSG #esoteric :[ 0.000000] NX (Execute Disable) protection: approximated by x86 segment limits < 1357198132 529693 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :that is a different emulation < 1357198138 818362 :ion!ion@heh.fi PRIVMSG #esoteric :Ah, ok < 1357198165 294652 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :the talk discusses that as well < 1357198178 883054 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it's bad because you get only 1.5 GB address space for code and data each < 1357198190 689757 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :also because segmentation is slow on new processors because people don't use it < 1357198208 324649 :ion!ion@heh.fi PRIVMSG #esoteric :ACTION scrolls up and checks out the talk < 1357198223 894996 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :ion: you have some old machine handy i see :) < 1357198238 844565 :ion!ion@heh.fi PRIVMSG #esoteric :kmc: Yeah, my puny home server that’s slowly dying. < 1357198282 323388 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :... traps write data to the "stack" ... you can set the "stack" wherever you want, including inside the page tables ... < 1357198284 616154 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :ion: you're running a PaX kernel? < 1357198286 355584 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :that is. magnificent < 1357198334 782860 :ion!ion@heh.fi PRIVMSG #esoteric :kmc: Nope, i skimmed over the channel talk (including your message) a bit too quickly and missed “PaX”. < 1357198375 232707 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :ah < 1357198384 729669 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it seems mainline linux got this emulation, then < 1357198396 118720 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but i bet they don't do the crazy split TLB emulation < 1357198397 128587 :ion!ion@heh.fi PRIVMSG #esoteric :A direct link to torrents http://skowron.biz/29c3.rss and a direct link to the torrent http://mirror.netcologne.de/CCC/29C3/mp4-h264-HQ/29c3-5265-en-page_fault_liberation_army_h264.mp4.torrent < 1357198411 955880 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :oh nice, i forget that torrents can be distributed via RSS :) < 1357198415 7076 :ion!ion@heh.fi PRIVMSG #esoteric :kmc: I think this emulation is based on PAE. < 1357198419 364219 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :"trap oriented programming" < 1357198450 839273 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :so is this a "watch for horror" thing or a "watch for interest" thing or... why am i even askin < 1357198453 114078 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :ion: how's that? < 1357198455 901776 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :interest!! < 1357198456 673295 :ion!ion@heh.fi PRIVMSG #esoteric :Crap oriented programming < 1357198457 63610 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :it's super cool < 1357198458 748442 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :watch because it's fucking cool < 1357198469 344691 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it's mostly about *useful* crazy hacks < 1357198482 60771 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :they just throw in the "MMU as turing tarpit" part because why not < 1357198516 307572 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :ACTION digs around for torrent program < 1357198527 265289 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :there are direct HTTP download links as well < 1357198533 749028 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :wow, OllyBone's trick < 1357198534 610194 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"Once-the.rockets/are-up..who/cares-where.they/come-down.That's N.O-T/MY-D/E.PA/R.T-ME-N/T." is it supposed to look like this..>? < 1357198542 755440 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yes < 1357198546 86437 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :hackers < 1357198547 680597 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :german hackers < 1357198552 472026 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :¬_¬ < 1357198573 844454 :ion!ion@heh.fi PRIVMSG #esoteric :kmc: I haven’t studied the details, but apparently PAE provides an official NX flag or something. http://en.wikipedia.org/wiki/Physical_Address_Extension < 1357198598 729989 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :do i need video or can i just get the mp3s to listen to < 1357198604 355303 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :they have slides < 1357198616 749370 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :there's mp3s too < 1357198617 382285 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :powerpoint, my nemesis. < 1357198618 511649 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :the torrent is crazy fast, don't worry about it < 1357198629 362484 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :i was just thinking i could listen to them at work. < 1357198649 814756 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :at least there's mp3s on this http mirror i'm looking at < 1357198668 996899 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :i meant, am i going to miss anything by not getting the video. < 1357198687 173585 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :oh < 1357198713 309828 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :ooh, it covers how they reverse engineered skype and got past its anti-debugger stuff < 1357198717 391050 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :using this kind of stuff < 1357198751 303660 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"en-howto_hack_the_law_mp3.mp3" < 1357198768 866489 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :ion: if you had NX bit via PAE then it wouldn't say "NX protection missing in CPU" < 1357198770 155884 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :he hacked the law and the, the law won, he hacked the law and the, the law won < 1357198777 350883 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :++ < 1357198802 720858 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :well, i suppose i can't not start with the one about tamagotchis < 1357198806 776397 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :PAE is the one and only way to have a true NX bit on 32-bit x86 < 1357198812 44891 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :start with the paging thing XD < 1357198816 108100 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :MMUs are fun < 1357198826 730115 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :and arguably on 64-bit, since the 64-bit page tables are an extension of the PAE ones < 1357198882 112239 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :wow, how do you use the TLB to emulate NX? < 1357198892 21829 :ion!ion@heh.fi PRIVMSG #esoteric :kmc: Hmm, good point. < 1357198893 121670 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :(but that's a core part of AMD64 architecture, not an extension) < 1357198894 660291 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :there's separate instruction and data TLBs < 1357198903 252700 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Hmm. Racket structs are more interesting then I thought. It _almost_ makes me want to forgive them for their OO system < 1357198905 718127 :ion!ion@heh.fi PRIVMSG #esoteric :https://wiki.ubuntu.com/Security/Features#nx < 1357198973 519513 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :oooh they're talking about memory segments < 1357198975 343763 :ion!ion@heh.fi PRIVMSG #esoteric :kmc: I (apparently mis-) interpreted from the Wikipedia page that anything with PAE support would have NX support, but it seems mine supports PAE but not NX. < 1357198998 503500 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :Sgeo_: what's wrong with the oo < 1357199035 458044 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :olsner: you mark all data pages as not present. then when there's a fault you mark it present, read from that address to get it in the TLB, and un-mark it again < 1357199064 475135 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :"there are things that use the stack for instructinos [...] gcc can create those trampolines, because gcc is a piece of shit, sorry [laughs]" < 1357199071 797006 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Bike, single-dispatch single-inheritance class-based. Seems too ... like it's trying to act a little like Java, although it's still more flexible < 1357199083 463994 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :and this gives you an opportunity to check if the access was actually an attempt to execute data memory < 1357199092 893562 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :by checking if the instruction pointer == faulting address < 1357199098 885290 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Also, you typically use a piece of syntax to call a method < 1357199101 329498 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :but wow, this is brilliant. using 286-style segmentation to implement NX on a modern machine < 1357199103 762455 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :Sgeo_: class-based meaning not message passing based? < 1357199120 761125 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :well modern machine has NX < 1357199127 216624 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :that's more like "pre 2005 machine" < 1357199135 201946 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Bike, I .. wasn't aware those were connected. Smalltalk is class-based and message passing < 1357199135 683257 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :something like that yes >_< < 1357199139 465023 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :scary to say that 2005 is eight years ago :x < 1357199143 233322 :sebbu2!~sebbu@ADijon-152-1-24-217.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1357199143 625821 :sebbu2!~sebbu@ADijon-152-1-24-217.w83-194.abo.wanadoo.fr QUIT :Changing host < 1357199143 798546 :sebbu2!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1357199148 883282 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :right, so every tlb miss (for an NX page?) ends up being a page fault? sounds expensive < 1357199150 495308 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :it is ;-; I feel old < 1357199154 991390 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :Sgeo_: well i don't know what you mean by "class-based". not prototype-based? < 1357199163 956381 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Bike, yes. Not prototype-based < 1357199178 111212 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :mm < 1357199186 841691 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :has anyone written a more interesting one? < 1357199196 58003 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :For Racket, or in general? < 1357199205 586845 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :racket < 1357199227 867150 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :olsner: yes i think so < 1357199229 866152 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I think so, but it's part of some larger thing < 1357199233 41804 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :fwiw, the page fault handler's error code indicates whether the fault was an instruction fetch so you don't have to compare the fault address < 1357199239 693336 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :that's useful < 1357199254 322653 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :It doesn't seem well documented < 1357199294 581617 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :The page on the Racket site says to go to the author's home page. The author's home page says that the page is outdated and to go to the PLT Scheme (Racket's old name) site < 1357199303 493403 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :scheme's had TELOS and whatever in the past, some of those have probably been ported to racket < 1357199316 523969 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :comparing would be "hard" to get right, since you might get a fault for a byte in the middle of the instruction < 1357199327 796129 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :What good is it if it's not well documented < 1357199333 464575 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Ping timeout: 245 seconds < 1357199335 280285 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yeah that's true < 1357199361 363812 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i would be interested to know what the performance penalty is < 1357199365 792138 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :let's see if they say < 1357199384 649958 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :https://pax.grsecurity.net/docs/pageexec.old.txt appears to describe the trick < 1357199388 917143 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :ACTION can't wait to watch this talk < 1357199451 26933 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Also, I don't know if Swindle's basic syntax extensions are needed to use the OO stuff well < 1357199456 975151 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I'd rather not < 1357199467 68000 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :soft-filled TLBs are so much nicer, but apparently they always perform terribly < 1357199468 580601 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :(have to use modified define syntax, I mean) < 1357199470 49031 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :so uh, which of these talks are you talking about < 1357199474 932889 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :these titles are not terribly helpful < 1357199486 281693 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :ACTION just thought "they should make this into a flag in the page table" < 1357199488 363617 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Bike, presumably page fault liberation army < 1357199499 350904 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :oh, that's not on this page... < 1357199521 718066 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :How much of this will be understandable to someone not very familiar with memory ... mapping ... wahtever this is < 1357199530 108031 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :PPC has a strange compromise solution where there is a real TLB and then a hash table in main memory extending the TLB, and then that's soft-filled < 1357199548 131823 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :oh, it's in the mp4s but not the mp3s. grand. < 1357199550 52451 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :ohhhh, thta's the reason they didn't like using segments for this, because of the overhead < 1357199556 298255 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :I knew about the overhead, I was wondering when that would come up < 1357199561 17874 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :Sgeo_: probably not very < 1357199562 568556 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :since modern intel chips do not make segments fast at all <_<; < 1357199565 141280 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric ::( < 1357199568 948432 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :I think it's like 1 extra cycle for every memory load < 1357199569 914002 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :they breeze through an intro < 1357199581 352217 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Ok, ok, I'll try then < 1357199599 661056 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :Sgeo_: um... it'd probably be good if you knew like how pages work < 1357199600 825975 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :maybe read this http://www.cs.cmu.edu/~410/doc/segments/segments.html < 1357199604 637272 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :like at the level of a college cs class < 1357199619 495795 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :just watch the talk and ask questions here if you're confused < 1357199628 894361 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric ::D < 1357199633 407315 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :that works! < 1357199647 490326 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :well not always < 1357199670 501118 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it's possible to fail to understand something in such a way that you can't formulate a meaningful question about it < 1357199678 225553 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :that's always really frustrating on both ends < 1357199690 588721 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :ACTION reads < 1357199693 961955 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it might be hard to understand paging without knowing what it's typically used for < 1357199697 249986 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :in 8 minutes I'll be able to watch < 1357199745 506138 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :the high level overview is that x86 translates virtual addresses (what normal programs use) first to linear addresses and then to physical addresses < 1357199747 309504 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Also, I have taken an OS class, although we didn't learn x86 specific stuff really < 1357199767 631957 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :this assumes like the high level paging knowledge, not the x86-specific knowledge, I think < 1357199770 119933 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :And our homework assignments were on a CPU simulator of sorts < 1357199775 731856 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :like, the presentation is basically -about- all the x86 stuff they don't teach you < 1357199782 8560 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :virtual->linear is accomplished by segmentation, which that link discusses... basically you add a constant "where code starts" or "where data starts" value to the address, and check it against a maximum size < 1357199828 173576 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Ok < 1357199829 809475 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :linear->physical is accomplished by paging, which allows every 4 kB of linear memory to be placed somewhere completely different in physical memory < 1357199847 640554 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :ACTION vaguely remembers that sort of thing < 1357199859 12020 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :well, hmm. < 1357199866 349413 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :so paging is far more flexible, and most processors have only paging, so most OSes use only paging < 1357199875 700577 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :they configure x86 segmentation in a vestigial mode which that document also describes < 1357199890 584930 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but segmentation is still useful for particular things, some of which this talk discusses < 1357199931 497875 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :paging is used to implement all kinds of goodies, like shared memory, memory-mapped files, swap, copy-on-write fork(), sharing of read-only code between different processes, etc < 1357199963 656848 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :.... oh *wow*. that is magnificently evil my gosh < 1357199988 692434 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :they set the page to be okay, load it into the dtlb by accessing it, and then right after, set it to be not-okay < 1357199996 684358 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :so the dtlb is lied to about the page's actual state < 1357200002 392982 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :and then when the itlb fetches it later, it faults < 1357200043 927754 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :thus making the itlb and dtlb disagree even though they weren't supposed to < 1357200058 713790 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Fiora, will that be understandable to me when I see it in the presentation? < 1357200059 398140 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :(by "most processors have only paging" I meant most architectures... x86 always has segmentation as well, even in modern chips) < 1357200069 738545 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :Sgeo_: you need to know what the TLB is as well, which they kind of gloss over < 1357200076 597313 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but it's just a cache for the page tables < 1357200094 323915 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :yeah, the TLB is just a cache for page table info so the cpu doesn't ave to constantly fetch it < 1357200094 834613 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it would be really inefficient if every memory access required several other memory accesses to read these page tables out of memory < 1357200105 93452 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Ok < 1357200108 224597 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :the itlb is for instructions, dtlb for data, there's two separtae ones < 1357200118 267530 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :the key is that (on x86 anyway) you can change the page table out from under the CPU, and it doesn't automatically update this cache < 1357200120 252168 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I feel so ignorant :( < 1357200129 505243 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :your' < 1357200134 876583 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :you're not :< < 1357200144 527774 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :when you change page tables you're supposed to tell the CPU so it can flush the TLB < 1357200152 612554 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but this is a cool trick you can play if you don't < 1357200173 996597 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :basically you can set it up so that when loading data pages, the CPU thinks the page is fine, but when loading the /same page/ as an instruction page, it page faults. < 1357200184 755134 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :which stops you from executing a data page. < 1357200185 527244 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :(that TLB flush is also why switching address spaces is expensive, which is why most OSes put the kernel and userspace in the same address space, which in turn leads to all manner of security problems) < 1357200227 278148 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :fwiw I find this talk a lot easier to watch at slightly higher than normal speed < 1357200233 300504 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :most talks, really < 1357200245 975717 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :But it is useful to execute data pages! < 1357200250 549403 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :if a speaker goes "uh"ing and handwaving for long enough, i lose attention span and my mind wanders and then 10 seconds later i have to rewind < 1357200261 347181 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :zzo38: yes, it's particularly useful to attackers < 1357200293 681475 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :kmc: Not what I meant though; I meant for programming. < 1357200332 253334 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :zzo38: you might like the talk about the Galaksija computer < 1357200333 841103 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :There are better ways to secure a system. < 1357200342 656349 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :zzo38: you can execute data pages even on an NX system, I think < 1357200348 612031 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :you just have to explicitly ask the OS for it < 1357200357 441428 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :O, OK, then. < 1357200370 271210 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :sure, the OS can enforce a policy against it, or not < 1357200373 881683 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :Linux typically does not < 1357200389 835385 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :ROP payloads often end with calling mprotect() to set some page RWX and then you win. < 1357200414 723070 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i think PaX has a mode to forbid that, though < 1357200429 930368 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :I guess then you'd have to whitelist programs that use JITs? < 1357200445 911741 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yeah, it can store per-executable exceptions in an ELF header < 1357200451 497485 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Watching talk now < 1357200458 136506 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :or your JIT can be carefully coded so that no page is writable and executable at the same time < 1357200477 462157 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :wait, but can't an exploit still work with that? < 1357200480 108708 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :mprotect can drop W and add X in the same call < 1357200489 435534 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :Yeah, I thought that was the way people did it < 1357200522 55012 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :or am I missing something >_< < 1357200534 696388 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :like is there a reason that an exploit can't do that too? < 1357200555 279370 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :the exploit is not running arbitrary code yet < 1357200591 725618 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :ooooh, I see < 1357200616 229777 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :yeah, I always thought jits were supposed to do that (never have W and X on at the same time) < 1357200618 997508 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :say you have found a bug such that you can write arbitrary content to certain parts of memory, and then redirect the instruction pointer to wherever you like < 1357200637 868962 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :a classic stack smashing exploit is an example of this < 1357200665 44394 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :W^X policy prevents the straightforward attack where you write your shellcode and then jump to it < 1357200713 672424 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :makes sense < 1357200719 397013 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :there are of course many other ways to exploit such a bug, and W^X does not try to stop them all < 1357200765 71755 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :ah so here's the code I was thinking of... I guess it does the W^X thing < 1357200765 242463 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :e.g. JIT spraying, where the shellcode is composed of bytes that the JIT intentionally wrote into a code page < 1357200785 62129 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :c->lumMmxextFilterCode = mmap(NULL, c->lumMmxextFilterCodeSize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); < 1357200788 87040 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :init_hscaler_mmxext(dstW, c->lumXInc, c->lumMmxextFilterCode, c->hLumFilter, c->hLumFilterPos, 8); < 1357200791 63559 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :mprotect(c->lumMmxextFilterCode, c->lumMmxextFilterCodeSize, PROT_EXEC | PROT_READ); < 1357200797 814970 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but yeah, there would be some additional benefit to a policy of "no W page can ever become X", and it would break JITs for sure < 1357200797 985294 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :map R|W, init the code, map R|X < 1357200804 453750 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :and i don't know if PaX implements that one < 1357200834 943989 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :which JIT is that? < 1357200851 795861 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :that's a really simple example since I didn't want to dig into a really fancy actual JIT < 1357200867 956210 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I keep pausing to look stuff up < 1357200868 127652 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :swscale has the ability to runtime-generate an mmx image rescaling algorithm < 1357200888 728857 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :which to me is just O_____O < 1357200892 377291 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :buhhhh < 1357200905 117622 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :This is really making me wish I took CS < 1357200913 275178 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Would CS talk about this stuff? < 1357200913 860206 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :(generate based on the input and output resolutions and number of taps etc I think?) < 1357200919 605682 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Or still just turing machines and the like? < 1357200942 395952 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :what is "CS" in this context < 1357200945 881813 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :are you talking about some specific course or just a CS program in general? < 1357200956 366152 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :CS program in general < 1357200957 355294 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :um.... my program had some low level classes that covered things like paging and memory (basics) and some high level things like algorithms and natural deduction and complexity < 1357200966 385127 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :most university CS programs offer a variety of classes from theoretical to practical < 1357200970 79827 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :i would think any cs program worth its salt goes over these things in addition to algorithmics (jazzarithmics) < 1357200978 888873 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :there were some electives for really icky low level things like filesystems and networks and OSs < 1357200979 420571 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :any decent one will have some kind of intro systems course which covers paging and what-not < 1357200982 130169 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :whether you remember it or not is another matter < 1357200984 79881 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :and by icky I mean wonderful < 1357200986 319885 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it may or may not be required < 1357200994 324937 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I hate my college < 1357201009 65219 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :so, you weren't a CS major? < 1357201018 642159 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :"Computer Programming/Information Systems" < 1357201022 587146 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :in our intro systems class we implemented some OS-like things in Linux userspace, trapping e.g. SIGALRM for a scheduler interrupt and SIGSEGV for page fault handler < 1357201024 642333 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :ouch < 1357201025 559585 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it was pretty weird < 1357201027 624295 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but fun < 1357201039 880344 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :then the advanced systems class involved making changes to an actual Linux kernel < 1357201049 998135 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :a ton of code reading, very little code writing < 1357201067 82416 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :kind of crazy to do an assignment where you spend 20 hours and then turn in 20 lines of code < 1357201077 314082 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :that sounds actually useful < 1357201079 9773 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :kmc, grad or undergrad? < 1357201084 901982 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I feel betrayed < 1357201089 784997 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :as far as i can tell from fiora's mailing list stalking that's how most actual linux patches work < 1357201091 621206 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :undergrad elective, with some grad students in the class as well < 1357201099 515003 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :And there's no way I could get into a grad CS program, is there < 1357201100 412626 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric ::( < 1357201102 49443 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :http://pdos.csail.mit.edu/6.828/2012/ is a very cool upper level OS class at MIT < 1357201110 82708 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :the labs are online < 1357201127 23181 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :you need to be pretty comfortable with C to do this class < 1357201129 624571 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :Sgeo_: just tell them you hang out with lens developers. if they don't know what that means recite some type signatures < 1357201146 668321 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but maybe you can learn the OS-specific stuff as you go < 1357201196 473046 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I want to make the computer which includes security by simplifying instead of by overcomplicating things. < 1357201322 778957 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :neat that they use git to hand in the lab assignments < 1357201367 830845 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yes, it is nice < 1357201388 406464 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :you can merge the TA handout for the next lab with your solution to the previous one < 1357201399 378563 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it also means more students are exposed to Git < 1357201476 293467 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it's too easy to graduate knowing all kinds of fancy CS stuff but without knowing the basic tools a software engineer needs < 1357201485 555991 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :I think we used svn in a few classes < 1357201486 628752 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :in some sense it's not their job to teach those things to you < 1357201489 309789 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :no kidding :/ < 1357201505 462124 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but even nudging people in the right direction is a win < 1357201511 160712 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"get them using source control" is like the main thing i've heard suggested for CS programs, now that i think about it < 1357201513 101525 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it's terrifying how many programmers don't use version control at all < 1357201519 348288 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :it's kind of hard to disagree with... < 1357201562 714453 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :to me CVS and SVN are almost totally different in purpose from Git, Darcs, etc < 1357201572 862436 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :oh yeah? < 1357201583 714636 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :the former are useful for collaborating with others, but not much else < 1357201592 264234 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :the latter are pervasive tools that help with every part of workflow < 1357201621 814214 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I tried to get us to use version control on Senior Project < 1357201623 519842 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :collaboration but also debugging, testing, etc < 1357201632 97670 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :mm < 1357201640 463084 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :But the server move did not go smoothly for the .hg stuff, so I sort of just gave up < 1357201649 454151 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :i'm bad at git but git bisect seems pretty incredibly useful < 1357201657 719909 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :git bisect? < 1357201663 406124 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :with Git you can easily create an experimental branch fro some crazy idea, or make 5 commits as you figure something out and then squash them together < 1357201671 680546 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Oh woah < 1357201677 292190 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"git-bisect - Find by binary search the change that introduced a bug" < 1357201677 967317 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :doing these things with svn sounds like a huge pain < 1357201680 229113 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :(at git bisect) < 1357201690 6995 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :oh no did I start a git vs svn flamewar < 1357201691 324733 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :maybe it's cause i never learned svn very well < 1357201704 484899 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :no i don't think anyone disagrees that git is better ;P < 1357201709 475724 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :Fiora: just kmc ranting, which is fine with me for one < 1357201721 211902 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i'm just explaining why I think of Git as a different kind of tool from SVN < 1357201735 531266 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :Bike: that works XD < 1357201741 213763 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :troll mode: using SVN is no better than keeping your code in Dropbox < 1357201743 756645 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :There's an svn-bisect as well; the checkouts tend to take longer than the bug-checking < 1357201746 592237 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :sure, it's better than nothing < 1357201748 512041 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :i don't know anything about svn except that only old projects seem to use it and it's ugly as hell, so < 1357202090 809994 :epicmonkey!~epicmonke@188.134.41.173 JOIN :#esoteric < 1357202171 120350 :Bike!~Glossina@67-5-226-214.ptld.qwest.net QUIT :Quit: leaving < 1357202183 305253 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :How well do I need to know traps < 1357202196 957386 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Do I need to know every trap that could be .... called or triggered or whatever < 1357202199 966168 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :this thing explains allabout traps, so um, it should be okay < 1357202200 136710 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :no < 1357202216 649087 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :the main one is page faults < 1357202269 770553 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :if you try to access a virtual address that isn't mapped to any physical address, or is mapped with permissions that conflict with the type of access you want, there's a trap / fault / exception / whatever, and the OS gets to run < 1357202286 346648 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it might terminate your process, or it might do something like load a page in from swap, and your process is none the wiser < 1357202297 154397 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :wow. the fault chaining using the task switch thing @___@ < 1357202510 693644 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :oooh. they implement a turing tarpit with decrement-branch-if-negative < 1357202516 324203 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yes < 1357202519 653308 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :see, this is totally on topic :) < 1357202538 77438 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :It was already on topic with linux < 1357202578 500676 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it amazes me that any provider of x86 implementations (including virtual) manages to get all of the byzantine system-level CPU behavior correct, or that any two implementations agree < 1357202604 93911 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :http://blog.xen.org/index.php/2012/06/13/the-intel-sysret-privilege-escalation/ is a notable case where Intel and AMD did not agree < 1357202622 679901 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :For every byzantine instruction, there is a system somewhere that uses it < 1357202695 5437 :asiekierka!~asiekierk@fluttershy.pl QUIT :Excess Flood < 1357202719 490374 :asiekierka!~asiekierk@fluttershy.pl JOIN :#esoteric < 1357202760 152838 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :"I wanted to implement a game of life that operated on your VGA framebuffer without using any instructions" < 1357202774 461023 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Has there been only one bug in the intel hypervisor? < 1357202779 666123 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :I thought there were more < 1357202843 583706 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :"cause KVM to kernel panic the host" XD < 1357202881 5493 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :@google conway life stencil buffer < 1357202882 562019 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :http://www.blitzbasic.com/Community/posts.php?topic=53803 < 1357202882 736250 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Title: Stencil buffers are for life (not just xmas!) < 1357202917 374310 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :https://github.com/munificent/vigil - Vigil, a very safe programming language < 1357202943 73957 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :Jafet: that's cool < 1357202964 314160 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :"Vigil is very similar to Python" < 1357202973 158615 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :http://www710.univ-lyon1.fr/~jciehl/Public/OpenGL_PG/ch15.html#id40152 < 1357203020 761576 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :huh, 64-bit kills most of this. makes sense though < 1357203068 371429 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :that was an incredibly cool talk, thanks kmc < 1357203092 512137 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric ::) < 1357203148 565081 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I'm still only 12 minutes in < 1357203893 401812 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I guess if I'm going to be a Racketeer, I should read some of Oleg's thoughts on Scheme < 1357203939 618680 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :"We shall see that our code looks pretty much like the above, only with more parentheses." < 1357203953 231463 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Even Oleg is lolparentheses? < 1357204595 324351 :Sanky!~SankyZNC@unaffiliated/sanky QUIT :Read error: Operation timed out < 1357204747 162722 :WeThePeople!~WeThePeop@unaffiliated/wethepeople QUIT :Quit: Leaving < 1357205925 314751 :zzo38!~zzo38@24-207-49-17.eastlink.ca QUIT :Remote host closed the connection < 1357206626 348900 :zorteg!~Admin@128-74-134-93.broadband.corbina.ru JOIN :#esoteric < 1357207006 910318 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl JOIN :#esoteric < 1357207127 22263 :epicmonkey!~epicmonke@188.134.41.173 QUIT :Ping timeout: 272 seconds < 1357209671 820678 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1357210046 922035 :zorteg!~Admin@128-74-134-93.broadband.corbina.ru QUIT :Quit: Leaving. < 1357210751 853680 :Gracenotes!~person@wikipedia/Gracenotes QUIT :Ping timeout: 245 seconds < 1357210815 546164 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1357210913 178169 :Taneb!5c11398b@gateway/web/freenode/ip.92.17.57.139 JOIN :#esoteric < 1357211169 82155 :Gracenotes!~person@wikipedia/Gracenotes QUIT :Ping timeout: 244 seconds < 1357211245 257623 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1357212250 695054 :mig22_!~miguelort@bb116-15-2-235.singnet.com.sg JOIN :#esoteric < 1357212307 789629 :epicmonkey!~epicmonke@188.134.41.173 JOIN :#esoteric < 1357212335 650086 :mig22!~miguelort@bb116-15-2-235.singnet.com.sg QUIT :Ping timeout: 255 seconds < 1357212336 25089 :mig22_!~miguelort@bb116-15-2-235.singnet.com.sg NICK :mig22 < 1357212420 197040 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1357213914 813110 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :uh < 1357213937 622150 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :i'm not banned < 1357214040 969941 :Gracenotes!~person@wikipedia/Gracenotes QUIT :Ping timeout: 265 seconds < 1357214111 350141 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1357214340 763189 :oklopol!~oklopol@dyn60-339.yok.fi PRIVMSG #esoteric :outrage < 1357214695 131422 :Gracenotes!~person@wikipedia/Gracenotes QUIT :Ping timeout: 240 seconds < 1357214695 353614 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Maybe I should play with a mainframe emulator at some point < 1357214748 417931 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1357214840 209403 :Taneb!5c11398b@gateway/web/freenode/ip.92.17.57.139 QUIT :Quit: Page closed < 1357214966 350148 :Tod-Autojoined2!~Tod@166-70-93-209.ip.xmission.com NICK :TodPunk < 1357215496 568226 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :Sgeo_: this one is quite entertaining: http://www.bernhard-baehr.de/pdp8e/resources/pdp8e_simulator_cocoa_preview_screenshot.jpg < 1357215554 553372 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :woah < 1357215714 664632 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :programming that is horrible < 1357215720 320720 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :octal everywhere < 1357216232 711358 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net QUIT :Quit: hello < 1357216936 729121 :Taneb!~nathan@host-92-17-57-139.as13285.net JOIN :#esoteric < 1357217851 31786 :Nisstyre-laptop!~yours@oftn/member/Nisstyre QUIT :Read error: Operation timed out < 1357219151 741478 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I think Guile's documentation is a better way to learn syntax-rules and syntax-case < 1357222082 845360 :ais523_!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1357222085 860276 :ais523!~ais523@unaffiliated/ais523 QUIT :Disconnected by services < 1357222088 506176 :ais523_!~ais523@unaffiliated/ais523 NICK :ais523 < 1357222648 410133 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 QUIT :Remote host closed the connection < 1357222814 729616 :boily!~boily@mtl.savoirfairelinux.net JOIN :#esoteric < 1357223866 364400 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :kmc, oh hey, Swindle does that thing with let < 1357223892 886170 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric : => (let ([((f x) y) (+ x y)]) ((f 1) 2)) < 1357223893 56808 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric : 3 < 1357223993 830145 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1357224620 424964 :epicmonkey!~epicmonke@188.134.41.173 QUIT :Remote host closed the connection < 1357224643 867209 :epicmonkey!~epicmonke@188.134.41.173 JOIN :#esoteric < 1357224645 380021 :epicmonkey!~epicmonke@188.134.41.173 QUIT :Remote host closed the connection < 1357224663 950964 :epicmonkey!~epicmonke@188.134.41.173 JOIN :#esoteric < 1357224867 153926 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :I'm trying to think about implementing a small language for 6502 processor with 64kB RAM < 1357224882 595298 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :not Forth, though < 1357224892 247891 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I suggest C++. < 1357224894 911370 :nortti!~juhani@nano.smar.fi PRIVMSG #esoteric :nooga: what kind of language? < 1357224947 321698 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :something small and relatively expressive < 1357225026 147186 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :something lispy could be cool < 1357225195 375278 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :I've got C cross-compiler < 1357225215 316846 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :but I wanted something self hosted < 1357225414 804941 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :any ideas? :f < 1357225570 229172 :Taneb!~nathan@host-92-17-57-139.as13285.net PRIVMSG #esoteric :Something like Scheme? < 1357225584 86192 :oklopol!~oklopol@dyn60-339.yok.fi PRIVMSG #esoteric :how about c++ < 1357225983 204867 :c00kiemon5ter!~c00kiemon@foss-aueb/coder/c00kiemon5ter PRIVMSG #esoteric :try ada :-P < 1357225995 728994 :Sanky!~SankyZNC@unaffiliated/sanky JOIN :#esoteric < 1357226465 496043 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :yup < 1357226472 591594 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :C++ and ada are perfect < 1357226505 380133 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :i think i'll make something between C++ and Ada and throw some bits of perl into this < 1357226518 353219 :nooga!~nooga@ip-46-250-173-30.ip.maverick.com.pl PRIVMSG #esoteric :with java runtime < 1357226601 100099 :mekeor!~user@dslb-092-075-082-229.pools.arcor-ip.net JOIN :#esoteric < 1357227260 739398 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1357227592 898964 :ais523!~ais523@unaffiliated/ais523 QUIT :Read error: Connection reset by peer < 1357227613 875861 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1357227788 274088 :Taneb!~nathan@host-92-17-57-139.as13285.net PRIVMSG #esoteric :The 21st century so far has been a weird thing to grow up in < 1357227827 207857 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Aren't we into the 22nd century by now? < 1357227852 234181 :Taneb!~nathan@host-92-17-57-139.as13285.net PRIVMSG #esoteric :Not for a while < 1357227890 26190 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, the 21st century started after less than a decade. < 1357227898 315705 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :And we've had more than a decade since then. < 1357228312 966539 :Taneb!~nathan@host-92-17-57-139.as13285.net PRIVMSG #esoteric :Nah, it took a century for the 21st century to start, after the 19th < 1357228337 329932 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Uh, the world hasn't been *around* for a century. < 1357228359 339803 :Taneb!~nathan@host-92-17-57-139.as13285.net PRIVMSG #esoteric :That's just what they want you to think, shachaf < 1357228366 727636 :Taneb!~nathan@host-92-17-57-139.as13285.net PRIVMSG #esoteric :The world has been around for 6000 years! < 1357228481 62163 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :More like 6000 DAYS. < 1357229644 184618 :lightquake!lightquake@2600:3c03::f03c:91ff:fe93:ec71 QUIT :Read error: Operation timed out < 1357229654 907097 :jiella!~jiella@cs27103076.pp.htv.fi JOIN :#esoteric < 1357229688 71270 :mekeor!~user@dslb-092-075-082-229.pools.arcor-ip.net QUIT :Remote host closed the connection < 1357229793 383313 :WeThePeople!~WeThePeop@unaffiliated/wethepeople JOIN :#esoteric < 1357229878 577970 :lightquake!~lightquak@li363-105.members.linode.com JOIN :#esoteric < 1357229917 286161 :c00kiemon5ter!~c00kiemon@foss-aueb/coder/c00kiemon5ter PRIVMSG #esoteric :i believe we are all part of the subconsciousness of a cookie being baked in an oven running on netbsd programmed with something between C++ and Ada including some bits of Perl and COBOL - an elegant, flexible and well-defined system where asking for the time is undefined behavior. < 1357229956 40244 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :I'm allergic to COBOL chips. can I have some without? < 1357230354 495201 :c00kiemon5ter!~c00kiemon@foss-aueb/coder/c00kiemon5ter PRIVMSG #esoteric :maybe bioly exists in the subconscious memory subsystem where COBOL is not allowed to read or write < 1357230680 709354 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :meaning my self exists in a recursive collective subconscience? < 1357230707 518410 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :ACTION pokes himself to test his tangibility < 1357230711 167383 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :boily: oh, that much is /obvious/ < 1357230776 617961 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :ais523: indeed, you are imagining me. < 1357230790 649082 :WeThePeople!~WeThePeop@unaffiliated/wethepeople QUIT :Quit: Leaving < 1357230890 599990 :ais523!~ais523@unaffiliated/ais523 PART #esoteric :"someone is going to mention Feather, I know it" < 1357230901 943763 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :so guys < 1357230906 401533 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :eodermdrome is pretty great < 1357230994 358970 :Taneb!~nathan@host-92-17-57-139.as13285.net PRIVMSG #esoteric :Phantom_Hoover, where are you going with this < 1357231329 545660 :WeThePeople!~WeThePeop@unaffiliated/wethepeople JOIN :#esoteric < 1357231770 756623 :atriq!~nathan@host-92-17-57-139.as13285.net JOIN :#esoteric < 1357231794 704158 :Taneb!~nathan@host-92-17-57-139.as13285.net QUIT :Ping timeout: 240 seconds < 1357231938 975462 :atriq!~nathan@host-92-17-57-139.as13285.net NICK :Taneb < 1357232409 733835 :Taneb!~nathan@host-92-17-57-139.as13285.net QUIT :Ping timeout: 260 seconds < 1357232704 757597 :Taneb!~nathan@host-92-17-59-127.as13285.net JOIN :#esoteric < 1357232744 997996 :Taneb!~nathan@host-92-17-59-127.as13285.net QUIT :Client Quit < 1357234068 897392 :jiella!~jiella@cs27103076.pp.htv.fi QUIT :Ping timeout: 272 seconds < 1357235000 649416 :AnotherTest!~AnotherTe@94-224-28-191.access.telenet.be JOIN :#esoteric < 1357235003 383888 :AnotherTest!~AnotherTe@94-224-28-191.access.telenet.be PART :#esoteric < 1357235006 443480 :AnotherTest!~AnotherTe@94-224-28-191.access.telenet.be JOIN :#esoteric < 1357235017 700893 :Bike!~Glossina@67-5-226-214.ptld.qwest.net JOIN :#esoteric < 1357235411 773960 :zzo38!~zzo38@24-207-49-17.eastlink.ca JOIN :#esoteric < 1357235519 198574 :copumpkin!~copumpkin@unaffiliated/copumpkin QUIT :Ping timeout: 252 seconds < 1357235552 461311 :copumpkin!~copumpkin@unaffiliated/copumpkin JOIN :#esoteric < 1357235905 997300 :WeThePeople!~WeThePeop@unaffiliated/wethepeople QUIT :Quit: Leaving < 1357236128 35199 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Do you know anything about Borland Turbo C? < 1357236131 15572 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Specifically do you have a copy. < 1357236134 705385 :mig22!~miguelort@bb116-15-2-235.singnet.com.sg QUIT :Ping timeout: 240 seconds < 1357236210 396833 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: zomg < 1357236213 243900 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I used that once! < 1357236225 448428 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :#include < 1357236264 676333 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I should have a copy of two point something (2.01) somewhere; I think it was a free download for a while? (I also have a copy of Borland C++ 4.52 that came with a magazine, and maybe 5.0 too.) < 1357236267 911687 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION has written a "port" of conio.h to curses. < 1357236280 609078 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Do you feel like helping me prove someone wrong? < 1357236297 573894 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :elliott: http://www.retroarchive.org/dos/lang/index.html < 1357236313 106924 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: Um, that is like 10x less authentic than asking fizzie to do it. < 1357236327 866146 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :s/authentic/work/ < 1357236340 949492 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :same thing < 1357236355 200558 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :My copy, if I could locate it, would very likely be that exactly same zip file. < 1357236365 240343 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :But what colour would the bits be? < 1357236367 800263 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie-coloured. < 1357236455 404231 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Also you probably have a more readily accessible DOS than I do! < 1357236495 418150 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :What do you need proven wrong, though? < 1357236507 530750 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If you use dosbox, make sure you let kmc prepare your archive. < 1357236515 100172 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@arrrr chive < 1357236515 270591 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Swab the deck! < 1357236531 121582 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :how similar are borland and watcom compilers < 1357236555 433980 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: How random(-n) behaves < 1357236562 166893 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Watcom? don't they make tatblets? < 1357236568 411678 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :cf. https://github.com/rwbarton/crawl-1.1/commit/2c69471009a26d48fe02f22adf3c650d9afbb4ed < 1357236578 600441 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Watcom C uses DOS4GW. < 1357236588 70059 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Is rwbarton/crawl similar to monqys-crawl? < 1357236588 926161 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think Borland had a different DOS extender. < 1357236658 783184 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :The documentation -- http://www.ousob.com/ng/borcpp/ng4eef8.php -- isn't really specific. < 1357236746 604893 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: I bet you know!! < 1357236770 633398 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :i love random number generators < 1357236772 430971 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :they are so easy < 1357236836 337809 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :#define random(num) (rand() % (num)) < 1357236843 593668 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I was right. < 1357236847 660673 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :int _Cdecl rand (void); < 1357236868 53711 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Um, maybe it has different semantics for %? < 1357236874 825168 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :(rand() % (num)) doesn't seem a very good way to me. < 1357236900 332808 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :#define RAND_MAX 0x7FFF < 1357236906 564889 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :doesn't it give you a bad distribution if rand_max doesn't divide num < 1357236912 692964 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Since it might make some numbers more likely even if rand() is uniform < 1357236965 459224 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Bike: Is that how Ubuntu got so messed up? < 1357236974 424865 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :(I have written a function in TeXnicard to work around this problem, although I don't know if there is a better way?) < 1357236988 484658 :WeThePeople!~WeThePeop@unaffiliated/wethepeople JOIN :#esoteric < 1357237047 98561 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: (Which version is that from, by the way?) < 1357237060 584777 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :elliott: The zip I linked < 1357237074 54207 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, there's two Borland Turbo C/C++s there. < 1357237077 442642 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(This code is very "C/C++".) < 1357237080 805955 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :The C. < 1357237083 283550 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :For example if it is 2 bits then you modulo by 3, then it will be twice as likely 0 < 1357237100 414154 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: I'll check both, thanks. < 1357237101 961548 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :elliott: It seems to run in dosbox, give me some test code for % if you want. < 1357237141 502967 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It seems to be returning positive numbers. :/ < 1357237143 18199 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :printf("%d %d %d", random(-2), random(-2), random(-2)), I guess < 1357237159 633724 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :vs. um, random(RAND_MAX) % (-2) I guess. < 1357237162 382377 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :shachaf: Unity doesn't divide anything, no < 1357237266 28437 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :https://dl.dropbox.com/u/113389132/Misc/20130103-tc_000.png => https://dl.dropbox.com/u/113389132/Misc/20130103-dosbox_000.png < 1357237310 942558 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :You forgot to #include conio.h < 1357237313 416312 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :And clrscr(); < 1357237344 739535 :WeThePeople!~WeThePeop@unaffiliated/wethepeople QUIT :Ping timeout: 260 seconds < 1357237346 795868 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :And a getch() at the end, I suppose. < 1357237353 836313 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :fizzie: Does tcc.exe work for you? "tcc asdf.c" produces "Undefined symbol '_main 'in module C0S" here. < 1357237387 881752 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Deewiant: Yeah, same here. I just went with the TUI; it's "Compile/Make EXE file" worked. < 1357237433 103714 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :fizzie: DOS newlines helped. < 1357237454 83843 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Deewiant: Ah, right; I probably had that problem too. < 1357237466 101208 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :random(-2) only produces 0 and 1, it seems. < 1357237476 467070 :WeThePeople!~WeThePeop@unaffiliated/wethepeople JOIN :#esoteric < 1357237495 791952 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Interesting. < 1357237598 967382 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :So random(-n) is just random(n), I guess. < 1357237617 628333 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :As opposed to rwbarton's -random(n). < 1357237730 440726 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It seems to have the sort of % that the sign of the result is always the sign of the left argument. (It produces 2 -2 2 -2 as the output of printf("%d %d %d %d", 12 % 5, (-12) % 5, 12 % (-5), (-12) % (-5).) < 1357237756 100293 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Well, OK, I really wanted it compared with random() % (-2) on a modern Unix or whatever. < 1357237776 895980 :HackEgo!codu@codu.org QUIT :Remote host closed the connection < 1357237778 189519 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Hmm. < 1357237794 585762 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think that was me. :\ < 1357237808 118046 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :[20:29:19] `interp c printf("%d %d %d %d", 12 % 5, (-12) % 5, 12 % (-5), (-12) % (-5)); < 1357237811 119384 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :[20:29:36] -!- HackEgo [codu@codu.org] has quit [Remote host closed the connection] < 1357237841 31292 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Pro tip: !c < 1357237902 602605 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I haven't been following THE UNIFICATION. < 1357237904 337325 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :[20:31:08] ,cc for (int i = 0; i < 10; i++) printf("%ld ", random() % (-100)); /* this is a modern Unix */ < 1357237907 604387 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :[20:31:10] fizzie: 83 86 77 15 93 35 86 92 49 21 < 1357237914 247 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It seems to work very much the same way. < 1357237952 97623 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Right, < 1357237952 843397 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :random() returns a long, though; maybe % works differently for int and long! < 1357237977 882352 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :So I wonder how this results in the bug itself and whether it really is present in the original. < 1357238144 390511 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :In that code you pasted, though, the function is int random2(unsigned int rmax) and random2(-2) with the previous version does sound likely to give quite large numbers. < 1357238229 689691 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Right. < 1357238232 272608 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :So I guess the fix is just < 1357238241 906062 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :if ((int)rmax < 0) return random() % -(int)rmax; < 1357238263 841445 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I think this might mean -2 weapons are just as good as +2 weapons, which is... something. < 1357238301 167275 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Seems to me like the right fix would be to make it take a signed int. :-P < 1357238326 764365 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: Have you *seen* this code? < 1357238344 845760 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :I took a quick browse, yes. < 1357238356 402909 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :It's certainly got a lot of comments. < 1357238386 535111 :WeThePeople!~WeThePeop@unaffiliated/wethepeople QUIT :Quit: Leaving < 1357238399 62868 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :https://raw.github.com/rwbarton/crawl-1.1/master/source.txt is enlightening. < 1357238404 541745 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Some of my plans for the near future: < 1357238405 947719 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :[...] < 1357238408 482256 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Replace those mons_thing and item_thing variables with structs - if anyone knows what a struct is and how to use it, please tell me; < 1357238457 883461 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :What is that, the oldest version of crawl you could find or something? < 1357238485 412546 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :what... < 1357238491 18822 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: It's the oldest version of Crawl that got a public source release. < 1357238496 242461 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :The (few) older versions are just DOS binaries. < 1357238502 677189 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Right. < 1357238516 612090 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :And why is anything being done with it? < 1357238520 652599 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"pointers, because I just didn't (and still don't really) understand what they're supposed to be so useful for" < 1357238533 988162 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: I wanted to see what it was like and didn't know about the DOS binaries. < 1357238545 952493 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Okay. < 1357238556 995736 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Are they structs now? < 1357238596 108937 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :zzo38: In the ~16 years of development it's had since then it has figured out what classes are < 1357238629 39471 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Turbo C does produce buggy results -- https://dl.dropbox.com/u/113389132/Misc/20130103-tc_002.png => https://dl.dropbox.com/u/113389132/Misc/20130103-tc_001.png (now with conio.h) -- but the comment there says "// for BC", and perhaps some version has made random(num) an actual function int random(int num), in which case random2(-2) would just give (rand() % (-2)), i.e. 0 or 1. < 1357238636 409445 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I think in C++ a class and struct are the same, isn't it? < 1357238659 466031 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :except for the default visibility < 1357238674 271324 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :class members are private by default, structs public < 1357238686 836413 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: You might want to try with Turbo C++ instead. < 1357238690 28027 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Since the code is, in fact, C++. < 1357238695 493048 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(OK, "C++") < 1357238713 52817 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: That also extends to inheriting from a struct/class. < 1357238718 232139 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :If you don't specify public/private. < 1357238750 130141 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(That's a difference that can actually affect other people, so I think of it as more important.) < 1357238759 652717 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Which is one of the things of C++ which doesn't make sense of its design. I don't mean the features of C++ are bad, but I do mean that they implemented all of it into C++ badly, especially by trying to make it C, which it isn't, and anyways it still isn't compatible with C, due to void* and so on. < 1357238849 323186 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :http://www.bunniestudios.com/blog/?p=898 woah apparently (some) microSD cards have a full ARM core inside < 1357238875 882759 :mig22!~miguelort@bb116-15-66-100.singnet.com.sg JOIN :#esoteric < 1357238934 452452 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"A /structure/ is a class defined with the /class-key/ |struct|; its members and base classes (clause 10) are public by default (clause 11)." (C++03) < 1357238965 803617 :asiekierka!~asiekierk@fluttershy.pl QUIT :Excess Flood < 1357238972 958206 :asiekierka!~asiekierk@fluttershy.pl JOIN :#esoteric < 1357239425 810150 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it's funny how ARM and AVR and PIC and 8051 architectures invisibly outnumber x86 by probably a factor of 100 < 1357239435 293983 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :I think in C++ a class and struct are the same, isn't it? <-- also you don't need to create instances with "new". i always wondered how it allocates memory, but it works) < 1357239453 95174 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :even an "x86 PC" has more ARM cores than x86 cores < 1357239519 849241 :WeThePeople!~WeThePeop@unaffiliated/wethepeople JOIN :#esoteric < 1357239535 951878 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :zzo38: and as consquence you have no constructors in struct < 1357239587 687511 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Would it allocate memory like in C, then? < 1357239628 621830 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :hagb4rd: i think you are confused < 1357239637 109008 :AnotherTest!~AnotherTe@94-224-28-191.access.telenet.be PRIVMSG #esoteric :Hm. The only difference between struct and class in C++, is that in a struct all members are public by default < 1357239645 302565 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :there is no difference between structs and classes in terms of memory allocation < 1357239648 590142 :AnotherTest!~AnotherTe@94-224-28-191.access.telenet.be PRIVMSG #esoteric :whereas in a class, all members are private by default < 1357239656 892039 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :"class foo { public: ... }" is exactly equivalent to "struct foo { ... }" < 1357239663 796748 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :okay < 1357239667 635370 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :if you say so < 1357239679 83053 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :"new" is used to allocate things on the heap < 1357239693 674807 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :e.g. instances of classes < 1357239697 607680 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :yep < 1357239700 883408 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but like in C, you can also allocate these things on the stack < 1357239703 590142 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :or in global static memory < 1357239707 770613 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :really? < 1357239709 861236 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yes < 1357239710 31892 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :cool < 1357239718 388560 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :class Foo {}; int main() { Foo x; ... } < 1357239736 428179 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :C++ is the only language where objects are truly first-class, rather than just references to objects < 1357239751 164605 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :are you sure "only" is true < 1357239755 392239 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :you can even pass objects by value and return them by value from functions < 1357239760 803447 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :though this is often inefficient < 1357239761 652321 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :elliott: no < 1357239763 984907 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i lie < 1357239778 601506 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: you liar :/ < 1357239786 73401 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :so you use &obj to pass as reference? < 1357239798 11681 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :you would declare the parameter that way, yes < 1357239801 410795 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :when you call it, you don't use & < 1357239808 123235 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :yes < 1357239815 627375 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :kmc: And that part is different from C < 1357239837 435457 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :references are... not exactly a first-class type, but you can use them in places other than function parameters < 1357239842 512254 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :The first part, pass objects by value and return them by value from functions, is same as C. < 1357239847 519878 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :you can have local variables that are references, or class members < 1357239948 195140 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :You are declaring an empty structure there though; is that OK? < 1357239973 917289 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yeah, you can have empty structures < 1357239980 628605 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :though their sizeof will be at least 1 < 1357240069 799051 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Why should their sizeof be one instead of zero? < 1357240086 863865 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :In C will it be zero? < 1357240113 517300 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :In the GCC extension the size is zero. < 1357240122 227441 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(In C it's not legal.) < 1357240133 889145 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(And "G++ treats empty structures as if they had a single member of type char".) < 1357240137 198005 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :C++ guarantees that &a[1] != &a[0] or something < 1357240150 286973 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i don't remember exactly < 1357240159 136584 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :maybe &a[0] could be NaN < 1357240163 43268 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :haha < 1357240164 528312 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :PHP style < 1357240169 28025 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :@tell ais523 irony of all ironies: although anticipation2 depends on programs not checking twice before starting to clear a cell, it is crushed by programs who don't check twice before leaving a cell! < 1357240169 452338 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1357240242 561277 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: Do you happen to know where all the header files are in these Turbo C(++) distributions? < 1357240267 249900 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :elliott: In tc201.zip they were in disk3 < 1357240275 807662 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :lol < 1357240287 586034 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :-rw-rw-rw- 1 elliott users 5 Feb 27 1991 DISK3.DSK < 1357240295 478032 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION suspects that doesn't contain any headers. < 1357240306 308496 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :UM < 1357240308 572955 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :Um* < 1357240317 827355 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :In fact all the DISK?.DSK files are 5 bytes. < 1357240321 541134 :Deewiant!~deewiant@deewiant.iki.fi PRIVMSG #esoteric :http://sprunge.us/GiNa < 1357240328 433746 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Heh, the contents of DISK3.DSK is: DISK$ < 1357240329 981057 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Heh, the contents of DISK3.DSK is: DISK3 < 1357240348 562172 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh, that's very different from tcpp101.zip. < 1357240402 346690 :quintopia!~quintopia@unaffiliated/quintopia PRIVMSG #esoteric :huh. hackego never came back. < 1357240498 577731 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :ragequit? < 1357240511 228092 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net JOIN :#esoteric < 1357240514 495127 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :"I'm not interpreting this C! " < 1357240514 767451 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Then what is the file for? < 1357240541 610041 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I nominate fizzie to figure out what these tcpp101 files are. < 1357240545 138125 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :`quote < 1357240552 749029 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : - C++! Turbo C++ offers you the full power of C++ programming, < 1357240552 919380 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : implementing the entire C++ 2.0 language as defined by the AT&T < 1357240552 919574 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : specification. To help you get started, we're also including < 1357240552 919686 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : C++ class libraries. < 1357240556 417001 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :is `quote handled by the bot that is not here anymore? < 1357240559 478158 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : - ANSI C! A 100% implementation of the ANSI C standard. < 1357240569 182774 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :100%, hah! < 1357240574 340324 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :My guess (re DISK?.DSK) is marker files for a "is this disk the disk 3?" query. < 1357240583 827358 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :When are they going to put it back? < 1357240585 894351 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :Sgeo_: have you read Oleg's discussion on delimited continuations? I thought it was something you might find interesting. http://okmij.org/ftp/continuations/index.html#tutorial < 1357240592 545713 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: I actually meant you should figure out where random() is defined. < 1357240626 21775 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :olsner: `quote is HackEgo who indeed seems to be missing < 1357240636 287930 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :fizzie: For installing from floppy disks? Maybe it is, then. < 1357240663 877708 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :elliott: #define random(num) (int)(((long)rand()*(num))/(RAND_MAX+1)) < 1357240667 613223 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :And if so will it work if you have DISK1.DSK and DISK2.DSK then when it is finish with disk 1 will it then know not to change disks? < 1357240670 109597 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :elliott: is that disk3.dsk file the only file on disk 3? < 1357240702 598127 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :elliott: So it in fact *will* return negative numbers for num == -2. < 1357240708 292613 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :olsner: No, it has DISK[1234].DSK in the archive. < 1357240725 797901 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Mhm. < 1357240734 642725 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :ah, so it's all the disks combined then < 1357240774 179729 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :Sgeo_: http://pllab.is.ocha.ac.jp/~asai/cw2011tutorial/main-e.pdf is the main bit. Apparently Racket supports shift/reset so you should be able to play around in there? < 1357240807 9329 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: I guess I should just make random2 be return (long)rand()*rmax / (RAND_MAX+1) then. < 1357240814 441871 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Or, um, does that work properly with the unsigned int argument? < 1357240817 20045 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Signedness is confusing. < 1357240863 931484 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :elliott: RAND_MAX these days might also be too large for that to work. It's kind of counting on long being twice as long as int. < 1357240885 463133 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Right. < 1357240889 247666 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION sigh < 1357240906 703365 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :maybe int64_t instead? < 1357240912 227387 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :turbo c had 16-bit ints? < 1357240913 476776 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: Though rand() does return int? < 1357240924 424516 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Oh, but there's still 32-bit machines in the world. < 1357240931 210806 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :are we doing C archaeology? < 1357240935 508027 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :olsner: It did, yes. < 1357240968 119987 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :cool, I've never used a compiler that did that, afaik < 1357241010 897189 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :I'm guessing compilers on 16-bit microcontrollers would use 16-bit ints? < 1357241016 13502 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :nooga: how's the 6502 language coming along? This interests me < 1357241020 916683 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: I guess rwbarton's fix is the closest to that semantics, then? < 1357241028 547871 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :I think I remember some libraries have a fuss about being "16-bit int safe" < 1357241054 672003 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :Fiora: probably they would... I've never written C for any of them though :) < 1357241076 229588 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :elliott: Yeah; closest to the intent, even if it's not quite bug-compatible. (And saying "Turbo C" does it is slightly a misnomer, if it's only Turbo C++'s random(n) that does.) < 1357241107 550682 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think SDCC uses 16-bit ints, generally. < 1357241108 973594 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :afaik the size of int really is represented my the architecture used.. so it's a good idea to use int32_t or whatever you want it to be < 1357241122 561901 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :-my+by < 1357241133 209275 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Even on arguably "8-bit" architectures. < 1357241158 669142 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :the weirdest though are the architectures that don't have 8-bit types < 1357241164 702776 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :well, int has to be >= 16-bit according to the standard? < 1357241174 269043 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :I forgot which TI DSP it was but some popular one has 16-bit as its smallest data type < 1357241183 924610 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :so sizeof(char) is 2 < 1357241189 596766 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: sizeof (char) cannot be 2. < 1357241196 98145 :Taneb!~nathan@host-92-17-59-127.as13285.net JOIN :#esoteric < 1357241198 171425 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: It will have sizeof (char) == 1, CHAR_BIT == 16. < 1357241202 595035 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :... it can't be? I guess... yeah < 1357241204 107469 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :that makes sense < 1357241206 579349 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :CHAR_BIT == 16 < 1357241214 967471 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Quite a lot of DSPs go that way. < 1357241224 886152 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I think TI's own compiler for the C54x series did it. < 1357241235 373250 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :so does that mean sizeof(int) is 2, even though it's a 32-bit int? < 1357241236 216860 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: size of char is C's fundamental storage space unit, more or less < 1357241246 294147 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :er < 1357241246 484739 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :> let sizeof=id;char=16 in sizeof(char) < 1357241247 449145 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :*Fiora: < 1357241247 821499 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 16 < 1357241255 736994 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Fiora: so that just means sizeof(int16_t) would just be 1 or whatever < 1357241276 458388 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :yeah, I think it was the C54x I was thinking of < 1357241281 960927 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: Yes, though I think the TI compiler has CHAR_BIT == 16, sizeof (char) == 1, sizeof (int) == 1, sizeof (long) == 2 because it works a lot better with 16-bit numbers. < 1357241294 475287 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :ooh. < 1357241301 470952 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :wow, that is confusing < 1357241305 343695 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :I didn't even know sizeof(int) could be 1 < 1357241312 682150 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It just needs to be 16 bits. < 1357241329 480046 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Deewiant: fizzie: Congratulations on your "props": https://github.com/ehird/crawl-1.1/pull/6 < 1357241334 910700 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :Fiora: some architectures have bytes that aren't 8 bits wide :-o < 1357241339 29013 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Motorola's DSP56k makes CHAR_BIT == 24, sizeof (char) == sizeof (int), don't know about sizeof (long) there. (Probably 2, since it doesn't have enough bits.) < 1357241348 124531 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :GreyKnight: I knew about that! but it was usually like 9-bit chars or something < 1357241351 932594 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :not.... 16-bit bytes? < 1357241359 730921 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I hope they won't remove support of ARMv2 and so on in GCC, since I intend to use that. < 1357241362 26178 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :CHAR_BIT=24? O_O < 1357241374 371092 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :is there an upper limit on CHAR_BIT? < 1357241383 808143 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :I think there was something with 11-bit bytes... In theory there could be any number < 1357241387 811645 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it's so so so dumb that char can be signed or unsigned < 1357241392 626724 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :There's some Cray with 32-bit chars, isn't there? < 1357241394 376352 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :What ARM features are used in GCC when you put certain mode? < 1357241401 90163 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :what the heck is a signed char, i never got that < 1357241401 261054 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: AD SHARC has CHAR_BIT == 32. < 1357241411 203312 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The signed char/unsigned char/char thing is great. < 1357241411 545712 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :Bike: it's just a number between -128 and 127 < 1357241414 212900 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :poorly named < 1357241415 900220 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(And probably sizeof (long) == 1.) < 1357241428 23595 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :i suppose being a "char" nowadays is ridiculous anyway < 1357241429 450928 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :so char, short, int, and long are the same size < 1357241432 589757 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :that's kind of magnificent? < 1357241439 411795 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :and float, I guess, too < 1357241439 712698 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :and then some people add wchar and so on and it's all fucky < 1357241440 829601 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :kmc: if you stick to ASCII then it won't matter! :o) < 1357241450 335827 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yeah until someone exploits your program < 1357241471 129838 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :fizzie: awesome :-D < 1357241475 908713 :asiekierka!~asiekierk@fluttershy.pl QUIT :Ping timeout: 248 seconds < 1357241476 543358 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I don't know of a non-DSP example, and I think I didn't hit on any that I'd really count when last "researching" (fancy word for Googling a bit) this. < 1357241503 558717 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :DSPs are fun < 1357241517 132525 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :this came up in one of the exploitation wargames i played < 1357241521 52469 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :they have all kinds of weirdnesses, I remember hearing about one that had a gazillion delay slots < 1357241522 116900 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Would C with unlimited numbers of char be matching any version of the C specification? < 1357241522 407658 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :DSP and DS9K share the first two latters. just saying < 1357241536 106145 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: But not the latter two latters. < 1357241537 517710 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :Bike: I liked Java's idea of just having char mean "Unicode-width" and be done with it. Then have a separate proper "byte" type for octets. < 1357241544 325639 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :there was an array "int count[256]" and then it would loop over a string doing "count[*str]++" < 1357241555 624151 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Hey, that was level07_alt or something, wasn't it? < 1357241557 263880 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :kmc: "exploitation wargames"? < 1357241557 787483 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but if you had bytes above 0x7F then it would actually corrupt the 128 words before that array < 1357241560 786621 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yeah < 1357241561 110127 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I should go back to that sometime. < 1357241567 109994 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :http://io.netgarage.org/ < 1357241569 628535 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :ACTION had forgotten. < 1357241571 322699 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :(they moved?) < 1357241571 493159 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :GreyKnight: better but still probably causes a few problems with people thinking a char is like in C? < 1357241571 493326 :asiekierka!~asiekierk@fluttershy.pl JOIN :#esoteric < 1357241581 824340 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :They moved? What! < 1357241606 82646 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :GreyKnight: doesn't java manage to fuck up non-BMP < 1357241606 808413 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :GreyKnight: basically, you log in as user level1, there's a setuid binary that runs as user level2, you exploit it < 1357241621 675041 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :then there's another binary that runs as level3 < 1357241622 173063 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :etc < 1357241625 698906 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :fun times < 1357241639 868807 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :They use some evil encoding on their website. :-( < 1357241642 795424 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :There's a strictly word-addressed Cray box where still CHAR_BIT == 8, but on the other hand void * (and char *) representation is complicated and includes a word pointer + inter-word offset to denote a particular byte. < 1357241653 122811 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :Bike: Screw 'em B-) elliott: I am not sure actually kmc: oh I see! That sounds interesting < 1357241658 839980 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :"The SHARC DSP and MIPS-X use a double branch delay slot; such a processor will execute a pair of instructions following a branch instruction before the branch takes effect." < 1357241664 144850 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :ACTION saves vertical space ,o/ < 1357241670 861374 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(I don't recall if it actually has sizeof (void *) > sizeof (int *); I think not, it was just some bits. < 1357241693 727492 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :fizzie: is that actual legal? can differently typed poiners have different sizes? < 1357241694 751360 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Just use 128-bit chars and set sizeof(everything) = 1. < 1357241703 374147 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: Sure, it's legal. < 1357241710 531414 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :wow < 1357241723 248870 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: What about my 256-bit variables? < 1357241724 918169 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :yeah, strange but legal < 1357241739 98995 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :But the language still has to be able to convert them, right? < 1357241743 462553 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Fiora: They can have different representations, I think. < 1357241749 980207 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: (Though void * and char * must have the same representation; as do pointers to any struct; and some other similar exceptions.) < 1357241750 223532 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :But is sizeof(void*)_>; < 1357242405 20785 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :wow < 1357242411 402511 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :elliott: I actually worked on some of these once (not that long ago, maybe 10 years?). The machines are still in use as far as I know < 1357242412 606046 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :I think < 1357242424 170648 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: "RPTB addr" will load PC+2 (PC+4 for RPTBD) into RSA (block-repeat start address register) and addr to REA (block-repeat end address register), and the hardware will then cause that block to be repeated as many times as the BRC (block-repeat counter) specifies. < 1357242425 76633 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :(an insurance company) < 1357242433 118244 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :http://esolangs.org/wiki/User:Ian/Computer_architectures mentions "DSPs: DSP56300 (hardware DO loops), SHARC (hardware COME FROM!!!)" < 1357242456 223410 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :these DSPs are like < 1357242458 361169 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :the revenge of CISC < 1357242459 915576 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :and it's wonderful < 1357242496 570266 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: Have you read about the FFT addressing modes yet? < 1357242515 634513 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :what O____O < 1357242516 755039 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :AS/400 is 128-bits (in 1988; and I even saw the advertisement in an issue of Byte magazine from that time). < 1357242549 206948 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: Some of them have kind of bit-reversed addressing modes for implementing FFT faster. < 1357242550 767395 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Fiora: but does it have a printf instruction? < 1357242560 663136 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :"The C54x implements division operations by using repeated conditional subtraction." < 1357242600 10614 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :oic, these are code examples, it doesn't have a div instruction < 1357242622 847917 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: And pretty much all have special circular-buffer addressing. < 1357242628 535310 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :is it a neuman or harvard architecture? < 1357242643 237387 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :fizzie: FFT addressing??? < 1357242648 904577 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :"Example 3–4 uses a 6-term Taylor series expansion to approximate the square root of a single-precision 32-bit number" < 1357242649 931772 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: That AS/400 thing is indeed great. < 1357242654 784898 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :ACTION is positively terrified by the idea < 1357242654 968926 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :that.... that's actually a cool idea < 1357242687 966868 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf liking something??? < 1357242694 802742 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Circular buffer addressing seems it would be useful in many cases. < 1357242705 191770 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: huh? i like a lot of things!! < 1357242733 127996 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :FFT involves that "read this in bit-reversed order" step, so there's a "post-increment except in a bit-reversed fashion" addressing mode. < 1357242743 963373 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :shachaf: Name three! < 1357242800 304654 :Frooxius!~Frooxius@cust-101.ktknet.cz JOIN :#esoteric < 1357242808 206162 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :wow. dsps are crazy < 1357242914 192718 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :If AR2 is 0b01101100 and AR0 is 0b00001000, then using *AR2+0B as an operand means "take data from address 0b01101100, but also increment AR2 to point at 0b01100010" (because rev(rev(0b1100)+1) = 0b0010; AR0 must be 2^(N-1) where 2^N is the FFT size). < 1357242957 365230 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I didn't have an occasion to use that (TI delivers these with optimized FFT libs), but I do think I did use the circular-buffer addressing. < 1357242964 604896 :WeThePeople!~WeThePeop@unaffiliated/wethepeople QUIT :Quit: Leaving < 1357243014 734990 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :http://i.imgur.com/vj74U.png < 1357243024 367862 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :... okay, this is one category of addressing modes. < 1357243026 347314 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :just, erm. one. < 1357243036 813977 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :http://sprunge.us/IPHd yeah, there it is; *TMP+% is a ring buffer thing. < 1357243042 716672 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :endofunctor in the category of addressing modes < 1357243084 268790 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :http://i.imgur.com/bNZNx.png here's the fft one < 1357243096 289282 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: I hope you like the parallel instructions too; that ST B, *UDPTR+ || MPY *PPTR+, B is a single opcode. < 1357243111 645210 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :the "do math and do an unrelated load/store at the same time"? < 1357243117 45097 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: (There's all kinds of crummy restrictions re which registers are usable when and where, due to running out of bits.) < 1357243136 810463 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :that's like x86 memory operands on acid < 1357243179 203435 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :http://books.google.com/books?id=2A_2-v3raKEC&pg=PA290&lpg=PA290 <-- this is what I'm reading right now < 1357243199 279858 :WeThePeople!~WeThePeop@unaffiliated/wethepeople JOIN :#esoteric < 1357243242 596893 :oerjan!oerjan@sprocket.nvg.ntnu.no JOIN :#esoteric < 1357243266 581879 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :heh, the VAX MOVTC command is basically tr(1) in a single instruction :-D < 1357243316 730053 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: "ST B, *TMP+0% || MPY *PPTR+, B" means: store old value of B >> 16 into the memory pointed by address register TMP, then post-increment it by AR0 and take the result modulo the circular addressing register BK; while doing that, also multiply B with the data pointed by PPTR, and post-increment that register. < 1357243317 348851 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :tr(1)? < 1357243327 225132 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :as in translate < 1357243331 256645 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :and CASEx has no upper limit on its number of operands (and hence instruction length) other than the size of memory. In theory it could be up to 4GB long :-o < 1357243332 683857 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :i assume? < 1357243341 88541 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :Fiora: the unix tr utility < 1357243351 627408 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :ooh < 1357243364 614837 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :now i'm wondering if anyone's designed a "snobol machine" < 1357243382 787447 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :fizzie: that... just.... woooow < 1357243392 669165 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :POLYx: evaluate polynomial < 1357243397 638994 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`run echo 'like this' | tr a-z n-za-m < 1357243406 755220 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :HackEgo is on strike < 1357243412 362595 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :WAT < 1357243413 866128 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :GreyKnight: i mentioned this before, but i had a professor who wrote binary search as a vax instruction < 1357243419 287923 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :UNHEARD OF < 1357243424 239340 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :fizzie, how can I also make it whistle Beethoven's Fifth at the same time?? < 1357243424 496741 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :HE'S FIRED < 1357243433 879639 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :!sh echo 'like this' | tr a-z n-za-m < 1357243438 415425 :EgoBot!codu@codu.org PRIVMSG #esoteric :yvxr guvf < 1357243443 938909 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :Bike: I'm not even surprised at this point! < 1357243454 607052 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :i think POLYx is kind of famous thoug < 1357243456 796611 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :h < 1357243464 806179 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :"Square and subtract: This instruction stores the data-memory value Smem in T, then it squares Smem and subtracts the product from src. The result is stored in src." < 1357243470 694135 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :which is a bit silly, it's not even really that complicated to evaluate a polynomial < 1357243479 607190 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :at least not compared to fizzie's bit there < 1357243502 326694 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :this is insane and wonderful < 1357243520 180719 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :Gregor: TELL HACKEGO HE'S FIRED FOR ABSENCE < 1357243545 32208 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: The MAC instructions are kind of nice too. "MACR *AR5+, *AR2, B, A" computes *AR5 * *AR2 (AR5 is also post-incremented), then adds that to B and stores the result to A. Have to love a four-operand opcode. < 1357243558 453553 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(Admittedly the two last operands each can only be A or B, since there's just two accumulators.) < 1357243596 563598 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :i read that * as convolution, and... i'm not sure i'm wrong? help < 1357243611 458001 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Sadly, it's just a product. :/ < 1357243625 486990 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Oh, and the R means "add 2^15 to the product and then clear bits 0..15 to 0" so that it's a round-to-nearest fixed-point multiplication. < 1357243646 611734 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :fizzie: x86 has that one at least! < 1357243653 185767 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :... the MAC one < 1357243658 983126 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :"NES CIC (LFSR-based PC, meaning the address of the next instruction is determined by what is basically a random number generator!)" < 1357243659 954846 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Yes, finally. < 1357243664 455133 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :yay for xop and fma4 < 1357243668 871187 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :GreyKnight: wat < 1357243680 778464 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Well, x86 also has those AES-related instructions. < 1357243687 333097 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :x86 has rounding fixed point multiplication now too with pmulhrsw < 1357243704 552514 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric ::t join < 1357243705 333257 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :Bike: from the list on http://esolangs.org/wiki/User:Ian/Computer_architectures < 1357243706 936380 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Monad m => m (m a) -> m a < 1357243710 2483 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :fantastic < 1357243723 457381 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :makes Malbolge look like small beans < 1357243749 604303 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(Generally speaking bits 0..15 of the accumulators A and B tend to be extra precision, 16..31 the actual data, and 32..39 the extra guard bits so that you don't wrap prematurely when summing things up; if you store A or B to memory, it will actually write bits 16..31 there.) < 1357243755 324966 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :oh right, vax's "increment literal" addressng modes. < 1357243769 341607 :WeThePeople!~WeThePeop@unaffiliated/wethepeople QUIT :Quit: Leaving < 1357243788 611475 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :fizzie: those guard bits actually sound incredibly useful < 1357243790 562819 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"has 6 operands" < 1357243814 712187 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :hmm, that thing being discussed as the as/400 instruction set earlier is actually (afaict) their cpu-independent intermediate language - when installing on your iSeries thingy it'll get translated to something sane like POWER instructions < 1357243822 348376 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :«EDITPC converts a number from packed BCD to ASCII using its own mini instruction set (called patterns). It's used extensively in the printf() function in VAX BSD for %d formats. Of course, this mini instruction set itself has variable-length instructions!» < 1357243834 927482 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :fmaddps xmm0, xmm1, xmm2, [rax+rbx*4+175232] ; yay x86 < 1357243860 59583 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :man, and i thought machines not based on executing instructions were weird < 1357243865 478823 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :heh, Ian suggests the following modification if anyone makes a new VAX: "Also extend the maximum degree of POLYx from 31 to 65,535 because it already uses a word operand." < 1357243873 433613 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :genius < 1357243891 146925 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"BBxx: branch on bit. The VAX has instructions for branching based on whether a bit is set or clear, and then optionally clearing or setting the bit regardless of the condition." neat! < 1357243908 171671 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"EMODH #5345.1524[r7], @mul_ext_ptr[r0], #3.141592765[r5], @int_table[r1], @frac_table[r2]" it's beautiful < 1357243926 980069 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :though the original as/400 had an instruction set "similar to the IBM 370", which is also quite CISC < 1357243945 546337 :HackEgo!codu@codu.org JOIN :#esoteric < 1357243960 572070 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :`echo hi < 1357243961 870126 :HackEgo!codu@codu.org PRIVMSG #esoteric :hi < 1357243965 366133 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :HackEgo: read the back log, we tried to use you earlier < 1357243983 710707 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :hmm, HackEgo is also the bot that makes the logs, isn't it? < 1357243988 204179 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"XFC: extended function call. The user can create their own instruction in microcode and the VAX will decode all the specifiers for them. " oh, so that's how that works < 1357244019 760278 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :olsner: well codu has logs anyway, looks like. does hackego have a spy < 1357244039 526685 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :Fiora: look at callg in this list ._. < 1357244045 38649 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :callg? < 1357244048 440716 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :um, link? < 1357244053 153831 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :in http://esolangs.org/wiki/User:Ian/Computer_architectures < 1357244056 225196 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :might be glogbot that logs < 1357244059 233622 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: It also has a two-port (data) memory, so you can do ST B, *AR1+0% || LD A, *AR2+ in a single cycle. (Then again, I suppose the operation itself, or the other parallel ones -- ST||ADD, ST||SUB, ST||MPY, ST||MAC, ST||MAS, LD||MAC, LD||MAS -- are not all that fancy when you consider that the C64x is an actual VLIW.) < 1357244061 679940 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"call with general argument list" < 1357244076 562062 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :omg < 1357244085 854351 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :wow, and the hardware enforces the ABI < 1357244091 628389 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"Free Activation Group-Based Heap Space Storage" a useful instruction < 1357244131 145338 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :yes, this is hardware malloc, isn't it < 1357244137 530916 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :"EMODH: the longest instruction on the VAX, besides the CASE instructions. As I wrote on Wikipedia, EMODH #5345.1524[r7], @mul_ext_ptr[r0], #3.141592765[r5], @int_table[r1], @frac_table[r2] is 2+18+6+18+6+6, or 56 bytes." < 1357244142 33914 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :a 56-byte instruction? < 1357244156 347329 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"hardware COME FROM" < 1357244157 415399 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :I think if you showed that to an x86 instruction decoder engineer it might send them comatose < 1357244169 392130 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :Fiora: or give them ideas < 1357244203 254997 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Fiora: Also fancy: conditional SIMD: http://everything2.com/title/FirePath < 1357244211 735548 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=/rzatk/mitoc.htm jesus this whole thing < 1357244212 256222 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(Includes a nice snippet.) < 1357244236 165271 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"Preserve the calling invocation and pass control to either the program entry procedure of a bound program or the external entry point of a non-bound program identified by pgmOrTmpltPtr." this is an instruction < 1357244262 449839 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :"The SIMD nature of the instruction set is complemented by the way FirePath predication works. Rather than predicate an entire instruction's execution on a single bit, like IA-64's predication, FirePath has 8-bit predicate registers, each bit controlling the conditional writeback of a separate byte in an operation's result, thus allowing conditional operations to be performed in a SIMD fashion." wooow < 1357244271 230425 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :they're /registers/ instead of bits in the instructino < 1357244275 786156 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :so it can be changed on runtime < 1357244287 898917 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :and I thought the vector units on the PS2 were insane @_@ < 1357244297 319418 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :a hardware compression instruction, that can use of one two algorithms < 1357244311 483091 :sebbu2!~sebbu@unaffiliated/sebbu NICK :sebbu < 1357244312 178728 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :(on the PS2, there are 2-4 operand vector instructions, and ALL operands can be arbitrarily shuffled as part of the instruction) < 1357244315 123 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :instructinos are instructions that interact only very weakly with processors < 1357244345 542109 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :(4 floats per vectorish I think) < 1357244348 879130 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :" the supercharged bastard son of ARM" < 1357244350 274481 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Sophie Wilson talked a bit about the FirePath when she was giving a lecture at an event; that's the only place I've even heard of the whole thing; it seems it hasn't really been used outside of Broadcom's non-consumer DSL devices. < 1357244373 984909 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Did anyone ever find the mysterious Mondrian language? < 1357244388 502807 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :There are about three references to it on the internet < 1357244398 657017 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :how had I not heard of Sophie Wilson ;-; < 1357244407 510587 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :she designed ARM, woow < 1357244418 842119 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"Materialize Authorized Users (MATAUU)" what the fuck is this machine even for < 1357244443 379667 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :transporter control? < 1357244457 356124 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :ha, variable length nop < 1357244471 874145 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :Split User in Pattern Buffer into Good and Evil Halves (SUPBGEH) :o) < 1357244504 136921 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :ACTION gapes and adds a new idol to her list < 1357244504 880503 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :There are "official" (FSVO) variable-length NOP lists for x86 too, in the manuals of both AMD and Intel. < 1357244535 670978 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :fizzie: well it's not really variable length so much as nop with an operand indicating how many bytes to skip < 1357244544 568743 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :That's also called a jump. :p < 1357244548 160995 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :oh hey it's ebcdic based < 1357244550 243635 :WeThePeople!~WeThePeop@unaffiliated/wethepeople JOIN :#esoteric < 1357244569 876687 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :fizzie: nope it's called "NOOPS" < 1357244581 344566 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Bike: What does the "NOOBS" instruction do? < 1357244598 408181 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :quit if the current user isn't properly authorized probably < 1357244606 758705 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :this does have user control stuff in hardware < 1357244618 817361 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :and that's... an instruction? < 1357244622 346648 :Fiora!~Fiora@ec2-50-17-93-47.compute-1.amazonaws.com PRIVMSG #esoteric :that's... kind of terrifying < 1357244643 275770 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :«The instruction materializes the authorization states and the identification of the user profile(s). The materialization options (operand 3) for the system object (operand 2) are returned in the receiver (operand 1). The materialization options for operand 3 have the following format: » < 1357244683 154966 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :The DSP course where we fiddled with the C54x was possibly my favourite course. Even if it wasn't perhaps all that terribly useful. < 1357244687 404831 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :Fiora: huh, she was on proto-EIDOS's board, too. cool < 1357244704 852660 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :I wonder what all that "materialization" stuff is about < 1357244729 362958 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"Speed up CALLx and POLYx just to anger VAX detractors who don't follow Moore's Law" ok < 1357244754 490134 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"Add an Execute instruction like the S/360 and PDP-10 that executes one instruction at its target and then returns. " hah, i forgot about this < 1357244813 610185 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :elliott: from rwbarton/crawl earlier: "Keep on adding hordes of little features, so that one day Crawl can be a bloated monster just like NetHack! (this has always been my dream)" <-- we're living the dream! < 1357244878 415934 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :maybe i should go stare at dataflow processors now < 1357244886 618150 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :or that neuro stuff < 1357244934 884584 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Bike: Incidentally, the C54x also has an instruction called "POLY Smem"... but it only does a simple A = round((A >> 16) * T + B) operation; it's "useful for polynomial evaluation to implement computations that take one cycle per monomial to execute". < 1357244965 36930 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: you know things about terminals right < 1357244982 317572 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :fizzie: didn't the vax just use the same method anyway but make the whole chain one instruction < 1357245002 824232 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :elliott: some < 1357245011 304536 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :anything more complicated than horn's method probably isn't worth implementing in hardware < 1357245020 966320 :etb!~flood0r2@ebuc.co PART :#esoteric < 1357245023 401349 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: what's up with character width < 1357245037 916909 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :wow i got that name wrong. whatever < 1357245067 156 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Bike: Er, I mean, to be entirely accurate, it does a simple A = round((A >> 16) * T + B); B = (Smem) << 16 operation. I suppose that latter part is going to be useful too for actually looping the thing. < 1357245085 972209 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(Presumably with a post-increment Smem operand so that it'll keep loading different coefficients.) < 1357245100 600476 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(And T is where you put 'x' into.) < 1357245117 340738 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :right < 1357245153 485009 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :elliott: i know, right < 1357245158 569146 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :seriously though, what's your question < 1357245167 292950 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: well < 1357245172 724907 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net PRIVMSG #esoteric :"int main() is in CRAWL99.CPP (the 99 is a version number, which started at 1 about 18 months ago)" <-- implies no source control? Not that it's surprising in context. < 1357245173 281418 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(So I suppose RPT #8; POLY AR0+ is *almost* a evaluate-an-8th-degree polynomial instruction, even if it technically is two.) < 1357245177 219248 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: that more or less is my question < 1357245179 357375 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :afaik there are only 3 possible widths as reported by wcwidth() < 1357245181 202700 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :0, 1, 2 < 1357245184 41029 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :plus -1 for unknown character < 1357245198 644043 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :well I am so used to thinking of a terminal as a grid < 1357245206 524235 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but that does not really seem to work when you introduce this stuff < 1357245211 447176 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but the "east asian width" character property defined on unicode takes on more values < 1357245216 684662 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :(and also the fact that lines have endings rather than just being padded out by spaces I guess) < 1357245223 438133 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :(I mean RPT #7; naturally "RPT #X; Y" repeats Y (X+1) times.) < 1357245230 207732 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :(full, half, wide, narrow, ambiguous?) < 1357245245 299034 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :probably due to roundtrip concerns with other encodings < 1357245248 308426 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :elliott: yeah < 1357245259 931824 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i think basically the wide character lives in the first of the two cells < 1357245271 36759 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :and then whatever's in the second cell is irrelevant? < 1357245288 516271 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i'm not sure if it's defined what happens if for example you write "XY", move to the X, write a fullwidth character, then write a space < 1357245295 356327 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :if the Y comes back or not < 1357245300 724056 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :KeithW in #mosh probably knows < 1357245305 307561 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :he has a hobby of torturing terminals < 1357245327 118528 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :basically I am trying to write a terminal graphics library for Haskell (like ncurses but hopefully not shit) < 1357245336 658069 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :I don't like those features of Unicode < 1357245350 464700 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :which involves trying to come up with a representation of "something you can paint on a terminal" that composes in some nice way < 1357245365 589916 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :i.e. you can say "ok, render this bit beside this other bit" etc. and it all works reasonably < 1357245368 332751 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Perhaps write the library, either to ignore Unicode, or to have an option to turn it off < 1357245373 748787 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but terminals not being grids is sort of getting in the way of this < 1357245387 972268 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :so I am not really sure what semantic model I should be using < 1357245397 322167 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Sounds like a text-based diagrams < 1357245466 897673 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :yes I quite like diagrams' design < 1357245551 473312 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: ...and then this gets even more complicated because I'd quite like some notion of a "scalable" version of these, e.g. you can make something that renders a bunch of text and wraps it according to the width it actually displays at; put two of them next to each other and the whole thing will fill the terminal < 1357245582 98290 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :interesting < 1357245589 938760 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but this is kind of tricky when I have no idea how to represent this stuff in a way that behaves properly for multiple-width characters < 1357245636 750790 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :You could also use "ZEUX encoding" although that is CP437 only and doesn't work on anything other than the Linux console, and even then it won't work unless you have the files to work it with; however, this does mean that you can convert to/from .MZM format. < 1357245653 254141 :greyooze!~GK@dab-crx1-h-89-3.dab.02.net JOIN :#esoteric < 1357245684 14715 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :(MZM is not limited to CP437 either, but it does require 8-bit character encoding.) < 1357245687 585376 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :@tell nooga i'm not banned <-- DID YOU EXPECT TO BE? < 1357245687 956797 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1357245730 698659 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :(And with 16 colors usable for background and foreground, although it does not matter what colors these are.) < 1357245749 242001 :GreyKnight!~GK@dab-ell1-h-69-10.dab.02.net QUIT :Ping timeout: 252 seconds < 1357245754 975125 :greyooze!~GK@dab-crx1-h-89-3.dab.02.net NICK :GreyKnight < 1357245769 190812 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :you can talk to keith about the terminal state data type in mosh < 1357245779 106116 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :what's ZEUX encoding and how does it solve the problem? < 1357245827 492011 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i think it stores the same wide character in both cells < 1357245844 921261 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :no, i'm wrong < 1357245847 375352 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :mm < 1357245857 647875 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :GreyKnight: It makes it so that you don't have to worry about wide characters < 1357245857 818576 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric : if ( chwidth == 2 ) { /* erase overlapped cell */ < 1357245857 818769 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric : if ( fb.ds.get_cursor_col() + 1 < fb.ds.get_width() ) { < 1357245857 818939 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric : fb.reset_cell( fb.get_mutable_cell( fb.ds.get_cursor_row(), fb.ds.get_cursor_col() + 1 ) ); < 1357245873 985083 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :But it might be insufficient for what you are making, possibly < 1357245878 80307 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I'd rather abstract from that somehow, since algorithms like "put these two grids beside each other" will depend on wide-characterness < 1357245902 571857 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yes < 1357245979 86430 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I guess a terminal is in some ways fundamentally more like a list of lists than a grid < 1357245987 521439 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :but that's such an ugly thing to actually work with < 1357246000 206140 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :does it help you avoid worrying about wide characters by the simple expedient of "not supported" :-I < 1357246016 782424 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`addquote -!- ais523 has parted #esoteric ("someone is going to mention Feather, I know it"). < 1357246020 116447 :HackEgo!codu@codu.org PRIVMSG #esoteric :893) -!- ais523 has parted #esoteric ("someone is going to mention Feather, I know it"). < 1357246021 311229 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yeah the mosh representation is like that < 1357246030 666995 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :but i think it still maintains a rectangular list of lists < 1357246040 235144 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :oerjan: it's funny he should mention it, I had a question < 1357246046 546042 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :but he left :-( < 1357246076 553583 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :if you have some totally general idea of gluing together arbitrary size rectangles < 1357246087 583285 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :then a terminal can just be a bunch of 1x1 and 2x1 rectangles glued together < 1357246107 507251 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :don't forget 0x1 < 1357246119 501255 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :why rectangles? What about a hexagonal gridded terminal :o) < 1357246125 673039 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: not sure how that view handles varying line lengths though < 1357246133 396088 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :well I guess you can glue them together vertically and just not pad out stuff < 1357246206 422862 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: I was hoping for a representation that looked something like a map or a function, though; otherwise you'll end up gluing together trees "manually" to do something like e.g. drawing an ASCII-arty picture on a grid (consider a game display or whatever) < 1357246210 401672 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :it's tricky < 1357246252 441079 :AnotherTest!~AnotherTe@94-224-28-191.access.telenet.be QUIT :Quit: Leaving. < 1357246392 899657 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Can you make non-Unicode version using only 1x1 and no 2x1, or else provide an interface for such thing, so that it can be used in the simplified mode? < 1357246479 631657 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION isn't really interested in writing a library that can't display CJK text. < 1357246517 103375 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :> 5 ^ 36 < 1357246518 457593 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 14551915228366851806640625 < 1357246574 155410 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :ACTION high-fives elliott < 1357246613 332668 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :elliott: Even in 1x1 only mode, it might still display CJK text on a wide-only terminal. < 1357246666 59192 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :But another possibility to make a grid with wide characters even in a narrow-text, is to make each cell to be narrow/left-half/right-half. < 1357246778 758179 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :that sounds sort of similar to what he's doing < 1357246793 622469 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net JOIN :#esoteric < 1357246891 37214 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :This could also be a way to store a Unicode text in a board mode MZM. Layer mode MZM has only color/character (8-bits each). Board mode MZM is dual-layer (top and bottom layers), and has a kind for each cell in addition, and an optional program for the top layer. When converting between board/layer mode, only the top layer is used. < 1357246923 196552 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Therefore you can use the bottom layer for the high bits of the character code, and use the kind octet to specify narrow/left-half/right-half. < 1357247052 656950 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :look, Unicode is not perfect, but it is The Standard < 1357247126 340891 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I thought ASCII was the standard. < 1357247139 468338 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :PETSCII < 1357247139 968436 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's what the S stands for. < 1357247154 380735 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :EBCDIC for life < 1357247200 977915 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :@tell ais523 I had a question but this message utility is too small to contain it. I posted it on your wiki user talk page instead. < 1357247201 323909 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :Consider it noted. < 1357247419 970160 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :iso-8859-8 forever < 1357247480 321933 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :does Israel have any entertainingly strange locally developed '80's microcomputers? < 1357247505 396961 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, I don't know. < 1357247541 313563 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :JIS X 0212 represent < 1357247590 954129 :Nisstyre-laptop!~yours@oftn/member/Nisstyre JOIN :#esoteric < 1357247669 803528 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :the Wikipedia entry for [[Four-Corner Method]] includes an example: «The code of 法 (pinyin: fǎ; meaning "method/law/France" [...]» < 1357247672 892809 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :best character < 1357247750 516008 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: I'm told that GOLEM is maybe interesting? < 1357247753 40218 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :http://he.wikipedia.org/wiki/%D7%92%D7%95%D7%9C%D7%9D_(%D7%9E%D7%97%D7%A9%D7%91) < 1357247806 114137 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :GreyKnight: i think my favorite is still that character for some kind of noodle that has like thirty radicals < 1357247894 666203 :Lumpio-!~matti@62-113-182-248.bb.dnainternet.fi PRIVMSG #esoteric :How is that best character < 1357247909 406159 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :John is the best character < 1357247914 670773 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :shachaf: worth it for the name alone < 1357247949 529898 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :Bike: is that the one? https://en.wikipedia.org/wiki/Bi%C3%A1ng < 1357247981 990127 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :boily: yep. < 1357247988 260170 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :strokes not radicals. i'm no good at chinese < 1357248022 798184 :Lumpio-!~matti@62-113-182-248.bb.dnainternet.fi PRIVMSG #esoteric :That thing has 58 strokes < 1357248032 532970 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :pff, the chinese text is svgs instead of text < 1357248040 315535 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :you're dropping the ball unicode < 1357248041 617627 :Lumpio-!~matti@62-113-182-248.bb.dnainternet.fi PRIVMSG #esoteric :There are reasonably common characters with 30 strokes < 1357248069 731339 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`pastelogs JIT < 1357248087 928216 :HackEgo!codu@codu.org PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28983 < 1357248104 717753 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :58 strokes < 1357248118 444449 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :you'd get RSI just writing it once < 1357248119 494380 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :oh! hackEgo's back! < 1357248145 679588 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Hmm, not what I was looking for. < 1357248150 239850 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :Bike: it's not in Unicode according to WP >:-o < 1357248154 882910 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :outrageous < 1357248168 787768 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :there was a little emergency maintenance at my subway stop today: https://twitter.com/mbtaGM/status/286944708087930880/photo/1 < 1357248183 346939 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :multiocular o: higher priority than noodles < 1357248213 176363 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i think in the back you can see where they have grounded the third rail to the running rail, Just In Case < 1357248228 603832 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Bike: To be fair, almost every Chinese character looks like noodles. < 1357248234 532409 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :fizzie: you should finish that jitfunge thing < 1357248339 906151 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Wikipedia thinks the world's most significant news story right now is some chess guy got a high rating that nobody but other chess guys cares about? Really, Wikipedia? This is how Wikipedia interprets the world around it? Has DYK staged a coup on the news section? Embarrassing. Townlake (talk) 03:54, 3 January 2013 (UTC) < 1357248368 793432 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :Glad to see WP is as much of a soap opera as ever < 1357248371 25443 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :-_- < 1357248381 554556 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :"The real entertainment is on the talk pages" < 1357248416 249982 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :i think i still have a text file somewhere of pickings from the transhumanism article < 1357248436 907711 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i used to have a markov chain bot trained from the talk pages about various religions and religious figures < 1357248438 463151 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :there was a guy insisting some incidental diagram was bad because theh brain doesn't store information, it's just a radio tranceiver to the akashic records < 1357248443 219015 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :so it would just argue with itself about religion endlessly < 1357248452 254925 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :Bike: o_O < 1357248464 930162 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :Bike: do you have enough hard disk space for storing that text file :-U < 1357248477 682152 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :("notoriously verbose") < 1357248521 384888 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Bike: nice < 1357248532 673925 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :Can you make up a version of the pastelogs which can specify the start date? < 1357248580 347471 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38: It's too late: You've already made it up. < 1357248587 156090 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The patent, trademark, and copyright all belong to you. < 1357248599 895490 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :nice it degenerated into a policy argument < 1357248613 830124 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: why are you reading [[Talk:Main page]] < 1357248627 554079 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :shachaf: Well, I officially release all of that into the public domain. < 1357248685 553235 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :shachaf: because it's the best < 1357248696 532473 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Talk:Transhumanism/Archive_11#Non-Local_Memory.21 aha, found it < 1357248701 689216 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :also because I check the main page and the talk page link is too damn prominent to avoid clicking < 1357248711 401074 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :«Also, many other scientists are aware of the NON-LOCAL nature of memories, eg. Nikola Tesla, who gave the AC electricity to the world (and opened the doors to 'modern age') knew a whole century ago, that brain is just a sort of antenna to somewhere else where these data are actually stored.» < 1357248755 88202 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :I'd better stay away from Faraday cages then < 1357248780 272634 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :The thing is that this view of 'memories-IN-the-brain' is what is pseudo! Science DIDN'T find any physical traces of memories IN the brain and will never find them, so how can a view that is based on memories being STORED IN the brain be non-pseudo, and something that doesn't contradict the reality (since reality is that they are NOT found IN the brain) be 'pseudo'(?)... < 1357248788 98631 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Good point. < 1357248886 245968 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"Waldo" is a famous story, right? < 1357248889 128270 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Jafet: Did you read it? < 1357248902 33722 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :the onen by... heinlein I think? < 1357248907 183458 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :My memory is shachaf. < 1357248911 90136 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :shachaf: did you? < 1357248924 276454 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Jafet: I think so. < 1357248993 224579 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Oh, it's the randy one with robot hands. < 1357249002 299515 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :That's the one. < 1357249002 547372 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :Jafet's memories are stored in shachaf? < 1357249010 312036 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :@wn randy < 1357249010 866688 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :*** "randy" wn "WordNet (r) 3.0 (2006)" < 1357249011 37336 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :randy < 1357249011 37546 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : adj 1: feeling great sexual desire; "feeling horny" [syn: < 1357249011 37675 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : {aroused}, {horny}, {randy}, {ruttish}, {steamy}, {turned < 1357249011 37791 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : on(p)}] < 1357249019 317097 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :@wn Rand < 1357249019 543589 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :*** "rand" wn "WordNet (r) 3.0 (2006)" < 1357249019 723517 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :rand < 1357249019 893878 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : n 1: the basic unit of money in South Africa; equal to 100 cents < 1357249019 894082 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : 2: United States writer (born in Russia) noted for her polemical < 1357249020 911405 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric : novels and political conservativism (1905-1982) [syn: {Rand}, < 1357249022 903448 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :[4 @more lines] < 1357249025 60656 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :does the fact that I'm the subconscious aspect of a COBOL-less cookie agrees with your brains being antennas? < 1357249039 924583 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, that sort of Randy. < 1357249078 163009 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :GreyKnight: how can MEMORIES be stored IN shachaf? That is pseudo gobbledygook. shachaf is my memory. < 1357249081 610133 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :"ruttish" < 1357249136 142037 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :pseudo gobbledygook = real science? < 1357249266 710099 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Is KeithW related to "keithw", the GHC committer? < 1357249373 629172 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :olsner: it *appears* to be gobbledygook, but in actuality it's balderdash < 1357249498 416174 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :boily, perhaps a cookie can act as an antenna? Time for an experiment < 1357249541 525789 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :Problem #1: How to stop GreyKnight from eating the experimental apparatus < 1357249658 606762 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Solution to Problem #1: Cyanide < 1357249677 709302 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Solution to Problem #1: Canada < 1357249690 251512 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38: Does Canada exist? < 1357249695 491438 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :For gods' sake, I said I was sorry < 1357249790 866084 :carado!~user4539@2a01:e35:8b61:e430:6ef0:49ff:fe73:1fd0 JOIN :#esoteric < 1357249794 401417 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :shachaf: Yes, Canada is exist, I think so! < 1357249810 42016 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :zzo38: Sure, it is exist. But I asked whether it *does* exist. < 1357249835 923321 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Canada: I sexist < 1357249916 691164 :Phantom_Hoover!~Phantom@unaffiliated/phantom-hoover/x-3377486 QUIT :Read error: Connection reset by peer < 1357249941 251693 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :Canada *is* existence? So if we're not in Canada, *we* don't exist < 1357249958 47637 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Canada is exist < 1357249960 97509 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :GreyKnight: Canada *is* exist. < 1357249960 547152 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :I exist < 1357249961 728653 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Come on. < 1357249964 330160 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Hence I Canada < 1357249971 875371 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Hence I can Ada < 1357249981 781735 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :I Canada therefore I eh < 1357250009 388 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :I cannot Ada < 1357250009 171170 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1357250010 255065 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :shachaf: there's a keithw GHC committer? < 1357250018 997736 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Hence either Canada is not exist, or I do not exist < 1357250023 772354 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :shachaf: probably not, but I wouldn't be totally surprised < 1357250027 21262 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :I suspect the latter < 1357250043 427614 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: I was looking for something in GHC commit history earlier and saw some. < 1357250051 256406 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :From 1999 to 2002. < 1357250077 202817 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :I think Canada exists. I'll have to check. < 1357250114 583157 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :Taneb: why would you exist? < 1357250122 501201 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :olsner, who knows < 1357250129 755584 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :I didn't even see a movie yesterday < 1357250152 956685 :zzo38!~zzo38@24-207-49-17.eastlink.ca PRIVMSG #esoteric :shachaf: I think Canada does exist, too. < 1357250186 764987 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :Taneb, is that why you were going to newcastle < 1357250196 976914 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Yeah < 1357250202 82660 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :There were six of us < 1357250207 677066 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :The cinema had six seats spare < 1357250211 387812 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Not together < 1357250214 51779 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :So we didn't see it < 1357250223 902860 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Taneb: "There were four of us" is the standard version, I think. < 1357250244 507891 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :(Two of them aren't in Canada, and hence don't exist) < 1357250623 906945 :boily!~boily@mtl.savoirfairelinux.net PRIVMSG #esoteric :can you all be less than two of them, so Canada may experimentally exist? < 1357250673 234164 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :I'll believe in Canada when I see it < 1357250680 515394 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :What if there were (-2) of them < 1357250875 660225 :boily!~boily@mtl.savoirfairelinux.net QUIT :Quit: Poulet! < 1357251163 968647 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :i can confirm that canada existed as recently as 1995, although that was of course before the war on terror < 1357251209 813944 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1357251350 30148 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :I can vouch for 1997. < 1357251379 131112 :monqy!~help@pool-98-108-214-230.snloca.dsl-w.verizon.net PRIVMSG #esoteric :I've heard stories of canada but never experienced it myself < 1357251397 592987 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :I used to know someone who lived in Canada < 1357251401 187034 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :But she was a liar < 1357251404 8767 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Which made me sad < 1357251437 626849 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I once took the ferry over from Canada. < 1357251482 60381 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :canada gave you its ferry? how generous of it < 1357251490 154081 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Taneb: what did she lie about < 1357251524 689367 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :She pretended to be two people < 1357251528 102837 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :And completely fooled me < 1357251533 885728 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Because I made friends with the fake < 1357251538 501086 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :well the relevant question is of course whether she lied about living in canada < 1357251548 273001 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :That I do not know < 1357251554 443426 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :and which one of her lived in Canada? < 1357251559 122627 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :*supposedly < 1357251579 941277 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :she pretended that all that she wants was his money.. but all she really wanted was love love love..really sick < 1357251676 295164 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Both < 1357251689 121598 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :shachaf: so did you ever write the exploit for level07_alt? it was a kinda fun constrained programming problem < 1357251700 721720 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Both ubiquitousUloid and Thollux < 1357251703 614121 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Nope. < 1357251711 781029 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I don't think I did level07_notalt, either. < 1357251715 295443 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :I should go back to it. < 1357251782 470083 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yeah me too < 1357251793 550060 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :i have like 5 or 6 levels left < 1357251828 621622 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :a friend pointed out that the split-TLB trick we were discussing might behave weirdly on SMP < 1357251852 188240 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Split TLB? < 1357251859 374126 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :maybe you weren't around < 1357251890 723646 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :PaX has NX emulation that works by deliberately putting the code TLB and data TLB into inconsistent states < 1357251924 814126 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :you set all data pages as non-accessible in the page tables < 1357251938 115273 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :when you get a page fault, you check to see if it's really a data access and not a code fetch < 1357251946 477749 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :if so, you set the page accessible, read from it, and then set it back < 1357251992 869346 :Jafet!~Jafet@unaffiliated/jafet PRIVMSG #esoteric :Sounds efficient < 1357252005 206802 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yeah ;P < 1357252013 884959 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :it's apparently not completely awful though < 1357252026 329415 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :http://pax.grsecurity.net/docs/pageexec.old.txt http://pax.grsecurity.net/docs/pageexec.txt < 1357252048 381993 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :this came up in http://events.ccc.de/congress/2012/Fahrplan/events/5265.en.html < 1357252063 887485 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :which you can download a video of at https://events.ccc.de/congress/2012/wiki/Documentation < 1357252084 675446 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :elliott, Taneb monqy Phantom_Hoover Fiora update < 1357252091 508354 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :ccc <3 < 1357252107 738940 :Bike!~Glossina@67-5-226-214.ptld.qwest.net PRIVMSG #esoteric :wait, is that the chaos computer club? < 1357252113 841003 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net PRIVMSG #esoteric :yes < 1357252127 293846 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 PRIVMSG #esoteric :aw shit i'm so far behind < 1357252130 174161 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :the Chaos Communication Congress actually < 1357252137 147638 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :their conference < 1357252142 670312 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Oh, I've heard about that. < 1357252145 54745 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Sgeo_, thanks < 1357252148 338777 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :(The TLB thing.) < 1357252193 440360 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :they talked about using the same trick to trap self-modifying code < 1357252195 572394 :hagb4rd!~perdito@koln-4db426e1.pool.mediaWays.net QUIT :Quit: this statement is false < 1357252224 668178 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :is there a version of the talk that doesn't involve video or anyone talking? < 1357252226 51969 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :basically, you get a page fault on each TLB miss, so you get a page fault the first time a given page is written or executed < 1357252233 710621 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :slides only? not that i've seen, sorry < 1357252243 447986 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :you can watch it at high speed on mute < 1357252254 630466 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :automatic extraction of slides from video would be an amusing computer vision project < 1357252297 336935 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :automatic extraction of kmc from #esoteric < 1357252301 621642 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :yessss < 1357252308 131927 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :`pastelogs kmc < 1357252324 601338 :Lumpio-!~matti@62-113-182-248.bb.dnainternet.fi PRIVMSG #esoteric :bl < 1357252335 59579 :HackEgo!codu@codu.org PRIVMSG #esoteric :http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.24432 < 1357252364 242121 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :kmc: extracting slides from a video of a presentation seems trivial < 1357252364 412635 :lambdabot!~lambdabot@li85-105.members.linode.com PRIVMSG #esoteric :ais523: You have 2 new messages. '/msg lambdabot @messages' to read them. < 1357252364 870297 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :Lumpio-: bh < 1357252370 64784 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's basically just deduplication, right? < 1357252382 232220 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :assuming that each slide is shown full-frame at some point < 1357252392 666020 :Lumpio-!~matti@62-113-182-248.bb.dnainternet.fi PRIVMSG #esoteric :blbl < 1357252393 793226 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :if not then it's a little more work < 1357252394 620480 :Lumpio-!~matti@62-113-182-248.bb.dnainternet.fi PRIVMSG #esoteric :ЫЫ < 1357252396 491316 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ACTION wonders if ais523 is saying trivial to upset kmc. < 1357252407 833786 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :anyway this is why i said "amusing" and not "publishable" ;P < 1357252414 866070 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :elliott: probably! < 1357252429 322798 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :quintopia: yeah, I noticed that; the problem is that although it can detect that case, it's physically impossible to synchronize on it because you can't get there fast enough < 1357252440 448696 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :however, not checking twice before leaving makes you vulnerable to shudder < 1357252448 814119 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :huh, perhaps I should just shudder the flag in that case :) < 1357252487 671773 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :kmc: Did you hear I ragequit #-blah the other day? < 1357252495 732225 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :But I went back later. < 1357252502 230740 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :2011-08-29.txt:00:20:56: -!- kmc has joined #esoteric. < 1357252502 401623 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :2011-08-29.txt:01:22:05: suid is irredeemably broken anyway < 1357252504 337051 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :kmc: great entrance < 1357252508 154324 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :shachaf: what a scandal < 1357252516 36676 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :haha < 1357252530 874659 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :shachaf: i did not hear of this < 1357252531 895512 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :[slams open doors] YOUR WHOLE WORLD IS IRREDEEMABLY BROKEN < 1357252544 864268 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :*studio audience cheers wildly* < 1357252552 574681 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, I guess you wouldn't've. < 1357252622 325442 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :whoa, dude, monochrom has evolved into Dr. monochrom < 1357252667 574192 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :Sgeo_: I posted a link for you earlier < 1357252727 666020 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :GreyKnight, I ... vaguely remember seeing you give me a link, but I didn't look at it I think because I knew about it already. But I forgot exactly what it was < 1357252734 26403 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: does the wiki have spoiler tags? < 1357252741 73696 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :that's okay, I forgot too < 1357252746 410023 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :Oh! Delimited continuations < 1357252750 748245 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I answered a question about Feather, but want to hide the answer so that it doesn't blow people's brains by mistake < 1357252754 925892 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :actually, I nkow < 1357252760 100448 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :the answer's in the page history now < 1357252769 159020 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :so I can safely delete it, and yet people who care can still find it < 1357252776 978085 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: you could just not answer < 1357252798 544033 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: I think as a matter of policy I must forbid making edits that are harmful to other people < 1357252800 911918 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :"If you're confused by this, then I'm not surprised and don't say I didn't warn you." < 1357252812 202417 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I deleted the section < 1357252843 212383 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: you should retroactively delete it < 1357252844 358009 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :: D < 1357252847 843975 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :: D < 1357252850 945489 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :: D < 1357252859 560457 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :D: overflow < 1357252862 260485 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :elliott: go install the oversight extension and give me the perms < 1357252869 237258 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :ais523: don't we have oversight? < 1357252871 631859 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then I /can/ retroactively delete it, so long as it's the top edit < 1357252875 507538 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :we have revision hiding, it's better < 1357252881 141411 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I didn't understan it, but I think it's because I don't know Feather < 1357252884 184425 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but leaves a mention of the revisions' existence < 1357252889 718133 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :I think ais523 knows more about Esolang's MediaWiki installation than I do < 1357252897 226168 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :Sgeo_: are you suggesting anyone knows Feather < 1357252902 760907 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oversight is a super secret thing that can't be undone and only other oversighters are aware of the existence of the oversighting < 1357252911 770150 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's what developers use if they need to hide the fact that something's been hidden < 1357252914 313636 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Well, at least two people have some notion of a construct =<< < 1357252917 323912 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :say, on order from the WMF < 1357252946 638161 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :oversight: the <<= of mediawiki < 1357252971 412525 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :well, it only allows for effectively retroactive /deletion/, and even then only on the top revision < 1357253059 320195 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :ais523: "this is consistent with the example you gave" Which one? Do changes from <<= only go back as far as the last =< i don't know what a HackEgo is < 1357253118 872658 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :2011-08-29.txt:01:59:31: what does EgoBot do? < 1357253141 461660 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :kmc: the bots both have a help command, and use ` and ! respectively as command prefixes < 1357253149 731615 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :thanks < 1357253153 124157 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in fact, the other #esoteric bots (apart from the logging bots) have help prefixes too < 1357253154 414038 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :Taneb: yes < 1357253158 260202 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :err, help commands < 1357253160 634900 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :remember when kmc was in #haskell < 1357253161 666644 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :fungot's prefix is ^ < 1357253168 592557 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :thutubot's prefix is + but it isn't normally here < 1357253170 758742 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :#haskell was much better. :-( < 1357253175 198206 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :ais523: hey I'm getting somewhere! < 1357253177 271689 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and lambdabot's is @ or ? < 1357253188 653552 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :Pietpot's is ) but that was here once and sucked < 1357253196 876858 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :And I've lost the source < 1357253208 534101 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :Taneb: was it written in piet? < 1357253212 107859 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :can't wait till kmc gives up on #esoteric < 1357253215 842913 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oh, one of the reason thutubot isn't usually here is that it has a bug < 1357253216 986845 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :s/written/drawn/ I guess < 1357253219 913450 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :GreyKnight, yes < 1357253220 848249 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that causes it to repeat everything lambdabot says < 1357253230 900484 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it's an amusing bug but gets annoying after a while < 1357253234 752580 :Bike!~Glossina@67-5-226-214.ptld.qwest.net QUIT :Ping timeout: 240 seconds < 1357253270 769835 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :elliott: Then I'll have to take all my offtopicness to #mosh! < 1357253286 41653 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it was worth it just for the few seconds where elliott thought I had a working Haskell interp in Thutu, though < 1357253291 611418 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(I guess technically, I /did/, but…) < 1357253309 777367 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :ah so (o =<< dummy) creates a clone... that clarifies things considerably < 1357253327 127342 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :GreyKnight, PietBot could join the channel and crash when you tried to run a deadfish program! < 1357253328 454174 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :also, =<< doesn't take an argument < 1357253333 320361 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :why are you giving it one < 1357253365 39141 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :er I had an attempt at an implementation of =<< once which you said was "basically okay", and it had a dummy argument < 1357253371 979649 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :>_> < 1357253378 678893 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :ACTION retroactively changes his notes < 1357253382 682539 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :Where is documentation on Feather? < 1357253387 880669 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Sgeo_: gon't < 1357253389 400766 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :*don't < 1357253398 158490 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :seriously, it's better as an injoke < 1357253406 446129 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :I am keeping my notes offline so as not to injure anybody < 1357253409 416616 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric ::( < 1357253426 919110 :Taneb!~nathan@host-92-17-59-127.as13285.net PRIVMSG #esoteric :I have a vague idea about Feather, but no specifics < 1357253474 451069 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :GreyKnight: something I discovered a while back is that Feather is not a good cure for depression < 1357253477 783730 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I thought it would be < 1357253483 940521 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :but instead I just ended up depressed /and/ confused < 1357253505 315224 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :(depression <<= nil) < 1357253544 173648 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :How to Good-Bye Depression < 1357253549 665284 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :GreyKnight: <<= (nil =<<), hopefully < 1357253557 192794 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :otherwise, when someone gets depressed again < 1357253563 729696 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :they'll end up overwriting nil < 1357253603 496256 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :^prefixes -- yo ais523 < 1357253609 178227 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :argh < 1357253616 429583 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :fizzie: FUNGOT SHORTAGE < 1357253627 159790 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: I didn't know that existed < 1357253635 468103 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :`prefixes < 1357253636 769139 :HackEgo!codu@codu.org PRIVMSG #esoteric :Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ? < 1357253639 172702 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :(and, of course, it needn't have, with fungot being extensible from inside itself) < 1357253654 319310 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :ACTION retroactively assigns to oerjan ↞ fungot < 1357253687 682151 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :GreyKnight: how do you type that character with compose? or is it impossible? < 1357253689 233141 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Oh, right, I noticed the shortage but forgot to do anything. < 1357253705 492930 :fungot!fis@selene.zem.fi JOIN :#esoteric < 1357253710 964490 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :^show prefixes < 1357253711 688829 :fungot!fis@selene.zem.fi PRIVMSG #esoteric :(Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?)S < 1357253721 194162 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :It seems to be combattible. < 1357253730 834590 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :I don't know; it's U+219E < 1357253742 663395 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :"Neutral characters do not occur in legacy East Asian character sets. By extension, they also do not occur in East Asian typography. For example, there is no traditional Japanese way of typesetting Devanagari." < 1357253753 826567 :kmc!~keegan@ec2-50-17-26-83.compute-1.amazonaws.com PRIVMSG #esoteric :WELL WHY NOT < 1357253790 695690 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric : oh, one of the reason thutubot isn't usually here is that it has a bug <-- isn't fixing the bug just a matter of checking whether the privmsg target is thutubot itself? < 1357253800 49384 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :I don't think the standard compose maps have all that many arrows, just the basic ones. < 1357253810 677472 :Sgeo_!~Sgeo@ool-ad034ea6.dyn.optonline.net PRIVMSG #esoteric :I assume the brain exploding stuff is a joke < 1357253815 270562 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :U+291B is also relevant ⤛ < 1357253856 998726 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Sgeo_: no < 1357253858 709271 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :seriously < 1357253868 86160 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I gave up Feather because I became too confused < 1357253871 98117 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :and slightly addicted < 1357253883 369528 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :hey I found a new fountain glyph for NetHack ⥾ < 1357253890 398825 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :GreyKnight: that's not new < 1357253894 183796 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :I think Un actually uses it < 1357253896 565204 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric ::< < 1357253904 401463 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 QUIT :Read error: Connection reset by peer < 1357253918 926985 :DHeadshot!~DH____@unaffiliated/dh----/x-6288474 JOIN :#esoteric < 1357254078 248061 :Gracenotes!~person@wikipedia/Gracenotes QUIT :Ping timeout: 264 seconds < 1357254185 67557 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1357254254 322273 :Taneb!~nathan@host-92-17-59-127.as13285.net QUIT :Quit: Leaving < 1357254520 236483 :sebbu!~sebbu@unaffiliated/sebbu QUIT :Read error: Connection reset by peer < 1357254616 163871 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net PRIVMSG #esoteric :okay time for sleep I think < 1357254636 866378 :sebbu!~sebbu@unaffiliated/sebbu JOIN :#esoteric < 1357254665 429837 :GreyKnight!~GK@dab-crx1-h-89-3.dab.02.net QUIT :Quit: zzz < 1357254912 279285 :Arc_Koen!~Arc_Koen@vbo91-6-78-245-243-132.fbx.proxad.net JOIN :#esoteric < 1357255565 510069 :WeThePeople!~WeThePeop@unaffiliated/wethepeople QUIT :Quit: Leaving < 1357255830 786167 :Bike!~Glossina@c-24-21-88-250.hsd1.wa.comcast.net JOIN :#esoteric < 1357256066 541331 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION devalues his sanity *MWAHAHAHA* wait is that an appropriate use of *MWAHAHAHA* < 1357256104 663343 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :`quote MWAHAHAHA < 1357256106 329899 :HackEgo!codu@codu.org PRIVMSG #esoteric :No output. < 1357256117 983029 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shocking < 1357256136 119623 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :oerjan: what's cooler: invariant functors or profuncotrs < 1357256138 928424 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :profunctors < 1357256142 123881 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :"choose wisely" < 1357256231 60642 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :um if it is invariant, then it must be neither covariant nor contravariant, which means it's not a functor in the first place < 1357256263 817645 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric : wow, Feather sounds like it was designed during a salvia trip < 1357256265 352478 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :this paste is great < 1357256295 175486 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :thus clearly profunctors < 1357256319 496210 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: yeah but I'm lazy < 1357256399 572598 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ACTION swats ais523 with quintopia because both comment on long-since-passed contexts ==>D: < 1357256414 547582 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: it hasn't even scrolled off my screen yet! < 1357256420 686372 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :that's not long since passed! < 1357256436 797041 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :oh ok < 1357256449 923279 :olsner!~salparot@c83-252-194-156.bredband.comhem.se PRIVMSG #esoteric :I wonder how kmc got enough information about Feather to decide it sounded like a salvia trip invention < 1357256474 312523 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ais523: so =<< actually takes only one argument, right < 1357256503 142290 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it takes zero plus "this" < 1357256511 972703 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :which isn't called "this" but people know what I mean by that < 1357256537 703266 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :right that oo thingy people keep using < 1357256663 420494 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Feather is definitely OO < 1357256669 479994 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :it wouldn't meet its original design goals otherwise < 1357256711 791156 :Bike!~Glossina@c-24-21-88-250.hsd1.wa.comcast.net PRIVMSG #esoteric :what are its original design goals < 1357257124 243161 :fizzie!fis@unaffiliated/fizzie PRIVMSG #esoteric :Bike: Who knows, they keep getting retroactively changed. < 1357257144 59326 :Bike!~Glossina@c-24-21-88-250.hsd1.wa.comcast.net PRIVMSG #esoteric :i don't even know anything about feather and i'm getting sick of the time travel jokes < 1357257148 250176 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :Bike: being like Smalltalk but more light-weight < 1357257169 539922 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :along the way, this evolved into "looks vaguely like Smalltalk but does what it does for entirely different reasons" < 1357257181 640962 :Bike!~Glossina@c-24-21-88-250.hsd1.wa.comcast.net PRIVMSG #esoteric :is it still integrated with a graphical environment < 1357257187 456302 :elliott!elliott@unaffiliated/elliott PRIVMSG #esoteric :`addquote i don't even know anything about feather and i'm getting sick of the time travel jokes < 1357257190 744270 :HackEgo!codu@codu.org PRIVMSG #esoteric :894) i don't even know anything about feather and i'm getting sick of the time travel jokes < 1357257228 24331 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :oerjan: Hmm? < 1357257233 175740 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :oerjan: Sure it's a functor. < 1357257280 48691 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shachaf: well i don't know what an invariant functor is. < 1357257361 984528 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :Well, it gives you inmap :: (a -> b) -> (b -> a) -> f a -> f b < 1357257398 22181 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :ais523: i assume (o =<<) <<= x will only change the cloned object, not the original o, while o =<< x after o has been cloned will change both? < 1357257400 902227 :epicmonkey!~epicmonke@188.134.41.173 QUIT :Ping timeout: 272 seconds < 1357257430 754722 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: yes < 1357257434 697322 :shachaf!~shachaf@unaffiliated/shachaf PRIVMSG #esoteric :oerjan: Comonads? < 1357257436 705202 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :good, good < 1357257444 958191 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :oerjan: unless the cloned object was retroactively assigned to in the meantime < 1357257463 419272 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :then you only change the original because you're retroactively changing what it was before it retroactively changed < 1357257466 800235 :ais523!~ais523@unaffiliated/ais523 PRIVMSG #esoteric :in the clone < 1357257476 581611 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :....oops < 1357257524 187201 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shachaf: ok i guess there's some category that's a functor of... < 1357257531 327377 :oerjan!oerjan@sprocket.nvg.ntnu.no PRIVMSG #esoteric :shachaf: no, feather