00:18:30 -!- tromp has joined.
00:19:36 -!- tromp has quit (Client Quit).
00:51:38 <esolangs> [[Vixen]] https://esolangs.org/w/index.php?diff=170774&oldid=170511 * Corbin * (+182) Cite my blog post for the expression language.
00:59:35 <esolangs> [[Vixen]] https://esolangs.org/w/index.php?diff=170775&oldid=170774 * Aadenboy * (+19) link
00:59:49 <esolangs> [[Vixen]] M https://esolangs.org/w/index.php?diff=170776&oldid=170775 * Aadenboy * (+0) wrong brackets
01:20:10 -!- pool has quit (Read error: Connection reset by peer).
01:22:23 -!- pool has joined.
02:03:21 -!- amby has quit (Quit: so long suckers! i rev up my motorcylce and create a huge cloud of smoke. when the cloud dissipates im lying completely dead on the pavement).
02:28:25 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=170777&oldid=170708 * Timm * (+9)
03:12:08 -!- ais523 has joined.
04:17:07 <esolangs> [[Template:Timm]] N https://esolangs.org/w/index.php?oldid=170778 * Timm * (+53) Created page with "''<small>this page page [[User:timm]]</small>''"
04:17:13 <esolangs> [[Spore]] N https://esolangs.org/w/index.php?oldid=170779 * Timm * (+899) Created page with "Spore is living cells code (if you want REAL cell as code... WHY!?) cell called Spore code has 2 parts CODE and CELLS the Cells part has JSON {"cell":{"name":"A","bonds":["B"]},"cell":{"name":"B","bonds":["A"]}} <big><big>== structure == * "cell":{ ** "name":" " ** (optio
04:17:45 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=170780&oldid=170714 * Timm * (+10)
04:18:36 <esolangs> [[Template talk:Timm]] N https://esolangs.org/w/index.php?oldid=170781 * Corbin * (+85) Created page with "Why? ~~~~"
04:22:43 -!- joast has joined.
04:40:36 <esolangs> [[Spore]] https://esolangs.org/w/index.php?diff=170782&oldid=170779 * Ais523 * (-9) pages aren't owned by a particular user you can describe who created a language but that doesn't necessarily have to be the same as the person who documented it
04:41:24 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[Template:Timm]]": not a useful template it appears to be used to take ownership of articles but that isn't how wikis work
06:29:54 <esolangs> [[Special:Log/newusers]] create * Gaosl * New user account
07:17:53 -!- Sgeo has quit (Read error: Connection reset by peer).
07:20:41 -!- pool has quit (Read error: Connection reset by peer).
07:22:42 -!- pool has joined.
08:34:40 <esolangs> [[Spore]] M https://esolangs.org/w/index.php?diff=170783&oldid=170782 * JIT * (+24)
08:47:33 -!- tromp has joined.
10:17:29 <esolangs> [[Esolang:Categorization]] https://esolangs.org/w/index.php?diff=170784&oldid=164052 * Xysdd * (+34) add existing category Cellular automata
10:31:57 <esolangs> [[WhatLang]] https://esolangs.org/w/index.php?diff=170785&oldid=165531 * ColorfulGalaxy's CA discoveries * (+247) ----
10:35:33 <esolangs> [[WhatLang]] https://esolangs.org/w/index.php?diff=170786&oldid=170785 * ColorfulGalaxy's CA discoveries * (+0) ----
11:49:24 -!- amby has joined.
12:11:29 <esolangs> [[User talk:Junkshipp]] https://esolangs.org/w/index.php?diff=170787&oldid=170754 * Yayimhere2(school) * (+461)
12:13:59 <esolangs> [[Talk:Try to Take]] N https://esolangs.org/w/index.php?oldid=170788 * Yayimhere2(school) * (+267) Created page with "I dont really see how this could be uncomptable, a monus series seems perfectly computable, and as it is the sole operator, it should be computable. --~~~~"
12:16:18 -!- pool has quit (Quit: The Lounge - https://thelounge.chat).
12:17:55 -!- pool has joined.
12:39:42 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
12:47:44 -!- ais523 has quit (Quit: quit).
13:01:04 -!- pool has quit (Quit: The Lounge - https://thelounge.chat).
13:01:31 -!- pool has joined.
13:06:24 -!- pool has quit (Read error: Connection reset by peer).
13:08:36 -!- pool has joined.
13:27:07 -!- tromp has joined.
13:39:19 <fizzie> If you intersect a bunch of half-planes, and get a bounded but nonempty region, it's a (convex, I'd imagine) polygon. But if it goes all the way to infinity in some direction(s), can you still call that a polygon, or is there a different name for that sort of a thing?
13:56:23 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
13:57:05 <sorear> the wiki article on polygonal tilings of the hyperbolic plane has a few examples of unbounded polygons, but they all have an _infinite_ number of sides so this isn't actually an answer
14:10:38 <esolangs> [[User:]] https://esolangs.org/w/index.php?diff=170789&oldid=168632 * * (+128)
14:10:51 <esolangs> [[User:]] https://esolangs.org/w/index.php?diff=170790&oldid=170789 * * (-60)
14:34:55 <esolangs> [[Talk:Try to Take]] https://esolangs.org/w/index.php?diff=170791&oldid=170788 * PkmnQ * (+736)
14:36:15 <esolangs> [[Talk:Try to Take]] https://esolangs.org/w/index.php?diff=170792&oldid=170791 * PkmnQ * (-97)
14:58:53 -!- Sgeo has joined.
15:00:37 <esolangs> [[Talk:Try to Take]] https://esolangs.org/w/index.php?diff=170793&oldid=170792 * Yayimhere2(school) * (+226)
15:20:10 -!- chloetax has joined.
15:20:27 -!- tromp has joined.
16:30:30 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
16:32:52 -!- tromp has joined.
16:36:50 -!- impomatic has joined.
16:44:56 <korvo> ♪ every morning there's a timeout when I try to load the latest edits to the site ♩ I know it's not my fault but still I wonder what has happened since it loaded last last night ♫
16:46:14 <korvo> Maybe that one's not known internationally so well. It's still fairly popular over here. https://genius.com/Sugar-ray-every-morning-lyrics
16:51:55 <fizzie> What's happened is presumably-AI-training-related crawling, again.
16:52:57 <fizzie> As rather well illustrated here: https://zem.fi/tmp/cpu.png
16:53:34 -!- ais523 has joined.
16:54:09 <ais523> fizzie: my guess is that it isn't a polygon – it seems to have a similar relationship to polygons as horocycles do to circles
16:54:18 <fizzie> Or here: https://zem.fi/tmp/qps.png
16:54:31 <fizzie> Let's see if there's a pattern to the requests this time.
16:54:37 <ais523> i.e. polygon-like but you need to complete it with a line at infinity, which might not exist in your geometry
16:55:03 <ais523> wow, 5 req/s even at quiet times?
16:55:29 <fizzie> That's also almost certainly just automated traffic, which nowadays never lets off.
16:55:39 <fizzie> But if it hits non-expensive pages it's... fine-ish.
16:57:29 <fizzie> Well, as unexpected, the recent spike seems to be mostly /w/index.php with a `diff` parameter set.
16:58:11 <ais523> maybe we should restrict diffs and other expensive pages to logged-in users? that would be a copyright violation on some wikis but Esolang is public domain
17:00:18 <fizzie> I wanted to do that, but it was non-obvious how to make MediaWiki do it. It seemed like Extension:Lockdown might be one way, though.
17:01:10 <ais523> IIRC the usual technique is not on MediaWiki but on the webserver – you pattern-match the URL and look for a login cookie
17:01:30 <ais523> it doesn't need to be a *correct* login cookie, just anything that looks vaguely like one
17:01:41 <ais523> because most scrapers are unlikely to be using fake login cookies
17:01:50 <fizzie> Hmm. I think I did already do a cookie-based thing for the rate limiting that I added.
17:02:57 <fizzie> Yeah, it checks for the `cookie_esolang_wikiUserName` nginx variable.
17:04:11 <b_jonas> fizzie: I'd probably call it an infinite convex polygon, but I guess it's a matter of tastes
17:04:14 <fizzie> Just to confirm my understanding, is it so that if you're logged-in, there's always a cookie, and the "keep me logged in (uses cookies)" option on the login page (or whatever it was called) just affects whether it's a persistent one or not, or something?
17:04:33 <b_jonas> or maybe an unbounded convex polygon
17:05:46 <b_jonas> the poor esolangs server is busy again
17:12:38 <ais523> fizzie: there are two cookies involved, one is a session cookie that remembers (among other things) whether you are currently logged in and goes away when you close your browser, the other is a persistent-login cookie that is used to initialize the session cookie in a logged-in state
17:13:00 <ais523> the checkbox determines whether the second cookie is set or not
17:13:32 <ais523> the session cookie is set unconditionally for all logged-in users, and some logged-out users, but because it's temporary the cookie regulations don't apply to it
17:15:56 <ais523> I think cookie_esolang_wikiUserName is the persistnet one, which is only set if you enable the "keep me logged in"
17:16:49 <fizzie> I'd look at my cookies but the site is so unresponsive that's hard.
17:19:35 <ais523> fizzie: esolang_wiki_session is the one you want to filter on I think
17:19:41 <fizzie> Also it looks like most of those diff requests are already getting a zero-second 503 response from the pre-existing "CGI parameter order" filter (they do the diff=...&title=... thing), so maybe that's _not_ the expensive part, but I'm not sure how to extract CPU usage by URL from nginx, my monitoring isn't really set up for that (though I'm sure it's possible).
17:19:54 <ais523> (was slow to respond both for the same reason as you, and because I was looking up MediaWiki docs)
17:22:30 <fizzie> I guess I could assume that all those 499s (which are client timeouts) are the ones that are causing problems, since I'd imagine the 503s are cheap to serve.
17:24:33 <ais523> what are the 499s' URLs like?
17:26:12 <fizzie> Mostly oldid=, i.e., old revisions from history. I added that to the list, and the server seems reponsive again.
17:27:10 <korvo> I just got 429'd. Maybe I need to wait a moment?
17:27:34 <fizzie> That's what I return for "expensive" pages now. I may have misconfigured the logged-in check though, testing that now.
17:27:46 <ais523> fizzie: looks like I'm getting 429 for that even when logged-in
17:27:49 <korvo> Yep, I'm getting 429 on any diff.
17:28:40 <ais523> I've heard that 503 is better than 4xx errors against the scrapers, because it hides from them the fact that they were blocked
17:29:07 <ais523> seeing a 4xx just prompts them to change tactics, seeing a 503 they just assume they DOSed the site
17:29:22 <fizzie> 503 is what I used to return (with the CGI param filter), but I've also seen claims that 503 makes them just retry harder.
17:29:29 <fizzie> I can change it to a 503 though.
17:29:44 <fizzie> (And I'll try to fix the cookie check.)
17:30:02 <korvo> 410 might damage their data stores depending on which third-party libraries they're using, but won't do anything bad to browsers; in both cases 410 is merely cache invalidation.
17:30:49 <ais523> fizzie: so I heard that 503 and 4xx *both* make them retry harder, but with 503 they normally repeat the request unchanged and so you can filter it out again
17:31:03 <ais523> but all this is rumors / third-hand knowledge
17:31:35 <ais523> korvo: there's some evidence that at least some of them aren't using a library at all, but are just parsing URLs from the source code directly
17:31:54 <ais523> in that they've been observed visiting URLs that were present only in comments
17:33:00 <korvo> ais523: All of the above. We have to treat scraping as inherently heterogenous and disrespectful of standards. At the same time, we can't ignore that most scraping is e.g. curl-powered, so any quirks of curl are available as exploits for us to deploy in response.
17:33:55 <ais523> korvo: indeed – but it's also likely that the majority of scrapings are from a single source, just because the scraping is on such a large scale that it would be statistically unlikely for the two largest sources to have similar volumes
17:35:10 <fizzie> There's some sort of real weird behavior with `if` inside `location` in nginx that I really don't understand. I'll try to rewrite it as a map instead.
17:40:46 <fizzie> Okay, I think I got it right now: if you have the `esolang_wiki_session` cookie set, history pages and diffs should still work; otherwise, they should get a 503.
17:41:23 <fizzie> I'd really prefer an actual "you must be logged in to view this page" page, but it's better than not having _anything_ up.
17:41:54 <fizzie> (Also I guess I might be able to put in a custom text/plain 503 response.)
17:42:58 <fizzie> I did just get spuriously logged out, which I think has been a thing for ages, and has something to do with not having a properly configured persistent storage for PHP, but that's (hopefully) not a new regression.
17:44:11 <ais523> fizzie: OK, seems to be working now
17:46:06 <fizzie> The condition for an "expensive" page is _really_ loose ($request_uri matching ".*index.php.*(diff|oldid)=.*", and I didn't even escape the . because I can't tell if that's \. or \\. in a double-quoted map directive key), so false positives are quite possible. Note to self: revisit later.
17:49:58 <korvo> fizzie: I can see diffs again, thanks.
17:51:13 <ais523> there's https://esolangs.org/wiki/User_talk:/w/wiki/index.php/Talk:index.php/Main_page and https://esolangs.org/wiki/Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php
17:51:30 <ais523> which are both page names inspired by the page names that spambots came up with
17:51:34 <ais523> but neither hit your regex
19:04:13 -!- dbohdan has quit (Ping timeout: 264 seconds).
19:04:14 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:29:36 <esolangs> [[Special:Log/newusers]] create * Frendoly * New user account
19:32:20 -!- Lord_of_Life_ has joined.
19:32:55 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
19:33:40 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
19:38:44 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=170794&oldid=170757 * Frendoly * (+47)
19:39:15 -!- ehmry has quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.).
19:39:41 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=170795&oldid=170794 * Frendoly * (+86)
19:41:31 -!- dbohdan has joined.
19:42:21 <esolangs> [[WHO?]] N https://esolangs.org/w/index.php?oldid=170796 * Frendoly * (+124) nope
19:42:30 <int-e> Uh admin stuff... do I see correctly that you now need to be logged in to see diffs?
19:42:56 <esolangs> [[User:Frendoly]] N https://esolangs.org/w/index.php?oldid=170797 * Frendoly * (+32) thing
19:43:26 <esolangs> [[Talk:WHO?]] N https://esolangs.org/w/index.php?oldid=170798 * Yayimhere2(school) * (+144) Created page with "what is this meant to be? --~~~~"
19:44:05 <ais523> int-e: yes, anti-scraper measure
19:44:41 <esolangs> [[User:Frendoly]] https://esolangs.org/w/index.php?diff=170799&oldid=170797 * Frendoly * (+71) I LIKE MIKU
19:46:38 <esolangs> [[Unary]] M https://esolangs.org/w/index.php?diff=170800&oldid=166908 * Frendoly * (+39)
19:46:39 <esolangs> [[Schrodinger's fish]] https://esolangs.org/w/index.php?diff=170801&oldid=160988 * Kaveh Yousefi * (+751) Added a hyperlink to my implementation of the Schrodinger's fish programming language on GitHub, supplemented several page category tags, and improved the formatting.
19:48:03 <esolangs> [[Brainfuck]] M https://esolangs.org/w/index.php?diff=170802&oldid=169272 * Frendoly * (+2)
19:49:28 <esolangs> [[Brainfuck]] M https://esolangs.org/w/index.php?diff=170803&oldid=170802 * Frendoly * (-2) oops added space there
19:51:21 <esolangs> [[Talk:WHO?]] https://esolangs.org/w/index.php?diff=170804&oldid=170798 * Frendoly * (+31)
19:51:48 <esolangs> [[Talk:WHO?]] https://esolangs.org/w/index.php?diff=170805&oldid=170804 * Frendoly * (+20)
19:52:07 <esolangs> [[Talk:WHO?]] https://esolangs.org/w/index.php?diff=170806&oldid=170805 * Frendoly * (+86)
19:52:30 <esolangs> [[Talk:WHO?]] https://esolangs.org/w/index.php?diff=170807&oldid=170806 * Corbin * (+165)
19:53:35 <esolangs> [[Unary]] M https://esolangs.org/w/index.php?diff=170808&oldid=170800 * Corbin * (-39) Undo revision [[Special:Diff/170800|170800]] by [[Special:Contributions/Frendoly|Frendoly]] ([[User talk:Frendoly|talk]]): Undo vandalism.
19:54:21 <esolangs> [[Talk:WHO?]] https://esolangs.org/w/index.php?diff=170809&oldid=170807 * Frendoly * (+163)
19:55:08 <esolangs> [[WHO?]] https://esolangs.org/w/index.php?diff=170810&oldid=170796 * Frendoly * (-96)
19:55:55 <esolangs> [[Talk:WHO?]] https://esolangs.org/w/index.php?diff=170811&oldid=170809 * Frendoly * (+126)
19:57:35 <esolangs> [[User:Frendoly]] https://esolangs.org/w/index.php?diff=170812&oldid=170799 * Frendoly * (+12)
19:58:15 <esolangs> [[User:Frendoly]] https://esolangs.org/w/index.php?diff=170813&oldid=170812 * Frendoly * (+33)
19:58:44 <esolangs> [[User talk:Frendoly]] N https://esolangs.org/w/index.php?oldid=170814 * Frendoly * (+104) Created page with "I like adachi rei ~~~~"
20:04:34 <esolangs> [[Talk:WHO?]] https://esolangs.org/w/index.php?diff=170815&oldid=170811 * Frendoly * (+165)
20:05:14 <esolangs> [[Talk:WHO?]] https://esolangs.org/w/index.php?diff=170816&oldid=170815 * Frendoly * (-31)
20:05:52 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[WHO?]]": not an esolang, and this wiki is not a social media/discussion site, please do not try to use it as one
20:05:52 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[Talk:WHO?]]": Deleted together with the associated page with reason: not an esolang, and this wiki is not a social media/discussion site, please do not try to use it as one
20:07:07 <ais523> (normally I don't delete talk pages when they contain deletion discussion, but this time I was largely aiming to delete the talk page)
20:12:32 <fizzie> I added a text/plain explanation of the situation into the special 503 response when it's triggered by the logged-in check.
20:12:36 <fizzie> Unfortunately due to one of those nginx quirks it now gets sent with *two* content-type headers (application/octet-stream, and then text/plain), but at least Chrome's okay with it. (It wasn't showing the message at all when it was just application/octet-stream, the default type.)
20:12:48 <fizzie> The "correct" way to do it is so fiddly I'll only attempt it when I get home.
20:13:25 <int-e> Let's see... FF is fine with it too.
20:13:51 <fizzie> I guess the normal HTTP semantics are for the last value to win when it's a single-valued header.
20:13:57 <fizzie> So maybe it's even allowed by the spec.
20:15:36 <ais523> fizzie: works in Firefox
20:15:48 <ais523> ah, was already tested
20:21:58 -!- ais523 has quit (Quit: quit).
20:23:29 <esolangs> [[Hexassembly]] https://esolangs.org/w/index.php?diff=170817&oldid=170669 * Hammy * (+261)
20:42:06 -!- impomatic has quit (Quit: Client closed).
20:49:40 -!- impomatic has joined.
21:11:32 <esolangs> [[Topple/Topple 1/Source (C++)]] N https://esolangs.org/w/index.php?oldid=170818 * H33T33 * (+8412) Created page with "[[Topple/Topple 1|Back]] <pre> #include <iostream> #include <fstream> #include <cstdlib> #include <cctype> #include <string> #include <ctime> #define CLEAR() printf("\e[1;1H\e[2J"); typedef struct{ char name; char val; }var; void read_fil
21:12:26 <esolangs> [[Topple/Topple 1/Source (C++)]] M https://esolangs.org/w/index.php?diff=170819&oldid=170818 * H33T33 * (+29)
21:14:58 <esolangs> [[Topple/Topple 1]] https://esolangs.org/w/index.php?diff=170820&oldid=169788 * H33T33 * (+5) Topple 1 (C++ Edition) source code
21:33:23 -!- zzo38 has joined.
22:21:11 -!- impomatic has quit (Quit: Client closed).
22:41:49 <esolangs> [[Talk:Try to Take]] https://esolangs.org/w/index.php?diff=170821&oldid=170793 * PkmnQ * (+506)
22:55:01 -!- tromp has joined.
23:03:17 -!- chloetax has quit (Quit: Leaving).
23:15:37 -!- chloetax has joined.
23:28:04 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=170822&oldid=170685 * Buckets * (+13)
23:28:22 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=170823&oldid=170686 * Buckets * (+12)
23:29:08 <esolangs> [[Tabler]] N https://esolangs.org/w/index.php?oldid=170824 * Buckets * (+2675) Created page with "Tabler is An Esoteric programming language Created by [[User:Buckets]] in 2025, Tabler was Created after [[-1]] And also Created to be A Pure-table Esolang. {| class="wikitable" |- ! Commands !! Instructions |- | {| class="wikitable" |- | style="background-color:black;
23:29:09 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).