00:00:13 * Sgeo turns back to Slate
00:01:33 <j-invariant> ehird: A universal property in category theory holds all extensional information about an objects behavior: the computational object is just a witness for the universal property
00:02:15 <j-invariant> ehird: if we want to do a large scale program it seems necessary to base modules on this: Otherwise a proof might require a computation that spans several modules (and takes hours to compute)
00:02:38 <ehird> j-invariant: i meant the language you thought you had enough knowledge to implement, but OK :P
00:02:41 <j-invariant> ehird: but category theory is not entirely non-computational: So it is very difficult
00:02:53 <j-invariant> when did I ever say I have any clue how to make it :P
00:03:46 <ehird> j-invariant: well i meant presumably you have a "better-than-Haskell" in your head that's like Haskell except better :)
00:03:50 <ehird> and i doubt that's based on category theory.
00:04:15 <j-invariant> oh I don't know if I have any significant ideas to improve haskell
00:04:33 <ehird> j-invariant: don't you have like 10 languages in your head at once :|
00:04:40 <ehird> i don't mean improve haskell
00:04:42 <ehird> j-invariant: what i'm saying is
00:04:52 <ehird> j-invariant: what language isn't based on category theory, and would be nice to implement this polynomial stuff in, in your head
00:09:11 <j-invariant> ehird: the silly thing is, THAT is the language I was trying to implement
00:09:22 <ehird> j-invariant: with the polynomials?
00:09:26 <ehird> j-invariant: hahah lmao that quadrescence post about haskell has got a followup
00:09:28 <j-invariant> ehird: anyway it's sort of an "algebra system"
00:09:32 <ehird> since the monad laws aren't automatically enforced,
00:09:39 <ehird> and since Monad isn't a subclass of Functor,
00:09:44 <ehird> Haskell is pseudo-mathematics
00:09:48 <j-invariant> ehird: but it's not for writing proofs in, just mathematical algorithm
00:10:03 <ehird> hmm he isn't here right now
00:10:06 <ehird> i wonder if he's gone away forever
00:10:07 <ehird> that would be nice
00:10:17 <ehird> copumpkin: we've had more than our fair share of him.
00:10:21 <ehird> more than #haskell.
00:10:38 <ehird> copumpkin: which one
00:11:02 <ehird> copumpkin: yeah, uh, i'm quoting from the follow up to that
00:11:38 <ehird> i started reading his uhh "book"
00:11:44 <ehird> he seems to think that rewriting languages solve everything
00:12:07 <ehird> 10.12.27:22:32:19 <j-invariant> Quadrescence: can you make any constructive suggestions?
00:12:07 <ehird> 10.12.27:22:33:08 <Quadrescence> rename monad to something else, delete "morphism" from your vocabulary unless you have reason to need it
00:12:07 <ehird> 10.12.27:22:36:27 <j-invariant> Quadrescence: that's not radical enough
00:12:08 <ehird> 10.12.27:22:37:56 <Quadrescence> ok, rename haskell to Fortran++
00:13:05 <ehird> he kept bugging everyone in here to write for his blog :)
00:14:22 <ehird> j-invariant: ages ago yes
00:14:27 <ehird> it's ... kinda cool i guess?
00:14:43 <ehird> i didn't look into it much!
00:14:56 <ehird> j-invariant: if you're going to write like, a dependent CAS, then i wouldn't try and e.g. implement polynomials in haskell
00:15:00 <j-invariant> the idea is good though: Use dependent types
00:15:05 <ehird> j-invariant: I'd implement a sort-of-symbolic dependent language
00:15:07 <ehird> and do the rest in that
00:15:23 -!- FireFly has quit (Quit: swatted to death).
00:15:25 <copumpkin> dependent types are hard to implement nicely though
00:15:56 <coppro> ehird: why are you ehird
00:16:36 <ehird> copumpkin: says the agda user
00:16:38 <ehird> coq is soo easy :}}}}
00:17:08 <ehird> computers are useless, let's get rid of them
00:17:21 <ehird> j-invariant: you really need your own lang for it i feel...
00:17:27 <ehird> j-invariant: Axiom is kinda close to what you want in fact.
00:17:35 <ehird> as in, a dependent CAS
00:17:43 <pikhq> Hmm. The free ATi drivers seem to be genuinely non-shitty these days.
00:19:05 <ehird> pikhq: i need a unicode cross or something
00:19:13 <ehird> or a hollow square or circle
00:21:39 <ehird> j-invariant: have you seen Axiom?
00:22:05 <pikhq> Yup, definitely *insanely* better at video display, and I don't actually have a good OpenGL test case...
00:22:32 <pikhq> But as I clearly don't actually use OpenGL much, moot point. :P
00:23:03 -!- jesus_muppet has left (?).
00:23:46 <ehird> j-invariant: you perhaps should
00:23:57 <ehird> j-invariant: it's also a gigantic literate program :^)
00:24:42 <ehird> j-invariant: basically Axiom is this crazy developed-since-1970 literate program that implements a strongly-typed, mathematical type hierarchy-based CAS
00:24:53 <ehird> j-invariant: http://upload.wikimedia.org/wikipedia/commons/e/ee/Matrixinmatrix.jpg
00:24:55 <ehird> j-invariant: note the Type: lines
00:25:01 -!- sebbu has joined.
00:25:10 <ehird> j-invariant: fully symbolic, etc.
00:25:25 <j-invariant> ehird: yeah really I should stop being such a hermit and just use existing software
00:25:40 <ehird> j-invariant: oh i am not saying that axiom is the solution
00:25:44 <ehird> j-invariant: i'm saying you should look at it :)
00:26:01 <ehird> j-invariant: http://en.wikipedia.org/wiki/Axiom_(computer_algebra_system)#Documentation click a pdf and start reading :D
00:26:11 <ehird> it's the literate program
00:26:14 <ehird> coppro: oh grow up
00:26:36 <ehird> because he's even more childish than I am
00:26:39 <coppro> because this channel is better without ehird
00:26:40 -!- ehird has changed nick to eherd.
00:26:59 <eherd> *this channel is almost silent without
00:27:07 <eherd> and the bits that aren't silent, mostly incomprehensible one-sided conversations
00:27:32 <eherd> j-invariant: I think there are probably very few systems developed since the early 70s
00:27:42 <eherd> that are still in active (non-maintanence) development today
00:27:50 <coppro> eherd: changing your nick is not sufficient
00:28:00 -!- sebbu2 has quit (Ping timeout: 240 seconds).
00:28:09 <eherd> coppro: my ident hasn't changed
00:28:14 <eherd> coppro: so if it's based on nickserv: HI.
00:28:28 -!- eherd has changed nick to ehurd.
00:28:30 <pikhq> Also, OMFG kernel mode setting.
00:28:31 <j-invariant> The Axiom project focuses on the "30 Year Horizon". The primary philosophy is that Axiom needs to develop several fundamental features in order to be useful to the next generation of computational mathematicians. Knuth's literate programming technique is used throughout the source code. Axiom plans to use proof technology to prove the correctness of the algorithms (such as Coq and ACL2).
00:28:35 <ehurd> coppro: there's no possible way i'm still ignored now
00:28:42 <coppro> lol literate programming
00:28:47 <coppro> I haven't not heard zzo38 today
00:28:56 <pikhq> It makes my framebuffer actually use the native resolution of the display!
00:29:03 <ehurd> OTHER THINGS ZZO38 LIKES: BREATHING
00:29:46 <j-invariant> ehurd: this is interesting actually, gonna check it out
00:29:57 <ehurd> j-invariant: "For example, Axiom’s integrator gives you the an- swer when an answer exists. If one does not, it provides a proof that there is no answer."
00:30:36 <ehurd> j-invariant: "A function can take a type as argument, and its return value can also be a type. For example, Fraction is a function, that takes an IntegralDomain as argument, and returns the field of fractions of its argument."
00:30:47 <ehurd> j-invariant: i think this is more like \Omega{}mega than Agda, though
00:32:53 <coppro> ehurd: so apparently you have a u now
00:33:19 <ehurd> j-invariant: is it?
00:33:33 <ehurd> coppro: it's obvious that your ignore didn't fail, btw.
00:33:45 <j-invariant> ehurd: it's just crazy, like reimplementing everything at multiple levels?
00:33:53 <ehurd> j-invariant: well i might be wrong
00:33:55 <ehurd> j-invariant: i just meant
00:34:01 <ehurd> j-invariant: i don't think that axiom lets you do actual dependency
00:34:04 <ehurd> j-invariant: i.e. pi types
00:34:08 <ehurd> j-invariant: sigma maybe
00:34:18 <ehurd> j-invariant: i don't know omegamega, so i wasn't trying to draw a strong comparison.
00:35:04 -!- poiuy_qwert has joined.
00:35:05 <j-invariant> ehurd: it's probably dynamically checking types
00:35:10 <ehurd> j-invariant: no i do not think so
00:35:13 <ehurd> j-invariant: it's strongly-typed
00:35:24 <ehurd> j-invariant: which volume are you reading?
00:37:08 <copumpkin> it's neither sigma, nor pi, nor dynamically checking
00:37:16 -!- drakhan has quit (Quit: Wychodzi).
00:37:30 <j-invariant> copumpkin: owhat are you talking about? :D
00:40:01 <j-invariant> I am seeing universal properties and categories everywhre
00:40:29 <coppro> categories are everywhere
00:40:43 <j-invariant> coppro: I realized that divisibility forms a category
00:40:59 <copumpkin> any partial order can be made into a category
00:41:09 <ehurd> j-invariant: it's described at the top
00:41:28 <ehurd> j-invariant: so which volume are you reading
00:41:57 <j-invariant> divisibility is more special than any old partial order
00:42:01 -!- pikhq has quit (Read error: Operation timed out).
00:42:43 <copumpkin> most partial orders are more special than any old partial order :P
00:42:51 <ehurd> j-invariant: helloooo
00:42:52 <copumpkin> in fact, we can set up a partial order of partial orders
00:43:08 <ehurd> copumpkin: oh you crafty
00:43:29 <ehurd> j-invariant: how many more times should i ping you
00:45:29 <ehurd> j-invariant: which volume are you reading
00:47:40 <ehurd> j-invariant: you said about the 30 year thing
00:47:43 <ehurd> but that's mentioned in the book
00:47:59 <ehurd> j-invariant: http://axiom-developer.org/axiom-website/bookvol0.pdf is the introduction book which contains all the interesting info
00:48:06 <ehurd> vs. all the implementation details and code in the rest more or less :P
00:48:16 <ehurd> j-invariant: contains the general overview of the system and cool stuff etc.
00:48:54 <ehurd> well ok there's more but
00:49:09 <ehurd> j-invariant: DID I MENTION: category theory plays a large part in axiom
00:49:57 <ehurd> although i don't know that for _sure_
00:55:55 <ehurd> j-invariant: are you reading it? :p
00:56:21 <ehurd> j-invariant: i think it's actually surprisingly close to what you were talking about wanting, from reading this volume 0
00:57:00 <ehurd> j-invariant: heh it uses categories to mean something other than what category theory means by them
00:59:31 <ehurd> i think j-invariant fell asleep
01:01:04 <coppro> j-invariant: are you kirby all of a sudden?
01:02:51 <j-invariant> (10 http://www.reddit.com/r/compsci/comments/ez93s/the_future_of_software_system_correctness/c1c6ps2
01:03:09 <ehurd> j-invariant: what's 2 :P
01:03:09 <j-invariant> (2) http://www.reddit.com/r/compsci/comments/ez93s/the_future_of_software_system_correctness/c1c7ks6
01:03:24 <j-invariant> exactly the same thing except one guy said "prime numbers" and the other guy said "halting problem"
01:03:53 <ehurd> not worth getting worked up over!
01:03:57 <ehurd> now read the axiom introduction, it's really interesting :P
01:04:08 <ehurd> i'm only on page 13 and i think it's cool
01:04:21 -!- j-invariant has quit (Quit: leaving).
01:09:15 <ehurd> copumpkin: you have strayed into a deadly trap
01:09:51 <ehurd> copumpkin: being the only active person who doesn't have me ignored >:)
01:09:56 <ehurd> now watch as i force you to test my awful software
01:10:31 <ehurd> my god, it's 381 lines
01:10:32 <ehurd> how did that happen
01:12:51 -!- j-invariant has joined.
01:17:11 <Sgeo> http://www.reddit.com/r/programming/comments/cw06e/the_mercury_language_take_prolog_speed_it_up/c0vpmgg
01:18:28 <coppro> Sgeo: tell me how ehird bashes it ok
01:18:41 <Sgeo> What I linked to was a joke
01:18:58 <Sgeo> Although yeah, I'm looking at Mercury
01:19:27 <ehurd> j-invariant: it's funny because prolog impls print yes
01:19:37 <ehurd> Sgeo: prince xml was written in mercury, btw
01:19:53 <ehurd> and is a very advanced, complex program, sold for lots of money, with a small binary size
01:20:03 <ehurd> converts XML/HTML + CSS into PDF, basically, with very high quality
01:20:11 <ehurd> http://princexml.com/
01:20:16 <Sgeo> coppro, ehurd is not bashing Mercury.
01:20:17 <ehurd> proof that the language can do shit, at least
01:20:27 <ehurd> j-invariant: yes they do
01:20:30 <Sgeo> This sort of reaction is what got me interested in Factor so long ago
01:20:34 <ehurd> j-invariant: well...
01:20:34 <coppro> he didn't mention it first
01:20:36 <ehurd> j-invariant: ok they actually don't
01:20:38 <ehurd> but they print No!
01:20:40 <ehurd> and that's what matters
01:20:43 <j-invariant> ehurd: that's some stupid SWI prolog thing
01:20:59 <ehurd> Sgeo: well i wouldn't want to write an actual program in Mercury myself.
01:21:10 <ehurd> logic programming doesn't gel with me.
01:21:27 <ehurd> but the fact that it has no cut or side-effects is nice :)
01:21:58 <ehurd> j-invariant: do you want to try out the initial cled prototype :D
01:22:36 <ehurd> j-invariant: http://www.vjn.fi/pb/p7989249361.txt
01:22:39 <ehurd> j-invariant: just run as: python cled.py
01:22:48 <ehurd> try not to defocus the window afterwards, it doesn't like that
01:23:06 <ehurd> j-invariant: most of the underlying stuff is written but not exposed as the ui... but it can manipulate integer argument lists!
01:23:15 <Sgeo> The tutorial could use some work
01:23:33 <ehurd> j-invariant: quick rundown: lilac background means it's selected. j and k move around the current active object, selecting children of it, showed by highlighting with lilac.
01:23:50 <ehurd> j-invariant: e descends into the currently selected object. d ascends upwards from any objects.
01:24:04 <ehurd> j-invariant: if you descend into an integer, then you can rewrite the integer by typing a new one and hitting <return> or d.
01:24:27 <ehurd> j-invariant: to add a new element to a list (only in . -> things now (they're called examples)), press = to insert after the current element. + (shift-=) to insert before.
01:24:31 <ehurd> j-invariant: it's an editor
01:24:40 <ehurd> j-invariant: it's like seeing 42, pressing backspace twice, and typing a new on
01:24:44 <ehurd> it's an AST-based code editor
01:24:52 <ehurd> j-invariant: press x to delete an argument.
01:25:07 <ehurd> j-invariant: now, if you do =, it's "?", because it's waiting to decide what type you'll put in based on your input
01:25:09 <ehurd> this is called a box
01:25:16 <ehurd> if you d before entering a type, you'll see an ugly red ? in your program
01:25:21 <ehurd> these are call boxes, but they should be called holes.
01:25:30 <ehurd> they're basically just things that need objects but haven't filled in yet
01:25:39 <ehurd> if you try and delete the output of an example, or all the inputs, you just get a single box instead
01:25:44 <ehurd> that's pretty much it for now
01:25:48 <ehurd> note that if you ascend too far everything breaks
01:26:06 <ehurd> and "r" replaces the current selected thing with a box
01:26:11 <ehurd> which will probably be useful somehow!
01:26:23 <ehurd> but you can ascend too far
01:26:37 <ehurd> if you try and go above the list of examples
01:27:03 <ehurd> j-invariant: oh and Ctrl+S prints the current program to stdout
01:27:10 <ehurd> note that if you have boxes, this'll be an invalid program
01:28:10 <ehurd> oh and you should be able to enter [ into a hole instead of a digit or -, to get a list
01:28:12 <ehurd> but that doesn't work yet :)
01:28:31 <ehurd> j-invariant: incidentally, the programs are pretty-printed.
01:28:46 <ehurd> so for instance it outputs
01:28:47 <ehurd> depth of first ~ {. 0 -> 0
01:28:48 <ehurd> depth of first ~ {:. [[1 2] [3 4]] -> 2
01:28:52 <ehurd> :. [[[1 2 3] 4] 5] -> 3
01:28:54 <ehurd> : [[1 2 3] 4] -> 2}
01:28:56 <ehurd> depth of first ~ is list?; cons; car; cdr; succ; 0
01:28:58 <ehurd> with the right alignment everywhere
01:29:00 <ehurd> (that isn't generated by the code, but i know it does it properly :))
01:29:06 <ehurd> (or wait i think i did feed it in at some point. anyway.)
01:30:24 <ehurd> j-invariant: i'm not going to be able to convince you to read the first volume of axiom, am i :D
01:30:59 -!- azaq23 has quit (Ping timeout: 255 seconds).
01:33:06 <ehurd> ok i'll stop bugging you about it
01:34:18 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:35:16 -!- azaq23 has joined.
01:37:37 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
01:40:46 <ehurd> j-invariant: I don't think it does do type-checking at runtime... that would be lame anyway
01:40:54 <ehurd> Also I like the idea of it more if it doesn't :P
01:41:14 <ehurd> j-invariant: lol, you declare a module system like you do types, and even structures (like ring)
01:41:17 <ehurd> it's all the same mechanism
01:41:43 <ehurd> "Because the argument of Matrix is required to be a Ring, Axiom will not build nonsensical types such as “matrices of input files”."
01:41:47 <ehurd> brb implementing matrices of input files
01:41:59 <ehurd> j-invariant: yep, just read, it typechecks at compile times
01:43:18 <ehurd> *just read that it
01:44:06 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
01:45:44 <ehurd> i'm only on page 21... wonder how much mindbending stuff is in the next 1198 pages
01:45:45 -!- poiuy_qwert has joined.
01:45:59 <ehurd> erm actually page 40
01:46:04 <ehurd> but 21 in the actual book
01:46:24 <ehurd> pretty huge book, considering this is only volume 0
01:46:32 <ehurd> i wonder if you can buy a complete set bound in leather that takes up a whole shelf
01:47:05 <ehurd> j-invariant: btw here's a link, mostly for my logreading benefit since i had to find it again before: axiom-developer.org/axiom-website/bookvol0.pdf
01:47:08 <ehurd> *http://axiom-developer.org/axiom-website/bookvol0.pdf
01:49:30 <ehurd> j-invariant: this seems to do a lot of stuff as polynomials, lol
01:49:39 <ehurd> i think you've accidentally reinvented this
01:50:02 <ehurd> j-invariant: mind you, i'd still like to see what you come up with
01:50:39 <ehurd> "The function factor can also be applied to complex numbers but the results aren’t quite so obvious as for factoring integer:
01:50:41 <ehurd> Type: Complex Integer"
01:50:45 <ehurd> i smell a documentation bug
01:52:12 <Sgeo> "Chapter XXX describes these modules in
01:53:52 <ehurd> Sgeo: hur hur it's funny because ex
01:54:12 <Sgeo> I'm just complaining about the incompleteness of the documentation
01:54:35 <ehurd> how is that incomplete
01:55:02 <ehurd> Sgeo: it's a book, what's the issue
01:55:07 <Sgeo> Those XXXs are all over the place
01:55:15 <ehurd> Sgeo: It's a number, isn't it.
01:55:29 <ehurd> I assume you're talking about Axiom?
01:55:36 <Sgeo> I'm talking about Mercury
01:55:42 <ehurd> Then I don't care! Yay!
01:55:50 <ehurd> j-invariant: should i make my own language
01:57:15 -!- Wamanuz has quit (Ping timeout: 240 seconds).
01:57:18 <ehurd> j-invariant: semi-dependent-typing, in that it has kinds and metakinds etc. etc. etc., and kinds are automatically derived from normal data types (with the same name and constructors), /but/ nothing crosses the :
01:57:22 <ehurd> j-invariant: i.e., no pi types
01:57:32 <ehurd> that sounds easier to implement :D
01:57:41 -!- ehurd has quit (Remote host closed the connection).
02:01:19 -!- poiuy_qwert has quit (Read error: Operation timed out).
02:01:26 -!- luatre has quit (Remote host closed the connection).
02:04:13 -!- copumpkin has joined.
02:06:16 -!- poiuy_qwert has joined.
02:11:20 -!- cheater99 has joined.
02:24:06 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
02:26:26 -!- poiuy_qwert has joined.
02:27:38 <j-invariant> Formal proof of correctness is not only tedious, time-consuming, and outlandishly expensive, it's also not necessarily effective! People commit errors when attempting a formal proof. There is no fool-proof way of determining if a proof is correct or not. -- JeffGrigg
02:28:36 <coppro> clearly he doesn't know what a formal proof is
02:30:11 -!- oerjan has joined.
02:30:43 <copumpkin> j-invariant: it says "adjunction" posted that
02:30:50 <copumpkin> but adjunction clearly doesn't think that
02:30:54 <copumpkin> because I've seen other things he posted
02:38:38 <Sgeo> MORE LANGUAGES
02:39:04 <Sgeo> I find myself interested in the concept of dataflow programming
02:39:15 <Sgeo> j-invariant, is there still any work being done on Oz?
02:39:25 <Sgeo> Last ... thingy was 2008
02:40:44 <oklopol> "<elliott> j-invariant: yeah there is basically no way you could do recursive functions (only flow control other than branching really) with a stupid search like that" <<< actually i have a good feeling about another way to do recursion stuff, although the idea is so simple i'll want to try it before saying it might work
02:41:00 <oklopol> but i'm usually right, like i was right about demolishing!
02:44:36 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
02:46:01 <j-invariant> http://en.wikipedia.org/wiki/Monad_%28category_theory%29
02:46:14 -!- poiuy_qwert has joined.
02:46:34 <oklopol> "<elliott> 21:29 cdsmithus: EvanR-work: It's pretty easy to see. Just enumerate all the 0-length strings (finitely many), then all the 1-length, then the 2-length, and so on. Every finite string has some length, and will be reached eventually" <<< this doesn't work
02:48:34 <oerjan> as long as your alphabet is finite
02:49:09 <oerjan> if your alphabet is countably infinite, though...
02:49:55 <Sgeo> "Googles Go language uses a quicksort, though this is considered by some to be a bug.
02:51:13 <Sgeo> "Somewhat typical of PHPs API, there are actually thirteen different built-in array sorting functions"
02:52:04 <oerjan> <j-invariant> oklopol: i am incapable or ferror <-- so, which one is it?
02:53:48 <oerjan> Sgeo: quicksort has bad worst-case behavior...
02:54:03 <Sgeo> I said "Ah" after reading the compaints
02:55:01 <oerjan> yeah, "Ah" is such a heavily information-loaded word
03:01:15 -!- j-invariant has quit (Quit: leaving).
03:03:02 <oklopol> "<elliott> oklopol likes Python for, like, totally different reasons to everyone else." <<< the reason i like python is i used to like it, and used it so much it's soooooooooooo easy now. this is also why my programs are so retarded in syntax and how i do things locally, i actually don't think at all, i just write
03:03:41 -!- quintopia has quit (Ping timeout: 255 seconds).
03:04:35 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
03:06:13 -!- poiuy_qwert has joined.
03:06:29 <oklopol> '<j-invariant> Why don't we get people that just learned thermodynamics and join every fucking energy discussion with "YYEAH BUT YOU CANT CREATE INFINITE FREE ENERGY SO WHY BOTHER WITH WINDMILLS?"' xD
03:06:42 -!- quintopia has joined.
03:07:36 <Sgeo> oklopol, you like Python for the same reason I do!
03:07:50 <Sgeo> I am more practiced with Python than any other language
03:10:06 <variable> oerjan, Sgeo Java has some weird behavior. <= 7 elements it uses insertion sort and > 7 it uses quicksort
03:12:40 <oerjan> variable: well that's not so weird
03:12:56 <oerjan> it's well known that simpler sorts are faster for very short lists
03:13:09 <variable> oerjan, actually it happens to be optimal for other reasons as well
03:13:17 <variable> I meant to say "modified quicksort"
03:13:33 <variable> and the number 7 isn't arbitrary either
03:14:06 <oerjan> well i'd assume without evidence that the <= 7 case is also used for sorting sublists in the quicksort?
03:16:29 <variable> Java's sort is based on http://portal.acm.org/citation.cfm?id=172710
03:17:46 <oklopol> "<oerjan> um yes it does" "<oerjan> as long as your alphabet is finite" <<< also the algorithm of doing nothing works. (as long as the alphabet is empty)
03:18:10 <Sgeo> How long until we have non-Python languages running on CPython?
03:18:40 <Sgeo> Atomo runs on Haskell's whatever, a bunch of stuff runs on Erlang's VM, I'm pretty sure there's Ruby stuff....
03:18:46 <Sgeo> JVM and .NET are obvious
03:19:18 <variable> oerjan, Sgeo btw - I was talking about an array of ints
03:19:28 <variable> it uses something else (I think merge sort) for objects
03:19:47 <oklopol> oerjan: if you'd read context from 64 hours ago, you'd've known alphabet was just specified countable
03:20:01 <variable> oerjan, int[] array is sorted differently than Integer[] array
03:20:54 <oerjan> variable: i guess they are assuming comparing two elements is so much more expensive then that it affects things...
03:21:17 <oklopol> there should be a nonstandard set theory: \exists set S such that S^N is finite, but S is nonempty
03:21:28 <oklopol> (from nonstandard analysis, although that was probably clear)
03:21:38 <variable> oerjan, I don't remember exactly what they use to sort Objects. I __think__ its merge sort
03:23:15 <oerjan> variable: hm. i could see why they'd want to use a different cutoff but not why they'd switch to another sort for large arrays entirely
03:24:15 <variable> oerjan, I'm no Java expert - I just spent one semester too long learning Java :-\
03:24:59 <oerjan> i haven't even learned it properly
03:25:24 <oklopol> i know everything about java, but i still can't understand love
03:26:29 <oerjan> I love the java jive and it loves me
03:28:14 <oklopol> i hate the halting problem
03:28:40 <oklopol> it's like the least interesting piece of math ever, and everyone thinks they understand what it means on a deep philosophical level
03:29:47 <oklopol> it should be stripped of its popularity by force
03:30:33 <oerjan> ...it is the basis of most other undecidability theorems, isn't it
03:30:35 <oklopol> did you catch my inverse semigroup stuff
03:30:45 <oklopol> oerjan: it's a very important theorem, yes
03:31:21 <oklopol> it shouldn't be uninvented or anything
03:31:28 <oklopol> there's tons of interesting stuff *on top of it*
03:32:48 <oklopol> it's the popularity that annoys me
03:33:03 <oklopol> oh, well right, it's not actually the *least* interesting piece of math ever, maybe :D
03:33:44 <oklopol> but it's not a particularly interesting theorem
03:34:44 <oklopol> and i always hate it when someone tries to add ugly technicaly philosophy to a beautiful and pure formal mathematical theorems
03:35:26 -!- variable has quit (*.net *.split).
03:35:35 -!- Slereah has quit (*.net *.split).
03:35:39 -!- jix has quit (*.net *.split).
03:35:49 <oklopol> + more random adjectives before the terms why not
03:35:51 <coppro> it's like listening to a philosophy prof talk about math
03:35:58 <coppro> it's almost actually painful
03:36:40 <oklopol> oerjan: i proved that in an inverse semigroup (so *unique* y such that x = xyx, y = yxy), idempotents form a semilattice
03:37:42 <oklopol> coppro: i haven't actually heard, but my dad studied philosophy, and he could recite these completely meaningless statements he'd learned for class that were some sort of explanations for the achilles paradox etc
03:37:51 -!- Slereah has joined.
03:37:51 -!- jix has joined.
03:38:24 <oklopol> maybe they weren't meaningless originally, but my dad butchered them completely :D
03:38:54 -!- calamari has quit (Quit: Leaving).
03:39:02 -!- variable has joined.
03:40:11 <oklopol> but in any case, who the fuck needs to learn about the achilles paradox... if i started studying philosophy, and i realized i was listening to a *lecture* about that retarded thing, i'd probably take a good look in the mirror, and kill everyone.
03:40:42 <oklopol> oerjan: THAT'S NOT ALL THOUGH
03:40:46 <oklopol> ...about inverse semigroups
03:40:48 <oerjan> um if you don't know any calculus and stuff then it probably _is_ somewhat mysterious
03:42:24 <oklopol> yes, possibly; now consider an arbitrary congruence on an inverse semigroup
03:42:34 <oklopol> (in the usual semigroup sense)
03:42:49 <oklopol> (although it does turn out that the quotient is an inverse semigroup)
03:42:59 * Sgeo surrenders and goes to install Cygwin
03:43:33 <oklopol> (that's not actually trivial i think, you need lallement's lemma, which says for all idempotents in the image, there is an idempotent in the preimage)
03:43:46 <oklopol> let's call this congruence p
03:44:37 <oklopol> we define x p_{min} y <=> \exists e \in E_S: xe = ye, x^-1 x p e p y^-1 y
03:45:04 <oklopol> that's an equivalence relation, since idempotents commute
03:45:42 <oklopol> let that be true for xe = ye, yf = zf
03:45:55 <oklopol> then i was thinking xef = yef = yfe = zfe = zef
03:46:05 <oklopol> but is the second thing true
03:46:49 <oklopol> because we know y^-1 y p f, and therefore e p f, and therefore also x^-1 x p f
03:47:24 <oklopol> so yeah that's an eq relation, but here's the fun thing: that's actually the minimal congruence with the same trace
03:47:45 <oerjan> there's some = missing up there
03:48:37 * oerjan somehow started reading it as an idempotent
03:48:38 <oklopol> it was rho in the lecture notes, and i'm copy pasting from my head
03:49:06 <Ilari> Hmm... Does ShowIP have some subtle bias: IPv4 addresses get shown as red and IPv6 addresses as green... :-)
03:49:06 <oklopol> so for instance, consider the trivial congruence S x S
03:49:33 <oklopol> then, p_{min} is actually the minimal congruence q such that S/q is a group
03:49:49 <oklopol> because a quotient is a group if and only if idempotents are identified
03:50:18 <oklopol> because an inverse semigroup is a group iff it has exactly one idempotent
03:51:14 <oklopol> to prove that \exists e \in E_S: xe = ye, x^-1 x p e p y^-1 y is a congruence, you prove that it's a left congruence and that it's a right congruence separately, and that's actually kinda technical
03:51:23 <oklopol> because you have to guess the idempotent
03:52:11 <oklopol> but so let x p_{min} y, and e be the proof; consider xz vs. yz and the idempotent z'ez where ' is inverse
03:53:04 <oklopol> then xzz'ez = xezz'z = xez = yez = yezz'z = yzz'ez
03:53:15 <oerjan> oklopol: i don't think i'm capable of concentrating enough to follow this stuff
03:53:27 <oklopol> did you get the actual theorem tho?
03:53:42 <oklopol> i think that's really nice even if i skip the proof
03:54:12 <oklopol> that for each congruence p, there's minimal p_{min} with the same trace, with that definition i gave
03:54:21 <oklopol> trace = what idempotents are identified
03:54:48 <oerjan> that's hard too because i don't have an intuition for how "inverses" are supposed to behave
03:55:35 <oerjan> hm wait is x^-1 x = x x^-1 always?
03:55:46 <oklopol> like in groups, except that there are multiple 1-elements.
03:56:08 <oklopol> x^-1 x = x x^-1 <<< no, but both are idempotent
03:56:45 <oklopol> idempotents commute, so often you just care about the fact you have *some* idempotent somewhere
03:57:01 <oklopol> should give examples maybe, have none...
03:58:59 <oklopol> it took me quite a while to get a grip on how inverse semigroups work
03:59:34 <oklopol> so i don't exactly blame you if you have no ability to follow the stuff, mainly i wanted to advertise properties of inv semigroups... :D
04:00:09 <oklopol> like that p_{min} thing, which is unique to inv semigroups in the semigroup monoid group etc family
04:00:36 <Ilari> Fun use for ShowIP. Visit all sorts of IPv6-related sites and see which ones support IPv6.
04:00:40 <oklopol> (erm i mean of course it's true for groups......)
04:01:28 <oklopol> alright my alarm clock is tickling.
04:02:47 <oerjan> Ilari: ooh, i guess we're just a week or two from exhaustion now?
04:03:11 <oerjan> or has it already happened
04:03:23 <oerjan> (that APNIC allocation thing)
04:03:34 <oklopol> algebra is so damn sexy really, if i was any good at it, i might even consider doing my phd out of that stuff
04:04:08 <oerjan> oklopol: tickling alarm clock?
04:04:38 <oklopol> well i mean i'm awesome at it but i don't really have an intuition on what constitutes as interesting new research
04:04:49 <Ilari> Not yet... Projections are turn of the month... But APNIC can justify allocation at any moment.
04:05:22 <oklopol> of course, i suppose you should always try to follow the road of *actually solving problems*
04:05:35 * oerjan imagines bosses at APNIC headquarters sitting rubbing their hands and cackling maniacally
04:05:43 <oklopol> oerjan: tickling sounds like it could mean some sort of beeping imo
04:05:55 <oklopol> and i already once used that word wrong in your presense
04:06:11 <oerjan> oklopol: well there are already vibrating cell phones...
04:06:37 <oerjan> but a tickling alarm clock would sort of have to be _in_ your bed...
04:06:51 <oklopol> my bed is too full of stuff to fit an alarm clock
04:06:54 <oerjan> well or it could be a wrist watch i guess
04:07:04 <oerjan> oklopol: do you have room to sleep :D
04:07:37 <oklopol> i should consider cleaning up this place at some poitn
04:07:45 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaa
04:08:17 <oklopol> it's been about a week and i haven't moved any of the stuff, and since i moved from a twice bigger apartment, there's suddenly huge amounts of stuff :D
04:10:16 <oklopol> these student apartments are so crappy i'm actually considering applying for a better one, mainly due to the facts i'm never going to be able to eat food if i have to prepare it in the presence of other people, everyone hears me watch porn at night and the fact the refrigerator wakes me up at 4 am ever morning
04:10:50 <oklopol> the last one is actually not annoying at all, i just wanted to mention it :D
04:11:05 -!- azaq23 has quit (Ping timeout: 255 seconds).
04:11:56 <oklopol> but a place full of students is like the worst place to have thin walls, at 4 am on a wednesday, it's not rare to feel someone suddently yell "WHAT THE FUCK MAN?!?"
04:16:37 <Ilari> It appears most dedicated IPv6 sites have IPv6 addresses... But some don't.
04:19:46 <Ilari> Last entry on IANA allocations for IPv6: 2006-10-03... That's over 4 years ago...
04:27:37 -!- hagb4rd has quit (Ping timeout: 240 seconds).
04:38:17 -!- quintopia has quit (Ping timeout: 264 seconds).
04:44:55 <Ilari> Whee... Mac OS X doesn't support DHCPv6 (according to these slides).
04:45:53 <Ilari> Haha... Blank slide titled "Response from Users".
04:51:08 -!- quintopia has joined.
05:17:06 -!- azaq23 has joined.
05:22:55 -!- hagb4rd has joined.
05:27:53 <hagb4rd> http://www.youtube.com/watch?v=-CGIii_eTOk
05:30:32 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
05:31:39 -!- Mathnerd314 has quit (Ping timeout: 264 seconds).
05:31:49 -!- poiuy_qwert has joined.
05:37:14 <hagb4rd> http://www.youtube.com/watch?v=p3bkmD-70e4&feature=related&fmt=18
05:38:28 <Sgeo> All C#-like languages bore me
05:39:41 * Sgeo says that as he listens to a song he STRONGLY associates with Vala
05:40:08 * oerjan wonders why Sgeo adds the #
05:40:35 <Sgeo> Because most of these highly marketed languages are closer to C# than C?
05:40:45 <Sgeo> Although yeah, C-like bores me too
05:40:58 <Sgeo> Not "highly" I guess. Hmm
05:41:33 -!- mycroftiv has quit (Ping timeout: 255 seconds).
05:41:47 <hagb4rd> well, it might be interesting experimenting with words, rhymes & rhytm.. but language becomes indefferent if u really want to say something
05:42:41 * oerjan was not aware that C# had spawned its own subfamily
05:43:59 <Ilari> Most dedicated IPv6 sites support IPv6... But seems that many don't. :-)
05:44:27 <Sgeo> Ugh. We really need to get on the ball and start supporting IPv7.
06:02:23 <Ilari> Shortest IPv6 address I have seen on public webserver: 11 characters. Longest: 39 (which is the longest possible).
06:04:09 <Ilari> I believe the shortest possible valid IPv6 unicast address would be 9 characters...
06:05:09 <Ilari> Ah, actually, nope... 7.
06:05:55 -!- cal153 has quit (Read error: Connection reset by peer).
06:07:37 -!- cal153 has joined.
06:07:56 <Ilari> 2003::1 is at least an allocated address.
06:14:15 <oerjan> i'll locate _your_ address
06:16:06 <Sgeo> What happens when we run out of MAC addresses?
06:18:36 <Sgeo> Only 2^6 organizations can make network cards?
06:19:11 <Sgeo> 64 manufacturers
06:19:16 <Sgeo> Past that, we run out
06:23:13 <myndzi> where'd you learn to math
06:23:49 <myndzi> mac addresses are 12 hex digits; first half is manufacturer, second is device
06:25:43 <quintopia> onoez. each manufacturer can only make 16m nics!
06:25:55 <myndzi> or, they can get another id
06:26:00 <myndzi> maybe they give them out in ranges
06:26:06 <quintopia> which is why it's stupid to break it up that way
06:26:15 <myndzi> gotta break it up somehow
06:26:29 <myndzi> better to hand out multiple ids to a manufacturer than give too many device ids to one and nobody can use them
06:28:18 <quintopia> why not just hand out ranges of MACs on a need-some-more basis and just have a public database if you really need the manufacturer?
06:28:36 <myndzi> i dunno, i just sorta guessed it was something like that
06:28:55 <myndzi> http://www.coffer.com/mac_find/
06:29:07 <myndzi> first google result for "mac address manufacturer database" ;P
06:29:31 <myndzi> http://standards.ieee.org/cgi-bin/ouisearch
06:29:48 <myndzi> it does look like an as needed basis
06:29:53 <myndzi> intel has a bunch but they aren't consecutive
06:33:03 <fizzie> 3com cards used to be 00:01:02, but now they have a billion (for billion = 47) vendor IDs.
06:33:17 <Sgeo> Wikipedia says 8 bits for the manufacturer
06:33:41 <fizzie> There are some flags in the upper bits.
06:33:54 <Sgeo> Oh wow, I misread the image
06:34:59 <Sgeo> Maybes I needs sleep
06:38:24 <quintopia> i just don't understand why they need to assign them in 16m chunks
06:39:26 <fizzie> Assigning in smaller units would mean more processing of "gimme more" forms.
06:39:53 <fizzie> I guess the assumption is that if you're manufacturing chips, you're going to do a lot of them.
06:41:10 <quintopia> i wonder how many vendors go out of business or stop manufacturing right in the middle of a block. or right at the beginning of one even
06:44:07 <fizzie> They've only allocated 14503 OUIs out of the 4194304 possible, so we don't seem to be running out just ye.
06:45:27 -!- azaq23 has quit (Quit: Leaving.).
06:45:33 <Sgeo> What is Rexx, and why is it so low on popularity charts
06:45:37 <Sgeo> Often lower than COBOL
07:01:28 -!- Zuu has quit (Read error: Connection reset by peer).
07:01:34 -!- Zuu has joined.
07:07:25 <fizzie> There are quite many Rexx-using Amigists, due to ARexx; but maybe that does not count.
07:08:01 <fizzie> It's not-so-uncommon as an embedded scripting language sort of thing.
07:11:00 <fizzie> I guess you could even call ARexx the Amiga AppleScript, except that sounds pretty silly.
07:12:51 <fizzie> Also I'd like to mention that I'm not an Amiga user, but some of my best friends are (er... were), and there is nothing "wrong" or "shameful" about being one, despite what some people say.
07:22:03 <Vorpal> or should I say night.
07:22:44 <Vorpal> Woke up due to electric saw. Which was used due to the people here to repair the leaking water from the roof. Oh well.
07:23:02 <fizzie> It is already morning-time.
07:23:38 <Vorpal> fizzie, it isn't morning until 09:00 IMO
07:23:52 <Vorpal> fizzie, and even then only if it has to be.
07:24:16 <Vorpal> fizzie, I was woken up by this sound at 07:33
07:24:22 <fizzie> I'd classify anything before 04:00 as night, after 06:00 as morning, and the part in the middle is a bit of a grey area.
07:24:29 <fizzie> I was woken up by an alarm clock at 07:10.
07:24:38 <fizzie> Well, briefly, anyway.
07:24:51 <fizzie> It didn't quite "take", and then I actually got up at 08:10 or so.
07:24:54 <Vorpal> fizzie, I prefer morning to start at 10:00 and end at 11:30
07:25:14 <Vorpal> 11:30-12:00 is "förmiddag" (can't remember English word for that atm)
07:25:30 <Vorpal> (wait, does English have afternoon but not prenoon?)
07:26:39 <fizzie> They sort-of have a "forenoon", but I think that's a bit rare.
07:27:19 <fizzie> Also WordNet conflates that with "morning".
07:27:26 <fizzie> 1. morning, morn, morning time, forenoon -- (the time period between dawn and noon; "I spent the morning running errands")
07:27:41 <fizzie> OED lists it separately, but still as "The portion of the day before noon".
07:28:33 <fizzie> I don't think they quite separate morgon/förmiddag like we do. (That's fi: aamu/aamupäivä.)
07:30:40 <fizzie> Even going by the dawn-based definition of "morning", it already is that here: sunrise today is at 09:15, and it's about 09:30 now.
07:32:57 <oerjan> you pesky southerners and your early mornings
07:45:32 <fizzie> Intriguing: Trondheim (suggested by grep) is at 63.43N (10.395E) while Lieksa (the place I'm sort-of from except not quite) is at 63.32N (30.025E); that's only a 12 kilometre difference in the North-South direction.
07:48:01 <oerjan> heh i guess it's just the timezone difference then
07:48:37 <fizzie> The "from" was also in sort of an "originally from" sense; currently I'm in Helsinki, which is quite a lot southener.
07:49:01 <fizzie> Or more accurately Espoo, I guess.
07:50:41 -!- drakhan has joined.
07:51:00 <fizzie> 60.1868N 24.8218E is the location of this university building; that's 361 km southwards. (And then take a right turn and go east for a bit.)
07:51:13 <fizzie> (That's the 270-degree right turn.)
07:51:47 -!- drakhan has quit (Client Quit).
07:52:36 <fizzie> (I can't seem to tell my left hand from my right.)
07:53:12 <fizzie> A knuckle tattoo, with the left hand saying LEFT and the other one RGHT.
07:53:49 <oerjan> i call rule 34 on that, or something
07:54:22 <oerjan> no google, i _am_ trying to search for rght
07:54:24 <fizzie> oerjan: http://www.knuckletattoos.com/gunCache/t_LEFTRGHT.jpg -- it has the benefit of being also wrongly oriented!
07:55:09 <oerjan> well that's obviously photoshopped
07:55:23 <fizzie> Well, yes, it's a generator that makes those images. I just entered LEFTRGHT in it.
07:56:47 <oerjan> sadly google seems to fail me
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:14:35 -!- MigoMipo has joined.
08:16:17 -!- Wamanuz has joined.
08:30:36 -!- Vorpal has quit (Read error: Operation timed out).
08:33:46 -!- Vorpal has joined.
08:33:50 -!- Vorpal has quit (Changing host).
08:33:51 -!- Vorpal has joined.
08:36:09 -!- pikhq has joined.
08:48:33 -!- FireFly has joined.
08:49:22 -!- SimonRC has joined.
08:58:27 -!- GreaseMonkey has quit (Quit: ilua).
09:18:56 -!- oerjan has quit (Quit: leaving).
09:50:25 -!- MigoMipo has quit (Read error: Connection reset by peer).
10:19:50 -!- j-invariant has joined.
10:48:37 -!- Wamanuz has quit (Ping timeout: 240 seconds).
11:08:51 -!- mycroftiv has joined.
11:14:26 -!- cheater99 has quit (Ping timeout: 240 seconds).
11:21:02 -!- drakhan has joined.
11:29:11 -!- cheater99 has joined.
12:01:12 -!- sebbu has quit (Ping timeout: 276 seconds).
12:02:38 -!- jcp has quit (Read error: Operation timed out).
12:06:29 -!- jcp has joined.
12:07:52 -!- FireFly has quit (Quit: swatted to death).
12:12:06 -!- ais523 has joined.
12:13:24 -!- cheater00 has joined.
12:15:12 -!- cheater99 has quit (Ping timeout: 240 seconds).
12:25:10 <ais523> wow, first time ever that a spam message went through all the other filters server-side and was caught by my email client
12:52:03 <cheater00> it's obvious it was DESTINED to be
12:52:12 <cheater00> maybe you should read it and memorize it
13:17:21 -!- Sgeo_ has joined.
13:19:02 -!- cheater- has joined.
13:19:34 -!- Sgeo has quit (Ping timeout: 240 seconds).
13:21:58 -!- cheater00 has quit (Ping timeout: 240 seconds).
13:54:15 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
13:55:51 -!- poiuy_qwert has joined.
13:56:47 <Sgeo_> Is Clean worth learning?
13:59:26 -!- azaq23 has joined.
14:00:47 * Sgeo_ isn't particularly interested in Clean being faster
14:00:57 <Sgeo_> There are some things that I can imagine being interested in
14:01:08 <Sgeo_> Other than the language itself
14:02:35 <Sgeo_> Say, things like a more.. convenient environment to work with, etc
14:02:58 <Sgeo_> Better module system or whatnot also, although I guess that's a language thing
14:04:23 * Sgeo_ gets bored and wanders off
14:09:44 <Sgeo_> "I think that there is a market for books with fewer pages; there
14:09:44 <Sgeo_> are many people out there that need to learn computer science, but do
14:09:44 <Sgeo_> not appreciate reading"
14:10:36 <Sgeo_> ...suddenly I think this Preface is meant in jest
14:14:14 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
14:15:50 -!- poiuy_qwert has joined.
14:19:33 <Sgeo_> Book says to use the Everything environment. There is no Everything environment.
14:22:51 -!- FireFly has joined.
14:34:14 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
14:35:53 -!- poiuy_qwert has joined.
14:37:40 -!- poiuy_qwert has quit (Read error: Operation timed out).
14:37:55 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:59:39 -!- Wamanuz has joined.
15:00:44 -!- poiuy_qwert has joined.
15:00:56 -!- azaq23 has quit (Ping timeout: 272 seconds).
15:03:38 -!- copumpkin has joined.
15:03:39 -!- copumpkin has quit (Changing host).
15:03:39 -!- copumpkin has joined.
15:06:31 -!- oerjan has joined.
15:09:32 <oerjan> <j-invariant> I think it's just haskell without monads?
15:09:53 <oerjan> iirc clean is complete capable of monads, it's just that it doesn't need them for IO
15:10:35 <oerjan> using uniqueness typing instead to thread the "world" through computations.
15:11:33 <Sgeo_> Is it interesting enough to play with?
15:11:38 <Sgeo_> And fall in love with? >.>
15:11:46 <oerjan> this allows many computations to be performed with in-place updating, but yet be conceptually pure
15:12:14 <Sgeo_> I think I like that thought
15:12:26 <Sgeo_> Better module system etc
15:12:50 * oerjan doesn't recall what module system clean has
15:15:02 -!- MigoMipo has joined.
15:16:12 <Sgeo_> "It is also available with limited input/output capabilities and without the "Dynamics" feature for Apple Macintosh, Solaris and Linux."
15:18:15 <fizzie> I like things that have a theme naming thing going on. Like the "awesome" window manager, which has a standard scripting library called "awful", a theming thing called "beautiful", widget thingies called "wicked", "obvious" and "vicious", a notification thingie called "naughty", and so on.
15:18:29 <Sgeo_> fizzie, so do you love Newspeak?
15:18:33 <fizzie> (To clarify: I don't like the WM that much, just the naming.)
15:18:49 <Sgeo_> Brazil, Hopscotch, MiniTest, etc
15:19:16 <Sgeo_> [Not actually sure if Hopscotch fits thematically]
15:20:02 <Sgeo_> Why didn't shutup bother me?
15:20:04 -!- Sgeo_ has changed nick to Sgeo.
15:20:50 -!- BeholdMyGlory has joined.
15:21:13 <fizzie> I can't figure out any examples of actual things that I'd like that'd have a clear naming theme right now, it's just the idea I like.
15:21:48 <fizzie> Well, Chicken Scheme extensions are called "eggs", and I think it has some other related terms in use.
15:22:18 -!- pikhq has quit (Ping timeout: 240 seconds).
15:24:57 -!- pikhq has joined.
15:26:41 <fizzie> Right, the object system (one of them) was called COOPS.
15:29:35 <Sgeo> There's several?
15:37:55 <fizzie> COOPS is one of those eggs
15:40:35 <fizzie> There are approximately 7 different object systems in the egg repository.
15:41:29 <fizzie> http://wiki.call-cc.org/chicken-projects/egg-index-4.html#oop
15:42:15 <Sgeo> Are they all incompatible?
15:44:26 <fizzie> They're made by different people for different purposes, I don't see why (or even how, except kludgily) they should be compatible.
15:44:48 <Sgeo> "Procedures can have no more than 4096 arguments." --Mozart/Oz limitation
15:44:51 * Sgeo is not worried
15:47:43 <j-invariant> "Procedures can have no more than 4096 arguments." --Mozart/Oz limitation
15:47:50 <j-invariant> "Procedures can have no more than 1 arguments." --Haskell limitation
15:49:49 <oerjan> "Look, this isn't an argument." --Monty Python
15:55:05 * Sgeo mildly deja vus
15:58:04 -!- Phantom_Hoover has joined.
15:58:04 -!- Phantom_Hoover has quit (Changing host).
15:58:04 -!- Phantom_Hoover has joined.
16:13:45 <Phantom_Hoover> Act like interpreting the date in binary means something.
16:14:35 <variable> Phantom_Hoover, its just for fun - get over it
16:15:20 <Phantom_Hoover> "It's just for fun" can't be used as an all-purpose justification.
16:16:18 <hagb4rd> justified with empty words, the party gets better and better
16:17:08 <Phantom_Hoover> Now, 11/11/11 11:11:11 and a ninth of a second will be the time for partying.
16:17:18 * hagb4rd went away alone, with nothing left but faith
16:17:53 <Phantom_Hoover> Regrettably, it's 11 seconds after the Remembrance Day two-minute silence starts, so partying may be frowned upon.
16:32:33 -!- cal153 has quit (Ping timeout: 260 seconds).
16:32:37 -!- Behold has joined.
16:32:40 <Vorpal> Phantom_Hoover, yeah the only reason to party is when you get a power of two in unix time ;)
16:33:00 <Sgeo> RealPlayer still exists?
16:36:30 -!- BeholdMyGlory has quit (Ping timeout: 276 seconds).
16:46:08 -!- Behold has changed nick to BeholdMyGlory.
16:54:45 -!- elliott has joined.
17:03:23 -!- cal153 has joined.
17:06:36 <elliott> 18:30:43 <copumpkin> j-invariant: it says "adjunction" posted that
17:06:40 <elliott> copumpkin: I think j-invariant is adjunction
17:08:16 <elliott> variable: excuse me, I believe your information to be inaccurate
17:08:19 <elliott> variable: Java uses timsort
17:08:31 -!- asiekierka has joined.
17:08:37 <elliott> It operates by finding runs in the data. Descending runs are reversed. Then, the size of the run is checked against the minimum run size for that particular array size. The minimum run size depends on the size of the array. For an array of fewer than 64 elements, the minimum run size is the entire array, making timsort essentially a fancy insertion sort in that case. For larger arrays, a number between 32 and 64 is chosen so that the
17:08:37 <elliott> size of the array divided by the minimum run size is equal to, or slightly smaller than, a power of two. The final algorithm for it simply takes the most significant six bits of the size of the array, adds one if any of the remaining bits are set, and uses that as the minimum run size. If the run is too small, insertion sort is used to increase the run until it's the minimum size. The runs are then merged together via merge sort to pr
17:08:37 <elliott> oduce the final sorted array.[3]
17:08:41 <elliott> variable: not quickxort-based
17:08:51 <elliott> variable: well ok this is only used since Java 7
17:09:16 <elliott> 19:18:10 <Sgeo> How long until we have non-Python languages running on CPython?
17:09:20 <elliott> Sgeo: um a few things do that
17:09:22 <copumpkin> elliott: that's what I think too (I think I wrote it after that)
17:09:23 <elliott> Sgeo: for instance Clue is going to
17:09:30 <elliott> copumpkin: by "I think", I mean 99% sure
17:09:38 <elliott> copumpkin: also, I think he was quoting it as mockery ...
17:09:58 <copumpkin> except that given his other posting history, it was pretty obviously not what he thought
17:10:15 <Sgeo> elliott, huh. Are there any languages that don't have other languages running on their... system?
17:11:06 <elliott> copumpkin: I think j-invariant was trying to see how many points it'd get :)
17:11:17 <elliott> anyway, /me continues logreading
17:11:22 <elliott> that's one thing you zany #haskellers can't do!
17:11:26 <elliott> we have nice, digestible 100k logs
17:11:48 <elliott> 19:19:18 <variable> oerjan, Sgeo btw - I was talking about an array of ints
17:13:41 <elliott> 19:21:17 <oklopol> there should be a nonstandard set theory: \exists set S such that S^N is finite, but S is nonempty
17:13:41 <elliott> 19:21:28 <oklopol> (from nonstandard analysis, although that was probably clear)
17:13:48 <elliott> oklopol: omg that would be amazing... invent that
17:19:05 <elliott> 21:38:28 <Sgeo> All C#-like languages bore me
17:19:05 <elliott> 21:39:41 * Sgeo says that as he listens to a song he STRONGLY associates with Vala
17:19:05 <elliott> how the fuck do you associate a song with Vala
17:20:02 <oklopol> "<Vorpal> Phantom_Hoover, yeah the only reason to party is when you get a power of two in unix time ;)" <<< ah, all ones!
17:20:13 <oklopol> along the lines of "11/11/11 11:11:11 and a ninth of a second"
17:20:51 <Vorpal> oklopol, oh, all ones too. Which is just power of two - 1
17:21:04 <Sgeo> elliott, by being extremely obsessed with a song and having it on loop at the same time as reading about the language
17:23:42 <oklopol> Vorpal: a power of two has more 1's than power of two - 1
17:24:28 <elliott> but the ones are WORTH more!
17:24:37 <elliott> oklopol: so did you hear, cled is working
17:24:39 <oklopol> oerjan: it has infinitely many doesn't it?
17:25:06 <elliott> oklopol: btw re first-class functions
17:25:12 <oklopol> that's why i explained: 'along the lines of "11/11/11 11:11:11 and a ninth of a second"'
17:25:15 <elliott> oklopol: you should NOT add lambda syntax
17:25:25 <Vorpal> but it doesn't count unless you convert it to graycode first
17:25:25 <elliott> oklopol: in e.g. map, the lambda parameter must be an existing clue function :)
17:25:26 <oklopol> elliott: oh i was not gonna, don't worry
17:25:53 <oklopol> elliott: that was the original plan, however, how about single-example lambdas?
17:26:17 <elliott> oklopol: here's how i'd do it
17:26:17 <elliott> map ~ {. <succ> [] -> [] } map ~ {:. <succ> [1 2 3] -> [2 3 4] : <succ> [2 3] -> [3 4] } map ~ []; car; cdr
17:26:23 <elliott> obviously <succ> can be any clue function you want
17:26:26 <oklopol> or like xxx ~ function 1; function 2; helper object; { . 1 -> 2. 3 -> 6 };
17:26:39 <elliott> oklopol: hmm i don't see why you'd need that?
17:26:45 <elliott> clue is good at inferring functions, after all
17:27:36 <oklopol> just a random idea, what you said is pretty much exactly what i was thinking
17:27:48 <Sgeo> What's with more of the < >?
17:27:49 <variable> elliott, I timsort is an interesting sort - but I don't believe Java uses it - at least not in the current implementation
17:27:55 <oklopol> Sgeo: because names can have spaces
17:28:09 <elliott> Timsort is a hybrid sorting algorithm derived from merge sort and insertion sort, designed to perform well on many kinds of real-world data. It was invented by Tim Peters in 2002 for use in the Python programming language, and has been Python's standard sorting algorithm since version 2.3. It is now also used to sort arrays in Java SE 7,[1] and on the Android platform.[2]
17:28:17 <oklopol> so you probably want a separator that's not whitespace
17:28:29 <oklopol> but because whitespace is the separator, the only non-ugly way is to enclose the function name
17:28:32 <elliott> oklopol: <> is nice because it used to have another meaning, so it breaks backwards compat!
17:28:38 <elliott> oklopol: {} and [] are kinda taken, and () is ugly
17:28:44 <Sgeo> What was the other meaning?
17:29:13 <oklopol> "just this thing having to do with the hardest thing to explain about clue"
17:29:25 <oklopol> i just can't manage to do it succinctly
17:29:37 -!- Behold has joined.
17:29:56 <oklopol> all functions are switch statement + expression with possibly recursion; <> was used to give a function used in the switch statement
17:30:05 <oklopol> now, that's inferred completely, as well
17:30:05 <elliott> yeah and you always used <id>
17:30:08 <elliott> bcuz it was made of retard
17:30:31 -!- BeholdMyGlory has quit (Read error: Operation timed out).
17:32:34 <j-invariant> http://en.wikipedia.org/wiki/Axiom_%28computer_algebra_system%29
17:33:11 <oklopol> lol ~ {. {. <{. 6 -> 7} ~ succ> 3 -> 5 } 4 -> 8 }
17:33:25 <elliott> oklopol: xD i... how should i say this... no :P
17:33:35 <oklopol> hmm, i suppose you need explicit apply
17:33:42 <elliott> oklopol: but um yeah why compromise purity like that ...
17:33:42 <Phantom_Hoover> <j-invariant> http://en.wikipedia.org/wiki/Axiom_%28computer_algebra_system%29 ← what about it?
17:33:44 <oklopol> because not having it would be retarded
17:33:47 <elliott> oklopol: it's not like adding another function is much work
17:33:52 <elliott> Phantom_Hoover: i was talking about it w/ j-invariant yesterday
17:33:56 <elliott> oklopol: also, "explicit apply"?
17:34:00 <elliott> you mean like, apply being a function?
17:34:21 <elliott> oklopol: why not cons(#0(car(#1)) @(cdr(#1)))
17:34:32 <Phantom_Hoover> elliott, did the conversation consist of "<elliott> It sucks. <j-invariant> I agree."?
17:34:38 <elliott> Phantom_Hoover: no, i think it's cool
17:34:46 <elliott> and i think it might be what j-invariant was inventing mostly
17:34:48 <oklopol> elliott: because objects shouldn't have operations attached to them
17:34:51 <oklopol> functions are no exception
17:34:51 -!- doraemon has joined.
17:35:03 <elliott> oklopol: surely, then, you should have to include apply in every list
17:35:12 <elliott> to call all the other functions in the bag
17:35:13 -!- doraemon has changed nick to Guest32802.
17:35:25 <elliott> (done by using apply in an infinite regress, naturally)
17:35:35 <oklopol> elliott: that is true, but see in the grand scheme of things, apply would be good, since in clue 2.0, "function tools" would be included by default
17:35:44 <oklopol> just like list tools would be if you were using alist
17:35:46 <elliott> oklopol: fair enough then.
17:35:58 <elliott> oklopol: i hope clue 2 doesn't break cled too horribly.
17:36:06 <Guest32802> Hi everyone, I have a question regarding a bf converter. I'd like to write a converter that converts a given string to bf, with one small catch: I
17:36:16 <Guest32802> I would like it to optimize the output as much as possible
17:36:23 <oklopol> elliott: and while apply would be in all your millions of higher-order functions, it's still possible you sometimes don't want to be able to apply
17:36:25 <Guest32802> i.e. the shortest string of bf that it can produce
17:36:30 -!- Guest32802 has changed nick to doraemon___.
17:36:41 <oklopol> you might say just want to compose! wait...
17:36:45 <Gregor> doraemon___: It is not generally possible to prove that a string is the shortest possible.
17:36:53 <elliott> doraemon___: that is provably impossible to do
17:37:08 <doraemon___> I'd like to produce a short, optimized string
17:37:14 <elliott> sure but you can't do the _shortest_
17:37:22 <elliott> but that's what you said :P
17:37:24 <oklopol> elliott: could've been an answer to me as well D:
17:37:27 <Gregor> !bf_txtgen Hello, doraemon___!
17:37:28 <oklopol> "<elliott> doraemon___: that is provably impossible to do"
17:37:35 <EgoBot> 163 +++++++++++++++[>+++++>+++++++>+++++++>+++<<<<-]>---.>----.>+++..+++.>-.------------.<<-.>.+++.-----------------.<+.++++++++.++.-.>--...>+.-----------------------. [164]
17:37:53 <elliott> txtgen is not a very good example, it's all yucky and non-deterministic
17:38:04 <elliott> but i think all the best generators are like private projects that havent been released
17:38:10 <elliott> i've heard people doing them in here
17:38:13 <elliott> doraemon___: it uses a genetic algorithm
17:38:24 <elliott> it's prolly just hill-climbing
17:38:43 <oklopol> yeah it's some sort of hill-climbing
17:38:53 <j-invariant> for very small inputs direct: for larger inputs ASCII: for HUGE inputs gzip
17:38:56 <oklopol> i read it once, but don't really remember, it definitely wasn't genetic tho
17:39:07 <doraemon___> My friend was using a method of predicting all the possibilities within a range, like 1...n
17:39:15 <Gregor> doraemon___: bf_txtgen was was written by calamari. See http://codu.org/projects/egobot/hg/index.cgi/file/tip/multibot_cmds/interps/bf_txtgen
17:39:20 <doraemon___> It was only 16 chars shorter than my brute force method
17:39:21 <elliott> use genetic algorithms to evolve a bf text generator >:D
17:39:48 <Gregor> Nothing EgoBot does is secret :P
17:39:55 <Gregor> (And most of it isn't mine either)
17:40:06 <doraemon___> So that's probably one of the best methods in your opinion?
17:40:20 <Gregor> It's the best one you can get your hands on right now.
17:40:21 <oklopol> yeah Gregor can't really do anything right so he gets other people to write his code and takes all the credit
17:40:24 <Gregor> I have no doubt that there are better ones.
17:40:30 <oklopol> and sometimes write 1000 page books about this
17:40:32 <elliott> oklopol: he tried to do that with me and cunionfs
17:40:35 <Gregor> oklopol: It's worked pretty well so far.
17:40:39 <elliott> i suspect it's because he's a jew (<-- NOTE THIS IS NOT SERIOUS)
17:40:49 <j-invariant> I conjecture that it's possible to find the optimal brainfuck program for all strings of length below 256
17:41:09 <Gregor> j-invariant: It is in fact /possible/ to find the optimal brainfuck program for any given string, it's just extremely expensive.
17:41:19 <elliott> j-invariant: hey we're actually inching towards a place where I can yell halting problem legitiamtely
17:41:28 <elliott> Gregor: well, with human ingenuity, yes
17:41:38 <oklopol> j-invariant: did you know the busy beaver function hasn't been solved for was it 5 or 6 states and binary?
17:41:43 <Gregor> elliott: Brute-force try every BF program from shortest to longest until you find one that prints the program. QED.
17:41:45 <elliott> but not dumb-mechanically, because that program that runs for 100 years might then print out the right string
17:41:53 <elliott> Gregor: what about ones that don't halt
17:42:01 <elliott> Gregor: that works, if you have infinite time to run them all concurrently
17:42:05 <elliott> j-invariant: right, so with human ingenuity
17:42:07 <oklopol> j-invariant: okay, just that yours seemed kind of astronomical compared to that
17:42:15 <elliott> Gregor's is stupid though :P
17:42:28 <elliott> j-invariant: that could work. maybe. for 64 char strings, sure, not 256. i'd wager.
17:42:46 <j-invariant> oklopol: I don't see a direct connection with busy beaver?
17:42:48 <doraemon___> elliott: I think you need an Oracle to solve the halting problem :p
17:43:01 <oklopol> "<Gregor> j-invariant: It is in fact /possible/ to find the optimal brainfuck program for any given string, it's just extremely expensive." <<< there's not even a semialgorithm for this
17:43:21 <EgoBot> 126 ++++++++++[>+++++++>++++++++++>++++>+<<<<-]>++.>+.+++++++..+++.>++++.------------.<++++++++.--------.+++.------.--------.>+.>. [958]
17:43:47 <elliott> doraemon___: damn you larry ellison
17:45:11 <oklopol> j-invariant: there's none, but i doubt there's an essential difference in the hardness of the problem, 256 needs a pretty long bf program, and i doubt you can say *anything* about certain bf programs of really short length
17:45:43 <Sgeo> Have you ever played a game.. it was a web-based game
17:45:47 <oklopol> j-invariant: the ones that happen to be hard
17:46:04 <elliott> gee i can't imagine the name Doraemon being popular
17:46:04 <Sgeo> With battles, etc. Someone with your name (I think) was building a superweapon
17:46:08 <Sgeo> I don't remember the name
17:46:09 -!- asiekierka has quit (Ping timeout: 272 seconds).
17:46:15 <j-invariant> the shortest difficult brainfuck program I can think of is collatz
17:46:20 <Sgeo> Spacefed I think?
17:46:54 <Sgeo> Space Fed Galactic Conquest
17:47:16 <oklopol> j-invariant: erm, you can implement any tm in bf with a constant size increment can't you?
17:47:47 <j-invariant> What's the shortest brainfuck program that we don't know whether it terminates or not?
17:47:58 <oklopol> say keep state in n first bits in every second bit
17:48:20 <oklopol> erm what, how small is this collatz?
17:48:26 <elliott> http://www.hevanet.com/cristofd/brainfuck/collatz.b
17:48:29 <j-invariant> should make an automated prover for halting of brainfuck, then use that to kill of boring candidates
17:48:30 <elliott> it takes decimals on input
17:48:32 <Sgeo> It would have been in 2003
17:48:36 <elliott> and have it just iterate through every natural
17:48:45 <elliott> that should be fairly short
17:48:48 <elliott> probably shorter than what's there even
17:49:17 <doraemon___> Sgeo: funny how 2003 seems like such a long time ago now...
17:49:40 <oklopol> isn't that collatz only long because of parsing input
17:49:53 <oklopol> shouldn't be more than a few characters, division isn't very hard
17:50:53 <oklopol> but anyway, i find it unlikely that the shortest program your halting prover gets stuck in makes any sense at all, it's just a program with a random characters that happens to not have trivial behavior.
17:52:10 <oklopol> bf might certainly be especially slow at hitting something like that
17:52:39 <elliott> yeah if you made it just iterate, not print, and not take input, that collatz could be tiny
17:53:05 <oklopol> i'll make an arbitrary conjecture: bf programs are easy to prove up up to size 38
17:53:30 -!- hagb4rd has quit (Read error: Connection reset by peer).
17:53:41 <elliott> oklopol: how do you define SIZE
17:53:54 <Gregor> How do you define "38"?
17:54:00 <Gregor> How do you define "I'll"?
17:54:03 <elliott> oklopol: so can we have N-input, N-output functions
17:54:05 <oklopol> Gregor: the obvious way, if there's a dispute, i'm right, you're wrong
17:54:06 <elliott> oklopol: specifically, 0-input ones
17:54:34 <oklopol> elliott: what, in these bf programs?
17:54:56 <oklopol> oh i totally didn't see that coming
17:55:20 <oklopol> http://www.youtube.com/watch?v=-CGIii_eTOk <<< why exactly did i have this retarded shit in my browser?
17:55:38 <oklopol> elliott: i don't like how 0 io looks like, syntactically
17:55:44 <oklopol> otherwise i'd have no potato with them
17:55:51 <elliott> oklopol: sure, but it makes cled so less ugly...
17:56:02 <oklopol> maybe they are allowed in the language, but you can't actually write any?
17:56:05 <elliott> you can have the ast in an invalid state, and all it does is sit there looking slightly ugly
17:56:17 <elliott> oklopol: well let's put it this way
17:56:23 <elliott> oklopol: you're going to add N+1-output functions right?
17:56:29 <elliott> do you know who thinks 0 isn't a natural?
17:56:34 <elliott> and do you know what set you'd be using
17:56:45 <elliott> you, if you do that, are hideous
17:56:53 <oklopol> maybe i am hideous, you haven't seen me
17:57:31 <oklopol> well i was pretty sexy in that pic so i guess i have nothing more to say
17:57:44 <elliott> OK DUDE N-INPUT-OUTPUT BITCH
17:57:57 <oklopol> no syntax for them must ever exist.
17:58:06 <elliott> oklopol: um you're adding syntax for N-output
17:58:26 <oklopol> yeah, just whitespace separate the outputs
17:58:41 <elliott> oklopol: it's for the greater good dude
17:58:50 <elliott> but you could also write clue code like this
17:58:57 <oklopol> MAYBE A SEPARATE SYNTAX FOR WRITING ZERO ARG FUNCTIONS
17:59:01 <elliott> this_Is_A_Name~{: . hello->[1 2
17:59:17 <elliott> because you're a good clueist
17:59:24 -!- cheater99 has joined.
17:59:27 <elliott> same reason you wouldn't do "lol ~ {. -> }", not only is it useless
17:59:47 <elliott> oklopol: alternatively: remove N-inputs and just have every function take one input
18:00:20 <oklopol> okay have your fucking party, i don't actually give a shit about whether {. -> } is legal
18:00:46 <oklopol> {. -> 1} will be totally useful with hardcore functions
18:00:50 <oklopol> by which i mean higher-order
18:00:52 <Gregor> wtfbbq is going on here :P
18:00:57 <elliott> oklopol: i have the perfect way to write it
18:01:08 <elliott> oklopol: .-> is the lambda arrow's retarded cousin
18:01:25 -!- cheater- has quit (Ping timeout: 240 seconds).
18:01:35 <elliott> oklopol: anyway actually implementing that will have to wait for you to add n-outputs, so :P
18:01:44 <elliott> and force you to replace, not delete
18:01:48 <elliott> why didn't i think of that
18:01:54 <elliott> because inserting a branch is like liquid pain
18:01:56 * oklopol touches with red thing in mouth
18:04:16 <oklopol> for some reason i know that word in english, but i remember i didn't know it in finnish until a friend of mine whose dad is a dentist told me
18:04:23 <oklopol> it's like the most useless thing ever
18:04:36 <elliott> http://theorymine.co.uk/ haha what
18:05:52 -!- oerjan has quit (Quit: Drøvel drøvel drøvel).
18:05:59 <oklopol> i would certainly like to know what they look like
18:06:05 <j-invariant> what's the best automated termination checker for brainfuck?
18:06:29 <elliott> j-invariant: there is none :P
18:06:37 <elliott> it's often trivial to prove
18:06:40 <j-invariant> probaly just running the damn thing for 100000 iterations
18:06:51 <elliott> e.g. [ on an even number with balanced > and < means it loops forever
18:07:04 <elliott> well. with no nested loops
18:07:44 <oklopol> yeah [-] is a counterexample
18:08:16 <elliott> actually an automated termination checker for bf would be fun
18:08:41 <oklopol> well there are many obvious things you can do, like look at which cells it actually changed, and wait for loop
18:08:56 <j-invariant> if you just code all the obvious rules that would be a good start
18:09:09 <elliott> there's an O(1) way for certain loops
18:09:11 <j-invariant> then you can inspect the programs it doesn't get, and learn more sophistcated rules from them
18:09:14 <elliott> that can tell you it doesn't halt
18:09:21 <elliott> based on extended euclidean algorithm
18:09:24 <elliott> this is assuming 8-bit cells
18:09:33 <elliott> it could easily be modified to spit out a certificate to prove it
18:09:53 <oklopol> j-invariant: nice idea, but usually the first one you inspect will be completely out of your reach
18:10:08 <j-invariant> oklopol: I doubt that, why do you say that? Think it will be a collatz type thing?
18:10:16 <oklopol> my experience is mostly based on trying to find the smallest aperiodic set of wang tiles in the summer
18:10:17 <j-invariant> oklopol: if so, then that's my goal! I want to find that program
18:10:40 <oklopol> we ran computer simulations, and when a tile set didn't work, we looked at it manually
18:10:41 <Phantom_Hoover> "This really captured my imagination and I'm delighted to buy TheoryMine's first Theorem. What an inventive use of Scotland's expertise in artificial intelligence to create such a novel and fun product". — TheoryMine testimonials.
18:10:56 <oklopol> and you could never say anything about them, after hours, you just ended up running the computer program for longer...
18:10:58 * Sgeo decides that The Onion Audio news suck
18:11:05 <Sgeo> It's the only sucky Onion thing
18:11:24 <elliott> Sgeo: the onion is good for the headlines.
18:11:25 -!- sebbu has joined.
18:11:25 <Phantom_Hoover> Clearly she is personally responsible for the suckishness of the computing curriculum.
18:11:27 <elliott> the articles are superfluous.
18:11:30 <j-invariant> oklopol: to my knowledge, every set of wang tiles except one is based on substitution
18:11:41 <oklopol> well, there was one that had something the program didn't catch: there was a way to convert it into a smaller one that would've had to be aperiodic as well
18:11:42 <j-invariant> and the one that's not is based on irrational numbers
18:11:43 <elliott> j-invariant: proposed first step in the halting checker: see if esotope produces a simple infinite loop for it
18:11:48 <elliott> j-invariant: it has a bunch of checks for that, i believe
18:11:49 <oklopol> j-invariant: yeah, that smallest one is not based on substitution
18:11:52 <elliott> j-invariant: proposed first step in the halting checker: see if esotope
18:11:55 <elliott> 233 elif len(result) == 1 and result[0][0] == result[0][1]:
18:11:56 <elliott> 234 if result[0][0] is None:
18:12:04 <oklopol> and that's made by my employer
18:12:04 <elliott> can't find the extended euclidean thing
18:12:12 <oklopol> which is why i was doing that in the sumemr
18:12:43 <elliott> j-invariant: http://hg.mearie.org/esotope/bfc/file/5bdae1176f46/bfc/opt/simpleloop.py
18:12:51 <oklopol> (actually that's not completely true, since his colleaque changed a small detail to get one less tile, but that is a less interesting story)
18:12:58 <elliott> 90 # let w be the overflow value, which is 256 for char etc.
18:12:58 <elliott> 91 # then there are three cases in the following code:
18:12:59 <elliott> 92 # i = 0; for (j = 0; i != x; ++j) i += m;
18:13:02 <elliott> 94 # 1. if m = 0, it loops forever.
18:13:04 <elliott> 95 # 2. otherwise, the condition j * m = x (mod w) must hold.
18:13:06 <elliott> 96 # let u * m + v * w = gcd(m,w), and
18:13:08 <elliott> 97 # 1) if x is not a multiple of gcd(m,w), it loops forever.
18:13:10 <elliott> 98 # 2) otherwise it terminates and j = u * (x / gcd(m,w)).
18:13:14 <elliott> 100 # we can calculate u and gcd(m,w) in the compile time, but
18:13:16 <elliott> 101 # x is not (yet). so we shall add simple check for now.
18:13:42 <elliott> Phantom_Hoover: also http://dream.inf.ed.ac.uk/events/automatheo-2010/papers/automatheo2010_submission_1.pdf
18:14:04 <elliott> j-invariant: how is it that all these systems that seem to do better than coq get overlooked, btw?
18:14:08 <elliott> j-invariant: HOL and Isabelle and stuff
18:14:14 <oklopol> j-invariant: yeah, the ones that people have been able to prove things about come from somewhere; that's exactly my point, when they don't come from somewhere, you're screwed
18:14:32 <elliott> j-invariant: I can understand Mizar, which has a very comprehensive development, being overlooked for being proprietary and non-constructive; and Automath too for similar reasons and also being old
18:14:54 <oklopol> for wang tiles, it seems possible that the best solution actually makes sense, since we're at 13, and 9 has been proven not to contain aperiodics afair
18:16:02 <oklopol> elliott: oh that was for balanced unnested?
18:16:12 <oklopol> well obviously that's trivial, since you just have to look at the evolution of the current cell
18:16:50 -!- Zuu has quit (Read error: Connection reset by peer).
18:17:46 <oklopol> last week i had 28 hour days, this week they seem to be more like 20
18:17:47 <j-invariant> elliott: help me write a brainfuck termination checker?
18:18:12 <elliott> j-invariant: sure ... as long as it's not TOO hard
18:18:18 <elliott> j-invariant: what proof language should the certificates be in?
18:18:40 <j-invariant> elliott: I always have in mind the version where all the cells can contain infinitely large integers
18:18:55 <elliott> j-invariant: i dislike that version intensely
18:18:59 <oklopol> either that or binary, everything else is retarded
18:19:01 <elliott> j-invariant: that collatz uses 8-bit cells anyway
18:19:15 <elliott> j-invariant: most programs are written for 8-bit cells anyway
18:19:16 <j-invariant> it's just the 8bit thing is so bloody confusing
18:19:22 <oklopol> except holding up to 37, and wrapping to 19
18:19:24 <j-invariant> I can never get my head around that wrap around stuff
18:19:30 <elliott> if we have arbitrary integers,
18:19:33 <elliott> then the tape must be only two long
18:19:50 <elliott> j-invariant: the nice thing about 8-bit integers
18:19:58 <elliott> j-invariant: is that they make the work a bit easier
18:20:03 <elliott> because the tape sort of segments them out
18:20:10 <elliott> 8-bit non-negative integers
18:20:18 <elliott> when writing a termination checker
18:20:23 <oklopol> that's just plain not true!
18:20:32 <elliott> oklopol: you can't do that fancy euclidean stuff with arbitraries!
18:20:38 -!- Zuu has joined.
18:20:38 <oklopol> everything gets really hairy, a mathematician would never have wrap 256
18:21:07 <elliott> well a boolfuck termination checker is a lot more boring
18:21:10 <oklopol> elliott: umm, for infinites, that algo doesn't even need modular arithmetic
18:21:15 <elliott> because there's less existing programs to poke it at
18:21:40 <oklopol> that is, you don't even *need* that fancy euclidean stuff
18:22:00 <oklopol> infinite things are usually much simpler than finite ones
18:22:04 <elliott> how can i feed mandelbrot.b do it
18:22:41 <oklopol> you won't be able to prove anything about the halting of mandelbrot.b anyway
18:23:24 <oklopol> i've heard j-invariant sucks at coding
18:23:37 <oklopol> from him, like, umm, yesterday?
18:23:46 <oklopol> and if he doesn't know, who will
18:24:07 <oklopol> don't even get me started about you
18:24:26 <oklopol> you maybe the best, but i ask you: best at *what*?
18:24:57 <oklopol> oh yeah i forgot what we were talking about
18:27:18 <oklopol> does it play well with latex
18:27:21 <j-invariant> 18:22 < oklopol> you won't be able to prove anything about the halting of mandelbrot.b anyway
18:27:31 <elliott> oklopol: it always uses a condom, why do you ask
18:27:39 <elliott> j-invariant: i think you're a little too enthusiastic about the powers of automated proving
18:28:02 <oklopol> j-invariant: i don't even remember the algorithm
18:28:05 <j-invariant> elliott: isn't it basically for(int i = 0; i < 100; i++) { do stuff }
18:28:27 <oklopol> then it's very possible you will be able to prove stuff about that
18:28:29 <elliott> j-invariant: I think we should use esotope's code partly
18:28:32 <elliott> j-invariant: it has this intermediate format
18:28:47 <elliott> does a lot of constant folding, adds arithmetic expressions
18:28:52 <elliott> even detects some infinite loops
18:28:57 <elliott> that would be a lot easier to prove on i feel
18:33:29 <elliott> j-invariant: so um... what certificate lang
18:34:06 <j-invariant> I would use Coq but that's just because I have it installed
18:34:07 <elliott> j-invariant: i don't know :D
18:34:16 <elliott> j-invariant: auto-generating Coq sounds a bit painful?
18:34:26 <elliott> j-invariant: I think generating lambda expressions is probably the "easiest" thing
18:34:29 <elliott> rather than automating tactics
18:35:05 <elliott> j-invariant: so i really don't know :)
18:35:30 <j-invariant> probably just program the whole thing in Ltac
18:36:10 <elliott> j-invariant: I was thinking it'd be a Haskell program
18:36:19 <elliott> j-invariant: of course we _could_ just not generate any certificates, but that's much less fun
18:36:36 <oklopol> or you could think about that when your program is ready up to that point
18:36:40 <j-invariant> elliott: otherwise there may be a bug in the program
18:36:48 <elliott> oklopol: um it's actually relevant from the start
18:36:52 -!- MigoMipo_ has joined.
18:36:54 <elliott> oklopol: it has to use certificates from the very first line
18:37:05 <elliott> because the certificates must be generated as part of the process
18:37:08 <elliott> rather than after the fact
18:37:43 <elliott> oklopol: because that's how these things work?
18:37:49 <elliott> otherwise it's duplicated work
18:40:04 <oklopol> maybe sure the actual program will have to write certificates from the start, but i don't see why you'd need to know what proof language you'll be using from the start when writing the halting checker
18:40:08 -!- MigoMipo has quit (Ping timeout: 240 seconds).
18:42:20 <elliott> oklopol: because with certificate stuff, every single bit of reasoning involves a certificate
18:42:28 <elliott> if foo then doesn't halt else dunno
18:42:46 <elliott> if foo then (doesn't halt, proof that it doesn't halt in this specific case using general theorem involving "foo") else dunno
18:53:39 <elliott> i'm going to have to make my emacs font smaller
18:53:43 <oklopol> so what you're saying is the finding of the proofs is not actually harder compared to the proving
18:54:03 <elliott> oklopol: the point is that you can't really do just one.
18:54:13 <elliott> but yes, doing certificates _is_ actually pretty hard
18:55:12 <oklopol> well given that j-invariant complains about how hard it is to prove trivial things about every second day, it's hard not to believe that
18:55:13 <Sgeo> Maybe I should eat breakfast
18:55:25 <oklopol> all i'm saying is you don't have to do the search for the proof in a safe way+
18:55:47 <elliott> oklopol: also, yes, proving trivial things is hard in Coq etc.
18:55:54 <j-invariant> no it's not hard proving trivial things is it?
18:56:03 <elliott> oklopol has a very lax definition of trivial.
18:56:05 <j-invariant> I thought I was complaining abuot not having support for certain features
18:56:08 <oklopol> hard to say without knowing what kind of stuff you're going to do
18:56:26 <elliott> i don't think modelling category theory in type theory is
18:56:49 <oklopol> j-invariant: well maybe you've once complained about something and it sounded like you were complaining about something that was trivial, but actually you meant there was no nice way to do it or something
18:57:05 <oklopol> and yeah, i have a very lax definition of trivial
18:57:53 <oklopol> say existence of infinitely many primes is trivial
18:58:09 <elliott> j-invariant: why doesn't emacs always have two copies of every buffer
18:58:12 <oklopol> well maybe i would say that's simple
19:00:11 <elliott> j-invariant: have you ever used teco, i think everyone should use teco
19:00:59 <oklopol> it's possible that in the case of bf programs, there isn't really much of a search stage
19:01:54 <oklopol> but hard to say without knowing what specific things you're going to prove the halting of
19:02:53 -!- sebbu2 has joined.
19:03:17 <elliott> j-invariant: it's great, because instead of using a program to program
19:03:20 <elliott> j-invariant: you program to program
19:03:26 <elliott> every editor operation is a little mini program :)
19:03:32 <elliott> now you have two problems!
19:05:04 -!- elliott has quit (Remote host closed the connection).
19:05:31 -!- elliott has joined.
19:05:54 -!- sebbu has quit (Ping timeout: 265 seconds).
19:07:21 <elliott> oklopol: writing cled is so hard why do you do this to me
19:13:57 -!- BMG has joined.
19:14:34 -!- BMG has quit (Changing host).
19:14:34 -!- BMG has joined.
19:14:39 -!- BMG has changed nick to BeholdMyGlory.
19:17:01 -!- Behold has quit (Ping timeout: 246 seconds).
19:19:22 <elliott> j-invariant: write a program whose only function is to output a proof that it works correctly
19:19:27 <elliott> i.e., only ever outputs correct proofs
19:21:23 <j-invariant> elliott: the more sophisticated an automatical thoerem prover for brainfuck termination is, the further away turings liar program is
19:21:43 <j-invariant> e.g. a really simple termination checker could be reimplemented in brainfuck and lied to in maybe, 3000 symbols.
19:21:52 <j-invariant> But a very advanced one would take 10000 symbols
19:21:59 <elliott> j-invariant: i want to see that program :D
19:23:26 <j-invariant> it would be an implementation fo the termination checker looking at this program AND a quine
19:23:46 <j-invariant> and you fit the quine into the termination checker and do the opposite of what it says
19:24:28 <oklopol> j-invariant: that's not necessarily true, since the formal proof system could be implemented in 5000 symbols, making all your further efforts pointless
19:24:30 <j-invariant> It is a simple matter to make a stronger termination checker which can detect the termination of this pathological program
19:24:58 -!- sebbu2 has changed nick to sebbu.
19:24:59 <j-invariant> oklopol: oh you mean godel instead of turing: Okay, I get it
19:25:30 <oklopol> j-invariant: yeah it's a simple matter, as long as you don't expect to find a proof in the same formal system
19:26:07 <j-invariant> this is only termination certificates though -- the actual termination checker is written in a turing machine
19:26:21 <j-invariant> elliott: hey we should just cut the crap and write the termination checker in brainfuck
19:26:34 <elliott> j-invariant: oh yeah that sounds like a barrel of fun laughs
19:26:43 <elliott> but i have an even better idea to do first
19:27:12 <elliott> maybe have all my skin removed slowly before my internal organs are devoured by an angry goat, and then my skeleton is set on fire
19:27:37 <elliott> j-invariant: re i don't get it
19:27:42 <elliott> j-invariant: a program X, with only one function
19:27:53 <elliott> j-invariant: when X is invoked, it returns a proof certificate P
19:28:03 <elliott> j-invariant: this P is a proof of the statement that X works correctly
19:28:14 <elliott> j-invariant: example definition of "works correctly":
19:28:27 <elliott> where Ps is the set of proofs that X outputs
19:28:36 * Sgeo wonders how easy or difficult it is to make a self-hosting language
19:28:52 <elliott> so basically, it outputs a proof P that proves that every proof X outputs (of which there is only one, P) is correct
19:29:00 <Sgeo> I guess part of it really does require making a compiler, doesn't it?
19:29:14 <elliott> you could run it all on top of python
19:29:18 <elliott> like you run it all on top of x86
19:30:23 <j-invariant> Sgeo: it's a good feeling though when you delete the original
19:30:24 <Sgeo> But.. that's not that interesting, is it?
19:30:33 <Sgeo> j-invariant, right, that's what I want
19:30:45 <elliott> Sgeo: it's a good feeling when you delete the x86
19:30:50 <elliott> after creating a processor for your language
19:31:00 <elliott> after making sure your language is hosted independently of physics
19:31:08 <elliott> basically the idea is to replace everything with your language
19:31:17 -!- calamari has joined.
19:32:12 <elliott> j-invariant: deleting the original though, i would never do that
19:32:15 <elliott> what if i lose my interpreter binary
19:32:36 <elliott> that means all compilers have a contagious bug
19:32:38 <elliott> accidental trusting trust :D
19:33:00 <Sgeo> What did the original for gcc use?
19:33:09 <elliott> umm, they just used other C compilers.
19:33:17 <elliott> that's the advantage of doing it for a mostly portable language :P
19:33:35 <j-invariant> and check that compilation gives you back the compiler
19:33:35 <elliott> j-invariant: *machine code
19:33:42 <j-invariant> that's what to do if no programming languages exist
19:34:06 <elliott> j-invariant: assembly is a language
19:34:32 <elliott> http://www.reddit.com/r/Minecraft/comments/ezzh4/why_not/c1canyy?context=1 THIS IS THE BEST WORST IDEA EVER
19:34:46 <elliott> lol @ the recipe below that
19:34:49 <Sgeo> Does compiling to LLVM make sense?
19:35:13 <j-invariant> http://www.reddit.com/r/Minecraft/comments/ezzh4/why_not/c1cbsrt <-- haha
19:35:16 <elliott> writing x86 assembly is easier
19:35:49 <elliott> j-invariant: one obsidian in the topright
19:35:52 <Sgeo> elliott, are you serious?
19:35:56 <elliott> j-invariant: tnt to the right of that
19:35:56 <Sgeo> x86 is easier?
19:35:59 <elliott> j-invariant: diamond to the right of that
19:36:10 <elliott> llvm asm is pretty complex :P
19:36:14 <elliott> j-invariant: then below that
19:36:21 <Sgeo> Compilers compile into asm? Wouldn't machine code make more sense?
19:36:21 <elliott> j-invariant: a golden apple on the left
19:36:29 <elliott> Sgeo: sure, gcc outputs gnu assembly syntax
19:36:35 <elliott> Sgeo: machine code is just as easy, though :P
19:36:40 <elliott> if you define the instructions as names in your program
19:36:45 <elliott> that's like a ghetto assembler
19:37:39 <Sgeo> If I compile to x86, then certain things will be platform-dependent
19:37:44 <Sgeo> Erm, OS-dependent
19:38:03 <elliott> syscalls are easier than anything else anyway.
19:38:07 <elliott> you could just compile to C.
19:38:16 <elliott> Sgeo: llvm assembly is quite platform specific anyway
19:38:40 <Sgeo> elliott, you won't be able to try my super-cool language that is poorly designed and only exists to prove to myself that I can write a self-hosting language.
19:39:04 <Sgeo> elliott, I'm on Windows, and not particularly likely to switch to Linux to do this
19:39:14 <elliott> i don't even know if windows has syscalls
19:39:18 <augur> continuation-based backtracking! \o/
19:39:19 <elliott> and if they do calling them will probably be a bitch
19:39:23 <elliott> you could use dos-style interrupts
19:39:26 <elliott> but those are a bitch to use
19:39:29 <elliott> also, all the assemblers suck
19:39:35 <elliott> lol lol lol @ the idea of doing this on windows
19:40:31 <fizzie> Windows has syscalls but you rarely ever see them; you just call library functions instead.
19:40:45 <elliott> don't they have that fucked up calling convention
19:41:37 <fizzie> It's stdcall, which is a bit strange; callee cleans up the stack.
19:42:12 <elliott> fizzie: wait, so C functions re-push their arguments?
19:42:17 <elliott> to get popped right after?
19:42:19 <oklopol> augur: that's so yesterday
19:42:20 <elliott> that's the most brilliantly stupid thing ... ever
19:42:28 <augur> oklopol: yes but NOT FOR ME
19:42:44 <oklopol> didn't you get it yesterday?
19:43:06 <augur> well, i thought i did
19:43:09 <elliott> augur: it's also inefficient
19:43:09 <augur> but i just wrote some code
19:43:14 <augur> and figured it out
19:43:16 <fizzie> elliott: I don't know what that means. In foo(a,b,c) the caller does push c; push b; push a; call foo; and foo itself takes care of popping the arguments. (Unlike cdecl where the caller would adjust the stack back.)
19:43:17 <augur> elliott: oh sure, thats not the point
19:43:26 <augur> the point is to understand what people have thought of
19:43:31 <oklopol> then it's not yesterday, then it's today
19:43:42 <oklopol> elliott: you know who else is inefficient?
19:43:44 <elliott> fizzie: that seems actually saner for some things
19:44:06 -!- variable has quit (Read error: Connection reset by peer).
19:44:15 <fizzie> It looks a bit neater; though it then breaks worse than cdecl if the caller and callee disagree about the number of arguments.
19:44:24 <fizzie> And I think vararg functions are more messy somehow.
19:44:35 <augur> elliott: you werent prepubescent when you were 13 either
19:44:40 <augur> but thats not the point
19:44:47 <j-invariant> question: I have some coal and I want to make glass....
19:44:56 <augur> well im guessing you're not weird
19:44:57 <j-invariant> but should I use it to make glass or use it to find more coal?
19:45:02 <oklopol> liking 15yo is not really a philia
19:45:04 -!- variable has joined.
19:45:12 -!- rom9com1 has joined.
19:45:17 <augur> for oklopol, its reality!
19:45:42 <elliott> j-invariant: how much coal do you have
19:45:42 -!- rom9com has quit (Ping timeout: 246 seconds).
19:45:53 <elliott> j-invariant: i mean obviously you need to keep a lot for torches and shit
19:46:16 <elliott> j-invariant: well, 1 coal can make 8 glass out of 8 sand
19:46:27 <elliott> j-invariant: but you need torches to explore, and coal is useful besides
19:46:38 <elliott> j-invariant: getting e.g. 64 coal should not take long at all -- are you mining properly?
19:47:14 <oklopol> j-invariant: coal is very easy to find, just keep a couple boxes full of it to make sure you don't accidentally run out
19:47:36 <elliott> j-invariant: how are you mining
19:47:47 <elliott> many, many stacks of 64. but only oklopol does that.
19:47:47 <j-invariant> elliott: several different ways, to find out what works well
19:47:51 <elliott> you accumulate tons of it naturally usually
19:48:00 <j-invariant> The most coal I ever found was just by exploring, and noticing it on the sides of hills
19:48:07 <elliott> j-invariant: use the wiki, really :)
19:48:13 <elliott> j-invariant: http://www.minecraftwiki.net/wiki/Tutorials/Mining_Techniques lists all the viable mining techniques
19:48:19 <elliott> j-invariant: apart from that -- you do spelunk right?
19:48:38 <elliott> j-invariant: going into caves
19:48:40 <j-invariant> btw I also started a quarry because I wanted obsidian
19:48:58 <fizzie> My coal-box only has 7*64. :/
19:48:59 <Sgeo> j-invariant, if you want obsidian, find some lava
19:49:25 <elliott> j-invariant: really, don't be ashamed of reading the wiki, it's not fun to be all "oh how can i get coal" :)
19:49:37 <elliott> and since the game has no real objective... if it's not fun, just look it up
19:50:37 <j-invariant> I was just wondering if I should use it to set up somet mine or just create glass now
19:55:13 <j-invariant> elliott: I should build a spiral staircase that goes right down to lava
19:55:20 <Vorpal> j-invariant, check the wiki. Reading the wiki is fun.
19:55:42 <Vorpal> j-invariant, a straight one works fine? Though there aren't lava lakes everywhere. They are lava lakes after all
19:55:46 <oklopol> i doubt i have a full box of coal even on my local
19:55:59 <Vorpal> (with emphasis on lake)
19:56:06 <elliott> j-invariant: i've built a staircase that goes down to bedrock zomg :P
19:56:10 <oklopol> of course, i use it about once every 5 steps
19:56:57 <Vorpal> elliott, movecraft is fun btw. Sad it doesn't handle redstone, chests or doors yet
19:57:46 <oklopol> on esoserver you can just mine straight down because you can't die :(
19:57:47 <j-invariant> http://www.minecraftwiki.net/wiki/Tutorials/Quarry <-- dunno if this is a troll article or not
19:57:50 <Vorpal> or rotating the boat/shift/aircraft/whatever for turning
19:58:12 <oklopol> WHERE'S THE MINECRAFT IN THAT?
19:58:47 <oklopol> to neither, continuation to what i said earlier
19:59:41 <Vorpal> j-invariant, well if you are mining for cobble (which probably only happens when you are doing megascale structures) they a quarry can work well
19:59:51 <Vorpal> if you want ores then they are useless
20:00:36 <elliott> do hostile mobs spawn in trees?
20:00:59 <elliott> j-invariant: the Cube is basically a gigantic quarry
20:01:08 <j-invariant> elliott: I have a treehouse and a zombie sometiems spawns next to the tree ontop
20:01:19 <elliott> yeah my treehouse is open air :D
20:01:28 <Vorpal> j-invariant, do they spawn on leaves or on logs only?
20:01:43 <j-invariant> I have a layer of mud ontop of my house to grow trees on
20:02:40 <elliott> if a creeper spawns in the fucking tree i will die
20:02:44 <elliott> j-invariant: mud? you mean dirt? :P
20:03:05 <Vorpal> elliott, add some glass walls?
20:03:12 <Vorpal> elliott, or light up the tree?
20:03:19 <elliott> Vorpal: um this is first night
20:03:37 <Vorpal> elliott, well that is an easy way to protect yourself!
20:04:23 <elliott> [[In Beta, lava is less reactive with horizontal water flows. It also has a chance of forming redstone ore when water runs on top of it [citation needed]. Lava pools without a source will degrade to dirt after a given time period.]]
20:04:42 <elliott> lol, skeleton in the trees >_<
20:04:48 <Vorpal> also once movecraft gets fixed I think a yacht might be a cool living place. But at the moment that is not viable.
20:05:06 <elliott> or do the monsters always seem to be closer
20:05:10 <Vorpal> <elliott> [[In Beta, lava is less reactive with horizontal water flows. It also has a chance of forming redstone ore when water runs on top of it [citation needed]. Lava pools without a source will degrade to dirt after a given time period.]] <-- that sounds made up
20:05:26 <Vorpal> elliott, the dirt think I'm pretty sure is wrong for example
20:05:36 <elliott> j-invariant: just make bukkits
20:05:51 <elliott> "When you stay in Lava for about 1-2 seconds, your character makes noises which appear to go along to "When the Saints Go Marching In.""
20:05:55 <Vorpal> j-invariant, well can't be done without a bucket
20:06:02 <elliott> iw onder if that's intentional
20:06:02 <Vorpal> elliott, dude that is a troll
20:06:11 <elliott> your definition of troll sucks
20:06:27 <Vorpal> elliott, well a joke should be funny. That is just pathetic
20:06:36 <elliott> oh god why do the spiders sound so fucking close
20:06:43 <Vorpal> elliott, you have no sense of humour
20:07:02 <oklopol> i thought he had too much of it
20:07:16 <oklopol> like a sixth sense of humor
20:07:19 <Vorpal> oklopol, well maybe he has an anti-sense of humor
20:07:45 <oklopol> do you copy words from other people too? i was just about to correct humor to humour because you used that
20:08:00 <oklopol> you go and spoil it by now having used both
20:08:32 <elliott> how did you get on top of that tree
20:08:32 <cheater99> i just totally instantiated my own oklopol
20:09:45 <elliott> this theory is backed by EVIDENCE
20:09:46 <cheater99> what sort of gay hating is that now
20:09:55 <oklopol> i'm only useful for 7 things, and 6 of them i can do on this channel.
20:10:19 <elliott> is it not? what is the seventh then
20:10:59 <Sgeo> I'm useful for, um
20:11:12 <cheater99> yea but he can't do that on the channel
20:11:38 <elliott> [[4.) Continue the process of mining a layer, and then another, until you hit bedrock. This may take a few days of vigorous playing to accomplish, but your earnings will make it well worth it. Most quarries yield an average of 150 stacks of coal, 50 stacks of iron ore, 20 stacks of gold ore, 5 stacks of obsidian, and a maximum of 1 stack of diamond gems, though these results vary with the width, depth and location of your quarry.[cita
20:11:38 <elliott> tion needed] (see discussion section)]]
20:11:54 <elliott> j-invariant: 1 bit of coal = 8 output; 1 bit of sand = 1 output
20:12:04 <elliott> j-invariant: N sand -> N glass, requiring ceil(N/8) coal
20:12:04 <j-invariant> http://www.minecraftwiki.net/wiki/File:Smeltingmenu.png
20:12:12 <elliott> j-invariant: that is in progress
20:12:16 <elliott> as you can plainly see by the arrow
20:13:11 <Sgeo> Why would you use coal to smelt?
20:13:26 <Sgeo> Wood works and is renewable
20:13:57 <Sgeo> Note: Just because what I said is true, doesn't make it a good idea.
20:15:14 <elliott> j-invariant: Sgeo is being stuepid, coal is far more efficient & practical to use for smelting.
20:15:26 <elliott> j-invariant: See http://www.minecraftwiki.net/wiki/Furnace#Fuel_efficiency.
20:15:57 <Sgeo> Until the day you have to go on tremendously long minecart rides to get coal
20:15:58 <elliott> ofc if you have some lava... :D
20:16:09 <elliott> j-invariant: a bucket of it, yes, it also destroys the bucket
20:16:11 <elliott> j-invariant: hideously impractical
20:19:52 <Phantom_Hoover> <Sgeo> Wood works and is renewable ← only Vorpal cares about this, and he couldn't be bothered.
20:19:59 <elliott> Phantom_Hoover: http://www.minecraftforum.net/viewtopic.php?f=35&t=20891
20:20:04 <elliott> Oh, has the Sustainable project been canceled, Vorpal?
20:20:26 <elliott> Phantom_Hoover: tl;dr guy wipes cave sounds due to being a pussy.
20:20:27 <Vorpal> elliott, no more cancelled than most of your code project s:P
20:20:31 <elliott> YOU TOO COULD FOLLOW IN HIS FOOTSTEPS
20:20:43 <Vorpal> elliott, but it is suspended
20:20:53 <Vorpal> elliott, simply because lava is no longer renewable
20:21:02 <Vorpal> there is no renewable light source any more
20:21:17 <elliott> Is that where it was going to be?
20:21:18 <Vorpal> but what about making it burn in the first place?
20:21:40 <Vorpal> I don't know exact coords
20:21:46 <Vorpal> just how to walk from 4000,4000 to get there
20:21:48 -!- calamari has quit (Quit: Leaving).
20:22:00 <Phantom_Hoover> Someone tell me in which series Red Dwarf ceases to be worth watching.
20:22:50 <elliott> Phantom_Hoover: The eighth series is meant to be a bit naff.
20:25:14 <Vorpal> <elliott> getting coal is easy <-- well, sgeo is right. some day you will exhaust all coal in the area near your base. This will however take a very long time. Probably months of mining in that area non-stop.
20:25:40 <Vorpal> in practise I doubt it will be a problem unless you keep a word for that long time
20:25:44 <Vorpal> and I doubt that about you
20:27:27 <nooga> i've just finished 50x50x3 hall under the sea
20:27:37 -!- Cocytus has joined.
20:27:59 <Vorpal> elliott, those cave sounds are nice. They remind me of a cross between myst and nwn somehow.
20:28:36 -!- Cocytus has left (?).
20:28:57 <elliott> Phantom_Hoover: HOW GOES GRAVITY.LISP.
20:29:03 <elliott> nooga: That's less than 128x128x128.
20:29:13 <elliott> nooga: Wait, x3? As in, only 3 tall?
20:29:39 <elliott> nooga: Sgeo: Buy the damn game and do drudge work on the Cube.
20:30:05 <Phantom_Hoover> If we have enough drudge workers, we can just mine it out by hand!
20:30:07 <elliott> Sgeo: http://cobolforgcc.sourceforge.net/
20:30:28 <Vorpal> nooga, if not, it isn't awesome enough for the roof
20:30:46 <elliott> Phantom_Hoover: Say a miner can reach the bottom of any square of map in 100 seconds.
20:30:53 <elliott> Phantom_Hoover: Say you have 10 people on the job.
20:31:08 <elliott> Phantom_Hoover: There are 16,384 such squares to do.
20:31:32 <nooga> Vorpal: deep under the sea
20:31:40 <Phantom_Hoover> j-invariant, elliott's slightly Freudian construction project.
20:31:41 <Vorpal> elliott, isn't that 45 hours per person?
20:31:43 <elliott> Phantom_Hoover: tl;dr 45 and a half straight hours.
20:31:57 <Vorpal> elliott, what about 128 workers?
20:32:01 <elliott> j-invariant: A 128 wide, 128 high, 128 deep cube in the ocean, made out of glass, lit by lava.
20:32:05 <elliott> Phantom_Hoover: What's Freudian about it.
20:32:09 <Vorpal> nooga, so not at the sea bottom?
20:32:21 <Vorpal> nooga, not awesome enough :P
20:32:26 <elliott> My genitalia are not cuboid.
20:32:31 <Vorpal> nooga, everyone dug under the sea in terrains
20:32:48 <elliott> Phantom_Hoover: But yeah, even with 10 people working on it constantly and several breakings of the laws of physics, it would take 45 hours to mine out the Cube.
20:32:52 <elliott> What I'm saying is: TNT kit.
20:32:59 <elliott> nooga: then why did you make it
20:33:15 <nooga> my during the hours that took me to dig it
20:33:24 <Phantom_Hoover> elliott, OK, but you're clearly compensating for the fact that you're 4 feet tall IRL.
20:33:28 <nooga> my gf got really mad at me
20:33:38 <nooga> and i didn't earn a penny
20:33:43 <nooga> because coding is so boring
20:33:47 <elliott> Phantom_Hoover: That is true.
20:34:12 <elliott> j-invariant: MORE AWE AT THE CUBE PLZ
20:34:15 <Phantom_Hoover> <Vorpal> nooga, everyone dug under the sea in terrains ← terrains?
20:34:32 <elliott> There should be underground biomes.
20:34:35 <Vorpal> Phantom_Hoover, err, good questions
20:34:59 <Phantom_Hoover> elliott, there is that thing which fiddles with the terrain gen's internal parameters
20:34:59 <Vorpal> Phantom_Hoover, I think I'm a bit pluralish today
20:35:18 <elliott> Phantom_Hoover: BiomeTerrain or whatever?
20:35:26 <elliott> Phantom_Hoover: I've wanted to try that for a while now. It looks way better than Notch's generator.
20:35:39 <elliott> Phantom_Hoover: Generates much larger, smoother biomes and the like. Lots of tweakable parameters.
20:35:46 <Vorpal> Phantom_Hoover, well it is /slightly/ better
20:35:55 <elliott> Phantom_Hoover: That photo I linked of a highlands scene (saying it was a good argument for Better Grass) was made with it.
20:35:59 <Vorpal> Phantom_Hoover, if you define terrain to "solid blocks" then it makes sense :P
20:36:16 <elliott> It was literally days ago.
20:36:29 <Vorpal> elliott, link to that photo? I don't remember seeing that photo
20:37:24 <elliott> "I'm the sort of person who's done the Red Cross First Aid course twice and so I knew what to do and was almost immediately compressing his chest to the rhythm of the Bee Gees' Staying Alive with the phone operator counting along with me. No, I'm not being funny. The rhythm of that song is ideal for CPR."
20:37:33 <elliott> Sgeo: Never perform CPR unless you do that.
20:38:08 <elliott> [[Alternatively, it's the same BMP as Queen's "Another One Bites the Dust" and Pink Floyd's "Another Brick in the Wall Part II".]]
20:38:20 <elliott> j-invariant: yeah, we've cleared, like, 10 lines of sea :P
20:38:23 <elliott> like moses, except really slow
20:38:29 <fizzie> Vorpal: You said it looked too flat, IIRC.
20:38:29 <elliott> j-invariant: and excavation is... slow
20:38:34 <elliott> j-invariant: as in, 10 lines of 126 long
20:38:40 <elliott> j-invariant: about 10 deep each
20:38:51 <elliott> j-invariant: i doubt you have
20:39:05 <elliott> j-invariant: that's about 10*10*126 = 12600 blocks placed
20:39:55 -!- Zuu has quit (*.net *.split).
20:39:59 -!- Vorpal has quit (*.net *.split).
20:40:06 -!- lifthrasiir has quit (*.net *.split).
20:40:08 -!- sftp has quit (*.net *.split).
20:40:08 -!- HackEgo has quit (*.net *.split).
20:40:08 -!- EgoBot has quit (*.net *.split).
20:40:18 -!- Ilari_antrcomp has quit (*.net *.split).
20:40:18 -!- Ilari has quit (*.net *.split).
20:40:24 <elliott> Phantom_Hoover: http://imgur.com/om0iL This is fully functional, with CraftBook.
20:40:24 <elliott> Discuss superiority to Vorpal's gate.
20:40:55 <Phantom_Hoover> Clearly superior. Also irrelevant if Vorpal doesn't have CraftBook.
20:41:45 <elliott> It's on his test server and he was talking about craftbook before.
20:42:43 -!- Zuu has joined.
20:42:43 -!- Vorpal has joined.
20:42:43 -!- lifthrasiir has joined.
20:42:43 -!- sftp has joined.
20:42:43 -!- HackEgo has joined.
20:42:43 -!- EgoBot has joined.
20:42:43 -!- Ilari_antrcomp has joined.
20:42:43 -!- Ilari has joined.
20:43:18 -!- pikhq has quit (Excess Flood).
20:43:21 <elliott> Phantom_Hoover: In which Notch actually responds to feedback: http://www.reddit.com/r/Minecraft/comments/ezpw5/lots_of_new_info_including_cake/c1c7grn
20:43:22 -!- pikhq_ has joined.
20:43:56 <j-invariant> whe n you break a bit of glass you don't get it back :(
20:44:07 <elliott> http://www.youtube.com/watch?v=2lsFN5DgoLc This is the silliest thing.
20:45:16 <elliott> http://www.youtube.com/watch?v=Zv6GVDu46ls I hypothesise that sound mods are inherently hilarious.
20:49:29 <elliott> http://www.reddit.com/r/Minecraft/comments/drvm8/my_experiment_with_modifying_the_minecraft_sound/c12gnct ;_;
21:00:12 -!- jix has quit (Ping timeout: 250 seconds).
21:01:35 <elliott> now use that to compute gcd
21:09:04 -!- jix has joined.
21:11:50 <Vorpal> elliott, is the server down?
21:12:18 -!- rom9com1 has left (?).
21:12:46 <Vorpal> ineiros, are you skyping?
21:18:08 -!- calamari has joined.
21:20:07 -!- ais523 has quit (Remote host closed the connection).
21:27:15 <Vorpal> ineiros, what the hell are you doing?
21:35:15 -!- Mathnerd314 has joined.
21:47:00 <Vorpal> Phantom_Hoover, is that supposed to be funny? It isn't really.
21:48:03 <Vorpal> Phantom_Hoover, your own fault for not making it funny to begin with
21:49:04 <Vorpal> Phantom_Hoover, besides movecraft got updated. Now doors are supposed to work (nothing done on chests yet though)
21:49:14 <Vorpal> Phantom_Hoover, also submarines
21:49:23 <elliott> j-invariant: help me design my language :P
21:49:54 <elliott> j-invariant: a language! btw have you read any more of the axiom info?
21:50:20 <elliott> j-invariant: is it close to what you were thinking of?
21:51:07 <elliott> j-invariant: isn't it a dependent symbolic CAS? :P i mean that's my impression of it
22:01:03 <elliott> j-invariant: i'm actually curious
22:01:27 <elliott> j-invariant: what does your design have different to axiom? :)
22:04:38 <elliott> ugh i have to rename some of my methods...
22:04:51 <elliott> j-invariant: can you fork ghc and add ml-style modules please, then i would always use haskell
22:05:59 <j-invariant> elliott: Yeah I think I would change a bit moore than that :P
22:06:23 <elliott> j-invariant: Well ... ML modules lets you chuck out typeclasses :P
22:08:45 <j-invariant> elliott: yeah, something that subsumes GADTs, Typeclasses and Modules
22:08:58 <elliott> j-invariant: you mean like dependent records? :P
22:10:00 <elliott> j-invariant: dependent records do powerful ML-style modules; powerful ML-style modules do typeclasses with, like, one bit of magic; and dependent inductive types are of course basically GADTs
22:10:33 <elliott> j-invariant: (the one bit of magic I think is this: a module signature can specify one of its exported values is "magical"; whenever a value of that type is needed as an implicit module parameter (a notion added just for this), that value is used)
22:10:56 <elliott> j-invariant: for instance, the module implementing integers would have a magical value of type Ring Z
22:11:02 <elliott> and then some function might be like
22:11:27 <elliott> lolRingFunction : forall T, [Ring T] -> ...
22:11:33 <elliott> where [] means "magic module param"
22:11:42 <elliott> would auto-specify that (Ring Z) value
22:11:54 <elliott> of course having two magical values of the same type in your current module scope is verboten
22:12:04 <elliott> j-invariant: you mean as the syntax?
22:12:14 <elliott> would keep the verbosity down
22:12:24 <elliott> j-invariant: maybe something like "the" though
22:12:28 <elliott> lolRingFunction : the Ring T, ...
22:15:18 <elliott> j-invariant: oh god, I have created an image that could give Douglas Hofstadter an aneurysm
22:15:54 <elliott> http://i.imgur.com/VqcIS.png
22:16:33 -!- hiato has quit (Ping timeout: 260 seconds).
22:16:41 <j-invariant> obviously the egytions understood recursion
22:17:12 <j-invariant> it's glass on the inside but sand on the outside
22:17:14 <elliott> note to self, add a separate background colour for selected vs. active... hard to remove those lists without knowing what you have selected
22:18:41 <elliott> editing these nested expressions is slow :D
22:19:54 <quintopia> i would like to see an upside-down floating sand pyramid in minecraft
22:24:50 <elliott> oklopol: is "foo ~ {}" valid Clue?
22:25:24 -!- hiato has joined.
22:26:14 <Vorpal> <quintopia> i would like to see an upside-down floating sand pyramid in minecraft <-- possible with torches
22:26:27 <Vorpal> quintopia, if it floats just above a torch that is
22:26:36 <Vorpal> quintopia, why not make one yourself?
22:27:50 -!- MigoMipo_ has quit (Read error: Connection reset by peer).
22:29:17 <Vorpal> (wait, is none else going to continue this chain?)
22:37:28 <elliott> oklopol: so hey, cled is ugly as fuck :D
22:40:23 <elliott> j-invariant: http://i.imgur.com/CP1vV.png can you figure out what's going on here :D
22:41:29 <j-invariant> I don't know what [] does.. looks nice though :D
22:43:40 <elliott> j-invariant: it's just a list
22:43:50 <elliott> j-invariant: ([] (1) (2) (3)) there is [1 2 3]
22:44:18 <elliott> j-invariant: basically, that screenshot is the really ugly representation of {. 3 [7 44 1] -> [[1] 3 [7 44]] } ... with some highlighting oddities
22:44:32 <elliott> j-invariant: i think i'm starting to see why this kind of editing is unpopular
22:44:33 <quintopia> what is cled? some derivative of clue?
22:45:10 <elliott> quintopia: cled is my semantic AST editor for clue ... it happened after i wanted to write a clue-mode for emacs
22:45:15 <elliott> and it's became, well, this monstrosity
22:45:28 <elliott> 453 lines of folly and counting
22:45:41 <elliott> it's the platonically perfect clue editor
22:45:51 <elliott> but i'm gonna develop it to completion anyway :D
22:46:06 <quintopia> only because clue sucks and not because there's anything wrong with the editor, yes?
22:46:21 <elliott> quintopia: no, clue is amazing
22:46:23 <elliott> my editor sucks and ROCKS!
22:47:03 <quintopia> ehird man speak with forked tongue. need whiskey and migraine pill for good medicine.
22:47:14 <Phantom_Hoover> Someone tell me which books of Known Space are any good.
22:47:43 <elliott> <PH, daily> Someone point me to a list of the reasons X sucks. <PH, daily> Someone tell me what subset of Y is good.
22:48:16 <Phantom_Hoover> What about the infamous third book in the Ringworld series?
22:48:17 -!- Wamanuz has quit (Ping timeout: 240 seconds).
22:48:29 <elliott> http://www.minecraftforum.net/viewtopic.php?f=25&t=132717 Nice.
22:48:30 <Phantom_Hoover> <elliott> <PH, daily> Someone point me to a list of the reasons X sucks. <PH, daily> Someone tell me what subset of Y is good. ← BLATANT LIES
22:48:39 <pikhq_> Phantom_Hoover: What do you mean, "what about it"?
22:48:40 <elliott> FastRender: more efficient chunk queue processing.
22:48:40 <elliott> UniText: a completely rewritten text renderer. It's faster and supports Unicode, although the Unicode font files are not included with this release.
22:48:40 <elliott> Fewer glClears: erasing the entire screen is expensive. This mod avoids it when possible.
22:48:42 <elliott> Better chunk drawing code: Removing a few useless transforms from the chunk rendering code lets all visible chunks be drawn in a straightforward manner.
22:48:47 <elliott> I like this Scaevolus guy.
22:49:09 <elliott> Phantom_Hoover: INCIDENTALLY, can you buy me a new GPU?
22:49:16 <elliott> I plan to configure Minecraft to be utterly insane soon.
22:49:18 <Phantom_Hoover> pikhq_, i.e. it's infamous for being a perfect instance of quality being inversely proportional to place in the series?
22:49:59 <elliott> An HD texture pack if I find one I like, far distance, fancy rendering, Better Light, that shader mod with depth of field, perhaps also with that lighting shader if I can find it and make it work together...
22:50:55 <pikhq_> Phantom_Hoover: I don't recall it being bad, though.
22:50:58 <nooga> my 50x50 trap works
22:51:09 <pikhq_> Definitely not as good as the first, mind.
22:51:31 <nooga> i've get approx 24 sulfur in 15 min
22:52:24 <elliott> nooga: http://www.youtube.com/watch?v=RiJh5fpWPAo
22:52:33 <elliott> j-invariant: kill creepers
22:53:11 <elliott> nooga: build that and then come back
22:53:15 <j-invariant> what the hell is happening in that video! LOL
22:53:37 <j-invariant> the reason they die is because of falling from such a height
22:53:48 <elliott> j-invariant: watch the rest of it :)
22:53:49 <j-invariant> ummm.... that must have taken a while to build
22:53:54 <elliott> j-invariant: basically: they don't spawn on steps
22:53:58 <elliott> so the ground below is safe
22:54:02 <elliott> and then the huge dome catches them
22:54:09 <elliott> so they walk down and then fall inside
22:54:29 <j-invariant> how the hell did he have the patience to build it
22:54:29 <elliott> since they're spawning all the time at night, they fall down at a crazy rate :)
22:54:55 <elliott> tl;dr mobs spawn in big water slide all night, ride uncontrollably, fall down, die, drop loot.
22:55:50 <elliott> j-invariant: building mob traps is not so hard though
22:56:07 <elliott> j-invariant: basically, you want an easily steppable-upon bit of water that mobs will go into, which then leads down to
22:56:09 <nooga> elliott: @ this clip... i thought that mobs don't spawn on water
22:56:15 <elliott> and the two Cs are catcuses
22:56:21 <elliott> nooga: dunno... i think they do
22:56:30 <elliott> nooga: but besides, there's those little sticky out bits of cobbles fro them to spawn on anyway
22:56:35 <elliott> j-invariant: this crushes the mobs
22:56:39 <elliott> j-invariant: and they'll drop loot into the stream
22:56:43 <elliott> j-invariant: which you then route into your base
22:56:47 <Phantom_Hoover> elliott, FWIW, that Optimine thing has mucked up Better Light.
22:56:54 <elliott> Phantom_Hoover: you apply better light afterwards
22:56:57 <elliott> Phantom_Hoover: not before
22:57:04 <elliott> j-invariant: so basically mobs will keep walking in, getting crushed by the cactus, and their loot will float into a pool in your base
22:57:12 <elliott> j-invariant: that won't be hugely fast, but it'll be pretty good
22:58:14 <elliott> j-invariant: look for natural cobblestone while mining, and also mossy cobblestone
22:58:19 <elliott> j-invariant: it'll be a dungeon
22:58:22 <elliott> j-invariant: with a mob spawner inside
22:58:31 <elliott> j-invariant: now consider: dig out the floor beneath that mob spawner
22:58:45 <elliott> j-invariant: so much that they die of fall damage
22:58:49 <j-invariant> http://www.youtube.com/watch?v=H8xs53VmFjc neat
22:58:53 <elliott> j-invariant: mob spawners only spawn one type of monster
22:59:09 <Phantom_Hoover> [[...these people are trying to make money from an idea that does not belong to them.]] — An Idiot on the MC boards.
22:59:21 <elliott> j-invariant: e.g. if it's a spider spawner
22:59:24 <elliott> j-invariant: you could get shitloads of string
23:01:02 <elliott> j-invariant: that door machine is hilarious
23:01:17 <elliott> j-invariant: if you tab away it sounds like venetian snares... sorta
23:13:51 -!- Phantom_Hoover has quit (Quit: Leaving).
23:14:28 <elliott> j-invariant: btw: http://www.reddit.com/r/Minecraft/comments/evwk8/does_anyone_know_how_to_make_a_very_simple_but/
23:14:31 <elliott> j-invariant: stuff about mob traps
23:15:16 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:20:04 <elliott> guide to minecraft: http://i.imgur.com/i1YWC.png
23:25:33 <Sgeo> Is Notch going to remove indefinitely burning logs?
23:25:50 <elliott> The probability of that is somewhere in the region of 0.
23:26:19 <elliott> Because there's something like seventeen hundred billion fireplaces, and also, very little reason to fix it :P
23:27:36 -!- marcules has quit (Quit: -).
23:27:51 -!- FireFly has quit (Quit: swatted to death).
23:29:02 <Sgeo> elliott, what are your thoughts on Clean?
23:29:32 <elliott> an interesting curiosity and — mere curiosity. uniqueness typing is interesting.
23:29:54 <elliott> also clean has some REALLY weird bits
23:29:58 <elliott> you write (a -> b) -> [a] -> [b]
23:30:08 <elliott> that doesn't even make any sense and takes special casing
23:30:17 <Sgeo> elliott, are Clean functions curried?
23:30:31 <elliott> also (x:xs) is [x:xs], which, again, means that a single list with the single element (x:xs) is [[x:xs]]... which is just plain confusing and stupid
23:30:40 <elliott> but these are all syntactical differences.
23:32:30 <Sgeo> Maybe uniqueness typing is what will bring me back into the purely functional world
23:32:37 <Sgeo> [Or maybe I'll be bored to tears]
23:32:51 <cheater99> Sgeo: stop talking in trivial lists.
23:33:31 <j-invariant> elliott: I trapped some cows in a cave but they disappeared :(
23:33:37 <elliott> i kind of feel embarrassed for Sgeo on behalf of... everyone
23:33:53 <j-invariant> I just dug this small cave into a hill and trapped the cows in there
23:34:03 <elliott> j-invariant: Of course it is: http://imgur.com/a/pt8v5
23:34:05 <Sgeo> elliott, what cheater99 said was a joke, afaict.
23:34:10 <elliott> I suppose they might die in low light.
23:34:59 <elliott> j-invariant: try building a small but ~5 deep pit instead
23:35:03 <elliott> and put a torch on the walls
23:35:14 <elliott> j-invariant: if you walked too far away i guess they could disappear... but you'd have to walk a few chunks
23:35:34 <j-invariant> elliott: yeah I roam very far so that might not be worth doing then
23:35:48 <elliott> j-invariant: it's like 16 chunks
23:36:11 <elliott> j-invariant: i think i'm wrong
23:36:54 <elliott> "Mobs spawn no closer than 24 blocks and disappear if they are more than 4 chunks away from the player."
23:36:55 <cheater99> j-elliott: why not just play farmville?
23:37:00 <elliott> j-invariant: ok if you walked far away.
23:37:07 <elliott> cheater99: because minecraft is more than farming? :P
23:37:12 <elliott> j-invariant: build a mob trap :D
23:37:46 <cheater99> yes, use minecraft to make mafiaville or whatever they call it
23:38:52 <elliott> j-invariant: really? that shouldn't have took that long to build... unless it has like a flat top and is really wide
23:39:12 <cheater99> you should now recreate von dniken's mythology around it
23:39:27 <elliott> j-invariant: how long did it take to build?
23:39:43 <j-invariant> elliott: dunno I did other stuff in between
23:40:34 <elliott> cheater99: there's redstone.
23:40:47 <elliott> bluestone would let you build a hideously complex autominer but it doesn't exist and never will >:)
23:41:08 <cheater99> minecraft just sounds real fucking boring to me in that you have to sit around clicking stuff
23:41:28 <cheater99> it's like killing wild pigs in a forrest in wow
23:41:28 -!- hiato has quit (Read error: Operation timed out).
23:41:44 <cheater99> 1 experience point per click or something equally dumb
23:41:53 <cheater99> (not that i ever played wow, but you know what i mean)
23:41:55 <elliott> you don't kill pigs generally
23:42:08 <elliott> well er no because in MC most of the time is spent doing shit you want
23:42:10 <cheater99> elliott: yeah, but that's what it feels like
23:42:17 <elliott> you've clearly never played
23:42:36 <elliott> % of people who haven't played minecraft and think it's probably lame: 99
23:42:44 <elliott> % of people who have played minecraft and think it's lame: much less
23:43:06 <cheater99> generally in the family of minecraft-likes you'd expect a scripted way of doing things in accelerated time, or at least without user interaction
23:43:14 <elliott> do you not think everyone has already heard "OMG IT SOUNDS BORING AND LAME" 100 times before
23:43:34 <cheater99> i'm not trying to change your mind or anything
23:43:35 <Gregor> DURP DURP MY INFORMED OPINION IS THAT IT'S LAME
23:43:44 <elliott> Gregor: OH MAN THAT'S NOVEL
23:43:52 <Gregor> I mean literally lame though.
23:43:57 <elliott> cheater99: in response: no, automating such things would not make the game more fun.
23:44:04 <elliott> Gregor: So THAT'S what the view bobbing is.
23:44:04 <cheater99> i'm just expressing what my impression is and wondering why you guys think different
23:44:41 <cheater99> <elliott> I'M NOT UPSET OK?????????
23:44:52 <elliott> ah, right, everyone who disagrees with you is upset
23:45:28 <elliott> mining can be fun enough because you find caverns and dungeons, exploring caves is fun and often screenshot-worthy, exploring terrain is fun and often leads to good locations for build projects, building structures are fun, building houses is fun, building machines with redstone is fun, fighting mobs is... uh... terrifying
23:45:41 <cheater99> ya i can see exploring mines is fun
23:46:06 <elliott> exploring mines? you build mines, you mean caverns :P
23:46:31 <cheater99> but like.. i'm surprised there aren't scripts for say building houses or pools
23:46:31 <Gregor> Did I also mention that people who play Minecraft are torps and hurpadurp?
23:48:31 <Gregor> Such a torp question to ask.
23:49:14 -!- drakhan has quit (Remote host closed the connection).
23:49:28 <elliott> cheater99: man why aren't there machines that automate pushing pieces of lego together
23:49:38 <elliott> that just feels so droll tbh
23:50:32 <elliott> cheater99: would you use them
23:50:42 <elliott> j-invariant: THAT SLEEP THING IS WORKING WELL FOR YOU HUH
23:51:06 <elliott> cheater99: ahh, so you'd rather play MINECRAFT: FOR KIDS!
23:51:28 <Sgeo> Oh, that reminds me, I want to try Roblox >.>
23:52:08 <cheater99> since, like, i love to remit like that.
23:52:27 <elliott> you keep using that word etc.
23:53:55 <elliott> so my superdrive STILL isn't here, what is this INSOLENCE
23:54:23 -!- j-invariant has quit (Quit: leaving).
23:55:26 <cheater99> you have to make sure the infidels pay with their lives
23:57:35 <cheater99> anyways, some cool tricks here: http://blog.ksplice.com/2011/01/solving-problems-with-proc/
23:57:37 <elliott> no, but i do not think it means what you think it means.
23:58:28 <elliott> "A UNIX process refers to its open files using integers called file descriptors. When we say "standard input", we really mean "file descriptor 0". So we can use /proc/self/fd/0 as an explicit name for standard input:"
23:58:30 -!- hiato has joined.
23:58:53 <elliott> cheater99: that's irrelevant, the fact is that afaik nobody uses "remit" like that
23:59:01 <elliott> unless you, like, got cancer at the age of 3 and still have it
23:59:05 <elliott> "I'm remitting back to BEFORE"
23:59:22 <elliott> "Good news! I'm in remission!" "That's great!" "Yes, I love being three years old!"
23:59:27 <cheater99> yeah but there's a technique in psychology called remission
23:59:44 <elliott> isn't it regression you are thinking of