←2018-03-05 2018-03-06 2018-03-07→ ↑2018 ↑all
00:03:45 -!- wob_jonas has joined.
00:05:56 -!- oerjan has joined.
00:06:08 <wob_jonas> Ah I see! oerjan: yes, your construction works. you inline all the increase effects, and you multiply values with 2 so that there are no ties
00:06:23 <wob_jonas> speak of the devil
00:12:16 -!- AnotherTest has quit (Ping timeout: 256 seconds).
00:13:52 <oerjan> i also think my idea of replacing queues with pairs of stacks (but only swapping the pair, not a full reversal) works
00:14:10 <oerjan> i think i'm going to call it "pendulum tag"
00:14:32 <oerjan> because the pair of stacks is used in a pendulum-like manner.
00:15:11 <oerjan> essentially, it is possible to push the reversal of a stack into the BCT program.
00:15:23 <oerjan> by a mechanical transformation.
00:15:45 <oerjan> thus emulating a queue, but without the implementing language needing to care.
00:16:38 <oerjan> (i think you can also use a "pendulum" for the program, if you wish to avoid hard-coding it in the triggers.)
00:17:10 <wob_jonas> I don't understand what you're talking about here. What are you swapping and why?
00:17:57 -!- MDude has joined.
00:18:36 <oerjan> in BCT, you have a data queue. i propose replacing it by two stacks, such that one is read and popped, the other is written to. when the reading stack is empty, they are swapped, but the stack is _not_ reversed, so it's not a full queue implementation, but easier.
00:19:35 <oerjan> and thus it should require fewer waterclocks to emulate.
00:20:01 -!- augur has quit (Remote host closed the connection).
00:20:27 <wob_jonas> oerjan: I don't see how that would work. how does it simulate a proper queue if it's not reversed?
00:20:29 <oerjan> hm ais523 seems idle. i assumed you were talking to him.
00:20:35 <wob_jonas> if they're stacks that is
00:20:52 <oerjan> wob_jonas: you can do a mechanical transformation of the BCT program, so _it_ does the reversal.
00:21:03 <wob_jonas> oh...
00:21:05 <wob_jonas> that's quite different
00:21:07 <ais523> oerjan: well I'm responding to pings at least
00:21:13 <oerjan> aha
00:21:50 <oerjan> this won't help with making a small demonstration example, of course, i'm more thinking about minimizing waterclocks for TC-ness.
00:22:11 <ais523> well the best minimization is probably to write an interpreter
00:22:17 <ais523> (for anything)
00:22:35 <ais523> but I'm not getting very far with working out what sort of language would be best to interpret
00:22:38 <oerjan> yes, i just considered tweaking BCT so it was easier to implement.
00:22:40 <ais523> none of the usual suspects really work
00:23:01 <ais523> so I suspect the best option is actually something weird that might not even be on the wiki yet
00:23:47 <ais523> I guess Fractran isn't so ridiculous but I think we can do better
00:24:00 <wob_jonas> ais523: for the TC too, this will be one of those stupid many-step reductions again, with ten layers of emulation and four levels of exponential until you get to a sane model
00:24:26 <ais523> yes, but I like those :-)
00:24:32 <ais523> also normally some of the exponential cancels out
00:24:39 <oerjan> ais523: so you consider BCT except with two stacks for data still too complicated?
00:24:45 <ais523> I think I might have got the 2,3 machine down to just exponential, eventually? it was double exponential at worse
00:25:00 <oerjan> (actually, CT, you probably don't want to decode 10 and 11 in two steps)
00:25:20 <ais523> oerjan: well you need two for data, one for the program, and because reading a waterclock zeroes it you need to keep copying the current value of the program back and forth to remember where you are in it
00:25:27 <wob_jonas> ais523: more seriously, I think we have to interpret something with a bounded number of different instructions, and with the instructions of the program being ran in an implicit while loop, which probably means interpreting say a Minsky-like machine with a fixed number of stacks, but no goto instructions, only some other control structure
00:25:59 <ais523> perhaps some sort of TC Deadfish variant?
00:26:03 <oerjan> heh
00:26:06 <wob_jonas> wait, that reminds me of something
00:26:16 <ais523> (I have in fact been trying to find a simple TC Deadfish-alike, no luck yet though)
00:26:39 <wob_jonas> ais523: http://www.de.ioccc.org/years-spoiler.html#1992_buzzard.1
00:26:41 <ais523> the general structure of "one number and some commands that manipulate it" is appealing though
00:26:46 <wob_jonas> we don't want exactly that language, but somethign close
00:27:36 <wob_jonas> the language it uses is an implicit while loop, and all instructions are one of a=b; a+=b; a-=b; a*=b; a/=b; where a and b are chosen from say fifteen registers, and these operate on signed integers
00:27:58 <wob_jonas> nah, that's not what we want
00:28:16 <wob_jonas> we might not want to hardcode even addition and subtraction if we don't have to
00:28:16 <wob_jonas> I dunno then
00:29:22 <wob_jonas> the point is, I definitely want an instruction stream with fixed-size instructions, and that means no unbounded amount of labels or open addressing of instructions,
00:29:22 <wob_jonas> but wait
00:30:12 <wob_jonas> we could have a program that has two state registers, has instructions for incrementing or zeroing a state register, and have all the other instructions (which are like simple minsky-likes) execute only if the two state registers are equal
00:30:40 <ais523> that seems like there's not much you can do while they're nonequal
00:30:55 <ais523> I assume you use the difference between them as a PC and the value as data?
00:31:00 <wob_jonas> the program can encode states that way, with the first state register tracking the state of the state machine it simulates, and the second state register tells what instruction of the state machine you're encoding now
00:31:00 <wob_jonas> um... that's not very clear
00:31:23 <wob_jonas> one of them is the PC
00:31:59 <wob_jonas> one of them is the PC of the simulated program flow, the other is the address of the instructions from the original program
00:32:54 <ais523> oh, and you have further values for the RAM
00:32:58 <wob_jonas> so our Waterfall program cycles through the instructions of the intermediate program, but apart from the instructions that increment the second state register, the only instructions executed are the ones corresponding to the current state of the simulated program
00:33:13 <wob_jonas> that means even the instructions incrementing or zeroing the first state register have to be conditional
00:33:25 <wob_jonas> only the instructions incrementing the second state registers are unconditional
00:33:55 <wob_jonas> ais523: sort of, but instead of a random-addressable anything, I'm thinking of more like a fixed number of registers, each storing a natural number
00:34:37 <wob_jonas> so the original language we're compiling programs from is something similar to a Minsky with a bounded number of registers
00:35:07 <wob_jonas> since we know that's already TC
00:35:33 <wob_jonas> if we only want TC, and don't care about the slowdown, we can get away with exactly two registers and proper minsky.
00:35:51 -!- augur has joined.
00:38:47 <wob_jonas> that means the language we interpret would need to have the following instructions: [0] L=0; (appears exactly once), [1] L++; [2] if(L==P) P=0; [3] if(L==P) P++; [4] if(L==P) A++; [5] if(L==P) B++; [6] if(L==P&&A) A--; [7] if(L==P&&B) B--; [8] if(L==P&&A) P++; [9] if(L==P&&B) P++;
00:39:18 <oerjan> how in the world is this going to get simpler than BCT...
00:39:20 -!- AisRauli has quit (Quit: Connection closed for inactivity).
00:39:31 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:39:34 <wob_jonas> If you want exactly those, then for every conditional of the original Minsky, the next state for nonzero has to be later than the next state for zero, but we can use unconditional gotos to work that around.
00:39:49 <wob_jonas> oerjan: I'm not saying it will be, I just don't understand how BCT works.
00:40:04 <wob_jonas> mind you, I also don't understand how two-register Minsky works, but that's another problem.
00:40:15 <ais523> wob_jonas: do you understand how n-register Minsky works?
00:40:42 <ais523> the basic idea of two-register Minsky is that you encode the value of n registers using prime powers
00:40:56 <ais523> 2 to the power of the first register, times 3 to the power of the second register, times 5 to the power of the third register, and so on
00:41:30 <ais523> then you can increment any of the simulated registers via multiplication, decrement via divmod (if the modulus isn't 0 you tried to decrement 0 so you put the register back as it was and go into an alternative state)
00:41:44 <wob_jonas> ais523: yes, you can simulate a multi-stack machine with an n-register minsky, where n is a few more than the stacks. you can get that down to three registers of minsky simulating a two stack machine or something. and yes, I've read the proof for reducing that to two-counter Minsky,
00:41:46 <ais523> the reason two registers are required is because that's the minimum for multiply and for divmod
00:42:47 <wob_jonas> but that proof is like magic, and I think I just refused to think about it because of the extra level of exponential involved, and I thought one would never want to simplify a machine to two registers from three at that high a cost
00:43:03 <wob_jonas> but now here I am, wanting to prove TC-ness of M:tG, and now I know that yes, you might want to do exactly that
00:43:47 <wob_jonas> ais523: right
00:44:53 <ais523> well, I was really interested to see commands being removed from Underload
00:44:59 <ais523> even though each removal (other than ~) makes it much slower
00:45:32 <wob_jonas> ais523: so in the universal Minsky program that we compile to Waterfall, what's the best way to simulate the L and P registers? do we want to store them separately and somehow compare them; or do we want to store max(0,L-P) and max(0,P-L) in two registers, since we can get modify the model to use decreases instead of zeroing?
00:48:06 <wob_jonas> Hmm... maybe it's better to do some swappy thing
00:48:11 <ais523> hmm, I wonder if there's a good way to store a command-based program
00:48:22 <oerjan> ais523: the ! removal is probably not too slow given a sensible interpreter, it just leaks memory.
00:48:23 <ais523> maybe we can have multiple stacks, so that the smallest stack indicates the first command of the program
00:48:29 <oerjan> iirc
00:48:40 <ais523> but after it runs the next-smallest stack will be the second command, and this is infinitely customizable
00:48:58 <ais523> oerjan: yes, it's probably only a constant factor in an interpreter for which ~ doesn't scale on the size of the top stack element
00:50:12 <wob_jonas> Let me modify the instructions to [0] L--; [1] L++; [2] if(L==P) P--; [3] if(L==P) P++; [4] if(L==P) A++; [5] if(L==P) { if (A) A--; else P++; } [6] swap(A,B);
00:50:50 <ais523> that's got to be more than you need, surely
00:51:16 <wob_jonas> where A and B are positive integers, and we actually only store the signed difference L-P
00:51:31 <ais523> also, I'm not sure your control flow graph works correctly
00:51:34 <wob_jonas> ais523: probably. oerjan says BCT is smaller, and I can believe that
00:51:46 <ais523> well, BCT only has three commands
00:51:51 <ais523> if (peek()) push(true)
00:51:55 <ais523> if (peek()) push(false)
00:51:56 <ais523> pop()
00:52:04 <ais523> or, well, cyclic tag in general
00:52:11 <ais523> BCT is just a concrete syntax for them
00:52:29 <ais523> and the push/pop/peek here are for a queue, i.e. peek and pop read from one end but push pushes onto the other
00:53:13 <wob_jonas> ais523: and the BCT program is not self-modifying, and is executed in a for(;;) loop, right?
00:53:43 <ais523> wob_jonas: yes
00:54:11 <ais523> there's a self-modifying version called Self BCT but I think it hasn't even been proven TC and is kind-of hard to work with
00:54:17 <ais523> so people use regular cyclic tag most of the time
00:54:28 <wob_jonas> and oerjan said some magical thing above about how to simulate the data queue
00:54:57 <ais523> it's not a perfect simulation, the hope was that the language would still be TC despite the semantics having changed
00:56:15 <wob_jonas> yes, I assumed he implied he already knew how to write programs for the modified language
00:56:37 <oerjan> yes.
00:56:39 <ais523> you can also look at https://esolangs.org/wiki/DownRight which is very similar to cyclic tag
00:56:45 <ais523> the two compible back and forth quite easily
00:56:48 <ais523> *compile
00:56:52 <wob_jonas> Ok, all this definitely looks more hopeful now, in the sense that we'll be able to fit something like this into the 230 creature types
00:58:02 <ais523> oh, I don't think there was any question of that
00:58:25 <wob_jonas> There's no question that it can be done
00:58:27 <ais523> you might even be able to fit Malbolge into 230 (without using an intermediate interpreter)
00:58:31 <wob_jonas> the question is if it can be done easy enough that we can understand it
00:58:37 <ais523> the question is whether we can make it simple enough to memorise
00:58:44 <ais523> which is necessary for it to be legal to deploy during a game of M:tG
00:58:53 <wob_jonas> no, that's also not the question
00:59:15 <wob_jonas> it's hard to memorize because it's not enough to know the interpreter, but get a useful program through all the intermediate compilation steps
00:59:19 <wob_jonas> you don't want to remember all that
00:59:26 <oerjan> indeed. an interpreter is not going to help getting a memorizable program.
00:59:27 <ais523> yes, program too
00:59:39 <ais523> but there are two questions
00:59:59 <ais523> a) is it TC, b) can you deploy an undecidable-with-present-knowledge program in a real game
01:00:05 <ais523> a) requires an interp that's short enough to memorise
01:00:13 <ais523> b) a program that's short enough to memorise
01:00:55 <ais523> hmm, I think cpressey would like the philosophical problem of "in this language, only programs short enough to memorise are accepted"; I believe that would automatically make it sub-TC even though it can implement, say, BF interpreters
01:01:04 <ais523> as bundling input with them could make the program invalid!
01:01:06 <wob_jonas> for the tournament setting, I think the strategy is still to encode some of those difficult combinatoric number theory conjectures, one that Erdős or Terry Tao claims is hard, and encode it as directly to Waterfall as possible
01:01:22 <oerjan> ais523: i was assuming (b) would _not_ use the interpreter, and then (a) doesn't need to be memorizable.
01:01:35 <ais523> oerjan: the problem is "Is Magic: the Gathering Turing complete?"
01:01:42 <ais523> that implies you must be able to set up the gamestate within the game rules
01:01:48 <oerjan> ...ok.
01:01:50 <ais523> and Slow Play is one of those rules, and "no written notes" is anotehr
01:02:17 <wob_jonas> ais523: no written notes from before the match
01:02:38 <wob_jonas> you can write notes in between
01:02:43 <ais523> wob_jonas: OK, but we still have to memorise it to be able to write the notes during the match
01:02:58 <ais523> it'd be a good plan to write the notes during game 1 and deploy them during game 2, though
01:03:23 <ais523> (the purpose of setting the thing off during game 2 of a match is that it reduces the incentive for the opponent to concede)
01:04:58 <wob_jonas> ais523: I don't think that's a good plan
01:05:20 <ais523> compared to what?
01:06:44 <wob_jonas> ais523: this is a legacy combo deck. you have to go off in game 1, because in game 2 the opponent will sideboard in cards that counter the combo you use very easily, and you don't have much of a sideboard available to counter his deck, so he will win before you can go off.
01:06:44 <wob_jonas> you're sacrificing your sideboard for shenanigans, and it's a combo deck in first place, so fragile to sideboards.
01:07:17 <wob_jonas> also, goofing off with your notes during game 1 will get you a slow play warning
01:07:21 <ais523> well it's one of the slower combo decks in legacy, it trades speed for resiliency
01:07:30 <ais523> but I can see the argument for going for it in game 1
01:07:43 <ais523> the odds are that the opponent will concede before they even find out you aren't playing release the ants, though
01:08:00 <ais523> and will definitely concede once you've bounced their entire board and prevented them getting any more turns
01:08:12 <ais523> because they want to try to win games 2 and 3
01:08:27 <ais523> if you win game 1, that incentive doesn't exist any more
01:08:33 <wob_jonas> but I don't think remembering the details is the bottleneck anyway. being able to explain them quickly enough to the judge is the bottlneck. if you can clear that, then you can probably learn it well enough by heart.
01:08:58 <wob_jonas> ah
01:08:58 <wob_jonas> there's some point in that
01:09:54 <wob_jonas> so you're saying that we can rarely go off with the combo, so you want to skew the odds such that if you go off with the combo, the opponent is patient enough to hear the explanation of what you're doing after, rather than conceding
01:10:31 <wob_jonas> yes, that will be hard
01:10:33 -!- olsner has quit (Ping timeout: 240 seconds).
01:10:37 <wob_jonas> people will concede when you go off with the combo and lock them down
01:12:35 <wob_jonas> I'm still thinking about the TC proof rather than the tournament setting though. I wonder if you could have four stacks, and simulate brainfuck using that, and I mean the bf variant where overflow and underflow are undefined behavior, and without io.
01:12:50 <wob_jonas> you'd need one more counter, to count the nesting
01:12:51 <wob_jonas> the bracket nesting that is
01:13:27 <wob_jonas> but that's probably not a very efficient thing to do
01:15:28 <wob_jonas> perhaps if you could encode the bf program in some more clever way
01:22:21 -!- doesthiswork has joined.
01:25:22 -!- olsner has joined.
01:33:18 -!- xkapastel has joined.
01:41:49 -!- ais523 has quit (Quit: quit).
01:43:03 <moony> wob_jonas, well, we could encode a BF program as a neural network
01:45:51 <moony> we could encode a BF program as java error messages.
01:59:14 -!- sleffy has quit (Ping timeout: 260 seconds).
02:07:14 -!- moony has changed nick to AegisCommand.
02:07:49 -!- AegisCommand has quit (Disconnected by services).
02:08:06 -!- moony has joined.
02:08:09 -!- sleffy has joined.
02:12:27 -!- sprocklem has quit (Ping timeout: 240 seconds).
02:18:42 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
02:21:49 -!- atslash has quit (Quit: This computer has gone to sleep).
02:39:20 -!- sprocklem has joined.
03:11:17 -!- atslash has joined.
03:17:26 -!- tromp has quit (Remote host closed the connection).
03:17:41 -!- tromp has joined.
03:19:19 -!- tromp has quit (Remote host closed the connection).
03:19:51 -!- tromp has joined.
03:28:09 -!- augur has quit (Remote host closed the connection).
03:39:02 -!- doesthiswork1 has joined.
03:41:35 -!- doesthiswork has quit (Ping timeout: 240 seconds).
03:42:41 -!- variable has quit (Quit: /dev/null is full).
03:52:55 -!- augur has joined.
03:55:44 -!- augur has quit (Remote host closed the connection).
03:55:58 -!- augur has joined.
04:26:05 -!- tromp has quit (Ping timeout: 240 seconds).
04:35:16 -!- tromp has joined.
05:04:13 -!- variable has joined.
05:14:31 <shachaf> pikhq: so do you think this Lollar person is real
05:32:35 <oerjan> . o O ( sounds like e's laughing all the way to the bank )
05:45:23 <shachaf> Cale: Hale
05:46:45 <Cale> Hello
05:46:50 <shachaf> https://en.wikipedia.org/wiki/Polarization_density#Anisotropic_dielectrics has the kind of polynomial I was talking about.
05:47:04 <shachaf> Or the kind of Taylor series I was talking about, rather.
05:48:28 <Cale> Ah, interesting.
05:49:05 <shachaf> Also do you know what an eigenvector of a bilinear form (represented as a matrix) means?
05:49:36 <Cale> Well, consider what the level sets of the bilinear form look like
05:49:54 <shachaf> I was reading about an optimization trick that used an eigenbasis of a quadratic form.
06:00:46 <Cale> The eigenvectors tell you the axes of the conic sections (or quadratic surfaces, etc. in higher dimensions) which are the level sets of quadratic form
06:03:02 -!- variable has quit (Quit: /dev/null is full).
06:05:57 -!- variable has joined.
06:06:04 <Cale> The corresponding eigenvalues tell you something about the nature of the conic sections you have -- if they're both positive, you'll have an ellipse, if they're of differing sign, you'll have a hyperbola
06:06:34 <Cale> If they're both negative, you'll get ellipses as level sets again
06:07:41 <Cale> (but you might want to consider specifically the level set where q(v) = 1 to distinguish the negative case, where you'll just find no real solutions then)
06:08:46 <shachaf> Does this generalize to e.g. cubic forms?
06:10:01 <Cale> I expect you'd get something meaningful there, but I wouldn't quite have such good words to talk about it :)
06:10:30 <Cale> It generalises to higher dimensions nicely though
06:11:42 <Cale> (you can distinguish whether you have an ellipsoid or one- or two-sheeted hyperboloid, or paraboloid using the eigenvalues)
06:12:16 <Cale> (in three dimensions of course)
06:12:58 <shachaf> Sure, but I want to escape the matrix representation.
06:13:26 <shachaf> Also I've been trying to figure out how to think about tensor contraction and trace.
06:13:56 <shachaf> Tensor contraction is kind of like function application. Or like the cut rule.
06:14:32 <shachaf> I found out that trace is the unique (up to scalar multiplication) linear operator on matrices such that tr(AB) = tr(BA)
06:27:13 -!- sprocklem has quit (Ping timeout: 240 seconds).
06:29:23 -!- sprocklem has joined.
07:24:33 -!- atslash has quit (Quit: This computer has gone to sleep).
07:29:21 -!- doesthiswork1 has quit (Quit: Leaving.).
07:54:07 <FreeFull> Cale: Can you get a parabola?
07:54:29 <FreeFull> In 2 dimensions
08:03:37 -!- tromp has quit (Remote host closed the connection).
08:03:39 <Cale> FreeFull: Sure, something like [1,0;0,0]
08:03:50 -!- tromp has joined.
08:05:33 <Cale> er, hmm
08:06:19 <Cale> (that'll be two parallel lines, not a parabola)
08:12:02 -!- MDead has joined.
08:13:49 -!- atslash has joined.
08:14:30 -!- MDude has quit (Ping timeout: 256 seconds).
08:14:37 -!- MDead has changed nick to MDude.
08:20:19 <Cale> Oh, right, to get parabolas and paraboloids, you need a linear term
08:24:49 <Cale> For example, [x,y][1,0;0,0](x,y) + [0,-1](x,y) = 1 will be a nice parabola
08:29:43 <Cale> combining a 0 eigenvalue with a nonzero linear term in that direction
08:35:09 -!- oerjan has quit (Quit: Nite).
08:36:42 <shachaf> Cale: So if you express a quadratic form homogeneously the way you were talking about, you get a matrix like [[a b/2] [b/2 c]]
08:38:43 <shachaf> I guess it's not a coincidence that its determinant is (4ac-b^2)/4
08:50:42 -!- augur has quit (Remote host closed the connection).
09:14:04 -!- PinealGlandOptic has joined.
09:22:05 -!- AnotherTest has joined.
09:28:57 -!- AnotherTest has quit (Ping timeout: 240 seconds).
10:42:58 -!- xkapastel has quit (Quit: Connection closed for inactivity).
10:48:09 -!- sleffy has quit (Ping timeout: 252 seconds).
11:34:56 -!- boily has joined.
11:47:50 <boily> `5 w
11:47:57 <HackEgo> 1/2:me//Me is a proud member of the tEaM. \ thanks ants//thants \ wisdome//The Wisdome is the place where all of HackBot's wisdom is stored and forced to fight to the death for the freedom of being printed out when you type `wisdom. Strictly speaking, it should be called the "Wissphere". \ ip//Your IP address is the address of the pointer t
11:47:58 <boily> `n
11:47:59 <HackEgo> 2/2:o the current instruction. \ the walrus//In order to obtain the unredacted documents specifying the true identity of the walrus, contact the Glass Onion (mailing address: UH2BEStWmPI).
11:58:24 -!- AnotherTest has joined.
12:02:03 -!- PinealGlandOptic has quit (Quit: leaving).
12:14:14 -!- boily has quit (Quit: TREMOLO CHICKEN).
14:00:36 -!- doesthiswork has joined.
14:32:45 -!- doesthiswork has quit (Quit: Leaving.).
14:57:17 -!- AnotherTest has quit (Ping timeout: 256 seconds).
15:03:20 -!- `^_^v has joined.
15:20:01 <esowiki> [[Special:Log/upload]] upload * Oleg * uploaded "[[File:Cryptoleq Processor.jpg]]"
15:20:33 <esowiki> [[Cryptoleq]] https://esolangs.org/w/index.php?diff=54293&oldid=47192 * Oleg * (+59) adding a picture
16:09:10 -!- `^_^v has quit (Quit: Leaving).
16:09:22 -!- `^_^v has joined.
16:28:17 -!- atslash has quit (Quit: This computer has gone to sleep).
16:37:50 -!- sprocklem has quit (Ping timeout: 256 seconds).
17:03:43 -!- sprocklem has joined.
17:07:14 -!- xkapastel has joined.
17:23:50 -!- ais523 has joined.
17:23:57 <ais523> 104.4b If a game that’s not using the limited range of influence option (including a two-player game) somehow enters a “loop” of mandatory actions, repeating a sequence of events with no way to stop, the game is a draw. Loops that contain an optional action don’t result in a draw.
17:24:01 <ais523> that rule does not say what I thought it said
17:24:12 <ais523> and also does not say what the person drafting it probably thought it meant
17:24:29 <ais523> the implication is that if there's an infinite loop but you have a choice on each loop iteration, it's not a draw even if the choice you make doesn't matter…
17:28:53 -!- ais523 has quit (Remote host closed the connection).
17:30:06 -!- ais523 has joined.
17:33:27 <ais523> huh, and the rule about "you must break a loop if you can" isn't in the Comprehensive Rules, it's in the Infraction Procedure Guide
17:34:01 <ais523> this means that it's possible to construct a gamestate in which the /opponent/ is legally forced to commit a Slow Play infringement
17:34:11 -!- AnotherTest has joined.
17:35:23 <ais523> but it rather interferes with our construction as the current solution is just "unless a player can predict the outcome of this loop, they get dinged for Slow Play"
17:35:28 <ais523> applying to both players
18:14:14 <\oren\_> what if you have a loop that has a well-defined limit
18:14:39 <ais523> then you can state the limit and the resulting gamestate to avoid the penalty
18:15:02 <shachaf> i,i Scow Play infringement
18:22:55 -!- erkin has joined.
18:25:47 -!- Phantom_Hoover has joined.
18:33:08 -!- Naergon_ has joined.
18:35:05 -!- Naergon has quit (Ping timeout: 240 seconds).
19:06:53 -!- atslash has joined.
19:11:05 -!- atslash has quit (Ping timeout: 240 seconds).
19:11:39 <Roger9> I found a reddit post about literal brainfuck. -> https://www.reddit.com/r/todayilearned/comments/82e4hc/til_an_endangered_parrot_in_new_zealand_would/
19:19:22 -!- `^_^v has quit (Quit: This computer has gone to sleep).
19:32:10 -!- contrapumpkin has quit (Quit: Textual IRC Client: www.textualapp.com).
19:44:09 -!- sleffy has joined.
19:50:56 <int-e> Subject: Your code in Bitbucket Cloud will never look the same again <-- what an ominous subject.
19:55:21 <shachaf> i,i I𝐟𝖞𝒐𝓾𝕨𝚊𝗇𝘁𝙩𝘰⒮🇦🄾🆄ŕリɗ∂єаኗ𝔞ïɴ...
19:58:58 <int-e> bless you
20:01:15 <int-e> I can't read that. I mean, even in a browser with, I think, all the necessary fonts.
20:01:39 <shachaf> It's supposed to say "If you want to see your code again..."
20:01:59 <int-e> `unidecode ⒮🇦🄾🆄ŕリɗ∂є
20:02:07 <HackEgo> ​[U+24AE PARENTHESIZED LATIN SMALL LETTER S] [U+1F1E6 REGIONAL INDICATOR SYMBOL LETTER A] [U+1F13E SQUARED LATIN CAPITAL LETTER O] [U+1F184 NEGATIVE SQUARED LATIN CAPITAL LETTER U] [U+0155 LATIN SMALL LETTER R WITH ACUTE] [U+FF98 HALFWIDTH KATAKANA LETTER RI] [U+0257 LATIN SMALL LETTER D WITH HOOK] [U+2202 PARTIAL DIFFERENTIAL] [U+0454 CYRILLIC S
20:02:09 <shachaf> look i tried ok
20:02:38 <int-e> the "seeyourcode" part was unreadbale.
20:02:55 <shachaf> Yes, it wasn't ideal.
20:02:55 <int-e> ...nice swap
20:03:20 <shachaf> I used http://qaz.wtf/u/convert.cgi and tried to take one letter from each line.
20:03:43 <shachaf> But then halfway through I decided I'd put enough effort into it and gave up.
20:10:12 -!- `^_^v has joined.
20:17:19 -!- `^_^v has quit (Quit: This computer has gone to sleep).
20:35:04 -!- contrapumpkin has joined.
20:40:05 -!- augur has joined.
20:45:22 -!- `^_^v has joined.
20:53:43 -!- sprocklem has quit (Quit: class).
20:54:49 -!- erkin has quit (Quit: Ouch! Got SIGIRL, dying...).
21:02:57 -!- sprocklem has joined.
21:05:15 -!- `^_^v has quit (Quit: This computer has gone to sleep).
21:11:12 -!- `^_^v has joined.
21:18:57 -!- LeoLambda has quit (Quit: ZNC 1.6.5+deb2build2 - http://znc.in).
21:21:15 -!- LeoLambda has joined.
21:50:19 <esowiki> [[Ende]] https://esolangs.org/w/index.php?diff=54294&oldid=54170 * Martin Ender * (+25) add queue-based category
21:51:15 <esowiki> [[Ende]] M https://esolangs.org/w/index.php?diff=54295&oldid=54294 * Martin Ender * (-1) whoops, typo
22:11:42 -!- `^_^v has quit (Quit: This computer has gone to sleep).
22:25:12 -!- sprocklem has quit (Ping timeout: 256 seconds).
22:32:31 -!- `^_^v has joined.
22:52:07 -!- boily has joined.
22:52:42 <boily> ヤッタ!
22:52:58 <boily> at last! I don't have to Ctrl-Alt-F2 then manually startx anymore!
22:53:34 -!- `^_^v has quit (Quit: This computer has gone to sleep).
22:54:00 <ais523> hmm, if you're system's sufficiently screwed up that X won't start automatically, I'm surprised it could be started manually
22:54:39 <boily> and I don't have to edit resolv.conf either!
22:54:57 <boily> my system's perfectly normal and I never did nothing strange to it ever la la la ♪
22:58:27 <shachaf> If Ctrl-Alt-F2 is required, rather than Alt-F2, that sounds like X is starting up but then not running a useful X session or something.
23:02:50 <boily> helloochaf. maybe so... Ubuntu's startup gets a little bit confusing just before starting X.
23:03:14 <APic> *shrug*
23:06:46 <boily> life is but a long shrug. crack open a cold one and enjoy.
23:11:25 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:23:40 -!- AnotherTest has quit (Ping timeout: 240 seconds).
23:25:52 <ais523> shachaf: well the ctrl doesn't hurt even if X isn't running
23:26:36 <shachaf> Yes. Maybe some people just always press Ctrl.
23:43:52 -!- sprocklem has joined.
23:47:17 -!- tromp has quit (Remote host closed the connection).
23:53:36 <moony> ais523, just note that either that, or said person is using Arch, and doesn't have X by default
23:53:56 <moony> :p
←2018-03-05 2018-03-06 2018-03-07→ ↑2018 ↑all