00:22:02 <Taneb> I must buy milk tomorrow...
00:46:17 -!- vanila has joined.
00:47:06 <HackEgo> [wiki] [[XRF]] N http://esolangs.org/w/index.php?oldid=41612 * Scoppini * (+3618) Created page with "'''XRF''' is a [[stack]]-based [[esoteric programming language]] designed by [[User:Scoppini]] in 2015. ==Overview== XRF operates on a stack of nonnegative integers of arbit..."
00:47:46 <HackEgo> [wiki] [[User:Scoppini]] N http://esolangs.org/w/index.php?oldid=41613 * Scoppini * (+30) Created page with "Hello there. I created [[XRF]]"
00:52:01 -!- tswett has joined.
00:52:20 <tswett> So I'm still pondering the question of whether or not there's a "standard arithmetically sound theory".
00:52:44 <tswett> I'd say it's "obvious" that Peano arithmetic is arithmetically sound. After all, all its axioms are true.
00:52:59 <tswett> And I'd definitely say it's "not obvious" that ZFC is arithmetically sound. After all, all its axioms are made up.
00:53:27 <yorick> tswett: are you pondering platonism?
00:53:47 <tswett> I don't know what I mean by "standard" here.
00:53:49 <yorick> people have been pondering that for a while
00:54:14 <tswett> What if you just take as an axiom every "obvious" first-order statement about the natural numbers?
00:54:22 -!- dianne_ has joined.
00:54:29 -!- dianne_ has quit (Changing host).
00:54:29 -!- dianne_ has joined.
00:54:31 -!- dianne has quit (Disconnected by services).
00:54:33 <tswett> PA does approximately that, of course.
00:54:33 -!- dianne_ has changed nick to dianne.
01:04:17 <tswett> I dunno. Consider PA-0, a synonym of PA. PA-0 is arithmetically sound.
01:04:33 <tswett> Now consider PA-0 + "PA-0 is arithmetically sound". Is this theory arithmetically sound?
01:04:47 <tswett> All you did was add a true axiom to an arithmetically sound theory.
01:05:34 <tswett> If all the axioms of a theory are true, then the theory must be arithmetically sound. Right? Is that how that works?
01:05:52 -!- ^v has quit (Ping timeout: 265 seconds).
01:05:57 <Lymia> PA-0 + "PA-0 is arithmetically sound" != PA-0 though.
01:06:46 <FireFly> Wouldn't you want to check that the newly-added axiom doesn't cause any paradoxes when used together with the old axioms?
01:07:19 <tswett> But truth is closed under modus ponens.
01:07:34 <tswett> So if all the axioms of a theory are true, and the only inference rule is modus ponens, then all the consequences of the theory are true.
01:08:20 <tswett> So if PA-0 is arithmetically sound, then PA-0 + "PA-0 is arithmetically sound" is arithmetically sound. I think.
01:08:25 <tswett> So call the new theory PA-1.
01:09:19 -!- oerjan has quit (Quit: Gödel night).
01:09:32 <tswett> And I sense a paradox. Doesn't PA-1 prove that PA-1 is arithmetically sound?
01:09:36 -!- ^v has joined.
01:10:47 <tswett> PA-1 proves that PA-0 is arithmetically sound. Therefore, PA-1 proves that every theorem of PA-0 is true. Does PA-1 prove that the statement "PA-0 is arithematically sound" is true?
01:12:35 -!- Tritonio has quit (Remote host closed the connection).
01:12:58 -!- Tritonio has joined.
01:12:59 <tswett> If it does, then PA-1 proves that every axiom of PA-0 + "PA-0 is arithmetically sound" is true. Which is to say, PA-1 proves that every axiom of PA-1 is true.
01:13:13 <tswett> But I'm pretty sure that PA-1 actually doesn't prove that the statement "PA-0 is arithmetically sound" is true.
01:13:35 <tswett> Indeed, I don't think you can define truth in PA-1.
01:15:08 -!- Tritonio has quit (Remote host closed the connection).
01:15:14 <tswett> By the same argument, PA-1 + "PA-1 is arithmetically sound" is arithmetically sound. Call this theory PA-2.
01:15:28 -!- Tritonio has joined.
01:15:43 <tswett> And, by the same argument, PA + "PA-n is arithmetically sound for all natural numbers n". Call this theory PA-omega.
01:16:13 <tswett> Of course, there's also PA-omega+1, which is PA-omega + "PA-omega is arithmetically sound".
01:16:22 <tswett> Wait wait wait wait wait wait wait.
01:16:33 <tswett> Arithmetic soundness can't be defined in arithmetic. Whoops.
01:16:49 <tswett> Okay, pretend that instead of "arithmetically sound", I said "consistent", everywhere above.
01:17:25 <tswett> And it almost seems like for any ordinal number p, we can define the system PA-p as PA + "PA-n is consisten for all ordinal numbers n less than p".
01:17:52 <tswett> But this depends on "ordinal number less than p" being definable in arithmetic.
01:20:01 <tswett> Which raises a simple question.
01:20:34 <tswett> How large can ordinal numbers go before their arithmetic niceness starts to break down?
01:23:45 <tswett> There ought to be some ordinal number p which is the smallest ordinal number p such that "ordinal number less than p" isn't definable in arithmetic.
01:30:22 <HackEgo> [wiki] [[Lisp2d]] N http://esolangs.org/w/index.php?oldid=41614 * Cluid Zhasulelm * (+1604) creational
01:44:43 <elliott> @tell Deewiant https://github.com/shinh/beflisp/blob/master/beflisp.bef !!!
01:57:58 -!- arjanb has quit (Quit: zzz).
02:08:05 -!- callforjudgement has joined.
02:08:42 -!- ais523 has quit (Read error: Connection reset by peer).
02:21:07 <zzo38> I think it might make more sense if whether or not a loyalty ability has already been used in one turn is also a status of a permanent, so that all permanents are initially "ready" each turn (regardless who controls it) but then a loyalty ability makes it to be unready so that it cannot be used again. I don't know entirely, but, it make a few sense to me.
02:22:35 <tswett> Hmm. By Godel's completeness theorem, a statement is provable in a theory if and only if it is true in all models of the theory. I think. Something like that.
02:23:06 <tswett> So coming up with a "standard obviously arithmetically sound theory" is, I suppose, the same thing as coming up with a standard collection of models of arithmetic.
02:23:48 <tswett> Of course, the collection has to include some non-standard models.
02:27:38 -!- hjulle has quit (Quit: ZNC - http://znc.in).
02:29:16 -!- callforjudgement has quit (Read error: Connection reset by peer).
02:29:28 -!- callforjudgement has joined.
02:29:29 -!- callforjudgement has quit (Changing host).
02:29:29 -!- callforjudgement has joined.
02:29:56 <shachaf> zzo38: If you think the rules are mistaken, you can write Wizards of the Coast, I think.
02:30:09 <shachaf> In fact you can ven write them when you're not sure about a ruling. Or so I hear.
02:33:03 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds).
02:35:43 <callforjudgement> the rulings department of their customer service is actually really good
02:35:57 <callforjudgement> also the rules manager takes questions on tumblr, but normally gives snarky replies for amusement value
02:36:44 -!- Tritonio has quit (Remote host closed the connection).
02:37:13 -!- Tritonio has joined.
02:42:24 <zzo38> The rules are either mistaken or unclear, I am unsure which. (Possibly both.)
02:44:17 <int-e> tswett: I don't think that "PA-0 is artihmetically sound" is expressible in first-order logic, at least not using the language of PA. (Truth in the standard model of PA is not definable in PA.) So it's unclear what PA-1 is; it has to differ from PA-0 in more than just the axioms.
02:45:05 <tswett> int-e: right, arithmetic soundness can't be defined in arithmetic.
02:46:19 <tswett> So pretend I said "consistent" instead.
02:47:59 <zzo38> In the rules for declaring an attack, it never says they are "declared as an attacker". At first it says creatures are "chosen", and later on some of them "become an attacking creature". It doesn't seem to properly define "declared as an attacker" as far as I can tell.
02:49:40 <Sgeo> `decodeunicode
02:49:41 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: decodeunicode: not found
02:49:51 <HackEgo> U+F17A - No such unicode character name in database \ UTF-8: ef 85 ba UTF-16BE: f17a Decimal:  \ () \ Uppercase: U+F17A \ Category: Co (Other, Private Use) \ Bidi: L (Left-to-Right)
02:53:00 <int-e> tswett: Ok. Then PA-1 is consistent if PA-0 is; and if PA-1 has the standard model as a model then it actually proves that PA-0 is consistent. Very circular.
02:53:48 <tswett> You're saying that if PA-0 (which is to say, PA) is consistent, then PA-1 (which is to say, PA + "PA is consistent") is consistent?
02:53:58 -!- shikhin_ has joined.
02:54:21 <tswett> I guess that's provable in ZFC.
02:54:23 <int-e> yes, because we know that consistency of PA is independent of the axioms of PA; it can neither be proved nor disproved in PA.
02:54:37 <int-e> as a meta-theorem, of course.
02:55:36 <int-e> inside the theory, there's no doubt that PA-1 proves consistency of PA-0. It's just unclear whether PA-1 has a model ;-)
02:55:41 -!- callforjudgement has changed nick to ais523.
02:56:13 <int-e> also, the meaning of "consistency" changes in non-standard models; you can have non-standard proves.
02:56:55 -!- shikhin has quit (Ping timeout: 256 seconds).
02:56:58 <int-e> (Which is why (PA + "PA is inconsistent") is consistent, assuming PA is.)
02:59:15 <vanila> int-e, do you know where i could read about a nonstandard consistency proof?
03:02:01 <int-e> There isn't anything to what I said beyond Gödel's Incompleteness theorem (and surrounding theory of first-order logic, like compactness, Löwenheim-Skolem, and Gödel's completeness theorem).
03:02:33 <int-e> If you have a statement that is independent of the axioms of PA, then you can add the statement itself or its negation to the axioms and obtain a consistent theory.
03:02:34 <tswett> Well, non-standard proofs are just non-standard integers with the property of being proofs.
03:02:44 <int-e> Only one of these theories will have the standard model of PA as a model.
03:02:53 <tswett> So just read about non-standard numbers.
03:03:06 <shachaf> Speaking of numbers, what are some interesting characterizations of the reals?
03:04:47 <int-e> Ah. That's the question. Right, Gödel encodes proofs as natural numbers. Since there is a proof of false in our new theory, and because we know that no natural number corresponds to a proof of false, there must be a non-natural number in some model (that's a non-standard number) that is interpreted as a "proof" for false; that's what I meant by non-standard proof.
03:05:34 <int-e> (Which is likely to present an infinite, possibly circular, proof tree.)
03:07:45 <vanila> i dont really understand about nonstandard consistency proof, I thinkI got mixed up
03:07:58 <vanila> a consistency proof just shows the theory valid
03:08:06 <vanila> we get nonstandard models from the godel stuff
03:08:28 <int-e> vanila: No. We have expressed "T(PA) is consistent" as a first-order sentence in PA itself.
03:09:02 <int-e> vanila: Basically that's "For all n, n does not represent a proof of 0=1."
03:09:52 <int-e> vanila: the negation is "There exists an n such that n represents a proof of 0=1". And that statement is true in models of "PA + PA is inconsistent"
03:10:48 <int-e> vanila: But such models are non-standard models, so 'n' does not have to be a natural number. And that changes the meaning of "n represents a proof of 0=1" to include things that are not actually proofs.
03:11:03 <vanila> I see! thanks for explaining it to me
03:11:08 <vanila> thats very mind bending
03:11:23 <int-e> the numbers are called non-standard numbers, and that term naturally carries over to the proofs that such numbers represent.
03:17:01 <tswett> Right. A theory can assert that there exists a natural number n satisfying a property P, while also, for every natural number n, asserting that n does not satisfy the property P.
03:17:13 <tswett> IIRC, this is called omega-inconsistency.
03:17:20 <tswett> Which isn't actually a type of inconsistency.
03:22:51 -!- tswett has quit (Ping timeout: 244 seconds).
03:29:24 -!- copumpkin has changed nick to drunkplatypus.
03:30:17 -!- drunkplatypus has changed nick to copumpkin.
03:36:51 -!- tswett has joined.
03:40:03 -!- tswett has quit (Client Quit).
03:41:03 -!- tswett has joined.
03:41:42 <tswett> So I'm trying to think how successfully you could define the ordinal numbers in arithmetic.
03:42:26 <Jafet> You can define the definable ones, and probably can't define the undefinable ones
03:42:52 <tswett> Rather, how successfully you could define "ordinal number".
03:42:57 -!- shikhin_ has quit (Ping timeout: 265 seconds).
03:44:01 <Jafet> As successfully as any other recursively enumerable theory can
03:45:01 <tswett> I think there are a couple definitions of a recursive ordinal (one less than the Church-Kleene ordinal), all equivalent. One is a computer program calculating a well-order on the natural numbers.
03:46:02 <tswett> I'm not actually sure how you could define "computer program calculating a well-order on the natural numbers" in arithmetic.
03:46:14 <tswett> You can define a computer program calculating a total order.
03:46:24 <tswett> How do you define wellness of an order?
03:50:08 <int-e> Well, not quite true. If you regard set theory as a first-order theory with \in as a constant then of course you can...
03:50:28 <Jafet> You want ordinals as arithmetic functions?
03:50:37 <tswett> Sure, but I'm thinking first-order logic over the integers.
03:51:05 <int-e> But in PA, with a defined relation on natural numbers, you can't express that the relation is well-founded.
03:51:38 <tswett> So if we go way back to that thing I was trying to do...
03:51:40 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41615&oldid=41596 * Scoppini * (+10)
03:52:29 <tswett> For an ordinal number p, I wanted to define PA-p as PA + "PA-n is consistent for all ordinal numbers n less than p".
03:52:40 <tswett> Actually, you know what's completely possible?
03:53:08 <int-e> You can take all true statements and collect them in a first-order theory.
03:53:27 <int-e> It escapes Gödel's incompleteness theorem because it's not a recursive theory.
03:53:48 <int-e> ("truth" being w.r.t. the standard model)
03:54:02 <tswett> For any set T that's well-founded and hereditarily recursively enumerable, you can define PA-T as PA + "PA-S is consistent for all elements S of T".
03:55:23 <tswett> And I think you can weaken "recursively enumerable" to permit oracle machines or whatever.
04:03:33 <tswett> Really, T just has to be well-founded and the collection of all its hereditary elements has to have a definable membership relation.
04:04:11 <tswett> What's the smallest ordinal number which fails to have that property?
04:05:53 <tswett> I think that can be rephrased like so: what's the smallest infinite ordinal number that isn't the order type of a well-ordering of the natural numbers which is definable using only quantifiers over the natural numbers?
04:06:15 <int-e> is it this one, which came up here recently? https://en.wikipedia.org/wiki/Church-Kleene_ordinal
04:06:52 <int-e> I don't know how to answer such questions.
04:08:06 <int-e> oh there are several other funny ordinals linked from that page.
04:09:41 <tswett> Or maybe it is that one.
04:10:11 <tswett> I dunno. I gotta sleep.
04:10:11 -!- Solace has quit (Quit: Connection closed for inactivity).
04:16:14 -!- tswett has quit (Remote host closed the connection).
04:17:33 -!- mihow has quit (Quit: mihow).
04:28:49 -!- skj3gg has joined.
04:32:49 -!- Tritonio has quit (Ping timeout: 264 seconds).
04:41:57 -!- adu has joined.
04:48:39 -!- glguy has left ("Leaving").
04:58:00 <Deewiant> elliott: bc2bef.cc's genInt should totally be using fungify... but I don't think it'll make it much more efficient
04:58:25 <elliott> I wonder how much work a full LLVM backend would be :p
05:02:43 <elliott> maybe nothing? the converter looked kinda short.
05:02:58 -!- nys has quit (Quit: quit).
05:03:48 <Deewiant> At least function definitions and calls, it seems
05:10:09 -!- adu has quit (Quit: adu).
05:32:55 -!- skj3gg has quit (Quit: ZZZzzz…).
05:37:37 -!- glguy has joined.
05:37:45 -!- mitchs has quit (Quit: mitchs).
05:47:28 -!- skj3gg has joined.
05:48:15 * Sgeo wonders if Dojo is any good
05:48:24 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
06:20:30 -!- mitchs has joined.
06:27:30 -!- mitchs has quit (Quit: mitchs).
06:29:21 -!- ais523 has quit.
06:30:14 -!- ^v has quit (Quit: Network ban).
06:32:31 <Sgeo> Whee! http://jsfiddle.net/aenerkoh/1/
06:33:04 -!- skj3gg has quit (Quit: ZZZzzz…).
06:36:09 <Sgeo> Hmm. Does your browser support innerText?
06:36:17 <Sgeo> Or, what's wrong with it exactly?
06:36:19 <vanila> Using //@ to indicate sourceURL pragmas is deprecated. Use //# instead
06:36:43 <shachaf> Shouldn't you use textContent instead of innerText?
06:36:59 <Sgeo> shachaf: probably, but was lazy and only using it for debugging
06:37:01 <Sgeo> I'll go change it
06:37:24 <Sgeo> textContent doesn't support \n?
06:37:33 -!- mitchs has joined.
06:37:51 <shachaf> I'd imagine that it does, and behaves the same as typing a newline into the HTML yourself.
06:37:52 <Sgeo> textContent version: http://jsfiddle.net/aenerkoh/2/
06:38:03 <Sgeo> shachaf: why does \n work with innerText?
06:38:13 <shachaf> I don't know. Isn't innerText an IE thing?
06:38:29 <Sgeo> Working for me in Chrome
07:02:09 <HackEgo> [wiki] [[XRF]] http://esolangs.org/w/index.php?diff=41616&oldid=41612 * Keymaker * (+91) Corrected 'E' and clarified 'A' a bit.
07:12:28 <HackEgo> [wiki] [[XRF]] http://esolangs.org/w/index.php?diff=41617&oldid=41616 * Keymaker * (+27) 'E' again, now it should be right.
07:21:41 <b_jonas> zzo38: I think those procedures with the humbled aura I described yesterday don't really work. The problem is that they create an aura permanent that isn't attached to anything and is already on the battlefield, so it will be put to the graveyard by state-based effects before you could do anything.
07:21:57 <b_jonas> We need to somehow humble an aura that is already attached, which seems much more difficult.
07:23:30 <b_jonas> perhaps that could still be done somehow
07:24:13 <HackEgo> [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41618&oldid=41477 * Keymaker * (+325) Added XRF.
07:27:48 <HackEgo> [wiki] [[XRF]] http://esolangs.org/w/index.php?diff=41619&oldid=41617 * Keymaker * (+57) Linked a truth-machine.
07:32:36 <b_jonas> Make Mizzium Transreliquat copy Cranial Plating with the second ability. Stack the ability to make it copy Holy Strength (Liquimetal Coated), then stack the Plating's ability to attach it to a bear. Then Animate Artifact it (using Teferi), Humble it, Shatter the Animate, resolve the attach (valid because it's an equipment), resolve the copy. Now it's an attached humbled aura.
07:33:43 <coppro> what are we trying to do?
07:34:44 <b_jonas> coppro: get a state where you have an aura permanent with no "enchant" ability,
07:35:19 <b_jonas> because the rules aren't quite clear what such a permanent can be attached to in a valid way, so it's unclear whether it can even remain on the battlefield, and what you can reattach it to (such as with Simic Guildmage)
07:35:52 <b_jonas> the difficulty is that it has to be a _noncreature_ aura
07:35:59 <b_jonas> because a creature aura doesn't hang along for long enough
07:36:29 <b_jonas> and it has to be attached or just coming into play, because an unattached aura doesn't hang along for long enough either
07:36:59 <b_jonas> the first attempted solution was to manifest a Holy Strength, then Humble it, then Break Open it
07:37:07 <b_jonas> but then it's not attached to anything
07:37:43 <b_jonas> this way I think it can remain attached, because a humbled non-cretaure equipment can clearly remain attached
07:39:16 <coppro> I don't think it's possible
07:39:29 <b_jonas> why? does the procedure I said not work?
07:41:12 <coppro> We don't know the rules for manifest
07:41:22 <b_jonas> coppro: the complicated one I said doesn't use manifest
07:41:36 <b_jonas> it doesn't use anything newer than ravnica (mirrodin I think actually)
07:41:49 <b_jonas> with Mizzium Transreliquat
07:42:14 <b_jonas> I'm using Teferi, Mage of Zhalfir from Time Spiral
07:42:37 <b_jonas> hmm, what's the older way to replace that, putting an aura into play at instant speed?
07:43:11 <coppro> ok yeah, I think that works
07:43:28 <coppro> it's an aura creature, so it goes to the graveyard
07:43:42 <coppro> it does happen, but only momentarily
07:44:01 <b_jonas> no, it doesn't become an aura before we shatter the animate artifact
07:44:58 <b_jonas> that's why I need "Animate Artifact", an aura, rather than an instant, but I wonder how to get around that without using Teferi
07:46:47 <coppro> teferi doesn't let you cast noncreatures at instant-speed either
07:47:00 <b_jonas> so you need Vedalken Orrery
07:47:21 <b_jonas> but isn't there some older card that just lets me either cast an enchantment card or put it into play at instant speed?
07:47:40 <b_jonas> but Vedalken Orrery works of course
07:48:46 <b_jonas> March of the Machines works instead of Animate Artifact, but that doesn't really help
07:53:51 <int-e> beautiful. http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=19736
07:54:55 <int-e> (via http://mtgsalvation.gamepedia.com/Flash )
07:57:12 <b_jonas> ok, so either Vernal Equinox or Vedalken Orrery works
07:59:16 -!- Sgeo has quit (Read error: Connection reset by peer).
08:02:05 -!- ais523 has joined.
08:02:36 -!- ais523 has quit (Read error: Connection reset by peer).
08:02:45 -!- ais523 has joined.
08:03:18 <b_jonas> zzo38: also Hypergenesis cast with Quicken, but Hypergenesis is way too new
08:03:25 -!- Sgeo has joined.
08:03:48 <b_jonas> ais523: we found a problem with that construction of the non-creature aura without enchant, but I think we found a way to fix it with zzo38
08:04:27 <b_jonas> ais523: the problem is that our previous constructions create an aura that isn't attached to anything and isn't just right now coming to play, so it's put to the gy as a state-based effect and doesn't live long enough
08:04:48 <b_jonas> Make Mizzium Transreliquat copy Cranial Plating with the second ability. Stack the ability to make it copy Holy Strength (Liquimetal Coated),
08:05:21 <b_jonas> then stack the Plating's ability to attach it to a bear. Then Animate Artifact it (using Vedalken Orrery or Vernal Equinox), Humble it, Shatter the Animate, resolve the attach (valid because it's an equipment), resolve the copy.
08:05:25 <b_jonas> Now it's an attached humbled aura.
08:06:00 <b_jonas> The trick is that while it's a non-creature equipment, it can unquestionable remain attached to a bear even if it's humbled.
08:07:59 <int-e> Hmm, what is the intention of this rule, "Auras that can enchant a player can target and be attached to players. Such Auras can’t target permanents and can’t be attached to permanents."
08:08:07 <b_jonas> So before the final step, resolving the copy of an aura, you have to have a humbled non-creature equipment attached to a creature.
08:08:46 <b_jonas> Humble doesn't change types or subtypes.
08:09:16 <int-e> (Without the Enchant ability, the aura can target players, hence not permanents? ...)
08:09:43 <shachaf> int-e: You mean, why is it necessary?
08:10:12 <int-e> shachaf: I doubt it's necessary, I think it's answering an FAQ.
08:10:21 <int-e> Or trying to, anyway.
08:10:47 <shachaf> I think there are a lot of rules that just clarify things and aren't strictly necessary.
08:14:43 <int-e> But I'm trying to figure out the effect of that rule in the absence of Enchant abilities, with "Copy Enchantment" in mind. AFAIU, you play that spell, and choose a target. When it resolves, you replace it by an Aura on the battlefield. But there's no "Enchant" ability in effect when you pick the target. I wonder if that's right...
08:15:11 <int-e> Oh well, maybe later...
08:15:49 <shachaf> int-e: There's no targeting as such when you cast it, is there?
08:16:20 <int-e> "303.4a An Aura spell requires a target, which is restricted by its enchant ability."
08:16:36 <shachaf> Yes, but Copy Enchantment isn't an Aura spell.
08:16:46 <shachaf> It becomes an aura when it resolves, but it's not a spell at that point.
08:16:53 <b_jonas> Animate Artifact is an uncommon in revised? nice
08:17:10 <b_jonas> that means it's super-cheap
08:17:41 <ais523> well, revised was ages ago
08:17:44 <shachaf> "As long as enchanted artifact isn't a creature, it's an artifact creature with power and toughness each equal to its converted mana cost."
08:17:50 <ais523> there's also ensoul artifact from the most recent core set
08:18:01 <ais523> which might work a bit better
08:18:07 <shachaf> Something about layers, I guess?
08:18:53 <ais523> yep, the ability can't cancel out its own effect
08:19:01 <ais523> because it doesn't look at itself to see whether to trigger or not
08:19:27 -!- MoALTz has quit (Quit: Leaving).
08:19:44 <shachaf> I guess you don't mean trigger in the game sense of the word.
08:20:06 <b_jonas> oh, I didn't know about Ensoul Artifact, nice
08:20:19 <b_jonas> though I wanted to do this with cards from ravnica or older if possible
08:20:36 <ais523> shachaf: right, I didn't
08:20:50 <ais523> b_jonas: any reason to favour old cards?
08:22:26 <HackEgo> [wiki] [[Talk:Container]] N http://esolangs.org/w/index.php?oldid=41620 * T.J.S.1 * (+195) Created page with "== Implementation == Is there any implementation for this language yet? If not, I might (or might not) write one. ~~~~"
08:24:45 <b_jonas> ais523: perhaps ravnica is too strict, but I just wanted to make sure it's not something in the rules that's broken only recently and they just hadn't had time to catch up and fix the rules in next set update
08:26:01 <shachaf> Rules changes affect old cards too.
08:26:18 <b_jonas> ais523: also I don't know cards after m12 well enough, so I want to know that there's rules breakage possible even with cards I should have known, not only with new cards I might have never seen,
08:26:28 <b_jonas> thuogh admittedly it's _my_ fault that I'm not following new sets much
08:26:43 <shachaf> Convoke was in Ravnica, right?
08:27:21 <shachaf> That was changed recently.
08:28:22 -!- callforjudgement has joined.
08:28:31 -!- ais523 has quit (Read error: Connection reset by peer).
08:29:33 <b_jonas> there was one real rules breakage I found once that has existed from Ravnica to approximately Eventide when I found it and they fixed it
08:35:52 <b_jonas> callforjudgement: it wasn't specified what Patron of the Akki's "offering" ability does if you sacrifice a hybrid card like Boros Recruit
08:36:44 -!- shikhin has joined.
08:54:08 -!- shikhin_ has joined.
08:56:38 <HackEgo> [wiki] [[XRF]] http://esolangs.org/w/index.php?diff=41621&oldid=41619 * Keymaker * (+434) Added a random generator.
08:57:19 -!- shikhin has quit (Ping timeout: 256 seconds).
08:59:05 <HackEgo> [wiki] [[XRF]] http://esolangs.org/w/index.php?diff=41622&oldid=41621 * Keymaker * (+0) "top" -> "two"
09:01:09 <myname> http://golf.shinh.org/p.rb?ultimate+problem what's wrong with these statistics? 13 - 0B / 11B / 1B
09:03:11 <mitchs> whitespace is not counted, if that's what you mean
09:05:14 <J_Arcane> myname: it seems like most of those scores are not really following the intent.
09:09:52 -!- callforjudgement has quit.
09:11:30 -!- callforjudgement has joined.
09:13:12 -!- callforjudgement has quit (Client Quit).
09:13:48 -!- callforjudgement has joined.
09:14:18 -!- callforjudgement has quit (Client Quit).
09:14:32 -!- callforjudgement has joined.
09:19:41 <elliott> https://i.imgur.com/PINcCUy.gif alright which one of you did this
09:23:15 <shachaf> r0nk isn't in this channel hth
09:25:26 <elliott> vanila: state machine diagram
09:27:12 <elliott> the nodes with two paths to follow are the loop transitions?
09:27:50 <elliott> https://github.com/r0nk/ward
09:29:25 <vanila> most interesting is that he seems to have implemented some kind of ASCII art graph layout program
09:30:39 <vanila> https://github.com/r0nk/simplecpu
09:30:48 <vanila> this guy is very good at getting to the front page of hackernews
09:36:38 <b_jonas> I said there had to be a down to earth way to put the Animate Artifact to play at instant speed without giving it flash with Vedalken Orrery or Vernal Equinox, and without heavy magic like clockspinned Hypergenesis. There is, though it doesn't improve this construction:
09:37:20 <b_jonas> Play the enchantment earlier, exile it with an Oblivion Ring, and get it back at instant speed with Disenchant.
09:38:33 <b_jonas> (Of course, the heavy wizardry here is not this part anyway. It's the Mizzium Transreliquat which is the key piece.)
09:40:54 -!- SopaXT has joined.
09:40:54 -!- SopaXT has quit (Changing host).
09:40:54 -!- SopaXT has joined.
09:43:47 -!- SopaXT has changed nick to R820T.
09:45:27 -!- R820T has changed nick to R820T2.
09:46:22 -!- R820T2 has changed nick to R820T.
09:46:45 -!- R820T has changed nick to RTL2832U.
09:47:40 <b_jonas> And it doesn't seem to be easy to replace either, because I think it's the only card with a "become a copy" ability that can copy from a non-creature.
09:48:38 -!- RTL2832U has changed nick to SopaXorzTaker.
10:01:11 * J_Arcane prods his way through a Scala tutorial.
10:11:58 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
10:22:36 -!- callforjudgement has quit.
10:23:22 -!- callforjudgement has joined.
10:26:50 <J_Arcane> val num = file.map(wordcount).reduceLeft(_ + _)
10:27:36 <vanila> you have to read it from left to right i guess
10:28:29 <J_Arcane> IT's the use of the double anonymous variable there that makes my head go whaaaa.
10:30:03 <vanila> wow the BLC thing use a bytecode
10:31:03 <J_Arcane> Similarly wat worthy is that you can define functions with either a parens'd list (x: Int, y: Int, etc.), *or* with multiple parenthesised arguments, ie. (x: int)(y: int)(etc...)
10:31:10 <vanila> holy crap :O this is so cool
10:33:19 <J_Arcane> Amusingly, it also has a carrying for loop like Heresy does. :D
10:38:15 <vanila> i thought of a neat idea
10:38:22 <vanila> brainfuck VIRTUAL MACHINE
10:45:09 <mroman> who wrote blsqbot a message o_O
10:46:51 <mroman> which roughly translates as \x y -> x + y?
10:47:37 <mroman> As long as you don't need \x y -> x + x :)
10:48:39 -!- oerjan has joined.
10:52:47 <vanila> why does the wiki have to be so slow :(
10:53:14 <oerjan> vanila: because it runs on a free cloud server
10:53:29 <vanila> I want a free cloud server
10:53:38 <oerjan> well, as you can see, they're crap
10:53:41 <vanila> do you know if I can run mirage app for free?
10:54:07 * oerjan doesn't have a vps/cloud server himself so isn't the right person to ask
10:54:10 <vanila> zzo38, I created a gopher server i dont know if you're interested
10:59:02 <mroman> I might be able to host a proxy of the esowiki :)
10:59:12 <mroman> might be faster but will be out of date of course :D
11:00:27 -!- mhi^ has left.
11:00:52 <oerjan> careful or you might end up hosting the wiki itself
11:04:25 <vanila> im writing a brainfuck compiler in ocaml
11:08:11 <oerjan> wtf is with that child in the kindergarten across the street
11:08:57 -!- oren has joined.
11:12:37 <Taneb> oerjan, my vision and graphics exam is in two hours, I guess I can sympathize with the child
11:13:27 <oerjan> i don't think it's that kind of scream
11:14:33 <oerjan> i was trying to find a more precise term but wikipedia/wiktionary is useless for distinguishing them
11:14:39 -!- boily has joined.
11:14:58 <oerjan> let's just say it's probably not out of pain
11:15:24 <oerjan> and contains no sign of a vowel
11:21:32 <oerjan> googling "types of screams" appears to find metal music discussions
11:23:29 <Taneb> I shall now play Mario instead of last minute cramming
11:23:37 <oren> metal is the dubstep of non-electronic music
11:23:38 <Taneb> I reckon if I don't know something by now I am not going to know it
11:24:27 <boily> Tanelle. which Mario?
11:24:28 <oerjan> oren: i ... don't think i like dubstep either, although i have heard very little of it. (the only one i recall was a parody one by ylvis)
11:24:44 <Taneb> boily, the Nintendo plumber guy
11:24:49 <Taneb> (New Super Mario Bros 2)
11:25:48 <oren> oerjan: well, not everyone likes harsh semi-melodicness
11:26:11 <boily> oerjan: That Was Not Helping But Now It Helps.
11:27:19 * oerjan is always nervous when he tries to remember how to trick the hth script into getting punctuation past it.
11:27:26 <oren> blah i woke up at 3 am today...
11:27:36 <oren> is it breakfast time yet????
11:27:57 <oerjan> oren: well i just ate breakfast, it's 12:30 PM hth
11:28:17 <oren> you're 6 hours ahead of me
11:28:48 <oerjan> it's like i'm zoned out ... of time
11:30:28 <oren> tell boily: i'm 21
11:30:51 <oren> @tell boily: i'm 21
11:31:25 <oerjan> oren: i don't think poor boily: will ever manage to get that message, seeing as he's an illegal character
11:31:41 <oerjan> maybe there was an excemption for :
11:32:08 <boily> oren: you're 21? it's your birthday?
11:33:18 <oren> boily asked 14d 12h 18m 35s ago: What are your approximate ages?
11:34:01 <oerjan> is lambdabot acting up with its messages again or have you really been away all that time?
11:34:12 * boily has absolutely no recollection ever having had asked that...
11:34:24 <boily> but the Bot is Law, and I follow it.
11:34:28 <oerjan> boily: i think i vaguely recollect it
11:34:59 <oren> @massages-loud
11:36:02 <oren> does it do a distance measure to the nearest command?
11:37:04 <oerjan> yes, with a maximum of 2
11:38:44 <oerjan> @info sometimes a bit confusing though
11:39:40 <oerjan> (your exercise shall be to find out which command that _actually_ triggered)
11:44:13 <oren> @echo probably this one?
11:44:13 <lambdabot> echo; msg:IrcMessage {ircMsgServer = "freenode", ircMsgLBName = "lambdabot", ircMsgPrefix = "oren!~oren@TOROON0949W-LP130-04-1096704252.dsl.bell.ca", ircMsgCommand = "PRIVMSG", ircMsgParams = ["#esoteric",":@echo probably this one?"]} target:#esoteric rest:"probably this one?"
11:44:30 <oren> apparently not
11:47:14 <oren> @kind maybe this
11:47:15 <lambdabot> Not in scope: type variable ‘maybe’
11:47:15 <lambdabot> Not in scope: type variable ‘this’
11:50:58 <lambdabot> Maybe you meant: wn unpf ping kind id bf
11:51:11 <b_jonas> why isn't there a chdirat system call?
11:52:23 <oerjan> oren: it's not @unpf although it may be tricky to tell - the edit distance is too large
11:52:49 -!- j-bot has joined.
11:52:53 <j-bot> b_jonas: 4294967295
11:53:29 <oerjan> in fact it's none of those in that list
11:53:37 <vanila> what two numbers could I multiply to get 0xFFFFFFFF? is it a square?
11:54:33 <oren> you could multiply 0xffff and 0x10001
11:55:01 <oerjan> it's -1 (mod 2^32), not sure if that's a square on the spot
11:56:11 <oerjan> vanila: you can choose one of the numbers to be anything not divisible by 2
11:56:49 <oerjan> because those have inverses (mod 2^32)
11:56:49 <vanila> okay but they both need to be <= 25 bits
11:57:10 <oerjan> well oren's suggestion sounds good then
11:58:12 <oerjan> they're pretty obviously the smallest
11:58:20 <vanila> okay now i have + and - working!
12:00:12 <b_jonas> whe happens when we run out of bits for flags to open? there are already about 24 of them and every year someone invents a new one.
12:01:38 <vanila> always have one bit spare that lets you increase the length of the flag section
12:07:22 <b_jonas> Jafet: count the ones Linux supports in latest versions; plus the ones POSIX defines recently: O_SEARCH and O_EXECUTE and O_DSYNC and O_RSYNC; plus the two locking flags OpenBSD and other BSDs define
12:09:25 <Jafet> You could have a bit that tells open to look for additional bits in the mode.
12:11:44 <vanila> god damn it my entire idea doesn't work because of [ skipping if starts with zero
12:11:52 <b_jonas> Jafet: hmm, maybe, but that would be a bit ugly
12:11:55 <vanila> you can't compile brainfuck without parsing it first :(
12:12:18 <b_jonas> let me count. O_WRONLY, O_RDWR, O_SEARCH, O_EXECUTE (4 so far), O_APPEND, O_CREAT, O_EXCL, O_TRUNC (8 so far), O_NONBLOCK, O_CLOEXEC, O_ASYNC, O_DIRECTORY (12 so far),
12:12:31 <vanila> at least if you're emitting jumps as numeric steps
12:13:18 <vanila> brainfuck withouth the rule that [ jumps across when 0
12:13:26 <vanila> it's got no "if" so is it still turing complete?
12:13:41 <b_jonas> O_SHLOCK, O_EXLOCK, O_NOFOLLOW, O_DIRECTORY (16 so far), O_NOCTTY, O_LARGEFILE, O_PATH, O_TMPFILE (20 so far), O_DIRECT, O_SYNC, O_DSYNC, O_RSYNC (24 so far),
12:14:02 <b_jonas> O_NOATIME, O_TTY_INIT (26 total).
12:15:18 <b_jonas> vanila: we talked about that a bit ago. I believe I can prove it turing-complete, though it has restrictions on its io
12:15:35 <b_jonas> but I didn't write the proof down properly so I could be wrong.
12:16:29 -!- boily has quit (Quit: HEGEMONIOUS CHICKEN).
12:17:14 <b_jonas> additional bits in the mode? hmm, that could work. the mode has like 11 bits free.
12:17:58 <b_jonas> the permission bits take 12 bits, the file type bits (not used in open, but someone could pass them) take 4,
12:20:30 <oerjan> <vanila> god damn it my entire idea doesn't work because of [ skipping if starts with zero <-- a common problem for first-time brainfuck implementers
12:21:22 <Jafet> Since its type is mode_t, in principle it can have as many bits as you like...
12:21:23 <int-e> But surely do-while-not-zero-brainfuck is TC.
12:21:58 <vanila> I got array index out of bounds trying to run hello world in that variant :(
12:22:32 <vanila> i was hoping it would just work
12:22:39 <int-e> what's that doing in a hello world program?
12:22:56 <vanila> i dont really know, i think its part of a trick to construct a number in a short way
12:23:06 <int-e> (probably one of these fugly constants-in-brainfuck snippets)
12:26:51 <vanila> does anyone have a no-if friendly hello world?
12:28:15 <int-e> http://copy.sh/brainfuck/text.html generates friendly code.
12:28:54 <oerjan> `! bf_txtgen Hello, world!
12:29:04 <HackEgo> 122 ++++++++++++++[>>+++++>+++++++>+++<<<<-]>>++.>+++.+++++++..+++.>++.------------.<++++++++.--------.+++.------.--------.>+. [384]
12:29:35 <vanila> +[--------->++<]>+. this is for S
12:29:40 <int-e> oerjan: thanks. I was too lazy to look that up.
12:29:58 <vanila> thanks for the nice link,
12:30:04 <vanila> its just I have not got negative numbers in mine
12:30:24 <int-e> vanila: the bf_txtgen thing should work fine for you
12:30:49 <HackEgo> 33 +++++++[>++++++++++++>>><<<<-]>-. [18]
12:31:06 <int-e> (though it looks a bit silly!)
12:31:14 <vanila> now i just have to implemnt ]
12:31:19 <oerjan> it's not immensely efficient for single letters, i should think
12:31:21 <vanila> haha i should optimize >< and things
12:31:29 <oerjan> yeah it doesn't do that
12:34:22 <oren> >< should be multiplication
12:34:32 <oren> in some language'
12:36:54 <mroman> Filesystem Size Used Avail Use% Mounted on
12:36:55 <mroman> /dev/vzfs 4.0G 3.1G 934M 78% /
12:37:20 <vanila> `! bf_txtgen Hello from UM!
12:37:27 <HackEgo> 118 ++++++++++++[>++++++>+++>+++++++++>++++++++<<<<-]>.>>>+++++.<..+++.<----.>>+.<+++.---.--.<.<+++++++++++++.--------.>+. [278]
12:38:20 <mroman> before it goes down I guess I can sacrifice some available space.
12:40:15 <mroman> currently esolangs.org is pretty fast
12:40:36 <int-e> 4 GB, that's pretty darn small these days...
12:40:54 <vanila> I can compile brainfuck without if to http://esolangs.org/wiki/UM-32
12:41:03 <mroman> It's a pretty bad hosting provider
12:41:12 <mroman> which now got consumed by hosteurope
12:41:15 <vanila> im really glad I wrote this in ocaml, because the idea was to self host
12:41:17 <mroman> but my old contract is still running
12:41:25 <vanila> and I was almost finished it before I realized the if thing...
12:41:34 <mroman> I'm pretty much stuck with it...
12:41:51 <mroman> and honestly I don't really need more than 4GB.
12:42:05 <vanila> so i dont think i will
12:42:15 <mroman> but I need to be able to run haskell programs on it
12:42:30 <mroman> that's pretty much why I decided to rent a vServer
12:42:34 <mroman> and I wanted a swiss hosting provider
12:42:48 <oerjan> vanila: mind you, parsing brainfuck is about the simplest parsing you can do
12:43:10 <mroman> there _are_ much cheaper hosters with cgi support
12:43:11 <vanila> it's not even a regular language!
12:43:19 <mroman> but you can't install software on them
12:43:27 <mroman> you're just stuck with whatever stuff they have pre-installed
12:43:31 <int-e> vanila: all you need to add is an unconditional jump before the loop to the end of the loop.
12:43:33 <mroman> which isn't really practical
12:43:47 <vanila> int-e,the problem is i dont know where the end of the loop is yet
12:43:58 <vanila> I was trying to emit code as I read in the program
12:44:10 <vanila> so supporting if will require a second pass
12:44:17 <int-e> oh. yes, that generally fails
12:44:21 <oerjan> vanila: nevertheless, there are regular languages that are harder to parse than brainfuck.
12:44:46 <mroman> If I wouldn't host the burlesque online shell I could go with a hosting provider that charges 1.10 CHF a month
12:45:48 <oerjan> vanila: regular languages can encode a finite state machine, while brainfuck needs no state for parsing other than "am i inside a loop or not"
12:46:02 <vanila> dont you need a stack?
12:46:06 <int-e> oerjan: well, you generally need a stack
12:46:20 <mroman> Somebody could start writing a burlesque interpreter in PHP :D
12:46:35 <oerjan> the stack is still simpler than the mess of an arbitrary state graph
12:46:39 <int-e> string matching abracadabra without backtracking is arguably harder than parsing brainfuck.
12:47:07 <int-e> (that's a regular language: strings containing "abracadabra")
12:47:47 -!- shikhin_ has quit (Ping timeout: 245 seconds).
12:48:44 <int-e> try finding the corresponding DFA
12:49:31 <vanila> I could find the DFA, I wrote a program that does it
12:49:39 <mroman> Can't you just parse "parallel"?
12:49:46 <mroman> I.e. be in two states at the same time
12:49:55 <int-e> vanila: bet the program is more difficult than a simple brainfuck interpreter
12:50:02 <vanila> yeah its really complex
12:50:04 <int-e> mroman: no, that's an NFA
12:50:44 <int-e> (I've done that. I wrote my own 'locate' program because the existing one was too slow... it works by generating DFAs.)
12:52:09 <mroman> Although that's probably pretty not-so-performant
12:52:45 <oerjan> i don't think abracadabra is _that_ hard mind you
12:53:42 <oerjan> i don't think parallel is needed
12:54:10 <mroman> And it's probably not-deterministic
12:54:13 <vanila> so if you needed to parse ababababababx
12:54:20 <vanila> it would be hard if you are inside a strema like
12:54:22 <mroman> since, if you try to match abra OR abracadabra
12:54:24 <vanila> abababababababababababababab
12:54:29 <vanila> because any time an x comes you need to be ready for it
12:54:39 <mroman> the "thread" who finishes first will determine as what it parses
12:54:41 <int-e> ababcababcdababcababcdababc
12:55:00 <oerjan> vanila: yeah i think that's harder in a sense
12:55:38 <int-e> Oh, this part I forgot: The locate started out just doing KMP... (KMP builds a DFA)
12:55:47 <mroman> and you need serious thread handling to terminate other threads once a thread has parsed something
12:56:03 <vanila> so it rebuilds the DFA every time?
12:56:07 <oerjan> i think for both that and abracadabra you just need to know the longest initial substring you've parsed up to now
12:56:22 <mroman> you need to terminate every thread that overlaps with what the succeeding thread parsed
12:56:35 <vanila> http://esolangs.org/wiki/UM-32 I compile brainfuck without if to this
12:58:06 <int-e> oerjan: yeah it's not as hard as it could be; essentially you'll have to know whether the previous character was an a or not. but it's confusing to think about.
13:00:34 -!- Tritonio has joined.
13:00:40 <oerjan> i think the number of states is exactly the number of characters in "abracadabra"
13:01:17 <oerjan> oh i guess a final state
13:01:21 <int-e> (generally plus one: one state for each position, starting before the first letter, and ending past the last one)
13:01:35 <int-e> (similar ideas work for translating regexps to NFAs)
13:02:11 <oerjan> int-e: well i'd argue that if you're looking for _all_ (non-overlapping) abracadabra substrings, the initial position is equivalent to the final one
13:02:36 <int-e> you can do that...
13:04:32 <oerjan> now try parsing "infinitive" instead
13:05:21 <Jafet> locate can probably use a suffix tree
13:05:23 <oerjan> no, i think that's still the same
13:05:50 <oerjan> if you are searching for one word, it doesn't really get harder than "how much of the word have i seen so far"
13:06:26 <int-e> oerjan: yes. see KMP
13:07:48 <int-e> Jafet: I never bothered. 5x faster than the existing locate was good enough, and I went for regex search instead.
13:08:15 <oerjan> ah, that's exactly what the first wikipedia paragraph says
13:08:18 <Jafet> Implementing regex search on suffix trees sounds fun
13:08:54 <Jafet> Yes, that kind of fun
13:08:59 <Jafet> What does gnu locate do?
13:09:21 <int-e> generate a list of files from its database; check each.
13:09:36 <int-e> (for substring or regex match)
13:10:46 <int-e> which is a bit sad; the database has the list of files as deltas (remove k characters; add some more chracters), and that lends itself for an incremental search (only the newly added chracters need to be checked.)
13:11:21 <Jafet> So it's a serialised trie?
13:11:46 <Jafet> Delightfully awful
13:17:46 <int-e> ah, it's "lends itself to".
13:18:57 <Jafet> That's what I read
13:33:12 -!- SopaXorzTaker has quit (Remote host closed the connection).
13:38:30 -!- SopaXorzTaker has joined.
13:38:30 -!- SopaXorzTaker has quit (Changing host).
13:38:30 -!- SopaXorzTaker has joined.
13:55:57 -!- hjulle has joined.
14:13:55 <oren> so i'm revisiting my idea for a programming language based on RTS games
14:14:21 <oren> you have various workers and buildings
14:18:29 <Jafet> Ok, but make sure that it's competitively balanced.
14:19:23 -!- AndoDaan has quit (Ping timeout: 240 seconds).
14:19:40 -!- S1 has joined.
14:22:20 <oren> Jafet: not a problem, all units and all buildings are at first identical
14:22:40 -!- Phantom_Hoover has joined.
14:22:51 <b_jonas> oren: what? if they're all identical, why would I ever play with the night elves?
14:23:04 <b_jonas> or do they differ in their research?
14:23:18 <oren> they differ as you tell them to differ
14:23:56 <b_jonas> ok, then I tell my orcs gather more gold than yours
14:24:07 <int-e> "you there! be an armoury. you there! be a bridge! you there, be gone!"
14:24:20 <oren> exactly that sort of thing
14:24:54 <oren> but you define the interactions manually so there is more latitude
14:26:44 <oren> but the key is, all "programming" is done by mousing, there is no text in the whole language
14:28:21 <oren> there is only one resource, but unlike normal RTS you have to carry it to the place you want to use it
14:28:29 <b_jonas> what? wy would I hvae to use the mouse?
14:28:55 <oren> you could use a touch screen or a joytick i suppose
14:29:19 <b_jonas> why can't I just use my keyboard?
14:29:33 <int-e> it's only fun if you can instruct your ... entitities ... do carry around the resource for you
14:30:10 <oren> you start with one entity who carries 1000 resource
14:37:11 <oren> then you can build buildings, which produce more resuorce at a rate
14:37:43 <oren> and then you can tell workers to take resource from one building and place it in another
14:38:08 <oren> and of course buildings can create workers
14:38:15 -!- callforjudgement has quit.
14:53:02 <oren> so the data storage would be buildings that produce resource at rate zero
14:55:15 <oren> workers' action loops can include conditions, waiting, etc
14:56:38 <oren> maybe i/o would be represented by a building that you place N resource into to output character N
15:00:59 -!- drdanmaku has joined.
15:01:33 <Jafet> I/O happens when you destroy enemy units or lose yours hth
15:03:37 <oren> a worker carrying no resource dies
15:03:51 <oren> so you kill a worker by taking all his resource
15:04:25 <oren> similarly a building exists so long as it contains some nonzero amount of resource
15:04:53 <Jafet> The usual cooperative distributed system protocols are so boring. You could support adversarial distributed systems.
15:04:55 <jameseb> oren: workers would have to be created with a certain amount of resource then
15:05:13 <oren> well yeah that is why they sot resource
15:10:05 <oren> Wrokers of course take time to move, take resource out of a building, etc, proportional to the amount of reosurce transferred or distance
15:10:42 -!- SopaXorzTaker has quit (Remote host closed the connection).
15:11:49 <oren> so to make a program faster i recommend using less resource and moving buildings closer
15:13:28 <oren> i haven't even begun implementing any of this btw
15:15:08 -!- Tritonio has quit (Ping timeout: 244 seconds).
15:16:40 -!- GeekDude has joined.
15:35:44 <vanila> you could implement it highly highly distributed
15:35:49 <vanila> over thousandas of computers
15:36:36 -!- S1 has changed nick to Z1.
15:36:51 -!- Z1 has changed nick to S1.
15:37:14 -!- S1 has changed nick to Z11.
15:43:40 -!- Solace has joined.
15:43:59 <Solace> quick u guise, how do I find graph isomorphism in less than n!
15:44:39 -!- Z11 has changed nick to S1.
15:46:05 <Jafet> "As of 2008 the best algorithm (Eugene Luks, 1983) has run time 2O(√(n log n)) for graphs with n vertices."
15:47:05 <vanila> Jafet, I thought it was NP hard
15:47:20 <Solace> is that for my question
15:47:35 <yorick> no, it's just NP, not NP hard
15:47:42 <Jafet> It's not proven, and probably isn't
15:48:15 -!- S1 has left.
15:48:34 <vanila> the 2 to the power was outside the O
15:48:37 <vanila> that looks less ridiculous
15:49:02 <Jafet> (it was a HTML superscript.)
15:49:13 <vanila> i haven't slept in way too long
15:49:40 <Jafet> It's still probably not NP-hard, otherwise it would just be 2^O(n)
15:53:06 <FreeFull> http://calmerthanyouare.org/2015/01/07/optimizing-brainfuck.html
15:53:25 <vanila> oh how do you do bitmasks and stuff in brainfuck
15:53:34 <oerjan> Jafet: something can be NP-hard with 2^O(...any polynomial...)
15:53:36 <vanila> like for writing an assembler
15:54:26 <Jafet> Is there any example with 2^sqrt n?
15:54:44 <oerjan> in theory there is. just use padding.
15:55:00 <FreeFull> Too bad that article is more about optimising the interpreter rather than returning optimised BF code
15:55:09 <oerjan> i'm not really an expert on the examples.
15:55:10 <vanila> i kind of wnat to write a self hosting brainfuck compiler
15:55:21 <vanila> but its a lot of hard work...
15:55:32 <oerjan> Jafet: that padding was for you
15:56:16 <Jafet> Ok, the cstheory site has an example
15:56:17 <Solace> I'm sorry for your loss
15:56:26 <Jafet> (o(n), not sqrt n specifically)
15:56:33 <Solace> You guys don't have to calc this y'know
15:58:20 <vanila> FreeFull, This is really good!
16:24:38 -!- Tritonio has joined.
16:39:13 <Jafet> Ok, it's something like 2^O(n/log log n)
16:39:17 <Jafet> That doesn't count imo
16:41:57 <oerjan> Jafet: link to cstheory?
16:42:23 <Jafet> http://cstheory.stackexchange.com/a/3623
16:45:57 <oerjan> doesn't the first answer about max clique count
16:49:38 <Jafet> Huh, is that a kernel for k-clique
16:49:45 <Jafet> or something like that
16:50:56 <Jafet> I should probably enable javascript so I can read the latex
16:53:02 <Jafet> Oh, it counts edges
16:53:44 -!- oerjan has quit (Quit: Later).
16:53:56 -!- vanila has quit (Quit: Leaving).
17:14:07 <Taneb> Well, that went OK
17:17:23 -!- Tritonio has quit (Remote host closed the connection).
17:17:45 -!- Tritonio has joined.
17:19:08 -!- jix_ has quit (Ping timeout: 244 seconds).
17:33:32 -!- shikhin has joined.
17:35:03 -!- oren has quit (Ping timeout: 264 seconds).
17:53:29 -!- Sprocklem has joined.
17:54:16 -!- Tritonio has quit (Ping timeout: 244 seconds).
17:58:30 -!- oren has joined.
18:01:13 -!- bb010g has quit (Quit: Connection closed for inactivity).
18:03:41 -!- oren has quit (Quit: Lost terminal).
18:10:46 -!- ^v has joined.
18:13:14 -!- fractal has quit (Remote host closed the connection).
18:19:37 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
18:30:11 -!- Solace has quit (Quit: Connection closed for inactivity).
18:37:29 -!- scounder has joined.
18:38:11 -!- MoALTz has joined.
18:50:21 -!- shikhin_ has joined.
18:52:10 -!- arjanb has joined.
18:53:10 -!- shikhin has quit (Ping timeout: 244 seconds).
19:00:03 -!- shikhin_ has changed nick to shikhin.
19:03:40 -!- Tritonio has joined.
19:07:03 -!- bb010g has joined.
19:19:43 -!- Lymia has quit (Ping timeout: 244 seconds).
19:25:47 -!- Sprocklem has quit (Ping timeout: 252 seconds).
19:30:49 -!- shikhin has changed nick to shikhin_.
19:32:21 -!- shikhin_ has changed nick to shikhin.
19:34:28 -!- Lymia has joined.
19:34:33 -!- Lymia has quit (Changing host).
19:34:33 -!- Lymia has joined.
19:37:18 -!- Sprocklem has joined.
19:40:41 -!- Sprocklem has quit (Read error: Connection reset by peer).
19:42:23 -!- shikhin has changed nick to shikhin_.
19:43:01 -!- shikhin_ has changed nick to shikhin.
19:44:02 -!- Sprocklem has joined.
19:44:48 <J_Arcane> Wow. I don't even understand this one: http://www.codewars.com/kata/reviews/5418c2901d3bf380da00025c/groups/5423adab48306ff68700045f
20:00:43 -!- glguy has left ("Leaving").
20:03:47 -!- Tritonio has quit (Remote host closed the connection).
20:04:10 -!- Tritonio has joined.
20:05:13 <J_Arcane> Wheyhey! Heresy has pretty Scribble docs online now: http://pkg-build.racket-lang.org/doc/heresy/index.html
20:05:35 <Melvar> The codewars thing doesn’t seem to be actually accessible.
20:05:57 <J_Arcane> Huh. I guess the links don't work unless you're logged in or something.
20:06:28 <J_Arcane> It's a Haskell solution for checking CCNs:
20:06:31 <J_Arcane> validate = (== 0) . (`mod` 10) . sum . zipWith ($) (cycle [id, sum . digits . (*2)]) . reverse . digits
20:06:32 <J_Arcane> where digits = map (read . return) . show
20:16:04 <J_Arcane> It's the zipWith ($) (cycle ...) bit that completely mystifies me. I have no idea what that even does.
20:16:52 <J_Arcane> credit card numbers. It's the Luhn algorithm.
20:17:09 <Melvar> Well, that part’s applying (sum . digits. (*2)) to every second element of the list.
20:17:26 <J_Arcane> That's the goal, yes, but I don't quite understand how it does it.
20:18:25 <lambdabot> [1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2...
20:19:42 <Melvar> It creates an infinite list, every second element of which is that function, and every other element is id.
20:20:33 <Melvar> Since ($) is application, zipWith ($) is elementwise application, so the function is applied to every second element of the list, and id to every other element.
20:29:03 -!- GeekDude has quit (Read error: Connection reset by peer).
20:29:17 -!- GeekDude has joined.
20:29:33 -!- GeekDude has quit (Changing host).
20:29:33 -!- GeekDude has joined.
20:35:52 <J_Arcane> Melvar: OK, I get it now, I think. Almost.
20:39:07 <myname> i am not quite sure about the return
20:39:13 <zzo38> Here is a Magic: the Puzzling I have made, but I don't know if it is correct so see if you can check http://zzo38computer.org/textfile/miscellaneous/magic_card/puzzle.1
20:42:26 <shachaf> zzo38: Drawing is a step, not a phase.
20:42:37 <shachaf> I guess I should say "draw".
20:42:56 <zzo38> shachaf: You are correct I made a mistake
20:43:11 <zzo38> I fixed that mistake now.
20:43:24 <shachaf> I don't know anything about The Dark.
20:43:57 <zzo38> You can easily look up a list of all cards it contains in Gatherer or whatever.
20:44:27 <shachaf> Yes. But that's 119 cards. It seems like a lot to look through for a puzzle.
20:44:27 -!- Sprocklem has quit (Ping timeout: 264 seconds).
20:44:32 <shachaf> Maybe there's an easier way.
20:44:55 <zzo38> You could try to sort them in various ways
20:45:18 <zzo38> (By type, by mana cost, by color, etc)
20:45:39 <zzo38> (And by power/toughness)
20:45:53 -!- Sprocklem has joined.
20:47:15 <shachaf> It seems like a large number of cards would do it.
20:47:15 <zzo38> A puzzle in Rosewater's "Magic: the Puzzling" book has a similar stipulation (although you get only one card in your library), which does not even tell you what set the card is in (except in the hints)!
20:48:04 <shachaf> Hm, you don't even need any cards, do you?
20:48:26 <zzo38> shachaf: Can you do it without an extra card? It isn't supposed to be possible, so if it is then it is a mistake hopefully you can tell me how to fix it?
20:50:55 <shachaf> Why can't you just attack with Leviathan and Bloodrush Pyrewild Shaman for 13 damage?
20:51:31 -!- Sprocklem has quit (Quit: [).
20:52:19 <b_jonas> the Dark is one of those few old expansion sets
20:52:36 <zzo38> shachaf: How can you earn enough mana?
20:53:18 <shachaf> zzo38: Birds of Paradise and any land? Or any land and Celestial Flare?
20:54:03 <b_jonas> right, Arabian Nights, Antiquities, Legends, The Dark, Fallen Empires. there are five of them. I don't really know anything about that.
20:54:32 <zzo38> Celestial Flare? It doesn't have that card.
20:54:47 <zzo38> Requires two mana to activate.
20:55:01 <shachaf> Right, and you get three mana from tapping a land.
20:55:04 <zzo38> Also, you have to sacrifice two islands to use Leviathan.
20:55:49 <shachaf> I didn't see the last line of Leviathan.
20:55:58 <shachaf> I thought you just needed to sacrifice islands to untap it.
20:56:21 <shachaf> But that doesn't matter, does it?
20:56:41 <b_jonas> I think I have at least one card from each of the expansion sets starting from Homelands up to Scars, and no cards from those five early expansion sets.
20:56:59 <zzo38> It is already untapped. However, you need to sacrifice islands to attack, too.
20:58:01 <shachaf> Hmm, maybe it is tricky, then.
20:59:21 <b_jonas> zzo38: so in this puzzle, all of the permanents you list are untapped and not summoning sick, right?
21:00:37 -!- jix has joined.
21:01:00 <b_jonas> oh, you have two mana flares! that means you get UUU from the island
21:01:09 <b_jonas> and three more mana from the land you drop
21:01:15 <zzo38> (If any were, they would be marked as such. Also, summoning sickness is irrelevant as long as Concordant Crossroads is in play.)
21:01:23 <shachaf> b_jonas: So you have 7 mana, but then you can't attack with the leviathan.
21:01:31 <b_jonas> yes, it's probably irrelevant
21:01:42 <b_jonas> shachaf: why not? you can sacrifice two tapped islands
21:01:54 <b_jonas> the Leviathan is not one of those crazy cards like Karoo that eat only untapped ones
21:01:55 <shachaf> Ah, sure, I was thinking specifically for bloodrushing.
21:02:13 <shachaf> You can use the mana in your main phase.
21:02:43 <shachaf> b_jonas: You forgot to ask whether any cards were face-down.
21:03:13 <zzo38> If they were, they would be marked as such.
21:03:55 <zzo38> Any relevant effects opponent played that would have lasted during your turn would also be mentioned if there are any.
21:04:12 <zzo38> As well as cards controlled by players other than their owner.
21:04:30 <b_jonas> ok, so you could get either UUUUUUC, or UUGGGC and use the Hack to turn the Forest to an Island.
21:04:40 <b_jonas> and attack with the Leviathan
21:05:53 <shachaf> How can you turn the Forest to an Island?
21:06:07 <b_jonas> shachaf: you have a Magical Hack in your hand, cast that for U
21:06:14 <b_jonas> after you've tapped the Forest for GGG
21:06:22 <zzo38> O, so it says you can do that; I didn't know that.
21:06:37 <b_jonas> it changes the type line too
21:06:44 <shachaf> Oh, it changes the type line too.
21:06:55 <b_jonas> just like Artificial Evolution
21:06:59 <shachaf> I thought "text" meant "text box".
21:07:01 <zzo38> Nevertheless I do not see how it would help here.
21:07:23 <b_jonas> zzo38: huh, why not? I might want to spend the green mana on a card I draw
21:07:44 <zzo38> Yes, on a card you draw it might help.
21:08:11 <zzo38> (Such as a green one)
21:08:56 <shachaf> Green mana would help with a green card.
21:12:14 <b_jonas> unless you do something like destroying all lands, you only have one turn, because the opponent can win next turn with his 15 mana.
21:14:04 <b_jonas> ok, so Wormwood Treefolk would save you, because you just cast it and attack with haste.
21:16:47 <zzo38> I added a card to opponent's side I forgot about.
21:19:27 -!- GeekDude has quit (Ping timeout: 252 seconds).
21:23:10 <zzo38> So Wormwood Treefolk is one of them yes, but what other cards do you think are possible to use in this way?
21:23:36 <b_jonas> zzo38: I'm looking, I just don't know The Dark so it takes a while
21:24:26 -!- Tritonio has quit (Remote host closed the connection).
21:24:51 -!- Tritonio has joined.
21:26:40 -!- Tritonio has quit (Remote host closed the connection).
21:27:12 -!- Tritonio has joined.
21:27:28 <b_jonas> zzo38: any of Eater of the Dead, Murk Dwellers would save you by just attacking. Electric Eel saves you as well because you can pay for its ability with the Prism. Mind Bomb saves you by dealing 3 damage.
21:28:24 <b_jonas> Funnily, Giant Shark doesn't seem to be able to save you, because it doesn't get along with the Leviathan well (genre differences).
21:39:27 <zzo38> Yes I can see that.
21:39:37 <b_jonas> Angry Mob, Diabolic Machine saves you by attacking.
21:40:22 <b_jonas> Cleansing comes close to saving you, but it lets the opponent keep two of his lands and I have the feeling he can still pull off some combo with just one drawn card and two lands.
21:41:41 <zzo38> Remember also the card opponent draws during his next turn may be from any set!
21:42:54 <b_jonas> Yes, he certainly can: keep two islands, draw into Ideas Unbound, he draws a Simian Spirit Guide, a Lightning Axe, and one irrelevant card, plays the Axe and kills you
21:43:42 <b_jonas> two lands and one card are definitely enough, there are probably crazier combos than that because he could theoretically draw two Black Lotuses with Ideas Unbound
21:44:22 <b_jonas> ok, maybe not _two_ Black Lotuses, but at least one
21:45:11 <b_jonas> so Cleansing doesn't work in theory
21:48:53 <zzo38> He can defeat you even with just one card. Note that it only says the number of cards in your library is a maximum; you might have only one card. Therefore, he can defeat you with Ancestral Recall.
21:49:26 -!- MoALTz has quit (Read error: Connection reset by peer).
21:49:37 <b_jonas> zzo38: you can't say that. if there's no minimum count in my library, I might lose right now because I can't draw.
21:50:22 <zzo38> Well, I fixed that.
21:51:25 <b_jonas> I think Apprentice Wizard saves you: it has haste because of the Crossroads, attack with the Leviathan, activate the Wizard's ability with the mana from Birds of Paradise, filter two of the mana through the Prism, and activate the bloodrush
21:51:40 -!- MoALTz has joined.
21:52:13 <b_jonas> similarly, Elves of Deep Shadow saves you because together with the Bird it gives you enough mana to bloodrush
21:52:36 <b_jonas> Gaea's Touch saves you because it lets you put both lands in play
21:52:50 <b_jonas> and also because it gives you extra mana
21:54:14 <b_jonas> Sisters of the Flame doesn't seem to save you, sadly, because you can't get three red mana and still have two islands
21:54:43 <b_jonas> oh right, Fellwar Stones saves you too, using bloodrush (duh)
21:56:59 <b_jonas> you could play the Magical Hack on the Leviathan, but that doesn't help you much (unless you use Gaea's Touch in which case you win without that anyway)
22:17:27 -!- Tritonio has quit (Remote host closed the connection).
22:20:53 -!- Tritonio has joined.
22:28:49 <zzo38> Will Brainwash help?
22:30:33 <coppro> you guys all owe me one
22:30:49 <coppro> someone annoying is in another channel trying to design a language
22:30:49 -!- Tritonio has quit (Remote host closed the connection).
22:30:51 <b_jonas> zzo38: I don't see how it would help.
22:30:54 <coppro> I nearly referred him here
22:31:09 -!- Tritonio has joined.
22:31:39 <zzo38> I think it allows you to exploit rule 508.1h (someone told me you aren't required to stop using mana abilities once you have enough mana)
22:34:00 -!- Tritonio has quit (Remote host closed the connection).
22:34:21 -!- Tritonio has joined.
22:35:32 -!- oerjan has joined.
22:36:25 <oerjan> <Taneb> Well, that went OK <-- congratulationas
22:36:52 <Taneb> oerjan, I went into the exam expecting to not be able to answer a single question.
22:37:01 <Taneb> I put at least something down for every question
22:39:02 <Taneb> So, I'm happy with it
22:39:13 <Taneb> I mean, I'm not going to do *great*
22:39:34 <Taneb> shachaf, Vision and Graphics
22:39:47 <oerjan> <J_Arcane> Wow. I don't even understand this one: http://www.codewars.com/kata/reviews/5418c2901d3bf380da00025c/groups/5423adab48306ff68700045f <-- login required
22:40:02 <Taneb> Or, for me, Make Sure You Go To Lectures Otherwise You Will Not Know What Is Going On
22:40:03 <myname> oerjan: he posted it later
22:40:06 <J_Arcane> oerjan: sorry about that. I reposted the code in the channel shortly after.
22:40:06 -!- Tritonio has quit (Remote host closed the connection).
22:40:31 -!- Tritonio has joined.
22:40:53 <oerjan> shachaf, vision and graphics sounds like a difficult subject
22:41:15 <myname> oerjan: you can explain the return there for me if you like
22:42:14 <Taneb> It was a poorly structured module, all agree. It was quite broad for a 10 (out of 120 for the year) credit module
22:44:27 <J_Arcane> oerjan: I don't feel bad for not having thought of that solution, but I was a bit sad I didn't think of the mutually recursive one I saw elsewhere.
22:45:41 <oerjan> Taneb: reminds me of my (only obligatory non-science course in university) philosophy exam. i think i went to a single lecture. also the subject had 3 parts, one of which was personal choice of sub-subject. i met to the exam completely unprepared on that third part, looked at one of the alternatives instead which was "explain the structure of the universe" and wrote up a line from quarks to expansion. not knowing whether that was even what ...
22:45:47 <oerjan> ... the question meant in that context. it went well.
22:46:21 <J_Arcane> oerjan: I feel like that whenever someone tries to talk to me in Finnish.
22:46:25 <shachaf> oerjan: Only one obligatory non-science course in university?
22:46:41 -!- AndoDaan has joined.
22:46:43 <J_Arcane> Except imagine if you'd had a grade school education in physics too...
22:47:00 <oerjan> shachaf: yep. it's not "broad education" like in america, you specialize from first year.
22:47:38 -!- Tritonio has quit (Remote host closed the connection).
22:48:01 -!- Tritonio has joined.
22:48:49 <Vorpal> elliott, thanks for the link to sslh. I found sshttpd ages ago though, which does the same for ssh and https only (enough for my needs=
22:49:28 -!- Tritonio has quit (Remote host closed the connection).
22:49:50 -!- Tritonio has joined.
22:50:14 <Vorpal> Hm I might have tried sslh since it was packaged for debian apparently. But I guess it didn't work?
22:51:48 <Vorpal> Oh yeah I think I couldn't get the transparent proxying to work, so that the source IP is correct for the server (I have it working with sshttpd though)
22:53:13 <oerjan> myname: read requires a String, which is a list of Chars, so read . return means use the return that comes from the list monad. for that, return x = [x].
22:53:43 <oerjan> so it basically means, turn a single digit Char into an Integer.
22:55:06 <myname> i didn't thought of the string requirement
22:55:50 <oerjan> shachaf: or at least it _was_ that way back when i graduated. these days they've pan-europeanized things into bachelor and master degrees, i dunno what else changes that means.
22:56:04 -!- Lymia has quit (Ping timeout: 245 seconds).
23:07:31 -!- Tritonio has quit (Remote host closed the connection).
23:07:55 -!- Tritonio has joined.
23:09:12 -!- boily has joined.
23:09:38 <lambdabot> CYUL 072300Z 28014KT 10SM DRSN FEW020 SCT040 BKN060 M22/M27 A3017 RMK SC1SC2SC2 SLP220
23:09:49 <lambdabot> ENVA 072250Z 14008KT 100V190 CAVOK 05/M04 Q0994 RMK WIND 670FT 17015G28KT
23:09:49 <boily> fungot damn it's cold outside.
23:09:49 <fungot> boily: there's even an emacs interface to s48 1.1)
23:10:10 <oerjan> boily: i've told you, you need to change nick to freezy hth
23:10:22 <oerjan> or maybe you weren't actually present
23:10:30 -!- boily has changed nick to frozen-boily.
23:20:10 -!- vanila has joined.
23:20:46 -!- frozen-boily has changed nick to thawed-boily.
23:20:49 -!- thawed-boily has changed nick to boily.
23:21:26 -!- Phantom_Hoover has joined.
23:21:29 -!- jix has quit (Ping timeout: 256 seconds).
23:21:45 -!- jix has joined.
23:26:14 -!- Lymia has joined.
23:32:16 -!- arjanb has quit (Quit: zzz).
23:39:49 -!- AndoDaan has quit (Ping timeout: 245 seconds).
23:46:45 <zzo38> I now made a list of thirteen cards to solve my puzzle. Someone else gave me this list, but they included Giant Shark and omitted Elves of Deep Shadow. They did include Brainwash though.
23:48:50 <vanila> did you get my earlier message? unrelated to cards
23:52:41 <zzo38> What earlier message? I don't see one
23:54:30 -!- Alkahest has joined.
23:55:27 <vanila> well i was just sayin i wrote a gopher server in mirage/ocaml
23:55:33 <vanila> not sure if its interesting to you but anyway