00:00:27 -!- Lykaina has joined.
00:03:24 <int-e> Looks that way; ais523 also mentioned it a few hours ago.
00:04:32 <ais523> not quite down but under so much load you can hardly get through
00:04:43 <int-e> Ah. I haven't gotten through yet.
00:04:49 <ais523> I guess someone ought to ping fizzie, but I strongly suspect this is scraperbots that need blocking rather than an actual site problem
00:05:01 <ais523> (and fizzie may well be asleep)
00:05:11 <int-e> I'd assume he's asleep, yeah
00:09:26 -!- molson has quit (Quit: Leaving).
00:09:49 <fizzie> It's getting ~95% 4xx errors, but I guess they're slow and/or expensive 4xx's this time.
00:09:50 -!- molson has joined.
00:10:31 <ais523> maybe there's a common URL pattern that could be blocked (especially if the pages are guaranteed to not exist so there's no purpose for a human visiting them)
00:17:38 <fizzie> It's not really super-obvious this time, from the logs. Here's a 30-second sample of URLs only: https://zem.fi/tmp/urls.txt
00:18:24 <fizzie> "Special:RecentChangesLinked" probably being the expensive operation.
00:19:33 <ais523> oh yes – I'm not even sure if that one is indexed
00:20:44 <ais523> fizzie: parameter order works for this one, the wiki's provided links to RecentChangesLinked put the title at the start, not the end
00:21:57 <ais523> in fact, this bot appears to be alphabetising URL parameter order even in cases where that changes the meaning of the URL
00:22:26 <ais523> such as with returnto= (where an & after the = does not introduce a new parameter but rather is part of the URL being returned to)
00:23:28 <ais523> I guess it's probably a misguided attempt to avoid crawling the same page twice (without realising that many of the parameters may not significantly change the page being crawled)
00:23:33 <int-e> really? wouldn't it be quoted as %26?
00:24:49 <fizzie> Hmm. Well, those requests ended on their own ~15 minutes ago, and the load also does seem to have dropped from flat 100% down to ~60% (and the wiki answers to me now), so maybe it's not entirely down any more.
00:25:03 <ais523> int-e: actually there seems to be a different form of quoting: https://esolangs.org/w/index.php?title=Special:UserLogin&returnto=The+Waterfall+Model&returntoquery=action%3Dedit
00:26:39 <ais523> hmm, these aren't all alphabetised, just most of them – maybe two different bots, or one bot + legitimate humans
00:27:04 <int-e> that's the login link from https://esolangs.org/w/index.php?title=The_Waterfall_Model&action=edit
00:27:15 <int-e> (when not logged in)
00:27:28 <b_jonas> Related changes is a link on the sidebar for (almost) every page, and I know I've clicked on it by accident a few times when I meant Recent changes.
00:27:53 <ais523> related changes is theoretically useful in niche circumstances but I don't use it very often
00:28:19 <b_jonas> I personally don't think I ever used Related changes legitimately, but it may be useful for others
00:28:20 <ais523> I think I've intentionally used it (to solve a problem rather than to test how it works) something like once or twice in my life, and only at Wikipedia
00:28:50 <ais523> it's most useful on categories, e.g. I think I've used it on Wikipedia's esolang category to see changes to esolang articles
00:28:58 <b_jonas> but then I use other weird tools that other people may think is useful only in niche cases
00:29:30 <ais523> it would probably be reasonable to restrict this sort of expensive query to logged-in users, but I'm not sure how difficult that is to configure
00:31:06 <int-e> I can't remember ever using that feature.
00:31:07 <ais523> in any case, a simple regex block on title=Special:RecentChangesLinked and title=Special%3ARecentChangesLinked (the dump contains both, oddly) might be enough
00:31:13 <ais523> err, not at the start of the URL
00:31:24 <ais523> (the start of the relevant portion of the URL0
00:31:50 <int-e> (but I can see that it's right there under "Tools" so a crawler would obviously pick that up)
00:31:51 <fizzie> I've added some ad-hoc filters, do let me know if you run into unexpected 503s as part of real use.
00:32:21 <fizzie> Someone also pointed me at a MediaWiki extension that can allegedly restrict specific special pages to logged-in users.
00:32:28 <ais523> OK, thanks for the attention
00:32:40 <ais523> int-e: right, there are a whole lot of hits on the "create account" page with different return-to URLs, too
00:33:50 <fizzie> (Specifically, https://www.mediawiki.org/wiki/Extension:Lockdown -- which has a setting that "allows you to specify for each special page which user groups have access to it". I'll consider adding that extension when I next update MediaWiki, which should probably be soonishly anyway.)
00:33:52 <ais523> hmm, I think this bot may be randomising whether or not to escape query parameters
00:37:23 <fizzie> From what I've heard, this sort of thing (nonsensical, resource-intensive antisocial crawling) has been happening to all kinds of "small" websites, like the Debian bug tracker's query functionality has apparently been non-functional due to it.
00:38:44 <ais523> yes – I'm a member of a webforum who was hit by it
00:39:35 <ais523> I think it's not just small websites too, but larger ones as well (although they're more easily able to absorb the load)
00:43:07 <int-e> apparently it also bothers "small" websites like github: https://github.com/orgs/community/discussions/159123
00:44:39 <fizzie> There's also rather more traffic than I'd expect from real users to various "Special:WhatLinksHere" pages, but those have less obvious patterns because sometimes it's a /w/index.php URL, while other times it's a "/wiki/Special:WhatLinksHere/<page>" one, and the latter one's probably the same a real user would use.
00:46:40 <ais523> I think WhatLinksHere is just an index lookup, at least (whereas RecentChangesLinked probably needs a join)
00:48:19 <ais523> I use WhatLinksHere much more often than RecentChangesLinked, at least – although it's still fairly rare (most commonly I use it to check inbound links when deleting a page, although I am often willing to just let them turn red)
00:52:17 <zzo38> What I tried to do on my own computer is to set up port knocking for the HTTP server (and only for the HTTP server), due to this excessive badly behaved scraping.
00:53:29 <zzo38> However, the extension you mention for MediaWiki might be suitable if you only need to block access to some special pages rather than everything, I suppose.
00:54:44 <fizzie> Well, it looks like the performance is okay-ish now, so maybe that'll help kick the can down the road some. It's still a persistent 50% CPU load and ~6 qps, so I'm sure it's still 99+% bots, which is a shame, but at least it's maybe not preventing real visitors.
00:59:56 <b_jonas> I use What links here occasionally regularly.
01:00:09 <b_jonas> s/regularly/for a legitimate purpose/
01:05:14 <zzo38> I also sometimes use "What links here"
01:18:25 -!- impomatic has quit (Quit: Client closed).
01:36:26 <ais523> I think port knocking doesn't work well for a public website because even if you tell people the knock sequence, most people wouldn't be able to enter it correctly
01:43:48 <ais523> Lykaina: so when you make a network connection to a computer (typically a server), the connection request contains a number (the "port number") that specifies what program you want to connect to; in theory it could be anything, but various protocols have standard numbers so that you don't need to specify the number (e.g. mailservers use port 25 to communicate with each other and web browsers use 80 for http or 443 for https)
01:44:08 <ais523> port knocking is when you make a series of connections to the same computer and use the port numbers like you're entering a password
01:44:20 <ais523> so it's just an arbitrary sequence of numbers that you have to find out
01:44:47 <ais523> and a server that requires port knocking will reject all the connections until you connect with the right sequence of port numbers, and only then will it accept the connection
01:45:47 <ais523> it's basically a way to do the equivalent of a login sequence, but at a lower level than typical password entry forms, i.e. it's done while forming the connection, before the program that will eventually accept the connection even sees it
01:46:30 <fizzie> Classically, you make the sequence not monotonically increasing (and/or add ports that will immediately fail it) to prevent a linear port scans (are those even a thing anymore?) from accidentally passing the knock sequence.
01:47:27 <ais523> port scans are definitely still a thing, although I think that nowadays the primariy legitimate use is in attempts to detect systems that have been infected by malware and have more ports open than they should as a consequence
01:47:40 <ais523> I'm not sure whether they're typically linear – there's no particular reason to port scan in any particular order
01:48:05 <ais523> but I kind-of assumed that you'd implement it so that any port that wasn't the next one in the sequence would cause you to have to start again from the start
01:53:04 <ais523> Wikipedia points out that port knocking is usually vulnerable to replay attacks, so it's harder to secure than password authentication would be
01:55:02 <fizzie> The port-knocking scheme I use for SSH involves having to attempt a TCP connection with a specific MSS value, which seems to work okay in practice, and has the benefit that the "knock" can happen on the same port as the service, meaning it's usually affected by the same firewall rules as the actual connection would be.
01:55:36 <ais523> fizzie: ah, one-port knocking to get through firewalls, that makes sense as security through obscurity
01:56:00 <ais523> I was thinking that maybe the best alternative would be to have some sort of authentication service running on a known port which you could send passwords to securely, and then it would open some other port for you
01:58:44 <Lykaina> what if the port knock sequence is one of those codes that change every 30 sec
01:59:26 <Lykaina> using 10 ports, for digits 0-9
02:00:03 <ais523> yep, you can do that sort of thing if you want to
02:00:11 <fizzie> The MSS thing can be implemented in nftables rules, so it doesn't require a separate (arguably potentially vulnerable, though it could be very minimal) piece of software.
02:00:15 <ais523> (would still be vulnerable to replay attacks unless you only accepted each code once)
02:04:56 <fizzie> (A fixed sequence of regular knocks, or even detecting a password in the knock packet, can also be done in firewall rules. Decoding any kind of OTP... well, I hear BPF is quite powerful.)
02:14:44 <ais523> a non-Turing-complete programming language originally designed to implement firewalls
02:15:02 <ais523> although it later got massively extended and sort-of became a different language, eBPF
02:15:54 <ais523> it might qualify as an esolang, but is perhaps too practically useful for that
02:19:25 <ais523> but BPF and eBPF became the languages for when a kernel interface wants to accept a function/procedure as an argument, and run it in kernel mode rather than calling back into a usermode process – you translate the function into BPF/eBPF and the kernel runs it for you
02:48:29 -!- Lykaina has quit (Quit: Leaving).
03:17:27 -!- ais523 has quit (Quit: quit).
03:54:11 -!- SGautam has quit (Quit: Connection closed for inactivity).
04:39:03 <zzo38> I just had one port number to allow access for a limited time, and one lower port number and one higher port number both of which will lock out the access until the correct port number is knocked again. The intention was not security or secrecy, but to prevent excessive load by excessive access by badly behaved automated programs. I did not want to stop anyone from using curl, Lynx, etc.
05:09:21 <esolangs> [[Thue]] https://esolangs.org/w/index.php?diff=157694&oldid=155022 * Dadsdy * (+66) /* External resources */
05:50:27 -!- impomatic has joined.
05:56:10 <esolangs> [[User:H. H. P. M. P. Cole]] M https://esolangs.org/w/index.php?diff=157695&oldid=148510 * H. H. P. M. P. Cole * (+44)
06:19:46 <esolangs> [[User:H. H. P. M. P. Cole/Logica]] N https://esolangs.org/w/index.php?oldid=157696 * H. H. P. M. P. Cole * (+1753) Created page with "'''Logica''' is an esolang for a 2-bit CPU created by Cole. There is no input/output. The CPU has four 2-bit registers. A typical instruction (all the variables are bits): <code>aa bb cc dddd ee</code> ==The breakdown of the instr
06:32:54 <esolangs> [[User:H. H. P. M. P. Cole/Logica]] M https://esolangs.org/w/index.php?diff=157697&oldid=157696 * H. H. P. M. P. Cole * (+19)
06:33:06 <esolangs> [[User:H. H. P. M. P. Cole/Logica]] M https://esolangs.org/w/index.php?diff=157698&oldid=157697 * H. H. P. M. P. Cole * (-27)
06:48:11 <esolangs> [[User:H. H. P. M. P. Cole/Logica]] M https://esolangs.org/w/index.php?diff=157699&oldid=157698 * H. H. P. M. P. Cole * (+79)
06:49:07 -!- impomatic has quit (Quit: Client closed).
06:52:31 -!- Sgeo has quit (Read error: Connection reset by peer).
06:57:07 <esolangs> [[User:H. H. P. M. P. Cole/Logica]] M https://esolangs.org/w/index.php?diff=157700&oldid=157699 * H. H. P. M. P. Cole * (+1934)
06:58:27 <esolangs> [[User:H. H. P. M. P. Cole/Logica]] M https://esolangs.org/w/index.php?diff=157701&oldid=157700 * H. H. P. M. P. Cole * (-33)
06:58:51 <esolangs> [[User:H. H. P. M. P. Cole/Logica]] M https://esolangs.org/w/index.php?diff=157702&oldid=157701 * H. H. P. M. P. Cole * (+2)
09:45:38 <esolangs> [[User:TenBillionPlusOne]] M https://esolangs.org/w/index.php?diff=157703&oldid=157661 * TenBillionPlusOne * (+0) /* Users */
09:54:38 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=157704 * JIT * (+17) Redirected page to [[]]
10:05:31 <esolangs> [[User:TenBillionPlusOne/Sandbox]] https://esolangs.org/w/index.php?diff=157705&oldid=157692 * TenBillionPlusOne * (-277)
10:35:44 <esolangs> [[Hakerh]] N https://esolangs.org/w/index.php?oldid=157706 * TenBillionPlusOne * (+967) Created page with "{{WIP}} '''Hakerh''' is an esolang by [[User:TBPO]] that imitates [[User:Hakerh400]]'s esolangs. I made a timestamp below to mark where my transformation into Hakerh400 begun: ~~~ == Syntax == The program consists of function definitions: f(X) = Y Where uppe
10:36:39 <esolangs> [[Hakerh]] https://esolangs.org/w/index.php?diff=157707&oldid=157706 * TenBillionPlusOne * (-40)
11:30:52 <esolangs> [[Esolang:Categorization]] https://esolangs.org/w/index.php?diff=157708&oldid=157451 * TenBillionPlusOne * (-106) /* Input/output capabilities */
11:32:20 <esolangs> [[Hakerh]] https://esolangs.org/w/index.php?diff=157709&oldid=157707 * TenBillionPlusOne * (+1433)
11:34:04 <esolangs> [[User:TenBillionPlusOne]] https://esolangs.org/w/index.php?diff=157710&oldid=157703 * TenBillionPlusOne * (+20)
11:38:53 <esolangs> [[Hakerh]] M https://esolangs.org/w/index.php?diff=157711&oldid=157709 * TenBillionPlusOne * (+0)
11:39:21 <esolangs> [[Hakerh]] M https://esolangs.org/w/index.php?diff=157712&oldid=157711 * TenBillionPlusOne * (+0) Undo revision [[Special:Diff/157711|157711]] by [[Special:Contributions/TenBillionPlusOne|TenBillionPlusOne]] ([[User talk:TenBillionPlusOne|talk]])
11:44:39 <esolangs> [[OLNMLNE]] https://esolangs.org/w/index.php?diff=157713&oldid=101202 * TenBillionPlusOne * (+8)
11:46:51 <fizzie> Heh, want to the GCC bug tracker (there's a documentation mistake that I've been aware for at least a decade that I never get around reporting, and probably won't this time either), and it flashed that Anubis thing briefly, so I guess they've also had problems with scrapers.
11:46:54 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=157714&oldid=157559 * TenBillionPlusOne * (+21) /* I */
11:47:25 <fizzie> https://github.com/TecharoHQ/anubis <- this thing.
11:48:03 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=157715&oldid=157714 * TenBillionPlusOne * (+15) /* C */
11:48:27 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=157716&oldid=157715 * TenBillionPlusOne * (+17) /* U */
11:49:34 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=157717&oldid=157716 * TenBillionPlusOne * (+48) /* H */
11:50:50 <fizzie> (I'm sure it is very effective, but it also requires clients to execute JS, which pretty much disqualifies it instantly.)
11:59:06 <fizzie> I don't even know if they expect docs bugs through the bug tracker. The "gcc" product has a "web" component, described as "There is an error or omission on the Web pages", but most issues in it aren't about the manual. And there isn't a "doc" or "manual" component or anything similar.
12:03:17 <esolangs> [[Hakerh]] M https://esolangs.org/w/index.php?diff=157718&oldid=157712 * TenBillionPlusOne * (+21) /* Examples */
12:03:54 <esolangs> [[Hakerh]] https://esolangs.org/w/index.php?diff=157719&oldid=157718 * TenBillionPlusOne * (-204) /* Examples temp */
12:08:11 -!- wib_jonas has joined.
12:09:11 <wib_jonas> fizzie: which book from among the manuals, as in the titles listed at https://gcc.gnu.org/onlinedocs/ ? the main GCC Manual or some other one?
12:13:01 <wib_jonas> also do you have a patch or just a bug report?
12:13:15 <esolangs> [[User talk:H. H. P. M. P. Cole]] https://esolangs.org/w/index.php?diff=157720&oldid=157673 * Hotcrystal0 * (+306)
12:13:52 <esolangs> [[User talk:H. H. P. M. P. Cole]] https://esolangs.org/w/index.php?diff=157721&oldid=157720 * Hotcrystal0 * (-164)
12:14:06 <esolangs> [[User talk:H. H. P. M. P. Cole]] https://esolangs.org/w/index.php?diff=157722&oldid=157721 * Hotcrystal0 * (+2)
12:14:22 <esolangs> [[Micron Turi-Complete Aembly Lauage]] N https://esolangs.org/w/index.php?oldid=157723 * PrySigneToFry * (+5355) Created page with "Micron Turi-Complete Aembly Lauage(Micron Turing-Complete Assembly Language, MTCASM for short) is designed by PSTF, based on Assembly Language of Windows, and [[X-ASM]] by the same author. = Prologue = MTCASM is a Turing-Complete, Stron
12:15:12 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=157724&oldid=157717 * PrySigneToFry * (+47)
12:16:50 <wib_jonas> I don't find any instructions on how to report documentation bugs without a patch.
12:17:33 <wib_jonas> I've reported a compiler bug for gcc but that was many years ago, never reported a doc bug for gcc.
12:18:48 <esolangs> [[User:PrySigneToFry/Silicon dioxide in a polypropylene box/Chess between HCr0 and PSTF]] https://esolangs.org/w/index.php?diff=157725&oldid=157582 * PrySigneToFry * (+29)
12:22:27 -!- amby has joined.
12:26:11 <fizzie> The main one, and I don't have a patch because I don't really want to make a judgement call on what to write instead.
12:26:18 <fizzie> The problem is in https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html and it's... well, this: https://zem.fi/tmp/fam.txt
12:27:54 <wib_jonas> oh heck, zero length array. I think the gcc devs wish they could go back in time and change that feature to never have existed in gcc, but they also can't remove it now because the linux kernel or some other programs depend on it too much.
12:28:15 <fizzie> Well, it's not really about zero-length arrays as such, it's about the standard mechanism (flexible array members).
12:40:56 <esolangs> [[Hakerh]] https://esolangs.org/w/index.php?diff=157726&oldid=157719 * TenBillionPlusOne * (+503) /* Examples */
12:41:58 <esolangs> [[Hakerh]] https://esolangs.org/w/index.php?diff=157727&oldid=157726 * TenBillionPlusOne * (+0) /* SKI Calculus */
12:50:46 <esolangs> [[Hakerh]] https://esolangs.org/w/index.php?diff=157728&oldid=157727 * TenBillionPlusOne * (-6) /* Basic relations */
12:58:04 <wib_jonas> fizzie: hmm, that does look like the doc is misleading
12:59:14 -!- Sgeo has joined.
12:59:24 <esolangs> [[Hakerh]] https://esolangs.org/w/index.php?diff=157729&oldid=157728 * TenBillionPlusOne * (+393)
12:59:33 <int-e> . o O ( the bigger scandal is that this is an extension )
13:02:46 <esolangs> [[User talk:H. H. P. M. P. Cole]] M https://esolangs.org/w/index.php?diff=157730&oldid=157722 * H. H. P. M. P. Cole * (+123)
13:03:54 <int-e> Can you even work around this reliably? I mean, sure, you can define a copy of the struct with a concrete length for the array and initialize that, then cast things around. But couldn't the alignment of that final field depend on its size?
13:04:50 <int-e> I seem to recall that offsets are only guaranteed to be equal if the field types up to that point (including the field itself) are equal.
13:06:39 <esolangs> [[UNBABTIZED]] https://esolangs.org/w/index.php?diff=157731&oldid=38968 * Tpaefawzen * (+1217)
13:08:26 <wib_jonas> int-e: no. (1) we have C99 flexible arrays instead of the extension. (2) it's too late to add true zero-size objects to either C or C++, they'd break too much existing code, and zero-length arrays would break even more. (3) there's now a C++ attribute to help with the most common use case for when you would want zero-sized objects, which is when
13:08:27 <wib_jonas> one of the members of a struct is empty (as in padding only but not technically zero-sizeof) then it can overlap with other members of the same struct if you add the right C++ attribute from a recent C++ standard. (the previous workaround was to use a base instead of a member). (4) the other common use case is passing an empty (not zero sized)
13:08:27 <wib_jonas> struct to a function as argument. under the x86 ABI, if the struct is trivial then such a struct is already eliminated and doesn't consume any registers, so there's no run-time overhead.
13:08:42 <wib_jonas> sorry, I mean the xi6_64 gcc ABI, not the x86_32 ABI
13:11:30 -!- tromp has joined.
13:19:52 <wib_jonas> fizzie: have you tried to ask in #gcc on libera?
13:20:10 <wib_jonas> they might know how to submit doc bug reports
13:21:48 <esolangs> [[UNBABTIZED]] https://esolangs.org/w/index.php?diff=157732&oldid=157731 * Tpaefawzen * (+336)
13:22:29 <esolangs> [[UNBABTIZED]] https://esolangs.org/w/index.php?diff=157733&oldid=157732 * Tpaefawzen * (+25) /* External resources */
13:42:38 -!- Noisytoot has quit (Excess Flood).
13:43:01 -!- Noisytoot has joined.
14:07:20 -!- wib_jonas has quit (Quit: Client closed).
14:09:19 <esolangs> [[WTF]] M https://esolangs.org/w/index.php?diff=157734&oldid=157649 * H33T33 * (+2)
14:12:52 <esolangs> [[User:Neon]] https://esolangs.org/w/index.php?diff=157735&oldid=157680 * Neon * (-258) /* Neon */
14:15:50 <esolangs> [[User:Neon]] https://esolangs.org/w/index.php?diff=157736&oldid=157735 * Neon * (+0) /* Neon */
14:18:54 <esolangs> [[WTF]] https://esolangs.org/w/index.php?diff=157737&oldid=157734 * H33T33 * (+43)
14:20:24 <esolangs> [[User:H33T33]] M https://esolangs.org/w/index.php?diff=157738&oldid=156989 * H33T33 * (+37)
14:31:58 -!- impomatic has joined.
15:10:27 -!- APic has quit (Ping timeout: 252 seconds).
15:11:56 -!- gry has quit (Ping timeout: 272 seconds).
15:12:34 -!- Noisytoot has quit (Ping timeout: 272 seconds).
15:14:29 -!- lynndotpy6 has quit (Ping timeout: 252 seconds).
15:14:49 -!- lynndotpy6 has joined.
15:14:59 -!- Noisytoot has joined.
15:15:18 -!- impomatic has quit (Ping timeout: 240 seconds).
15:15:21 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:18:45 -!- Bowserinator has quit (Ping timeout: 248 seconds).
15:19:32 -!- Bowserinator has joined.
15:33:11 -!- perlbot has quit (Ping timeout: 252 seconds).
15:33:20 <esolangs> [[Hakerh]] https://esolangs.org/w/index.php?diff=157739&oldid=157729 * TenBillionPlusOne * (+16)
15:36:27 -!- APic has joined.
15:37:47 -!- gry has joined.
15:41:32 -!- perlbot has joined.
15:44:59 <esolangs> [[I/M Machine]] https://esolangs.org/w/index.php?diff=157740&oldid=157306 * TenBillionPlusOne * (+38)
15:46:54 <esolangs> [[;;;*++]] https://esolangs.org/w/index.php?diff=157741&oldid=157689 * TenBillionPlusOne * (+19)
15:48:23 <esolangs> [[Interpreterion]] https://esolangs.org/w/index.php?diff=157742&oldid=157686 * TenBillionPlusOne * (+45)
15:49:06 -!- tromp has joined.
15:49:25 -!- impomatic has joined.
16:12:23 -!- impomatic has quit (Quit: Client closed).
16:16:18 <esolangs> [[Topple]] https://esolangs.org/w/index.php?diff=157743&oldid=157399 * H33T33 * (-7598)
16:18:08 <esolangs> [[Topple/Source Code]] N https://esolangs.org/w/index.php?oldid=157744 * H33T33 * (+7803) Created page with "[[Topple| Back to Topple]] ''Disclaimer: The current source file is bugged. The fixed file will be added ASAP'' ==Source Code== [[Topple/Source_Code|C Source Code]] <pre>#include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> #include <sy
16:19:56 <esolangs> [[User:Aadenboy/Live stats]] N https://esolangs.org/w/index.php?oldid=157745 * Aadenboy * (+3755) Created page with "<div style="display: flex; flex-direction: row; align-items: center;"><div style="width: 50vw; height: 2em; background-color: #f00; margin: 0.25em; border: 2px solid #000; display: inline-block;"> <div style="width: {{#expr:{{formatnum:{{NUMBEROFEDITS}
16:20:51 <esolangs> [[User:Aadenboy/Live stats]] https://esolangs.org/w/index.php?diff=157746&oldid=157745 * Aadenboy * (+85)
16:21:18 <esolangs> [[Topple/Source Code]] M https://esolangs.org/w/index.php?diff=157747&oldid=157744 * H33T33 * (-37)
16:21:30 <esolangs> [[User:Aadenboy]] https://esolangs.org/w/index.php?diff=157748&oldid=157495 * Aadenboy * (+31) /* anything else */ [[User:Aadenboy/Live stats]]
16:21:48 * ski . o O ( SKI combinators are not a calculus, <http://lambda-the-ultimate.org/node/533#comment-7712> )
16:24:25 <korvo> So the poset looks like "logic" ≥ "algebra" ≥ "calculus"?
16:24:51 <korvo> I appreciate this subtlety.
16:36:09 <esolangs> [[Irma]] M https://esolangs.org/w/index.php?diff=157749&oldid=157682 * Neon * (+402)
16:41:17 <esolangs> [[User:TenBillionPlusOne/Sandbox]] https://esolangs.org/w/index.php?diff=157750&oldid=157705 * TenBillionPlusOne * (-224)
16:48:44 -!- Noisytoot has quit (Excess Flood).
16:49:07 -!- Noisytoot has joined.
16:59:08 <esolangs> [[User:TenBillionPlusOne/Sandbox]] https://esolangs.org/w/index.php?diff=157751&oldid=157750 * TenBillionPlusOne * (+468)
17:04:52 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
17:15:47 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=157752&oldid=157599 * Henry * (+256) /* Introductions */
17:16:05 <esolangs> [[PNPL]] N https://esolangs.org/w/index.php?oldid=157753 * Henry * (+5560) Created page with "{{infobox proglang |name=Prime Number Programming Language |paradigms=imperative |author=[[User:Henry]] |year=[[:Category:2025|2025]] |typesys= |memsys=[[:Category:Cell-based|Cell-based]] |dimensions=one-dimensional |class=[[:Category:Turing complete|Turing complete]] |refim
17:20:24 <esolangs> [[PNPL]] M https://esolangs.org/w/index.php?diff=157754&oldid=157753 * Henry * (+0)
17:20:25 -!- tromp has joined.
17:28:56 <esolangs> [[User:TenBillionPlusOne/Sandbox]] https://esolangs.org/w/index.php?diff=157755&oldid=157751 * TenBillionPlusOne * (-439)
17:32:42 -!- impomatic has joined.
17:36:47 <esolangs> [[User:TenBillionPlusOne/Sandbox]] https://esolangs.org/w/index.php?diff=157756&oldid=157755 * TenBillionPlusOne * (+225)
17:40:22 <esolangs> [[User:TenBillionPlusOne]] https://esolangs.org/w/index.php?diff=157757&oldid=157710 * TenBillionPlusOne * (+48) /* My esolangs */
17:51:03 -!- Noisytoot has quit (Quit: ZNC 1.9.1 - https://znc.in).
17:55:22 -!- Noisytoot has joined.
17:58:23 -!- Noisytoot has quit (Client Quit).
17:59:55 <zzo38> I think zero-length arrays and zero-length structures are useful and are better than the flexible arrays of C99 and other work-arounds that shouldn't be needed.
18:01:10 <zzo38> They shouldn't guess why you want zero-length arrays and structures; it can just be allowed and then you can use it for whatever purpose is appropriate. It does have more uses than have been mentioned.
18:02:11 <zzo38> For example, sometimes you will be using a macro to retrieve a type or number from a structure but where that type or number is not actual data in the structure. Another use is if a name is required to be defined but does not need to do anything else, in which case it is suitable to take up zero space. There are others as well.
18:13:29 <zzo38> (I think there are problems with C; I would just allow zero-length stuff, and make other changes as well, including removing some of the C99 and later stuff while keeping some of it)
18:17:25 -!- Noisytoot has joined.
18:24:55 <esolangs> [[User talk:H. H. P. M. P. Cole]] https://esolangs.org/w/index.php?diff=157758&oldid=157730 * Hotcrystal0 * (+393)
18:25:21 <esolangs> [[User talk:H. H. P. M. P. Cole]] https://esolangs.org/w/index.php?diff=157759&oldid=157758 * Hotcrystal0 * (-162)
18:25:36 <esolangs> [[User talk:H. H. P. M. P. Cole]] https://esolangs.org/w/index.php?diff=157760&oldid=157759 * Hotcrystal0 * (+0)
18:31:06 -!- impomatic has quit (Quit: Client closed).
18:45:01 <esolangs> [[User:TenBillionPlusOne/Sandbox]] https://esolangs.org/w/index.php?diff=157761&oldid=157756 * TenBillionPlusOne * (+435)
18:47:05 <b_jonas> zzo38: yes, zero-length arrays and zero-length structs are very useful, which is why rust supports them completely. they're just not worth to retrofit to an existing language like C or C++ without potentially silently breaking a lot of things that assume that zero-length data can't exist.
18:48:53 <b_jonas> also the C++ attribute that I mentioned earlier is [[no_unique_address]], introduced by C++20
19:03:05 <esolangs> [[User:Neon]] https://esolangs.org/w/index.php?diff=157762&oldid=157736 * Neon * (-858)
19:06:15 <zzo38> Rust has its own problems, including Unicode string types, and I think also excessive dependencies for programs, and I don't know if Rust has a "goto" command.
19:07:24 <zzo38> However, although it might not be worth to retrofit to C99 and newer, it can be done as an extension of C89 to add and change some things (including some things of newer versions of C); a compiler operating in C99 and newer mode could disable the features that don't work if that becomes necessary
19:10:40 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
19:12:54 <b_jonas> zzo38: the unicode string tyeps are only a mild problem that can be solved by some later library additions. the main thing that's currently missing from the stable part of standard library is a byte string infix in byte string search (like memmem in C), but the devs are already working on adding such functions. some of the IO and operating system abstractions also use the unicode string types, but those
19:13:00 <b_jonas> are not so hard to replace with a different library.
19:14:55 <b_jonas> I would generally recommend to just ignore the library unicode string types in rust, unless you want to modify the rustc compiler or write procedural macros. what's in and not in the standard library is very much influenced by what library functions rustc itself depends on.
19:22:35 -!- tromp has joined.
19:57:54 <esolangs> [[User talk:H. H. P. M. P. Cole/Logica]] N https://esolangs.org/w/index.php?oldid=157763 * Hotcrystal0 * (+262) Created page with "Is this a WIP? ~~~~"
19:58:33 <esolangs> [[User talk:H. H. P. M. P. Cole/Logica]] https://esolangs.org/w/index.php?diff=157764&oldid=157763 * Hotcrystal0 * (-162)
20:05:53 <zzo38> Having the Unicode string types means that library API calls would use it. (GOTO doesn't have this problem because even if a library uses GOTO that does not affect the API calls.)
20:08:57 <zzo38> (I think there are other problems with Rust and some of the more modern programming languages as well; C does have some problems but the newer ones (and sometimes newer versions of C) tend to make some things worse instead.)
20:11:22 <esolangs> [[User:Neon]] https://esolangs.org/w/index.php?diff=157765&oldid=157762 * Neon * (+16)
20:14:19 <b_jonas> zzo38: also ziglang supports zero-length structures. I'm not too familiar with zig so I'm not entirely sure if it supports zero-length arrays too, but I think it does.
20:14:50 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
20:16:36 -!- tromp has joined.
20:24:23 -!- visilii_ has joined.
20:25:41 -!- Noisytoot has quit (Quit: ZNC 1.9.1 - https://znc.in).
20:26:07 -!- visilii has quit (Ping timeout: 276 seconds).
20:26:38 -!- Noisytoot has joined.
20:30:52 -!- Noisytoot has quit (Remote host closed the connection).
20:46:02 -!- Noisytoot has joined.
21:06:50 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=157766&oldid=157724 * Buckets * (+11)
21:07:21 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=157767&oldid=157435 * Buckets * (+10) /* 2020 */
21:07:44 <esolangs> [[Moxy]] N https://esolangs.org/w/index.php?oldid=157768 * Buckets * (+3080) Created page with "{{lowercase}} moxy(, which Stands for Malice-cive Over-infuriating, also filling you with Xurddjtsudutdiuf and Yjdtjxjfyxufifidfufduuf potential) is an Esoteric programming language created by [[User:Buckets]] in 2020, it was [[User:Buckets]]' First attempt to Make a "Hard
21:08:22 <esolangs> [[Moxy]] M https://esolangs.org/w/index.php?diff=157769&oldid=157768 * Buckets * (+2)
21:08:54 <esolangs> [[Moxy]] M https://esolangs.org/w/index.php?diff=157770&oldid=157769 * Buckets * (+1)
21:09:12 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:10:51 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=157771&oldid=157767 * Buckets * (+0)
21:13:28 -!- tromp has joined.
21:18:20 <esolangs> [[User:Aadenboy/Live stats]] https://esolangs.org/w/index.php?diff=157772&oldid=157746 * Aadenboy * (+658)
21:34:22 -!- visilii_ has quit (Ping timeout: 276 seconds).
21:35:06 -!- visilii has joined.
21:42:52 <esolangs> [[PNPL]] https://esolangs.org/w/index.php?diff=157773&oldid=157754 * Henry * (+6360)
21:46:53 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
21:53:06 -!- tromp has joined.
22:03:41 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:55:41 <esolangs> [[User:Henry]] N https://esolangs.org/w/index.php?oldid=157774 * Henry * (+470) Created page with "Hi, my name is Henry, and I've reached this wiki since I like to both create and implement esoteric languages (above all, because most of the time their interpreters can be reduced to only a couple lines of Python). You can learn more about me in my [https://github.com
23:20:25 -!- Lord_of_Life has quit (Ping timeout: 244 seconds).
23:20:31 -!- Lord_of_Life_ has joined.
23:21:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
23:43:52 -!- 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).