00:02:24 -!- lambdabot has quit (Quit: Wee!).
00:06:16 -!- lambdabot has joined.
00:07:11 <ais523> OK, I wasn't expecting that outcome
00:07:32 <ais523> (was expecting it either to stop at 3.0 or continue indefinitely)
00:10:44 <int-e> ais523: IIUC the rationale was that [0.1..0.7] is supposed to produce [0.1,0.2,0.3,0.4,0.5,0.6,0.7] despite 7 * 0.1 <= 0.7
00:11:05 <int-e> so the instances do rounding
00:11:09 <ais523> int-e: but what if you do it with a float that rounds in the other direction?
00:11:15 <int-e> I don't think it's a *good* choice
00:11:49 <int-e> ais523: it's "optimized" for the case that the upper bound is "exact" (but rounded)
00:12:18 <int-e> Anyway, let me finish what I was doing...
00:13:06 <ais523> > [0.0, 72057594037927936.0 .. 720575940379279360.0]
00:13:07 <lambdabot> [0.0,7.205759403792794e16,1.4411518807585587e17,2.161727821137838e17,2.88230...
00:13:36 <int-e> ais523: it's floating point, a lot of things will go horribly wrong ;-)
00:14:11 <ais523> > [0.0, 72057594037927936.0 .. 216172782113783814.0]
00:14:12 <lambdabot> [0.0,7.205759403792794e16,1.4411518807585587e17,2.161727821137838e17]
00:14:31 <sorear> there is a definition in the report...
00:14:39 <ais523> > [0.0, 72057594037927937.0 .. 216172782113783817.0]
00:14:41 <lambdabot> [0.0,7.205759403792794e16,1.4411518807585587e17,2.161727821137838e17]
00:14:48 <ais523> > [0.0, 72057594037927935.0 .. 216172782113783811.0]
00:14:50 <lambdabot> [0.0,7.205759403792794e16,1.4411518807585587e17,2.161727821137838e17]
00:15:15 <ais523> oh, this doesn't work with 3 elements because the rounding errors don't compound enough, the inputs are equal as floats in all three cases
00:15:31 <ais523> need a longer array to test it properly
00:20:16 <lambdabot> METAR LOWI 272350Z AUTO VRB01KT 9999 BKN007 M04/M06 Q1026
00:20:25 <int-e> @oeis 1,2,3,5,8,13
00:20:40 <int-e> (it does HTTPS but runs into a Cloudflare challenge)
00:22:40 <perlbot> b_jonas: http://oeis.org/searchs?q=1%2C2%2C3%2C5%2C8%2C13 A000045(1/249) Fibonacci numbers: F(n) = F(n-1) + F(n-2) with F(0) = 0 and F(1) = 1.: 0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986,10233... [Output truncated. Use `more` to read more]
00:22:55 <b_jonas> perlbot oeis_r 1,2,3,5,8,13
00:23:00 <perlbot> b_jonas: A000045 Fibonacci numbers: F(n) = F(n-1) + F(n-2) with F(0) = 0 and F(1) = 1. (Formerly M0692 N0256)0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155
00:24:25 <b_jonas> I wrote oeis_r in a way where it should be able to distinguish errors from no match found
00:24:49 <b_jonas> so you shouldn't just get a no match when it's actually a Cloudfare challenge or whatever error
00:27:31 <int-e> Sure, it could complain about the reply not being in the expected format.
00:27:57 <int-e> But I won't bother.
00:28:02 <ais523> now I'm disappointed that lambdabot isn't following "sequence not found" with random insults
00:28:24 <int-e> the random insults are only for mispelt commands
00:28:55 <int-e> Anyway. It did actually fix @metar at least.
00:49:15 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
00:58:31 -!- Sgeo has quit (Read error: Connection reset by peer).
01:01:45 <esolangs> [[XO Mchne]] https://esolangs.org/w/index.php?diff=169453&oldid=126015 * None1 * (+12)
01:02:25 <esolangs> [[XO Mchne]] M https://esolangs.org/w/index.php?diff=169454&oldid=169453 * None1 * (+7)
01:34:13 -!- Sgeo has joined.
01:46:08 -!- lambdabot has quit (Quit: Will there be a rubber tree at the bottom of this cliff?).
01:47:23 -!- lambdabot has joined.
01:48:10 <int-e> @oeis 1,2,3,5,8,13
01:48:10 <lambdabot> https://oeis.org/A000045 Fibonacci numbers: F(n) = F(n-1) + F(n-2) with F(0)...
01:48:10 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,...
01:48:18 <int-e> well, that's so silly
01:49:00 <int-e> b_jonas: the "fix": https://github.com/lambdabot/lambdabot/blob/libera/patches/oeis-0.3.10.1.patch
01:50:27 <int-e> (no I didn't add anything that would distinguish "no result" and "html mess with heavily obfuscated JS"
01:50:52 <int-e> Oh and why is the MagicHash still there, lol
01:52:25 <ais523> int-e: the AIscraperbots mostly pretend to be browsers, so giving a useragent that obviously isn't a browser is often enough to be allowed through
01:53:03 <int-e> ais523: It's just funny that no user agent at all, or a user agent that looks like curl, both run into the challenge. Understandable, maybe.
01:53:42 <int-e> TBH I'm happy that I thought to try this :)
01:54:09 <int-e> Even though it obviously depends on the whims of CF.
01:56:28 <int-e> Anyway. It took some time but in the end this move of lambdabot has gone fairly smoothly. :)
01:58:32 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine).
02:02:25 -!- Lord_of_Life has joined.
02:03:50 <ais523> int-e: it wouldn't surprise me if the AI scraperbots were vibecoded and didn't even think of setting a useragent
02:04:50 -!- Lord_of_Life has quit (Excess Flood).
02:08:52 <int-e> ais523: Anyway, it still *feels* silly :P
02:09:16 <ais523> int-e: it may be a sensible response to a silly situation
02:09:26 <ais523> I agree that silliness must be involved somewhere, though
02:09:50 <int-e> it's not like those scrapers produce anything of value
02:10:10 <int-e> though there's a lot of money riding on it
02:10:16 <int-e> adding another level of stupidity
02:10:56 <ais523> int-e: my guess is that the scrapers are selling the scraped data, in which case the volume of data scraped may be more valuable to them than any detail of the data
02:15:38 -!- 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:27:33 <lambdabot> dict provides: dict-help all-dicts bouvier cide devils easton elements foldoc gazetteer hitchcock jargon thesaurus vera wn world02
02:27:38 <int-e> half of these are still missing
02:28:08 <lambdabot> *** "lawyer" devil "The Devil's Dictionary (1881-1906)"
02:28:08 <lambdabot> LAWYER, n. One skilled in circumvention of the law.
02:28:24 <int-e> but the most important one is there. (hmm, why the empty line... is that new?)
02:39:07 <lambdabot> *** "swallow" wn "WordNet (r) 3.0 (2006)"
02:39:07 <lambdabot> n 1: a small amount of liquid food; "a sup of ale" [syn:
02:39:07 <lambdabot> 2: the act of swallowing; "one swallow of the liquid was
02:40:33 <esolangs> [[User talk:Waffelz]] https://esolangs.org/w/index.php?diff=169455&oldid=169364 * Waffelz * (+121)
02:41:38 <esolangs> [[User talk:Waffelz]] https://esolangs.org/w/index.php?diff=169456&oldid=169455 * Waffelz * (+143)
02:47:55 -!- Lord_of_Life has joined.
03:26:50 <int-e> I guess half of those dictionaries have "always" been missing (i.e. I never figure out where they came from)
03:27:21 <lambdabot> *** "gpu" vera "V.E.R.A. -- Virtual Entity of Relevant Acronyms (February 2016)"
03:30:57 <lambdabot> *** "semaphore" foldoc "The Free On-line Dictionary of Computing (30 December 2018)"
03:30:58 <lambdabot> <programming, operating system> The classic method for
03:30:58 <lambdabot> restricting access to shared resources (e.g. storage) in a
03:31:21 <int-e> probably good enough
04:20:00 -!- lynndotpy6093 has quit (Quit: bye bye).
04:21:04 -!- lynndotpy6093 has joined.
05:34:53 <esolangs> [[User talk:Waffelz]] https://esolangs.org/w/index.php?diff=169457&oldid=169456 * Waffelz * (-21)
05:36:56 <esolangs> [[Unfill]] N https://esolangs.org/w/index.php?oldid=169458 * Yayimhere2(school) * (+2096) Created page with "'''Unfill''' is an esolang devised by [[User:Yayimhere]], purely to have a visual style similar to <code>(___;___)</code>. It is also made to be a very separated esolang, as in, it has multiple systems that do not easily interact, however this is not intention
06:08:57 -!- Guest38_ has joined.
06:10:16 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169459&oldid=169369 * Waffelz * (-1689)
06:10:44 <esolangs> [[User talk:Yayimhere]] https://esolangs.org/w/index.php?diff=169460&oldid=166599 * Waffelz * (+1146)
06:11:28 <esolangs> [[Talk:3 Bits, 1.5 Bytes]] https://esolangs.org/w/index.php?diff=169461&oldid=169298 * MihaiEso * (+304)
07:06:54 -!- Guest38_ has quit (Quit: Textual IRC Client: www.textualapp.com).
07:20:35 -!- pool has quit (Ping timeout: 240 seconds).
07:25:40 -!- Guest38 has joined.
07:30:16 <esolangs> [[Unfill]] https://esolangs.org/w/index.php?diff=169462&oldid=169458 * Yayimhere2(school) * (+43)
07:34:26 <esolangs> [[Unfill]] https://esolangs.org/w/index.php?diff=169463&oldid=169462 * Yayimhere2(school) * (+164)
07:36:08 <esolangs> [[Special:Log/move]] move * Yayimhere2(school) * moved [[Unfill]] to [[Yuontlitled]]
07:36:18 <esolangs> [[Unfill]] https://esolangs.org/w/index.php?diff=169466&oldid=169465 * Yayimhere2(school) * (-25) Blanked the page
07:40:01 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169467&oldid=169464 * Yayimhere2(school) * (+106)
07:40:32 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=169468&oldid=169372 * Yayimhere2(school) * (+18)
07:42:50 <esolangs> [[0134]] https://esolangs.org/w/index.php?diff=169469&oldid=167490 * Yayimhere2(school) * (-6) /* syntax */
07:57:18 <esolangs> [[RECT4n=GLE]] https://esolangs.org/w/index.php?diff=169470&oldid=167690 * Yayimhere2(school) * (+2) /* The copying rule */ correct a mistake
07:57:28 <esolangs> [[RECT4n=GLE]] https://esolangs.org/w/index.php?diff=169471&oldid=169470 * Yayimhere2(school) * (-1) /* Halting */
07:59:09 <esolangs> [[RECT4n=GLE]] https://esolangs.org/w/index.php?diff=169472&oldid=169471 * Yayimhere2(school) * (+1) /* example programs */
08:05:01 -!- ais523 has quit (Quit: quit).
08:23:04 -!- tromp has joined.
08:29:17 <esolangs> [[4ByteJump]] N https://esolangs.org/w/index.php?oldid=169473 * Timm * (+132) Created page with "like [[ByteByteIfJump]] but have extra byte of jump if else not true Ab Bb Cc Dj Ej [[Category:OISC]] [[Category:Self-modifying]]"
08:30:18 <esolangs> [[ByteByteIfJump]] https://esolangs.org/w/index.php?diff=169474&oldid=169414 * Timm * (+24)
08:31:18 -!- chomwitt_alt has quit (Read error: Connection reset by peer).
08:31:42 -!- chomwitt has joined.
08:36:22 <esolangs> [[User:Timm]] https://esolangs.org/w/index.php?diff=169475&oldid=169415 * Timm * (+3)
08:50:42 -!- Guest38 has quit (Quit: Textual IRC Client: www.textualapp.com).
09:04:18 <esolangs> [[.chat]] https://esolangs.org/w/index.php?diff=169476&oldid=166392 * Yayimhere2(school) * (+145) /* Commands */
09:05:13 <b_jonas> int-e: ah, that sounds entirely believable. Wikimedia tech announced a few months ago that if you use api.php they'll be more aggressive in denying queries with no User-Agent header.
09:05:41 <b_jonas> and perlbot's get builtin uses a user-agent, a fixed one built into that plugin
09:08:02 <b_jonas> int-e: the scraperbots produce value, but only in a perverse way: they make other people to get scared that some of their belved websites might disappear because of them, so some of those people will download the websites and makes local copies, when they'd otherwise just rely on the site being always online, I count that as a small win
09:10:28 <b_jonas> I guess it's "producing value" as in the car breakins produce the value that people got very fed up and eventually chose a government that can punish thefts and fencing illegal goods
09:11:17 <b_jonas> so more like there's a silver lining than producing value
09:11:35 <b_jonas> I should also download more websites
09:13:28 -!- chomwitt has quit (Ping timeout: 260 seconds).
09:13:42 -!- simcop2387 has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
09:13:42 -!- perlbot has quit (Quit: ZNC 1.9.1+deb2+b3 - https://znc.in).
09:18:49 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
09:19:48 -!- simcop2387 has joined.
09:21:58 -!- perlbot has joined.
09:47:57 <esolangs> [[Talk:4gn/]] https://esolangs.org/w/index.php?diff=169477&oldid=155725 * JIT * (+286) /* Computational class? */ new section
09:50:45 <esolangs> [[User:JIT]] M https://esolangs.org/w/index.php?diff=169478&oldid=166610 * JIT * (+114)
09:54:52 <esolangs> [[Special:Log/upload]] overwrite * JIT * uploaded a new version of "[[File:Nothing-suspicious.png]]": fixed minor error
09:59:13 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169480&oldid=169467 * Yayimhere2(school) * (+2) /* Syntax and memory */
09:59:39 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169481&oldid=169480 * Yayimhere2(school) * (-3) /* Syntax and memory */
10:02:30 <esolangs> [[Yuontlitled]] https://esolangs.org/w/index.php?diff=169482&oldid=169481 * Yayimhere2(school) * (+3) /* Syntax and memory */
10:27:57 <esolangs> [[Minimal assembly language]] https://esolangs.org/w/index.php?diff=169483&oldid=99075 * Yayimhere2(school) * (-29) /* External resources */ blablabla there's no proof of TC-ness, so im gonna take thew tag.
10:29:37 -!- Sgeo has quit (Read error: Connection reset by peer).
10:46:07 -!- APic has quit (Ping timeout: 255 seconds).
10:48:17 -!- APic has joined.
10:55:20 <esolangs> [[Goto tag]] N https://esolangs.org/w/index.php?oldid=169484 * Yayimhere2(school) * (+1080) Created page with "'''Goto tag''' is a minimal esoteric programming language created by [[User:Yayimhere]], because she had begun to get unsatisfied by [[TLQ]]. Goto tag is a sort of [[BCT|Self-BCT]] tag system, however is in her opinion more interesting == Semantics == Every
11:08:54 <esolangs> [[Talk:4gn/]] https://esolangs.org/w/index.php?diff=169485&oldid=169477 * I am islptng * (+264) /* Computational class? */
11:17:26 <esolangs> [[Goto tag]] https://esolangs.org/w/index.php?diff=169486&oldid=169484 * Yayimhere2(school) * (+34) /* Semantics */
11:17:53 <esolangs> [[Goto tag]] https://esolangs.org/w/index.php?diff=169487&oldid=169486 * Yayimhere2(school) * (+42) /* Syntax */
11:18:36 <esolangs> [[User:Yayimhere]] https://esolangs.org/w/index.php?diff=169488&oldid=169468 * Yayimhere2(school) * (+15) /* esolangs */
11:25:00 <esolangs> [[Infinite Goto]] https://esolangs.org/w/index.php?diff=169489&oldid=168084 * Yayimhere2(school) * (-15) /* See also */ add Goto tag
11:26:36 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169490&oldid=75035 * Yayimhere2(school) * (-32) /* External resources */ it isnt rlly proven to be a PDA, and also, you can reach down infinitely in the stack(since its the program) so like... its more powerful than a PDA?
11:28:13 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169491&oldid=146990 * Yayimhere2(school) * (+10) /* Computational class */ since we dont know, add a most likely
11:56:30 -!- tromp has joined.
12:00:31 -!- amby has joined.
12:04:50 <esolangs> [[Talk:4gn/]] https://esolangs.org/w/index.php?diff=169492&oldid=169485 * None1 * (+318) /* Computational class? */
12:17:58 <esolangs> [[StackPoint]] https://esolangs.org/w/index.php?diff=169493&oldid=108979 * ChuckEsoteric08 * (+24) Updated link
12:39:29 -!- msv has quit (Remote host closed the connection).
12:45:33 <esolangs> [[]] N https://esolangs.org/w/index.php?oldid=169494 * Hammy * (+1648) Created page with " is an esolang by [[User:Hammy]] that has one purpose: to have every unicode arrow be a command. <blockquote> "A language where flow control, assignment, calculation and basically everything is done using unicode arrows" [[List of ideas#Looks Like]] </blockquote> ==Commands==
13:06:14 <esolangs> [[Bitwise Cyclic Tag]] https://esolangs.org/w/index.php?diff=169495&oldid=169386 * Olus2000 * (+308) /* Self BCT */ extend example to illustrate an edge case
13:34:21 <esolangs> [[User:Hotcrystal0]] https://esolangs.org/w/index.php?diff=169496&oldid=169196 * Hotcrystal0 * (-90)
13:42:55 <esolangs> [[Oxen]] N https://esolangs.org/w/index.php?oldid=169497 * None1 * (+1900) Created page with "{{lowercase}} '''oxen''' is an esolang invented by [[User:None1]]. ==Memory== Three accumulators: A, B and C are used. They contain unbounded unsigned integers. At first, A is 1, B and C are 0. ==Commands== oxen has the following 4 commands (case sensitive). {| class="wikita
13:43:14 <esolangs> [[Oxen]] M https://esolangs.org/w/index.php?diff=169498&oldid=169497 * None1 * (+3) /* Commands */
13:43:53 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=169499&oldid=169448 * None1 * (+11) /* O */
13:45:09 <esolangs> [[User:None1]] https://esolangs.org/w/index.php?diff=169500&oldid=169395 * None1 * (+74) /* My Esolangs */
13:45:17 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169501&oldid=169499 * None1 * (+0) /* O */
13:47:09 <esolangs> [[User:None1]] M https://esolangs.org/w/index.php?diff=169502&oldid=169500 * None1 * (+0) /* My Esolangs */
13:49:18 <esolangs> [[Oxen]] M https://esolangs.org/w/index.php?diff=169503&oldid=169498 * None1 * (+1) /* Computational class */
13:50:33 <esolangs> [[Oxen]] https://esolangs.org/w/index.php?diff=169504&oldid=169503 * None1 * (+47) /* Computational class */
14:12:20 <esolangs> [[Noddity]] https://esolangs.org/w/index.php?diff=169505&oldid=167772 * Yayimhere2(school) * (-46) /* Turing completeness proof */
14:23:21 <esolangs> [[Conquer and divide]] https://esolangs.org/w/index.php?diff=169506&oldid=167843 * Yayimhere2(school) * (-255)
14:23:45 <esolangs> [[Do Minsk Family]] https://esolangs.org/w/index.php?diff=169507&oldid=168644 * Yayimhere2(school) * (+42) /* A tree of all the languages */
14:25:14 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169508&oldid=169490 * PkmnQ * (+2031)
14:37:03 <esolangs> [[Talk:8ial]] https://esolangs.org/w/index.php?diff=169509&oldid=169118 * Yayimhere2(school) * (+160)
14:49:56 -!- impomatic has joined.
14:57:58 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
15:05:07 -!- impomatic has quit (Ping timeout: 250 seconds).
15:20:32 -!- msv has joined.
15:27:58 <esolangs> [[Hexad]] https://esolangs.org/w/index.php?diff=169510&oldid=169323 * Yayimhere2(school) * (+961) /* Examples */
15:28:14 -!- tromp has joined.
15:33:30 <esolangs> [[Classical logic]] https://esolangs.org/w/index.php?diff=169511&oldid=166007 * BestCoder * (-1) /* Operators */
15:33:46 <esolangs> [[Classical logic]] https://esolangs.org/w/index.php?diff=169512&oldid=169511 * BestCoder * (-35) /* Truth values */
15:47:52 <esolangs> [[Talk:]] N https://esolangs.org/w/index.php?oldid=169513 * * (+110) Created page with "this is my favorite esolang ~~~~"
15:57:59 -!- impomatic has joined.
16:24:25 -!- impomatic has quit (Ping timeout: 250 seconds).
16:41:49 -!- Sgeo has joined.
16:51:31 -!- pool has joined.
16:52:23 -!- pool has quit (Read error: Connection reset by peer).
16:52:48 -!- pool has joined.
17:01:05 <korvo> Revisiting an old sneer, commenting on Arc and Bel by Paul Graham: https://lobste.rs/s/jec21l/thought_leaders_chicken_sexers#c_cdnikr
17:01:35 <korvo> "Don't design a new programming language in vanity. Have a clear problem that you intend to tackle, a niche in which you intend to excel, a way for users to extend the language, a path towards machine implementation, and a compelling connection to existing programming traditions." Could be relevant for our newcomers, if they were amenable to advice.
17:03:38 -!- impomatic has joined.
17:06:54 -!- impomatic has quit (Client Quit).
17:08:41 <korvo> Also found the thread where I said, "Functional programming is a tribe. It's not a school of thought, but a school of behaviors and attitudes towards people." I got bannered for this thread: https://lobste.rs/s/bdaiwc/there_is_no_such_thing_as_functional#c_e9n6gw
17:11:19 <esolangs> [[Talk:8ial]] M https://esolangs.org/w/index.php?diff=169514&oldid=169509 * Ractangle * (+319) /* ??? */
17:13:15 <avih> korvo: no opinion on the 2nd quote, but i like the 1st. problem is that it might not apply to some of the esolangs already, highly likely including bf
17:13:56 <avih> so i don't know how much it can be used as a rule or guideline for esolangs...
17:14:39 <korvo> avih: Oh, for sure. One of the nice things about being esoteric is that we can avoid caring about whether other people use our languages. But I also think that one of the things differentiating what we build from other artlangs and conlangs is that ours are *executable*.
17:14:59 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169515&oldid=169445 * Ractangle * (-13) /* Computational Class */
17:16:00 <korvo> There's a big difference in my own work, for example, between e.g. [[Monte]] and [[Cammy]]. The former was a team project that intended to scale up to Java's niche; the latter is a single-person experiment in minimalism. But both run on my machine and have actively-maintained Nix flakes, too.
17:17:04 <korvo> Also, big lesson learned there: don't compete with Java in any way. Admit to oneself that Java's design is optimized for a certain kind of slop-coding system where you can do anything with One More Class added to a Big Ball of Mud, reread http://laputan.org/mud/ and decide to do something else.
17:18:58 <korvo> I think my biggest impact at Google was literally adding an abstract factory with some DI signatures and annotations to one of the services I owned, written in Java. My coworkers were horrified that I used vim instead of an IDE. I was horrified that it worked, because I didn't *do* anything; I just wired up existing stuff.
17:20:24 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169516&oldid=169515 * Ractangle * (+87) /* Computational Class */
17:22:28 <esolangs> [[8ial]] M https://esolangs.org/w/index.php?diff=169517&oldid=169516 * Ractangle * (-36) /* Computational Class */
17:27:06 <strerror> .oO( BF certainly excels in its niche. It also has possibly more user extensions than any other )
17:29:32 <esolangs> [[Talk:8ial]] https://esolangs.org/w/index.php?diff=169518&oldid=169514 * Yayimhere2(school) * (+15) /* ??? */
17:46:56 <esolangs> [[]] https://esolangs.org/w/index.php?diff=169519&oldid=169494 * Hammy2 * (+363)
17:51:56 <b_jonas> korvo: this "abstract factory with some DI signatures and annotations", is that in Java?
17:53:15 <korvo> b_jonas: It was incredibly Java. So much Java. Google has like three different DI frameworks. There's DI for gRPC, DI for Borg (and presumably now for k8s too), DI for automatically meta-load-balancing between different load-balancer services.
17:54:32 -!- ais523 has joined.
17:59:11 -!- impomatic has joined.
18:07:07 -!- impomatic has quit (Ping timeout: 250 seconds).
18:12:37 <b_jonas> I don't know what most of those mean but they sound scary
18:14:17 <b_jonas> meanwhile, I wrote code in python and VBA in this dayjob and I'm scared that my most valuable contributions in the long term will be from the latter
18:14:47 <b_jonas> because a lot of the python ones are unmaintainable messes that nobody but I will use
18:15:11 <ais523> <korvo> Also found the thread where I said, "Functional programming is a tribe. It's not a school of thought, but a school of behaviors and attitudes towards people." ← I'm wondering whether the difference between different programming paradigms is about the symmetries that the programmer thinks about while programming (or that they can exploit to avoid having to think about while programming)
18:15:21 <b_jonas> so like up to now the python ones have had more use, but this may flip over eventually
18:16:10 <korvo> ais523: I think that it's also about how anthropomorphized assumptions can sneak into technical discussions, get laundered memetically, and turn into tribal beliefs about in- and out-groups.
18:16:21 <ais523> a great example from a programming language family that hardly anyone uses nowadays: imagine a function that takes an integer argument, and does some calculations on it, assigns to a global variable, and does some more calculations on it
18:16:40 <korvo> Like, to some extent, the difference between tribes is whether they carry certain memes which espouse those differences.
18:16:40 <ais523> in call-by-name languages, the programmer has to worry about the potential that the argument's value might change as a result of the assignment
18:16:59 <ais523> b_jonas: Fortran's call-by-reference, not call-by-name, but I guess the same thing can happen there too
18:17:40 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
18:17:48 <ais523> there is for sure tribalism *around* paradigms but it doesn't feel to me like a necessarily essential feaure of the paradigms themselves – there's also tribalism around specific languages and editors/IDEs and the like
18:19:35 <korvo> Meh. I was writing a Smalltalk-ish parser yesterday, and looking at the criteria at [[functional paradigm]], I appear to have four out of five; the only one I'm missing is explicit adherence to Lisp, ML, or APL syntax.
18:19:59 <korvo> There just isn't a *there* there, to paraphrase the philosophers of mind.
18:20:58 <korvo> I think that there can be paradigms which don't form tribes. Deep in the thread, I give tiling languages like Wang tiles as an example. But I also admit that perhaps if tiles were more popular than there *would* be cultural opinions which form into big memes.
18:21:23 <ais523> I guess I've suddenly started wondering about symmetries that aid programming thought that *aren't* normally considered paradigms
18:21:42 <ais523> like, object-capabilities seems to be one of them, but I don't think I've seen people describe those as a *paradigm*
18:22:16 <ais523> right, I'm reminded of the way that BIIA? is a counterexample to a very large number of assumptions people make about programming
18:24:10 <korvo> ais523: If I were inclined to write a big essay about this, I might talk about how there seems to be a necessary phase where we are communicating on a blackboard using example syntax for pseudocode of one-liners, which eventually expands into a multi-line syntax with references to older lines, prior to the genesis of any new programming tradition.
18:24:40 <ais523> anyway, I think part of the problem is that what most programmers consider as paradigms actually don't match the symmetries well
18:25:18 <ais523> Haskells and MLs are often grouped together but there are clear significant differences in, e.g., how effects interact with the type system
18:26:27 <ais523> there's also the related phenomenon of "language features that aren't part of the computational model but are commonly found in a particular family of languages", probably due to people not copying features from different paradigms often enough even when they would make perfect sense
18:26:29 <korvo> Oh, cross-linguistic symmetries? Akin to cognates, vowel and consonant patterns, that sort of thing?
18:26:49 <ais523> no, I mean the symmetries of Haskell are different from the symmetries of ML
18:27:19 <ais523> Haskell is designed to mostly make evaluation order non-observable (although this isn't perfect and breaks down in the fact of nontermination), in ML it does matter
18:28:24 <b_jonas> not just non-termination but speed of execution as well, but sure
18:28:29 <korvo> Oh, in the Yanofsky sense. I started there but wasn't sure. Yeah, just because Haskell's descended from ML doesn't mean that Haskell's models are ML's models. Still, Haskell and ML can have extremely similar automorphisms, e.g. alpha-renaming.
18:28:43 <ais523> so I would prefer to group Haskell with, say, purer variants of Prolog than with ML (in that the "core" of Prolog is also a language where evaluation order matters primarily due to nontermination, although interpreters are more willing to add features in which evaluation order matters than Haskell is)
18:28:49 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=169520&oldid=169341 * BobSoftOfficial * (+194)
18:29:26 <ais523> b_jonas: right, if you consider that part of the model / abstract machine / intended use for the program
18:29:39 <b_jonas> I don't know, I have the feeling that the core of Prolog where execution order doesn't matter is not very useful as a programming language
18:29:52 <ais523> it's useful on codegolf sites
18:30:23 <ais523> like, "Prolog but the interpreter messes with evaluation order to try to ensure that if a program can terminate, it does terminate" is a language I've often wished to have available in CGCC challenges
18:30:32 <ais523> and even made a start on writing a language like that, but it stalled for unrelated reasons
18:32:00 <esolangs> [[Dog]] https://esolangs.org/w/index.php?diff=169521&oldid=94635 * BobSoftOfficial * (+1097)
18:33:06 <korvo> Unrestricted Zaddy's execution model is a variation on that, "Prolog but all evaluations are done in parallel and termination becomes more likely with each iteration". Using the Las Vegas approach where programs won't be incorrect but have unpredictable runtime based on ordering.
18:33:11 <esolangs> [[Dog]] https://esolangs.org/w/index.php?diff=169522&oldid=169521 * BobSoftOfficial * (+111)
18:33:31 <esolangs> [[Dog]] https://esolangs.org/w/index.php?diff=169523&oldid=169522 * BobSoftOfficial * (-13)
18:33:33 <korvo> I was going to use static analysis to show whether termination is possible. But there are other showstopping semantic issues that I've yet to resolve.
18:33:34 <ais523> but I feel like a) many paradigms are diluted by bad definitions and languages that don't achieve the goals they set out to achieve, and b) many languages are successful because they do something that isn't actually connected to the core idea behind the language and could easily be imported into other languages, but is useful on its own
18:34:40 <b_jonas> of course. languages can be successful because they have a lot of good libraries with interface for the language already available, regardless of how useful the core language is
18:34:57 <ais523> I believe the reason why Java was so successful is not related to its "object orientation" features, but rather because it supports "documentation-based abstraction" sufficiently well to be usable by large teams (i.e. the principle that if a subroutine/function/method is documented correctly, you can use it entirely by looking at its documentation without having to look at its internals)
18:35:00 <korvo> (b) is something we don't study enough. I still want to understand the Python-to-Go pipeline, for example.
18:35:43 <ais523> lots of languages are capable of doing that, and we take it for granted nowadays – but at the time Java first became successful I don't think it was common for programming teams to work like that
18:35:43 <b_jonas> don't most non-esoteric languages support documentation-based abstraction?
18:36:10 <b_jonas> maybe Java makes it easier
18:36:43 * ais523 sorts https://en.wikipedia.org/wiki/Comparison_of_documentation_generators by date
18:36:50 <b_jonas> a good type system certainly helps for that because it guides you in how to use the library interface correctly and makes it harder to accidentally call it incorrectliy
18:37:24 <ais523> looks like Javadoc is from 1995, the same as perldoc, and the only earlier one listed is mkd which I doubt was ever widely used
18:38:15 <ais523> so Java may have been the first widely-used language to combine a documentation generator with a static type system
18:38:57 <ais523> this was really eye-opening to me when I first learned Java, I thought "so this is why Java is used by big companies, I understand, it lets a team of programmers create something together without all needing to personally hold the entire program in their head"
18:39:19 <ais523> nowadays, this isn't interesting, any serious statically-typed programming language does the same thing
18:41:46 <b_jonas> ais523: those documentation generators like rustdoc can be annoying because they work for just one language so they try to turn a language to a religion, sort of like the language-specific build tools and package distribution systems do. like you can use rustdoc to make this fancy webpage with javascript search built into it, but then you can only search for rust interfaces. Doxygen is a doc generator
18:41:46 <ais523> Java does it better than many, though – e.g. in Rust I miss being able to document individual function/method parameters in addition to the function/method as a whole
18:41:52 <b_jonas> that supports multiple languages, and I think at one point OpenCV even had API docs that showed interfaces in four different languages (C++, python, Java, C) for the same function next to each other at some point
18:42:03 <esolangs> [[Ksplang/instructions]] https://esolangs.org/w/index.php?diff=169524&oldid=169191 * Sejsel * (-9) /* - tetration */ Fix up tetration
18:42:31 <b_jonas> "document individual function/method parameters" => Doxygen can sort of but not quite do that
18:42:43 <ais523> b_jonas: apart from the user interface for its build system which is actually really good, Rust's tooling feels kind-of primitive in comparison to its competitors
18:43:46 <b_jonas> I don't like Rust's tooling because it tries to buy you into a system where you can't easily combine it with compilation units combpiled by other languages. just use make like a normal person and then you can mix languages more easily. the language and compiler actually supports that well.
18:43:56 <ais523> the tests feel a lot worse than Perl's, the documentation generator doesn't encourage you to document all the relevant aspects of a function/method the way Java's does, sometimes there are multiple places something can be reasonably documented and it's unclear which to use, etc.
18:44:11 <b_jonas> heck, the user interface for the build system even wants to encourage you to download packages from the central package distribution site.
18:45:21 <ais523> b_jonas: oh yes, I hate the way dependencies work in Rust
18:45:30 <ais523> that said it does make it very easy to replace crates.io with distro packaging
18:46:39 <ais523> my .cargo/config.toml is (with newline replaced with " \ "): «[source] \ [source.debian] \ directory="/usr/share/cargo/registry" \ [source.crates-io] \ replace-with="debian"»
18:46:48 <ais523> that's all I have to do to configure the build system to use distro packages instead
18:47:07 <ais523> and it transparently applies across all builds I do from a user who has the dotfile
18:47:33 <ais523> the equivalent in C is much harder, if the build system doesn't pick up distro packages on its own it is often a pain to configure it to do so
18:47:57 <esolangs> [[Dog]] https://esolangs.org/w/index.php?diff=169525&oldid=169523 * Aadenboy * (-1195) revert
18:48:18 <ais523> and one of the reasons I gave up on the "Prolog with changed evaluation order" golfing language is that I was writing it in OCaml but couldn't figure out how to link in libraries at all
18:48:29 <esolangs> [[Dog (BobSoftOfficial)]] N https://esolangs.org/w/index.php?oldid=169526 * Aadenboy * (+1580) move page
18:49:38 <esolangs> [[User talk:BobSoftOfficial]] N https://esolangs.org/w/index.php?oldid=169527 * Aadenboy * (+473) Created page with "hello, just letting you know that I've moved your esolang to [[Dog (BobSoftOfficial)]] to prevent conflict with the esolang that was already described on that page (which you overwrote) ~~~~"
18:53:33 <esolangs> [[psilon]] N https://esolangs.org/w/index.php?oldid=169528 * Hammy2 * (+459) Created page with "{{lowercase}} psilon is just a normal programming language, right? No. It has a special value called that is 1/0. This is by [[User:Hammy]] and was made in like 1 minute lol ==Commands== <pre> i </pre> input <pre> an expression </pre> output the result as ascii <pre> an e
18:57:47 <esolangs> [[User:Hammy/test]] N https://esolangs.org/w/index.php?oldid=169529 * Hammy2 * (+120) Created page with "Hello, world! This page is made to see if you can transclude pages onto themselves. Anyways, bye! {{User:Hammy/test}}"
19:00:45 <esolangs> [[User:Hammy/test1]] N https://esolangs.org/w/index.php?oldid=169530 * Hammy2 * (+390) Created page with ":''For my previous attempt, see [[User:Hammy/test]]. It didn't work.'' I'm trying to transclude pages onto themselves. I'm trying a different trick: oscillating. This has another page transcluded onto it, and that has this transcluded onto it. There should be
19:01:33 <esolangs> [[User:Hammy/test2]] N https://esolangs.org/w/index.php?oldid=169531 * Hammy2 * (+93) Created page with "Hi! This is the other transclusion page of [[User:Hammy/test1]]. Bye. {{User:Hammy/test1}}"
19:03:04 <ais523> I like how MediaWiki gives a clearer error message for template loops nowadays than it used to
19:03:41 <ais523> I was also amused to see how many template loops we already have (there's an autocategory for them) – it's an obvious thing for budding esoprogrammers to try, and they're all in userspace
19:14:02 -!- tromp has joined.
19:28:55 -!- Lord_of_Life has quit (Ping timeout: 240 seconds).
19:29:15 -!- Lord_of_Life has joined.
19:30:46 -!- impomatic has joined.
19:57:44 -!- impomatic has quit (Quit: Client closed).
19:57:57 -!- impomatic has joined.
20:08:06 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169532&oldid=169459 * Waffelz * (+0)
20:38:08 <esolangs> [[User:Hammy/test1]] https://esolangs.org/w/index.php?diff=169533&oldid=169530 * Esolangist alt * (+12) Esolangist alt
20:38:49 <esolangs> [[User:Hammy/test1]] https://esolangs.org/w/index.php?diff=169534&oldid=169533 * Esolangist alt * (+25) Esolangist alt
20:47:22 <esolangs> [[User:Hammy/Template:Recursive]] N https://esolangs.org/w/index.php?oldid=169535 * Esolangist alt * (+53) Created page with "{{#if: {{{1}}} | {{{{{1}}}}} | {{{{FULLPAGENAME}}}}}}"
20:48:52 <esolangs> [[User:Hammy/Template:Recursive/docs]] N https://esolangs.org/w/index.php?oldid=169536 * Esolangist alt * (+183) Esolangist alt
20:52:56 -!- impomatic has quit (Quit: Client closed).
20:53:00 <esolangs> [[User:Hammy/Template:Recursive]] https://esolangs.org/w/index.php?diff=169537&oldid=169535 * Esolangist alt * (+227) Esolangist alt
20:57:33 -!- impomatic has joined.
21:11:18 <esolangs> [[User:Hammy/Template:Whoops]] N https://esolangs.org/w/index.php?oldid=169538 * Esolangist alt * (+638) Created page with "''{{#if: {{{1}}} | Whoops! Maybe you were looking for [[{{{1}}}]]{{#if: {{{2}}} | , or [[{{{2}}}]]}}? | Whoops! Maybe you were looking for... Hmm... Wait, someone forgot to add a parameter to the template! Wait, did I just break the fourth wall?
22:14:47 -!- impomatic has quit (Quit: Client closed).
22:19:39 <esolangs> [[User:Esolangist alt]] https://esolangs.org/w/index.php?diff=169539&oldid=167024 * * (-5) Fixing double redirect
22:30:08 <esolangs> [[User:Buckets]] M https://esolangs.org/w/index.php?diff=169540&oldid=169447 * Buckets * (+11)
22:31:06 <esolangs> [[Language list]] M https://esolangs.org/w/index.php?diff=169541&oldid=169501 * Buckets * (+12)
22:31:24 <esolangs> [[Phind]] N https://esolangs.org/w/index.php?oldid=169542 * Buckets * (+1826) Created page with "{{Stub}} Phind Is An Esoteric programming language created By [[User:Buckets]] in 2022. {| class="wikitable" |- ! Commands !! Instructions |- | < || Left/down -wards Once, Starts as Left. |- | > || Right/up -wards Once, starts As up. |- | ~ || Swap The left/down / Right/
22:31:41 <esolangs> [[Phind]] M https://esolangs.org/w/index.php?diff=169543&oldid=169542 * Buckets * (+1)
22:36:01 <esolangs> [[Tea]] https://esolangs.org/w/index.php?diff=169544&oldid=169532 * Waffelz * (+917)
22:49:00 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
22:50:25 -!- tromp has joined.
22:55:50 -!- Sgeo_ has joined.
22:59:01 -!- Sgeo has quit (Ping timeout: 244 seconds).
23:08:15 -!- tromp has quit (Quit: My iMac has gone to sleep. ZZZzzz…).
23:30:55 <esolangs> [[User talk:Yayimhere]] https://esolangs.org/w/index.php?diff=169545&oldid=169460 * Waffelz * (+229)
23:34:37 <esolangs> [[User:/common.css]] N https://esolangs.org/w/index.php?oldid=169546 * * (+94) Created page with "* {background-color:black !important; color:whitesmoke !important;} a {color:lime !important;}"
23:36:16 <esolangs> [[User:/common.css]] https://esolangs.org/w/index.php?diff=169547&oldid=169546 * * (-68)
23:36:28 <esolangs> [[User:/common.css]] https://esolangs.org/w/index.php?diff=169548&oldid=169547 * * (+1)
23:37:10 <esolangs> [[User:/common.css]] https://esolangs.org/w/index.php?diff=169549&oldid=169548 * * (+2)
23:37:28 <esolangs> [[User:/common.css]] https://esolangs.org/w/index.php?diff=169550&oldid=169549 * * (-1)
23:37:38 <esolangs> [[User:/common.css]] https://esolangs.org/w/index.php?diff=169551&oldid=169550 * * (-28) Blanked the page