00:00:12 -!- Lord_of_Life has quit (Read error: Connection reset by peer). 00:01:17 -!- tromp has quit (Ping timeout: 246 seconds). 00:03:06 -!- Lord_of_Life has joined. 00:35:11 -!- tromp has joined. 00:40:18 -!- tromp has quit (Ping timeout: 272 seconds). 00:55:24 [[Vague]] https://esolangs.org/w/index.php?diff=59900&oldid=59800 * Cortex * (-33) 00:59:05 [[Hexomnia]] https://esolangs.org/w/index.php?diff=59901&oldid=59356 * Cortex * (+35) 01:08:19 -!- Remavas-Hex has joined. 01:11:26 -!- Remavas[AFK] has quit (Ping timeout: 244 seconds). 01:29:00 -!- tromp has joined. 01:33:39 -!- tromp has quit (Ping timeout: 244 seconds). 02:01:41 -!- Remavas-Hex has changed nick to Remavas-Hex[AFK]. 02:02:17 -!- Remavas-Hex[AFK] has changed nick to Remavas-. 02:03:43 -!- Remavas- has changed nick to Remavas. 03:07:03 -!- nfd9001 has quit (Read error: Connection reset by peer). 03:13:40 Is there a way to tell Firefox to disable kerning for editable fields? 03:16:23 -!- tromp has joined. 03:20:47 -!- tromp has quit (Ping timeout: 246 seconds). 03:23:51 -!- Remavas has quit (Read error: Connection reset by peer). 03:24:16 -!- Remavas has joined. 03:37:58 -!- Remavas has quit (Quit: Leaving). 04:16:15 the 4-tuple model of a turing machine is the most natural. 04:41:16 how so, and compared to what? 04:42:00 compared to the 5-tuple model. instead of having (current state, old symbol, new symbol, direction, new state), you have (current state, old smbol, command, new state). 04:42:25 the 4-tuple model is generalizable to not even include symbols, but 'conditions', which can be defined as boolean functions. 04:43:05 the general form of an automaton, moving from the 4-tuple model, looks like (current state, condition, next state, command). 04:44:44 yeah 04:46:06 if you were to try to generalize the 5-tuple model to include more actions, the number of states you'd need to accomplish a "no-op" blows up like mad, and in some cases, may not even be possible. 05:04:01 -!- tromp has joined. 05:08:56 -!- tromp has quit (Ping timeout: 258 seconds). 05:30:43 -!- oerjan has quit (Quit: Nite). 05:52:26 -!- FreeFull has quit. 05:57:59 -!- tromp has joined. 06:00:56 I think with the Amycus numbers, length is popcount and head is ctz, isn't it? 06:02:17 -!- tromp has quit (Ping timeout: 255 seconds). 06:30:37 -!- arseniiv has joined. 06:51:25 -!- tromp has joined. 06:55:53 -!- tromp has quit (Ping timeout: 245 seconds). 07:24:15 -!- nfd9001 has joined. 07:36:54 [[Shishkirism]] https://esolangs.org/w/index.php?diff=59902&oldid=59899 * Kamish * (+1814) 08:09:32 -!- arseniiv has quit (Ping timeout: 246 seconds). 08:14:31 `quote Taneb prime memory 3 08:14:32 No output. 08:14:40 `quote before reaching 3 08:14:41 No output. 08:15:10 Anyway, you know yesterday I had a program which lists primes which ran out of memory before reaching 3? 08:15:21 I've made some changes and now it can reach at least 131 08:16:05 I also have a Fractran -> Sed compiler-ish thing 08:16:23 -!- tromp has joined. 08:16:34 [[RELATIONS]] N https://esolangs.org/w/index.php?oldid=59903 * Kamish * (+718) Created page with "

'''RELATIONS''' is an esoteric programming language created by [[User:Kamish|Kamish]]

This language is absolutely useless and '''has 8 commands:'''

