< 1296518418 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :also, quintopia, what do you like? < 1296518450 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :(also, I can't find a reason to distinguish between = and == in such a language..) < 1296518495 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: anything that is done while naked with a member of the opposite sex, also naked < 1296518501 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :(seriously, like about what?) < 1296518540 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, about languages < 1296518557 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Let's write a programming language based on Wang tiles. < 1296518560 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh. I only like Makefiles < 1296518570 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :i program everything in Makefile < 1296518640 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :that would be a huge turn-off < 1296518669 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: no. < 1296518675 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :why? you never have to try to remember how to call your program < 1296518677 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Why not? < 1296518679 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :it's always just "make" < 1296518685 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296518687 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: because < 1296518727 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Let's make a programming language based on complex numbers. < 1296518736 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :make: *** No rule to make target `love'. Stop. < 1296518741 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: no < 1296518745 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :how about a language called Bugger Overflow? You guys still haven't suggested a good language for that name. < 1296518746 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :tssk, no Daft Punk references. Shameful. < 1296518747 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Why not? :( < 1296518760 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, the only way to control program flow is to intentionally overflow buffers. < 1296518776 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :umm < 1296518786 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :how is it structured that that's the only way < 1296518833 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :even in C, the real damage is done upon returning from called function... < 1296518842 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :which is another form of control flow... < 1296518852 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Figure it out. < 1296518859 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :O KAY < 1296518879 0 :elliott!unknown@unknown.invalid TOPIC #esoteric :argaarognaroijrigjieajgioajorjg < 1296518882 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's staying like that < 1296518883 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :forever < 1296518911 0 :quintopia!unknown@unknown.invalid TOPIC #esoteric :alright, forever's up < 1296518935 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :woo hooo http://bpaste.net/show/13389/ < 1296518941 0 :elliott!unknown@unknown.invalid TOPIC #esoteric :forever is like no times tfoij oj jlol what's this even < 1296518957 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :best language evar < 1296518959 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: "e.address.next" this is don't even i mean what is this you're < 1296518961 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it should be +1 surely < 1296518963 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you're just the and it < 1296518979 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i really think having the address stuff in there is gonna make the logic fall down a bit :) < 1296518981 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, nope, + 1 iz no good < 1296518985 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: *you're* just the and it < 1296518992 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :_especially_ if you define addresses to be finite and every object to have a unique address. < 1296519021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :map.c:501: error: incompatible types when assigning to type ‘Uint32’ from type ‘RGB’ < 1296519022 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :god what a fuck < 1296519029 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so inconsiderate? < 1296519031 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1296519031 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, + 1 doesn't mean much for adresses.. < 1296519031 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1296519034 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i was going to write duck :D < 1296519039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: sure it does, it means the address after that. < 1296519053 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well ok you want +sizeof(blah), but er, you could do it like C and have +1 mean that < 1296519053 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well so does anAddress.next - and it's a convention, for list-like data structures as well < 1296519057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i mean you need that anyway < 1296519057 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1296519058 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :but no < 1296519060 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :but yeah < 1296519061 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i mean you need that anyway < 1296519062 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :but it'll be confusing < 1296519064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because address.next does that < 1296519067 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :yup < 1296519072 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so address.next changes meaning depending on what you're addressing with it, which is just < 1296519073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :your language is just < 1296519077 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :well < 1296519077 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you need to think this through some more :P < 1296519095 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :I'd rather have address.next's meaning depending on what you're adressing, rather than + 1 depending on what you're adressing < 1296519095 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :really. < 1296519107 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :cause, you know, I'd expect "next" to be the next "thing", ie. the next "whatever". But I'd expect 1 = 1. < 1296519146 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :(I think I get it now: #esoteric is a niche social network dedicated entirely to dating elliott) < 1296519246 0 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1296519326 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: PRECISELY < 1296519333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :although oerjan is also available. < 1296519340 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :<nddrylliog> I'd rather have address.next's meaning depending on what you're adressing, rather than + 1 depending on what you're adressing < 1296519343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but address.next means one thing < 1296519344 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in your case < 1296519347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :x == address.next < 1296519347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and < 1296519349 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :y == address.next < 1296519353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the .nexts there are evaluated differently < 1296519357 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and that's just hugely fucked up. < 1296519363 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :UNLESS < 1296519369 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you parameterise the address type on the type it's addressing < 1296519370 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. < 1296519370 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :instead of < 1296519377 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"foo.address has type Address" < 1296519378 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you have < 1296519383 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"foo.address has type Address(foo's type)" < 1296519388 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then .next could depend on that. < 1296519396 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you would need conversions of course. < 1296519403 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :well yeah obviously < 1296519407 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :that's what I meant. < 1296519426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: so how do you write functions in this, tell it the big-O you want and it figures the rest out itself? :) < 1296519429 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :when i think address I think C, and.. C pointer types are somehow "parameterized" < 1296519448 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :re: functions: exactly! < 1296519508 0 :Behold!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296519526 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sure they are parameterised. (T *) has overloaded + :) < 1296519629 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :C? overloaded? surely you just. < 1296519631 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :*jest < 1296519688 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Sorry elliott, I was asleep < 1296519699 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Unforgivable. < 1296519709 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :So you hate my esolang < 1296519718 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Did I say that? < 1296519719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1296519720 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :As for the AMD64/IA-32 PE/ELF stuff < 1296519722 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :WHY NOT? < 1296519727 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :'CUZ WINDOWS SUCKS < 1296519739 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, what's your esolang? < 1296519770 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :http://siyobik.info/misc/esolang/prime.html < 1296519775 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It was just a quick joke idea < 1296519785 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :But writing a self hosting compiler would be massively awesome < 1296519790 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Especially a portable one < 1296519836 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It would probably be easier for a simpler language though < 1296519854 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I wouldn't have to deal with stuff like optimising tail recursion etc < 1296519893 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :self-hosting? without IO? tough job < 1296519912 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It prints the return value of the main "program" function to stdout at the end < 1296519915 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :also, without strings :D < 1296519921 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :hmm. < 1296519929 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :eh, pixley does it < 1296519929 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :what would it compile to? < 1296519932 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :So there is just one form of implicit output < 1296519941 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: An AMD64 PE, for example. < 1296519958 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :No external dependencies other than kernel32.dll < 1296519959 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: he wants to compile it to multiple executable formats because I don't know. < 1296519968 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :On Linux you could even do it without any shared libraries < 1296519970 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps because he uses Windows and would like to convince himself that that's not a bad thing. < 1296519987 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I use a variety of operating systems < 1296520009 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :ah right. < 1296520012 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott I'd just like to do that because it would be really impressive and because it would take a considerable amount of effort < 1296520023 0 :variable!unknown@unknown.invalid QUIT :Quit: Daemon escaped from pentagram < 1296520027 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Generating PE vs. generating ELF is not really all that much work. It's just header.s < 1296520029 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*headers. < 1296520052 0 :macrohauler!~macrohaul@217-208-218-254-no33.tbcn.telia.com JOIN :#esoteric < 1296520056 0 :macrohauler!unknown@unknown.invalid PART #esoteric :? < 1296520064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: http://catseye.tc/projects/pixley/src/pixley.pix "Self-hosting" Pixley, although admittedly it is an interpreter, not a compiler. < 1296520076 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yup, I googled that a minute ago < 1296520135 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :How is it self hosting then? < 1296520152 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well with a Pixley specialiser, you can turn it into a compiler. :) < 1296520189 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :specialiser? < 1296520203 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: read this: http://blog.sigfpe.com/2009/05/three-projections-of-doctor-futamura.html < 1296520218 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I have no clue whether I should go with Git or Mercurial < 1296520223 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :For single-person projects < 1296520229 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: scapegoat < 1296520234 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm under the impression that Mercurial's easier < 1296520237 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: more seriously: darcs. < 1296520250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but scapegoat, once scapegoat exists! < 1296520260 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That's the one that's notable only due to it being Haskell? < 1296520264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1296520269 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :>.> < 1296520273 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :darcs is notable due to having the only decent UI of any version control system. < 1296520283 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and also the only "major" one that treats patches in any even vaguely-sane way < 1296520291 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as opposed to just treating commits as copies of the whole repository. < 1296520328 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Does TortoiseDarcs exist? < 1296520330 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION googles < 1296520343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Tortoise* are all terrible. < 1296520353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i don't know why anyone would use them apart from acute brain damage < 1296520355 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :ACTION used TortoiseSVN and uses TortoiseGit < 1296520365 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lot of brain damage today! < 1296520373 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Oh, I've also used TortoiseHg at some piont < 1296520404 0 :cheater-!~cheater@g229028155.adsl.alicedsl.de JOIN :#esoteric < 1296520573 0 :cheater00!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296520628 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :darcs is notable for having been written in Haskell < 1296520684 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :And for being excessively slow in general because it has no proper protocol of its own and pulls 30 gzip files per second via HTTP which are like 1 KiB in size each, without any concurrency at that. Good grief. < 1296520692 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :erm. < 1296520696 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :when was the last time you used darcs? < 1296520701 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Three days ago < 1296520706 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i don't think darcs 2 does that < 1296520714 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :anyway, darcs isn't notable because it's written in haskell, i don't give a shit about that < 1296520715 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Whenever I have to pull stuff from HackageDB it takes 10-20 min :[ < 1296520721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: works for me < 1296520731 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it works, but it's really slow < 1296520737 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :works fast for me < 1296520739 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :ACTION 's head is spinning. < 1296520741 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :too.. many.. projections < 1296520744 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i don't think anyone uses darcs because it's written in haskell. or at least if they do they're a moron. < 1296520754 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Oh, lots of Haskell people do < 1296520757 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: don't worry, in a few days you'll have an epiphany and then decide that all language implementations should be specialisers < 1296520761 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: well. whatever. < 1296520768 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I've already decided that - but I have no idea how to < 1296520773 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: :) < 1296520779 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: writing good specialisers is "current reserach" < 1296520780 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Lots of Haskell people will use software written in Haskell over superior software which does the same < 1296520796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: iirc there was a team that got a specialiser behaving non-trivially when applied to itself. one team. :p < 1296520814 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: i'm not so cynical about haskell people. although i don't talk to them much, well, i do, but in #haskell, about Haskell itself. < 1296520859 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I'm in #haskell, too < 1296520943 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm aware :p < 1296520945 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :kfr, which is better, TortoiseHg or TortoiseGit < 1296520952 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I have nothing else to make a decision on < 1296520972 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Isn't there something about git being easier to make throwaway branches with? < 1296521024 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok Sgeo is officially infuriating enough. < 1296521064 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Well I would definitely pick git over hg, it's a really pragmatic VCS used for large projects. For example, unlike every other VCS I know it comes with a filtering language which allows you to programmatically modify the history of a repository to fix old erroneous commits etc < 1296521077 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :modifying history is evil. < 1296521083 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(it's necessary in git, but only because git is badly-designed) < 1296521088 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :modifying History is evil. < 1296521094 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :history, not so much. < 1296521096 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :To remove accidentally committed sensitive files, etc < 1296521098 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Modifying history is _necessary_ in Git? < 1296521101 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It saved my ass so many times < 1296521104 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: No < 1296521112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: that's easy to do without changing history if you really have to < 1296521123 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the thing is, in git, people modify history *for aesthetic reasons* < 1296521132 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in fact, every "git pull" that causes a merge does a rebase! < 1296521134 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's *inasnity* < 1296521137 0 :elliott!unknown@unknown.invalid TOPIC #esoteric :http://208.78.103.223/ < 1296521140 0 :elliott!unknown@unknown.invalid TOPIC #esoteric :http://208.78.103.223/esoteric/ < 1296521141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*insanity < 1296521149 0 :pikhq!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296521157 0 :pikhq!~pikhq@174-22-191-30.clsp.qwest.net JOIN :#esoteric < 1296521173 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :git is also the fastest DVCS I've used and there are convenient sites for open source projects like github < 1296521181 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So, one of my friends got published in a textbook < 1296521182 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Google Code with hg works, too, but it's not as fancy < 1296521190 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: Umm, bitbucket? < 1296521194 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Don't know it < 1296521196 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Come on, it's like a feature-for-feature clone of GitHub. < 1296521199 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :github beats bitbucket anytime. < 1296521201 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's pretty damn popular too. < 1296521210 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :they'll always be several steps behind... < 1296521216 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: Sure, but saying "github exists and google code sucks at hg" is a really biased portrayal. < 1296521234 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well yeah. for what it's worth, google code doesn't even really exists < 1296521235 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how much that xkcd strip promoted github... < 1296521241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Google Code is pretty bad. < 1296521246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :especially since the latest redesign. < 1296521247 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Which one? :o < 1296521259 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :bitbucket has free private hosting, right? < 1296521267 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :<3 http://lesbians.github.com/ < 1296521277 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, that one ^ < 1296521280 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://xkcd.com/624/ < 1296521298 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Odd one < 1296521305 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's a pretty crap one. < 1296521315 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Dont' really find it funny, shrug < 1296521317 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :is there such as a thing as an odd xkcd comic? < 1296521318 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :its number is >600 and <8xx (for some xx i forget) < 1296521321 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so that it sucks immensely is obvious < 1296521333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think Mercurial would be dead if not for the 6-or-so high-profile projects using it. < 1296521350 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Anyways, overall my preference for VCS currently is: git > hg > bzr > darcs > any centralised one < 1296521359 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :git really sucks in two regards though < 1296521361 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I've only ever used SVN before < 1296521366 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :1. like half of it is written in bash < 1296521371 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no it isn't < 1296521373 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :git is all C now < 1296521376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or at least 90% < 1296521383 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(this is also why windows users stopped whining) < 1296521385 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :2. it doesn't have a proper API < 1296521395 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You forgot to rank arch and svk. :) < 1296521396 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Unlike, say, hg < 1296521400 0 :variable!~variable@unaffiliated/variable JOIN :#esoteric < 1296521402 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And Codeville! < 1296521402 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Haven't used those < 1296521409 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :They're...rather obscure. < 1296521411 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I'\ve only used cvs, svn and some commercial ones < 1296521417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Arch was the first Free(TM) distributed VCS, though. < 1296521424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And also the first one that anyone really paid any attention to at all. < 1296521424 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :and RCS! < 1296521425 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Out of the ones I didn't mention < 1296521435 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :RCS? pah, i use SCCS < 1296521467 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ahh shoot. That's the one I was looking for < 1296521476 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Which, if used for a single-person project, will give me a greater understanding of DVCS? (I kind of gather that since it's a single person project, it won't be that helpful) < 1296521517 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Do you know how many binaries and bash scripts MSysGit comes with right now? < 1296521520 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :127. < 1296521527 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, huh, sorry but I almost always use git for my single-person projects. Branches are goodness. < 1296521534 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, right - but it's msys. < 1296521538 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: why did you include binaries? < 1296521538 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It requires a full BusyBox port < 1296521543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :those are irrelevant < 1296521546 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we are talking about shell scripts < 1296521556 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, are branches better in git than hg, as nddrylliog suggests? < 1296521558 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Err that's very relevant, relying on BusyBox for a VCS implies mental poverty < 1296521563 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mental poverty? < 1296521569 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no, it implies someone who isn't going to bend over backwards for Windows. < 1296521580 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you think Linus Torvalds gives a shit...? < 1296521585 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, msysgit is *so much more* than just git. < 1296521597 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, ergo it's not fair. < 1296521600 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: Why else would they be in there if they weren't required? < 1296521610 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because windows users like software bloat? < 1296521615 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you're edging very close to being a troll tbh < 1296521616 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Oh I'm sorry, apparently it uses /bin/sh < 1296521637 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, because msysgit provides a whole unix-like environment under Windows.. you have the console and everything. A minimal git for win32 would just provide git.exe and that's it. < 1296521639 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :im an open source fan, but must admit that the winpowershell really has an edge over any unix bash < 1296521647 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, and bash, and *vim*, yeah. < 1296521651 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :powershell is useless < 1296521655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1296521659 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott yeah it is < 1296521659 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :its internal architecture is nice < 1296521662 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but actually getting anything done in it? < 1296521665 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :doesn't happen. < 1296521671 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :talking about trolls.. :D < 1296521681 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :y am i not surprised bout your opinion elliott < 1296521683 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Alright I apologise, I thought git actually required all of these < 1296521700 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :me? have opinions? < 1296521703 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ha! < 1296521707 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :But back when I had some problems with a port of git I ended up having to fix a sh script < 1296521717 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"back when" = yes, it used to be written half in sh < 1296521719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it isn't now :P < 1296521721 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :ok..lets call it prejudices ;) < 1296521729 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :let's call it OBJECTIVE TRUTH < 1296521730 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :or ideals < 1296521732 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It wasn't that long ago < 1296521735 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Only 2 years perhaps < 1296521745 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :openvirtues *g < 1296521763 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :TortoiseGit or Git Extensions? < 1296521767 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: dude, git is only like 5 years old :P < 1296521780 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is leaning towards th latter, mostly due to one response on StackOverflow that I saw < 1296521780 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, 6, but it only started becoming anything like modern git a year or two later < 1296521785 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(man, has it been that long?) < 1296521793 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo waht's "Git Extensions"? < 1296521807 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://code.google.com/p/gitextensions/ < 1296521814 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Although its tagline seems a bit hubristic < 1296521819 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric : "Torvalds seemed aware that his decision to drop BitKeeper would also be controversial. When asked why he called the new software, "git," British slang meaning "a rotten person," he said. 'I'm an egotistical bastard, so I name all my projects after myself. First Linux, now git.'" < 1296521819 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Anyways, Microsoft still haven't realised that the problem wasn't that the shell is inferior < 1296521839 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes it was < 1296521841 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :The problem is that the default terminal is utterly useless < 1296521841 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :largely :) < 1296521847 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cmd.exe is shit too < 1296521851 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :THAT. < 1296521855 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you can't even do a for loop without shooting yourself < 1296521855 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Yeah that's the csrss.dll interface < 1296521860 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or uh < 1296521861 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quote things < 1296521862 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or anything < 1296521864 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :whats the problem about THIS kfr < 1296521867 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :also, msys used to ship with rxvt, which they've now given up for cmd.exe... anyone, explain? < 1296521871 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and it has no `` or $() < 1296521872 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :you can download ps for free < 1296521872 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: About what? < 1296521877 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and uh < 1296521881 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: dude powershell uses cmd.exe < 1296521887 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :so? < 1296521892 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cmd.exe sucks < 1296521895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that powershell sucks is unrelated, but < 1296521898 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :try resizing \o/ < 1296521898 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :                  | < 1296521898 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :                 /`\ < 1296521902 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott: They have another GUI for it < 1296521907 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :quad erat demostrandum? < 1296521908 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, is Git's branching a bad reason to go with Git? < 1296521911 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :But it is even more useless tham the csrss one < 1296521916 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: yeah i seem to recall it being terrible < 1296521926 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :http://siyobik.info/paracletus/\ < 1296521927 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :http://siyobik.info/paracletus/ < 1296521933 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Check this for some screenshots/examples < 1296521941 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Of why the csrss GUI sucks < 1296521959 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :My favourite is http://siyobik.info/paracletus/image/cmd-unicode.png < 1296521964 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :There have been numerous attempts at solving this problem. Most of these programs are derived from the PuTTy source code and they run on top of cygwin which causes numerous problems like not working in the regular Windows environment with backslash paths, bash treating backslashes as the first part of an escape sequence, etc. Few have attempted to write actual replacements from scratch which actually don't use cygwin in any way. One of those was < 1296521964 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :a project called "Konsole" I found on SourceForge, unluckily it suffers from similar problems as the original Windows csrss implementation like providing no proper maximisation and such. < 1296521968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i really wanted to use mintty with interix < 1296521971 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but it wanted the cygwin dll < 1296521981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and when i gave it a copy, it then repeated every line after i entered it :( < 1296521989 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so i used putty to ssh locally :P < 1296522023 0 :pikhq!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296522025 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Yeah I use PuTTy a lot < 1296522031 0 :pikhq!~pikhq@174-22-176-235.clsp.qwest.net JOIN :#esoteric < 1296522036 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i like the part where you seem to not understand the difference between a terminal and a shell+coreutils >_> < 1296522041 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :at least from your mockup screenshots < 1296522044 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Unluckily I still haven't managed to integrate the host file system into my Linux VMs flawlessly < 1296522063 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: try Gentoo Prefix. < 1296522065 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :vmhgfs and vboxsf suffer from some issues < 1296522066 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it runs on Interix < 1296522072 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :very nice, and free too < 1296522076 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's like Cygwin, except far, far better < 1296522083 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Curiously they suffer from identical issues < 1296522086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and ostensibly Microsoft-supported < 1296522098 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and ofc it runs on regular NTFS < 1296522108 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Which leads me to believe that this might be some deeper issue which only few people are aware of < 1296522133 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It has something to do with file system in caching in Linux and the way it interacts with their drivers on top of NTFS < 1296522150 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :why is *everything* such a problem on top of NTFS < 1296522153 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :s/in caching/caching/ < 1296522187 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :linux has, like, the best FS support for an operating system, and we *still* rely on some userspace half-commercial crap that makes half proper uses of FSes bug (ie. Steam in Wine) < 1296522213 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :How does Steam rely on a bug? < 1296522240 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: i don't rely on steam in wine :P < 1296522255 0 :poiuy_qwert!~poiuy_qwe@CPE001b115db0ae-CM0018c0c24ffc.cpe.net.cable.rogers.com JOIN :#esoteric < 1296522265 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :they make uses bug. Yeah.English. < 1296522294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wat < 1296522295 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I parsed it as "use of an FS bug" :p < 1296522304 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :for reference, http://developer.valvesoftware.com/wiki/Steam_under_Linux#Wine.2C_Steam_.26_ntfs-3g < 1296522315 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :mentioning msproducts always leads to this neverending enervating war of opinions < 1296522319 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, yeah, we clearly have a precedence problem. < 1296522324 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Client Quit < 1296522327 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Git Extensions wants me to install MSysGit and not just regular Git < 1296522339 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :msysgit is regular git, if you're on windows < 1296522347 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :I love the "Don't minimize Steam!" on the valvesoftware linux wiki page < 1296522355 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog lol :/ < 1296522380 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How difficult/easy will it be for me to figure out Git Extensions without looking at any documentation? < 1296522388 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :what is git extensions? < 1296522402 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I am annoyed by how people frequently intentionally avoid portability whereas it's nearly free nowadays for a lot of stuff :/ < 1296522415 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://code.google.com/p/gitextensions/ < 1296522416 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :portability isn't free :) < 1296522429 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, YES. Like how there's no Left 4 Dead 2 client for linux. < 1296522439 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, also it's a bit ironic that GitExtensions is hosted on Google code... < 1296522459 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :well, it is almost free if you use a framework that is already fully portable, but using such a framework is not free :) < 1296522465 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :did Sgeo just imply that he can't/won't read documentation? < 1296522467 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Ah, haven't seen that one before, interesting < 1296522474 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :won't. Not can't. < 1296522483 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, prove that you can! < 1296522513 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: i don't think anyone will really have the patience to help you if you yourself admit that you won't then help yourself solve the problems you have after that < 1296522523 0 :poiuy_qwert!~poiuy_qwe@CPE001b115db0ae-CM0018c0c24ffc.cpe.net.cable.rogers.com JOIN :#esoteric < 1296522525 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I think he also implied that he won't watch documentation either < 1296522526 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Well if you haven't used a DVCS before (which you said I think) then there will be some new concepts < 1296522536 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :But that's not really about that GUI, I bet it's easy to use < 1296522543 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :(i.e. the "video tutorials" they talk about) < 1296522547 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: right. so i'm pretty sure that if i answer any one of his questions, he won't stop bugging me about questions that are covered by the documentation. < 1296522548 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I'm capable of reading documentation if I have questions. I'm just hoping not to have questions < 1296522552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so i won't. < 1296522568 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: probably < 1296522581 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :i.e. the difference between committing and pushing in a DVCS vs. committing in a CVCS < 1296522604 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is there really that big a difference for single person projects? < 1296522612 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Yeah < 1296522628 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right < 1296522634 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It's a totally different approach to version control < 1296522638 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I read the HgInit tutorial a long while ago < 1296522646 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it's not big I think, but the distinction is always there < 1296522650 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not if you're the only one committing :p < 1296522708 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, right, it matters if you set up a remote repository somewhere or if you're only committing locally < 1296522714 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :When you check out something from a DVCS repository you actually get the same files as the server you got it from. In DVCS basically "everybody is a server" (the people coming from SVN found this the easiest to understand in my experience) < 1296522741 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :And some people who use SVN a lot actually use lots of hacks to make it more like a DVCS < 1296522754 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: like svk! < 1296522764 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :so, give me simple problems to solve / data structures to implement so I can think some more about my language. < 1296522766 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: (svk is a DVCS built on top of svn. I'm not joking.) < 1296522776 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :To create local non-networked repositories which just use the file system, for example < 1296522780 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: OCTREES < 1296522787 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :And to be able to push their state to online repositories :p < 1296522805 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: IOCP/epoll/kqueue HTTP server < 1296522854 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to watch the videos < 1296522866 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: that... < 1296522868 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is not a data structure. < 1296522877 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It involves some data structures! < 1296522879 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or a "problem" in any real sense. in fact that's just an incredibly boring task in IO engineering. < 1296522886 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, +1 < 1296522887 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :IOCP? oh, some Windows bullshit. < 1296522888 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Pff. < 1296522899 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Don't hate on portability < 1296522906 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's not portable to QNX. < 1296522917 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :well to be fair, octrees are quite boring as well.. < 1296522921 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or, oh, lisp machines. < 1296522926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: yeah, but they're a data structure :P < 1296522935 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott feel free to add more support! < 1296522941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: if you really think "IOCP/epoll/kqueue HTTP server" when you think "interesting programming problem to solve", my condolences < 1296522968 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1296522978 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :|: < 1296523009 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1296523009 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :My first Haskell project was an SCGI server/web dev framework lol < 1296523024 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog may I interest you in a self hosting compiler? That certainly features some data structures < 1296523029 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, the problem is, I'm not sure how to define that a node has 8 children. < 1296523030 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think we're found the most boring person on earth people! < 1296523043 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, that's an idea - but I have no idea how to write a compiler for it in the first place :) < 1296523043 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: that's because your "element" stuff makes no sense. :) < 1296523055 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well find a better alternative then! < 1296523062 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: do it like Coq :p < 1296523077 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, by jumping backwards on a single toe? < 1296523078 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott: And it forces you to consider FFI stuff at least, heh < 1296523082 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: yes. < 1296523088 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, thanks but no thanks < 1296523091 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nddrylliog: you really should learn coq though :) < 1296523104 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :But what can I say, I've always been very interested in highly scalable networking stuff < 1296523105 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yeah, probably. But I'm hesitant. Does it hurt at first, like anal? < 1296523107 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Both clients and servers < 1296523116 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, what do you think of Io? < 1296523121 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Never heard of it < 1296523136 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, seriously? http://iolanguage.com/ < 1296523147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : elliott, yeah, probably. But I'm hesitant. Does it hurt at first, like anal? < 1296523149 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it never stops hurting. < 1296523155 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :elliott, awwww. < 1296523186 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :I wonder what fraction of the e-mails exchanged contain passwords or other kinds of authentication tokens. < 1296523234 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :At first I always started interpeters for dynamically typed languages < 1296523250 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :But now I've developed a grudge against dynamically typed stuff < 1296523299 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I wrote a fair amount of networked services in Ruby recently and it was a huge pain because of stupid errors which occurred days later after launching the servers < 1296523326 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :And most of those could have been solved by simple compile time checks in a statically typed language < 1296523389 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i only code in ursala, true story < 1296523395 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :can i just say < 1296523397 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that i hate everyone's guts < 1296523399 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :carry on < 1296523416 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Are you sure it isn't Ursula? < 1296523425 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Diminutive of bear or something like that < 1296523461 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I think I saw somebody mention "Ursula" in here < 1296523468 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :So I thought they might be related < 1296523481 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :"Ursala is an interpreted functional language with some experimental features, intended mainly for text and numerical applications. " < 1296523484 0 :Lymia!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1296523485 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Maybe unrelated after all < 1296523510 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ursala is the most fun crazy < 1296523559 0 :oerjan!oerjan@tyrell.nvg.ntnu.no JOIN :#esoteric < 1296523948 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION oohs at git stash < 1296524062 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :git stash is golden < 1296524081 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :"A consequence of Git’s distributed nature is that history can be edited easily." < 1296524089 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://www-cs-students.stanford.edu/~blynn/gitmagic/ch05.html < 1296524416 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I should probably read a git tutorial, rather than looking for a tutorial based on this GUI < 1296524812 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :https://s-hphotos-snc3.fbcdn.net/hs317.snc3/28506_1437566584016_1378554866_31120765_1714195_n.jpg -> science joke < 1296524850 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, I'm not a fan of the ease of editing history - but meh < 1296524990 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric : "A consequence of Git’s distributed nature is that history can be edited easily." < 1296524996 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :lol that has nothing to do with the distribution < 1296525013 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :hg, bzr, darcs are all opposed to modifying the history < 1296525033 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Whereas in git there's even a "shell scripted filtering language" to modify it programmatically < 1296525035 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :darcs isn't _too_ opposed < 1296525036 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"darcs obliterate" < 1296525057 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric ::o not familiar with it < 1296525063 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: it obliterates a patch :) < 1296525063 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Also, I must admit that I never use git stash < 1296525067 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ONLY to be used when you miscommit < 1296525071 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in scapegoat, modifying history is almost impossible. well. you can undo the last N commits. but that's about it < 1296525104 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :In fact I even frequently commit and push non-compiling code in some projects of mine :| < 1296525136 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mcmap's testing philosophy is to not. < 1296525140 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Does hg have an equiv to stash? < 1296525142 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Because I pull from the repo from multiple unrelated computers and sometimes it takes me days to finish something before I any attempt any compilation :/ < 1296525180 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :But as all Haskell users know, "if it compiles, it works" < 1296525212 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1296525240 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we do it with C... surprisingly it actually usually works < 1296525253 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Very funny < 1296525263 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm not joking :) < 1296525274 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :in C++, usually it's "if it compiles, it segfaults" < 1296525290 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :C is the opposite of compile time correctness < 1296525303 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :C++ is somewhat less faulty but still very prone to errors < 1296525316 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is cherry pick a Git thing or a Git Extensions thing? < 1296525327 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, git < 1296525333 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Awesome < 1296525335 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, thank God for that :) < 1296525337 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :C++ programs that compile may fail less, but they're less maintainable than C programs. :p < 1296525350 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cherry pick is a _darcs_ thing < 1296525353 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Nah it's considerably easier < 1296525357 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :git's implementation is still inferior after all these years < 1296525359 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I thought "cherry picking" was a general term < 1296525360 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :C++ doesn't even have decidable compilation. < 1296525363 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Not even bound to VCS < 1296525371 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it is, but darcs invented the VCS meaning < 1296525382 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, inferior how < 1296525575 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Why does rebase exist? It seems like its only function is to prettify history < 1296525578 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION barfs < 1296525720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: hm haskell question < 1296525768 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait never mind. :) < 1296525769 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :O KAY < 1296525771 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :DAMN < 1296525788 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i was going to ask whether redefining fix to do the | x' == x = x | otherwise = go f x' thing would work < 1296525790 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where x' == f x < 1296525794 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :except not only would that require Eq < 1296525798 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but the first step would compare to undefined < 1296525802 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :since fix takes no base value < 1296525815 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you don't say < 1296525822 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: JUST BECAUSE I'M SLOW < 1296525835 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric ::t iterate < 1296525843 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eek no lambdabot < 1296525845 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i should actually write a program in ursala sometime :P < 1296525847 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: omg :( < 1296525849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ask Cale what we did wrong < 1296525861 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: let's do it together, quick, to #haskell! < 1296525877 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually there's no lambdabot _anywhere_, so no need to panic on behalf of #esoteric < 1296525894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :phew. < 1296525910 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :You all seriously ignored lambdabot's death < 1296525911 0 :elliott!unknown@unknown.invalid QUIT :Quit: ell-"can now sleep soundly knowing that everyone's in trouble, not just us"-iott < 1296525911 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :? < 1296525921 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1296525926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :did you like my /quit message < 1296525928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think i might start doing more of those < 1296525934 0 :elliott!unknown@unknown.invalid QUIT :Client Quit < 1296525981 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1296526044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i did funny quit messages back when it was on vinyl < 1296526234 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!fyb litterer http://lymia.x10.bz/evil.fyb < 1296526253 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_litterer: 92.0 < 1296526257 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :nice < 1296526261 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Brute force. < 1296526261 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::v < 1296526288 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :where is the scoreboard folder again? < 1296526344 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :http://codu.org/eso/fyb < 1296526359 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :The @@ pesudo op is so overpowered. < 1296526359 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :: < 1296526360 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric ::v* < 1296526388 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It's effect is to basicly set the instruction pointer to the current code pointer. < 1296526505 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :That program is basicly the FYB version of a CoreWars core clear. < 1296526680 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :What are those crazy programming languages where the correctness of the code is part of defining the algorithm? < 1296526702 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I think I recall some three letter initialism one where quicksort is like 150+ lines < 1296526712 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It may be related to formal proof systems < 1296526811 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I should probably look into Agda/Coq and such at some point, too < 1296526815 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Learn about dependent typs < 1296526817 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :types* < 1296526832 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :hahahaha :) < 1296526835 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :speak of the devil. < 1296526860 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, I was discussing that with elliott a few minutes ago. < 1296526958 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :contracts are supposed to do that < 1296527025 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: why doesn't litterer beat evil? < 1296527030 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Dunno. < 1296527061 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure why evil beat so many things in the first place. < 1296527077 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :That big block of code is to get rid of every ! instruction in logicex-2 < 1296527118 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It's actual attack is literally nothing more than a quick scanner. < 1296527158 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Hell, there's an ':' missing in it. < 1296527232 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :when you defect, it puts the data pointer at your own code pointer? and the defecting again puts it where? < 1296527404 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :When you defect, the data pointer is set to the code pointer. < 1296527421 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :If you defect twice, the effect is that the data pointer is set to the address of the second defect. < 1296527428 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :But stays in the same player's code. < 1296527448 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1296527463 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :so it's like a free jump thing? < 1296527650 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It's a much faster way than >>>>>>>>> to get to the middle of somebody's program. < 1296527949 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm taking a statistics course < 1296527975 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :has someone tried a vampire pit sort of thing? seems like it would be difficult to plant an effective +[] since [] are in the middle of the instruction set, but if you can jump ahead like that, you could probably do it < 1296527996 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :What's a vampire pit? < 1296528000 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I don't see why it's sqrt(sum([x-mean]^2)/n) and not sum(|[x-mean]|)/n < 1296528009 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I see that they get different answers < 1296528017 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But why the first is used instead of the second? < 1296528042 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Hmm < 1296528070 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It might show different behaviour in cases of single unusually deviant values < 1296528075 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :do you think it's a good idea to avoid duplicate images by comparing the mc5hash strings of their binary data? < 1296528077 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :kfr: basically getting the other program trapped in a loop doing what you want. for a large enough memory buffer, +[:+[];] would kill. < 1296528077 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I imagine it's something like that < 1296528085 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :uh < 1296528087 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :dumb < 1296528097 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :+[:[];] < 1296528103 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :quintopia what language is that? < 1296528120 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :kfr: FYB < 1296528120 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, http://codu.org/eso/fyb < 1296528132 0 :SimonRC!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1296528133 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :do you think it's a good idea to avoid duplicate images by comparing the mc5hash strings of their binary data? <-- or have better ideas/solutions < 1296528134 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Why do so many people in here obsess about that? < 1296528147 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :kfr, not sure, but it looks like fun < 1296528154 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :sgeo: because that is the definition of the L2-norm < 1296528161 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd, ask the tineye guys :) < 1296528175 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :is this a chan? < 1296528183 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd, nope, a website < 1296528188 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :http://www.tineye.com/ < 1296528196 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, why? < 1296528202 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :hm, i thought you guys are the mathexperts here < 1296528205 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric ::> < 1296528206 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Ah, I started using tineye a while ago < 1296528229 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd: Mathematicians usually don't know crap about hashing and such < 1296528230 0 :SimonRC!~sc@fof.durge.org JOIN :#esoteric < 1296528247 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!fyb litterer-2 http://lymia.x10.bz/evil.fyb < 1296528250 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_litterer-2: 100.0 < 1296528253 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=D < 1296528275 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh, wait. < 1296528278 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :: only triggers once < 1296528281 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :duhhh < 1296528305 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, every thread runs once every tick. < 1296528310 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :It's not like corewars in that respect. < 1296528326 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: how did you beat your previous tries? < 1296528341 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, pad it until it works. < 1296528343 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :;V < 1296528398 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :i just need to avoid duplicate images.. tha hash-solution is not implicitly required, alternative ways are welcome! :> < 1296528415 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :sgeo: yeah, i can't figure out why they don't use the average distance from mean instead. < 1296528439 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :instead it's sqrt(variance) < 1296528457 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :maybe just cuz it's easier to work with < 1296528473 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: < 1296528474 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1296528477 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :oh ya, that's it < 1296528484 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hm? < 1296528485 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :also because sqrt(x^2) is abs(x) < 1296528485 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1296528485 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :it's because it's algebraically easier to work with < 1296528490 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :quote the wikipedia: It is algebraically simpler though practically less robust than the average absolute deviation. < 1296528511 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Huh. < 1296528514 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :ah right sorry I didn't read correctly the second definition. < 1296528627 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :quintopia, < 1296528646 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :http://www.johndcook.com/blog/2010/11/29/where-to-wait-for-an-elevator/ -> explains that in somewhat easy terms < 1296528656 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :if I understood correctly what you are looking to understand < 1296528696 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd, there are special algorithms that deal with dup. images / music < 1296528707 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :yea.. tell me more < 1296528707 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :they are cross format as well - sometimes < 1296528743 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :can you give me an example? or a name? < 1296528752 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :sth to look for? < 1296528771 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Gregor, you may want to take a look at the FYB scoreboard. < 1296528772 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1296528795 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd, yeah - hang on a sec < 1296528805 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was reading a paper recently - let me find it < 1296528821 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :take your time droog < 1296528838 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :and thanks ;) < 1296528840 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I am actually somewhat interested in program vs. program stuff but in more complicated environments really, like real time strategy stuff < 1296528842 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :droo ? < 1296528850 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Corewars and such are too dry for my taste < 1296528851 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :nadsat variable < 1296528857 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :clockwork orange? < 1296528882 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :i will build a nadsat compiler someday :P < 1296528937 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I recently read A Clockwork Orange < 1296528938 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Nadsat < 1296528996 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :hagb4rd, the general term is image similarity its the type of algo Tineye uses. I was reading about something called WALRUS recently < 1296529024 0 :hagb4rd!unknown@unknown.invalid PRIVMSG #esoteric :ok.. i will look for it.. thank you var :) < 1296529232 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :kfr: good book. it's just like to movie too :) < 1296529967 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :ndd@naku:~/Dev/fe2/source$ ./parser < 1296529968 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :((a | ((a % 2) = 0) ) => (a # multiplesOfTwo)) < 1296529999 0 :nddrylliog!unknown@unknown.invalid PRIVMSG #esoteric :now to do anything useful with that.. or rather, tomorrow. < 1296533150 0 :pikhq_!~pikhq@174-22-175-76.clsp.qwest.net JOIN :#esoteric < 1296533169 0 :pikhq!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1296533387 0 :lambdabot!~lambdabot@li85-105.members.linode.com JOIN :#esoteric < 1296533548 0 :Lymia__!~moe@adsl-69-149-35-99.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296533552 0 :Lymia!unknown@unknown.invalid QUIT :Disconnected by services < 1296533554 0 :Lymia__!unknown@unknown.invalid NICK :Lymia < 1296533556 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1296533556 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1296535423 0 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1296535987 0 :acetoline!~acetoline@122.58.180.208 JOIN :#esoteric < 1296536628 0 :pikhq_!unknown@unknown.invalid NICK :pikhq < 1296537056 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (^^^)((0)(!(1)(!(2)(!(3)(_)))))~*^ < 1296537068 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (^^^)((0)(!(1)(!(2)(!(3)(_)))))~*^!S < 1296537069 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1296537079 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (^^^^)((0)(!(1)(!(2)(!(3)(_)))))~*^!S < 1296537079 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...bad insn! < 1296537092 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul ()((0)(!(1)(!(2)(!(3)(_)))))~*^!S < 1296537092 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1296537096 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :oerjan what language is taht? < 1296537102 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :underload < 1296537242 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :concatenative turing tarpit < 1296537448 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Sounds toxic < 1296537525 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pours a little bf into kfr's drink < 1296537538 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Underload < 1296537580 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:aSS):aSS < 1296537580 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(:aSS):aSS < 1296537964 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I can't come up with anything creative < 1296537979 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Graph based programming languages are an old hat I bet < 1296537997 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well we have Eodermdrome < 1296538012 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and i recall there was another but i'm not sure if it's on the wiki < 1296538051 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :something based on kolmogorov machines iirc < 1296538159 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Haha that sounds exotic < 1296538198 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Or programming languages which are essentially based on replacing strings hmm < 1296538206 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Haha grammars hmm < 1296538209 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well kolmogorov was russian < 1296538217 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I'm not talking about the name :p < 1296538221 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I've just never heard of it before < 1296538248 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :replacing strings, then you want to look at /// aka Slashes < 1296538278 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION notes that he is only mentioning his own favorites < 1296538320 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i didn't make any of the languages but i made several of the programs < 1296538357 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!fyb crasher ::;; < 1296538398 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh also thue < 1296538418 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I think I broke it. < 1296538420 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(i didn't do anything in that but it's perhaps the oldest string-replacing esolang) < 1296538439 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!echo hi < 1296538441 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1296538458 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: EgoBot sometimes times out, especially the first time it's used in a while < 1296538470 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :same with HackEgo < 1296538472 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :!fyb nothing +[] < 1296538479 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Really? < 1296538484 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(they're both Gregor's bots) < 1296538511 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i wouldn't exactly _exclude_ bugs, either... < 1296538521 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Okay, it's definitely "really fucking cold" out now. < 1296538525 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell print "hi" < 1296538527 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I remember, we had to implement division in a string replacement language < 1296538532 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :"hi" < 1296538532 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :At university < 1296538534 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It really sucked :[ < 1296538540 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Tomorrow, we are expecting a high of -5 °F (-20 °C). < 1296538546 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :kfr, Eh? < 1296538547 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :kfr: heh < 1296538590 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :((:::::)+):* -> $1 < 1296538594 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :kfr: i made /// print numbers once i think, that requires dividing by 10 at least < 1296538594 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :::::: -> : < 1296538613 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Still, doing it as part of a larger program sounds nasty. < 1296538670 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Gregor seems to have been idle since yesterday < 1296538725 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Writing a self hosting compiler in that would be very challenging < 1296538807 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :(yes, I have an obsession with self hosting compilers, to me a language is "serious business" as soon as that has been done) < 1296538891 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296538932 0 :poiuy_qwert!~poiuy_qwe@CPE001b115db0ae-CM0018c0c24ffc.cpe.net.cable.rogers.com JOIN :#esoteric < 1296538940 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Actually I'm more interested in research languages, I think, not just bizarre/minimalist stuff < 1296538978 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Eh, 'sokay. I think I last esolanged over a year ago. < 1296539051 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :i.e. stuff you can actually use to solve practical problems, *gasp* < 1296539127 0 :hagb4rd!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296539195 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :GET OUTTA HERE < 1296539213 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I figured the Haskeller would frown upon that :/ < 1296539224 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm the haskeller now? < 1296539228 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1296539256 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :"The best programming languages have no compilers" - #haskell < 1296539276 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :My favorite language is DWIM < 1296539281 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :...that's rather strange to connect with haskell... < 1296539544 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_nothing: 0.9 < 1296539544 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :Score for Lymia_crasher: 0.9 < 1296539564 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :SOMEONE IS SLOW TODAY < 1296539577 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: DWIM = ? < 1296539585 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Do What I Mean < 1296539603 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :[Note: If someone used that abbreviation for something else, I don't know about it] < 1296541098 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how you would design a language which is tailored for writing operating systems while still providing a high degree of compile time correctness < 1296541182 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :That must be a nightmare < 1296541494 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't ATS supposedly do that? Or am I utterly clueless? < 1296541523 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/ATS_%28programming_language%29 :o < 1296541566 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :That's interesting < 1296541566 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php < 1296541571 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I remember it from these games < 1296541582 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It actually ranked third, after C++ < 1296541586 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Very impressive < 1296541593 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :And I had never even heard of it before < 1296541852 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :kfr: By now about half of us are Haskellers, I think. < 1296541881 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Yeah I'm slowly turning into a Haskelling language fascist, too < 1296541888 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :My mate warned me about that < 1296541928 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ATS tutorial gives me a headache < 1296541933 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Haha < 1296541939 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I should look for an easier tutorial < 1296541949 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I have no idea what unboxed and boxed allocation are < 1296542025 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott is going to kill me. < 1296542110 0 :azaq23!unknown@unknown.invalid QUIT :Quit: Leaving. < 1296542116 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :boxed = use a pointer to the representation, unboxed = embed the representation directly. approximately. < 1296542168 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in haskell boxed also implies the possibility of a lazy thunk to be evaluated < 1296542200 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Ah, I see < 1296542247 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Unboxed is essentially only there for optimisation purposes. < 1296542374 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :yeah, and they treat it that way < 1296542377 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also in haskell and some other languages, boxing means all values can be passed around in the same format, making polymorphic functions easier < 1296542383 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :you never specify whether it's unboxed _within_ the language < 1296542387 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :you specify whether it's strict or not < 1296542407 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :the fact that that can be unboxed if it's monomorphic and matches some simple is another issue < 1296542410 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :simple rules < 1296542435 0 :copumpkin!unknown@unknown.invalid PRIVMSG #esoteric :(I don't consider GHC pragmas to be part of the language :P) < 1296542767 0 :Zuu!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296542770 0 :Zuu_!zuu@unaffiliated/zuu JOIN :#esoteric < 1296542880 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I've been looking at this the wrong way < 1296542899 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Maybe it's not the core features of a language that make it attractive < 1296542921 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Maybe it's all about how you can have fun with it and visualisation and such < 1296542943 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has some perverted notions of combining programming semantics and typesetting for visually pleasing rendering of code < 1296542984 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Uh, oh... "APNIC expects normal allocations to continue for a further three to six months." < 1296543014 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps the notion of writing code in a regular plain text editor is archaic < 1296543168 0 :asiekierka!~asiekierk@178235033089.elblag.vectranet.pl JOIN :#esoteric < 1296543369 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Well, yes. < 1296543418 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Six months from now is turn of July to August... < 1296543473 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Current depletion estimate for APNIC is end of September... < 1296543613 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :What that says: Either APNIC has their own models that are a lot more pessimistic than the "official" ones, or they are acknowledging that the "official" models just can't model what's to come... < 1296543648 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Aren't the big IP block holders just going to gradually sell of theirs? < 1296543657 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :And the people will buy it < 1296543761 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :kfr: Ooooh, that'll buy us another few months! < 1296543763 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"Yay". < 1296543785 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :pikhq there are at least 4-15 of /8s of which only fractions are really used afaik? < 1296543794 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Owned by universities in the US < 1296543797 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :And AT&T and such? < 1296543816 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Some of them already started giving up some of the space < 1296543818 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :kfr: We chew through 2 of them a month. < 1296543823 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Ah, ok :p < 1296543864 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :ACTION already made sure that all the services on his servers are bound to IPv6 addresses, too < 1296543892 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :So people can run Linux 0days using cutting edge technology < 1296543895 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric ::[ < 1296544016 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1296544094 0 :poiuy_qwert!~poiuy_qwe@CPE001b115db0ae-CM0018c0c24ffc.cpe.net.cable.rogers.com JOIN :#esoteric < 1296544172 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Okay, I expect IANA IPv4 pool to finally hit zero on the day after tomorrow. < 1296544843 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Do those models account for APNIC holding onto a single /8 for essentially emergency use? < 1296544861 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Heh, so they also shut down that one remaining Egyptian ISP last night. They are being very unprecendententialious. < 1296545111 0 :Sgeo_!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1296545216 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :They do. < 1296545282 0 :Sgeo!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296545727 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296547017 0 :MigoMipo!~John@84-217-11-14.tn.glocalnet.net JOIN :#esoteric < 1296547199 0 :clog!unknown@unknown.invalid QUIT :ended < 1296547200 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1296547470 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :It is currently at 5x/8 all reserved (one /8 going to each RIR...) < 1296547753 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :(IANA IPv4 pool that is). < 1296548808 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Heh... Now there are notices about "Significant Announcement" regarding IPv4 (3rd February, 1430Z)... Can it get any more obvious? < 1296549861 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Maybe they'll do a surprise announcement and say that they're inverting all the bits in allocated network addresses? < 1296549880 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You know, for long-term 0/1 balance reasons. < 1296551365 0 :Mathnerd314!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296551965 0 :MigoMipo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296552965 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Selling off has two bad sides: 1) Expensive, 2) DFZ routing table gets hit by a fragmentation grenade... < 1296553022 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: DFZ = ? < 1296553031 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Default-Free Zone < 1296553065 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(1) is only a bad side if you're the one doing the buying, not the selling. < 1296553068 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :That is, no default route. < 1296553110 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :They're going to sell them for like $500-1000 per IPv4 in the end < 1296553116 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :*per address < 1296553227 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :That would make a /16 cost somewhere between $30M to $70M... That's a lot. < 1296553232 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sell them on the black market, under the table. "Psst, hey, you there; wanna buy some good-quality uncut IPv4 subnets?" < 1296553264 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Don't buy your stuff from him; his /20s are actually non-contiguous /24s." < 1296553312 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Well, buying form black market is risky. And I think most RIRs have policies allowing transfers... < 1296553392 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :At least ARIN definitely does. < 1296553425 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"What a ripoff, the guy sold me a /16 from the 10.0.0.0/8 block!" < 1296553461 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Well, this IPv4 exhaustion thing is going to be gigantic clusterfuck (to put it mildly)... < 1296553465 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Hahaha < 1296553472 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Nice nerd fiction < 1296553568 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1296553715 0 :hagb4rd!~hagb4rd@koln-d9329bae.pool.mediaWays.net JOIN :#esoteric < 1296554023 0 :asiekierka!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296554138 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1296554510 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:a~*):a~*^^^SS < 1296554510 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(:a~*):a~* ...out of stack! < 1296554533 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:a~*):^^^^SS < 1296554533 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :(:a~*):a~* ...out of stack! < 1296554708 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :^ul (:a~*):^((~)~a*):*^SS < 1296554708 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :~(~((:a~*):a~*)) ...out of stack! < 1296555029 0 :oerjan!unknown@unknown.invalid QUIT :Quit: leaving < 1296555468 0 :evincar!~chatzilla@daffa.student.rit.edu JOIN :#esoteric < 1296555489 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Hello all. < 1296556292 0 :impomatic!~chatzilla@86.241.112.87.dyn.plus.net JOIN :#esoteric < 1296556296 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Hi :-) < 1296556299 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Has anyone got access to issues of BYTE magazine 1978? :-) < 1296556329 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :impomatic: Well, I haven't, and nobody else seems to be around at this hour. < 1296556358 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Why wouldn't they be :o < 1296556386 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :It's the middle of the day for like 2 billion people < 1296556495 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :kfr: Nobody greeted me. I was complaining. :P < 1296556505 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Greetings are so archaic < 1296556513 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Usually I intentionally ignore them online < 1296556541 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Eh, consider it a ping to see if anyone who knows me is active. < 1296556578 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Our electronic journal search thingie lists "Dental Bytes", "FishBytes" and "Nutrition Bytes", but neither of those is probably going to be much help there. < 1296556645 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The main library has physical copies of BYTE for 1976-1981 in their underground storage facility V, but that would mean walking several hundred metres and inconveniencing other people, so I'm going to go with "no". < 1296556670 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What *is* in BYTE magazine in 1978, though? < 1296556776 0 :Lymia!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296556806 0 :Lymia!~moe@adsl-69-149-35-99.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296556867 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Fizzie: a reference to Core War 6 years before A. K. Dewdney "invented" it :-) < 1296556916 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Some guy is scanning all the old issues of BYTE and putting them online, but he hasn't reached that one yet :-( < 1296556969 0 :Lymia!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296556996 0 :Lymia!~moe@adsl-69-149-35-99.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296557518 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Do you happen to know the exact issue and article in question? I couldn't quite google out complete tables of content, just rather random and partially incomplete ones. < 1296557722 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1296557957 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Fizzie: I can't find an exact issue, just volume 3, pages 106-107. I've been Googling for a while, but there isn't a complete index online :-( < 1296557970 0 :FireFly!unknown@unknown.invalid QUIT :Quit: swatted to death < 1296558083 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: ooh, I like ETAS, I'll have to look at it in more detail when I'm less busy < 1296558204 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, the IPv4 allocation happened < 1296558209 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I've got another bigger-than-I-can-chew idea in the works since I last showed up here. < 1296558254 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, what is it? < 1296558329 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :A model of computation based on time, which generalises very well to highly parallel and (hopefully) quantum hardware. < 1296558425 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :I haven't formalised it, but it's theoretically sound and possible to implement. < 1296558442 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Though once again I'm having difficulty figuring out how to actually do so. < 1296558540 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it sounds like that may end up giving you as much trouble as Feather gives me < 1296558572 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :My natural reaction is "oh, just make a language", or "oh, just make an embedded DSL", but there's always the annoyance of trying to create a new semantic model while working within the constraints of the model of the host language. < 1296558589 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Refresh my memory about Feather. < 1296558610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :gah, don't make me! < 1296558619 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Elevator pitch, come on. < 1296558624 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think there's a page on Esolang now that we can refer people to (http://esolangs.org/wiki/Feather) < 1296558647 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :How...helpful. < 1296558661 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but basically, it's an esolang based around the command "retroactively change the value a variable had when it was created" < 1296558679 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Sounds interesting. < 1296558684 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296558690 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the concept's simple enough in a sense, but trying to get all the details in place without causing an infinite regress is tricky < 1296558696 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :That's sort of how my idea works...though not exactly. < 1296558711 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :nobody really understands Feather, not even me < 1296558718 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it's not surprising that other people's ideas are never quite the same < 1296558734 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Basically you've got the absolute progression of time, and the state of the program is a pure function of the current moment in time. < 1296558756 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Events occur, and effects may result, and generate further events, ad whateverum. < 1296558782 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Effects are evaluated lazily, so nothing happens until something depends on it. < 1296558802 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Which keeps the language purely functional, and lets you start jumping around and forking the timeline however you please. < 1296558805 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ouch, that's confusing... < 1296558815 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but sounds like a perfect basis for an esolang < 1296558817 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :It makes backtracking and parallel algorithms sexier than you can possibly imagine. < 1296558825 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :It's actually quite useful... < 1296558848 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, it sounds it < 1296558853 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :...not to say that an esolang can't be useful, of course. < 1296558864 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they're better when they are, but that tends not to happen very often < 1296558877 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :But there are some other really beautiful things about it. < 1296558881 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :What's the significance of the lemons in the Esolangs logo? < 1296558894 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it sounds vaguely like my question to the supervisor "what happens if you take a mathematical idealisation of a programming language and ignore the restriction that it must respect causality?" < 1296558906 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kfr: they're actually limes, and I think it's just an image Graue grabbed at random < 1296558945 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :That's basically what I'm working with. You don't have to respect causality or symmetry if the potential futures eventually collapse into a single state. < 1296558990 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Also, even if the effects of the program aren't reversible, the program itself is. You can pause, slow down, rewind, save and restore, and do basically whatever else you want to the running program. < 1296559020 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's not that far from Feather at all, really; the difference is that your method is functional-style with respect to the timeline, whereas Feather is imperative-style < 1296559034 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :There is all sorts of fun with complexity classes. Such as R being impossible to construct explicitly... < 1296559038 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you have a timeline that just happens and you lazily try to work out what it is, whereas Feather has an explicit mechanism for tinkering with time until the timeline says what you want < 1296559039 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Well, you can simulate an imperative style in this, it's just less efficient. < 1296559043 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1296559053 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I meant, sort of, meta-functional vs. meta-imperative < 1296559054 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Just say "effect: x is now 0". < 1296559063 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1296559067 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's hard to explain, because all the terminology required for time travel doesn't yet exist in English < 1296559071 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or probably any other language < 1296559112 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, languages tend to have terminology for what's useful and not much terminology for things that are not useful... < 1296559134 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: indeed. < 1296559216 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :ais523: The coolest thing is that you can optimise branch prediction in the event/effect graph based on the running program's experience of which events actually occur, biasing toward branches that depend on more probable events, so the performance of the program can actually increase over time. < 1296559238 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :And relative usefulness also shows in how fine the distinctions are... More useful things tend to have much finer distinctions between different kinds than less useful things... < 1296559281 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: which is why English has a lot of words for male versus female animals, groups of animals, and slang for being drunk. < 1296559297 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Ah, to live in simpler times. :/ < 1296559336 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Funny story, though, you know how I figured all of this out? < 1296559349 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, I'd have to guess and I'm quite bad at guessing < 1296559379 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Drank some sake and watched Primer. < 1296559388 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Suddenly it all made sense. :P < 1296559442 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :And coincidentally, the fact that I had already been thinking about this problem let me understand the movie on the first time through, which I hear is a rarity. < 1296559465 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: the best I can find is a tiny extract on Google books http://bit.ly/eQTjVv :-( < 1296559467 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :And useless things don't tend to have words at all... Like diabetes or heart disease for hunter-gatherer populations... < 1296559571 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Never forget the power of circumlocution, though. If someone dies of complications from heart disease, and others are aware of this fact, then there will become a term for it. < 1296559599 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :The need for a single-word term only arises if it's prevalent, though. < 1296559604 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Nowadays heart attacks are common but they haven't always been: In 1920's, one could be cardiac doctor and manage to pass 6 years in practice without seeing even one heart attack... < 1296559754 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :At it wasn't just that people were dropping left and right of heart disease but death was attributed to something else... Heart disease was really rare. < 1296559806 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :impomatic: Found it. < 1296559829 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Oh, absolutely. We have the luxury of heart disease because we live in post-industrial luxury. < 1296559831 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :impomatic: It's not much more than that, really; it's a one-paragraph mention. < 1296559847 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :If we all had to live by the sweat of our brow, then we'd all be healthier, hunter-gatherer, herder, and agriculturalist alike. < 1296559858 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :In the July 1978 issue (vol 3, num 7). < 1296559861 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Or fisher. < 1296559891 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Pretty lucky that our library had it: the 1978 folder is inexplicably missing the Feb, Mar and Apr issues. < 1296559903 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'll photograph the article in question. < 1296559904 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :And lifespan doesn't explain the difference in heart disesase. Oh, and early agriculturalist populations were the unhealthiest populations ever seen... < 1296559909 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Those are really the four basic setups for a human society...shame that the non-agricultural ones have gone by the wayside. < 1296559917 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Won't be a good-quality copy, but should be legible. < 1296560004 0 :Lymia!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296560029 0 :Lymia!~moe@adsl-69-149-35-99.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296560033 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Actually, that's not entirely true. Agriculture has been around for just as long as the other lifestyles. Exclusively agriculturalist societies weren't particularly unhealthy either: the current consensus is that they arose gradually in response to climate change, and were perfectly stable and healthy societies, for the time anyway. < 1296560081 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :It was the early *totalitarian* agriculturalists that were unhealthy, because they were expanding and populating faster than contemporary medicine could account for. < 1296560095 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Knowledgeable archiologist can tell apart remains of argriculturalists and hunter-gatherers with one look at the skull... < 1296560190 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Oh, undoubtedly. But it's much easier to *find* the skulls of early expansionist agriculturalists than it is to find those of the non-expansionist ones. < 1296560368 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Basically, the nutrient definencies, antinutrients and toxins totally fscked up the early agriculturalist people (later ones learned how to destroy the antinutrients and toxins)... < 1296560480 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1296560489 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Now, do I take a nap before class and risk missing it, or stay awake, not accomplishing a whole lot? < 1296560490 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Even with the latter ones, one could see they still had problems as they were quite short... < 1296560525 0 :sebbu!~sebbu@ADijon-152-1-20-130.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1296560583 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Additionally, agriculture with grains really fscks up the environment... < 1296560600 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Well, human history isn't exactly filled with good nutrition. People have always eaten what's available, whether it's hunted, gathered, herded, fished, or grown. If you happen to get a balanced diet out of that, then hooray, you get to live. < 1296560646 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, early farming techniques sucked as well, because some knowledge was simply not available. < 1296560699 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Alright, I'm going to risk not making it to class by getting into bed. :P < 1296560717 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Because it's cold, and I have sleep transitions like a cat anyway. < 1296560736 0 :evincar!unknown@unknown.invalid QUIT :Quit: Goodnight. < 1296560776 0 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1296561320 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :impomatic: http://users.ics.tkk.fi/htkallas/byte1.jpg http://users.ics.tkk.fi/htkallas/byte2.jpg contain the relevant parts. (For context, it's an article about what you could potentially do with this mysterious thing called a "modem".) < 1296561479 0 :impomatic!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296561542 0 :impomatic!~chatzilla@86.241.112.87.dyn.plus.net JOIN :#esoteric < 1296561563 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Grrrr.... clicking links in Chatzilla always causes a crash :-( < 1296561767 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Thanks Fizzie, that's exactly what I'm after. :-) < 1296561821 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Nondeterministic polynomial, like they say. Walk to the library at least got me some fresh air, maybe I won't now fall asleep. < 1296561843 0 :acetoline!unknown@unknown.invalid QUIT :Ping timeout: 272 seconds < 1296561903 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Did you notice which issue it's in? < 1296561966 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : In the July 1978 issue (vol 3, num 7). < 1296562023 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Thanks :-) < 1296563621 0 :Phantom_Hoover!~phantomho@unaffiliated/phantom-hoover/x-3377486 JOIN :#esoteric < 1296563659 0 :nddrylliog!unknown@unknown.invalid QUIT :Quit: Ex-Chat < 1296564514 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION golfs his or her Slashdot signature < 1296564529 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(it's an INTERCAL addition without using the stdlib, I noticed a way to save another character) < 1296564534 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ais523, your gender is not ambiguous here. < 1296564551 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, I just feel awkward using gendered pronouns < 1296564620 0 :fizzie!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1296564746 0 :impomatic!unknown@unknown.invalid QUIT :Quit: ChatZilla 0.9.86 [Firefox 3.5.16/20101130074636] < 1296564756 0 :fizzie!fis@iris.zem.fi JOIN :#esoteric < 1296564828 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, apparently someone returned 45/8 < 1296564831 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but to ARIN, not IANA < 1296564834 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so IANA is still out < 1296564953 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Interop Show Network" < 1296564992 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, it might not make sense to have a /8 specifically for their trade shows. < 1296565056 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And IANA isn't out yet, they haven't officially distributed those last five blocks yet. Admittedly that's just a technicality. < 1296565139 0 :Lymia_!~moe@adsl-69-149-35-99.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296565182 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Looking at the press confrence speakers: They appear to be the the highest-ranking persons in ICANN (representing IANA), NRO (represents RIRs), ISOC and IAB. You don't have that sort of cast if one isn't announcing something really, really major... < 1296565220 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :They're going to announce what they're going to have for lunch next week. < 1296565225 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :... Such as announcing full IANA depletion. < 1296565235 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, it's bound to be full IANA depletion < 1296565248 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and they're holding off on the automatic 5-block allocation until the press conference to get the timings worked out < 1296565328 0 :Lymia__!~moe@adsl-69-149-35-99.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296565345 0 :Lymia!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296565410 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :APNIC doesn't have allocation policy change on IANA depletion (but the final /8 will be reserved). IIRC, some RIRs do have policy changes. < 1296565489 0 :Lymia_!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296565513 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I like it how they talk about how the final-five-blocks policy will be "triggered". It gives me a clear visual image of some sort of a ridiculously huge mousetrap-like contraption. < 1296565543 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Oh no, you've triggered the Global Policy for the Allocation of the Remaining IPv4 Address Space! Everyone, run for your lives!" < 1296565563 0 :Lymia_!~moe@adsl-69-149-35-99.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296565619 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :RIPE also has only a "Allocations from the last /8" special policy, not anything that'd automatically change after the IANA event. < 1296565706 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :IIRC, ARIN policies do change... < 1296565753 0 :Lymia__!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296565854 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"When ARIN receives its last /8 IPv4 allocation from IANA, a contiguous /10 IPv4 block will be set aside and dedicated to facilitate IPv6 deployment. Allocations and assignments from this block must be justified by immediate IPv6 deployment requirements." < 1296565861 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, they do that immediately, I guess. < 1296565883 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :("Examples of such needs include: IPv4 addresses for key dual stack DNS servers, and NAT-PT or NAT464 translators.") < 1296566117 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Here's a humorous-in-retrospect RIPE position statement from October 2007: < 1296566121 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"We recommend that service providers make their services available over IPv6. We urge those who will need significant new address resources to deploy IPv6. We encourage governments to play their part in the deployment of IPv6 and in particular to ensure that all citizens will be able to participate in the future information society. We urge that the widespread deployment of IPv6 be made a high priority by all stakeholders." < 1296566128 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, that might have been a good idea. < 1296566172 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, so ARIN's keeping back a /10 that can only be allocated for the purpose of if extra IPv4 addresses are needed to switch over to IPv6 for some reason? < 1296566299 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes. Though there were quite some requirements for qualifying to get addresses from that block. < 1296566364 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(And you can only get something between /24 .. /28 out of that.) < 1296566431 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :RIPE (and I think the others) also have a "the LIR must already have at least one IPv6 assignment before it can get any from the final /8" policy. < 1296566471 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :God, Headshoots is even funnier than Boatmurdered. < 1296566513 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Boatmurdered has a better name, though < 1296566553 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, I found Headshoots quite hard to follow < 1296566566 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although I agree, it's hilarious < 1296566591 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I love the Room Outside Of Space. < 1296566746 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, apparently Java is also crashed by Double.parseDouble("2.2250738585072012e-308") < 1296566775 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for a related reason < 1296566779 0 :asiekierka!~asiekierk@178235033089.elblag.vectranet.pl JOIN :#esoteric < 1296566780 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(the bug was first reported in PHP) < 1296566841 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :(Headshoots is also way more awe-inspiring than Boatmurdered.) < 1296566844 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Yes, and the compiler will hang if you try to compile "double d = 2.2250738585072012e-308;" and print it out. < 1296566852 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: indeed < 1296566867 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(the number in question is DBL_MIN with one digit changed, IIRC) < 1296566888 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess the compiler-hanging problem has less denial-of-servicey implications, but still. < 1296566902 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, PHP's hang happens with the last digit as 1, rather than 2 < 1296566917 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's the same bug "the other way around", they say. < 1296566926 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Like PHP, Java gets stuck crossing the normalized/unnormalized border, but in the opposite direction: it starts with an estimate just below DBL_MIN — 0x0.fffffffffffffp-1022 — and is trying to get up to DBL_MIN." < 1296566937 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :ais523 lol yeah we just went over this in #haskell < 1296566947 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :DBL_MIN apparently ends with a 4 < 1296566960 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it's definitely an edge case, but who'd have thought of testing it? < 1296567101 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OpenOffice.org Calc seems to be OK with similar numbers (haven't updated to LibreOffice yet) < 1296567103 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wonder about Excel? < 1296567521 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :LibreOffice? < 1296567631 0 :ais523_!93bcc029@gateway/web/freenode/ip.147.188.192.41 JOIN :#esoteric < 1296567733 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric : It can bring down some of the banking systems :/ I know, I just tested it on the test servers we have at work.... All I can say is ^#%$ me that is quite something. < 1296568414 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :How's IPv4? < 1296568655 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Feeling exhausted, I believe. < 1296568665 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Maybe not quite.) < 1296568707 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you want a really short summary, APNIC got their two blocks, and IANA's very likely to have an event about their depletion the day after tomorrow. < 1296568718 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(They've invited journalists and everything.) < 1296568727 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Perhaps there will even be cake.) < 1296569211 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :yep, the final allocation has been triggered < 1296569219 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :but hasn't happened yet, so that they can have a press conference about it when they do < 1296569241 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :45/8 was returned to ARIN, IIRC, which gives them an extra block to work with < 1296569247 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :but doesn't prevent IANA being depleted < 1296569618 0 :copumpkin!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1296569644 0 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1296569652 0 :cheater-!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296569773 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... cat /proc/sys/net/ipv4/route/max_size --> 4194304 ... Not even DFZ is that large... < 1296569802 0 :cheater-!~cheater@e181137078.adsl.alicedsl.de JOIN :#esoteric < 1296570147 0 :MigoMipo!~John@84-217-11-170.tn.glocalnet.net JOIN :#esoteric < 1296570178 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Is that thing in bytes or numbers of routes? < 1296570217 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :$ cat /proc/sys/net/ipv4/route/max_size < 1296570217 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :1048576 < 1296570231 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :My table is smaller. :v < 1296570245 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :s#v#/# < 1296570318 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Maximum number of routes... < 1296570335 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :You presumably have less RAM... < 1296570514 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :When lots of IPv4 traffic is much less than it is now and DFZ has exploded, running some PC as IPv4 DFZ router might be an option... < 1296570588 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Remember it doesn't take a lot of major sites switching to radically slash the IPv4 traffic. < 1296570629 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :(assuming IPv6 is available) < 1296570649 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's 2G of RAM on that particular box. < 1296570662 0 :Lymia__!~moe@adsl-69-149-35-99.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296570700 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :This box has 8GB... < 1296570752 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Looks like a linear dependency. :p < 1296570863 0 :Lymia_!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296570951 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Not exactly... These figures (4M and 1M) have ratio of 1 entry per 2kiB memory. I have another computer with ratio of 8KiB per entry. < 1296571093 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: My phone says 327y8 routes for 256M of memory. < 1296571143 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That's 8 KiB per route too. < 1296571150 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :what's DFZ? < 1296571156 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Default-Free Zone. < 1296571179 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :oh, an area where you need an explicit route for every prefix? < 1296571189 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1296571248 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1296571373 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Using PC as router might be slow, but it could handle insane number of routes at once... < 1296571492 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :the really expensive routers that the backbone use are pure custom-built hardware that can do the routing in parallel < 1296571508 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :presumably they actually need them, or they wouldn't spend that sort of money, but who knows < 1296571820 0 :copumpkin!unknown@unknown.invalid QUIT :Quit: Computer has gone to sleep. < 1296571966 0 :asiekierka!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296572064 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There are some rather nice (if experimental) ways of (ab)using the caches and virtual-address translation machinery of x86 (and others) to do pretty fast routing-table longest-matching-prefix lookups. < 1296572087 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Still, there's interrupt overhead from a separate NIC and so on. < 1296572090 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Even the relatively puny FICIX (the Finnish commercial traffic hub) sees about 4 Mpps (million packets per second) of traffic over their switches; that's (for the routers on the sides that see large fractions of it) not too much time to spend on a single packet. < 1296572171 0 :Sgeo_!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296572267 0 :cheater-!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296572394 0 :cheater-!~cheater@g230228101.adsl.alicedsl.de JOIN :#esoteric < 1296572480 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Ah yeah, paging... x64 got rid of (most of) segmentation but still supports paging... < 1296572766 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=752162&tag=1 is I think what I read. < 1296572793 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's an old paper, from '99. < 1296572916 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Pentium II and Linux 2.0.30, how quaint now. :p < 1296572995 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But it has 133 subsequent citations, I think there was some interesting stuff there too. < 1296573039 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Some of it is of course exactly that sort of custom-hardware routers. < 1296573650 0 :copumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1296573956 0 :Mathnerd314!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1296574172 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1296574210 0 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1296574253 0 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1296574368 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The ending of Headshoots is quite possibly the most awesomely bizarre thing ever. < 1296574375 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :it ended? < 1296574379 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :you'll have to remind me of what happened < 1296574380 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ais523_, exactly. < 1296574382 0 :zzo38!unknown@unknown.invalid TOPIC #esoteric :Rust monsters have to eat, too | http://208.78.103.223/esoteric/ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1296574427 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :IIRC, someone made a deliberate attempt to kill it by setting off HFS /and/ a tantrum spiral, and someone else managed to revive it by making a sealed area out of part of the fortress and locking the rest of the world out < 1296574435 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1296574435 0 :elliott!unknown@unknown.invalid TOPIC #esoteric :Rust monsters are immortal and have no need to eat | http://208.78.103.223/esoteric/ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1296574438 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, ais523_ plays DF? < 1296574441 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: no < 1296574441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or just knows about it? < 1296574451 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :but I tend to percolate a lot of info about that sort of thing < 1296574455 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ais523_, yeah, that wasn't even halfway through. < 1296574468 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: I can explain Minecraft perfectly to you, then: < 1296574478 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :By the end HolisticDetective and Nemo could have each taken on Cthulhu and won hands-down. < 1296574506 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: inspired by Dwarf Fortress, but with a simpler interface, simpler mechanics, and better graphics, and you do everything yourself rather than ordering AI dwarves to do it? < 1296574510 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: It's like Dwarf Fortress, except dumbed down, with simpler game mechanics, where you're the only dwarf, and have an unreasonable compulsion to build random things. < 1296574515 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ha < 1296574519 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :semi-snap < 1296574527 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :I've percolated quite a lot of Minecraft, too < 1296574531 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Headshoots didn't even end: a couple of people just decided to flood it with magma and then finally make HD and Nemo skeletons, which wiped everyone else out. < 1296574570 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: meanwhile, I'm laughing at Java having almost the same bug as PHP < 1296574580 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: the floating point stuff? < 1296574580 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :and showing all my students, who all had the same reaction more or less < 1296574583 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yes < 1296574584 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :http://lparchive.org/Dwarf-Fortress-Headshoots/Update%2079/ is an analysis of their stats, which are apparently all off the scale. < 1296574591 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: let's be fair, that's a very subtle bug < 1296574598 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :PHP crashes if you change the last digit of DBL_MIN from 4 to 1 < 1296574601 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: it was quite arguably /gcc's/ bug < 1296574603 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :Java crashes if you change it from 4 to 2 < 1296574605 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1296574609 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: I meant the recent one < 1296574613 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :where parsing a float could hang PHP < 1296574617 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I do mean that one < 1296574619 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :it's a double, not a float < 1296574620 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1296574640 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :DBL_MIN is 2.2250738585072014e-308; PHP hangs on 2.2250738585072011e-308, Java hangs on 2.2250738585072012e-308 < 1296574649 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: well, I can't really blame anyone for having it, considering that IIRC the bug was in a library of common procedures -- not written by the PHP devs, some "standard" stuff to do it -- and to do with x87 < 1296574654 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :and people are finding other applications that are crashed by similar numberlike strings < 1296574654 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and volatile variables < 1296574660 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and probably gcc's fault < 1296574672 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I mean, I think Headshoots might be the closest thing to victory you can get in DF. < 1296574680 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I can blame the PHP devs for it, specifically because the library they copied had a big comment saying "this code does not work on x87" < 1296574689 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :I'd forgive them were it not for that < 1296574698 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: yes, but /it's not meant to/ < 1296574703 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: it was a gcc "optimisation" < 1296574707 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: normally, the code executed in SSE < 1296574711 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :it's not even gcc's fault < 1296574713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: but gcc decided to be Smart and moved one to x87 < 1296574723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: optimisations changing behaviour == lol < 1296574757 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: err, no? optimising changing undefined behaviour == expected < 1296574778 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :luckily C99 defined it, which gives gcc scope for working out what should actually happen < 1296574786 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: well, then it's the code's fault < 1296574792 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :the issue with C89 is that gcc can't really fix the bug because the intended semantics are completely unclear < 1296574792 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and the PHP devs didn't write it < 1296574833 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'd agree, except for the code saying which archs it works on, with x87 not being one of them < 1296574849 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :PHP is the most impressive esolang I've seen so far < 1296574862 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: except it /didn't/ run on x87 for the mostpart < 1296575032 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :kfr, clearly you haven't seen M4. < 1296575042 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :What's that? < 1296575057 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Google it. < 1296575062 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :YOUR MIND WILL BE BLOWN < 1296575073 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :i.e. CPP for the terminally insane. < 1296575115 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/M4_%28computer_language%29 < 1296575158 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :You should eschew CPP for it. < 1296575238 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :02:32:53 What are those crazy programming languages where the correctness of the code is part of defining the algorithm? < 1296575239 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :02:33:15 I think I recall some three letter initialism one where quicksort is like 150+ lines < 1296575239 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :02:33:26 It may be related to formal proof systems < 1296575239 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :02:35:04 I should probably look into Agda/Coq and such at some point, too < 1296575239 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :02:35:09 Learn about dependent typs < 1296575240 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :02:35:10 types* < 1296575254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(1) "Crazy"; well, computer proof systems, but more generally, languages with dependent types. < 1296575260 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(2) ATS, and _quicksort_ isn't 150 lines. < 1296575277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :_Quicksort that returns a proof that the array is sorted_ is something like that (_with_ whitespace and big comment block). < 1296575283 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The latter being something you can't even do in most languages. < 1296575295 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Wow, you're an avid log reader < 1296575309 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :A lot of people here are, they've just been quiet lately. < 1296575315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION waves to ais523_ and oerjan < 1296575321 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :kfr, yesyesyes, we know you think that logs are The Man trying to keep you down. < 1296575326 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(3) Yes. (4) Agda is quite similar to ATS, sort of, at the core, but less applied. Coq is interesting. < 1296575375 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :(Agda is an experiment in dependent typing under the delusion that it is a proof assistant.) < 1296575437 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :o_O < 1296575439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: It isn't under that delusion. < 1296575446 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Idiots are under that delusion. < 1296575477 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Idiots a.k.a. most of its user base. < 1296575495 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Not really. < 1296575503 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Very few people use Agda. < 1296575510 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Those who do are pretty damn smart. < 1296575510 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :A large part? < 1296575618 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Damn, Agda users are even more elitist than the Haskell ones? < 1296575622 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Now I need to switch... < 1296575624 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Curses. < 1296575631 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Name an idiot that uses Agda. < 1296575635 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: I don't use Agda. < 1296575648 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Well I could do it < 1296575651 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Haskell users are elitist now? < 1296575657 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover yes < 1296575672 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think /proving/ large theorems in Agda is just about impossible and a silly thing to try and do if not used to do something else in Agda. < 1296575682 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover has turned my off-hand remark into the Church of Anti-Agda. :p < 1296575703 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it is called a theorem prover in many, many places. < 1296575716 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Links. I very much doubt those calling it so use it. < 1296575723 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :See: the WP article. < 1296575742 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I can link you to ten crap Wikipedia articles. :p < 1296575749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Related to computing.) < 1296575790 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :"You know how they say that when you have a problem and you decide to use regular expressions to solve it, you now have two problems? Well, Haskell is the opposite in that regard. You start out with a problem, then you go through a lot of trouble to actually learn the language and then you no longer have the problem in the first place because you have lost interest in programming." - by Philip Wadler, from "Faith, Evolution, and Programming Languages", April < 1296575790 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric : 2007 < 1296575792 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :WP = ? < 1296575807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Wikipedia. < 1296575950 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: http://twitter.com/pigworker/status/25356492341252096 Oh noes an Agda user, teaching no less! Probably an idiot! < 1296575979 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Of course he's an idiot < 1296575983 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :He uses Twitter < 1296575986 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :That's Conor Whatthehellishislastname. < 1296575991 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: /facepalm < 1296575995 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OH WAIT < 1296575996 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott indeed < 1296576000 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :IT SAYS ON THE PAGE < 1296576006 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: OH WOW < 1296576008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WHAT TECHNOLOGY < 1296576009 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Having a Twitter account -> /facepalm < 1296576029 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :kfr: Please enjoy your /ignore responsibly. < 1296576037 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Choice McBride quote: "@tom_harper One day, Agda may become sufficiently comfortable that it too induces somnambulance. Just now...it's a great way to feel alive." < 1296576053 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Also: < 1296576054 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :kfr, well, you probably think he's an idiot because he is an IVORY TOWER ELITIST. < 1296576062 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : @edwinbrady @larrytheliquid I was cautious about using Unicode in Agda at first, but I'm completely sold on it now. < 1296576065 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : @TacticalGrace The editor I use replaces all unicode symbols by blanks. I recommend it. < 1296576071 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : @pigworker That makes for some nice reading of the standard library :P < 1296576076 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : @TacticalGrace It reminds me of Zaphod Beeblebrox's peril-sensitive sunglasses. < 1296576093 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1296576227 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Aww, Unicode hater < 1296576413 0 :Mathnerd314!unknown@unknown.invalid PRIVMSG #esoteric :well... unicode itself isn't so bad. it's just that nobody uses it. < 1296576446 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...what. < 1296576450 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Everybody uses Unicode. < 1296576459 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Uhm I use Unicode on a daily basis < 1296576477 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :kfr, the hate is not for Unicode per se, but for Agda's attitude towards it. < 1296576486 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :There's no hate there. < 1296576488 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sheesh. < 1296576489 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :IPv6 fun: If you get stale SLAAC addresses, there doesn't seem to be any (obvious) good way to clear them... < 1296576493 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :你是个白痴>-> < 1296576496 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: You are waaay to ideological about this :P < 1296576503 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :[16:03] * elliott waves to ais523_ and oerjan <--- ais523_ waves back, and didn't see the nickping because they were going through a student's work with them at the time < 1296576506 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I am rephrasing what kfr said. < 1296576512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: O. < 1296576513 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*Oh. < 1296576518 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Doing ip -6 addr del on them would be obvious way, but that doesn't work. < 1296576528 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover that is not what I meant though :| < 1296576531 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Whatever < 1296576600 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :did esolangs invent the idea of using Unicode for commands all over the place? < 1296576610 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Doubt it < 1296576610 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :(the idea originally came from APL, but Unicode wasn't around at the time so it couldn't have used it) < 1296576625 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Haha yeah APL somewhat inspired me there < 1296576644 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I already thought of it before I had ever even heard of APL though < 1296576653 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I thought nobody had done it before < 1296576657 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :then somebody showed APL to me < 1296576665 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1296576677 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'm not convinced the Java floating point crash is x87-related at all < 1296576684 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :possibly not < 1296576693 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :especially as it seems to happen on 64-bit processors too, unlike the PHP crash < 1296576721 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Well, that part of the ISA is the same on AMD64, no? < 1296576732 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :I love the comment from a redditor who works at a bank, and ran it on their test servers and crashed them < 1296576740 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :LOL. < 1296576765 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :(he or she was right to do that test, I think, and has probably warned his or her boss already; better discover you have a problem in test, than in production) < 1296576779 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :That PHP overlord originally claimed it was a bug in gcc, right? < 1296576787 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: are you /sure/ they've warned their boss? I'd be pretty scared to... < 1296576796 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: no < 1296576800 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Management doesn't exactly have a stunning track record of being understanding of those who discover vulnerabilities. < 1296576825 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :but I wouldn't be scared to, it would be a case of "the news is reporting a bug in Java, I checked to see if it affects us and it does, we'd better fix it before someone else uses it to bring down our system" < 1296576847 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :and management would be very unlikely to blame that on me unless they were in to shooting the messenger < 1296576857 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :perhaps you'd have to be careful in how you phrased your report to them < 1296576858 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: that seems terribly _optimistic_ to me < 1296576885 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :> read "2.2250738585072012e-308" :: Double < 1296576886 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 2.2250738585072014e-308 < 1296576901 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Haha yeah we already did that in #haskell earlier today < 1296576910 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :> read "2.2250738585072011e-308" :: Double < 1296576911 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 2.225073858507201e-308 < 1296576917 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: consider http://techcrunch.com/2011/01/31/plentyoffish-ceo-we-were-hacked-almost-extorted-so-i-emailed-the-hackers-mom/ (sorry for linking to techcrunch...), where as far as I can tell from reddit and elsewhere, the actual story is that a security company reported a vulnerability in the site to him, and he decided to go batshit insane and try and ruin their reputation < 1296576922 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :really, you'd need to try all possible last digits < 1296576929 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :> text $ (\x -> x++' ':show x) "> text $ (\\x -> x++' ':show x)" < 1296576930 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : > text $ (\x -> x++' ':show x) "> text $ (\\x -> x++' ':show x)" < 1296576941 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :don't be silly; Haskell is perfect < 1296576943 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it can't have bugs! < 1296576953 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: actually working for a company, you probably have more leeway, especially if your job is to find bugs < 1296576977 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :companies tend to be more understanding when their own employees do it then when some random person emails them < 1296576980 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: oh, if your job is to find bugs, sure < 1296576984 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but if you're just some random undering... < 1296576987 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*underling < 1296576991 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I guess I'm cynical :) < 1296577008 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :if you're in a bank, and your job isn't to find bugs or create bugs, you probably wouldn't have the rights to send arbitrary input to the test server < 1296577014 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :s/create bugs/write code/ < 1296577058 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, use of show, repr, or similar constructs that languages have for escaping strings makes writing quines much easier < 1296577059 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :true < 1296577066 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I prefer "create bugs" < 1296577119 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric ::t text < 1296577120 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :String -> Doc < 1296577128 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :Doc? < 1296577139 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :normally :t gives a good idea of what a function does, but not in this case < 1296577164 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@hoogle Doc < 1296577165 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Text.PrettyPrint.HughesPJ data Doc < 1296577165 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Language.Haskell.TH.PprLib type Doc = PprM Doc < 1296577165 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :System.Directory getUserDocumentsDirectory :: IO FilePath < 1296577169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: I think Doc is from prettyprinting < 1296577172 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :oh, it presumably makes lambdabot not quote its output < 1296577178 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no, it's more general than that < 1296577184 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's just the Show instance of Doc that is doing that, I think < 1296577187 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> rparen < 1296577188 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : ) < 1296577189 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yes, I mean that's what it's being used for in this situation < 1296577192 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> int 3 < 1296577193 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 3 < 1296577197 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :> "abc" < 1296577197 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> brackets (text "af") < 1296577198 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : "abc" < 1296577198 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [af] < 1296577204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> text "a" <> text "b" < 1296577205 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : ab < 1296577207 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> text "a" <+> text "b" < 1296577208 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Ambiguous occurrence `<+>' < 1296577208 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : It could refer to either `Control.Arrow.<+>', i... < 1296577213 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> text "a" $$ text "b" < 1296577213 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577213 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : b < 1296577216 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :etc. < 1296577218 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ooh < 1296577223 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> text "a" $$ text "b" $$ text "c" < 1296577224 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577224 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : b < 1296577224 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : c < 1296577230 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :of course its purpose isn't just to make lambdabot unescape < 1296577234 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> fix (text "a" $$) < 1296577235 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :but that's why it's involved in the lambdabot quine < 1296577238 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1296577241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1296577244 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::t iterate < 1296577245 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :forall a. (a -> a) -> a -> [a] < 1296577252 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: stop creating botloops < 1296577256 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :especially within a single bot < 1296577263 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: botloops are a channel tradition TYVM < 1296577264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> (iterate (text "a" $$) (text "a")) !! 10 < 1296577264 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577265 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577265 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577265 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577265 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577266 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :[6 @more lines] < 1296577269 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aww < 1296577270 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@more < 1296577270 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577270 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577272 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577273 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1296577274 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577276 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's too smart :) < 1296577280 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : a < 1296577289 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :that was 11 < 1296577297 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1296577299 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because the first is "a" < 1296577303 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and then it becomes "a\na" < 1296577303 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I hate how it adds a space in the beginning. < 1296577303 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :etc. < 1296577360 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric : ais523_: botloops are a channel tradition TYVM <--- I know, that's why I know enough to avoid them < 1296577373 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :in fact, I fear it was me who started the tradition < 1296577401 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: I actually botlooped lambdabot and egobot recently < 1296577421 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: has fungot been told to ignore lambdabot? < 1296577421 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: but there isn't afaik. i learnt from reading the wikipedia article < 1296577430 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ignore < 1296577432 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :oh, no need, it got the list from Wikipedia < 1296577436 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296577437 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :LIST OF BOTS < 1296577468 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :What are botloops? Making bots give input to each other? PRIVMSG recursion? < 1296577491 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11.01.20:12:51:36 ?so !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);"; printf(s,34,s,34);// < 1296577491 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11.01.20:12:51:36 !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);"; printf(s,34,s,34);// not available < 1296577491 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11.01.20:12:51:38 ?so !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);"; printf(s,34,s,34); < 1296577491 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11.01.20:12:51:38 !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);"; printf(s,34,s,34); not available < 1296577492 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11.01.20:12:51:51 ?so !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);//"; printf(s,34,s,34);// < 1296577496 0 :elliott!unknown@unknown.invalid PART #esoteric :? < 1296577518 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1296577523 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :kfr: it's when you get two bots to each output something that's valid input to the other < 1296577524 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Heh < 1296577530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sorry < 1296577531 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking about that earlier today < 1296577532 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11.01.20:12:51:51 ?so !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);//"; printf(s,34,s,34);// < 1296577532 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11.01.20:12:51:51 !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);//"; printf(s,34,s,34);// not available < 1296577532 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11.01.20:12:51:53 ?so !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);//"; printf(s,34,s,34);// < 1296577533 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11.01.20:12:51:53 !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);//"; printf(s,34,s,34);// not available < 1296577536 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :there < 1296577538 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's how i did it < 1296577541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"?so" turned out to just be < 1296577544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@source x < 1296577544 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :x not available < 1296577545 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :m4 doesn't seem to be good for preprocessing C codes. < 1296577546 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@src x < 1296577547 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Source not found. The more you drive -- the dumber you get. < 1296577548 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :because they're bots, they don't realise they've been tricked, and keep sending messages back and forth indefinitely < 1296577566 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :normally, until one of them gets kicked < 1296577568 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: it was designed for processing Ratfor codes and Ratfor is very much like C < 1296577572 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :(Although they did try by making it send #line directives to the output) < 1296577573 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :or Freenode gets impatient < 1296577580 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :made by the K in awk < 1296577598 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that's a different K from the K in K&R? < 1296577603 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nope! < 1296577603 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1296577654 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :What would you say is the most impressive esolang which is still being used to actually solve problems? < 1296577665 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :i.e. it is actually practical < 1296577690 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :the only esolang that I've ever seen used for practical tasks is Befunge-98 < 1296577706 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :and in those cases, not because it's actually good at them, but because people wanted to do them in an esolang and it seemed less awkward than the alternatives < 1296577710 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :hi fungot, btw < 1296577710 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: i just did the fnord fnord in scheme code? how can you use ' set_functions' anywhere in there? < 1296577764 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :some esolangs are very good at specific contrived tasks < 1296577785 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :like INTERCAL for bit-twiddling, or Brainfuck for certain types of text processing < 1296577801 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :but they're normally sufficiently bad at anything else that you can't easily write the support code needed to use them for those purposes < 1296577827 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :^bf >,[>,]<[.<]!Hello, world! < 1296577827 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :!dlrow ,olleH < 1296577847 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^source < 1296577847 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :http://git.zem.fi/fungot/blob/HEAD:/fungot.b98 < 1296577850 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :you're unlikely to find a shorter file-reverse in pretty much any other language < 1296577868 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523_: in golfscript i think it would be one character < 1296577869 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just "reverse" < 1296577891 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :yep, the "pretty much" was explicitly with GolfScript and floGscript in mind < 1296577908 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :and my as-yet-unnamed anagolf-based language < 1296577939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, i can't actually find reverse on http://www.golfscript.com/golfscript/quickref.html < 1296578013 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :"reverse lines" is apparently 7 bytes in GolfScript, 2 in FlogScript < 1296578067 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :reversing the elements of a list is actually just 3 bytes in Underlambda: '*t < 1296578116 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :(t is fold, with no explicit zero: you can add the zero to the end of the list if you want to include that too, because Underlambda's untyped) < 1296578147 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :err, wait, you'd need to escape the list first < 1296578153 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :'ae'*t < 1296578164 0 :ais523_!unknown@unknown.invalid PRIVMSG #esoteric :(and e is map) < 1296578255 0 :azaq23!unknown@unknown.invalid QUIT :Ping timeout: 246 seconds < 1296578360 0 :azaq23!~derivecto@unaffiliated/azaq23 JOIN :#esoteric < 1296578439 0 :asiekierka!~asiekierk@178235033089.elblag.vectranet.pl JOIN :#esoteric < 1296578581 0 :ais523_!unknown@unknown.invalid QUIT :Quit: Page closed < 1296578841 0 :evincar!~chatzilla@daffa.student.rit.edu JOIN :#esoteric < 1296578856 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :I return, with a vengeance. < 1296578860 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :AAAAAAH < 1296578865 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Ohai. < 1296578888 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul ()(S)((a)^(b)^(c)^)^ < 1296578889 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric : ...bad insn! < 1296578890 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :I'm working on something you'd like, then hate, then be indifferent toward, then hate, then like again. < 1296578893 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...:( < 1296578894 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wut < 1296578904 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: are you INSINUATING something about me < 1296578916 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I see what you did there. < 1296578927 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :I hope you do. :P < 1296578927 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... i don't < 1296578931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296578937 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :You'll oscillate. < 1296578941 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what's that UL program meant to do? < 1296578943 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :Sinusoidally, perhaps. < 1296578944 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: oh wow < 1296578947 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it looks like a pretty obvious crash to me < 1296578947 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1296578958 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the a^b^c^ bit is meant to be a list represented as its folding instruction < 1296578959 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ohhh < 1296578961 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it should be ~^ < 1296578967 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1296578968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it should be < 1296578969 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :given < 1296578971 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, and there should be some colons in there too < 1296578979 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :PREVIOUS F < 1296578980 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it should be < 1296578982 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :PREVIOUS CURRENT F < 1296578983 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and then ^ < 1296578994 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul ()(S)((a)~^(b)~^(c)~^)^ < 1296578995 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :a ...bad insn! < 1296579002 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, isn't that map not fold? < 1296579004 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :grr < 1296579005 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i need a dip < 1296579009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, the function is meant to take two arguments < 1296579015 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it starts with zero f on the stack < 1296579016 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then it becomes < 1296579021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zero first-elem f < 1296579022 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh, the two are basically the same in Underload < 1296579023 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then < 1296579027 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f(zero first-elem) f < 1296579028 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then < 1296579030 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f(zero first-elem) second-elem f < 1296579039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f(f(zero first-elem) second-elem) f < 1296579043 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and then at the end it should pop the function < 1296579048 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Underlambda t works by dumping the whole list on the stack, then repeatedly running the operation you give < 1296579049 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but this seems like it'll be a bitch to do.... < 1296579051 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*do... < 1296579053 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric : i need a dip <- were you actually talking about orally consumed tobacco there? < 1296579058 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a number of times equal to the list length minus one < 1296579062 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kfr: no, a combinator < 1296579068 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Right < 1296579077 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Underload dip is a~*^ < 1296579085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1296579094 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok so we want < 1296579105 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(push first elem) dip dup (^) dip < 1296579107 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kfr: it runs a program without the top stack element, then adds the element back again afterwards < 1296579109 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :can that be simplified < 1296579109 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :? < 1296579111 0 :Mathnerd314!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296579121 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :((a))a~*^:(^)a~*^ < 1296579122 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I was about to ask if Haskell has it < 1296579125 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that can surely be simplified < 1296579134 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :But I guess that's that < 1296579147 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kfr: it doesn't really make much sense with Haskell's evaluation model, it's more a concatenative than functional combinator < 1296579171 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: but yes stay you are cool < 1296579179 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but on lists rather than stacks, you could write it as "dip f h:t = h:(f t)" < 1296579189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lists are stacks < 1296579193 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :@pl let dip f (h:t) = h:(f t) < 1296579193 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(line 1, column 26): < 1296579193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :as far as the concatenative model is concerned < 1296579193 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :unexpected end of input < 1296579193 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :expecting variable, "(", operator, ":", "++", "<+>", ";" or "in" < 1296579200 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stacks are essentially linked lists < 1296579202 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: well, yes < 1296579207 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl \f (h:t) -> h:(ft ) < 1296579207 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :const ((: ft) . head) < 1296579208 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl \f (h:t) -> h:(f t) < 1296579208 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(`ap` tail) . (. head) . flip ((.) . (:)) < 1296579212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :gross < 1296579214 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, it has to be a function not a statement < 1296579220 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :haskell has no statements < 1296579225 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what you said there is only valid in a do block < 1296579230 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :err, yes, that's what I meant by statement < 1296579233 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It's noon here and I've been awake since 11pm yesterday. So forgive me if I suddenly fall asleep. < 1296579233 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1296579241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: THAT WOULD BE GIVING UP < 1296579246 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and that's the ugliest pointfree form I've seen ever < 1296579260 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1296579281 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Underload's inherently point-free, and a~*^ is pretty simple < 1296579282 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :It's almost pornographic. < 1296579293 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but sometimes it gets ugly for other things < 1296579295 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :One way avoiding bot-loops would be to make their output as NOTICE messages instead of PRIVMSG < 1296579303 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(OTOH, dip is much more important in Underload than Haskell) < 1296579306 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :@pl \a b c d e f g -> g f a c e d b < 1296579307 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :flip . ((flip . ((flip . ((flip . (flip .)) .)) .) . flip . ((flip . (flip .)) .) . flip . (flip .)) .) . flip . (flip .) . flip (flip . flip id) < 1296579311 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: indeed, and that's what technically they should do < 1296579320 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and probably would, were it not for mIRC < 1296579327 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :^ul (TIME)S < 1296579328 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Flipping burgers < 1296579334 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :freenode is my favourite mIRC server. < 1296579347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: notices are ugly < 1296579349 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in almost any client < 1296579351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and annoying too < 1296579357 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Were it not for mIRC, many people would be spared having to begin or end sentences with "were it not for mIRC". < 1296579359 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I don't think so. < 1296579360 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :anyway, botloops are _fun_ < 1296579362 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: technically, fungot - and everyone else - misparsed that, CTCPs are supposed to be allowed in the middle of a line < 1296579363 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ptys work perfectly well < 1296579372 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :* Received a CTCP TIME from fungot (to #esoteric) < 1296579373 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :elliott: ( define ( fnord liste symbol?) ( else ' even)) x sort ( filter xs ( x) < 1296579374 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::> < 1296579376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :worked for me < 1296579386 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, clients should probably just show notices as -fungot- rather than , with maybe a color change, and leave them identical < 1296579387 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wait a minute, i need to do that < 1296579390 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think that's what clog does < 1296579397 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-- is ugly :P < 1296579404 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (ACTION asdf)S < 1296579405 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :ACTION asdf < 1296579405 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :(I take that back. According to Google, no one has ever said those five words in sequence before.) < 1296579409 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :-ugly? doing it on every line is famously scary- < 1296579412 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (xACTION asdfy)S < 1296579413 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :xACTION asdfy < 1296579417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^ul (xPINGy)S < 1296579418 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :xPINGy < 1296579422 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :* Ping reply from zzo38: ? second(s) < 1296579431 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zzo38 wins the "only client that obeys the RFC" prize < 1296579433 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why am i not surprised? < 1296579446 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I thought zzo38 still did IRC over telnet/netcat? < 1296579457 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I obey that part of the RFC too, when I'm IRC'ing by hand < 1296579459 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :ais523: No, I wrote my own IRC client. < 1296579469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: he wrote his own client in PHP < 1296579480 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'm not surprised that it obeys the standard either < 1296579485 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that consists of an IRC-protocol syntax highlighter, and a way to type "PRIVMSG #foo :" quickly < 1296579506 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*completely* unrelatedly, all over the globe, stereotypes continue to be obeyed < 1296579508 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :haha, that was unexpected, but not surprising either < 1296579508 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :(Command-line PHP, as it turns out. If I ever rewrite it, it will use C (Enhanced CWEB) instead probably) < 1296579532 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :link us to PHIRC again zzo38? < 1296579540 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It actually does a few more things that just syntax highlighting and way to type "PRIVMSG #foo :" quickly. It does a few other things too. < 1296579549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : haha, that was unexpected, but not surprising either < 1296579550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what was? < 1296579556 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the way zzo38's client works < 1296579558 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: oh right, you can script it right? < 1296579560 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :with a Forth dialect? < 1296579650 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Actually it has other features too. /F can be used to set filters, and /SET SHOWTIME + will make it display the time with each message received. And it will mask the parameter for any command line starting with PASS < 1296579660 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :It also has macros which can be assigned to function keys. < 1296579686 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :can you link again? < 1296579711 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :http://zzo38computer.cjb.net/prog/PHIRC/ < 1296579751 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Can you offer the source code in a Free archive format such as tar? < 1296579755 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wow, the gcc bug report about x87 weirdness (323, fixed eventually for C via the slow -fexcess-precision=standard that makes absolutely sure floating point is vaguely sane) ended up filling up with Exchange error messages about bounced email from what looks like a spambot address < 1296579766 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :elliott: OK I can do that. Just a minute. < 1296579772 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I use gNewSense, so I cannot use any file format that is not openly standardised with a Free Software implementation. < 1296579791 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: heh < 1296579793 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: but .zip is an open standard with several free software implementations, IIRC < 1296579818 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: No, ZIP files are not an open standard. < 1296579828 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Oh, it is. < 1296579833 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Well, the original implementation has to be Free! < 1296579868 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I want a desktop made out of completely open source hardware! < 1296579882 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: it seems muddled < 1296579888 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :OK I made a .tar.gz now available < 1296579896 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :7zip o/ < 1296579897 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'ma snooze a bit before class, but I'll be back on. When you get a sec, browse the logs from earlier and read up on the thingy I'm working on and started telling ais523 about. < 1296579910 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :PKWare released the original specification to the public domain (although not their original implementation), also the file extension .zip < 1296579917 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I didn't even realise you /could/ release a file extension to the public domain < 1296579924 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(as in, that such an operation was meaningful) < 1296579928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evincar: hmm, I didn't see that in the logs < 1296579943 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, seems so < 1296579944 0 :evincar!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It'll be fun to hear you yell at me about it. :P < 1296579946 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :kfr: I would also like such a thing (currently I have no such thing) < 1296579956 0 :evincar!unknown@unknown.invalid QUIT :Quit: Sleemp. < 1296579977 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: I know somebody on freenode who makes large feature size ASICs at home haha < 1296579988 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I've also looked into VHDL/Verilog + FPGAs etc < 1296579999 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :But FPGAs would obviously not be free either < 1296580018 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :YOU SUCK AND YOUR LANGUAGE SUCKS < 1296580019 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kfr: seriously, someone making ASICs at home? < 1296580027 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what do they make them out of? < 1296580027 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Yes the ZIP files is now open standard, whether or not the original implementation is Free is not important as long as it is open standard and Free implementation are available or that you can write one. < 1296580031 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Oh, many freelancers do that commercially < 1296580041 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I know somebody in Japan who does it commercially < 1296580044 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm surprised that they can get sufficiently pure silicon < 1296580046 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Open standards is more important I think. < 1296580061 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :There are some machines which can do it with larger feature sizes, I think? < 1296580078 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Let me sanity check in ##electronics < 1296580082 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :At least he told me he did < 1296580085 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the other parts of the process are not completely implausible to do on a small scale, although getting the accuracy required for the photomasks could be painful (presumably some sort of optical solution) < 1296580090 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :How are ASICs build? < 1296580098 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I make ASICs out of paperclips. < 1296580120 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: Well, the mainstream x86 ones are made in extremely expensive fabs in Taiwan < 1296580128 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Which cost 50-75 billion USD each < 1296580140 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :And they need to make a new one for every new feature size < 1296580157 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Anyways, it's based on photolithography < 1296580169 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: you take some very pure silicon, then expose it alternately to an environment made out of a gas that reacts with silicon to form an n-type compound, and a gas that reacts with silicon to form a p-type compound, and oxygen (which reacts with silicon to form an insulator) < 1296580186 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :with various masks used to prevent the gas getting to parts of the chip you don't want it to affect < 1296580205 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the length of time it stays in the gas, and the temperature, determines how deep the n-type, p-type, or insulating region goes into the chip < 1296580205 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :You basically change physical properties of a wafer by combining light exposure with extremely fine masks or something like that < 1296580212 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sounds like great fun! < 1296580215 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Gas? Oh boy < 1296580218 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I must be totally outdated < 1296580252 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you can get a 3-D structure by, say, letting an n-type compound deep into the chip, then overriding it nearer the surface with a p-type compound that cancels it out < 1296580286 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kfr: the light doesn't change silicon directly, you use it to let the mask into a particular shape < 1296580299 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :much the same way you make PCBs, except massively more precise < 1296580317 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then the mask regulates chemical reactions which are what makes the n-type and p-type layers < 1296580338 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Is there a open specification binary format for ASIC layers? < 1296580339 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :originally people used silicon dioxide as an insulator, and aluminium on the surface as a conductor < 1296580368 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: This stuff is all super vendor specific as far as I know < 1296580381 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but nowadays the aluminium layer isn't used, they just nest a bunch of diodes instead to form effectively a wire (as two diodes in opposite directions don't let any current through at all) < 1296580407 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and likewise, the alternating-diode trick's used for insulators inside the ASIC itself (silicon dioxide's still used to protect the surface of the resulting ASIC) < 1296580427 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :kfr: Yes so is FPGA, I think. I would like to see an open standard for these kind of things, and for FPGA, also a FPGA chip that follows the open standard and has no secure loading mode. < 1296580434 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kfr: as far as I remember, there's a standard format for ASIC specification, in that the format of the file itself is specified < 1296580437 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it's basically as general as XML < 1296580442 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and what it actually /means/ is up to the individual vendors < 1296580446 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :thus, it effectively isn't open < 1296580479 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :(That way it is possible to make a FPGA that modifies itself and that you can use the same FPGA program with different vendors and it will still modify itself in the same way.) < 1296580484 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: even with a secure loading mode, it would still work pretty well, as long as it still allowed reflashing < 1296580496 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so long as it was possible to turn the mode in question off by wiping the chip < 1296580542 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Maybe it would, if you can switch off secure loading mode it would work (so that you can load unencrypted data), but I would prefer to use a FPGA with no secure mode. < 1296580554 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(explanation for people lacking content here: secure loading modes make FPGAs and similar concepts write-only, so people don't grab your source code from the chip directly once you ship it; on several models, you can bring the FPGA back to a read-write state by erasing it, preventing the data that was on there being read) < 1296580569 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :^ignore < 1296580569 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :^(EgoBot|HackEgo|toBogE|Sparkbot|optbot)! < 1296580575 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :No, there's no lambdabot on the list. < 1296580580 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there probably should be < 1296580582 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or someone will try < 1296580589 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we already did < 1296580591 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but it was boringly easy < 1296580593 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :since you can ^def < 1296580594 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, I remember optbot < 1296580599 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so i wouldn't bother < 1296580599 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, almost < 1296580607 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i was going to bring optbot back < 1296580608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but then didn't < 1296580608 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :didn't it just spout random lines from the logs? < 1296580610 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :maybe i will < 1296580611 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :^ignore ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot|lambdabot)! < 1296580611 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :OK. < 1296580615 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, but more importantly, < 1296580617 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it set the topic < 1296580618 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't think Sparkbot actually exists. < 1296580620 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :every 6 hours on the dot < 1296580624 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :My logs didn't really find anything about it. < 1296580625 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: to a random log quote < 1296580629 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and it was great < 1296580666 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Yeah I know somebody who worked with encrypted Flash stuff for his FPGA < 1296580687 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :still, there are some cases of people extracting the "source" even from ASICs < 1296580692 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Designed to make reverse engineering difficult < 1296580696 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :someone cut open a 6502 and scanned it with an electron microscope < 1296580703 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Do you know azonenberg? He does that < 1296580705 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in order to make a bug-compatible emulator < 1296580707 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Acid and microscopes < 1296580708 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kfr: no, I don't < 1296580715 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :He's a regular on ##re < 1296580723 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :And many other related channels < 1296580730 0 :cal153!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296580740 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Being a "regular" on a regular expression -related channel would be so punny. < 1296580773 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: hurf durf < 1296580776 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :http://siliconpr0n.wikispaces.com/Tutorial+on+epoxy+decapsulation < 1296580820 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: The channel is primarily about cracking commercial software and reverse engineering smart cards and jailbreaking new embedded systems and such < 1296580822 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :"epoxy decapsulation" sounds like a sort of execution method < 1296580844 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I gathered as much from the context. < 1296580847 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :That's his page < 1296580898 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :ais523 http://siliconpr0n.wikispaces.com/Tutorial+on+using+micropositioners < 1296580937 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :The funniest part about this is that he never had any formal training in EE < 1296580943 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :And he's a CS undergrad or something < 1296580959 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :But his primary interest is hardware really < 1296581019 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kfr: I'm the other way round, my first degree was in electronic engineering < 1296581025 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I'm doing my PhD in computer science < 1296581052 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(electronic engineering is a much better undergrad degree than computer science, as the first is much more expensive than the second to study on your own without a university's equipment) < 1296581063 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(and you can do them both at much the same time, one at university, one in your free time) < 1296581125 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :epoxy decapsulation :D < 1296581184 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I can tell what the phrase means (clearly the opposite of epoxy encapsulation), but it sounds like it should be much more dramatic than it is < 1296581425 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ready the Epoxy Decapsulation Squad, we have a runaway. < 1296581464 0 :asiekierka!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296581802 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Square Root of Minus Garfield is rapidly hurtling towards the Garfield fo < 1296581820 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :*Garfield inus Garfieldocalypse. < 1296581941 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, yesterday's (i.e. the current) Lightning Made of Owls is very deep < 1296582014 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: walls aren't that deep! < 1296582057 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, I think there's actually a fifth wall that it's possible to break as well < 1296582057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :segfaults -- i love segfaults! < 1296582063 0 :cal153!~cal@70.36.237.178 JOIN :#esoteric < 1296582068 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, that's what it's referring to? < 1296582069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1296582076 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: not directly, I don't think < 1296582082 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :only by saying it's a meta-meta-joke < 1296582092 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www.mezzacotta.net/owls/?comic=328 same person < 1296582096 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1296582109 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :breaking the fourth wall happens when the fictional characters become aware that there's an audience, and that they themselves are fictional < 1296582112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www.mezzacotta.net/owls/?comic=326 < 1296582125 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :breaking the fifth wall is when they start exploiting effects of the media their fictional universe is in < 1296582131 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: breaking the fifth wall happens when the real author becomes aware that there's characters, and that they themselves are real! < 1296582146 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so, where's the fifth wall? perpendicular to the other four? < 1296582150 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Onion joke) < 1296582155 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :e.g. I Wanna Be The Fangame's "lag spike", which moves backwards and forwards really quickly just to make Windows unresponsive < 1296582167 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1296582182 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and likewise in the Impossible Quiz, where some of the questions (maybe only in the sequels?) can only be answered by exploiting corner cases of Flash's mouse handling < 1296582210 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no, you have to do that kind of thing in the original < 1296582216 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :on a TV program, breaking the fifth wall would be if the characters started doing subpixel antialiasing < 1296582220 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1296582230 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :exploiting the way the viewers' TV screens were likely to work < 1296582259 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, now what's wrong with this ... < 1296582274 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :"Java says one file per class, I say one file per function" < 1296582306 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :kfr: Java doesn't actually say that at all, you can put all the classes in one file and it works just fine < 1296582311 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's just anywhere in between that you have the issue < 1296582497 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(note: technically, this works because /public/ classes have to be in a file to themselves; but you can make the other classes file-private and have just the one public class) < 1296582592 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That doesn't really work if you need to have multiple public classes due to some sort of an interface. < 1296582600 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess it normally works. < 1296582636 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If someone gives you an object of a non-public class, I suppose you can do reflection on it freely? < 1296582652 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If it's just the class declaration you can't access. < 1296582729 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It is still "one file per class" if you're speaking of .class files, though. < 1296582866 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think you can reflect a non-public class, but I'm not sure < 1296582885 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there might be some sort of visibility exception, like if you try to use reflection to assign to a non-public property of a class < 1296582889 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I think you can put all the .class files together in a .jar file? < 1296582913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11:27:23 Basically you've got the absolute progression of time, and the state of the program is a pure function of the current moment in time. < 1296582913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11:27:45 Events occur, and effects may result, and generate further events, ad whateverum. < 1296582913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11:28:12 Effects are evaluated lazily, so nothing happens until something depends on it. < 1296582913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11:28:31 Which keeps the language purely functional, and lets you start jumping around and forking the timeline however you please. < 1296582915 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :(A .jar file has the same format as a .zip file) < 1296582921 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's like FRP if you took away the part where it's sane < 1296582939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11:29:51 What's the significance of the lemons in the Esolangs logo? < 1296582939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :/facepalm < 1296582955 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's a thread about the limes in the Esolangs logo < 1296582963 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11:32:23 There is all sorts of fun with complexity classes. Such as R being impossible to construct explicitly... < 1296582963 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WELL I DID IT < 1296582965 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it was mostly people concluding that they didn't know either, and probably there wasn't one < 1296582989 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and even implemented it < 1296582990 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*it! < 1296582990 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::p < 1296582992 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Well what does it stand for? :[ < 1296583048 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :But I do guess that if you want to, you might make a programming language where each function is a separate file in a ZIP archive. < 1296583075 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Ew, then I'd have to write decompression stuff < 1296583169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11:32:57 it's hard to explain, because all the terminology required for time travel doesn't yet exist in English < 1296583169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :11:33:00 or probably any other language < 1296583170 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wioll haven been < 1296583187 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I think that was just a joke < 1296583197 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you think what was just a joke? < 1296583212 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the time travel verbs thing in HHGTTG < 1296583219 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Showing results for "will have been". Search instead for "wioll haven been" < 1296583219 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why the fuck do you think I quoted it, Google? < 1296583221 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as in, Douglas Adams just invented some verblike forms < 1296583224 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because you fucked it up beforehand! < 1296583238 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :rather than actually having the meanings plotted out < 1296583247 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I think you can use a leading + to prevent the did-you-mean triggering < 1296583323 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but quotes should do that! < 1296583394 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm always amused when people complain about Wikipedia's search feature < 1296583412 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :hello zzo38 < 1296583415 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to me, it's better than most other searches, for exactly the same reasons other people complain about < 1296583419 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Wikipedia's search feature seems to work better than Google, I think. < 1296583424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, I can never _find_ what I'm looking for with it < 1296583430 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I can < 1296583437 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I suppose we're looking for different things < 1296583451 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :on Wikipedia, you don't put precisely what you're looking for, but rather the name of the page you think it will be on < 1296583472 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the names follow a consistent enough pattern that you can generally guess what the page will be < 1296583514 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Yes they do, I just have C-l :w page name and I can usually guess the name of the page I want, either that or a name of a page that will redirect to the page I want. Since I can type fast it works better than disambiguation < 1296583785 0 :pikhq_!~pikhq@174-22-154-187.clsp.qwest.net JOIN :#esoteric < 1296583813 0 :pikhq!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1296583862 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you have to do +"sjkdfhskdjfh" to get exactly what you asked for :/ < 1296583911 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :quintopia: but elliott didn't ask for sjkdfhskdjfh < 1296583967 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :ais523: sjkdfhskdjfh is a new standard metasyntactic variable < 1296584065 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :"=\ < 1296584087 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I owe $1,600 in taxes to Indiana. < 1296584089 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :YAAAAAAAAAAAAAAAAAAAY < 1296584090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :dfijdfgsodgjoidjgsjfgsdlkfgjslkdjgfsdjkgf < 1296584097 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I owe Gregor in taxes to $1,600. < 1296584209 0 :quintopia!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I converted the Velota Hello World program to your steinway. < 1296584221 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ACTION nods sagely. < 1296584238 0 :zzo38!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296584274 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: how does taxation work in the US? In the UK, unless you have an unusual financial setup, you fill in one form when you get a job, and are given a form whenever you leave a job, and taxes just work automatically from there < 1296584287 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to the extent that people don't notice them much, maybe that's the idea < 1296584311 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(to be precise, a percentage is taken out of your wage and given to the government by the company; and another percentage in sales tax whenever you buy anything with the resulting money) < 1296584314 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ais523: It's mostly only a bit less automatic, with the caveat that different states are different taxing authorities, so if you live in one but work in another, they rape you a lot. < 1296584336 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, it seems to be in everyone's interest for taxation to be automatic < 1296584375 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Basically, your employer estimates how much tax you owe, then you fill out a form saying what your taxable deductions are (child credits, that kind of malarky), and if the estimates were off, somebody gives somebody money. < 1296584391 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :don't US citizens living abroad have to pay taxes? < 1296584394 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :But you have to fill out one of those forms for the federal government, and one for every state you worked in that has income tax. < 1296584400 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's rather fucked up, I've always thought < 1296584403 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, so forms every year < 1296584404 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Yup. < 1296584415 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lame < 1296584419 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: although only if they pay less tax to their local government then they would in the US < 1296584423 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :s/then/than/ < 1296584425 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it's still ridiculous < 1296584426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ...what < 1296584428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't even make sense! < 1296584441 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it sort-of half makes sense < 1296584455 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in that you aren't allowed to emigrate to avoid taxes, but are allowed to emigrate for other reasons < 1296584467 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the justification breaks down at one level < 1296584471 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in that it makes no sense either < 1296584586 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1296584610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm amused that you thought it made sense without the restriction, though < 1296584637 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :an interesting fact about the UK: if you're not a UK citizen, if you enter the country for just a few days (say on holiday), then when you leave again you can get a refund on all the sales tax you paid < 1296584667 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so long as you remember to do so, and have been really pedantic about collecting tax receipts (which are often not the same thing as ordinary receipts that you're given when you buy something) < 1296584736 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ais523: In Indiana, if you go buy things out of state without sales tax (and they catch you), you'll get charged Indiana sales tax. In Oregon, if you go to Washington and buy things WITH sales tax, they'll refund you :P < 1296584750 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :who, Washington or Oregon? < 1296584763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : I'm amused that you thought it made sense without the restriction, though < 1296584764 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no i didn't < 1296584767 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well < 1296584769 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Washington < 1296584775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i thought it made sense in the "let's just be horrible and evil" way :) < 1296584794 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, I was wondering if you thought it made sense because it was arbitrarily evil < 1296584800 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and putting a restriction on that made it less os < 1296584801 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*so < 1296584806 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, less evil, more arbitrary though < 1296584945 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Does that exempt-from-UK-sales-tax thing work for EU citizens? (Because the similar thing in France doesn't.) < 1296584957 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I don't know, but it wouldn't surprise me < 1296584994 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :certainly, when leaving the UK (i.e. you've crossed the border at an airport into an international area), you have to pay UK sales tax if you're travelling to a location in the EU, but not otherwise < 1296585011 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so when you buy something, you have to show your boarding pass so they can work out how much tax to charge < 1296585126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :13:03:46 • ais523 golfs his or her Slashdot signature < 1296585126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :13:04:01 (it's an INTERCAL addition without using the stdlib, I noticed a way to save another character) < 1296585129 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that "his or her" < 1296585130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WJW < 1296585155 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I feel so dirty typing gendered pronouns, and have to stop and think about whether I actually /know/ they're correct or not < 1296585172 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in here, there's no such need, I can just say "they" or "eir" or "his or her" without thinking < 1296585178 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :regardless of the sentence they're in < 1296585209 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :13:14:55 Looking at the press confrence speakers: They appear to be the the highest-ranking persons in ICANN (representing IANA), NRO (represents RIRs), ISOC and IAB. You don't have that sort of cast if one isn't announcing something really, really major... < 1296585209 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :13:15:32 They're going to announce what they're going to have for lunch next week. < 1296585211 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296585212 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Certanly it is considerate for you to not just go on and assume you would agree with you about which pronoun to use. < 1296585218 0 :asiekierka!~asiekierk@178235033089.elblag.vectranet.pl JOIN :#esoteric < 1296585226 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Do you have... anything else to announce?" "Nope!" < 1296585265 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I still think it's going to be the bit-flip thing. < 1296585355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what bit-flip thing? < 1296585406 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ais523: A surprise announcement that they're going to invert the bits in all IPv4 network prefixes, for long-term 0/1 balance reasons. < 1296585420 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1296585435 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :0/1 balance is actually an incredibly serious issue in electronic engineering on occasion < 1296585439 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although in the short term, not the long term < 1296585550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :13:26:07 "When ARIN receives its last /8 IPv4 allocation from IANA, a contiguous /10 IPv4 block will be set aside and dedicated to facilitate IPv6 deployment. Allocations and assignments from this block must be justified by immediate IPv6 deployment requirements." < 1296585551 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wut? < 1296585556 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :13:26:35 ("Examples of such needs include: IPv4 addresses for key dual stack DNS servers, and NAT-PT or NAT464 translators.") < 1296585556 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1296585690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :14:38:52 $ cat /proc/sys/net/ipv4/route/max_size < 1296585690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :14:38:52 1048576 < 1296585690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :14:39:06 My table is smaller. :v < 1296585690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :14:39:20 s#v#/# < 1296585690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I preferred :v. < 1296585745 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :[root@niflheim ~]# cat /proc/sys/net/ipv4/route/max_size < 1296585745 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :524288 < 1296585748 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric ::[ < 1296585788 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :why do you have to be root to do that? < 1296585794 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or are you just root for the sake of it? < 1296585810 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's 524288 for me too < 1296585810 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I was doing iptables stuff in that shell < 1296585813 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a much-unloved power of 2 < 1296585837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what suggests he's root there? < 1296585852 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: the root@ and # in the shell prompt < 1296585857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: oh, not fizzie? < 1296585860 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, kfr < 1296585867 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: right. i, uh, don't see his messages. :p < 1296585884 0 :Zuu_!unknown@unknown.invalid NICK :zuu < 1296585889 0 :zuu!unknown@unknown.invalid NICK :Zuu < 1296585949 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :As was seen after that, my phone had the smallest table of them all, just 32768. < 1296585990 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Of course it might not be very often that a phone is being used in a network setup that needs more than 30 thousand prefixes. < 1296586014 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Unless it is... the RoutaPhone.) < 1296586045 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I want a RoutaPhone. < 1296586050 0 :sebbu2!~sebbu@ADijon-152-1-27-215.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1296586155 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :fi:routa == en:frost. < 1296586186 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :FROSTPHONE < 1296586219 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296586254 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Does your iPhone keep exploding in the cold? Get the new FrostPhone! Guaranteed to survive down to ten kelvins." < 1296586265 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :Somebody make elliott unignore me, I am too cheap to advance the address in the configuration by one to change the hostmask :[ < 1296586383 0 :kfr!unknown@unknown.invalid PRIVMSG #esoteric :I dearly miss his words of wisdom < 1296586602 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: BTW, what *is* that strange tunnel system under your house in the old mine? < 1296586604 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Mine tunnels? < 1296586709 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Hmm? < 1296586723 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Is this the right channel? :p < 1296586739 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Er. < 1296586739 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you mean the things spaced three blocks apart, those are mine tunnels. < 1296586742 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1296586764 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Also act as shortcuts, the wide-tunnel route has a detour there. < 1296586768 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Not that I ever go thataway. < 1296586847 0 :Lymia!~moe@adsl-69-149-49-147.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296586849 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1296586849 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1296586901 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hi Lymia < 1296586921 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :http://blog.regehr.org/archives/370 -> of interest to people here < 1296586935 0 :Lymia__!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296587047 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :variable: indeed; I sort-of have the opposite problem: you have an algorithm that's proven correct, how do you translate it into software in such a way that you know it's still correct after the translation? < 1296587094 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :ais523, by using a trusted translator :-) < 1296587127 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure if there are any that take mathematical papers as input < 1296587146 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :doing it that way round is definitely easier than proving an existing program, though < 1296587151 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :verification is useful for very specific subsets of software - namely core software that will run mission-critical that is unlikely to change < 1296587166 0 :Lymia_!~moe@adsl-69-149-49-147.dsl.rcsntx.swbell.net JOIN :#esoteric < 1296587225 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I like that article's suggestion that verifiers should output machine-readable proofs of the program < 1296587230 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : variable: indeed; I sort-of have the opposite problem: you have an algorithm that's proven correct, how do you translate it into software in such a way that you know it's still correct after the translation? < 1296587231 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : ais523, by using a trusted translator :-) < 1296587231 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : I'm not sure if there are any that take mathematical papers as input < 1296587233 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: do it in Coq :) < 1296587237 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then extract to Haskell < 1296587247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : I like that article's suggestion that verifiers should output machine-readable proofs of the program < 1296587250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :see frama-c/why/etc < 1296587251 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*etc. < 1296587255 0 :Mathnerd314!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1296587258 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :they output to Coq < 1296587342 0 :Lymia!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296587422 0 :impomatic!~chatzilla@86.241.112.87.dyn.plus.net JOIN :#esoteric < 1296587712 0 :Lymia_!unknown@unknown.invalid PRIVMSG #esoteric :It's not like I'm particpating in this conversation. :v < 1296587714 0 :Lymia_!unknown@unknown.invalid NICK :Lymia < 1296587715 0 :Lymia!unknown@unknown.invalid QUIT :Changing host < 1296587715 0 :Lymia!~moe@unaffiliated/cirno-chan JOIN :#esoteric < 1296587746 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: don't worry too much, there are lots of conversations I don't participate in too < 1296587764 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I'm commenting on elliott's copy/paste more than anything. < 1296587772 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I'm confused as to what s/he meant to do. < 1296587815 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :so FSM accept regular languages; PDA accept context free; and TM accept anything ? < 1296587815 0 :asiekierka!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296587831 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: elliott wanted to reply to me, and was trying to give enough context that I knew what the replies meant < 1296587852 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: it's called logreading :) < 1296587864 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was replying to something that happened much earlier < 1296587869 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Context free ones need nondeterministic PDA. < 1296587976 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :Ilari are there any language types which FSM can't accept but D-PDA can ? < 1296587993 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :variable: sexps < 1296588026 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :ais523, reading them now < 1296588032 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :variable: For instance the classic a^n b^n language.... < 1296588057 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :so it goes regular - sexp - cfa - * == FSM - D-PDA - U-PDA - TM < 1296588080 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, I was using sexps as a specific example, rather than a general class < 1296588090 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :ais523, is there some general class ? < 1296588098 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure what the general name of languages matched by deterministic PDAs is < 1296588114 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :I'm pissed off at my college - we don't deal with this stuff *ever* < 1296588121 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has to learn it online < 1296588122 0 :sftp_!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296588139 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296588174 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think deterministic-PDA is the class matched by recursive regular expressions < 1296588211 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Recursive regular expressions? < 1296588235 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: regular expressions, except you're allowed to define them recursively < 1296588249 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :e.g. R = (aR*b) < 1296588264 0 :sftp!~sftp@79.174.49.11 JOIN :#esoteric < 1296588271 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :oh - I've had this idea for a long time - and was wondering if its true < 1296588285 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, they don't even need the * operator as you can do that with recursion, just alternation < 1296588295 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Note that if you add operator to regular expressions that matches anything some subexpression of the whole can match (including if referencing subexpression it is itself in), the result will be class of all CFGs. < 1296588312 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :anything that could be defined recursively could be implemented in a non-rescursive manner < 1296588341 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :Ilari -> CFG ? < 1296588354 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :Context free ? < 1296588359 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :AFAIK, any context-free language can be written that way. < 1296588369 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: really? that would surprise me < 1296588373 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although it isn't obviously false < 1296588398 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : anything that could be defined recursively could be implemented in a non-rescursive manner <-- indeed, but you need more power than regular expressions provide to be able to do so < 1296588417 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes - just a thought I've had. < 1296588422 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :curious - is there a proof for this? < 1296588441 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that regular expressions can't do recursion? yes, although I don't know it offhand < 1296588450 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :ais523, no - my idea < 1296588461 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or that you can do recursion in an imperative language? it's basically done by emulating a stack by hand < 1296588468 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes - exactly < 1296588484 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think you can probably do it with continuations instead < 1296588489 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :continuations ? < 1296588527 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :let's see... a continuation represents the current state of a program, in such a way that you can rewind the program to there and get it to continue differently < 1296588558 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :like the series of steps that it took to get there rather than just the state ? < 1296588569 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, not really, it's just the state < 1296588580 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but the idea is that you're making a choice when you create a continuation < 1296588589 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :any links I could read? < 1296588598 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :e.g. the usual way to create one is a call-with-current-continuation operator, which calls an arbitrary function with a continuation as its argument < 1296588609 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and if the continuation is ever called, instead of doing that, returns the value it was called with < 1296588610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :let me find one < 1296588631 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://www.madore.org/~david/computers/callcc.html < 1296588653 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :I'll read it in a bit - and come back here with Qs < 1296588657 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is busy for it < 1296588660 0 :variable!unknown@unknown.invalid PRIVMSG #esoteric :*for a bit < 1296588764 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, something awesome my supervisor did: finding counterexamples to security proofs in programs by doing things that were just completely outside what the proof assumed < 1296588794 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :e.g. saying there was a security bug in a protocol that used a callback function, triggered by calling fork() in the callback and doing different things in the two halves < 1296588810 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm pretty sure he used call/cc for a similar demonstration < 1296588821 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure if there was much /point/ in doing this, but it was nonetheless hilarious < 1296588830 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(especially as the person who wrote the proofs was in the room at the time) < 1296588958 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :"Think of a setjmp() function that would not have this limitation and you have a good approximation of call/cc. If you adhere to a stack-based paradigm of computation, or things to work in all cases we would need a full copy of the stack as per getcontext()." < 1296588969 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, that's actually how I implemented continuations in C-INTERCAL, IIRC < 1296588992 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :by using INTERCAL's getcontext() equivalent (to be more precise, forking and spinlocking, which comes to much the same thing except much more inefficiently) < 1296589255 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's also a community-scheme-wiki call/cc explanation article. < 1296589258 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not saying it's anygood. < 1296589281 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the article I linked is the one I learned call/cc from < 1296589290 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's a weird concept at first, but it becomes really natural after a while < 1296589291 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://community.schemewiki.org/?call-with-current-continuation is the Wiki one. < 1296589308 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It does the usual "start with exit continuations, build from there" thing I've seen elsewhere too. < 1296589337 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://community.schemewiki.org/?category-learning-scheme has links to three others, including one explanation for C programmers. < 1296589341 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You so Schemer. < 1296589345 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Why isn't mcmap written in Scheme? :p < 1296589346 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't vouch for the quality of any of these. < 1296589401 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, Scheme is sort-of famous for continuations < 1296589413 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Here's the secret: it's setjmp/longjmp. < 1296589413 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But on no account say that to any Scheme programmers you know, it'll send them into paroxysms of rage as they tell you you don't know what you're talking about. Oh, and if you're a Scheme programmer who's accidentally stumbled on this page then please, please, stop reading now, for the sake of your blood pressure." < 1296589425 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :most languages don't really have them at all, Scheme has them in their standard library < 1296589431 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: not in its stdlib < 1296589433 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: in its language core < 1296589437 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, right < 1296589437 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it has no stdlib :P < 1296589444 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, that is the stdlib then, effectively < 1296589480 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :R5RS has a concept of "library procedure" as opposed to "procedure". < 1296589483 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Scheme /also/ has DYNAMIC-WIND, meaning that the exact semantics of its control flow can kill small animals and children under the age of six. < 1296589493 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The former have reference implementations in terms of the latter, I think. < 1296589494 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Yes, but it's just "technically optional procedure", no? < 1296589498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1296589516 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But call/cc is a "procedure" not a "library procedure". < 1296589526 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, sensibly. < 1296589563 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: The best thing about Scheme is that map can either be tail-recursive, work properly with call/cc, or only iterate through the list once -- pick two. < 1296589563 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"To aid in understanding and implementing Scheme, some features are marked as library. These can be easily implemented in terms of the other, primitive, features. They are redundant in the strict sense of the word, but they capture common patterns of usage, and are therefore provided as convenient abbreviations." < 1296589563 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what does dynamic-wind do? < 1296589581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: (dynamic-wind before f after) is the same as (f), except that: < 1296589581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :something that much more insane than call/cc sounds like something I should definitely learn about < 1296589587 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :- before f is called, before is called < 1296589589 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :- after f is called, after is called < 1296589594 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :- whenever control flow enters f, before is called < 1296589597 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :- whenever control flow exits f, after is called < 1296589606 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the latter two including by call-with-current-continuation < 1296589619 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: this is benign without call/cc, but with it, it's a gigantic headache < 1296589620 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :aha, I was wondering why that was insane, apart from the last bit < 1296589621 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Since I have the page open already for the earlier quote, let's have that too. < 1296589624 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :" * The dynamic extent is entered when execution of the body of the called procedure begins. < 1296589624 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : * The dynamic extent is also entered when execution is not within the dynamic extent and a continuation is invoked that was captured (using call-with-current-continuation) during the dynamic extent. < 1296589624 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : * It is exited when the called procedure returns. < 1296589624 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : * It is also exited when execution is within the dynamic extent and a continuation is invoked that was captured while not within the dynamic extent." < 1296589651 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://sisc-scheme.org/r5rs_pitfall.php < 1296589652 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[[Jeff Siskind points out that its possible to be both call/cc and tail recursive, but the example he cites uses reverse after processing the list. So map can be: < 1296589653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Tail-recursive < 1296589653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Resistant to call/cc interference < 1296589653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :O(1*n) < 1296589655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Pick two. In the above table, we've noted when a system is resistant to call/cc effects, and labeled systems that we know are tail recursive because the implementor has said so. Others in the list may be tail recursive.]] < 1296589665 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so basically, it installs event handlers for call/cc-based gotos into and out of the functions < 1296589669 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(O(1*n) is a horrible abuse of notation, but it's obvious what it means here) < 1296589674 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's such a... C way of thinking about it < 1296589693 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :SISC, btw, takes the call/cc and tail-recursive route, and thus map iterates over the list twice < 1296589697 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: indeed; slipping to a lower or higher level of abstraction often makes something easier to think about < 1296589700 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but then, SISC is rather anal about standards-compliance < 1296589701 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :So I can make a system tail-recursive simply by "saying so"?-) < 1296589702 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :even by Scheme standards < 1296589706 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: YEP! < 1296589719 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Looks like Scheme48's map isn't tail-recursive. :p < 1296589761 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, SISC isn't in Ubuntu? < 1296589773 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, it is in Natty < 1296589780 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'll steal the .deb >:) < 1296589816 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :At least dynamic-unwind forbids you from jumping into the before/after handlers by means of continuations captured while inside. < 1296589819 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is map supposed to be resistant to call/cc interference? < 1296589825 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: boring < 1296589838 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : is map supposed to be resistant to call/cc interference? < 1296589840 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :surely the correct semantics in such a case is to call the handler recursively? < 1296589841 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :every function is, pretty much < 1296589857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you should be able to call-with-current-continuation from anywhere, and call a continuation to anywhere < 1296589861 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and have it work < 1296589865 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: oh, you mean map doesn't act like a naive implementation of map would if you call/cc out of it, then back into it again later? < 1296589884 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: indeed < 1296589889 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1296589891 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :at least, that's my understanding of the situation < 1296589918 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :now I'm trying to figure out why going through the list twice would help < 1296589939 0 :Behold!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1296589993 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you reverse it at the end < 1296589999 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1296590001 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Jeff Siskind points out that its possible to be both call/cc and tail recursive, but the example he cites uses reverse after processing the list." < 1296590022 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :perhaps if you had both cons and anticons that consed in the other direction? < 1296590028 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :presumably, since SISC's map is both call/cc-worky and tail recursive, you could just look at its source to figure it out < 1296590030 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although that'd make pretty much every algo /but/ map insane < 1296590030 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that wouldn't work < 1296590039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Scheme's lists aren't linked like that < 1296590043 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :they're just singly linked < 1296590046 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because they're based on pairs < 1296590052 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, I mean still based on pairs < 1296590054 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, anticons cells would be backwards lists, presumably. < 1296590057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, right < 1296590062 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1296590065 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-r4rs (scheme-r4rs) in auto mode. < 1296590065 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-r5rs (scheme-r5rs) in auto mode. < 1296590065 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-srfi-0 (scheme-srfi-0) in auto mode. < 1296590065 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-srfi-7 (scheme-srfi-7) in auto mode. < 1296590067 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-srfi-55 (scheme-srfi-55) in auto mode. < 1296590070 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just cons is (head . tail) and uncons is (all-but-last . last) < 1296590070 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-ieee-1178-1900 (scheme-ieee-1178-1900) in auto mode. < 1296590075 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :scheme-ieee-1178-1900 < 1296590077 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ridiculousy < 1296590080 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*ridiculous < 1296590092 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, that's anticons, not uncons < 1296590098 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :uncons makes a list into a pair, presumably < 1296590109 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Unicons is (horse . horn). < 1296590120 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, interesting mental exercise: figure out in which languages Prolog's =.. is sane, and in which it's insane < 1296590128 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :heh, SISC actually has a .deb for it on its website < 1296590136 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :semantics of =.. are best described by example: [func, a, b] =.. func(a,b) < 1296590138 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what does =.. do again? < 1296590139 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1296590143 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and ofc as it's Prolog, it works both ways round < 1296590146 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: homoiconic languages < 1296590153 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, definitely sane in those < 1296590168 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it works fine in Lisps, too, =.. is just eval < 1296590192 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :C I'm having trouble with < 1296590207 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think it fails there, specifically due to the length of the list not being known in advance < 1296590216 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although you can do it for any known tuple just fine < 1296590227 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aargh, distributing source code as a .jar < 1296590233 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's worse than Hitler < 1296590236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hitler didn't even do that < 1296590262 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what if I distribute binary inside the same .jar? < 1296590274 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: aargh < 1296590274 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it seems like a really easy way to meet the GPL's distribute-source requirement < 1296590284 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's how I ship jettyplay, a binary+source jar < 1296590286 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Our AI course uses source-in-.jar, but that's just so that the people can return a single file (with binary classes for the competition system and sources for me) built by the default build system. < 1296590294 0 :impomatic!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296590301 0 :augur!~augur@129.2.129.32 JOIN :#esoteric < 1296590309 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: my Java course uses source-in-.zip < 1296590319 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :is the default build system ant? < 1296590344 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Do you actually look at the sources? < 1296590345 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Yes, I may have meant "default build file" there though. < 1296590353 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :poor souls < 1296590375 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :find | xargs javac is still my default build system < 1296590385 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Many (most?) don't even notice, since they use the also-provided Eclipse project that automagically takes care of invoking it. < 1296590399 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :when not using NetBeans (which I use mostly because we teach it and I need to know what I'm teaching, although it's pretty nice as Java IDEs go) < 1296590400 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(And even if they don't, it's just one command; they don't actually have to deal with Ant at all.) < 1296590422 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Ho-hum, well, really cursorily if at all, unless I have some sort of a reason. < 1296590423 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : find | xargs javac is still my default build system < 1296590423 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :if ant must be involved, that is certainly the best way to do it :) < 1296590429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :doesn't javac MyProgram.java work? < 1296590433 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and compile dependencies? < 1296590442 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I'm not sure < 1296590455 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I thought it only compiled dependencies if the .class files were entirely absent < 1296590503 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I do need to put some metainformation in the generated .jars and things like that. And at least it works for all the people who do things on a Windows/Eclipse platform, unlike, say, a Makefile. < 1296590520 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :checking the man page, it doesn't compile dependencies at all; if the .class file is absent for a dependency, it compiles the source enough to typecheck the rest of the program, but discards the resulting compiled info < 1296590531 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Did you take the course at some point and/or were you taking it now and/or did you actually already graduate and/or are you still in Otaniemi anyway? < 1296590538 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote Deewiant: Did you take the course at some point and/or were you taking it now and/or did you actually already graduate and/or are you still in Otaniemi anyway? < 1296590551 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, you never know. < 1296590552 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Now. < 1296590558 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :284) Deewiant: Did you take the course at some point and/or were you taking it now and/or did you actually already graduate and/or are you still in Otaniemi anyway? < 1296590568 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: that's a pretty ambiguous answer to a question that general < 1296590574 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Well, Friday's my annual "here's how you do the programming project" lecture. < 1296590575 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although not as bad as "yes" < 1296590582 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(I should probably update last year's slides.) < 1296590587 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so fizzie's going to be lecturing to Deewiant? < 1296590594 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Only if I'm going to be there. < 1296590598 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1296590605 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: surely you are, if there's a chance to meet fizzie? < 1296590616 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :He's seen me before, and the sight is not an impressive one. < 1296590621 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: they go to the same university, and they don't seem particularly EXCITED to meet < 1296590631 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I mean, if I discovered one of my lectures was going to be held by elliott, I'd definitely try to make sure I didn't miss it < 1296590633 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I was at fizzie's master's thesis presentation, but I don't think I've talked to him. < 1296590634 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Although maybe it's just SO EXCITING that they CAN'T PUT IT INTO WORDS. < 1296590637 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: haha < 1296590639 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I'll get to work on that < 1296590643 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I've seen him around the building every now and then. < 1296590650 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: do you think I could just go up and ask them to let me deliver a lecture? < 1296590653 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(other way round is rather more plausible, ofc) < 1296590661 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I've probably seen you too, but I still don't exactly recognize you. < 1296590668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Psht, don't be so sure of yourself! < 1296590677 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I once annoyed one of my lecturers into saying something along the lines of "if you're so smart, you take the lecture" as an undergraduate, and I responded by actually taking the lecture for about half a minute < 1296590685 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :until they realised I wasn't bluffing and told me to go and sit down again < 1296590691 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296590694 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that is amazing < 1296590713 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think I took it very /well/, but I still think it's hilarious < 1296590732 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I also ended up being the one who handles the "Machine Learning: Advanced Probabilistic Methods" course exercise sessions from next Friday on, but I guess that's not in your course schedule. < 1296590749 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Nope. < 1296590752 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You Finns, so lonesome. < 1296590758 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, what's the adjective form of "loner"? < 1296590771 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The course lecturer was all "oh but teaching is so nice, you should try it, do you want to give out one or two of the lectures too?" < 1296590795 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I was tempted to ask "if it's so nice, how come you don't want to do those by yourself?" < 1296590817 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: it is indeed "lonesome" < 1296590824 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or "lonely", if you prefer < 1296590828 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: doesn't really work, though < 1296590832 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although that probably has a slightly different meaning < 1296590834 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, what, a license block at the _end_ of a file? :) < 1296590868 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: would you like to take the Pixley Challenge? < 1296590888 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably not, but I lack sufficient information to make sure < 1296590888 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Do you people know eachother? < 1296590914 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :only via #esoteric < 1296590914 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: yes < 1296590918 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, we've been on the same IRC channel. < 1296590919 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(we may be using a different definition of "know") < 1296590927 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you get to know someone quite well after talking to them for over a year < 1296590928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is a pretty close community :P < 1296590930 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even if you never meet in person < 1296590933 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Know-in-real-life-know. < 1296590934 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1296590961 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The Finnish contigent has some real-life knowingship going on too, I guess. But not much. < 1296590972 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: The Pixley Challenge is one I invented, despite the name. < 1296591017 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not actually sure what Pixley is < 1296591033 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: The challenge is: Invent a (Turing-complete) language specifically designed to make a (non-cheating) self-interpreter as small/short as possible, while also making non-self-interpreters short (i.e. you can't make the most expressive language in the world that it can interpret itself in five lines, because e.g. a Scheme, Haskell or C implementation of it would take hundreds of thousands of lines) < 1296591048 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Pixley is Chris Pressey's very-stripped-down Scheme subset: http://catseye.tc/projects/pixley/doc/website_pixley.html < 1296591053 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The self-interpreter is: < 1296591054 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://catseye.tc/projects/pixley/src/pixley.pix < 1296591059 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(and this also functions as a Scheme interpreter of the language.) < 1296591070 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :He implemented (at least most of) it in C and it was rpetty short. < 1296591071 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*pretty < 1296591075 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But that self-interpreter is very small, of course. < 1296591075 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I take it the Underload self-interp doesn't count? < 1296591093 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that counts as cheating :) < 1296591094 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, the question of which non-TC-langs can self-interp without cheating is also pretty interesting < 1296591108 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And that Pixley interpreter I wrote isn't metacircular in an important way < 1296591112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it implements car/cdr/etc. itself < 1296591113 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, sounds fun. < 1296591114 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :rather than relying on the host system < 1296591118 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which, I think, should count as a requirement < 1296591130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(it represents lists as Pixley/Scheme lists and functions as Pixley/Scheme functions, though, which is metacircular and also fine) < 1296591135 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: well, in a sense, Feather's all about being metacircular wrt everything < 1296591139 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(but relying on your host to implement the actual primitives is cheating) < 1296591147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, the idea is to invent a new language to do it :) < 1296591156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Choosing a subset of another language, like Pixley, is of course allowed. < 1296591161 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: it is; it's quite difficult, though < 1296591178 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I made a different Scheme subset with a self-interpreter shorter than Pixley's, but then I realised the self-interpreter didn't do recursion < 1296591182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and it'd be very hard to make it allow recursion < 1296591183 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so I gave up < 1296591192 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(the interpreter itself was recursive) < 1296591212 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: remember your lang dei? < 1296591228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: underload sans ()? < 1296591229 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes, i do < 1296591230 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think I'd start with something similar to that, and then add some reasonably rich I/O primitives < 1296591243 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: dei needs an actual unputchar to do IO < 1296591247 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, sanely < 1296591248 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, change the commands to numbers < 1296591276 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm assuming the I/O's allowed to be metacircular? < 1296591286 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, of course... but I'd recommend not having IO at all < 1296591295 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how else would I read in the input program without cheating? < 1296591296 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's perfectly OK if your interpreter takes the program as an argument < 1296591301 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :like http://catseye.tc/projects/pixley/src/pixley.pix does < 1296591306 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in fact, depending on your language, it's OK to take it pre-parsed < 1296591313 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, well the problem is how to represent the argument < 1296591322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :e.g., writing a Pixley reader is no great feat at all, and Lisp EVALs always take an object, not a string < 1296591326 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so the Pixley interpreter takes an object, too < 1296591329 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: This year I'm going to be feeding the tournament match results in real time into the course IRC channel. (Well, probably, anyway. Assuming I can find any place to run the tournament on.) < 1296591339 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: this IRC channel too, please! < 1296591340 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :into #esoteric-blah too? < 1296591349 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :naw, plain #esoteric, this channel's activity has been declining rapidly < 1296591352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :thanks to Minecraft < 1296591355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I love the way I had the same idea but automatically picked the spam channel < 1296591361 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1296591368 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Just use Triton < 1296591392 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: can *I* enter?!?!?! < 1296591426 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Presumably yes < 1296591453 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i thought it was finn-only < 1296591471 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure there are non-Finns taking the course < 1296591490 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, hilarious semi-trolling idea: look for random universities that teach programming-related courses, and happen to hold a competition for whatever reason < 1296591502 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and have the rules online without being behind a password wall < 1296591513 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: It feels so frivolous. And my existing scripts won't work with slurm. :/ < 1296591516 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then submit entries yourself despite not being on the course (email to the person in charge of the course would do) < 1296591530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: i'm not taking the course :P < 1296591544 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: What the fuck are you talking about. < 1296591548 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : fizzie: Just use Triton Deewiant: It feels so frivolous. And my existing scripts won't work with slurm. :/ < 1296591552 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You can always just flunk out after the competition. < 1296591564 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Triton's one of our clusters, running on the SLURM job manager thing. < 1296591579 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :O KAY < 1296591593 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Remind me where you ran them previously; just around the CS building? < 1296591600 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, people are doing Actual Research(tm) on Triton, I'd feel pretty silly queuing in ~1400 CPU-hours of student-made boardgame bots playing against each other. < 1296591611 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :1400 CPU-hours is nothing < 1296591621 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296591628 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie is so afraid of things. < 1296591629 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what about running them all on one GPU? < 1296591629 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :That's like two bug fixes for me < 1296591635 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :() < 1296591648 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Triton itself doesn't have more than ~1400 cores, that's like taking over the whole thing for an hour. < 1296591655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : I'm not sure if I should kick these 20 viagra spammer bots from #esoteric, I'm scared of power. < 1296591666 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Are you _sure_ I can run "ls" on the university servers? They might crash or something. < 1296591668 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I ran them at one of HUT-CC's classrooms (once at Maari, once at the main building), but now that they've gone all WaveU, the workstations are no longer reachable. < 1296591681 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Right, so your scripts don't work anyway. :-P < 1296591684 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: well, I was very confused yesterday when I tried to run ls and found it didn't work < 1296591692 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then I tried to cd to my home dir, and found I didn't have permission < 1296591696 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: THAT'S LIKE A NIGHTMARE < 1296591705 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: did you fix it with only shell builtins? please say yse < 1296591708 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*yes < 1296591708 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then I found that I didn't have permission to open any programs either, also the taskbar crashed < 1296591713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, shells should come with gcc built-in, just in case < 1296591717 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: But you know, you don't need to take over the whole thing for an hour, you can take over a part of it for 24 hours or whatever. < 1296591717 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually I didn't fix it at all, it magically fixed itself after a while < 1296591718 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: They work on anything that I can SSH into if I just list the hostnames. The HUT-CC folks told me to run everything on kosh, but that's just a single (if a rather beefy) machine. < 1296591726 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: *pcc? < 1296591735 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's much lighter-weight, and you hardly need optimisation in that situation < 1296591737 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, gcc! what if the only way to chmod you know of is gcc-specific? < 1296591743 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: also, might as well go all the way, tcc < 1296591747 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but even a C compiler wouldn't help if you couldn't write the output files anyway < 1296591752 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :tcc is actually reasonably embeddable... < 1296591761 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: pipe to an fd? < 1296591766 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i guess executing an fd might be hard < 1296591768 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, that might work < 1296591773 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Also the real-time reporting works much better with the current system that reads the player-made moves in real time via the SSH connection; polling for NFS-shared files is ugly, as would be some custom cluster-node initiated networking. (Can you even get out from there anywhere?) < 1296591782 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I didn't have r, w, or x to anything on the system, nor did anyone else < 1296591787 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I was trying to mark code at the time < 1296591794 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think it was an /actual/ chmod -R 000 < 1296591798 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :#esoteric task of the day: assume you can enter machine code into a shell; how can you run a program if you can't write to the fs at all? < 1296591800 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :including /tmp < 1296591801 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it was something that had similar effects < 1296591804 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and can't mount any filesystems iether < 1296591805 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You'd have to go via the frontend, I think. < 1296591806 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*either < 1296591826 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: just run it on my laptop, i don't mind! < 1296591837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it'll only take five yeras < 1296591838 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*years < 1296591869 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Assuming Linux, does something like /lib/ld-linux* <(cat) count < 1296591874 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I could ask about the CS building computer classes (or is that class now, is there anything else left than Paniikki?) but those are some pretty unreliable machines. < 1296591880 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: yep < 1296591885 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: except no < 1296591889 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because that's not +x < 1296591898 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and nor, I doubt, is <(cat) < 1296591906 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :/lib/ld-linux* is +x < 1296591909 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :<(cat) might not be < 1296591913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(I'm not sure <() would even be able to write the file, although I suppose /dev/fd is probably always writable like that) < 1296591917 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : /lib/ld-linux* is +x < 1296591918 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no, it's not < 1296591926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you don't have read, write, or execute permissions < 1296591951 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You didn't say that. < 1296591972 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well, poo. :p < 1296592025 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Can you write over /proc/self/mem in general? The proc man page seems to suggest it's read-only. < 1296592038 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Researchers' workstations are the typical ad-hoc cluster, I suppose. < 1296592090 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Maybe, but it's a CS department's course, not ICS, so I can't use ours. Maybe I should speak to some of the CS people, in fact. < 1296592092 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :/proc//mem is not writable for any process. < 1296592109 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: just write a worm that travels across the university network and uses everybody's machine for small amounts of computation < 1296592113 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's like a gigantic cluster that's all yours < 1296592188 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :IIRC, unless compiled with special option, the write code for /proc//mem files always returns an error. < 1296592224 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The proc man page here says open, read and lseek are the only valid things you can do on it. < 1296593361 0 :pumpkin!~pumpkin@unaffiliated/pumpkingod JOIN :#esoteric < 1296593568 0 :copumpkin!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296593798 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Was it mooz who was commenting on Slaves to Armok: God of Blood, Chapter I all those years back? < 1296593810 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Was it actually any good? :p < 1296593835 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It was mooz; and I think that depends on "good". < 1296593847 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Certainly it wasn't "good" as in "good game", but it was... an experience, I gather. < 1296593853 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://4.bp.blogspot.com/_qrfMkVoq9DA/TEXhav_6RQI/AAAAAAAAABs/tdUY1rlzbp0/s1600/armokky.jpg ;; is this a screenshot? < 1296593865 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It looks familiar, yes. < 1296593866 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :From the looks of it it might not be worth playing even if you're a Dwarf Fortress fan. :p < 1296593871 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is chapter III going to happen ever, or have people just decided that Dwarf Fortress is the only interesting game in the series? < 1296593884 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: where on earth can you go from dwarf fortress? < 1296593895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it's not so much a dead end, as an infinite corridor < 1296593898 0 :Tritonio!~TrT@188.4.86.54.dsl.dyn.forthnet.gr JOIN :#esoteric < 1296593899 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :make III as much better than II as II is better from I! < 1296593911 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I ask again: where on earth can you go from Dwarf Fortress? < 1296593914 0 :ais523!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296593935 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :he just couldn't take the question < 1296593942 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1296593942 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It was too much. < 1296593943 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, it would likely be a completely different genre < 1296593946 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :* ais523 has quit (Read error: Connection reset by peer) < 1296593946 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : he just couldn't take the question < 1296593946 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : It was too much. < 1296593974 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :let's see... it would be a simulator of the entire universe that used the actual laws of physics < 1296593979 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(note: powerful computer needed) < 1296594000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: powerful? understatement :P < 1296594002 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and would let you simulate alternate historical paths of the actual universe < 1296594005 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and possibly not even possible < 1296594008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if you mean quantuuum < 1296594017 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'm trying to make a comment on Dwarf Fortress' astonishing CPU usage < 1296594020 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and how to scale that up further < 1296594028 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and would contain dwarves, of course < 1296594029 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: make it four-dimensional < 1296594035 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why? Chapter I didn't < 1296594050 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, the world should be 4D, displayed as 1D < 1296594054 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :since DF is 3D as 2D < 1296594058 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: each chapter so far has added more dwarves < 1296594063 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1296594069 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Hee, there's one of those fancy Hilbert curve internet address maps at http://www.renesys.com/blog/2011/02/egypt-a-hole-in-the-internet.shtml -- the man page for the picture-making program (ipv4-heatmap) lists "BUGS: Can't draw IPv6 address maps". Those would be some pretty empty maps. < 1296594078 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in fact, the entire game's interface should be perfectly possible to work from an actual teletype typewriter < 1296594085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :without colour, or more than printable ASCII < 1296594091 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :with linear, line-based input < 1296594100 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(ofc, you'd need it to be hooked up to a supercomputer still) < 1296594103 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :isn't that just a text adventure? < 1296594118 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, as I said, the 1D, wrapped output would show you part of a four-dimensional universe < 1296594131 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: heh < 1296594179 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, you clearly wouldn't be able to tell dwarves what to do, you would instead have to tweak the environment so that the dwarves independently decided what to do < 1296594191 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :indeed < 1296594194 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, I think you'd be a politician < 1296594199 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :trying to get the dwarves to vote for you < 1296594204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :since chapter I was direct-control hack 'n slash, and chapter II is ordering-dwarves-based control [indescribable], clearly chapter III is completely indirect control < 1296594207 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's far too concrete < 1296594216 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and they'd be staging epic RPG-ish wars in order to get the right to vote for oyu < 1296594217 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you should just be able to, say, put water into the atmosphere < 1296594217 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*you < 1296594218 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :to try and cause rain < 1296594221 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which will upset the dwarves < 1296594223 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, that's too direct too < 1296594226 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :causing them to try and go away from the rain < 1296594227 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is far underground < 1296594229 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and thus they'll mine < 1296594234 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : and they'd be staging epic RPG-ish wars in order to get the right to vote for oyu < 1296594236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ooh, even better: < 1296594241 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you're a politician in an _entirely unrelated land_ < 1296594246 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep, I like that one < 1296594255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and you have to keep being voted in by the people of that land, but use your powers to ascend to higher levels of power, < 1296594259 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :meaning you can do things like cause wars, < 1296594264 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which affect the weather because of the weapons used, < 1296594270 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which makes the dwarves decide to do things based on their AI < 1296594272 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1296594272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296594274 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is the best game ever < 1296594287 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and there's no real win condition /or/ lose condition < 1296594288 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :who wants to implement it? < 1296594300 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: indeed, if all the dwarves die, you can keep going if you want < 1296594302 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but getting anything you wanted to happen at all is a good enough accomplishment to start off < 1296594302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just, it'll be rather pointless < 1296594312 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can wait for more dwarves to evolve < 1296594330 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :either that, or just fill half the world's population with dwarves < 1296594340 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and let the player decide which small subset of dwarves to focus on < 1296594346 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(not in the game interface, just in their head0 < 1296594347 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*) < 1296594362 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is the best :D < 1296594371 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: better: have all species be procedurally generated < 1296594385 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but if the world ends up to have no species that are sufficiently Dwarf-like, automatically throw away the world and start again < 1296594398 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :got it! < 1296594400 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this means that the simplest world generation would take about 6 months on a normal computer < 1296594405 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: who has, me? < 1296594408 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1296594436 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: also, the world should be simulated for about a million years, not the piddly hundred-or-so DF does < 1296594461 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :alternatively, simulate it for arbitrarily many years backwards, lazily < 1296594473 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the theory is, that after a certain point, history won't have any observable direct effects on the world < 1296594478 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you just generate more as they become relevant < 1296594480 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's not in the DF spirit! < 1296594484 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :world generation should be insanely precise! < 1296594487 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and INTENSIVE < 1296594493 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ah, perhaps < 1296594502 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm, and the names of the chapters have been increasing steadily < 1296594508 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :therefore, chapter III needs to be called something like < 1296594543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Slaves to Armok: God of Blood, Chapter III: Some Name, Part I: Some Other Name < 1296594550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(I'm not sure what comes after Part; Paragraph?) < 1296594566 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :part's actually more major than chapter < 1296594568 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :section is less major < 1296594573 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then subsection, subsubsection < 1296594574 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah, indeed < 1296594579 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You seem to go by the LaTeX terminology. :p < 1296594581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(/latex) < 1296594594 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And paragraph does come after subsubsection; then subparagraph. < 1296594599 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: due to a hilarious misclick on my touchpad, I managed to write the /latex in this channel, and the parens in another < 1296594610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :mostly hilarious due to the timing < 1296594612 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and then had to go and fix < 1296594626 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so #unnethack is wondering why I said () for no apparent reason < 1296594633 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :are they actually wondering? < 1296594639 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, not out loud < 1296594642 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but possibly privately < 1296594645 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :While /latex did not turn this channel into LaTeX mode? < 1296594652 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: that would be \latex < 1296594653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: indeed, in #unnethack-behind-ais523s-back < 1296594666 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that's not what I meant! < 1296594679 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wow, that channel actually exists, and ais523 is banned from it! < 1296594686 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(although it would be hilarious if that channel existed, and more so if it were actually used; I can't check, though, because it would defeat the point) < 1296594696 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i'm not kidding, try and join it < 1296594701 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you just created it, most likely < 1296594712 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :psht, so suspicious < 1296594717 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :[Notice] -ChanServ- Channel #unnethack-behind-ais523s-back is not registered. < 1296594731 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: would _you_ register a channel like that? < 1296594761 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :obviously not, then it wouldn't be behind my back < 1296594835 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I really want to play Chapter III now... < 1296594856 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Once I tried to convince someone that a (nonstandard, Finnish) word was a real word; for some reason they weren't convinced by my "look, according to the Internet it's a real word" argument of: echo '

[word] is a real word!

' > tmp.html && firefox file:///home/fis/tmp.html < 1296594858 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it'd be awesome if the vast majority of the computation was simulating all the _non-Dwarf_ civilisations, incredibly realistically < 1296594862 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps I should have hidden the location bar. < 1296594865 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because those are the ones you have to control < 1296594933 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately, almost by definition, you wouldn't be able to run it if it were implemented, nor would anyone else < 1296594957 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system." 2011 surely is the year of Linux on the desktop, since the problem troubleshooting already is of the "restart your system" variety. < 1296594960 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, I wasn't thinking of it as quantum-physicsy any more < 1296594967 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even so < 1296594976 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :millions of years of history would take a while < 1296594984 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as would simulating effects that indirect < 1296594991 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :this should so let you play as a butterfly :) < 1296595004 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: it says that on Windows too < 1296595017 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, no suggestion of 'killall -9 firefox'? < 1296595021 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :normally, waiting a couple of minutes works, although oddly that isn't listed as one of the solutions < 1296595031 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Well, yes, therefore logically the market shares should be equal. QED. < 1296595039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, DF can simulate 100 years in about a minute on my machine < 1296595044 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ais523, I'm guessing it's syncing it's configuration, etc to disk. < 1296595049 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :admittedly, of a medium-sized map < 1296595061 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: yep, it'll be something like that < 1296595064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so 1000 years should take about 15 minutes, say < 1296595069 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1296595078 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and I do believe this is pre-optimization. < 1296595079 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, have you *looked* at DF's history? < 1296595083 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's not all that complex. < 1296595092 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Fun fact: DF is compiled with symbol information. < 1296595094 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: it would be in StA III! < 1296595096 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so, 1000 * 15 minutes = 10 and a half days < 1296595100 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :StA? < 1296595105 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :In theory you could recover the source to an decent degree. < 1296595106 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=D < 1296595107 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Slaves to Armok < 1296595108 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Slaves to Armok: God of Blood, Chapter < 1296595111 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :to expand what ais523 meant by it there < 1296595114 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: not really < 1296595116 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :disassembling C is non-trviail < 1296595128 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: does it have line number info too? < 1296595131 0 :cheater-!unknown@unknown.invalid PRIVMSG #esoteric :hex rays < 1296595132 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that'd help break the statements apart < 1296595133 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ais523, dunno. < 1296595135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: so, I bet you could simulate something reasonably close to StA III for a million years in less than a real-world month < 1296595150 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: easy way to check is to open it in a debugger and try to set a breakpoint by line number < 1296595158 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Good idea. < 1296595159 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1296595162 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Would gdb do? < 1296595167 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1296595180 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://en.wikipedia.org/wiki/Wikipedia:Millionth_topic_pool#Video_games < 1296595182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: "Dwarf Fortress by Bay 12 Games - will be out by then. Grue 12:56, 25 Mar 2005 (UTC)" < 1296595187 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(DF was developed from 2002 to 2006 before being released) < 1296595207 0 :Behold!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1296595216 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh, [[Confirmed release date of Duke Nukem Forever]] is also on that list < 1296595217 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it has one now < 1296595225 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Reading symbols from C:\Users\hiedanoakyu\games\df_31_12_win/dwarfort.exe...(no < 1296595226 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :debugging symbols found)...done. < 1296595226 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Eh? < 1296595228 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I forget the exact date, but it's a specific day of mid-2011 < 1296595237 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: how confusing < 1296595246 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe it has debug symbols, but not in a format gdb understands < 1296595250 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or perhaps it means something esle < 1296595251 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*else < 1296595256 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :I recall seeing function names in it's binary at least. < 1296595258 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[[That's wrong. It was released a long time before Dwarf Fortress (I know, I played it back then.) You can find it here. It never really reached the point of being a fully stable, playable game (you could wander around and kill things, basically, just like a primitive but crude-3D-graphical version of the Adventurer mode in Dwarf Fortress currently), but it went through several releases and collected user feedback that later influenced Dwarf Fort < 1296595258 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ress to an extent. --Aquillion (talk) 06:04, 20 August 2009 (UTC)]] < 1296595270 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :And they're names that should be unique to DF. < 1296595271 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Lymia: you'd have a lot better chance on Linux... < 1296595286 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ? < 1296595289 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Function names could be just __func__ strings used for error messages. < 1296595295 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :try it on the linux DF binary instead. < 1296595298 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Ah. < 1296595305 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :Good idea. < 1296595306 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :=p < 1296595306 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I might, actually < 1296595322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Reading symbols from /home/elliott/df_linux/libs/Dwarf_Fortress...(no debugging symbols found)...done. < 1296595323 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1296595344 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so we'd have to guess what format the symbols are in < 1296595350 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I imagine fizzie is right. < 1296595355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, perhaps they aren't debug symbols, but asserts? < 1296595359 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, fizzie said that already < 1296595361 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[[Slaves to Armok II: Dwarf Fortress → Dwarf Fortress — The current title is wrong, and no one ever uses the ridiculously long full title. 155.33.172.164 (talk) 22:54, 3 October 2010 (UTC)]] < 1296595362 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :LAME < 1296595375 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I should propose a move to [[Slaves to Armok: God of Blood, Chapter II: Dwarf Fortress]] < 1296595418 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :now I'm seeing how many of those exist as a non-stub, non-redirect < 1296595436 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wow, DF's fluid simulation is a CA < 1296595440 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :[[Snakes on a Train]] is the first one on the list < 1296595447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ais523: how many of what? < 1296595450 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1296595455 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and [[The Last Dangerous Visions]] the second < 1296595462 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :millionth topic pool < 1296595481 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, a couple which were serious articles that hadn't been written, like [[Ringworm]] < 1296595501 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :What *was* the millionth article? < 1296595506 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :JORDANHILL RAILWAY STATION < 1296595514 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh, [[Military history of Oceania]] < 1296595518 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :THE ONLY RAILWAY STATION THAT MATTERS < 1296595524 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Jordanhill_railway_station < 1296595528 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :now an entirely serious article < 1296595533 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that article is so ridiculously huge < 1296595540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :GOD BLESS JORDANHILL < 1296595566 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, someone made a sensible attempt to win: searching for the most common name for a school that didn't yet have an article < 1296595576 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :coming up with [[St. Mary's School]], which is indeed now a bluelink < 1296595587 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1296595604 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The Linux binary of Dwarf Fortress seems to contain some DWARF debugging data (how appropriate!), but only the .eh_frame things required for runtime call-unwinding by exception handlers. < 1296595619 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The summer before I went to grad school, though, we restarted the fantasy project. This time, it was called Slaves to Armok: God of Blood, named after Armok, the god from dragslay. Armok himself was named after "arm_ok", a variable that counts the number of arms you have left, for inventory purposes. This was a 2D project in a somewhat-isometric view, where you walked around a cave with a bunch of goblins in loincloths. It was entertaining, but s < 1296595619 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hort-lived. < 1296595621 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :So it's a bit arguable if that can even be called debugging data. < 1296595632 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also amusing: [[Tantalum telluride]], mostly amusing because it was User:TantalumTelluride who suggested it < 1296595640 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :commenting that it's interesting as to whether it would be kept < 1296595643 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :number of arms you have left, amazing < 1296595646 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it seems it was created, and is still blue < 1296595660 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :My user name is derived from the chemical compound tantalum telluride, which was not notable enough to be the subject of a Wikipedia article when I joined the project. Wikipedia editor Nightstallion eventually created an article about tantalum telluride on 10 March 2006. Feel free to edit or expand it within the bounds of Wikipedia policy and guidelines. < 1296595673 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and User:TantalumTelluride has never edited it, presumably due to conflict of interest < 1296595682 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Also the Linux executable of DWARF fortress is an ELF file, eh-eeh-eh. < 1296595723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to figure out whether Liberal Crime Squad is a joke at the expense of liberals or conservatives < 1296595727 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[[Welcome to Liberal Crime Squad! The Conservatives have taken the Executive, Legislative, and Judicial branches of government. Over time, the Liberal laws of this nation will erode and turn the country into a BACKWOODS YET CORPORATE NIGHTMARE. To prevent this from happening, the Liberal Crime Squad was established. The mood of the country is shifting, and we need to turn things around. Go out on the streets and indoctrinate Conservative automato < 1296595727 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ns. That is, let them see their True Liberal Nature. Then arm them and send them forth to Stop Evil. Eventually the public will fall behind us, and we will put more Elite Liberals in government.]] < 1296595736 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[["Hello. If you have not already guessed, I am with the Liberal Crime Squad. Welcome! You are here, so you are willing to fight the rampant conservatism that is gripping America like a big rampant America-gripping device." < 1296595736 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Well… I'm not sure." < 1296595736 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Yes, you are! You are Liberal in your heart. All people are Liberals at heart. It is part of your True Liberal Nature." < 1296595736 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"But there are so many political groups out there. What does the Liberal Crime Squad stand for?" < 1296595737 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Everything! We stand for everything that is good and pure in America! This is what you must know…" < 1296595737 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm, not too many are bluelinked, not dismissing obvious "joke" submissions (that is, submissions that are clearly serious rather than jokes, and thus shouldn't count for the poll) < 1296595738 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://lcs.wikidot.com/liberalism]] < 1296595748 0 :Tritonio!unknown@unknown.invalid QUIT :Quit: Leaving < 1296595818 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh, *wonderful*. < 1296595819 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :To quote Bored of the Rings, on the topic of Linux executable and debugging information formats: "And since that day it's said by all / In ballad, lay and poem / 'Only trust an elf or dwarf / As far as you can throw 'em!'" < 1296595846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: I honestly can't figure out whether it's a liberal making a joke out of jokes at the expense of liberals, or a conservative making a joke at the expense of liberals. < 1296595849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(It's another Bay 12 game.) < 1296595858 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Reality: oppose < 1296595874 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Anti-American Hate Groups: support (for their free speech) < 1296595883 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : Phantom_Hoover: I honestly can't figure out whether it's a liberal making a joke out of jokes at the expense of liberals, or a conservative making a joke at the expense of liberals. < 1296595883 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : (It's another Bay 12 game.) < 1296595886 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I can't see a tongue-in-cheek liberal writing that. < 1296595899 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the scary thing is, from the point of view of the US, more or less the entire world is full of liberals < 1296595910 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :who are also socialists < 1296595933 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: I can < 1296595940 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in that it's a parody of the kind of things American conservatives actually say < 1296595944 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ais523, naw, the really scary thing is that Obama would be right-wing by Tory standards. < 1296595958 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e., if I was parodying Bill O'Reilly or Glenn Beck or someone, I would definitely write "Reality: OPPOSE". < 1296595961 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well, that's getting into meta-parody, which is rather sh < 1296595965 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :*shaky < 1296595966 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's rather sh indeed. < 1296595971 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think he still manages to be left-wing by BNP standards, though, so at least there's /some/ overlap < 1296595986 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www.bay12games.com/lcs/, anyway < 1296596100 0 :Lymia!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gives elliott a random hug < 1296596107 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :O KAY < 1296596830 0 :Behold!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1296596865 0 :Mathnerd314!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296596882 0 :pikhq_!unknown@unknown.invalid PRIVMSG #esoteric :Fuck this shit. < 1296596884 0 :pikhq_!unknown@unknown.invalid NICK :pikhq < 1296596892 0 :Mathnerd314_!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1296596993 0 :Mathnerd314_!unknown@unknown.invalid NICK :Mathnerd314 < 1296597021 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296597106 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: ? < 1296597451 0 :ais523!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1296597471 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1296597530 0 :MigoMipo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296597607 0 :poiuy_qwert!~poiuy_qwe@CPE001f5b00390f-CM001225d878d0.cpe.net.cable.rogers.com JOIN :#esoteric < 1296597811 0 :Slereah!unknown@unknown.invalid QUIT :Ping timeout: 272 seconds < 1296597907 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Ping timeout: 250 seconds < 1296597930 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, what happened? < 1296598160 0 :Slereah!x@ANantes-259-1-49-88.w92-135.abo.wanadoo.fr JOIN :#esoteric < 1296598329 0 :ais523!unknown@unknown.invalid QUIT : < 1296598345 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1296598866 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's SOFUCKINGCOLD < 1296598930 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, how cold? < 1296598959 0 :pumpkin!unknown@unknown.invalid PRIVMSG #esoteric :e lucevan le stelle! < 1296598967 0 :pumpkin!unknown@unknown.invalid PRIVMSG #esoteric :ed olezzava la terra < 1296599012 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Earlier today, it was about -28°C (-19°F). Now, it's about -22°C (-9°F). < 1296599034 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I'm British. I don't understand Fahrenheit at all, so you don't need to cite it. < 1296599039 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And that is effing cold. < 1296599054 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :We locked up at about -5. < 1296599062 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm American. Offering Celsius was a courtesy. < 1296599089 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :WHY WOULD YOU USE A SYSTEM WHICH IS FIXED AT SUCH STUPID POINTS < 1296599119 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :NOÖNE EVEN KNOWS WHAT 100°F ACTUALLY WAS < 1296599140 0 :pumpkin!unknown@unknown.invalid PRIVMSG #esoteric :I want a system where water boils at 256 degrees < 1296599150 0 :pumpkin!unknown@unknown.invalid PRIVMSG #esoteric :and absolute 0 is 0 < 1296599166 0 :pumpkin!unknown@unknown.invalid PRIVMSG #esoteric :furthermore, the standard notation for it should be in hex < 1296599183 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*absolute 0 is 0.0000037489894 < 1296599187 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::trollface: < 1296599194 0 :pumpkin!unknown@unknown.invalid PRIVMSG #esoteric :ff.1e is almost boiling < 1296599223 0 :pumpkin!unknown@unknown.invalid PRIVMSG #esoteric :oh, and furthermore, it should be nonlinear < 1296599233 0 :pumpkin!unknown@unknown.invalid PRIVMSG #esoteric :so I want water to freeze at 128 degrees < 1296599234 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: 100 F was meant to be body temperature < 1296599241 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, look, it'll be *above freezing* by Friday. < 1296599241 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and 0F was meant to be the freezing point of saturated salt water < 1296599249 0 :pumpkin!unknown@unknown.invalid PRIVMSG #esoteric :ais523: wow, a really smart, constant base to go by < 1296599251 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :they're two temperatures which would have been easy to determine with the equipment at the time < 1296599260 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although 100F turned out to be not too reliable < 1296599272 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(0F is easier to measure than 0C, because saturating water is easier than purifying it) < 1296599676 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION → sleep < 1296599712 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"In some countries, both systems are fairly prominent[weasel words], if not used equally.[citation needed]" < 1296599719 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, my, WEASEL WORDS. < 1296599755 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :"fairly" isn't very accurate < 1296599925 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1296600284 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1296600470 0 :Mathnerd314!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1296600802 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1296600887 0 :Behold!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1296601975 0 :oerjan!oerjan@tyrell.nvg.ntnu.no JOIN :#esoteric < 1296602141 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : A lot of people here are, they've just been quiet lately. < 1296602162 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i'm usually too lazy to read all of it unless it's short < 1296602171 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296602204 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually that's not laziness, even i have to do _some_ prioritization < 1296602229 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can I learn ATS without learning SML first? < 1296602248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :really? < 1296602275 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : It's the middle of the day for like 2 billion people < 1296602278 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It's just, I saw something comparing the syntax of ATS with the syntax of SML < 1296602291 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :afaik we don't have any indians or chinese here, though < 1296602334 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm wait that was during european day wasn't it < 1296602339 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hah. I like ATS's infixl/infixr better than Haskell's < 1296602356 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: what's the difference? < 1296602366 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :We can also use the following syntax to declare that iadd, fadd, padd and uadd are left-associative infix operators with a precedence value equal to that of the operator +: < 1296602366 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :infixl (+) iadd fadd padd uadd < 1296602382 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :According to my timestamps, that was said at 12:48 Finnish time, so it would mean midday CET. < 1296602421 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: WELL WHY WOULD YOU EXPECT ANYONE TO BE ON THE CHANNEL _THEN_? < 1296602469 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :dinner --> < 1296602576 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl \n -> fix (\me m -> if m+1 == n then m else me (m+1)) 0 < 1296602577 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :flip fix 0 . (. (. (1 +))) . ap . join . (if' .) . (. (1 +)) . (==) < 1296602583 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> (flip fix 0 . (. (. (1 +))) . ap . join . (if' .) . (. (1 +)) . (==)) 3 < 1296602584 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Not in scope: `if'' < 1296602621 0 :pumpkin!unknown@unknown.invalid QUIT :Quit: Computer has gone to sleep. < 1296602627 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@let < 1296602628 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Defined. < 1296602633 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@let if' x y z = if x then y else z < 1296602633 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Defined. < 1296602634 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> (flip fix 0 . (. (. (1 +))) . ap . join . (if' .) . (. (1 +)) . (==)) 3 < 1296602636 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 2 < 1296602638 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> (flip fix 0 . (. (. (1 +))) . ap . join . (if' .) . (. (1 +)) . (==)) 0 < 1296602642 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : mueval-core: Time limit exceeded < 1296602669 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl \n -> fix (\me m -> if m+1 == n then 0 else 1+(me (m+1))) 0 < 1296602670 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :flip fix 0 . (. (((1 +) .) . (. (1 +)))) . ap . flip flip 0 . (if' .) . (. (1 +)) . (==) < 1296602674 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> (\n -> fix (\me m -> if m+1 == n then 0 else 1+(me (m+1))) 0) 3 < 1296602675 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 2 < 1296602682 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1296602766 0 :FireFly!unknown@unknown.invalid QUIT :Quit: swatted to death < 1296603175 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let pred 1 = 0; pred (n+1) = 1 + pred n in pred 10 < 1296603176 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : : Parse error in pattern < 1296603181 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is there anything special about pure nonterrminating functions in ATS, or is it only pure terminating that are special? < 1296603190 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let pred 1 = 0; pred n | n > 0 = 1 + pred (n-1) in pred 10 < 1296603191 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : 9 < 1296603193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let pred 1 = 0; pred n | n > 0 = 1 + pred (n-1) in pred 0 < 1296603194 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : *Exception: :3:4-46: Non-exhaustive patterns in function pred < 1296603200 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@let data X < 1296603200 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : EmptyDataDecls is not enabled < 1296603209 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@let data Nat = Z | S Nat < 1296603209 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Invalid declaration < 1296603216 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: wat. < 1296603300 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Dear ATS website: Fuck you < 1296603300 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://www.ats-lang.org/TUTORIAL/contents/types-with-effects.dats < 1296603314 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. SourceForge. < 1296603363 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: lambdabot does not support data declarations. < 1296603376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: but EmptyDataDecls is not enabled < 1296603376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1296603429 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well it probably uses a generic parser first before checking what's actually _in_ the result. i suspect. < 1296603441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@env < 1296603441 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Maybe you meant: v wn < 1296603443 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@djinn-env < 1296603443 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :data () = () < 1296603443 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :data Either a b = Left a | Right b < 1296603443 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :data Maybe a = Nothing | Just a < 1296603443 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :data Bool = False | True < 1296603444 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :data Void < 1296603446 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :type Not x = x -> Void < 1296603448 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :class Monad m where return :: a -> m a; (>>=) :: m a -> (a -> m b) -> m b < 1296603450 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :class Eq a where (==) :: a -> a -> Bool < 1296603451 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :data Twice a = Two a a < 1296603452 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> (\x -> undefined) :: Not a < 1296603453 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :type Classical x = Not (Not x) < 1296603455 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : Not in scope: type constructor or class `Not' < 1296603457 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :type NotNot x = Not (Not x) < 1296603465 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::< < 1296603469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :are nats like that in any library> < 1296603470 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*library? < 1296603474 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@hoogle Nat < 1296603474 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Text.Parsec.Token natural :: GenTokenParser s u m -> ParsecT s u m Integer < 1296603474 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Text.ParserCombinators.Parsec.Token natural :: GenTokenParser s u m -> ParsecT s u m Integer < 1296603474 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Text.Parsec.Token naturalOrFloat :: GenTokenParser s u m -> ParsecT s u m (Either Integer Double) < 1296603614 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh right djinn does not support recursive types < 1296603682 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hm what's the same as Nat again? not "Maybe ()" < 1296603688 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :quick oerjan how can i construct nat < 1296603690 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[()] i guess < 1296603692 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but that's ugly < 1296603747 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric ::k Fix < 1296603748 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :Not in scope: type constructor or class `Fix' < 1296603780 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :My local cable provider, Nova (which is shit) is being swallowed up by Comcast, the answer to the question "how could you possibly do worse than Nova?" < 1296603824 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let pred (():[]) = []; pred (():():n) = () : pred n in pred [(),(),(),(),()] < 1296603825 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [(),()] < 1296603832 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :> let pred (():[]) = []; pred (():():n) = () : () : pred n in pred [(),(),(),(),()] < 1296603833 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric : [(),(),(),()] < 1296603840 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl let pred (():[]) = []; pred (():():n) = () : () : pred n in pred < 1296603840 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(line 1, column 14): < 1296603840 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :unexpected "[" < 1296603840 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :expecting "()", natural, identifier, "_" or "(" < 1296603844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :??? < 1296603857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl let pred [()] = []; pred (():():n) = () : () : pred n in pred < 1296603857 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(line 1, column 10): < 1296603857 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :unexpected "[" < 1296603857 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :expecting pattern or "=" < 1296603861 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan ha;lp < 1296603875 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i hear comcast is the only major isp in the us which is actually preparing for ipv6 transition... < 1296603881 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl fix (\me x -> case x of [()] -> []; () : () : n -> () : () : me n) < 1296603882 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(line 1, column 30): < 1296603882 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :unexpected ">" < 1296603882 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :expecting variable, "(", operator or ")" < 1296603884 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :HALP < 1296603923 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl fix (\me x -> case x of (:) () [] -> []; (:) () ((:) () n) -> (:) () ((:) () (me n)) < 1296603924 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(line 1, column 31): < 1296603924 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :unexpected " " < 1296603924 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :expecting variable, "(", operator or ")" < 1296603925 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl fix (\me x -> case x of (:) () [] -> []; (:) () ((:) () n) -> (:) () ((:) () (me n))) < 1296603926 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(line 1, column 31): < 1296603926 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :unexpected " " < 1296603926 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :expecting variable, "(", operator or ")" < 1296603926 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you are abusing @pl in wais it was obviously not meant to be used; you deserve no halp < 1296603930 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*ways < 1296603931 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: ;_; < 1296603937 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WHAT DID I DO WRONG < 1296603956 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :case is not @pl'able < 1296603966 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: is there an uncase? :) < 1296603997 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl let f x = if x == [()] then [] else () : () : f (tail (tail x)) in f < 1296603997 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(line 1, column 39): < 1296603997 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :unexpected " " < 1296603997 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :expecting variable, "(", operator, ";" or "in" < 1296603999 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh come on < 1296604001 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :@pl \(x:l) -> l < 1296604001 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :tail < 1296604007 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok it manages _that_ < 1296604026 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also @pl has a fugly parser, i think < 1296604034 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl let f x = if x == Cons POOP Nil then Nil else Cons POOP (Cons POOP (f (tail (tail x))) in f < 1296604034 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :(line 1, column 88): < 1296604034 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :unexpected reserved word "in" < 1296604034 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :expecting variable, "(", operator or ")" < 1296604043 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...what?! < 1296604053 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@pl let f x = if x == Cons POOP Nil then Nil else Cons POOP (Cons POOP (f (tail (tail x)))) in f < 1296604053 0 :lambdabot!unknown@unknown.invalid PRIVMSG #esoteric :fix (ap (flip if' Nil . (Cons POOP Nil ==)) . ((Cons POOP . Cons POOP) .) . (. (tail . tail))) < 1296604056 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :FINALLY < 1296604074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fix (ap (flip if' [] . ([()] ==)) . (((:) () . (:) ()) .) . (. (tail . tail))) < 1296604076 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's kinda ugly < 1296604077 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: deugly that < 1296604233 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: "tail" < 1296604251 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: ...:D < 1296604253 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: VERY GOOD POINT < 1296604265 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: the point is that it works in a language where you can't decrement < 1296604347 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also, "init" may be closer to the spirit of it < 1296604398 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :elliott: oh. also it's buggy. < 1296604406 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it will fail on even length lists < 1296604412 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: *you're* buggy. < 1296604441 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: but well. :p < 1296604447 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i was inspired by your talking with olsner actually. < 1296604539 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION may have already forgotten that < 1296604691 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: base-e/base-pi cat language < 1296604694 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ages ago < 1296604695 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :months < 1296604750 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1296604772 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: because you mentioned increment and decrement being the only fast operations < 1296604780 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but in Nock, decrement is O(n) < 1296604785 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because itw orks like my recursive function < 1296604785 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*it works