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 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 Two kind of restricted double move chess variant can be "get out of the way" and "get in the way". 09:43:31 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 What will you think of this? 10:20:17 oh hi! 10:21:10 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 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 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 wob_jonas: what about the additional restriction that X and Y move different pieces? 10:46:13 -!- heyoka has left. 10:46:55 Taneb: dunno 10:47:13 (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 [[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 I failed to mention (but should have done) that you have to move two different pieces 16:28:15 (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 I invented a syntax where variables are marked for whether they are being read, written to, or both. 17:50:51 @z + $x $y; // read x, add y to it, then write to z 17:50:51 Maybe you meant: v @ ? . 17:51:15 #x + $y; // add x to y and wrtie back into x 17:51:22 -!- Lord_of_Life has quit (Ping timeout: 250 seconds). 17:51:36 oren: hi 17:52:00 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:36 Actually, I'm confused. 17:54:56 What delimits what's written to the variable? 17:55:03 What's #x + #x? 17:58:18 that would read x and add it to itself, writing back into x 18:04:02 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 shachaf: I guess I havent really thought into the effect of order in this 19:06:31 Is the delimiter a statement or what? 19:06:42 What's f(@x + 1)? 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 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 [[TrivialBrainfuckSubstitution]] https://esolangs.org/w/index.php?diff=58508&oldid=58506 * Rdebath * (+813) Generic Interpreter Patterns 20:32:08 so maybe the order of the components then, no longer matters 20:35:55 or matters in a different way 20:37:57 #w $x / $y $z; // multiply w by x, and divide by y*z, then put the result into w 20:40:40 #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 (a)f(b,c); // a valid declaration of f 20:43:27 Hmm, maybe I can borrow some part of that for my language idea 20:43:39 Something like ". rw(x)` + 1" for "x += 1"? 20:43:56 . f(rw(x)`) // x = f(x) 20:44:08 . min(rw(x)`, y) // x = min(x, y) 20:45:28 `bobadventureslist http://bobadventures.comicgenesis.com/d/20181127.html 20:45:29 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: bobadventureslist: not found 21:19:46 -!- ais523 has joined. 21:20:05 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:23 wait, no 21:20:47 I was going to say "just square b" but of course that doesn't change the problem at all 21:21:32 ais523: what are x, p, and b? 21:22:27 I don't think that is computationally hard, but I'm not entirely sure 21:23:02 hmm... it might actually be. you may need to factor an integer for that. 21:23:10 I don't know really 21:23:13 b_jonas: anything, the question is whether we can solve this for arbitrary x/p/b 21:23:28 the original problem is "what is the discrete logarithm of x mod p to base b" with prime p 21:23:32 ais523: but they're natural numbers? 21:23:34 although I'm not attached to p being prime 21:23:39 b_jonas: yes, natural numbers 21:23:50 logarithms in modular arithmetic are weird 21:24:08 e.g. 2**3 mod 5 is 3, so log_2(3) mod 5 is 3 21:24:30 people use "discrete logarithm" for that so that it doesn't get confused with the more normal sort of logarithm 21:25:44 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 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 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 (err, solvable in practice, I mean; it's clearly solvable in theory due to the possibility of brute-forcing it) 21:27:19 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 or even half of them being hard to solve or something 21:27:33 ais523: yeah, so you want specific numbers. that's harder. 21:28:35 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 so you want a single question like the Goldbach conjecture or even the Riemann conjecture 21:29:32 ais523: yeah, we don't allow side channel outputs from the match, such as ante or Double Cross 21:29:59 you want this to be viable in a tournament, and the side-channels don't exist there 21:30:36 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 there are several nested loops and you need a prime generator 21:31:42 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 ais523: yes, ante is not used anywhere, and Double Cross is not used in tournaments 22:03:49 technically you could probably do a three-way output like win/draw/lose, but that doesn't help that much 22:04:57 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 physical dexterity isn't really a side effect, it doesn't have an effect beyond the game 22:19:25 it's more like an input than an output 22:21:11 ais523: it's mostly an input, yes, but it could have effects beyond the game I think 22:21:15 that's rare, sure 22:22:07 I don't think there are any effects that force physical dexterity behaviour from other people? 22:22:12 just effects that give a consequence for it 22:22:21 that's probably necessary to avoid forcing people into situations they're uncomfortable with 22:23:43 ais523: there are if you use Mindslaver 22:23:51 without that, there aren't 22:23:54 well 22:23:59 perhaps barely 22:24:42 I guess Collector Protector is more similar to tearing up cards than the physical dexterity stuff 22:24:45 actually, I suspect physical-dexterity, verbal-component, etc. cards are partial counters to Mindslaver 22:25:04 in that if you don't perform the action, the Mindslaver likely can't make you do it 22:25:14 perhaps the Mindslaver user could do the action themself, not sure on that 22:25:18 I wonder if there's a ruling on the topic? 22:25:37 I think there's an un-ruling 22:25:42 on Mindslaver and singing the song 22:25:49 it says that they aren't counter 22:26:10 you can use Mindslaver to make the opponent perform certain physical feats, the ones that appear in an activation cost, 22:26:24 although they can concede the game to avoid that 22:27:05 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 that's actually an interesting strategy, since it likely wins you the whole match, not just the game 22:27:55 hard to pull off of course 22:28:32 you can't prevent the opponent conceding 22:28:55 (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 ais523: sure, and the opponent can concede in the match with the calculations too, even before the calculations finish 22:29:23 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 the situation before the calculations start is strictly better for them than the situation they'll get after conceding 22:30:18 sure 22:30:21 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 but tearing up cards is similar 22:30:41 isn't it? 22:31:03 not tearing up a card the opponent owns is a strictly better situation than tearing up a card they own 22:32:33 and you can probably leak almost 60 bits by tearing up cards 22:33:38 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 oh, I'm pretty sure you can't tear up cards in an automated way anyway 22:33:51 like, it'd require one of the players to make a choice to do so 22:33:56 ais523: you can, but again only in such a way that the opponent has an opportunity to concede 22:34:05 I mean, not counting concessions 22:34:24 well, there would be choices before they go off 22:34:32 they might be playing a good deck and just win before you can do it 22:34:37 `card-by-name drain power 22:34:37 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 `card-by-name blacker lotus 22:34:43 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 that, plus Mindslaver and Cytoshape 22:34:58 if you make a card into a copy of blacker lotus, then make it into a land 22:35:09 why make it into a land? 22:35:21 so that drain power works on it 22:35:23 just make it a copy of Blacker Lotus or Chaos Confetti, and Mindslaver the oppoentn 22:35:35 (you also need to give one player shroud so that there's no choice in drain power's targeting) 22:35:39 oh, you mean Drain Power as an alternative to Mindslaver? 22:35:40 interesting 22:35:43 b_jonas: no, mindslaver means that you're making choices 22:35:56 mindslaver is useless as the output from a TCness construction 22:35:57 oh! 22:36:00 because it just changes who makes the choices 22:36:06 you mean choices in that way 22:36:10 hmm, I'll have to think of that 22:36:33 I thought you meant only the card's owner making choices 22:36:39 sorry 22:36:45 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 the first one was never the case 22:38:02 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 you just have to gain control of a cytoshaped blacker lotus and activate it 22:38:44 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 ais523: yes, that's how you do it without Mindslaver 22:39:50 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 `card-by-name Mindslaver 22:40:23 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 also, I should continue processing that Oracle data I downloaded 22:40:43 some day 22:40:44 not today 22:42:00 hmm, wasn't Mindslaver updated so that it couldn't see cards outside the game? 22:42:16 ais523: yes, it was, for tournament reasons 22:42:35 you can't look at the sideboard of the player you control (unless it's yourself) 22:42:40 so the reminder text is a bit misleading, assuming it's still valid 22:42:46 when was `card-by-name last updated anyway? 22:42:54 `card-by-name conclave guildmage 22:42:55 No output. 22:42:57 ais523: a year ago or something 22:43:01 (^ from the most recent set) 22:43:05 ais523: when Yawgatog stopped updating 22:43:10 (assuming you don't count UMA) 22:43:16 or maybe before that 22:44:11 ``` /bin/ls -dl share/mtg/allsets.txt 22:44:12 lrwxrwxrwx 1 1000 1000 22 Oct 5 15:43 share/mtg/allsets.txt -> allsets-2018-05-21.txt 22:45:07 oh look, Yawgatog now has an announcement that it won't update the oracle list anymore 22:45:37 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 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 donwload the text part of it that is, not all images 22:47:04 magiccards.info has died, so Wizard's stupid website and Scryfall are the only card databases out there 22:47:10 well, the only up to date ones 22:47:49 and presumably I should make a version I can upload into HackEso too 22:52:23 -!- AnotherTest has quit (Ping timeout: 246 seconds). 22:53:53 though on the other hand, 22:54:20 `fetch http://media.wizards.com/2018/downloads/MagicCompRules%2020181005.txt share/mtg/MagicCompRuels_20181005.txt 22:54:21 http:/media.wizards.com/2018/downloads/MagicCompRules%2020181005.txt: No such file or directory 22:54:49 `fetch share/mtg/MagicCompRules_20181005.txt http://media.wizards.com/2018/downloads/MagicCompRules%2020181005.txt 22:54:50 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 `tr -d \\r < share/mtg/MagicCompRules_20181005.txt > share/mtg/rules.txt 22:55:02 tr: invalid option -- ' ' \ Try 'tr --help' for more information. 22:55:06 `` tr -d \\r < share/mtg/MagicCompRules_20181005.txt > share/mtg/rules.txt 22:55:08 No output. 22:55:13 ``` head share/mtg/rules.txt 22:55:14 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 zzo38: save a local copy if you haven't yet 23:24:28 OK I made a copy 23:36:13 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 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 but I probably won't have time for that in December 23:47:41 at least I have an oracle dump 23:47:56 but haven't parsed it yet 23:56:09 -!- Essadon has quit (Quit: Qutting). 23:58:25 Yes, a different format can also do, since it can be converted