{| class="wik..." 08:16:36 -!- tromp has quit (Remote host closed the connection). 08:16:48 -!- tromp has joined. 08:17:28 [[User:Kamish]] https://esolangs.org/w/index.php?diff=59904&oldid=59890 * Kamish * (+18) 08:18:58 [[Joke language list]] M https://esolangs.org/w/index.php?diff=59905&oldid=59889 * Kamish * (+54) 08:31:48 [[Kate]] N https://esolangs.org/w/index.php?oldid=59906 * Kamish * (+647) Created page with "

'''Kate''' - esoteric programming language created by [[User:Kamish|Kamish]]

The language consists of only one command - Kate

{| class="wikitable" |- ! Command !..." 08:31:51 -!- Sgeo_ has joined. 08:34:50 -!- Sgeo has quit (Ping timeout: 250 seconds). 08:35:27 [[Joke language list]] M https://esolangs.org/w/index.php?diff=59907&oldid=59905 * Kamish * (+34) 08:36:00 [[User:Kamish]] M https://esolangs.org/w/index.php?diff=59908&oldid=59904 * Kamish * (+13) 09:02:32 -!- tromp has quit (Remote host closed the connection). 09:07:59 -!- imode has quit (Ping timeout: 246 seconds). 09:10:50 -!- AnotherTest has joined. 09:14:04 -!- arseniiv has joined. 09:16:23 -!- Sgeo_ has quit (Read error: Connection reset by peer). 09:16:51 -!- Sgeo_ has joined. 09:20:22 -!- tromp has joined. 09:33:26 -!- tromp has quit (Remote host closed the connection). 09:38:39 -!- tromp has joined. 09:44:49 awesome Taneb!! 11:13:46 [[Special:Log/newusers]] create * Alikberoff * New user account 11:28:32 -!- Sgeo__ has joined. 11:29:32 -!- b_jonas has joined. 11:31:16 -!- Sgeo_ has quit (Ping timeout: 246 seconds). 11:31:16 zzo38: re Amicus number representation, yes 11:31:36 Taneb: lol 11:31:49 should we quote that? 11:31:51 -!- xkapastel has joined. 11:33:15 `bobadventures http://bobadventures.comicgenesis.com/d/20190216.html 11:33:16 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: bobadventures: not found 11:54:39 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=59909&oldid=59854 * Alikberoff * (+115) /* Introductions */ 11:54:51 [[Generic 2D Befunge]] N https://esolangs.org/w/index.php?oldid=59910 * Alikberoff * (+1788) ~~~~ 12:00:32 -!- arseniiv has quit (Ping timeout: 246 seconds). 12:02:01 -!- Lord_of_Life_ has joined. 12:03:10 [[Generic 2D Befunge]] https://esolangs.org/w/index.php?diff=59911&oldid=59910 * Alikberov * (+89) 12:03:11 -!- Lord_of_Life has quit (Ping timeout: 255 seconds). 12:04:19 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 12:55:51 -!- arseniiv has joined. 14:14:35 -!- Sgeo__ has quit (Ping timeout: 255 seconds). 14:14:45 -!- Sgeo has joined. 14:42:16 -!- aloril has quit (Remote host closed the connection). 14:44:14 `help quote 14:44:16 Quotes are just elements of the quantum dilapidated bogosphere. See qdb. 14:44:17 `help addquote 14:44:18 ​`addquote? ¯\(°​_o)/¯ 14:44:22 `help qdb 14:44:23 qdb is used like: `quote; `quote regexp; `quote id; `addquote ...; `delquote id; `pastequotes regexp; `pastenquotes [n]; see also quoteformat 14:44:24 `help quote format 14:44:25 ​`quote format? ¯\(°​_o)/¯ 14:44:58 `? quoteformat 14:44:59 quoteformat is: message; * nick action; two spaces between messages; all elisions marked with [...] other than irrelevant intervening messages; for messages separated by elision, one space on each side, not two. 14:45:24 -!- aloril has joined. 14:45:32 ``` addquote ' Anyway, you know yesterday I had a program which lists primes which ran out of memory before reaching 3?' #https://esolangs.org/logs/2019-02-17.html#lT 14:45:34 1332) Anyway, you know yesterday I had a program which lists primes which ran out of memory before reaching 3? 15:01:36 wait wait 15:01:44 what the fuck, English 15:03:41 so not only do they have sign /saIn/, signal /"sIgn@l/, but also resign /rI"zaIn/, resignation /rezIg"neIS@n/ 15:03:46 it's crazy 15:03:57 `? sign 15:03:58 sign? ¯\(°​_o)/¯ 15:51:33 -!- xkapastel has quit (Quit: Connection closed for inactivity). 15:52:46 -!- FreeFull has joined. 16:00:33 [[Special:Log/newusers]] create * TheJebForge * New user account 16:03:19 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=59912&oldid=59909 * TheJebForge * (+234) 16:05:00 [[Glutton]] https://esolangs.org/w/index.php?diff=59913&oldid=59856 * CubixThree * (+561) Made some more progress finishing this up. 16:06:02 [[User:TheJebForge]] N https://esolangs.org/w/index.php?oldid=59914 * TheJebForge * (+212) Created page with "I'm TheJebForge, a hobbyist programmer and I know most of the popular programming languages. Favorite languages are C++ and Lua. Joined this community to showcase a language I..." 16:09:32 [[Language list]] https://esolangs.org/w/index.php?diff=59915&oldid=59859 * TheJebForge * (+13) 16:13:34 [[Minaac]] N https://esolangs.org/w/index.php?oldid=59916 * TheJebForge * (+553) Created page with "== minaac == Minaac (Minaac Is Not An Assembler Clone) is a run-time interpreted programming language capable of recreating Turing Machine making it a turing-complete languag..." 16:19:02 [[Minaac]] https://esolangs.org/w/index.php?diff=59917&oldid=59916 * TheJebForge * (+120) 16:19:26 [[Minaac]] https://esolangs.org/w/index.php?diff=59918&oldid=59917 * TheJebForge * (+21) /* Minaac */ 16:21:50 [[Minaac]] https://esolangs.org/w/index.php?diff=59919&oldid=59918 * TheJebForge * (+49) 16:22:18 [[Minaac]] https://esolangs.org/w/index.php?diff=59920&oldid=59919 * TheJebForge * (+4) /* External resources */ 16:22:54 [[Minaac]] https://esolangs.org/w/index.php?diff=59921&oldid=59920 * TheJebForge * (+23) 16:24:21 -!- TheJebForge has joined. 16:24:27 Hello :D 16:28:13 -!- TheJebForge has quit (Client Quit). 16:31:37 [[Minaac]] https://esolangs.org/w/index.php?diff=59922&oldid=59921 * TheJebForge * (+1) 16:50:45 [ 30*50 16:50:46 b_jonas: 1500 17:24:06 [[Esoteric data structure]] https://esolangs.org/w/index.php?diff=59923&oldid=44362 * Cortex * (+22) 18:02:06 [[$ $]] https://esolangs.org/w/index.php?diff=59924&oldid=59258 * Cortex * (+43) 18:03:21 [[User:Cortex]] https://esolangs.org/w/index.php?diff=59925&oldid=59806 * Cortex * (+21) 18:04:54 [[Pizza Delivery]] N https://esolangs.org/w/index.php?oldid=59926 * Cortex * (+1577) Created page with "Coming soon: Usefulness {{WIP}} '''Pizza Delivery''' is yet another esolang by [[User:Cortex|]] designed to be similar to the logic of other Cortex languages, but more concise..." 18:12:55 http://dmishin.blogspot.com/2013/11/the-single-rotation-rule-remarkably.html 18:34:40 -!- imode has joined. 18:48:17 that's interesting 18:52:43 -!- moei has joined. 18:56:29 [[User:TheJebForge]] https://esolangs.org/w/index.php?diff=59927&oldid=59914 * TheJebForge * (+4) 18:56:56 [[Minaac]] https://esolangs.org/w/index.php?diff=59928&oldid=59922 * TheJebForge * (+2) /* Example code */ 19:05:39 [[Minaac]] https://esolangs.org/w/index.php?diff=59929&oldid=59928 * TheJebForge * (+239) /* Minaac */ 19:05:52 [[Minaac]] https://esolangs.org/w/index.php?diff=59930&oldid=59929 * TheJebForge * (+1) /* Minaac */ 19:30:07 shachaf: thank you! 19:35:17 `? east port 19:35:18 east port? ¯\(°​_o)/¯ 19:50:30 -!- Phantom_Hoover has joined. 19:50:30 -!- Phantom_Hoover has quit (Changing host). 19:50:30 -!- Phantom_Hoover has joined. 20:03:56 `? gray 20:03:58 Gray is e common misspalling of grey. 20:04:16 `cwlprits gray 20:04:18 oerjän 20:04:25 `? grey 20:04:26 grey? ¯\(°​_o)/¯ 20:14:46 . o O ( Let's not make an entry on Grey codes. ) 20:14:54 `? fuchsia 20:14:55 fuchsia? ¯\(°​_o)/¯ 20:15:02 ``` 20:15:03 bash: -c: option requires an argument 20:15:30 ``` for c in sc cs csh sch sh ch; do \? fu"$c"ia; done 20:15:33 fuscia? ¯\(°​_o)/¯ \ fucsia? ¯\(°​_o)/¯ \ fucshia? ¯\(°​_o)/¯ \ fuschia? ¯\(°​_o)/¯ \ fushia? ¯\(°​_o)/¯ \ fuchia? ¯\(°​_o)/¯ 20:15:57 `wrl 20:15:58 https://hack.esolangs.org/repo/file/tip/wisdom 20:16:44 `cwlprits pokemon red 20:16:45 rdocöc 20:18:13 Who was the person who was against cwlprits and dowg and grWp and all those things? 20:18:24 I feel like there was one (other than b_jonas) but now everyone's using them. 20:21:44 I have troulbe with the etymology of things like `doag. 20:22:22 And I have troulbe with spelling, apparently. 20:22:34 shachaf: I'm not specifically against them 20:22:52 I just feel like everyone should be allowed to use whatever tools they want, and judged by their results regardless of their tools 20:23:20 this should apply for programming languages too: if you write useful stuff in java or php, that's fine, it's your problem if you have to wrestle with the language during, not mine as a user 20:23:51 i.e. I prefer Mediawiki over other wikis, even if Mediawiki is the one using php 20:23:55 But if you use javascript and burden me with electron then I will complain. 20:23:57 :P 20:25:34 same for editors and even IDEs 20:32:17 I do think there's a limit to this idea. 20:32:39 Like... given a network facing C program, I expect it to have a 100% chance of having latent undiscovered memory unsafety, of a type that is potentially exploitable 20:33:08 Tools can well be inapproprate in ways the user cares about 20:33:13 -!- ais523 has joined. 20:33:27 @messages? 20:33:27 Sorry, no messages today. 20:34:03 int-e: Do you want to rename these things? 20:34:15 Is there some way to tell the "uuid" program to use a different MAC address? 20:34:25 I think maybe there could be a better system than encoding subsets of behaviors people care about in the command name. 20:34:28 shachaf: no! 20:34:52 shachaf: don't rename these, please 20:35:18 that'll just cause even more confusion 20:35:20 It's been a few years. People are too used to the existing names. 20:36:19 -!- Lymia has quit (Quit: Hugs~ <3). 20:37:11 (I suppose it isn't difficult to just edit the resulting UUID to put in a different MAC address) 20:38:28 -!- callforjudgement has joined. 20:38:30 -!- ais523 has quit (Ping timeout: 250 seconds). 20:38:49 -!- callforjudgement has changed nick to ais523. 20:40:59 hello ais 20:41:48 so I found out that there are like eight M:tG cards, even not counting the silver-bordered ones, that make other players make choices while you're casting a spell 20:43:02 they're old, but have some reprings 20:43:48 ``` card-by-name Arena # is one of them 20:43:49 Arena \ Land \ {3}, {T}: Tap target creature you control and target creature of an opponent's choice they control. Those creatures fight each other. (Each deals damage equal to its power to the other.) \ PROMO-S, TSP-S \ \ Arena Athlete \ 1R \ Creature -- Human \ 2/1 \ Heroic -- Whenever you cast a spell that targets Arena Athlete, target creature an opponent controls can't block this turn. \ THS-U \ \ Arena of the Ancients \ 3 \ Artifact \ Legendary cre 20:44:58 ``` card-by-name Evangelize # is a new one in TSP 20:44:58 Evangelize \ 4W \ Sorcery \ Buyback {2}{W}{W} (You may pay an additional {2}{W}{W} as you cast this spell. If you do, put this card into your hand as it resolves.) \ Gain control of target creature of an opponent's choice they control. \ TSP-R 20:48:13 now I don't know how casting spells work, and have to read the comp rules 20:48:34 I do know how it work; I have read the rules 20:51:26 First modes are chosen, and then targets, and then the cost is determine, and then the mana step if applicable, and then the cost is paid. 20:54:28 -!- Lymia has joined. 20:54:37 zzo38: can the opponent's choice of targets, or any choices by other players during the mana abilities part, change whether the caster can pay the costs of the spell? 20:55:13 And I mean without silver-bordered cards 20:55:28 because with Gleemax that could happen, but let's exclude Gleemax now as it's silver-bordered 20:56:00 I think there are some cards with effects that might do that (even not counting silver bordered) (although I do not quite remember all of the cards) 20:56:17 this doesn't seem any more broken than Selvala 20:56:50 I assume you'd just have to rewrite if an opponent chose a target which meant you couldn't afford to pay the costs of the spell 20:56:54 *rewind 20:57:19 (I think some cards increase the cost for targeting them) 20:57:29 yes 20:57:41 (I do not remember which ones.) 20:58:09 `card-by-name Selvala, Explorer Returned 20:58:10 Selvala, Explorer Returned \ 1GW \ Legendary Creature -- Elf Scout \ 2/4 \ Parley -- {T}: Each player reveals the top card of their library. For each nonland card revealed this way, add {G} and you gain 1 life. Then each player draws a card. \ CNS-R, C16-R, VMA-R 20:58:15 it's tricky, some cards like that counter the spell unless a cost is paid, rather than actually increasing the cost 20:58:26 b_jonas: the great thing is, that's a mana ability 20:58:40 ouch 20:58:57 so you can attempt to use it to pay for a spell, and then discover you don't have enough mana 20:58:59 Yes, it is a mana ability which reveals cards from a library 20:59:10 why don't we have rules managers that can rein Wizards in when they have such ideas? 20:59:11 and you can't rewind because the cards from the library have already been seen 20:59:13 And conditionally adds mana based on that 20:59:26 that can't even work 20:59:44 it clearly doesn't work but the rules managers have been reluctant to change it 21:00:13 isn't there a rule that if something would reveal hidden cards while casting a spell, they're instead revealed only later, after casting the spell? or is that only for _drawing_ cards specifically? 21:00:26 I think only for drawing cards 21:00:43 right, you draw them face down 21:00:50 but that doesn't help with Selvala because they're explicitly revealed 21:00:58 so 21:01:15 they should really just have put "play this ability only any time you could play an instant" on there 21:01:19 http://zzo38computer.org/textfile/miscellaneous/magic_card/puzzle.7 21:01:24 or at least day-1-errata'd it to that 21:01:28 but for mysterious reasons, they didn't 21:01:32 ais523: Yes, that would help 21:01:46 if a morph of an opponent dies during the mana ability part of casting a spell, you'll just learn what it is immediately, even if casting the spell may have to be rewound? 21:02:10 I assume that can happen, although I can't think of a way to do it offhand 21:02:44 I guess you could have stolen it, and sacrificed it to Phyrexian Altar, but then you'd legally be allowed to look at it so it'd only matter in multiplayer 21:03:25 ais523: just copy a Wild Cantor on it 21:03:34 um 21:03:38 that would be your own morph then 21:03:41 right 21:03:55 Do you like my puzzle? 21:04:10 killing an opponent's creature at mana ability speed is hard because you can't use triggered abilities 21:04:15 yeah 21:04:28 hmm, are there any global toughness boosts in the game? I think there are, right? 21:04:33 ais523: worse still, you can't even use toughness reduction because SBAs won't kick in 21:04:39 oh right, SBAs 21:04:51 so you'd have to kill directly 21:05:30 zzo38: seeing a Panglacial Wurm there worries me 21:05:44 man, this was easier when I could just search for "pool" to find every mana ability 21:06:25 is "add" used in other contexts? 21:06:38 you newfangled youths with your intuitive "dies" and "create [token]" and "add [mana]" phrasing, back when I was young we had to write rules text uphill both ways in the snow 21:06:41 ais523: yes 21:06:51 `random-card \badd\b 21:06:51 Shefet Dunes \ Land -- Desert \ {T}: Add {C}. \ {T}, Pay 1 life: Add {W}. \ {2}{W}{W}, {T}, Sacrifice a Desert: Creatures you control get +1/+1 until end of turn. Activate this ability only any time you could cast a sorcery. \ HOU-U 21:06:56 nope, not that 21:07:09 hmm 21:08:21 ais523: you might be right, maybe it doesn't occur elsewhere 21:08:33 it might even be better than "pool" because "pool" occurs in some card names 21:09:26 If "add" is used in other contexts, they would presumably say where to add it to, and you would be adding something other than mana, anyways 21:11:56 zzo38: with your puzzle, can't you just win by discarding a card to Skirge Familiar and attacking with everything? 21:12:02 AFAICT the opponent can't block and you do 4 damage 21:12:28 ais523: and Simian Spirit Guide makes it very easy to have cases where you start casting a spell without being able to pay its costs but the opponent doesn't know that for sure 21:13:15 ais523: Maybe, although it is not intention. I will look to see if it is or not 21:13:15 I don't think that in general it's possible to always be able for an opponent to know in advance how much mana you can generate 21:13:21 (It can be fixed if necessary) 21:16:23 ais523: I don't think you can win like that? You can do only 3 damage, isn't it? 21:16:48 zzo38: lhurgoyf does one for the discarded instant/sorcery in your graveyard, skirge familiar does 3 21:17:03 anafenza only prevents creature cards going to the graveyard and has no impact on instants and sorceries 21:17:16 or, wait, does lhurgoyf only count creatures? 21:17:35 ah right, only counts creatures 21:17:46 `card-by-name Metalworker 21:17:47 Metalworker \ 3 \ Artifact Creature -- Construct \ 1/2 \ {T}: Reveal any number of artifact cards in your hand. Add {C}{C} for each card revealed this way. \ UD-R 21:18:25 Yes, Lhurgoyf only counts creatures. 21:19:24 I suspect the panglacial wurm is a red herring as none of your cards appear to search, it's probably just there to be an arbitrary creature 21:19:47 hmm, let me look 21:21:48 ais523: would zzo38 really do that in a puzzle? adding such an irrelevant element? 21:22:37 I don't know 21:22:37 maybe he would 21:22:49 different puzzle setters have different styles but I don't know what zzo38's is 21:22:51 yeah, it doesn't look like anything searches there. not even a search land. 21:23:41 -!- arseniiv has quit (Ping timeout: 246 seconds). 21:26:22 I don't think zzo38's puzzle is solvable as you can't get rid of the anafenza or the lab maniac, and can't cast the panglacial wurm even after drawing it, thus you can't get more than 3 power on the field and can't win by any alternate win condition, also there's no way to stop the opponent winning next turn 21:26:25 although I might have missed something 21:27:46 I think once someone found the intended solution but was unsure if it was valid or not, and they are a judge of Magic: the Gathering. 21:29:36 well, chromatic sphere draws a card at mana ability speed, and I'm pretty sure that's part of the solution 21:29:49 Yes 21:30:37 I'm guessing the intended solution is something along the lines of "cast panglacial wurm from your library, but draw it while you're casting it so that it isn't there, and something goes wrong during the rewind" 21:30:50 but I can't see a way to do the first step as none of the cards you have search your library 21:31:35 No, that isn't it 21:32:03 You do not have to rewind. 21:33:10 panglacial wurm isn't castable as it has GG in its cost and you can only generate one green mana 21:33:45 what? 21:33:58 hmm, does the intended solution involve attempting to cast panglacial wurm while casting opt? because that isn't legal 21:33:59 draw it while you're casting it? 21:34:02 how would that even work? 21:34:10 ais523: No, it doesn't involve that 21:34:21 I said it does not involve rewinding 21:34:24 hmm, at what point does a card go to the stack while you're casting it? probably before you pay costs 21:34:34 isn't it on the stack and no longer in your library while you're casting it? 21:34:39 ais523: very early 21:35:20 see rule 601.2a 21:35:46 let's see, my problem here is that you can trivially draw panglacial wurm, but I don't think you can do anything else with it 21:35:58 Putting it on the stack is the first step before deciding modes. 21:36:06 oh, you can discard it into exile, but that doesn't seem to help either 21:36:27 ``` grep '^601\.2a' share/mtg/rules.txt 21:36:27 601.2a To propose the casting of a spell, a player first moves that card (or that copy of a card) from where it is to the stack. It becomes the topmost object on the stack. It has all the characteristics of the card (or the copy of a card) associated with it, and that player becomes its controller. The spell remains on the stack until it's countered, it resolves, or an effect moves it elsewhere. 21:37:09 I'm amused at the way you quoted the . there 21:37:15 I guess it makes the grep run fasteR? 21:37:35 I didn't do it to make gerp run faster 21:37:42 false positives seem unlikely 21:37:56 `` grep ^601.2a share/mtg/rules.txt 21:37:57 601.2a To propose the casting of a spell, a player first moves that card (or that copy of a card) from where it is to the stack. It becomes the topmost object on the stack. It has all the characteristics of the card (or the copy of a card) associated with it, and that player becomes its controller. The spell remains on the stack until it's countered, it resolves, or an effect moves it elsewhere. 21:37:57 the running speed is insignificant because the network lag is bigger 21:38:02 I just find it dirty to not quote it 21:38:31 and I need a caret or it will find an earlier line, so I can't just -F it, and -w or -x doesn't help 21:40:00 I actually have an alias to do a recursive search for a particular string at the start of a line, but it doesn't quote it 21:40:18 (it does some other things, though, like opening the found result in less) 21:40:36 the idea is to quickly jump to a function in code that uses an indentation style which places newlines before function names in their definintions 21:41:34 and it wouldn't be too strange to have an alias in HackEso that displays a particular rule 21:41:41 by number 21:41:50 IIRC the Yawgatog bot has that feature 21:41:56 my most commonly used alias, though, is one called "l" which does ls on directories, ls on . if given no arguments, and less on regular files 21:42:04 the tricky part is that some rules really don't fit in an irc line 21:42:21 what if dwarf fortress w as an anime 21:42:40 Also you should fix so that the cards do not have reminder text. This solves two problems, one is it makes searching better to omit reminder text, and other is that it is less likely to go over the maximum length of the IRC text if the reminder text is omitted. 21:42:43 I'm finding it hard to visualise what an anime dwarf would look like 21:43:17 `card-by-name Elven Fortress 21:43:18 Elven Fortress \ G \ Enchantment \ {1}{G}: Target blocking creature gets +0/+1 until end of turn. \ FE-C 21:44:04 zzo38: I told you already, fix that yourself if you want 21:44:39 b_jonas: O, OK. 21:44:54 `card-by-name duh 21:44:55 Duh \ B \ Instant \ Destroy target creature with reminder text. (Reminder text is any italicized text in parentheses that explains rules you already know.) \ UNH-C 21:45:19 detecting reminder text might be quite hard 21:45:23 I for one like the reminder text, because I can't remember all 136 keyword abilities 21:45:32 perhaps opening paren followed by capital letter is a reliable way to detect it? 21:45:45 ais523: why? are there other parenthesis in the rules text part? 21:45:57 I think so, not sure though 21:46:03 As far as I know the parentheses are not used for anything else other than reminder text 21:46:12 `` cat bin/card-by-name 21:46:13 ​#!/bin/sh \ exec perl -e 'open$I,"<","/hackenv/share/mtg/allsets.txt"or die;$/=""; while(<$I>){/\A(?i)\Q$ARGV[0]/ and print}' "$1" 21:46:33 now that looks ugly 21:46:50 what's \A? start of a line? 21:46:55 ais523: start of the string 21:47:09 which in this case is more than a line 21:47:10 oh right, the while already splits it into lines 21:47:11 it's a whole card 21:47:17 ais523: no, it splits it to paragraphs 21:47:24 and there's one paragraph per card 21:47:26 (ideally) 21:47:34 oh, I missed the override of $/ 21:48:41 `` grep '([a-z]' /hackenv/share/mtg/allsets.txt 21:48:42 3(r/p)(r/p) \ ({(r/p)} can be paid with either {R} or 2 life.) \ When Aether Chaser enters the battlefield, you get {E}{E} (two energy counters). \ When Aether Herder enters the battlefield, you get {E}{E} (two energy counters). \ When Aether Hub enters the battlefield, you get {E} (an energy counter). \ When Aether Inspector enters the battlefield, you get {E}{E} (two energy counters). \ When Aether Meltdown enters the battlefield, you get {E}{E} (two ene 21:48:52 ah! 21:48:57 although that's in a mana cost 21:49:04 you'll have to find one in a rule text 21:49:09 but it's close enough 21:49:17 do we count the energy counter counting text as reminder text? 21:49:23 in the yawgatog allsets dump, it's not even trivial to find which lines are mana costs 21:49:53 `card-by-name graven cairns 21:49:54 Graven Cairns \ Land \ {T}: Add {C}. \ {(b/r)}, {T}: Add {B}{B}, {B}{R}, or {R}{R}. \ FUT-R, SHM-R, EXP-M, IMA-R 21:50:00 there we go 21:50:06 ais523: yes. it's printed with parens in italic on the card, so it's reminder text. 21:50:28 ``` grep '([a-z]' /hackenv/share/mtg/allsets.txt | grep -v energy 21:50:29 3(r/p)(r/p) \ ({(r/p)} can be paid with either {R} or 2 life.) \ 3(w/u) \ Whenever Alesha, Who Smiles at Death attacks, you may pay {(w/b)}{(w/b)}. If you do, return target creature card with power 2 or less from your graveyard to the battlefield tapped and attacking. \ Your opponents can't cast spells with the chosen name (as long as this creature is on the battlefield). \ 1(w/p) \ ({(w/p)} can be paid with either {W} or 2 life.) \ Cycling {(u/b)} ({(u/b) 21:50:47 ``` grep '([a-z]' /hackenv/share/mtg/allsets.txt | grep -v energy | grep -v '([a-z]/[a-z])' 21:50:48 Your opponents can't cast spells with the chosen name (as long as this creature is on the battlefield). \ Pursuant to subsection 3.1(4) of Richard's Rules of Order, at the beginning of the upkeep of each participant in this game of the Magic: The Gathering(R) trading card game (hereafter known as "PLAYER"), that PLAYER performs all actions in the sequence of previously added actions (hereafter known as "ACTION QUEUE"), in the order those actions were added 21:50:59 `quote before finding 3 21:50:59 1331) ...this is the first prime number finder I've ever written which ran out of memory before finding 3 21:51:16 `quote before reaching 3 21:51:17 1332) Anyway, you know yesterday I had a program which lists primes which ran out of memory before reaching 3? 21:51:21 the first hit there is reminder text, the secondd surely has to be an uncard (and isn't reminder text) 21:51:29 oh darn 21:51:35 I'm not sure both of these are necessary 21:51:43 I added the latter one 21:52:08 And shachaf added the first one 21:52:14 `? delquote 21:52:16 delquote? ¯\(°​_o)/¯ 21:52:16 `? rmquote 21:52:17 rmquote? ¯\(°​_o)/¯ 21:52:17 `? quote 21:52:19 Quotes are just elements of the quantum dilapidated bogosphere. See qdb. 21:52:22 `? ddb 21:52:23 ddb? ¯\(°​_o)/¯ 21:52:24 `? qdb 21:52:25 qdb is used like: `quote; `quote regexp; `quote id; `addquote ...; `delquote id; `pastequotes regexp; `pastenquotes [n]; see also quoteformat 21:52:30 `delquote 1332 21:52:32 ​*poof* Anyway, you know yesterday I had a program which lists primes which ran out of memory before reaching 3? 21:57:03 I had a lot of fun with that dumb idea 21:57:24 Tomorrow I'll try to finish my previous dumb idea, a brainfuck interpreter written in jq 21:59:13 what's jq? 22:01:03 iirc, a command line tool to query json. 22:03:49 is this one of those "accidentally Turing-complete" situations? 22:04:27 -!- Remavas has joined. 22:09:10 hmm. dumb question. if I'm mindslaving my opponent, and I'm casting Evangelize (through Vedalken Orrery), then am I required to choose Standard Bearer as the target for the Evangelize? 22:10:29 601.2c doesn't even mention the case of spells like Arena or Evangelize that I was talking earlier, which make another player than the caster choose targets during casting a spell 22:10:42 I don't think so; you're making decisions for your opponent, and your opponent wouldn't be constrained in making them 22:10:45 but it's an interesting semantic point 22:11:18 `card-by-name Standard Bearer 22:11:18 Standard Bearer \ 1W \ Creature -- Human Flagbearer \ 1/1 \ While choosing targets as part of casting a spell or activating an ability, your opponents must choose at least one Flagbearer on the battlefield if able. \ AP-C 22:11:53 no wait 22:12:01 that's not the current oracle text 22:12:10 the current rules text is: While an opponent is choosing targets as part of casting a spell they control or activating an ability they control, that player must choose at least one Flagbearer on the battlefield if able. 22:12:36 oh, so it got oracled to solve the problem 22:12:41 no 22:12:50 I was reading that current oracle text and asked the question after that 22:12:53 it's still a problem 22:13:13 I should have realized I shouldn't ask card-by-name for this, because I knew this got lots of erratas 22:13:23 oh right, evangelize is a spell you control 22:13:44 yes, and the opponent controls the flagbearer in this situation 22:15:56 M:tG's rules probably don't work 22:16:13 but they work well enough when people aren't intentionally setting up ridiculous situations 22:16:17 `card-by-name Dominating Licid 22:16:18 Dominating Licid \ 1UU \ Creature -- Licid \ 1/1 \ {1}{U}{U}, {T}: Dominating Licid loses this ability and becomes an Aura enchantment with enchant creature. Attach it to target creature. You may pay {U} to end this effect. \ You control enchanted creature. \ EX-R 22:16:46 that card didn't work at all for quite a while (due to layers issues), there was something of a community protest asking for errata or rules changes to make it work again 22:16:50 ais523: not only that, I think you can make houserules that make them work and that are close enough to M:tG rules that the difference won't come up in real games 22:17:04 eventually it happened, before then there were ruling saying that it worked but not explaining why 22:18:01 I still don't understand how linked abilities work, there are several reasonable ways they could be fixed, and I should probably ask the knowledgable people (judges) on scryfall how they work 22:18:58 ais523: jq has enough in it that it's almost certainly TC 22:20:22 And, like, not by half measures 22:20:46 Something Underload-like would probably be easier to implement in it than BF 22:22:12 And now I ought to sleep 22:22:12 just do Cyclic Tag or The Waterfall Model, we have easier languages than BF nowadays :-) 22:23:48 Yeah, but they're harder to show off to people outside this channel 22:23:55 * Taneb away 22:25:23 you want achievements that you can put on your cv? 22:25:30 hmm, and I go to all this trouble writing a tutorial and interactive interpreter and optimizing interpreter for The Waterfall Model precisely so that I can show it off to people outside the channel… 22:33:32 wait 22:33:55 ``` grep -n '^601\.2d' share/mtg/rules.txt 22:33:55 2069:601.2d If the spell requires the player to divide or distribute an effect (such as damage or counters) among one or more targets, the player announces the division. Each of these targets must receive at least one of whatever is being divided. 22:34:53 That's still a rule in un-land? You can't The Ultimate Nightmare half a damage into a creature? 22:36:49 I don't know 22:38:02 mind you, that applies only to spells. afaik there's no such rule for combat damage, a Gorgon can kill blocked creatures with half a damage each 22:56:05 I am not even so sure the Un-cards rules are all as well defined anyways, but I might assume that rule 601.2d still applies with a minimum of 1 (but that unlike normal game you can still do one and a half) 22:56:22 And that, yes for combat damage rule 601.2d is not applicable 23:01:18 -!- AnotherTest has quit (Ping timeout: 245 seconds). 23:04:36 zzo38: the rules for some un-cards are definitely not well-defined. but the un-rule that doesn't require any cards, which allows half-integers as numbers, I think that one is definable, and there are also a lot of un-cards that are easy to support because they don't do anything really rule-breaking 23:05:14 I mean supportable comp-rules-wise obviously, not that they should be allowed in a tournament or make a pleasant game 23:05:31 OK 23:05:36 -!- xkapastel has joined. 23:05:48 well, there are some problems with the half-integer rule too 23:06:09 there are a few places where you're required to round to an integer, and that definitely mustn't be done the way MaRo says it should be done 23:06:14 his un-rules are just bullshit 23:06:23 but he's not the rules manager, he's only the un-rules manager 23:07:34 Yes, I agree with those stuff 23:07:47 You are correct about those stuff 23:08:02 so there has to be a house rule that you round down in those cases 23:09:09 `card-by-name Disciple of the Phenax 23:09:10 No output. 23:09:36 `card-by-name Disciple of Phenax 23:09:37 Disciple of Phenax \ 2BB \ Creature -- Human Cleric \ 1/3 \ When Disciple of Phenax enters the battlefield, target player reveals a number of cards from their hand equal to your devotion to black. You choose one of them. That player discards that card. (Each {B} in the mana costs of permanents you control counts toward your devotion to black.) \ THS-C 23:09:54 Some of my Un-cards won't work for some reason, too. 23:12:03 eg. if you have a Little Girl, you can have a non-integer devotion to white; then if you play Disciple of Phenax with Sleight of Mind to change "black" to "white" in it, you'll have to round that devotion to an integer 23:12:54 there should be a more convincing example somewhere, since Little Girl is silver-bordered, and it's not even clear how devotion is defined 23:13:19 maybe it still counts the symbol for half a mana as one mana symbol 23:13:21 Yes, I know that. But, in that case you have to reveal half of a card 23:13:42 like how a hybrid or phyrexian mana symbol still counts as one 23:14:06 b_jonas: Yes, although those are a full mana of that color, not only half of a mana 23:14:41 `card-by-name Grisly Spectacle 23:14:42 Grisly Spectacle \ 2BB \ Instant \ Destroy target nonartifact creature. Its controller puts a number of cards equal to that creature's power from the top of their library into their graveyard. \ GTC-C, MM3-C, IMA-C, DDM-C 23:15:12 ^ that's a bit better, though we still have to find a way to give a creature non-integer power with the un-rule but without a silver-bordered card 23:15:35 and I'm not sure that's possible 23:17:28 Maybe with X spells it might be? 23:18:08 zzo38: yeah, cast Mind Spring with X set to half 23:18:34 but that's not a nice enough example for some reason 23:19:17 you have to be deliberately doing that, and while there could be good reasons, e.g. because some counterspells care about the cmc of the spell and for an X spell the chosen value of X changes that, it's still a bit artificial 23:20:04 Dealing with a fractional number of cards is difficult, but dealing with a fractional number of counters seems like more possible to implement. 23:20:33 -!- copumpkin has joined. 23:21:07 oh 23:21:17 `cars-by-name Consume Spirit 23:21:17 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: cars-by-name: not found 23:21:20 no wait 23:21:40 `card-by-name Damnable Pact 23:21:41 Damnable Pact \ XBB \ Sorcery \ Target player draws X cards and loses X life. \ DTK-R, C17-R 23:22:20 ^ you may want the opponent lose half a life, since there are other cases when you deal a non-integer amount of damage to them, e.g. when you attack with a deathtouch trample creature 23:22:37 then you have to round down the number of cards they draw 23:23:11 I guess you'd have to spend the other half mana to another X spell 23:23:19 not too likely to come up, but it's convincing enough for me 23:23:41 zzo38: yeah, that's more tricky, you have to think whether you want to allow half a +1/+1 counter or half a poison counter 23:24:05 I think half of a +1/+1 counter or half of a poison counter will work fine if the rules allow it. 23:24:39 especially with infect and wither being out there 23:25:47 oh 23:25:53 `card-by-name swans of bryn argoll 23:25:54 Swans of Bryn Argoll \ 2(w/u)(w/u) \ Creature -- Bird Spirit \ 4/3 \ Flying \ If a source would deal damage to Swans of Bryn Argoll, prevent that damage. The source's controller draws cards equal to the damage prevented this way. \ SHM-R, MM2-R 23:26:03 I shouldn't have forgotten about that one 23:26:10 that's the most obvious way when this can come pu 23:26:24 just have a gorgon deal half a damage to a blocking Swan 23:26:46 the remaining half, after it deals half to a creature that doesn't prevent it, that is 23:27:29 (Some of my Un-cards use numbers other than integers and one half, such as "Math Wizard") 23:28:25 what Math Wizard? 23:28:29 oh, your un-cards 23:28:33 um 23:30:16 well, Infinity Elemental, an un-card from Unstable, also uses a number other than half-integers 23:30:25 and the rules have some trouble supporting that one 23:30:48 I for one don't know how to suppor that consistently, and just chalk it down to an un-card that would never really work with the rules 23:32:02 Yes, some Un-cards won't work so well (and some of mine work even less well than that, although some can work) 23:34:05 Some technically can work, although are unlikely to do much. But, Archaic Tome works as badly like R&D's Secret Lair, I think. 23:36:12 Some of them work differently now (or no longer work) due to rule changes (Homarid Confusion Chamber) or Un-cards rules changes (Death Smith). 23:37:16 -!- Remavas has changed nick to Remavas[AFK]. 23:38:29 Wheel of Hand-cutting works, although the reminder text is wrong (but can be ignored). 23:41:10 even Unhinged, the best un-set, has cards that work just fine with the comp-rules without any modification, they're just un-cards for reasons other than that. examples are Johnny, Combo Player; Mise; Togglodyte; Utabi Kong. Even Rocket-Powered Turbo Slug could work fine if its text was errataed to say what it wants to say. Who would be easy to fix. 23:41:16 drat 23:42:27 Yes, that is true some are work with ordinary rules 23:43:55 the drat was that the bulb in the ceiling lamp burned out. and that realized what I wanted to ask ais 23:44:48 (Irrational Zappers (another of my Un-cards) also uses numbers other than integers and half) 23:46:28 ais523: https://esolangs.org/logs/2019-02.html#l2lb 23:48:31 ais523: basically, last time we talked about words like "divisor" and "quotient" and "factor" and "product", so now I was asking about what words there are like "addition, subtraction, multiplication, division, conjunction, disjunction" 23:48:56 and in particular how you'd call a min or max operation 23:49:59 and tried to come up with possible new terms like "contraction, extension" for min and max, "masonry, carpentry" for floor and ceil. 23:50:28 b_jonas: for min, I sometimes use "cap" / "cap at" / "capping" 23:50:37 as that's what it does if you see it as asymmetrical 23:50:38 ais523: that could work, yes 23:50:54 ... some things called min are assymetrical, yes 23:51:06 I prefer the symmetrical ones, but programming languages and cpus prefer the assymetrical ones 23:51:17 I mean, + and × are being seen as asymmetrical with this terminology 23:51:21 I don't really consider NaN behaviour to be relevant 23:51:27 are there any other asymmetrical cases for min/max? 23:51:44 ais523: no, but you have to be careful what you mean by nan behavior 23:51:53 with min/max, it's not just what nan representation you get as the result 23:52:13 but whether you get the NaN at all or the other operand 23:52:14 it's that in some cases min(nan, 2.0) is 2.0 but min(2.0, nan) is nan 23:52:31 or backwards 23:52:36 the consistent behaviour would be to output the NaN you were given as argument, when you were given exactly one NaN, but that's inefficient 23:52:45 that kind of assymetry is painful, but it's specifically what some of the definitions require or what cpus implement 23:53:19 ais523: well, you could have more than one nice behavior, and one of them is that of the C fmin/fmax functions, which returns the other argument if one of them is a nan 23:53:22 most definitions of min don't take into account the possibility that !(a < b) and !(a > b) don't necessarily together imply a == b 23:53:44 hmm, what does <=> do with NaN? 23:54:07 ais523: yeah, they're assymetric for that too, min(0.0, -0.0) can be different from min(-0.0, 0.0) 23:54:18 and in fact will be different in the cpu operation 23:54:22 because fuck you sse 23:54:42 oh, I forgot about -0 23:54:45 although, -0 == 0 23:54:52 ais523: yes, they are equal 23:54:56 they're just not the /same/, despite being equal 23:54:58 which is why you get an assymetric operation 23:55:05 a non-commutative one that is 23:55:19 hmm, is -(0.0) actually negative zero? or is it positive zero? 23:55:28 ais523: that depends on the programming language actually 23:55:40 iirc in perl it's positive zero, in C it's negative zero, or something like that 23:55:47 I'm not sure I know the full ruels 23:55:54 but that's not the point here 23:56:03 you can get a negative zero in other ways 23:56:14 even without copysign 23:56:15 indeed, I was just complaining at the -0.0 notation :-) 23:56:29 also, copysign is bizarre as a primitive 23:56:42 very few other functions would take a boolean input using the sign bit of a flota 23:56:44 *float 23:56:48 and negative zeroes matter because when you divide one by them, the sign becomes apparent 23:56:54 unless copysign is capable of copying signs other than negative and positive? 23:56:59 ais523: what? that's not true 23:57:22 several x86 vector operations specifically dispatch by the top bit of each part of the register 23:57:26 the ones that do conditional stuff 23:57:29 JavaScript has a Object.is() function to compare negative with positive zero 23:57:35 I don't know what Perl does. 23:57:36 and that top bit is also the sign of the float 23:57:45 zzo38: is it possible to have multiple different positive zeroes in JavaScript? 23:58:01 zzo38: the problem with perl is that it's older than people have figured out that they want ieee floats, so it doesn't really suppor them properly 23:58:09 it's like old programming langugaes 23:58:15 > Object.is(new Number(0), new Number(0)) 23:58:16 ais523: You can have positive zero as a bigint, but other than that I think not. 23:58:17 false 23:58:17 error: 23:58:17 Not in scope: ‘Object.is’ 23:58:17 No module named ‘Object’ is imported. 23:58:32 zzo38: can you have an integer versus a float zero? 23:58:38 ais523: That creates two separate objects representing the number zero, not the number value itself. 23:58:48 actually, my new Number(0) objects don't even compare equal via == 23:58:58 but they do appear to do arithmetic correctly 23:58:59 b_jonas: Yes. An integer zero is 0n, but a float zero is just 0 23:59:19 every time I think I'm beginning to understand JavaScript, it turns out I'm wrong 23:59:25 khehe 23:59:27 ais523: Yes, because you are comparing objects; when comparing objects == checks if it is the same object same like === 23:59:45 ais523: this channel has some other people who think they understand javascript, are they of any help?