00:23:29 -!- imode has joined.
01:31:33 -!- zzo38_ has joined.
01:31:48 -!- zzo38 has quit (Disconnected by services).
01:31:50 -!- zzo38_ has changed nick to zzo38.
01:37:11 -!- zzo38 has quit (Ping timeout: 268 seconds).
01:50:43 -!- zzo38 has joined.
05:10:02 -!- doesthiswork has quit (Quit: Leaving.).
05:11:37 -!- doesthiswork has joined.
05:42:46 -!- arseniiv has joined.
05:49:07 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
05:51:13 -!- Lord_of_Life has joined.
05:51:13 -!- Lord_of_Life has quit (Changing host).
05:51:13 -!- Lord_of_Life has joined.
06:20:39 -!- sleffy has joined.
06:20:51 -!- sleffy has quit (Remote host closed the connection).
06:24:07 <zzo38> This is what someone else wrote about Sirlin's chess variant: "PS. Like most people, I consider the name Sirlin chose for his chess variant--Chess2, the Sequel--to be full of hubris. Probably part of the reason never caught on with chess fans....."
06:32:17 -!- sftp has quit (Excess Flood).
06:34:36 -!- sftp has joined.
07:40:35 -!- xkapastel has quit (Quit: Connection closed for inactivity).
08:39:48 -!- oerjan has joined.
08:40:56 -!- Vorpal has quit (Ping timeout: 260 seconds).
09:28:31 -!- AnotherTest has joined.
09:42:42 <zzo38> Two kind of restricted double move chess variant can be "get out of the way" and "get in the way".
09:43:31 <zzo38> If it is "get out of the way" then you can play X and then Y, but only if Y by itself is not valid. If it is "get in the way" then you can play X and then Y, but only if Y by itself is valid but Y followed by X isn't valid.
09:43:47 <zzo38> What will you think of this?
10:21:10 <arseniiv> zzo38: I’ll quote these to my friend who’s interested in these kinds of chess AFAIR. Maybe he’ll say something
10:43:03 -!- heyoka has joined.
10:43:42 <oerjan> shachaf: hm if the outsiders' minds get wiped, does that include the three fiends? maybe _they_ don't know how bad the snarl is either...
10:44:45 -!- wob_jonas has joined.
10:45:11 * oerjan accidentally archive trawled to http://www.giantitp.com/comics/oots0668.html where he thought of this
10:45:24 <wob_jonas> zzo38: "get out of the way" still seems very powerful. you can usually move with the same piece twice in different directions.
10:46:05 <Taneb> wob_jonas: what about the additional restriction that X and Y move different pieces?
10:46:13 -!- heyoka has left.
10:47:13 <Taneb> (I really haven't thought much about this, and I'm not that great at chess or chess variants)
10:50:07 -!- Vorpal has joined.
10:50:07 -!- Vorpal has quit (Changing host).
10:50:07 -!- Vorpal has joined.
11:22:27 -!- hakatashi has joined.
12:22:40 -!- oerjan has quit (Quit: Later).
12:42:56 -!- xkapastel has joined.
12:44:05 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
12:52:16 -!- tromp_ has joined.
12:52:17 -!- tromp has quit (Read error: Connection reset by peer).
13:08:25 -!- Sgeo_ has quit (Read error: Connection reset by peer).
13:08:28 -!- imode has quit (Ping timeout: 268 seconds).
13:08:50 -!- Sgeo_ has joined.
13:16:21 -!- sprocklem has quit (Ping timeout: 252 seconds).
13:18:37 -!- sprocklem has joined.
13:56:48 -!- tromp_ has quit (Remote host closed the connection).
13:57:28 -!- tromp has joined.
14:24:09 -!- Essadon has joined.
14:54:19 <esowiki> [[User:DMC]] M https://esolangs.org/w/index.php?diff=58507&oldid=57938 * DMC * (+85)
15:01:51 -!- AnotherTest has quit (Ping timeout: 268 seconds).
15:05:35 -!- tromp has quit (Remote host closed the connection).
15:05:48 -!- tromp has joined.
16:27:55 <zzo38> I failed to mention (but should have done) that you have to move two different pieces
16:28:15 <zzo38> (although it can be two different pieces of the same kind)
17:03:26 -!- moei has joined.
17:16:49 -!- AnotherTest has joined.
17:49:12 <oren> I invented a syntax where variables are marked for whether they are being read, written to, or both.
17:50:51 <oren> @z + $x $y; // read x, add y to it, then write to z
17:51:15 <oren> #x + $y; // add x to y and wrtie back into x
17:51:22 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
17:52:00 <shachaf> This is related to a some things I was talking about recently.
17:53:14 -!- Lord_of_Life has joined.
17:53:14 -!- Lord_of_Life has quit (Changing host).
17:53:14 -!- Lord_of_Life has joined.
17:54:56 <shachaf> What delimits what's written to the variable?
17:58:18 <oren> that would read x and add it to itself, writing back into x
18:04:02 <shachaf> Is it the same as #x + $x and $x + #x?
18:07:57 -!- Yurume_______ has quit (Ping timeout: 252 seconds).
18:53:51 -!- siraben has quit (Remote host closed the connection).
18:54:03 -!- copumpkin[m] has quit (Remote host closed the connection).
18:57:33 -!- arseniiv has quit (Ping timeout: 246 seconds).
19:05:28 <oren> shachaf: I guess I havent really thought into the effect of order in this
19:06:31 <shachaf> Is the delimiter a statement or what?
19:11:43 -!- copumpkin[m] has joined.
19:22:14 -!- siraben has joined.
19:26:36 -!- Phantom_Hoover has joined.
19:30:51 -!- Phantom__Hoover has joined.
19:32:29 -!- b_jonas has joined.
19:34:51 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
19:47:48 -!- imode has joined.
19:56:38 -!- copumpkin[m] has quit (Read error: Connection reset by peer).
19:56:52 -!- siraben has quit (Read error: Connection reset by peer).
20:00:53 -!- Vorpal has quit (Ping timeout: 246 seconds).
20:01:10 -!- Vorpal has joined.
20:01:10 -!- Vorpal has quit (Changing host).
20:01:10 -!- Vorpal has joined.
20:03:08 -!- copumpkin[m] has joined.
20:13:41 -!- siraben has joined.
20:25:29 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
20:29:24 -!- Phantom_Hoover has joined.
20:30:08 <oren> hmmm... so basically, my idea is that within a "phrase" the components are marked for their roles
20:30:45 -!- imode has quit (Quit: WeeChat 2.3).
20:31:26 <esowiki> [[TrivialBrainfuckSubstitution]] https://esolangs.org/w/index.php?diff=58508&oldid=58506 * Rdebath * (+813) Generic Interpreter Patterns
20:32:08 <oren> so maybe the order of the components then, no longer matters
20:35:55 <oren> or matters in a different way
20:37:57 <oren> #w $x / $y $z; // multiply w by x, and divide by y*z, then put the result into w
20:40:40 <oren> #x f #y $z; // f called with x, y, and z as arguments, with x and y being called by reference, and z being copied
20:42:04 <oren> (a)f(b,c); // a valid declaration of f
20:43:27 <shachaf> Hmm, maybe I can borrow some part of that for my language idea
20:43:39 <shachaf> Something like ". rw(x)` + 1" for "x += 1"?
20:44:08 <shachaf> . min(rw(x)`, y) // x = min(x, y)
20:45:28 <b_jonas> `bobadventureslist http://bobadventures.comicgenesis.com/d/20181127.html
20:45:29 <HackEso> /srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: bobadventureslist: not found
21:19:46 -!- ais523 has joined.
21:20:05 <ais523> thinking about it a bit more, "is there a discrete logarithm of x mod p to base b?" has to be computationally hard in the general case
21:20:47 <ais523> I was going to say "just square b" but of course that doesn't change the problem at all
21:21:32 <b_jonas> ais523: what are x, p, and b?
21:22:27 <b_jonas> I don't think that is computationally hard, but I'm not entirely sure
21:23:02 <b_jonas> hmm... it might actually be. you may need to factor an integer for that.
21:23:13 <ais523> b_jonas: anything, the question is whether we can solve this for arbitrary x/p/b
21:23:28 <ais523> the original problem is "what is the discrete logarithm of x mod p to base b" with prime p
21:23:32 <b_jonas> ais523: but they're natural numbers?
21:23:34 <ais523> although I'm not attached to p being prime
21:23:39 <ais523> b_jonas: yes, natural numbers
21:23:50 <ais523> logarithms in modular arithmetic are weird
21:24:08 <ais523> e.g. 2**3 mod 5 is 3, so log_2(3) mod 5 is 3
21:24:30 <ais523> people use "discrete logarithm" for that so that it doesn't get confused with the more normal sort of logarithm
21:25:44 <ais523> this is related to the M:tG TCness proof, I'm trying to come up with a concrete program that can easily be written in The Waterfall Model and yet which is known to be beyond the world's ability to solve
21:26:42 <ais523> discrete logarithm is the underlying problem behind a decently large proportion of crypto, so if it were solvable in general the implications would be pretty far-reaching
21:27:01 <b_jonas> ais523: a single question, or can it be a uniform distribution of a few hundred questions, at least one of which is hard to solve?
21:27:03 <ais523> (err, solvable in practice, I mean; it's clearly solvable in theory due to the possibility of brute-forcing it)
21:27:19 <ais523> b_jonas: I would like to have a single, concrete question that is hard to solve, i.e. I know what the specific quesiton is
21:27:22 <b_jonas> or even half of them being hard to solve or something
21:27:33 <b_jonas> ais523: yeah, so you want specific numbers. that's harder.
21:28:35 <ais523> also this needs to be a decision problem, not a "return a number as the answer" problem, because you don't need to know what the resulting gamestate will be if you can predict who wins the game
21:28:39 <b_jonas> so you want a single question like the Goldbach conjecture or even the Riemann conjecture
21:29:32 <b_jonas> ais523: yeah, we don't allow side channel outputs from the match, such as ante or Double Cross
21:29:59 <ais523> you want this to be viable in a tournament, and the side-channels don't exist there
21:30:36 <ais523> Goldbach conjecture is possibly the easiest well-known unsolved problem to implement in The Waterfall Model, but the program would be unfortunately large, I think
21:30:44 <ais523> there are several nested loops and you need a prime generator
21:31:42 <ais523> interestingly, prime factorisation turns out to be strongly related to discrete square root (a fast solution to one would solve the other) but the decision versions of them work differently from the return-a-number versions
21:47:32 -!- AnotherTest has quit (Ping timeout: 250 seconds).
22:02:37 <b_jonas> ais523: yes, ante is not used anywhere, and Double Cross is not used in tournaments
22:03:49 <b_jonas> technically you could probably do a three-way output like win/draw/lose, but that doesn't help that much
22:04:57 <b_jonas> oh right, the other un side effects are tearing cards apart, and some physical dexterity feats
22:11:01 -!- AnotherTest has joined.
22:15:54 -!- moei has quit (Quit: Leaving...).
22:19:18 <ais523> physical dexterity isn't really a side effect, it doesn't have an effect beyond the game
22:19:25 <ais523> it's more like an input than an output
22:21:11 <b_jonas> ais523: it's mostly an input, yes, but it could have effects beyond the game I think
22:22:07 <ais523> I don't think there are any effects that force physical dexterity behaviour from other people?
22:22:12 <ais523> just effects that give a consequence for it
22:22:21 <ais523> that's probably necessary to avoid forcing people into situations they're uncomfortable with
22:23:43 <b_jonas> ais523: there are if you use Mindslaver
22:23:51 <b_jonas> without that, there aren't
22:24:42 <b_jonas> I guess Collector Protector is more similar to tearing up cards than the physical dexterity stuff
22:24:45 <ais523> actually, I suspect physical-dexterity, verbal-component, etc. cards are partial counters to Mindslaver
22:25:04 <ais523> in that if you don't perform the action, the Mindslaver likely can't make you do it
22:25:14 <ais523> perhaps the Mindslaver user could do the action themself, not sure on that
22:25:18 <ais523> I wonder if there's a ruling on the topic?
22:25:37 <b_jonas> I think there's an un-ruling
22:25:42 <b_jonas> on Mindslaver and singing the song
22:25:49 <b_jonas> it says that they aren't counter
22:26:10 <b_jonas> you can use Mindslaver to make the opponent perform certain physical feats, the ones that appear in an activation cost,
22:26:24 <b_jonas> although they can concede the game to avoid that
22:27:05 <b_jonas> and there are decks that try to tear up all the opponent's cards with Mindslaver and copy effects and some sort of loop
22:27:37 <b_jonas> that's actually an interesting strategy, since it likely wins you the whole match, not just the game
22:27:55 <b_jonas> hard to pull off of course
22:28:32 <ais523> you can't prevent the opponent conceding
22:28:55 <ais523> (there's a commonly-claimed combo that claims to prevent the opponent conceding but it's been ruled that it doesn't work, you can always concede regardless of what cards attempt to say)
22:28:55 <b_jonas> ais523: sure, and the opponent can concede in the match with the calculations too, even before the calculations finish
22:29:23 <ais523> b_jonas: my counter to that is to set up the situation so that the two possible outcomes are a loss for the opponent, or the draw
22:29:39 <ais523> the situation before the calculations start is strictly better for them than the situation they'll get after conceding
22:30:21 <ais523> although, of course, they might concede anyway, given that the deck is missing the usual kill card you could probably say "wait, I don't have the kill card in here, let me see if I can work something else out" to discourage the concession
22:30:33 <b_jonas> but tearing up cards is similar
22:31:03 <b_jonas> not tearing up a card the opponent owns is a strictly better situation than tearing up a card they own
22:32:33 <b_jonas> and you can probably leak almost 60 bits by tearing up cards
22:33:38 <b_jonas> could be a few more if some cards are exiled or on the stack when you go off and you can't get them back, or if some cards are basic lands or other cards so cheap that nobody cares if they're torn up
22:33:38 <ais523> oh, I'm pretty sure you can't tear up cards in an automated way anyway
22:33:51 <ais523> like, it'd require one of the players to make a choice to do so
22:33:56 <b_jonas> ais523: you can, but again only in such a way that the opponent has an opportunity to concede
22:34:05 <ais523> I mean, not counting concessions
22:34:24 <b_jonas> well, there would be choices before they go off
22:34:32 <b_jonas> they might be playing a good deck and just win before you can do it
22:34:37 <ais523> `card-by-name drain power
22:34:37 <HackEso> Drain Power \ UU \ Sorcery \ Target player activates a mana ability of each land they control. Then that player loses all unspent mana and you add the mana lost this way. \ A-R, B-R, U-R, RV-R, 4E-R, 5E-R, ME4-R
22:34:42 <ais523> `card-by-name blacker lotus
22:34:43 <HackEso> Blacker Lotus \ 0 \ Artifact \ {T}: Tear Blacker Lotus into pieces. Add four mana of any one color. Remove the pieces from the game. \ UG-R
22:34:54 <b_jonas> that, plus Mindslaver and Cytoshape
22:34:58 <ais523> if you make a card into a copy of blacker lotus, then make it into a land
22:35:21 <ais523> so that drain power works on it
22:35:23 <b_jonas> just make it a copy of Blacker Lotus or Chaos Confetti, and Mindslaver the oppoentn
22:35:35 <ais523> (you also need to give one player shroud so that there's no choice in drain power's targeting)
22:35:39 <b_jonas> oh, you mean Drain Power as an alternative to Mindslaver?
22:35:43 <ais523> b_jonas: no, mindslaver means that you're making choices
22:35:56 <ais523> mindslaver is useless as the output from a TCness construction
22:36:00 <ais523> because it just changes who makes the choices
22:36:06 <b_jonas> you mean choices in that way
22:36:10 <b_jonas> hmm, I'll have to think of that
22:36:33 <b_jonas> I thought you meant only the card's owner making choices
22:36:45 <ais523> I do like that we've moved on from a combo that lets you rip up your opponent's cards to a combo that forces the opponent to conced unless they rip up their own cards, though
22:37:04 <b_jonas> the first one was never the case
22:38:02 <ais523> well, you could do it if your opponent didn't concede first (Blacker Lotus doesn't say "activate this ability only if you own this card")
22:38:18 <ais523> you just have to gain control of a cytoshaped blacker lotus and activate it
22:38:44 <b_jonas> there is a combo that lets the opponent rip the card or concede, and a bit bigger combo that lets the opponent choose whether you tear up their card or they concede (you have to give yourself control of a permanent the opponent owns for that)
22:39:04 <b_jonas> ais523: yes, that's how you do it without Mindslaver
22:39:50 <b_jonas> but firstly, Mindslaver is easier to pull off, because it counters some things the opponent could do, and people consider forcing the opponent to tear up their cards a better outcome than tearing the opponent's cards up themselves
22:40:23 <HackEso> Mindslaver \ 6 \ Legendary Artifact \ {4}, {T}, Sacrifice Mindslaver: You control target player during that player's next turn. (You see all cards that player could see and make all decisions for the player.) \ MRD-R, SOM-M
22:40:37 <b_jonas> also, I should continue processing that Oracle data I downloaded
22:42:00 <ais523> hmm, wasn't Mindslaver updated so that it couldn't see cards outside the game?
22:42:16 <b_jonas> ais523: yes, it was, for tournament reasons
22:42:35 <b_jonas> you can't look at the sideboard of the player you control (unless it's yourself)
22:42:40 <ais523> so the reminder text is a bit misleading, assuming it's still valid
22:42:46 <ais523> when was `card-by-name last updated anyway?
22:42:54 <ais523> `card-by-name conclave guildmage
22:42:57 <b_jonas> ais523: a year ago or something
22:43:01 <ais523> (^ from the most recent set)
22:43:05 <b_jonas> ais523: when Yawgatog stopped updating
22:43:10 <ais523> (assuming you don't count UMA)
22:44:11 <b_jonas> ``` /bin/ls -dl share/mtg/allsets.txt
22:44:12 <HackEso> lrwxrwxrwx 1 1000 1000 22 Oct 5 15:43 share/mtg/allsets.txt -> allsets-2018-05-21.txt
22:45:07 <b_jonas> oh look, Yawgatog now has an announcement that it won't update the oracle list anymore
22:45:37 <b_jonas> anyway, this means we'll have to work on our backup plan: I've already downloaded an Oracle snapshot, but haven't parsed most of the card data out from it yet;
22:46:00 <b_jonas> and I should eventually automate downloading the Scryfall database, which ideally won't be too hard because it has some kind of nice api
22:46:10 <b_jonas> donwload the text part of it that is, not all images
22:47:04 <b_jonas> magiccards.info has died, so Wizard's stupid website and Scryfall are the only card databases out there
22:47:10 <b_jonas> well, the only up to date ones
22:47:49 <b_jonas> and presumably I should make a version I can upload into HackEso too
22:52:23 -!- AnotherTest has quit (Ping timeout: 246 seconds).
22:54:20 <b_jonas> `fetch http://media.wizards.com/2018/downloads/MagicCompRules%2020181005.txt share/mtg/MagicCompRuels_20181005.txt
22:54:21 <HackEso> http:/media.wizards.com/2018/downloads/MagicCompRules%2020181005.txt: No such file or directory
22:54:49 <b_jonas> `fetch share/mtg/MagicCompRules_20181005.txt http://media.wizards.com/2018/downloads/MagicCompRules%2020181005.txt
22:54:50 <HackEso> 2018-11-27 22:54:49 URL:http://media.wizards.com/2018/downloads/MagicCompRules%2020181005.txt [707789/707789] -> "share/mtg/MagicCompRules_20181005.txt" [1]
22:55:02 <b_jonas> `tr -d \\r < share/mtg/MagicCompRules_20181005.txt > share/mtg/rules.txt
22:55:02 <HackEso> tr: invalid option -- ' ' \ Try 'tr --help' for more information.
22:55:06 <b_jonas> `` tr -d \\r < share/mtg/MagicCompRules_20181005.txt > share/mtg/rules.txt
22:55:13 <b_jonas> ``` head share/mtg/rules.txt
22:55:14 <HackEso> Magic: The Gathering Comprehensive Rules \ \ These rules are effective as of October 5, 2018. \ \ Introduction \ \ This document is the ultimate authority for Magic: The Gathering competitive game play. It consists of a series of numbered rules followed by a glossary. Many of the numbered rules are divided into subrules, and each separate rule and subrule of the game has its own number. (Note that subrules skip the letters l and o due to potential
22:55:45 <b_jonas> zzo38: save a local copy if you haven't yet
23:36:13 <zzo38> I would want a SQLite database of Magic: the Gathering cards, and including one column that tells when it is last updated. I invented remote virtual table protocol so it is possible to make a remote service too (such a remote service ought to allow constraints on the last updated column for purpose of only downloading the changes when you make a copy; any constraints not understood by the server will be implemented by the client automatically)
23:46:28 <b_jonas> zzo38: yeah, I want to extract the data too and semi-automate it so I can extract it four times a year. not necessarily an SQLite database, but whatever, you can convert.
23:47:38 <b_jonas> but I probably won't have time for that in December
23:47:41 <b_jonas> at least I have an oracle dump
23:56:09 -!- Essadon has quit (Quit: Qutting).
23:58:25 <zzo38> Yes, a different format can also do, since it can be converted