00:14:50 -!- Sgeo_ has joined. 00:18:32 -!- Sgeo__ has quit (Ping timeout: 272 seconds). 00:26:52 -!- Sgeo__ has joined. 00:30:19 -!- Sgeo_ has quit (Ping timeout: 246 seconds). 00:39:56 -!- FreeFull has quit. 01:16:42 -!- sleffy has joined. 01:16:45 -!- sleffy has quit (Client Quit). 01:59:33 [[User:DMC]] M https://esolangs.org/w/index.php?diff=62538&oldid=61124 * DMC * (-335) 02:15:05 [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=62539&oldid=62443 * DMC * (-3872) Blanked the page 02:23:59 -!- adu has joined. 04:10:29 [[Special:Log/newusers]] create * Spammer attacks * New user account 04:11:07 [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=62540&oldid=62533 * Spammer attacks * (+106) /* Introductions */ 04:27:58 [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=62541&oldid=62539 * Spammer attacks * (+104) You see, now I can edit the sandbox. This user detection process does not prevent spammer attacks. (Moderators: you can block me if you want to.) 04:28:09 [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=62542&oldid=62541 * Spammer attacks * (-104) Blanked the page 04:30:11 -!- Spammer has joined. 04:30:35 -!- Spammer has changed nick to Guest23246. 04:30:39 The esolangs.org wiki does not prevent spammer attacks. See what I just did! 04:31:00 (Note: You can block me if you want to.) 04:31:11 -!- Guest23246 has quit (Client Quit). 04:37:25 -!- Hooloovo0 has quit (Excess Flood). 04:42:40 -!- Hooloovo0 has joined. 04:54:50 -!- S_Gautam has joined. 05:07:21 -!- Sgeo_ has joined. 05:11:08 -!- Sgeo__ has quit (Ping timeout: 272 seconds). 05:27:26 -!- john_metcalf has joined. 05:28:21 -!- Sgeo__ has joined. 05:32:02 -!- Sgeo_ has quit (Ping timeout: 272 seconds). 05:36:53 -!- tromp has joined. 05:37:46 -!- sprocklem has quit (Quit: brb). 05:38:07 -!- sprocklem has joined. 05:41:29 -!- tromp has quit (Ping timeout: 258 seconds). 06:11:18 -!- sprocklem has quit (Quit: brb). 06:11:39 -!- sprocklem has joined. 06:13:12 -!- Vorpal has quit (Ping timeout: 272 seconds). 06:18:09 -!- Vorpal has joined. 06:18:09 -!- Vorpal has quit (Changing host). 06:18:09 -!- Vorpal has joined. 06:42:49 -!- J_Arcane has left. 06:59:04 -!- tromp has joined. 07:05:28 -!- sprocklem has quit (Quit: brb). 07:05:46 -!- sprocklem has joined. 07:37:17 -!- ^[ has quit (Ping timeout: 252 seconds). 07:39:28 -!- AnotherTest has joined. 07:43:56 -!- ^[ has joined. 07:44:31 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 08:02:46 -!- j4cbo has quit (Ping timeout: 252 seconds). 08:06:18 -!- j4cbo has joined. 08:14:21 oh no!!!!! 08:15:36 -!- MDude has quit (Ping timeout: 252 seconds). 08:35:42 -!- tromp has quit (Remote host closed the connection). 08:43:53 huh? 08:53:58 -!- tromp has joined. 09:06:28 -!- wob_jonas has joined. 09:07:29 with the euparl elections coming up, can my hon. and learned friend fungot summarize the campaign positions of the parties? why should I give my vote to the green-red party? 09:07:29 wob_jonas: he's somebody else too 09:07:45 uh... that's not enough of a reason really 09:08:11 my hon. and learned friend fungot, do they have any specific promises besides not being the orange party? 09:08:11 wob_jonas: r2q2 annotated 2343 with " sum-of-squares" at http://paste.lisp.org/ display/ fnord? yes... unicode enabled? possibly... i'll do that 09:08:24 I think you're in the wrong style 09:08:26 ^style 09:08:26 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp ukparl youtube 09:08:34 ^style europarl 09:08:34 Selected style: europarl (European Parliament speeches during approx. 1996-2006) 09:08:38 let's start over 09:08:46 with the euparl elections coming up, can my hon. and learned friend fungot summarize the campaign positions of the parties? why should I give my vote to the green-red party? 09:08:47 wob_jonas: mr president, in september, during the codecision procedure. 09:08:53 um... 09:09:25 my hon. and learned fungot, I understand that you find the codecision procedure is important, but what side will the red-green party represent there? 09:09:26 wob_jonas: mr president, before leaving for strasbourg from bergamo airport, i met a gmo who said to me: ' my dream is that all governments, we might also consider comitology. however that is not the commission's approach. so let us get some credit for our support and fully concur with what mr van den bos document is put to the vote. 09:10:10 ok, that's slightly more concrete. so you fully support mr van den bos's proposal 09:10:55 maybe you're more articulate when representing the other side. can my hon. and learned friend fungot summarize what the campaign of the orange party centers around? why should I give my votes to them? 10:07:27 -!- Lord_of_Life has quit (Ping timeout: 248 seconds). 10:10:07 -!- Lord_of_Life has joined. 10:19:21 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62543&oldid=62537 * A * (+132) /* Sketch: A Turing Machine */ 10:51:03 what's the setsockopt option to modify the evil bit in outgoing messages for ip sockets? I can't find it in http://man7.org/linux/man-pages/man7/ip.7.html 11:09:33 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62544&oldid=62543 * A * (+94) /* Sketch: A Turing Machine */ 11:10:07 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62545&oldid=62544 * A * (+1) /* Sketch: A Turing Machine */ 11:48:17 -!- arseniiv has joined. 11:48:22 -!- HackEso has quit (Ping timeout: 245 seconds). 11:48:47 -!- myname has quit (Ping timeout: 245 seconds). 11:49:32 -!- HackEso has joined. 11:50:36 -!- myname has joined. 12:00:40 [[Talk:Bitch]] https://esolangs.org/w/index.php?diff=62546&oldid=62545 * Int-e * (+539) /* Sketch: A Turing Machine */ tweaks in reply to A 12:39:19 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62547&oldid=62546 * A * (-2171) /* Deadfish interpreter */ 12:39:40 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62548&oldid=62547 * A * (-613) /* Incapability of bitch implementing Popular problems */ 12:39:51 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62549&oldid=62548 * A * (-122) /* Incapability of bitch implementing Popular problems */ 12:42:38 -!- john_metcalf has quit (Quit: http://corewar.co.uk). 12:46:42 [[Finite looping automaton]] N https://esolangs.org/w/index.php?oldid=62550 * A * (+137) Created page with "[[Finite looping automaton]] is an [[esoteric programming language]]. [[Category:Languages]] [[Category:2019]] [[Category:Unimplemented]]" 12:47:56 [[Finite looping automaton]] https://esolangs.org/w/index.php?diff=62551&oldid=62550 * A * (+63) 12:49:48 [[Finite looping automaton]] M https://esolangs.org/w/index.php?diff=62552&oldid=62551 * A * (+278) 12:51:27 [[Finite looping automaton]] M https://esolangs.org/w/index.php?diff=62553&oldid=62552 * A * (+98) 12:58:28 [[Talk:Bitch]] M https://esolangs.org/w/index.php?diff=62554&oldid=62549 * Int-e * (+48) /* Sketch: A Turing Machine */ add user name (how did that happen...) 13:02:52 [[Finite looping automaton]] M https://esolangs.org/w/index.php?diff=62555&oldid=62553 * A * (+366) 13:05:38 [[Finite looping automaton]] M https://esolangs.org/w/index.php?diff=62556&oldid=62555 * A * (+95) 13:05:48 [[Finite looping automaton]] M https://esolangs.org/w/index.php?diff=62557&oldid=62556 * A * (+0) /* Infinte loop */ 13:05:55 [[Special:Log/block]] block * Ais523 * blocked [[User:Spammer attacks]] with an expiration time of indefinite (account creation disabled, autoblock disabled): "bad-hand" sockpuppeting, i.e. creating a new account to disrupt to make a point; please stick to your main account 13:06:41 -!- MDude has joined. 13:09:49 [[User talk:A]] https://esolangs.org/w/index.php?diff=62558&oldid=62529 * Ais523 * (+843) /* Please do not create alternate accounts to make a point */ new section 13:19:44 [[Esolang:Help]] https://esolangs.org/w/index.php?diff=62559&oldid=57670 * A * (+502) Based on research, add an alternate account section. 13:22:49 [[Esolang:Help]] M https://esolangs.org/w/index.php?diff=62560&oldid=62559 * A * (-503) Nope, it does not belong here. 13:23:08 [[Esolang:Policy]] M https://esolangs.org/w/index.php?diff=62561&oldid=46490 * A * (+357) 13:25:07 [[Esolang talk:Categorization]] M https://esolangs.org/w/index.php?diff=62562&oldid=56960 * A * (+163) /* Looks like */ 13:26:08 [[Esolang talk:Categorization]] M https://esolangs.org/w/index.php?diff=62563&oldid=62562 * A * (+85) /* BSM */ 13:36:31 that A guy is weird 13:39:03 [[Esolang:Policy]] https://esolangs.org/w/index.php?diff=62564&oldid=62561 * Ais523 * (-163) /* Policy summary */ if we're putting this here (although it's kind-of obvious), let's make this a bit more policy-like; it may be better off just deleted though 13:41:26 who remembers User:Spammer attacks 13:45:40 rain1: it was a short-lived account 13:46:36 06:10:29 [[Special:Log/newusers]] create * Spammer attacks * New user account 13:46:39 15:05:55 [[Special:Log/block]] block * Ais523 * blocked [[User:Spammer attacks]] [...] 13:48:32 (And it was used to make the rather obvious point that a spammer can in principle easily overcome the new user introduction check, completely missing the point.) 13:49:08 (Which is that this actually does, for the time being, keep most spammers at bay.) 13:53:00 there is no protection against a directed attack 13:54:08 Yeah but wiki spam generally isn't targeted. You scan the internet for Mediawikis and go through a create-account-then-create-a-garbage-page procedure, and move on. 13:56:15 at least not on small wikis. large wikis like en.wikipedia are targeted specifically. 13:56:25 As long as that works for a large enough proportion of the wikis you find... you won't spend any more effort than that. If it stops working you'll start looking for common countermeasures, like easy captchas. 13:56:59 Sure, wikipedia is attractive because search engines rank it highly. :) 13:57:14 (and users as well) 14:00:48 so we should just host unused mediawikis to encoyrage spammers to not hassle with small countermeasures 14:03:39 I suspect there's strategies here for using mediawiki spammers as free labour 14:05:34 myname: no, we have that outsourced to wikia.com 14:05:38 they host a lot of unused mediawikis 14:08:09 Taneb: you mean like that plan when you host a website with some useful service, but make it serve captchas that are stolen from another website where you want to create spam accounts, let the users of your good website solve the captchas (whether they're legitimate users or other spammers is irrelevant), and forwarding the solutions to the website 14:08:09 you're attacking? 14:25:47 . o O ( s/useful service/free porn/ ) 14:26:55 yeah, a non-useful service that people want to use might work better 14:53:52 -!- Sgeo__ has quit (Read error: Connection reset by peer). 14:54:19 -!- Sgeo__ has joined. 15:00:15 but without spam, we wouldn't have real fast nora 15:00:44 Well, we would, it would just have a bad name 15:01:27 Also, *Real Fast Nora's Hair Salon 3: Shear Disaster Download 15:01:50 i fail to memorize that 15:02:14 `? nora 15:02:16 nora? ¯\(°​_o)/¯ 15:02:22 `? real 15:02:23 The reals are an overt complete ordered Brazilian currency invented by Taneb in 1994. 15:15:11 should that wisdom entry refer to Real Fast Nora's Hair Salon 3: Shear Disaster Download? 15:29:07 `grWp nora 15:29:07 real fast nora's hair salon 3: shear disaster download:Real Fast Nora's Hair Salon 3: Shear Disaster Download is the most readable functional programming language out there. 15:29:21 Well, that's not very useful. 15:55:28 `learn The reals are an overt complete ordered Brazilian currency invented by Taneb in 1994. You can pay with them fast in Nora's Hair Salon. 15:55:30 Relearned 'real': The reals are an overt complete ordered Brazilian currency invented by Taneb in 1994. You can pay with them fast in Nora's Hair Salon. 15:55:38 `? real 15:55:39 The reals are an overt complete ordered Brazilian currency invented by Taneb in 1994. You can pay with them fast in Nora's Hair Salon. 15:55:40 `? earl 15:55:41 earl? ¯\(°​_o)/¯ 15:55:43 `? lear 15:55:44 lear? ¯\(°​_o)/¯ 16:03:37 -!- wob_jonas has quit (Remote host closed the connection). 16:06:56 -!- sleepnap has joined. 16:33:35 -!- sleepnap has quit (Ping timeout: 248 seconds). 16:43:21 You can pay with them fast in Nora's Hair Salon. => omg :D 16:45:50 (I’ll try to be more constructive rather than post abbreviated reactions on random posts) 16:46:26 btw I have some reading on linear logic. Can’t say now I understand it, but nonetheless it’s better 16:53:07 s/have/had 17:20:21 -!- Phantom_Hoover has joined. 18:03:31 -!- LKoen has joined. 18:06:19 -!- b_jonas has joined. 18:07:49 arseniiv: don't feel bad about that, it seems that nobody understands linear logic in its full generality, people only understand various restricted cases which either forbid some expressions or add more axioms 18:10:17 arseniiv: https://twitter.com/gro_tsen/status/1084547915572568065 18:13:22 -!- Sgeo__ has quit (Read error: Connection reset by peer). 18:13:44 b_jonas: heh 18:13:51 -!- Sgeo__ has joined. 18:14:32 I presume someone had tried to use the traditional tensor index notation to linear logic? As their categories are quite similar… 18:15:18 I don't understand that 18:15:31 though, meh, index notation can’t, as far as I know, represent ⊕ (vector one) 18:17:20 I mean, there’s that notation, liked especially by physicists, where you write T_ij^k = f_i f_j A^k_k f^k 18:17:23 oh 18:17:29 I’ll need to edit that 18:19:01 *where you write T_ij^k = f_i f_j A^k_k' v^k' for T = f ⊗ f ⊗ (Av), and which is often really helpful in trickier cases with many traces, (anti)symmetrizations and differentiations 18:19:56 but it doesn’t account for ⊕, so linear ⊕ and & wouldn’t be covered either 18:22:00 or maybe it does but I haven’t seen how it could be as visually simple and helpful as how ⊗ and various lifted tr’s and permutations are represented 18:23:13 covariant and contravariant indices do speak of negation, though 18:23:24 it’s tempting 18:26:14 and do one need pure ⊕ and & at all? Maybe one could work at representing ! and ? only… hm, no 18:33:30 though then I don’t understand how to represent even ⅋ 18:35:44 okay maybe there is a language akin to Martin-Löf-style type theory to write linear proofs. It should exist, as this logic is at least partially did find uses in programming, right? 18:36:06 sequent-style things are hard on my head 18:47:44 arseniiv: typically they look like "normal" languages but with an extra checking step which ensures liearity 18:48:08 e.g., Rust is an affine language, there is nothing syntactically preventing you from duplicating a value, but the compiler will complain 18:48:13 that may be an unsatisfying answer 18:48:56 -!- FreeFull has joined. 18:50:30 That's only multiplicative linear logic or something, though. 18:50:55 arseniiv: Prolog, or maybe some linear variant of it, seems to me pretty similar to index notation. 18:51:24 I wrote about that in the past sometime. 18:56:07 kmc: I presume, an affine language has several additional term constructors, where can I read a more or less complete type system featuring them? To get some picture 18:56:51 there is a little bit about substructural types in ATaPL 18:57:36 oh, Pierce’s? 18:58:21 do you mean an advanced one or a simple one? (though I’ll take a look at both’s contents right away) 18:59:09 ah, I see, chapter 1 of advanced, thanks 18:59:31 hopefully this time I’ll make something of it, having more background now 19:00:09 shachaf: yeah, I seem to remember something about that 19:00:44 also sigfpe wrote something about tensory things in Haskell 19:01:02 which shared something with this idea 19:20:43 -!- TriMill has joined. 19:20:55 arseniiv: you probalby have to ask ais523 or read his thesis 19:21:38 whoa, the python standard library seems to have a function that lets you recognize a louse 19:22:00 b_jonas: wow, where can I find the thesis? 19:22:19 I mean, what’s it called 19:22:50 ``` python3 -c 'import itertools; help(itertools.islice)' 19:22:51 Help on class islice in module itertools: \ \ class islice(builtins.object) \ | islice(iterable, stop) --> islice object \ | islice(iterable, start, stop[, step]) --> islice object \ | \ | Return an iterator whose next() method returns selected values from an \ | iterable. If start is specified, will skip all preceding elements; \ | otherwise, start defaults to zero. Step defaults to one. If \ | specified as another value, step determine 19:23:01 arseniiv: I dunno, sorry 19:23:25 there's probably a link somewhere from the channel logs 19:25:59 b_jonas: hmm… then it’s more probable ais523 would instead come himself (noticing the mention) and link or hint to it 19:27:25 islice => (rofl) unexpected 19:50:17 -!- TriMill has quit (Quit: Page closed). 20:05:15 -!- unlimiter has joined. 20:22:06 -!- moei has joined. 20:27:01 -!- LKoen has quit (Remote host closed the connection). 20:41:55 -!- unlimiter has quit (Quit: è-h"cré-'"ç564*/'(tv'(8t-+b'14). 20:42:23 -!- LKoen has joined. 20:46:01 -!- LKoen has quit (Remote host closed the connection). 20:51:39 -!- LKoen has joined. 21:09:11 -!- ais523 has joined. 21:09:55 suppose I have a dodecahedron; I place a fork on the middle of each edge, and a dining philosopher on each corner 21:10:17 the philosophers can eat if they can pick up two of the three adjacent forks 21:11:03 short of a global lock, is there any solution to this using the normal concurrency primitives, given that philosophers who want to eat need to start eating as soon as two forks are available, and shouldn't take any forks until two forks are available? 21:20:37 so, hmm. associate a condition variable to each philosopher that's signaled when a neighbouring fork is put back; then acquire forks in a predetermined global order? the global order is not nice in that it breaks the symmetry, but it's a standard way of avoiding deadlocks with many resources. 21:21:19 -!- AnotherTest has quit (Ping timeout: 244 seconds). 21:23:16 I have not thought this through yet. What exactly are the requirements wrt. fairness and starvation? 21:25:06 hey ais523! 21:25:41 ais523: have you seen the M:tG computation article I linked to? 21:26:20 ais523: I think there is a solution for it using mutexes, yes... let me think 21:26:33 hmm 21:26:48 any two of the three forks? that's tricky 21:27:40 maybe there isn't then... 21:28:27 a moment, I'm in the middle of solving a code golf problem 21:28:47 ais523: https://arxiv.org/abs/1904.09828 Alex Churchill, Stella Biderman, Austin Herrick "Magic: The Gathering is Turing Complete" 21:29:18 also, arseniiv wanted to ask something about affine something or another and I pointed to you 21:31:38 ais523: hi, yeah 21:33:48 affine, linear, I’m not picky 21:37:56 I haven't seen it 21:38:22 ais523: do look at it 21:38:27 arseniiv: what's the question? that's "my field" (specifically affine logic, but linear's close enough that I picked a bit of that up too) 21:38:59 ais523: it's interesting enough, even if it's not strictly "better" than what you're doing. I even have a few comments about it from https://esolangs.org/logs/2019-05-09.html#l6b 21:39:19 b_jonas: I bet their deck can't actually win serious tournament games, but it might reach the other requirements I was aiming for 21:39:33 incidentally, I thought more about the wording of the rules for win conditions 21:39:35 but my comments don't tell everything, so it's better if you read the article 21:39:51 I'm reading it, but I can't read and talk on IRC at the same time 21:39:59 ais523: sure, but there are some techniques they use that you should know about 21:40:07 -!- LKoen has quit (Remote host closed the connection). 21:40:18 wrt the win conditions: I think you actually have three outcomes (not two): perfect loop, one player wins, and an infinite game that isn't a loop under M:tG's definition 21:41:45 ais523: for now, I’m only interested in basics. Say, some text on type theory for these logics. I think it’d clear many things for me, and I have no specific intentions above that yet 21:42:21 ais523: other outcomes are: the other player wins; the game is a draw for reasons other than a loop, such as losing life to get to zero life at the same time 21:42:38 -!- LKoen_ has joined. 21:42:41 kmc had already adviced me a chapter in Pierce’s advanced TaPL, I hadn’t yet read it 21:42:42 b_jonas: I meant from my construction 21:42:42 but as for an infinite game that's not a loop, I don't think I understand M:tG's loop rules enough to be able to tell what counts as such 21:43:03 it's clear that the judges use a fairly narrow definition of loops 21:43:28 arseniiv: full linear logic is ridiculously complex and few people use the whole thing, there are some pretty nice fragments of it though 21:44:47 -!- LKoen_ has quit (Remote host closed the connection). 21:45:06 -!- LKoen_ has joined. 21:46:36 ais523: mhm, a type theory for any its subsystem would be perfectly okay. Also do I get it right affine logic should be less complex, or is it more? 21:46:37 arseniiv: you might be interested in my PhD thesis , specifically chapter 5 21:47:04 an affine type system normally has exactly one more rule than the comparable linear type system 21:47:10 specifically, a weakening rule that lets you discard a variable from a context 21:47:39 thanks for the link! 21:47:44 but it rather depends on how you write the type system, there's more than one way to write them, with some of the more implicit methods the affine type system might be simpler I guess 21:48:32 ais523: when you say judges use a narrow definition of loop, does "loop" mean when they allow a player to shortcut a loop without explaining all its details, or instead for awarding a draw for an infinite loop that can't be broken? 21:48:39 there's background earlier in the thesis in case there's anything there you don't understand 21:48:49 b_jonas: both, I believe, although this is from memory so I'm not 100% sure 21:48:49 -!- LKoen_ has quit (Remote host closed the connection). 21:49:05 -!- LKoen has joined. 21:49:18 it wouldn't surprise me if the rules were poorly-defined in this case 21:49:37 I think the infinite loop rules are poorly defined in at least some other sense 21:50:11 but for all I know, they might be well defined enough for the loops that you have in your turing-machine construction 21:50:30 because they're ones where the players can't make any meaningful choices 21:51:34 b_jonas: well, if we're going from The Waterfall Model, I suspect a loop in the M:tG sense either leaves all the counters the same, or possibly increases counters that never zero 21:51:55 (come to think of it, this is pretty similar to what ratiofall optimizes at optimization level 2, except that ratiofall doesn't remember as much history) 21:52:08 I suspect that the rules are supposed to imply that if the players can make no meaningful choices (other than resigning) and the game continues that way infinitely, that shall result in a draw. 21:52:39 there's background earlier in the thesis in case there's anything there you don't understand > right :) 21:53:35 which means that if the waterfall machine doesn't terminate, and you correctly start its simulation in M:tG, then the game is a draw 21:53:40 chapter 5's good for learning about affine type systems because it starts with a type system for (a mathematically idealized version of) Algol, a practical language, and then a few pages later shows the affine version of the same langauge 21:54:12 (hm I’m still undecided how to quote better in line-based chats like IRC…) 21:54:46 (hm I’m still undecided how to quote better in line-based chats like IRC…) ← I like using left arrows 21:55:37 b_jonas: "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." ← I believe the current intention is to interpret "repeating" narrowly, not sure though 21:56:19 "720.1b Occasionally the game gets into a state in which a set of actions could be repeated indefinitely (thus creating a“loop”). In that case, the shortcut rules can be used to determine how many times those actions are repeated without having to actually perform them, and how the loop is broken." 21:56:27 "720.1c Tournamentsuse a modified version of the rules governing shortcuts and loops. These rules are covered in the Magic: The GatheringTournament Rules (found at WPN.Wizards.com/en/resources/rules-documents).Whenever the Tournament Rules contradict these rulesduring a tournament, the Tournament Rules take precedence." 21:56:48 it didn’t occur to me until a week or so ago it’s way better to start a quote with its author’s name, though. In another, way smaller, channel of three it worked before I started to misread my own posts 21:57:09 ais523: right, 720.4 is also relevant 21:57:15 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 21:57:59 b_jonas: when not using the tournament rules, loops are clearly defined in 720.1c as being shortcuttable, and 720.2a disallows conditional actions in shortcuts 21:58:43 ais523: hmm, so you want to decide how this works per the tournament rules, not per just the comp rules? 21:58:45 this leads me to conclude that the loop must be a repeat of the exact same sequence of actions, so something as simple as the three-counter program where the time between counter switches grows exponentially is likely not a loop in the M:tG sense 21:58:46 that might be differnt 21:59:31 however, I think the three-counter program in question is simple enough to translate to a reasonable-looking M:tG gamestate 22:00:02 4.4 Loops A loop is a form of tournament shortcut that involves detailing a sequence of actions to be repeated and then performing a number of iterations of that sequence. The loop actions must be identical in each iteration and cannot include conditional actions ("If this, then that".) 22:00:12 that's /very/ clear 22:00:30 so we may be able to find a pretty simple infinite game 22:00:45 (i.e. forced actions only, but without ever exactly repeating) 22:02:06 haha, here we go: each player has no permanents in play, and in their library has four copies of each of the Eldrazi titans from Rise of the Eldrazi, all the other cards they started with got exiled somehow 22:02:38 or, hmm, ideally their maximum hand size should be 0 so they don't have a choice of what to discard 22:03:20 ais523: oh wait wait, don’t you accidently remember a time I had asked about encoding different states of a life cycle of a value in its type, didn’t you by the way said something about substructural typing? I got to reading Pierce now and remembered about that poor idea 22:04:08 arseniiv: possibly; I don't remember that but it's not particularly out of character for me, it might have been someone else though 22:04:59 okay 22:06:01 b_jonas: OK, here's the situation: each player has two copies of Thought Devourer enchanted with Pacifisms on the battlefield, their library consists of four copies of each of the Eldrazi titans from Rise of the Eldrazi plus four copies of Evermind, graveyards are empty, rest of their deck is irrelevant cards in exile 22:06:29 nobody can possibly do anything other than draw for turn and discard to hand size, discarding an Eldrazi titan forces a shuffle, discarding Evermind doesn't 22:06:57 ir's clear that the game can't progress but it's also clearly not a loop under the tournament rules definitions and almost certainly not a loop under the comprehensive rules definitions either 22:07:01 -!- Lord_of_Life_ has joined. 22:07:20 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 22:08:48 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 22:08:48 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 22:09:03 ais523: I was thinking like the oppoenent has a Faceless Butcher with a Faceless Butcher of his under, and a Faceless Butcher with a Faceless Butcher of his under, and I have a Faceless Butcher with a Faceless Butcher under, and there are no other creatures on tb, and I cast a Faceless Butcher, 22:09:56 which according to the tournament rules isn't a loop, because for each trigger, the player has his choices restricted depending on what the opponent did before, so their actions will be conditional on the opponent's actions 22:10:01 but I might be misunderstanding this 22:10:29 but perhaps a better example would be some kind of power of two loop 22:14:45 say, each player is locked down with an empty hand and a Null Profusion, and I have a Chronozoa 22:15:07 no wait, that wouldn't be conditional 22:15:29 but the loop actions wouldn't be "identical in each iteration", no matter how long you choose an iteration 22:15:35 it's aperiodic 22:16:17 yes, aperiodic is probably sufficient 22:16:26 ah yes, what you said works to make it conditional depending on randomness 22:20:45 #magicjudges-rules just told me that this situation isn't actually covered by the rules at all 22:21:40 yeah... as for what the rules don't cover, at some point I should write a proper question about how linked abilities work, because I think the rules don't cover that either, but I'd like to know what the judges actually think 22:24:18 it was nice back when Wizards still had its own forum, and their rules manager read rules questions there and patched holes found 22:24:26 do they read the scryfall forum now? 22:24:44 um 22:24:47 the mtgsalvation forums 22:25:06 or do they communicate only through twitter? 22:25:23 their employees come on Reddit occasionally, but it's very sporadic 22:25:52 Mark Rosewater's Tumblr account also used to have a lot of discussion; it probably still does but I can't access it any more because it's doing something weird wrt browsers 22:26:01 also I still want to know why Hollow Dogs is not a skeleton, but that's not the rules manager's thing 22:34:20 hmm, I read the paper, that construction's way more complex than mine 22:34:36 although it's implementing a Turing machine directly rather than something simple like The Waterfall Model 22:34:59 that said, I think they're wrong about an infinite loop being a draw unless it's a perfect loop, but it doesn't really change the main result of their paper 22:35:00 ais523: yes it is, partly because they don't seem to know about StackFlow 22:36:03 but the construction has some interesting elements, such as useful (in such constructions) cards that I didn't know abt 22:36:20 TWM is basically StackFlow with only one type of symbol 22:36:54 do you suppose we should email the corresponding author with some of the stuff you've figured out? 22:37:58 TWM matches M:tG even better, sure, because popping each stack at the same time is natural in MTG 22:38:30 I've emailed Alex Churchill in the past; also spoken to someone on Reddit who is highly likely to be Stella Biderman, although I don't know that for certain 22:39:24 on the other hand their construction is small, in the sense that they know a TM that's much smaller than any universal waterfall program is likely to be 22:39:37 so they need less than 30 creature types 22:39:42 Discussing Turing-completeness and other stuff like that in Magic: the Gathering is also the point of news:un2.org.zzo38computer.magic.maths 22:39:55 I think 10 counters is likely to be more than enough in TWM 22:40:04 oh? 22:40:06 maybe I should get around to actually making a TCness proof rather than trying to optimise it 22:40:17 Creatues have a lot of subtypes. 22:40:30 Is there any construction that depends on exactly how many creature types are there? 22:40:47 I would be very surprised if it's possible with 4; 5 is unlikely but the lowest number that would seem vaguely plausible; the true number is probably 7 or 8, I'd guess 22:40:53 (new version of the rules that they add some, then, will ruin it) 22:40:53 but I might not be able to find the construction 22:41:11 zzo38: almost every construction has a minimum number of required creature types, but it's hard to see how a construction would have a maximum number 22:41:20 you'd need a card with rules text like "choose a creature type that hasn't been chosen" 22:42:03 zzo38: I don't know of one, but I imagine you could read the number of creature types, at least mod 2, with a construction that specifically tries to do that 22:42:53 b_jonas: Yes, something like that was my idea 22:43:25 ais523: no, you just need "choose a creature type, create a token", and another with "two creatures that share a creature type" 22:43:43 ooh, neat 22:43:54 maybe we can create a machine that can count how many creature types exist in Magic? 22:45:04 something like that 22:45:36 a game where two players alternately have to choose a new creature type, and whoever can't loses 22:46:51 I wonder if you could also do that with card names using the un-card ____ 22:48:40 a game where two players alternately have to choose a new creature type, and whoever can't loses ← that sounds like it could be printable as an Un-card 22:48:41 oh hmm 22:48:57 but yes, it's probably possible to set it up with some combo or other 22:49:33 here's something simple you could do in a deck that's at least as viable as your potence deck after you go off: 22:51:44 have a Mistform Wall grown to 50/50, give your opponent 1000 clones of Riders of Gavony 22:52:14 they get to list any number of creature types, and after that, if you can choose a creature type that they forgot, you win 22:52:48 and in a tournament, I think they wouldn't be allowed to look at the rules that list all creature types 22:52:53 they'd have to do it off the top of their head 22:53:41 mind you, you also couldn't look at notes 22:53:50 you'd have to learn creature types in advance 22:54:16 obviously this too is one that's harder to pull off than to just win 22:58:59 The judge is the final arbiter of what constitutes a loop. 22:59:19 have fun :-) 23:07:20 -!- adu has quit (Quit: adu). 23:10:58 Completely different thing. In Budapest, on air-conditioned trams, each door has a timeout so if nobody goes through the door, the door closes, even if the tram is still standing in the station, and passangers can reopen the door by pressing the exit button, either from the inside or the outsied 23:12:08 Now I was in the Netherlands for a holiday. In Amsterdam, the tram doors close on a timeout, but there's no sensor recognizing that passengers are passing through it, so they close on a timer even while people are actively getting off or on. 23:12:40 So like every third passenger has to press the button while passengers are getting off, or else the door agressively closes on them. 23:12:52 And since Amsterdam is full of tourists, passengers often don't know this. 23:13:03 Very annoying user interface decision for apparently no reason. 23:14:41 that's odd 23:14:57 the trams here sometimes open their doors automatically and sometimes don't and it confuses me 23:15:01 i'm not sure exactly what determines it 23:15:07 I know they always open underground 23:16:01 Mind you, in Budapest there's still one annoying case when a tram door can close on passengers. The "TW 6000" type trams have high stairs in the doors, with two intermediate steps, both of which are wobbly so people try to avoid stepping on them. There's a pressure sensor for at least one of the steps, and a photosensor a quite low height. 23:16:10 in the UK, many causes of train-related accidents have been reduced to a pretty low levle, leaving "people getting stuck in doors" as a fairly large proportion of train incidents 23:16:25 meaning that there's a lot of pressure to try to reduce the frequency with which they occur 23:16:32 a lady got her hair stuck in the ddors and got dragged by a train here :O 23:16:35 i think she was ok 23:16:36 so train doors can act quite bizarrely sometimes, especially when they're closing 23:16:37 When someone is getting on with a baby carriage (pram), they usually try lift the carriage straight up from the ground to the high tram floor, which bypasses both the photosensor and the weight sensor, 23:16:38 scary though 23:16:48 so the tram door can try to close on the baby carriage, which is pretty annoying. 23:16:49 b_jonas: tricky 23:17:03 But frankly, that type of tram is terrible anyway because of the two wobbly steps. 23:17:07 low floor trams w/o steps are much better 23:17:28 That type currently runs on tram line 24. 23:17:53 kmc: the UK does the reverse pretty much, instead of a low floor they have high platforms on the kerb that let you get up to the level of the tram before stepping onto it 23:18:13 and those are the only places the tram stops 23:18:19 -!- TriMill has joined. 23:18:27 (in Birmingham/Wolverhampton, at least, other cities' tram systems may be different) 23:18:30 ais523: we have high platforms on some lines, but they're not as high as proper high floors, only as high as the higher low floor trams. 23:19:45 The point is that a tram with high floor has more space for people and seats, because the wheel assemblies are below the floor, whereas in low floor trams they protrude so much above the floors that you can only put one-and-a-half wide seats on them, which is really a waste. 23:19:54 ais523: yeah 23:20:00 here there are mini high platforms for disabled people 23:20:07 but the train only stops there on request 23:20:08 This wasted space is the reason why high floor trams were used so much. 23:20:12 (and not every aboe ground stop has them) 23:20:16 the stairs are motorized 23:20:24 the provision for disabled people on the trains (as opposed to the trams) is weird 23:20:28 when it's at a mini high platform, or in the underground segments, the stairs go up for level boarding 23:20:41 there's normally a gap in both horizontal and vertical directions between train and platform 23:21:07 they are going to convert Caltrain (the commuter rail) to high platforms, and to do so they have ordered new trains (they have to anyway, because of electrification) which have two sets of doors at different heights 23:21:07 so if a wheelchair-bound person wants to board a staff member from the station has to arrive with a portable ramp to let them on and off 23:21:12 seems a bit silly but probably the best way to manage it 23:21:18 ais523: yeah that's how it works on Caltrain right now 23:21:43 there is a very silly regulatory difficulty with high platforms 23:21:49 "mind the gap" is a very common announcement at British rail stations and aboard trains, to the point that it became a meme several decade ago 23:21:50 which is that a few freight trains use the caltrain line 23:22:02 and it is still legal for workers to hang off the sides of freight trains 23:22:07 and they couldn't clear the high platforms 23:22:24 There's fancy automated ramps in buses here. 23:22:30 it's been mostly replaced with "please mind the gap between the train and the platform edge" which is less snappy, but still possibly memable 23:22:32 it's fun when you're on the platform and a freight train blows through 23:22:48 I noticed in Poland that there was often a large gap between the train and the platform 23:22:51 like almost a foot 23:22:54 Some of the tube stations with curved platforms have pretty substatial gaps, on some sets of doors. 23:22:54 seems dangerous 23:23:00 I guess the loading gauges are not very standardized 23:23:01 a foot is /small/ for the UK 23:23:13 although people falling into the gaps is fairly rare 23:23:22 ais523: in some parts of the Amsterdam Schiphol airport, some automatic speakers say "mind your step" very often. I think it's related to the walking strips (horizontal conveyor belts for humans, with fences like that of escalators). 23:23:22 Sometimes it's "avoid the step down from the train to the platform". 23:23:24 fizzie: the curved stations in the NYC subway, at least some of them, have motorized gap fillers that pop out when the train stops 23:23:45 (there was an incident a while back where someone fell into the gap and got stuck and they recruited pretty much the entire passenger list of the train to push the train a few millimetres sideways to let them escape) 23:24:01 The jump down from Southern's trains at Clapham Junction is sometimes ridiculously high. 23:24:34 kmc: it's legal for workers to hang off the sides of freight _trains_? wow 23:24:38 yes 23:24:40 I've never seen that here 23:24:52 it can be useful, if they are street running 23:24:55 or working in yards 23:24:59 i don't see why it would be necessary on a mainline 23:25:19 what does "street running" mean? 23:25:21 I assume they have some solution to this because high platforms are at least supposedly going forward 23:25:28 ais523: tracks down the middle of the street, like a tram, but with freight trains on them 23:25:34 it seems mad but this is actually common in the USA 23:25:44 in Oakland the Amtrak train runs in the street 23:25:50 that's how I initially parsed it but I discarded the meaning because it didn't make sense :-D 23:26:17 https://www.youtube.com/watch?v=-23cV1uZvYU&t=1m34s 23:26:25 also (this isn't a user-interface thing) in Rotterdam, the north metro line has trains that can take power from either third rail or overhead wire, because which one exists depends on which part of the line they are in 23:26:33 generally freight trains will go very slow 23:26:36 < 5 mph when street running 23:26:51 as a result, and because freight trains are quite long, they block people from crossing the street for an extended period 23:27:14 b_jonas: there are some trains like that in the UK, I think just because they manufacture them both ways so they can sell them to multiple train companies, it's hardly any extra components 23:27:35 https://www.youtube.com/watch?v=06QcAIBcXfs 23:27:35 ais523: sure, 23:27:36 overhead is much more common in the UK but third rail is moderately common too 23:27:49 b_jonas: yeah 23:27:53 b_jonas: same on Boston's blue line 23:28:05 they switch from third rail to overhead (outbound, inbound the reverse) at Airport station 23:28:19 the reason I heard is that they were worried the third rail would corrode when the track is near the sea 23:28:26 or like it wouldn't be properly insulated from ground or something 23:28:37 on MUNI they just use overhead wires even in the tunnel segments 23:28:41 I think most european trams are the same? 23:29:08 Also speaking of confusing UIs, there's three kinds of door-opening buttons on South Western Railway trains: some are edge-triggered (so if you start holding them down before they're activated, the door won't open), some are level-triggered (so you *should* hold them down from the get-go, for optimal speed) and some are what I'm not sure there's a name for, pulse-triggered, integral-triggered, the kind 23:29:14 of things where (presumably because of hydraulics or pneumatics) you have to hold them long enough, if you just do a short press it makes a noise and maybe opens a cm or two but then closes again. 23:29:16 the Birmingham-to-Wolverhampton trams are overhead lines everywhere, although there aren't many tunnels on that route 23:29:32 Those last ones confuse the non-habitual passengers the most. 23:29:49 fizzie: debounced? low-pass filtered? 23:30:13 Something like that. Though it feels more like it's just physics and not really a feature. 23:30:21 ais523: yes: in Budapest on the M3 metro, I believe each carriage has four contact boots for the third rail on their left, and four on the right, and there are six carriages per train 23:30:38 Commuting by train is all about millisecond optimizations in door-opening strategies. 23:30:48 Well, that and positioning. 23:31:05 this way they can bridge short gaps in the third rail, such as you have at forks in the rail 23:31:38 fizzie: for me it's at least partly about organising my day so that I can go to as many of the places I want to go to on a single ticket 23:32:11 fizzie: I've talked about the open buttons in Budapest, they have some annoying properties too 23:32:13 For my previous commute there was a fixed relationship between the embarkation platform position and the disembarkation one, independent of the train, but from my current starting point you have to factor in the number of cars, because now that affects how it stops. :/ 23:33:04 you also have to allow for different stations having entrances in different places relative to the train 23:33:55 at Birmingham New Street it's much harder because you have to allow for the trains stopping in different places relative to the platform based on where they're going next (often they terminate there), on which platforms are available, and on whether other trains are using the same platform at the same time 23:34:17 Sure. But usually there's time on the starting station to walk around, so it's just all about choosing the spot which drops you off at the exit at where you're going. And I'm always going to the same place. 23:34:29 in both Amsterdam and Rotterdam, trams also have proxy sensors in each door, where you're required to touch your ticket or pass both when you get on and off, even if it's a kind of pass that's good for an unlimited amount of travels within a time limit 23:34:53 Our office lift doors are super-aggressive, and (hearsay) that's because we got a group of Kone engineers to come in and tweak them after everyone complained about the wait times. 23:35:01 Presumably there's a lot of knobs they can tweak. 23:35:07 ais523: yes, that's why many train doors have steps that are close to vertical, as in a ladder 23:36:01 fizzie: knobs? I thought they'd connect a laptop to the control panel and upload a new firmware or something 23:36:10 oh, you mean software knobs 23:36:11 right 23:36:13 Right. 23:36:24 although 23:36:25 I guess 23:36:30 elevators have a pretty long lifetime 23:36:40 so their still exist ones controlled by old electronics 23:37:17 Yes, there are some pretty old elevators around. But this is a new building. 23:37:39 almost anything that contains a timer, there's normally a pretty simple way to adjust the length of time it takes 23:38:04 even with hardwired electronics you'd probably just need to change a capacitor or resistor 23:38:15 and both of those components are available in a huge range of values 23:38:18 It's also got that thing where there's no buttons inside, you enter the destination floor number to call one, and the panel tells you which lift to take. 23:38:24 ok 23:38:27 Which I presume is more efficient at least on paper. 23:38:33 the really old relay based elevator controllers are so cool 23:38:33 what? 23:38:43 fizzie: you enter the destination floor outside? I have never seen that 23:38:48 Yes. 23:38:55 does that exist in real life? 23:38:58 I have heard of that before, but I have not seen it. 23:38:59 And then it'll say a letter from A to E. 23:39:05 Where those are the 5 shafts. 23:39:07 for, like elevators controlled by untrained people? 23:39:15 https://www.youtube.com/watch?v=t4Dvg7DhCtg 23:39:18 that transport people 23:39:29 b_jonas: there's one of those in the University of Birmingham (although not in the building where I work0 23:39:35 I've seen those! you enter the number and it dynamically decides which elevator will serve which floors 23:39:40 rather than people getting in and then telling it 23:39:42 more efficient 23:39:56 it's for efficiency, it can allow some of the lifts to skip certain floors 23:40:02 I've never seen such a thing 23:40:10 so people going long-distance can get express journeys with few stops 23:40:38 We've got those in two of the London offices. 23:40:47 I've seen cases when there's a set of linked elevators with shared call buttons, and it decides which elevator you shall take, but they only have two call buttons on a storey (one up and one down), so you still enter the destination floor with buttons inside 23:41:00 ais523: about how many floors does that serve? 23:41:11 either 12 or 16, I forget which 23:41:15 it's a tall building 23:41:16 I see 23:41:37 maybe I'm just not paying attention, because I usually prefer to take stairs over elevators 23:41:40 as for your "set of linked elevators" case, I'm surprised that you consider that surprising or atypical, it's by far the most common arrangement when more than one is needed 23:41:41 Ours are 11 and... somewhere around 9, I forget, I don't go to CSG much. 23:42:05 ais523: sure, but it's sort of new too, old elevators didn't use to have those 23:42:13 I'm not considering it surprising or atypical 23:42:26 I'm just saying that's one of what we have, in the few buildings that have more than one elevators 23:42:28 I didn't know https://en.wikipedia.org/wiki/Double-deck_elevator was a thing until recently. 23:42:40 It's not like you could necessarily tell if the shaft's not visible. 23:43:10 fizzie: wow. so that's like a cross between a traditional elevator and a paternoster 23:43:14 I've in fact been in two of the London ones (Shard and 20 Fenchurch Street aka the Walkie-Talkie) without knowing. 23:43:15 yeah it's clever 23:43:21 2x capacity without more shafts 23:43:25 I would love to try a paternoster 23:43:29 they seem terrifying 23:43:38 kmc: There's a paternoster in the Finnish parliament building. 23:43:44 I don't know if visitors get to use it though. 23:43:46 Maybe not. 23:43:47 the building I'm talking about used to have one but it was removed before I started working here 23:43:50 presumably for safety reasons 23:43:56 fizzie: that would be nice for building E of BME, since many people get in both on floor 0 and on floor 1 23:43:57 I do like the European elevators where there's no internal door 23:44:03 so the shaft going by is exposed 23:44:08 and each floor has a door you open manually 23:44:12 at least they have interlocks -- usually 23:44:20 kmc: paternosters aren't terrifying in reality 23:44:28 not more than normal elevators at least 23:44:50 Right, apparently it's only for people who work in the building. 23:45:15 https://www.flickr.com/photos/finnishparliament/36082539733 23:45:55 do the paternosters stop if someone gets stuck in them? 23:46:01 we have a hospital here with a paternoster. the labels say that only employees are allowed to use it, for liability reasons, but everyone ignores that rules, because the other elevators that patients or visitors can use don't have enough capacity 23:46:12 do they stop at every floor rather than just running continuously? 23:46:41 (that building also has an elevator or two that only employees can use and they use key locks to enforce that) 23:46:46 hmm, it crosses my mind that some sort of "quantized paternoster" could have internal and external doors, it'd be slow (due to stopping at every floor) but have enormous capacity 23:46:47 ais523: they run continuously 23:47:05 presumably they'd have to stop if someone was caught between the cab and floor outside it 23:47:09 and I don't know what happens if soneone gets stuck in between the carriage and the floor 23:47:18 if someone only got stuck in the carriage, it would continue to run 23:47:49 ais523: hmm yes, I guess that could exist, but might only be worth for pretty tall buildings 23:48:18 though it'd be better with only external doors 23:48:39 the problem with internal doors is that they and the mechanism to open and close it would add a lot of weight, which matters when you have lots of carriages 23:49:35 The thing about "you specify the destination floor outside" is that where I live *doesn't* have those, so sometimes I enter the lift here, go in, and just wait. 23:49:55 -!- TriMill has quit (Ping timeout: 256 seconds). 23:50:07 fizzie: um... that sounds like backwards 23:50:12 -!- sleepnap has joined. 23:50:28 "here" was at home, if that makes it less backwards. 23:50:33 sleepnap: wakey, wakey! 23:51:57 hmm 23:52:02 but aren't you used to the ones at home? 23:53:43 Not really. At work there's all these meetings, and the meeting room situation is a disaster, so there's a lot of going up and down around the building. 23:54:04 Here it's more just home -> street and back, and I take the stairs down anyway. 23:54:15 I see 23:55:59 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 23:56:36 Kone is a Finnish company, but I don't think everyone realizes that because it's got a short and not ostentatiously Finnish name. 23:57:16 modify the elevator control at your home so it goes to your floor by default when idl ethen 23:57:22 as a workaround 23:58:06 At least it's a reasonably benign issue, because once you realize, the control panel is right there. 23:58:07 it's simpler for me: there's no elevator in the house where I live, nor in the office where I work, nor in the house where my parents live 23:58:32 I just use the stairs instead, and then you don't have to worry about that 23:58:36 The opposite mistake, which is harder to make, has more serious consequences, because once you've entered the work elevators you just end up wherever they decide to take you. 23:59:07 (Although I think there's probably a "please open the doors" button inside?) 23:59:47 Another thing with the work elevators is that if you enter the floor you're already on, the lady that speaks you which one to take sounds very cross.