←2021-05-25 2021-05-26 2021-05-27→ ↑2021 ↑all
00:00:57 <esowiki> <b_jonas> "<Sgeo> I wonder what a NetHack TCG would be like" => I was wondering about that at some point, and figured out some possible mechanics, but in the end it mostly comes down to making any good TCG core, then flavoring it to nethack by throwing in as many nethack references as you can. Same as you'd make a TCG for a TV series.
00:01:42 <esowiki> <cd> if computerized, the biggest way you could do it is simply to try and have as much foresight as nethack itself
00:01:46 <esowiki> <cd> good luck with that though
00:02:14 <esowiki> <cd> You apply the potion of oil to the iron golem, it's attack power doubles!
00:02:31 <esowiki> <b_jonas> that's an interesting quine, how does the unbalanced double quote work?
00:03:08 <esowiki> <zzo38> You can try to make up templates for the TCG using TeXnicard, perhaps. I also believe that a computer implementation of the rules should be written as FOSS, perhaps using literate programming so that it includes the general text too.
00:03:47 <esowiki> <nakilon> b_jonas it reads it once for start then wraps around the line and reads it again for the end
00:04:32 <esowiki> [[BF-PDA]] https://esolangs.org/w/index.php?diff=83429&oldid=83008 * Bangyen * (-74)
00:04:44 <esowiki> [[BFStack]] https://esolangs.org/w/index.php?diff=83430&oldid=83011 * Bangyen * (-53)
00:05:08 <esowiki> [[EXCON]] https://esolangs.org/w/index.php?diff=83431&oldid=83007 * Bangyen * (-15) /* Interpreter */
00:05:23 <esowiki> [[RAM0]] https://esolangs.org/w/index.php?diff=83432&oldid=83010 * Bangyen * (-53)
00:05:24 <esowiki> <b_jonas> fizzie: bash arbitrary delimiter: there's here-docs, but nothing like perl/ruby's single character delimiter. I would occasionally like a better delimiter for URLs in bash, because neither " nor ' works.
00:06:59 <esowiki> <b_jonas> nakilon: oh! so that's why when I miss the @ builtin you get an infinite loop. that makes much more sense
00:07:12 <esowiki> <nakilon> ye )
00:08:53 <esowiki> <b_jonas> well that makes more sense
00:10:02 <esowiki> <zzo38> I have found ' suitable to delimit URLs in bash
00:11:25 <esowiki> <b_jonas> zzo38: that doesn't work well because URLs can contain ' so then you have to escape it
00:12:15 <esowiki> <b_jonas> $'' doesn't work for the same reason; "" doesn't work because now you have to escape dollar signs
00:14:42 <esowiki> <b_jonas> and yes, this is a small complaing, I do generally like bash
00:14:45 <esowiki> <zzo38> I had never needed to use a URL with '
00:18:45 <esowiki> <nakilon> hey I made it even shorter
00:18:48 <esowiki> <nakilon> \rasel <@,Yj5#?:,"
00:18:51 <esowiki> <velik> output: "<@,Yj5#?:,\"", exit code: 0
00:19:53 <esowiki> <nakilon> both ? branches reach the j, but one gets 5 and another carries own end-loop 0
00:21:50 <esowiki> <nakilon> it's now 1 char shorter than Befunge-98 I guess
00:25:28 -!- xelxebar has quit (*.net *.split).
00:25:28 -!- hendursaga has quit (*.net *.split).
00:31:44 <esowiki> <nakilon> `rasel <@,Yj5#?:,"
00:31:46 <esowiki> <HackEso> ​<@,Yj5#?:,"
00:32:00 <esowiki> <nakilon> valid in both versions
00:35:02 <esowiki> <nakilon> `rasel "tobadbmal olleh >",,,,,,,,,,,,,,,,,@
00:35:06 <esowiki> <HackEso> ​> hello lambdabot
00:35:33 -!- tromp has joined.
00:39:34 -!- dcristofani has quit (Ping timeout: 272 seconds).
00:40:01 -!- tromp has quit (Ping timeout: 265 seconds).
00:41:08 -!- dcristofani has joined.
00:42:40 <esowiki> [[RASEL]] M https://esolangs.org/w/index.php?diff=83433&oldid=83422 * Nakilon * (+7) /* Quine */ 11 chars
01:03:22 -!- xelxebar has joined.
01:04:23 -!- tromp has joined.
01:07:04 -!- hendursaga has joined.
01:09:20 -!- tromp has quit (Ping timeout: 272 seconds).
01:18:43 -!- delta23 has quit (Quit: Leaving).
01:18:51 -!- tromp has joined.
01:23:06 -!- tromp has quit (Ping timeout: 240 seconds).
01:37:03 <esowiki> [[Special:Log/newusers]] create * Aylias * New user account
01:39:48 <esowiki> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=83434&oldid=83411 * Aylias * (+206) /* Introductions */
01:47:24 <esowiki> <fizzie> Heh, I was fiddling in SASL support to my IRC thing (seems to be working now), and noticed I had originally generated a 10-year self-signed cert, which will expire next year. Wonder how I'm supposed to remember something like that.
01:48:17 <esowiki> <int-e> put it into your calendar and hope that it survives the 2 software migrations in the meantime?
01:52:02 <esowiki> <fizzie> Hmm, it might just barely work.
02:13:24 -!- tromp has joined.
02:16:15 <esowiki> <fizzie> Turns out bip doesn't do SASL. :/ (After adding it to the homegrown bot thing, was thinking of setting it up for this human-client connection too.)
02:17:09 <esowiki> <int-e> irssi does. weechat does too, presumably
02:17:45 <esowiki> <fizzie> Yeah, but they're not bouncers.
02:17:46 -!- tromp has quit (Ping timeout: 252 seconds).
02:18:06 <esowiki> <fizzie> I went through this phase of experimenting with clients, and it was convenient to not have that cause any trouble.
02:18:15 <esowiki> <fizzie> (I know ZNC does, but it's too mainstream.)
02:18:22 <esowiki> <int-e> oh bouncers, right
02:18:56 <esowiki> <int-e> well, being mainstream may correlate with growing sasl support
02:19:59 <esowiki> <fizzie> Yeah, I guess. bip does client-side certificates, which is *almost* but not exactly the same.
02:21:23 <esowiki> <fizzie> (Adding a client cert fingerprint to NickServ makes it auto-identify soon *after* connecting, but you still need to do a SASL EXTERNAL thing in the connection registration stage to make it happen before actually connecting.)
02:21:28 <esowiki> <int-e> ...almost, but not quite, entirely unlike tea...
03:07:33 -!- tromp has joined.
03:12:16 -!- tromp has quit (Ping timeout: 265 seconds).
03:16:17 <esowiki> <imode> did y'all get your channel seized on freenode.
03:16:20 <esowiki> <imode> because #lobsters did.
03:16:31 <esowiki> <cd> everyone did
03:16:42 <esowiki> <cd> they've seized every single channel that mentions libera.
03:17:11 <esowiki> <cd> all of them
03:17:17 <esowiki> <imode> and are doing.. what.
03:17:41 <esowiki> <cd> forcibly preventing the channel from leaving, by hiding the fact it moved
03:17:50 <esowiki> <cd> it's redirected to it's ## version, and owned by a placeholder account
03:18:22 <esowiki> <imode> anybody wanna argue about FUD when moving networks now.
03:20:34 -!- Lord_of_Life_ has joined.
03:21:51 -!- Lord_of_Life has quit (Ping timeout: 260 seconds).
03:22:17 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
03:24:54 <esowiki> <imode> bye freenode, fuck you andrew lee.
03:29:09 <esowiki> <pikhq> that's pretty... uh, what did they think was gonna happen
03:29:47 -!- shikhout has joined.
03:29:52 -!- shikhout has quit (Client Quit).
03:32:24 <esowiki> <chibi> pikhq: Probably hope to snag users that haven't realized everyone's movied to libera
03:32:44 <esowiki> <chibi> So uders that log on to IRC maybe once-twice a month or something
03:34:13 <esowiki> <pikhq> i feel like they'd notice the sudden total redirection of all the channels to ## under new management tho
03:34:15 <esowiki> <chibi> I still don't get the hostile takeover of Freenode, I'd assume taking care of the needs and wants of a bunch of smelly computer nerds (present company excluded) would be a much bigger pain in the ass than whatever monetary gains are to be had from owning the IRC chat which they use
03:34:23 <esowiki> [[Special:Log/newusers]] create * Amp * New user account
03:34:40 <esowiki> <pikhq> it is objectively bizarre
03:36:02 <esowiki> <chibi> Who'd buy it and why?
03:36:22 <esowiki> <chibi> There is an objectively negative cost associated with owning and maintaining an IRC network
03:36:56 <esowiki> <chibi> Oh? Could you explain?
03:37:13 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=83435&oldid=83434 * Amp * (+155) /* Introductions */
03:38:16 <esowiki> <chibi> what_the_fuck_am_i_reading.jpg
03:38:18 <esowiki> <Sgeo> I wonder what they do for channels that are in "violation" that are already ##
03:38:25 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=83436&oldid=83435 * Amp * (+67) /* Introductions */
03:38:35 <esowiki> <chibi> >IRC is one of the last few remaining open messaging platforms that anybody can setup and manage their own communities with. No vendor lock in, no black box services.
03:38:42 <esowiki> <chibi> They introduce this like it's a bad thing
03:39:15 <esowiki> [[User:Amp]] N https://esolangs.org/w/index.php?oldid=83437 * Amp * (+2) Created page with "yo"
03:40:10 <esowiki> <chibi> I think I see, so Lee's trying to make Freenode his so he can make it the testbed for his irc.com webshit and sell it to investors?
03:40:17 <esowiki> <FuckAndrewLee> yuh.
03:40:53 <esowiki> <chibi> I'd ask who'd invest in that, but then people invested in juicero so I won't.
03:41:38 <int-e> Goodbye freenode:#esoteric, see you on the other side (where I've already taken up residence, obviously.)
03:41:45 -!- int-e has left.
03:42:14 <esowiki> <keegan> very smart to take over a platform and immediately drive off the entire existing userbase
03:42:33 <esowiki> <keegan> clearly much better than just starting your own irc network from scratch
03:42:35 <esowiki> <keegan> :P
03:43:11 <esowiki> <keegan> is this just a case of capitalists being unable to understand the internet? they can't imagine any way to build things that doesn't involve first displacing an existing group of people?
04:01:39 -!- tromp has joined.
04:06:21 -!- tromp has quit (Ping timeout: 260 seconds).
04:09:14 -!- tromp has joined.
04:14:17 -!- tromp has quit (Ping timeout: 260 seconds).
04:14:52 <esowiki> <zzo38> FORWARD might be a good idea; the rest I don't like. (Also, GZIP is bad because it requires the client software to implement it. Ideally, no special client software should be needed for IRC; such things should be optional.)
04:17:47 <esowiki> <pikhq> like i believe that
04:23:44 -!- tromp has joined.
04:28:50 -!- tromp has quit (Ping timeout: 272 seconds).
04:28:50 -!- dcristofani has quit (Ping timeout: 272 seconds).
04:30:03 <esowiki> <keegan> hehehe
04:36:22 <esowiki> <pikhq> hi soni
04:44:24 -!- dcristofani has joined.
04:46:13 -!- dcristofani has quit (Client Quit).
04:46:25 <esowiki> <zzo38> Soni: That is a possibility, but I recommend not using them anyways.
04:49:55 -!- craigo has joined.
05:10:34 -!- craigo has left ("Leaving").
05:17:58 -!- tromp has joined.
05:20:29 -!- relrod has quit (Quit: This user has migrated to irc.libera.chat.).
05:22:46 -!- tromp has quit (Ping timeout: 265 seconds).
06:02:10 -!- tromp has joined.
06:12:32 -!- tromp has quit (Remote host closed the connection).
06:33:16 <esowiki> <b_jonas> cd: that's a good one, they kickbanned everyone from the existing channels, that will get a lot of people notice that something happened and get them moving
06:33:56 <esowiki> <b_jonas> "<pikhq> i feel like they'd notice the sudden total redirection of all the channels to ## under new management tho" => not really that, more like that suddenly there are much fewer people on
06:34:51 <esowiki> [[Esolang:Community portal]] https://esolangs.org/w/index.php?diff=83438&oldid=83223 * B jonas * (-13)
06:37:19 <esowiki> <b_jonas> keegan: unclear, he might want to just destroy the network completely (without directly stating that) and driving people to competitor forums that he has interest in more secretly
06:38:12 -!- Lymia has left ("Hug~♪").
06:47:56 -!- clog has quit (Quit: ^C).
06:48:15 -!- clog has joined.
06:51:50 -!- tromp has joined.
06:54:01 -!- tromp has quit (Remote host closed the connection).
06:54:15 -!- tromp has joined.
07:00:16 <esowiki> <b_jonas> at least if he wanted to destroy freenode, he had the courtsey of doing it quickly rather than having communities wonder if they should stay or find a new place
07:07:35 <esowiki> [[SF Code]] https://esolangs.org/w/index.php?diff=83439&oldid=83409 * ColorfulGalaxy (disambiguation) * (+226) Recategorization
07:28:16 <esowiki> <b_jonas> Sgeo: "just forcibly changing the topic" => that would have no effect, because NOBODY READS TOPICS ON IRC. they just used the topic as a quick filter to tell which communities redirect users to other networks in more effective ways. grepping topics is easier to automate than looking at project websites to see which projects changed their links.
07:28:45 <esowiki> <b_jonas> fizzie: also, if you feel like my encouragement to make a bridge pressured you, you are hereby absolved, I no longer think a bridge to freenode is helpful
07:31:27 -!- sprock has left.
07:31:30 <esowiki> <keegan> fuck freenode
07:31:41 <esowiki> <keegan> they're dead to me
07:31:43 <esowiki> <keegan> i told them to eat my balls
07:31:51 <esowiki> <keegan> long live libera
07:31:52 <esowiki> <keegan> `coins
07:31:55 <esowiki> <HackEso> ​milecoin wotioncoin limpcoin fakcoin bfccoin smitisorbcoin safenfcoin nrfcoin axicoin aaallyidocoin dermdrcemecoin shakbcoin hyphillecoin sorthcoin codacoin ampucoin hpndersiopcoin nephalcoin percardcoin igncoin
07:50:01 <esowiki> <salpynx> heh, "Leenode" rather than Freenode , via https://news.ycombinator.com/item?id=27287038 > We should stop implicitly legitimizing Andrew Lee's power grab by referring to his dominion as "Freenode"
07:52:28 <esowiki> <b_jonas> hmm, I was just wondering what to rename the network tag of freenode in my irc config so I don't absent-mindedly connect and join it and think I'm correctly connected to IRC
07:52:37 <esowiki> <b_jonas> will probably still go with something else rather than a cheap pun
08:00:20 -!- Sgeo has quit (Read error: Connection reset by peer).
08:00:29 <esowiki> <HackEso> The Realm of Freenode is our homeland. The Chännel dwells in it since... Uhm... Quite a few years ago?
08:00:34 <esowiki> <HackEso> Libera is the land of the future. Probably.
08:00:56 -!- tromp has quit (Remote host closed the connection).
08:01:28 <esowiki> <salpynx> now the leest of nodes?
08:02:20 -!- tromp has joined.
08:04:33 <esowiki> <salpynx> (just realised I misunderstood which was the freest... Libera is free-er than freenode, so is freest...) My attempt at a joke needs to be rewritten accordingly
08:04:44 <esowiki> <b_jonas> int-e: evil tortoise? come on, the lore is obvious. the freenode gods pulled off a miracle of setting up a new network in like two days, with several servers, and led us out of Egypt
08:06:35 <esowiki> <salpynx> Of free nodes, Freenode is leest, Libera is freest?
08:07:17 <esowiki> <salpynx> `? puns
08:07:18 <esowiki> <HackEso> Puns are fun. Ask shachaf about them. But beware of Muphry adding misspellings.
08:09:09 -!- hendursaga has quit (Ping timeout: 240 seconds).
08:11:15 -!- hendursaga has joined.
08:51:20 <esowiki> <nakilon> `` ruby -e "p 'Libera' > 'Freenode'"
08:51:24 <esowiki> <HackEso> true
08:51:38 <esowiki> <nakilon> `` ruby -e "p 'Freenode' > 'Libera'"
08:51:39 <esowiki> <HackEso> false
08:52:51 <esowiki> <lambdabot> True
09:33:49 <esowiki> <nakilon> this "Community-curated" in github repo titles...
09:33:53 <esowiki> <nakilon> what does it even mean
09:34:30 <esowiki> <nakilon> they always have the repo owner who reviews and accepts the pull requests only if he feels so, the same as in any another github repo
09:39:28 <esowiki> <fizzie> Well, that was certainly a thing. Wondering if I should make that bridge a one-way affair, just freenode -> here, so that it would mainly serve the purpose of letting people here notice if someone they know comes in wondering about what's up. (Up until `freenodecom` comes in and forcibly redirects it to ##esoteric, of course, at which point I don't think I'd bother.)
09:39:47 <esowiki> <nakilon> what even more funny is that you could say "well the pull requests should probably pass the CI checks", but nope -- the https://github.com/github/explore/commits/main has the ./script/cibuild script but they don't have CI, lol -- this script threw errors that they fixed only 11 hours ago
09:40:06 -!- dionys has joined.
09:41:40 -!- dionys has quit (Client Quit).
09:41:44 <esowiki> <nakilon> not that it amazes me in any way because I already saw an amazing shit done by github staff
09:43:51 <esowiki> <nakilon> one of their guys took the whole course code of my gem and replaced the source code of another gem on github, not changing the name, nor giving any credits -- just copypoasted the whole code over, with mistakes, and made a pull request -- at first I thought it's someone drunk or indian but nope, he had the "Github staff" badge
09:44:01 <esowiki> <nakilon> *source
09:44:42 -!- dionys has joined.
09:44:57 <esowiki> <nakilon> though still could be drunk
09:45:25 <esowiki> <nakilon> fizzie I think the bridge gives people on freenode know that libera exists
09:45:37 <esowiki> <nakilon> and that we are active here
09:45:49 <esowiki> <nakilon> *makes people
09:46:11 <esowiki> <fizzie> Yeah, it's just there's a number of people who I think prefer not to get their comments forwarded over there. But fair enough, I guess it still does that even if there's odd gaps in the conversation.
09:46:21 <esowiki> <fizzie> Like lambdabot just saying "True" out of the blue. ;)
09:47:11 <esowiki> <nakilon> lol
09:47:20 <esowiki> <fungot> fizzie: disenchanter: ask not, as opposed to the nether world, the chalk pencil, and without a mother. she is usually heard or seen in profile, the demon lord. inhabited or not, have very detailed short-term plans for it had been very upset to find if hearts be wild and wise.
09:47:35 <esowiki> <fizzie> In retrospect, I think that wasn't the best ^style for that.
09:49:02 <esowiki> <nakilon> so on freenode it looks like a demon lord took a control over him
09:49:36 <esowiki> [[While(true)]] https://esolangs.org/w/index.php?diff=83440&oldid=83400 * Aonodensetsu * (+0) /* Quirks */
09:49:52 <esowiki> <nakilon> oh here we go
09:50:06 -!- dionys has quit (Quit: dionys).
09:50:11 <esowiki> [[While(true)]] https://esolangs.org/w/index.php?diff=83441&oldid=83440 * Aonodensetsu * (+0) /* External resources */
09:52:06 -!- dionys has joined.
10:39:23 <esowiki> [[Goatoo]] M https://esolangs.org/w/index.php?diff=83442&oldid=83421 * DynCoder * (+139)
10:40:46 <esowiki> [[User:Sertdfyguhi]] https://esolangs.org/w/index.php?diff=83443&oldid=81241 * Sertdfyguhi * (-27) update
11:09:57 <esowiki> <nakilon> is there any website that provides a ""community driven" " catalogue of irc channels?
11:11:11 <esowiki> <nakilon> I mean only those who already can IRC know about /list, and even they don't immediately know about alis, etc., it would be nice to have some guide over your possible places of interests if you are not in IRC yet
11:13:07 <esowiki> <fizzie> It's not a *curated* list, but there's always https://netsplit.de/channels/?net=libera.chat and such.
11:13:11 <esowiki> <fizzie> It's kind of flaky in what it displays, though.
11:19:35 <esowiki> <arseniiv> hi Am Dm6 G F#add9 Fm7 C6 G what do you think?
11:54:46 <esowiki> [[Esolang talk:Community portal]] https://esolangs.org/w/index.php?diff=83444&oldid=83183 * Fizzie * (+1304) /* Freenode and the future */ Last call for objections.
11:57:22 <esowiki> <nakilon> fizzie it doesn't provide a tree/tags cataloging
11:57:49 -!- sdhand has joined.
11:57:54 <esowiki> <nakilon> arseniiv you mean q3dm6?
11:58:43 <esowiki> <arseniiv> don’t know what q3 is
11:59:02 <esowiki> <nakilon> shame on you
12:00:09 <esowiki> <arseniiv> oh, a Quake map. Didn’t play Quake :)
12:00:32 <esowiki> <arseniiv> I meant the chord D F A B
12:00:46 <esowiki> <b_jonas> from an alis topic search on freenode, there are at least a few channels that still advertise in the topic that they moved to libera, but there are also some that advertise that they moved to oftc or hackint
12:05:41 <esowiki> <fizzie> Are they #channels or ##channels? Although I don't doubt there's exceptions.
12:06:02 <esowiki> <nakilon> arseniiv it's in this classic video starting at 4:00 https://www.youtube.com/watch?v=Kg9RVktBNMA
12:07:22 -!- delta23 has joined.
12:10:23 <esowiki> <b_jonas> nakilon: "community-curated" means that is the software is buggy or badly designed, the maintainer don't accept blame, because it was "the community" that maintained it wrong, according to them
12:23:22 <esowiki> <b_jonas> fizzie: for libera, only ## and ## channels I think
12:23:49 <esowiki> <b_jonas> well no\
12:23:53 <esowiki> <b_jonas> I'm wrong
12:24:31 <esowiki> <b_jonas> fizzie: there are #-channels too, like freenode/#archlinux-security, that say moved to libera in topic
12:25:41 <esowiki> <b_jonas> I'm not attempting to tell how many large channels have such notices in topic, because it's hard to tell how large a channel is when it's moved away, and I don't have historic data
12:26:03 <esowiki> <fizzie> Maybe they changed to that after the big sweep? Or just were missed. Or got their channel back: #go-nuts on freenode was "recovered", and now says "see <website> for official support channels" in topic, which is one way to put it.
12:26:29 <esowiki> <b_jonas> fizzie: yes, they probably changed the topic again after the big sweep. they probably have nothing to lose by changing it again.
12:27:41 <esowiki> <fizzie> Incidentally, on freenode we have ##esoteric set as `+if #esoteric` owned by tswett (who's moved from IRC to Matrix, I think) -- I wonder what would've happened if we had had Libera in the topic.
12:27:53 <esowiki> <fizzie> Given the nature of the channel, I think the best-case scenario (as in, for maximum absurdity) would've been that we'd have have both #esoteric and ##esoteric as invite-only and both forwarding to each other.
12:28:11 <esowiki> <fizzie> But I guess more plausibly they would have reset the modes of ##esoteric to open it up.
12:29:06 <esowiki> <b_jonas> "see <website> for official support channels" => yeah, that's harder to object against, freenode historically had extra channels where the official channel was on another network: ##rust before mozilla irc got shut down, and #gimp or ##gimp (can't recall which)
12:29:25 <esowiki> [[Goatoo]] M https://esolangs.org/w/index.php?diff=83445&oldid=83442 * PythonshellDebugwindow * (+71) /* Language Overview */ Categories
12:29:47 <esowiki> <b_jonas> plus of course such a topic can refer to non-irc forums (though it's less likely to say "channels") for the large number of projects that don't consider the freenode presence official
12:30:23 <esowiki> [[SF Code]] M https://esolangs.org/w/index.php?diff=83446&oldid=83439 * PythonshellDebugwindow * (+0) Move cats to bottom
12:30:30 -!- tromp has quit (Remote host closed the connection).
12:30:35 <esowiki> <b_jonas> "both #esoteric and ##esoteric as invite-only and both forwarding to each other" lol, that would be funny indeed
12:32:58 <esowiki> <fizzie> "Move cats to bottom" <- herding cats, I see.
12:33:15 <esowiki> <fizzie> Oh, cats as in categories; I was assuming examples of the cat program.
12:35:41 <esowiki> <nakilon> there should be a language about cats
12:37:16 <esowiki> <nakilon> oh I see https://esolangs.org/wiki/CAT
12:39:42 <esowiki> [[User:Nakilon]] M https://esolangs.org/w/index.php?diff=83447&oldid=81104 * Nakilon * (+28) added Libera
12:43:22 <esowiki> <FireFly> what's a brctl?
12:43:36 <esowiki> <FireFly> oh the bridge
12:43:39 <esowiki> <nakilon> bridge something
12:44:36 <esowiki> <fizzie> I named it after brctl(8), the Linux utility to control Ethernet bridges.
12:45:05 <esowiki> <fizzie> ("ctl" is presumably short for "control".)
12:51:10 -!- tromp has joined.
12:53:49 <esowiki> <arseniiv> or cuttle[fish]
12:59:57 <esowiki> <nakilon> does fungot connect to IRC via some network funge-98 extension or is it another process that connects?
12:59:57 <esowiki> <fungot> nakilon: they say that a large number, led a semi-independent life of mortals with a curved single-edged blade. its body around in such a way that it was a blade like a hell-broth boil and bubble." the bushmen say that when invoked, it is inescapable once earned. he is small, has dark skin and wears strange clothes.
13:00:22 <esowiki> <Taneb> ^source
13:00:22 <esowiki> <fungot> https://github.com/fis/fungot/blob/master/fungot.b98
13:03:42 <esowiki> <nakilon> so it's http://rcfunge98.com/rcsfingers.html#SOCK ?
13:03:58 <esowiki> <Taneb> Certainly seems possible
13:18:13 <esowiki> <fizzie> Yes, it does the sockets with SOCK.
13:18:24 <esowiki> <fizzie> Otherwise it'd be cheating. ;)
13:18:54 <esowiki> <fizzie> https://github.com/fis/fungot/#running lists the required fingerprints, for the record.
13:18:54 <esowiki> <fungot> fizzie: dark room? your chance to develop your photographs!' ( brignall banks, by h. rider haggard)
13:19:36 <esowiki> <fizzie> I do run a (bip) bouncer between it and the actual network for stability and TLS support, though.
13:20:08 <esowiki> <fizzie> Which also might mean if it's not responding but still online, the cfunge process has crashed but the bouncer hasn't. Not that it's really happened yet.
13:20:20 <esowiki> <fungot> cd: orion, sirius: orion was the daughter of jupiter and juno. ( capitalized:) a constellation of the king," he said desperately, " one rest")
13:20:33 -!- dionys has left.
13:20:45 <esowiki> <Taneb> Many years ago when I made Pietbot it cheated because Piet doesn't have network IO
13:20:50 <esowiki> <Taneb> I wonder how many esolangs do
13:20:50 <esowiki> <nakilon> esobot: "It listens for the MediaWiki UDP "recent changes" feed" -- interesting, so the bot listens to the local network for the message? I wish there something similar in web because otherwise you have to reread the whole, let's say, RSS/Atom feed and store somewhere what was the last id you've processed, and then the feeder has to follow the
13:20:50 <esowiki> <nakilon> order of items otherwise you have to read them all and sort, etc. etc.
13:21:49 <esowiki> <nakilon> "Otherwise it'd be cheating" -- yeah otherwise it would be no point in writing features in funge is you already have the IRC communicator written in something more trivial and probably extendable
13:22:17 <esowiki> <fizzie> Yeah, MediaWiki can post changes formatted as JSON/XML/"IRC" and post them either as raw UDP or via Redis Pub/Sub.
13:22:53 <esowiki> <fizzie> https://www.mediawiki.org/wiki/Manual:$wgRCFeeds
13:23:25 <esowiki> <Taneb> (I think I just hooked the piet interpreter up to netcat)
13:23:46 <esowiki> <b_jonas> ok so this is a silly and esoteric idea, but what if the guy who bought freenode is, besides being rich (which we know) is an eccentric (possibly amateur) social scientist who got intrigued by how even though the covid pandemic destroyed a lot of in person communities, it also made stronger communities quickly formed online and strengthened people's sense of community and caring about each other in
13:23:52 <esowiki> <b_jonas> general, and wanted to do another experiment to see how this reproduces?
13:24:17 <esowiki> <Taneb> That seems... unethical
13:24:40 <esowiki> <nakilon> "or via Redis Pub/Sub" -- unfortunately there is no such thing as public pub/sub that websites would provide for random users
13:24:50 <esowiki> <nakilon> as an alternative to RSS
13:25:05 <esowiki> <fizzie> socat made it possible to use TLS (...well, after updating to a more recent version supporting SNI...), I don't think netcat flavors at least generally support that.
13:25:37 <esowiki> <fizzie> So that nobody can snoop in on HackEso's network password, impersonate it, and thus gain control of mission-critical infrastructure.
13:26:03 <esowiki> <b_jonas> "Otherwise it'd be cheating." => um, yes, but there was an ICFP contest judge's prize winner that was written in Metafont and used an external command for the socket connections because apparently Metafont doesn't have a built-in way to do this, and we don't want to say that that one is cheating, so we may let it slide for a befunge program too
13:26:15 <esowiki> <fizzie> (I'm assuming there's mission-critical infrastructure accepting commands from HackEso when it's authenticated to NickServ, which may be a little bit of a stretch.)
13:26:35 <esowiki> <Taneb> b_jonas: I think it might be OK when the language has no network IO
13:26:54 <esowiki> <fizzie> Yeah, I think that's the distinction. It's not cheating for Piet either, because there's just no way.
13:27:25 <esowiki> <fizzie> Although arguably that whatever-that-thing-was would have been a more esoteric solution.
13:27:37 <esowiki> <nakilon> "strengthened people's sense of community" -- I'm still not sure it was about sense of community rather than hate to Korean nation or that he had a taste to chose the word "Imperial" to his company name
13:27:45 <esowiki> <fizzie> That thing that was supposed to provide advanced I/O to brainfuck and other similar single-stdin/out languages.
13:29:05 <esowiki> <b_jonas> nakilon: I'm not saying that it's definitely true, but it's a theory that some people seriously mentioned, and so an experiment may make sense
13:29:07 <esowiki> <fizzie> I can't remember the name. Was Sgeo involved with it? Anyway, we talked about it. Not having much luck finding hits on the wiki either.
13:29:50 <esowiki> [[Special:Log/upload]] upload * Oshaboy * uploaded "[[File:Hello World Stegfuck.png]]"
13:29:53 <esowiki> <b_jonas> as in for an independently rich amateur scientist who isn't bound by a university medical ethics community or peer-reviewed journals who will boycott them and make their whole carreer harder
13:31:25 <esowiki> <nakilon> people love to join the shitthrowing parties AFTER the real problems already took the place, and don't love to investigate what they were
13:33:05 <esowiki> <nakilon> the whole point of "investigation" and "finding the roots, the causes" seems to be not interesting
13:34:29 <esowiki> [[Special:Log/upload]] upload * Oshaboy * uploaded "[[File:Cat program stegfuck.png]]"
13:35:27 <esowiki> <nakilon> this mediawiki event doesn't have a link
13:35:51 <esowiki> [[Special:Log/upload]] upload * Oshaboy * uploaded "[[File:Lost kingdom StegFuck.png]]"
13:38:40 <esowiki> [[StegFuck]] N https://esolangs.org/w/index.php?oldid=83451 * Oshaboy * (+1152) Initial
13:39:01 <esowiki> [[StegFuck]] https://esolangs.org/w/index.php?diff=83452&oldid=83451 * Oshaboy * (-7)
13:40:13 <esowiki> [[StegFuck]] M https://esolangs.org/w/index.php?diff=83453&oldid=83452 * Oshaboy * (+8)
13:42:32 <esowiki> <nakilon> oh I already started installing netpbm to figure out his steganography but has already created a page
13:45:00 <esowiki> [[4BOD]] M https://esolangs.org/w/index.php?diff=83454&oldid=83401 * Oshaboy * (+78) Added information about 1 of the instructions
13:48:01 <esowiki> [[StegFuck]] M https://esolangs.org/w/index.php?diff=83455&oldid=83453 * Oshaboy * (+2) Fixed dead links
13:48:38 <esowiki> [[StegFuck]] https://esolangs.org/w/index.php?diff=83456&oldid=83455 * Oshaboy * (+0)
13:48:46 <esowiki> [[StegFuck]] https://esolangs.org/w/index.php?diff=83457&oldid=83456 * Oshaboy * (-4)
14:07:09 <esowiki> <nakilon> wtf
14:07:37 <esowiki> [[StegFuck]] https://esolangs.org/w/index.php?diff=83458&oldid=83457 * Oshaboy * (+406) added extra information
14:08:04 <esowiki> <nakilon> #homebrew automatically kicks you while ##homebrew topic is Discussion on the domestic production of potable liquids
14:08:07 <esowiki> <nakilon> Libera is weird
14:08:10 <esowiki> <APic> ☺
14:10:08 <esowiki> <fizzie> Same founder on both, and I guess that's a valid interpretation of the word too...
14:10:46 <esowiki> <fizzie> netsplit.de's channel topic view suggests ##homebrew on freenode is also on that topic, and #machomebrew is the package manager.
14:11:10 <esowiki> <Taneb> What if I want to run my own software on a Nintendo DS
14:11:15 <esowiki> <nakilon> oh indeed
14:12:19 <esowiki> <nakilon> Taneb IIRC it's illegal
14:12:38 <esowiki> <Taneb> I think it just voids the warranty and Nintendo doesn't like it
14:13:15 <esowiki> [[StegFuck]] https://esolangs.org/w/index.php?diff=83459&oldid=83458 * Oshaboy * (+287) More details
14:13:29 <esowiki> <nakilon> but I wonder if it's legal to squat the #homebrew just to kick people with macs
14:14:47 <esowiki> [[StegFuck]] https://esolangs.org/w/index.php?diff=83460&oldid=83459 * Oshaboy * (+9) link
14:15:01 <esowiki> [[User:Oshaboy]] N https://esolangs.org/w/index.php?oldid=83461 * Oshaboy * (+4) Created page with "Heyo"
14:15:02 <esowiki> <nakilon> it's like... they could not decide who should own #homebrew and made it like this
14:15:55 <esowiki> <fizzie> For the *concept* of homebrew on consoles, I think there's at least some more specific channels. But the package manager is just called "Homebrew". I doubt they have any registered trademarks or anything?
14:16:11 <esowiki> <b_jonas> nakilon: was it actually called "#homebrew" previously on freenode?
14:16:30 <esowiki> <nakilon> b_jonas have no idea
14:16:32 <esowiki> <b_jonas> I know there were apple homebrew guys on freenode, but I don't know if they used that particular channel name
14:16:34 <esowiki> <fizzie> AFAICT it's been called #machomebrew on freenode.
14:16:41 <esowiki> <Taneb> I keep reading that as macho me brew
14:16:46 <esowiki> <b_jonas> I think they used multiple channels (no surprised there)
14:16:50 <esowiki> <nakilon> it's #machomebrew now as fizzie said
14:17:01 <esowiki> <Taneb> Weightlifters drinking tea
14:17:22 <esowiki> <b_jonas> well that makes sense then
14:17:45 <esowiki> <b_jonas> presumably the folks on ##homebrew are used to lost people enough that they just direct them to the right place
14:17:49 <esowiki> <nakilon> but the software isn't and probably never was called machomebrew
14:17:57 <esowiki> <b_jonas> like we used to with the other kind of esoterica
14:17:59 <esowiki> <b_jonas> oh, that reminds me
14:18:02 <esowiki> <b_jonas> what do we do with the
14:18:03 <esowiki> <b_jonas> `welcome
14:18:07 <esowiki> <HackEso> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (For the other kind of esoterica, try #esoteric on EFnet or DALnet.)
14:18:07 <esowiki> <b_jonas> message now?
14:18:09 <esowiki> <fizzie> The software's official twitter account is @MacHomebrew as well.
14:18:30 <esowiki> <nakilon> hmmm
14:18:43 <esowiki> <Taneb> b_jonas: I vote just removing the parenthetical
14:18:58 <esowiki> <fizzie> We are forwarding #esoteric into here, though.
14:19:00 <esowiki> <b_jonas> Taneb: ok, but it's tricky because there are copies in like ten languages
14:19:06 <esowiki> <b_jonas> fizzie: oh yes, you have a point
14:19:16 <esowiki> <Taneb> fizzie: hmm, yeah, in that case it probably ought to stay
14:19:23 <esowiki> <fizzie> It's not impossible that someone will join in search "for the other kind of esoterica", though probably quite unlikely.
14:19:47 <esowiki> <b_jonas> I guess we'll seen in half a year
14:20:10 <esowiki> <nakilon> ok maybe it was machomebrew initially, I missed that time probably
14:20:29 <esowiki> <nakilon> because their twitter is older than @homebrew one
14:21:01 <esowiki> <fizzie> Now I can't stop reading it as macho-me-brew.
14:21:05 <esowiki> <fizzie> `thanks Taneb
14:21:06 <esowiki> <HackEso> Thanks, Taneb. Thaneb.
14:22:41 <esowiki> <nakilon> `thanks HackEso
14:22:43 <esowiki> <HackEso> Thanks, HackEso. ThackEso.
14:23:04 <esowiki> <nakilon> `thanks fizzie
14:23:04 <esowiki> <HackEso> Thanks, fizzie. Thizzie.
14:23:12 <esowiki> <nakilon> `thanks brrrrr
14:23:13 <esowiki> <HackEso> Thanks, brrrrr. Trrrrr.
14:24:04 <esowiki> <Taneb> :)
14:26:05 <esowiki> <nakilon> rust depends on python wtf
14:26:40 <esowiki> [[StegFuck]] M https://esolangs.org/w/index.php?diff=83462&oldid=83460 * Oshaboy * (+8) /* Overview */
14:28:09 <esowiki> <nakilon> trying to figure out what to uninstall because homebrew updates EVERYTHING once in a while and it took half an hour; and I have no idea why two commands from SO to "draw a dependency tree" are so different but python is like covid here... https://dpaste.org/416M/slim#L
14:34:01 <esowiki> <nakilon> ruby doesn't use it
14:34:42 <esowiki> <nakilon> these are all needed to build ruby https://dpaste.org/416M/slim#L2281,2282,2283,2284,2285,2286
14:35:09 <esowiki> <nakilon> why install through different package managers if there is one?
14:35:27 <esowiki> <nakilon> everything installs with brew
14:36:38 <esowiki> <nakilon> why do you think I need "to manage rust toolchain"?
14:37:49 <esowiki> <nakilon> "brew install rust" somehow was enough to then "rust install ..." or whatever it was to install some rust program that btw I'll probably deinstall now since I don't remember it even
14:38:42 <esowiki> <nakilon> I guess I didn't build rust from source and this "tree draw" command just fakes it
14:39:15 <esowiki> <nakilon> basically homebrew downloads everything precompiled for my current mac os version
14:39:44 <esowiki> <nakilon> https://dpaste.org/416M/slim#L2281,2282,2283,2284,2285,2286,6384,6385,6386,6387,6388
14:39:55 <esowiki> <nakilon> I guess this means right side is more correct
14:41:57 -!- Sgeo has joined.
14:43:04 <esowiki> <nakilon> I see, "This is similar to Ruby's rbenv, Python's pyenv, or Node's nvm." -- rustup docs
14:43:38 <esowiki> <nakilon> (nvm is actually was a clone of rvm, not rbenv but whatever)
14:46:16 -!- Lord_of_Life has left ("Konversation terminated!").
15:37:50 <esowiki> <nakilon> I hoped the visualization would make the tree more obvious, heh https://imgur.com/a/yclpTkR
15:39:00 <esowiki> <fizzie> Judging by what that looks like, that must be neato/fdp. Do it with dot instead: it'll be a lot more obvious, but a gigantic and full of blank space.
15:39:15 <esowiki> <nakilon> btw java has made "jenv" too now
15:39:29 <esowiki> <Taneb> fizzie: there's two images there and the first one looks dotty
15:39:32 <esowiki> <nakilon> fizzie dot is upper one
15:40:06 <esowiki> <Taneb> nakilon: can you get it to drop edges implied by transitivity
15:40:27 <esowiki> <fizzie> Sorry, I think the rectangle for it was shaped too much like an ad banner and I was blind to it. ;)
15:41:09 <esowiki> <nakilon> would be cool if there was a built-in graphviz filter that would concat "nodes that have the same set of ins and outs" with "\n" into a single node
15:41:44 <esowiki> <nakilon> Taneb I didn't process the graph myself, it's https://github.com/martido/homebrew-graph
15:43:26 <esowiki> <Taneb> Ah
15:43:45 <esowiki> <fizzie> I seem to remember a force-directed graph vizualizer you could manually "shake" to untangle it, and then freeze the result, but I don't remember where that was. That's the kind of human/machine hybrid algorithms we need more of. (To convince the machines to keep us around.)
15:44:11 <esowiki> <fizzie> Maybe one day they can 3D print that out of springs and you can try to physically sort it out.
15:45:06 <esowiki> <nakilon> did I tell about the "reconstruct cats" contest?
15:46:15 <esowiki> <nakilon> there was such contest on codeforces where there were thousands of shredded cat pics and you had to restore them; so IIRC lots of guys in top were making hybrids that you could "shake" a cat
15:46:42 <esowiki> <nakilon> unfortunately I can't code GUI
15:47:23 <esowiki> <nakilon> so my cats mostly looked like this https://codeforces.com/predownloaded/6f/ed/6feddc5ed6240a9e1e61b4b089c00e796bda163d.png
15:47:50 <esowiki> <nakilon> but it would be pretty much real to process all the cats because the contest lasted a month
15:48:17 <esowiki> <b_jonas> nakilon: how do you even scan shredded photos? that sounds very hard
15:49:02 <esowiki> <nakilon> b_jonas they were accurately sliced in NxN pixels depending on the dataset
15:49:43 <esowiki> <b_jonas> ah, so digitally shredded to nice square blocks
15:50:01 <esowiki> <fizzie> Speaking of scanning, my former university had scanned my Master's thesis and sent me a link to verify it looks like what I wrote (+ a checkbox for e-publishing permissions).
15:50:25 <esowiki> <fizzie> All the pages were there, but there was a pretty noticeable broad brown smear exactly vertically across each page.
15:50:29 <esowiki> <b_jonas> fizzie: nice, when is that Master's thesis from? didn't you already make it full digital?
15:50:30 <esowiki> <nakilon> b_jonas yeah
15:50:33 <esowiki> <fizzie> I think they need to clean their scanning machine.
15:50:55 <esowiki> <nakilon> but what demotivated me and I stopped solving prematurely -- is that the chunks had resize kernel artifacts
15:51:12 <esowiki> <nakilon> the squares didn't connect ideally
15:51:20 <esowiki> <nakilon> there were bright and dark lines along the edges
15:51:38 <esowiki> <b_jonas> I think when I submitted my Master's thesis, they asked for a digital copy, and I published a digital copy in any case. I'm not sure if that was like mandatory, or if people were still allowed to make it partly non-digitally though.
15:52:13 <esowiki> <nakilon> so it was their fault actually -- they could resize and then cut but they cut and then resized
15:52:17 <esowiki> <fizzie> b_jonas: *I* made it digitally (of course), but even though it wasn't that long time ago (2009), it still predated their process revamp of accepting digital submissions, so the official approved version is the printed and bound book.
15:52:38 <esowiki> <fizzie> I think post-2015 or so the official copy of record will have been the digital version.
15:52:48 <esowiki> <b_jonas> fizzie: I mean in my case the main copies were still printed and bound, but they asked a digital copy in addition
15:53:16 <esowiki> <b_jonas> which makes sense, it's a pretty free and useful thing to do to ask for a digital copy
15:53:41 <esowiki> <nakilon> I don't have a thesis
15:53:42 <esowiki> <fizzie> Yeah, the FAQ of the scanning project said something about how they can't accept a better-quality digital version because for reasons™ the thing available in their database must be exactly what was inspected for approval.
15:53:48 <esowiki> <nakilon> I didn't finish the university
15:54:04 <esowiki> <nakilon> was expelled for inability to run damn 3km in time
15:55:09 <esowiki> <b_jonas> well yes, admittedly I also don't have the original version on public internet either, I have the version with the exactly one typo that I found a few months later fixed
15:56:03 <esowiki> <Taneb> My thesis was awful and I kind of wish I had the opportunity to try again
15:56:28 <esowiki> <Taneb> I do not have a copy to hand
15:59:11 <esowiki> <b_jonas> well sure, my thesis is bad too
15:59:18 <esowiki> <b_jonas> most people's master's thesis is
15:59:45 <esowiki> <Taneb> Mine especially so, I was not having a good time mental health wise and sought help way too late
16:00:06 <esowiki> <Taneb> So handed in 12 pages of rubbish and somehow passed
16:08:23 <esowiki> [[Special:Log/newusers]] create * Alee * New user account
16:10:23 <esowiki> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=83463&oldid=83436 * Alee * (+88) /* Introductions */
16:10:49 <esowiki> [[User:Alee]] N https://esolangs.org/w/index.php?oldid=83464 * Alee * (+13) write intro
16:13:53 <esowiki> <fizzie> AIUI I could put any version I like on the public web if I want (not that I think anyone would find it very interesting), this was specifically the university wanting to make their library's publication archive ("full text materials produced in the university, such as theses, journal articles, conference publications and research") include this old stuff too, I think covering all theses from 1960-2015 or
16:13:59 <esowiki> <fizzie> so.
16:14:10 <esowiki> <fizzie> The FAQ also says something about it freeing up valuable archival space, which might be the real motivation here.
16:26:11 -!- LKoen has joined.
16:33:42 <Guest75150> So i guess everyone is on libera
16:36:57 <nakilon> they forced me!
16:37:55 -!- tromp has quit (Remote host closed the connection).
16:49:44 <esowiki> <b_jonas> fizzie: yeah. old thesis are one of the hardest to find references to track down in libraries, though that's usually about PhD thesis, and they want to continue that tradition
16:55:11 <fizzie> If your #channel wasn't `+spimf ##channel`d by freenodecom, it doesn't count as forcing. ;)
16:55:30 <fizzie> I really would like to know what their tooling would have done given that ##esoteric is already +f #esoteric here, but I guess there's bound to have been a lot of those channels, so it was probably accounted for.
16:59:54 <esowiki> <pikhq> I wouldn't be so sure
17:00:23 -!- int-e has joined.
17:00:31 -!- int-e has left.
17:11:34 -!- tromp has joined.
17:12:29 <esowiki> <fungot> int-e: they say that a hacker named david once slew a giant. he was such a shabby monk to dinner? he invites the very devil, a founding member of the yellowish linen whereof those of the triumph of morgoth elves and men were allies and held aloft the sacred icon. the denticles on its skin muted the whoosh of its body around in such a shabby monk to dinner? he invites the very devil, an army general invited the buddhist monk, mo
17:12:57 <esowiki> <fizzie> You can also have it ignore all mentions of your name, which is not going to be at all confusing.
17:13:08 <esowiki> <fizzie> Though I'm not sure how long we'll be keeping the bridge for.
17:15:57 -!- tromp has quit (Ping timeout: 260 seconds).
17:16:21 <esowiki> <fizzie> I think the main argument for is, it's a way to let any returning old-time regulars (who might have missed all the excitement) to know about this place. We do get some every now and then. Though it's discoverable via other means (wiki, logs page) too.
17:17:59 <esowiki> <nakilon> excitement
17:19:25 <esowiki> <velik> output: "73 39 109 32 97 108 105 118 101 33 ", exit code: 0
17:19:30 <esowiki> <nakilon> damn
17:19:51 -!- carterisonline has joined.
17:20:13 -!- carterisonline has quit (Client Quit).
17:20:36 <esowiki> <fizzie> The word EVILAPEEK_OS appears in that noisy bot's source code (in the error message if setting SO_KEEPALIVE fails).
17:23:42 <esowiki> <nakilon> enough amount of funge code might have all the magic words you need to spawn something evil
17:25:13 -!- HackEso has quit (Remote host closed the connection).
17:25:45 -!- joast has quit (Ping timeout: 260 seconds).
17:25:47 -!- HackEso has joined.
17:31:27 <esowiki> <nakilon> privmsg it
17:31:32 <esowiki> <nakilon> or notice
17:33:51 <esowiki> <fizzie> I need the ignore list to be printable in order to copy it back to the config file because persistence is hard. ;) I can make the bridge commands respond by privmsg, I made them public mostly so that people can learn how it works by osmosis. Also, if we don't keep the bridge up it'll also stop being a problem.
17:37:55 -!- tromp has joined.
17:38:17 <esowiki> [[SF Code]] https://esolangs.org/w/index.php?diff=83465&oldid=83446 * JaydenIrwin * (+42) updated toggle description
17:39:21 -!- joast has joined.
17:41:14 <esowiki> [[SF Code]] M https://esolangs.org/w/index.php?diff=83466&oldid=83465 * JaydenIrwin * (+92) sf symbols link
17:48:31 -!- tromp has quit (Remote host closed the connection).
17:54:36 <esowiki> <zzo38> Even on news.software.readers they write about abandoning Freenode (for the IRC about slrn), too.
17:56:46 <esowiki> <zzo38> I think that the bridge could be discarded soon, and the logs then being fully on this IRC only. I don't know how soon; that is up to whoever set it up
17:58:37 <esowiki> <nakilon> imgur refused to eat these images now
17:58:40 <esowiki> <nakilon> https://imgchest.com/p/pagyvmeky89
17:59:40 <esowiki> <nakilon> so joining them in groups gave no much profit
18:00:54 <esowiki> <nakilon> hm, actually those huge groups in the corner don't look right
18:00:58 <esowiki> <nakilon> bug
18:03:09 -!- olsner has joined.
18:03:27 -!- ais523 has joined.
18:03:43 -!- tromp has joined.
18:03:59 -!- olsner has left.
18:07:00 -!- ais523 has left.
18:08:41 -!- tromp has quit (Ping timeout: 260 seconds).
18:14:41 <esowiki> <fizzie> nakilon: I expect the proposed "remove edges implied by transitivity" (while not exactly trivial to express) trick could help declutter the dot version more, since it's particularly those edges that are a problem. Though it's not exactly representing the same thing at that point, because there's a difference in directly depending on something vs. transitively depending on something.
18:15:22 <esowiki> <nakilon> fizzie I'm afraid I don't really understand the "remove edges implied by transitivity"
18:15:54 <esowiki> <nakilon> I didn't have master thesis ..D
18:15:58 <esowiki> <fizzie> nakilon: Well, for example, your graph has the edges vips -> libexif, libeexif -> gettext but also vips -> gettext.
18:16:14 <esowiki> <fizzie> That last edge could be removed, because vips -> gettext is implied by the first two.
18:16:23 <esowiki> <nakilon> ah, I see
18:16:57 <esowiki> <fizzie> It may or may not really help enough to be worth the trouble, and again it'd give a bit of a skewed picture.
18:17:01 <esowiki> <nakilon> I'll do that after I finish this one
18:17:46 <esowiki> <fizzie> (Because removing the edge makes the output imply if you make vips no longer depend on libexif, it doesn't need a gettext dependency either, which isn't true.)
18:23:30 <esowiki> <fizzie> IME, in large build dependency graphs an interesting way to get still-understandable output is to focus on the question "why exactly does building X depend on Y" (where you pick a particular pair X, Y of interest), and then find all the edges and nodes that are in any path between those two, and keep only those. It gives you a visual indication of whether it's just one weird dependency in the wrong place
18:23:36 <esowiki> <fizzie> that's pulling the rest in, or whether it's something more systematic.
18:29:46 <esowiki> <nakilon> seems like datastructure {node->[node, node, ...], node->[ .. ], ...} sucks
18:30:15 <esowiki> <nakilon> gotta convert it do [[node1, node2], [node1, node3], ... ]
18:33:10 -!- tromp has joined.
18:34:21 -!- ais523 has joined.
18:36:51 -!- ais523 has quit (Client Quit).
18:50:39 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”).
18:58:16 -!- abraham has joined.
19:08:28 <esowiki> [[User:CatCatDeluxe]] https://esolangs.org/w/index.php?diff=83467&oldid=80754 * CatCatDeluxe * (-4)
19:08:40 <esowiki> [[User:CatCatDeluxe]] M https://esolangs.org/w/index.php?diff=83468&oldid=83467 * CatCatDeluxe * (+1)
19:09:07 <esowiki> <nakilon> looks like #help here now is a place for politics and shit
19:09:56 <esowiki> <nakilon> I'm not saying they ircops don't help when someone asks; I mean the channel looks opened for flame currently
19:10:41 <esowiki> <fizzie> The *help* channel is supposed to be #libera, that's what the topic of #help says.
19:10:57 <esowiki> <fizzie> Though #libera is, unsurprisingly, full of the same sort of discussions.
19:11:15 <esowiki> <fizzie> (I'm just there to lurk to get some idea about the community registration queue.)
19:13:17 -!- abraham has quit (Killed (tildes.freenode.net (Nickname regained by services))).
19:15:52 <esowiki> <arseniiv> could anyone advice something on representing all generalized circles (so, lines and circles) uniformly? Let’s say I have a thing which applies inversions to them and it shouldn’t try to distinguish lines from circles (and use different algorithms and representations: we’re dealing with floating point, that’d be a wrong decision!)
19:17:46 <esowiki> <nakilon> what?
19:19:24 <esowiki> <arseniiv> I heard something about conformal embedding or like that but I don’t know where to read something clear about that. Like projective or affine stuff goes one dimension higher, this one should (if I’m not mistaken) go up two. And there’s something with null cone and projecting parabolas from it to lines and I’m afraid of that all and don’t want to rediscover it at all
19:20:23 <esowiki> <arseniiv> int-e: do you represent some line and circle segments in your Möbius visualizations BTW?
19:21:01 <esowiki> <arseniiv> my context is the same: I think about applying Möbius transformations to generalized circles in a safe and rational manner
19:21:50 <esowiki> <arseniiv> would we go up a dimension, I’d need to make something about generalized spheres too
19:22:06 <esowiki> <arseniiv> thankfully I’m not that greedy yet!
19:22:34 <esowiki> <arseniiv> oh right I’ll go frighten ##math
19:22:40 <esowiki> <rasengone> arseniiv: alright, I'll bite. generalized circles?
19:22:51 <esowiki> <rasengone> isn't that just a single value in all dimensions, distance?
19:23:00 <esowiki> <rasengone> i.e radius.
19:23:51 -!- Thelie has joined.
19:24:41 <esowiki> <arseniiv> rasengone: even in the circle case, we need to specify not just radius, but also its center. A line needs two points. But these ways aren’t unified at all
19:25:20 <esowiki> <rasengone> arseniiv: that's interesting.
19:25:30 <esowiki> <rasengone> are lines not special cases of circles?
19:25:41 <esowiki> <rasengone> where the cut point is specified.
19:26:48 <esowiki> <arseniiv> in geometries which admit inversion (like this Möbius group) they are all the same, of course, but that doesn’t help by itself, it just reinforces the desire to represent them unified
19:28:23 <esowiki> <rasengone> well that's the thing, you can specify them by two points, still.
19:28:36 <esowiki> <rasengone> or three, rather.
19:28:50 <esowiki> <arseniiv> but that won’t be unique
19:28:57 <esowiki> <rasengone> lemme think about this.
19:28:58 <esowiki> <arseniiv> though that might be a good start
19:29:02 <esowiki> <arseniiv> I feel there’s no way around that conformal cone stuff but I don’t want to google it potentially for hours
19:29:26 <esowiki> <arseniiv> b_jonas adviced a neat projective book but it’s just about that
19:35:24 <esowiki> <nakilon> now grouping looks correct https://i.postimg.cc/LmccZFTV/image.png and https://i.postimg.cc/6KcBFTzJ/image.png
19:35:39 <esowiki> <nakilon> but dot render became larger
19:41:40 <esowiki> <rasengone> arseniiv: what if you used a space-filling loop.
19:41:53 <esowiki> <rasengone> and defined lines as normalized segments of that loop.
19:42:05 <esowiki> <rasengone> dunno, just spitballing.
19:45:08 -!- tromp has quit (Remote host closed the connection).
19:49:04 <esowiki> <arseniiv> rasengone: hm
19:49:55 <esowiki> <rasengone> everything is either a line or a circle.
19:52:26 <esowiki> <arseniiv> BTW I suddenly think I realized the basic principle there! I read something like that in physics books, the conformal geometry of the sky sphere or something. So it I get that as they intended, we take the null cone that’s alright. But then we treat null lines in it as points, like we did with projective geometry, but in this case just those lines and no other ones. They are the points of the sky sphere, it transforms conformally under Lorentz transf
19:52:26 <esowiki> <arseniiv> ormations (which fix the null cone)
19:52:56 <esowiki> <arseniiv> and now we stereographically project that sky sphere onto a plane
19:52:56 <esowiki> <arseniiv> bam it’s the plane which we want to describe
19:54:05 <esowiki> <arseniiv> though I don’t yet have stereographic transform sufficiently internalized. It’s hard to me to work with it, to write anything at all in linear algebra terms
19:54:19 <esowiki> <arseniiv> I also opened that projective book, maybe it contains some clues too!
19:55:31 <esowiki> <arseniiv> the idea “sky sphere → stereographic projection” seems palatable though. And I’m almost sure that is what I seek; circles on the sphere map to generalized circles on the plane
19:56:27 <esowiki> <nakilon> I think I came up with 3 algorithms for the "transitive reduction" but all they fuck up the rhombuses
19:56:36 <esowiki> <arseniiv> and they can grow and shrink and so any single gen. circle can map to any other gen. circle, which should be possible, a sanity check
19:56:49 <esowiki> <arseniiv> nakilon: do you do something with graphs?
19:56:58 <esowiki> <arseniiv> sorry didn’t logread
19:57:01 -!- upupbb-user2 has joined.
19:57:36 <esowiki> <nakilon> arseniiv guys proposed to apply transitive reduction to https://i.imgur.com/MV6S0BH.png
20:00:41 <esowiki> <arseniiv> nakilon: ah, reasonable! To get something like whatsitcalled… someone’s diagram. Hasse, I think. That name wouldn’t help, though, that’s just for completeness. Have you considered an algorithm which tries to assign levels to nodes and then layout them based on those levels?
20:01:37 -!- upupbb-user2 has quit (Ping timeout: 260 seconds).
20:01:40 <esowiki> <arseniiv> it seems that may work poorly though, conflating ways to layout almost independent nodes
20:04:50 <esowiki> <nakilon> I think I can breadth-first traverse down from each node discarding all edges that were walked on previous layers during this starting node iteration
20:06:03 <esowiki> <nakilon> *discarding edges to the nodes that were reached on previous layers
20:06:13 <esowiki> [[Talk:Unsquare]] https://esolangs.org/w/index.php?diff=83469&oldid=83417 * Bangyen * (+102) /* Examples */
20:07:20 <esowiki> [[SF Code]] https://esolangs.org/w/index.php?diff=83470&oldid=83466 * JaydenIrwin * (+201) link and overflow info
20:07:56 <esowiki> <nakilon> arseniiv was it undersdtandable? ..D
20:12:12 <esowiki> <arseniiv> nakilon: yep, I was away for a bit
20:12:36 <esowiki> <arseniiv> seems like a good idea which I would try too
20:14:30 -!- Guest75150 has quit (Quit: Connection closed for inactivity).
20:20:35 <esowiki> <zzo38> I prefer to not have too many dependencies in computer programs that I write, and sometimes things that are small enough can be included with the program. Sometimes there are some indirect dependencies and sometimes they can be changed to avoid some of them
20:21:42 <esowiki> <ais523> I try to avoid dependencies that have too many dependencies of their own
20:21:51 <esowiki> <ais523> it seems too likely that something could go wrong in the supply chain somewhere
20:22:11 <esowiki> <ais523> along similar lines, I think libraries should try to minimize the number of dependencies they have (this is probably an argument for programming languages to have large standard libraries)
20:23:11 -!- 7GHAAJD0X has joined.
20:26:29 <esowiki> <fizzie> It's maybe also an argument for programming language ecosystems to have (at least de-facto) standard dependency management solutions, so that people can converge on a set of popular dependencies. (But it's also a *counterargument* for that, because it makes it too easy to have dependencies.)
20:27:34 <esowiki> <fizzie> I like Bazel in the sense that it's really pretty annoying to have external dependencies, especially "large" ones (that themselves depend on other things), so you naturally avoid it. But people are trying to "fix" that property.
20:30:56 <esowiki> <zzo38> Yes, I try to avoid too many indirect dependencies too
20:31:35 <esowiki> <ais523> with Rust/Cargo, it can be a particular problem because many of the de-facto agreed upon dependencies are unstable
20:31:49 <esowiki> <ais523> and some even have transitive dependencies with big warnings saying things like "not for production use"
20:32:06 <esowiki> <b_jonas> "<arseniiv> b_jonas adviced a neat projective book but it’s just about that
20:33:22 <esowiki> <b_jonas> "<arseniiv> b_jonas adviced a neat projective book but it’s just about that" => do you mean Jürgen ichter-Gerbert, "Perspectives on Projective Geometry", (2011) Springer? that's probably the most relevant, but I may have recommended some of my other geometry books too
20:33:24 <esowiki> <fizzie> Here's the full transitive dependency tree of the esolangs bot and the logs web server, on the Bazel cc_* target level: https://zem.fi/tmp/esodeps.png
20:33:30 <esowiki> <ais523> incidentally, apparently higher-kinded trait bounds are now stable in Rust?
20:33:46 <esowiki> <ais523> err, higher-ranked
20:33:46 <esowiki> <zzo38> Sometimes there may be the hope to fix it in future. TeXnicard currently depends on Ghostscript, although I would hope that in future a different FOSS implementation of level 3 PostScript could be substituted, and that the program could then still work. (It does'nt even use many of the features of Ghostscript, so a simpler implementation, perhaps called "PSlite", could be done maybe)
20:34:11 <esowiki> <ais523> I was having trouble getting a trait of mine to work, so in frustration I tried "for<'a> AddAssign<&'a Self>" as a trait bound because it's what I really wanted
20:34:18 <esowiki> <ais523> hoping to get more information from the error message
20:34:21 <esowiki> <ais523> and surprisingly, it just worked
20:35:50 <esowiki> <zzo38> Which de-facto agreed upon dependencies" are unstable?
20:36:08 <esowiki> <ais523> there's one a couple of levels out from html5ever, I think
20:36:14 <esowiki> <ais523> in terms of the "do not use in production"
20:36:22 <esowiki> <ais523> in terms of unstable, nearly all of them
20:36:26 <esowiki> <ais523> num-traits is widely used and has a 0. version number, for example
20:37:02 <esowiki> <arseniiv> b_jonas: yeah I meant "Perspectives on Projective Geometry"
20:37:06 <esowiki> <ais523> in fact, it's a rarity to see a version number start with a positive integer
20:37:06 <esowiki> <b_jonas> arseniiv: also look at Tamfang's code that he used to generate all the hyperbolic tiling images https://commons.wikimedia.org/wiki/User:Tamfang/programs and possibly some of David Madore's code eg. http://www.madore.org/~david/weblog/d.2014-12-14.2256.html
20:37:58 <esowiki> <zzo38> SQLite doesn't have its own dependencies, so I am glad for that and do use it in many programs; it is common, I think.
20:38:41 <esowiki> <arseniiv> b_jonas: thanks!
20:38:53 <esowiki> <b_jonas> as well as TAOCP 4A which explains a way to represent a specific tiling of the hyperbolic plane, useful combined with normal hyperbolic coordinate geometry to represent large regions of the hyperbolic plane without numeric instability
20:39:07 <esowiki> <ais523> one thing I would like to see is a commonly agreed upon library which does, in effect, the OS-specific parts of libc
20:39:31 <esowiki> <arseniiv> hopefully I have that volume of TAOCP somewhere…
20:39:37 <esowiki> <ais523> but not things like strchr that can be implemented in a platform-neutral way
20:39:53 <esowiki> <ais523> right now, almost everything depends on libc and it can cause trouble
20:40:07 <esowiki> <b_jonas> where the Jürgen Richter-Gerbert explains the coordinate geometry. alas I don't understand most of these topics in detail, and it doesn't seem to be as easy computationally as the Euclidean plane.
20:40:09 <esowiki> <ais523> a few years ago I was helping my boss debug a Haskell programming, the problem was caused by libc's stdio buffering
20:40:20 <esowiki> <ais523> and my boss was having trouble understanding why the Haskell program was using a C library at all
20:40:27 <esowiki> <arseniiv> (how to organize notes on such diverse topics? I will definitely forget all that but at least I can bookmark the code in the browser)
20:40:39 <esowiki> <b_jonas> oh, and http://www.madore.org/~david/weblog/d.2013-12-17.2175.trigonometrie-triangle.html might help
20:40:44 <esowiki> <ais523> (I explained that going via C for the operating sustem interface was the easiest way to make your language run on multiple operating system)
20:41:31 <esowiki> <arseniiv> b_jonas: ah, the hyperbolic cosine law
20:41:53 <esowiki> <ais523> also my grammar has gotten a lot worse over the last couple of years, for some reason
20:41:54 <esowiki> <arseniiv> hm I need to invent a way to write all tree of them as one
20:42:30 <esowiki> <b_jonas> "<ais523> I try to avoid dependencies that have too many dependencies of their own" => yeah, the CPAN/node.js dependency hell. usually those kinds of modules that pull in a huge dependency tree of things that seem completely unrelated to what the modules are supposed to be doing turn out to be low quality.
20:43:15 <esowiki> <b_jonas> ah yes, there's stuff like that in Cargo too
20:43:38 <esowiki> <nakilon> Taneb fizzie I guess that's it https://imgchest.com/p/pdl7px9j4ox
20:45:01 <esowiki> [[User:Ais523]] https://esolangs.org/w/index.php?diff=83471&oldid=73905 * Ais523 * (+106) update on the IRC situation
20:45:03 <esowiki> <arseniiv> definitely nicer
20:46:09 -!- 7GHAAJD0X has quit (Remote host closed the connection).
20:48:19 <esowiki> <nakilon> does dot have any parameter to "think harder" how to arrange things?
20:51:05 <esowiki> <ais523> nakilon: I think dot's algorithm is actually deterministic, it just does a tsort and then puts arrows accordingly
20:51:31 <esowiki> <ais523> there is neato if you want a more complicated algorithm for arranging things
20:52:46 <esowiki> <ais523> (same input format as dot, same developers, but a very different placement algorithm)
20:54:31 <esowiki> <ais523> oh, this reminds me: I'm working on an esolang which will primarily handle integers, but I want it to be able to work with complex rationals too
20:54:47 <esowiki> <ais523> and I'm wondering how to implement the modulus/floor-divide operations on complex numbers (which I want to include because they're useful on integers)
20:55:18 -!- ProofTechnique has quit (Ping timeout: 260 seconds).
20:55:27 <esowiki> <ais523> after researching it, it looks like "symmetric modulus" (the counterpart to rounded division) is a meaningful operation on complex numbers, but then the modulus operation will work differently on real numbers and on complex numbers, which is weird
20:56:09 <esowiki> <ais523> does anyone know of a sensible generalisation of floor-division (and the corresponding remainder operation) to the complex numbers?
20:57:22 <esowiki> <nakilon> I've just implemented RASEL in Ruby that already has Rational ..D also it has Complex IIRC but I didn't use it
20:57:56 <esowiki> <ais523> at least floor-division on real rationals is easy enough to implement
20:58:15 -!- ProofTechnique has joined.
20:58:15 <esowiki> <ais523> (you divide the rationals, then floor to the next integer below if the result isn't an integer, this gives a sensible definition for the modulus)
20:59:25 <esowiki> <ais523> I guess you can implement modulus for complex numbers by requiring that the resulting modulus is within 90° anticlockwise of the divisor on the complex plane
21:00:11 <esowiki> <ais523> although, generalising that to integers, you get floor-division when the denominator is positive but ceil-division when the denominator is negative, which I guess might be a useful operation?
21:02:31 -!- tromp has joined.
21:04:38 <esowiki> [[Unsquare]] https://esolangs.org/w/index.php?diff=83472&oldid=83419 * Bangyen * (+84) /* Implementations */
21:13:33 <esowiki> <zzo38> There are some nonstandard C functions that can be useful, such as fopencookie, which is a GNU extension. I found that it seems musl-libc also includes fopencookie, but apparently it does not provide a portable way to do arithmetic on file offsets; I fail to see how you are supposed to implement a seekable stream in that case. (Fortunately many of the cases where fopencookie is used are used for non-seekable streams so doesn't have this
21:14:22 <esowiki> <ais523> I have been trying to work out what a good portable system-neutral API for file-like things would look like
21:14:52 <esowiki> <ais523> I think it makes sense to divide files into seekable files and streams, but I don't know if you would want them to be separate APIs entirely, or if you want to merge them to cover the case of seekable streams
21:15:19 <esowiki> <ais523> there are some weird cases, like growing files, where you want to be able to read what you have so far in a seekable way, then monitor the end for new content, in a streaming sort of way
21:15:26 <esowiki> <ais523> (but of course there might be edits earlier in the file too)
21:15:45 <esowiki> <ais523> really the problem is that we have a few different things we might want to use files for, but we're trying to force them all into the same abstraction
21:16:30 <esowiki> [[Language list]] https://esolangs.org/w/index.php?diff=83473&oldid=83425 * Aylias * (+19) /* M */
21:16:41 <esowiki> <zzo38> I think that the existing system is OK, except that such things as fopencookie are nonstandard and don't have a standardized way.
21:17:24 <esowiki> <arseniiv> ais523: how about picking a “floor quotient” q ∈ Z[i], picking it so that Re q ≤ Re (z1 / z2) < Re q + 1, and making that order linear by deciding something about picking Im q. Then on R it will give the usual floor division and so the corresponding mod too
21:17:24 <esowiki> <ais523> I think it's been generally agreed on that openat and friends are a better interface than their non-at counterparts
21:17:54 <esowiki> <zzo38> It can be used for example, I have the functions that compute hashes: int fosimp_hash_stream(int alg,FILE*echo,Fosimp_Hash*hash,FILE**fp); int fosimp_hash(int alg,const unsigned char*data,size_t len,Fosimp_Hash*hash); (the second one is a convenience wrapper)
21:19:03 <esowiki> [[MultiStacker]] N https://esolangs.org/w/index.php?oldid=83474 * Aylias * (+80) Created page with "'''MultiStacker''' is an [[Esoteric programming language]] created by [[Aylias]]"
21:19:21 <esowiki> <zzo38> This includes an optional echo stream, in order that you want to write to another stream at the same time while the hash is being accumulated. (You can even chain them; in the case of fossil decks, this will be the case, since you will write the cards to a MD5 stream which echoes to a SHA-1 stream which then echoes to the output stream, after closing the MD5 stream write its hash to the SHA-1 stream.)
21:19:32 <esowiki> <ais523> arseniiv: I was thinking along those sorts of lines, maybe even something as simple as "floor the real part and round the imaginary part"
21:19:52 <esowiki> <arseniiv> yeah seems not so unnatural!
21:20:05 <esowiki> <zzo38> ais523: There is the C stream objects and the POSIX file descriptors interface; they are different things and can be good for different purposes; sometimes you do want to use both and fortunately you can do so, so, that isn't a problem.
21:20:12 <esowiki> [[User:Aylias]] N https://esolangs.org/w/index.php?oldid=83475 * Aylias * (+89) Created page with "I am a high-schooler who loves to code! I have created these esolangs: * [[MultiStacker]]"
21:20:16 <esowiki> <arseniiv> and almost preserves conjugation in this case, ah
21:20:21 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83476&oldid=83474 * Aylias * (+5)
21:20:48 <esowiki> <ais523> I guess if you break ties to even, it actually does preserve conjugation
21:21:03 <esowiki> <arseniiv> or if you’d want to use stochastic rounding for numbers from Z + 1/2…
21:21:06 <esowiki> <ais523> "round the real part and round the imaginary part" (symmetric modulus / round-division) is needed to make gcd work, thoguh
21:21:17 <esowiki> <arseniiv> I think some esolang deserves to have some stochastic rounding
21:21:31 <esowiki> <ais523> generally speaking I prefer my esolangs to be deterministic unless there's some reason not to
21:21:58 <esowiki> <zzo38> The source code of TeXnicard defines a "fopenat" function which combines fopen with openat, since that is useful in this case (for accessing files that belong to a package).
21:22:21 <esowiki> <arseniiv> <ais523> "round the real part and round the imaginary part" (symmetric modulus / round-division) is needed to make gcd work, thoguh => is it related to euclidean division Knuth advocate(d|s)?
21:22:30 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83477&oldid=83476 * Aylias * (+171)
21:22:35 <esowiki> <ais523> I think having fopen as the main API, rather than as a wrapper for open+fdopen, was a mistake
21:23:01 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83478&oldid=83477 * Aylias * (+4)
21:23:16 <esowiki> <ais523> arseniiv: it's mostly just due to preventing an infinite regress; flooring an integer changes it by at most 1, but flooring the real part and rounding the imaginary part can change it by up to sqrt(3)
21:23:26 <esowiki> <zzo38> static FILE*fopenat(int dirfd,const char*filename,const char*mode) { int flag,fd; FILE*fp; if(*mode=='r') flag=O_RDONLY; if(*mode=='w') flag=O_WRONLY|O_CREAT|O_TRUNC; if(*mode=='a') flag=O_WRONLY|O_CREAT|O_APPEND; if(strchr(mode,'+')) flag&=~(O_RDONLY|O_WRONLY),flag|=O_RDWR; fd=openat(dirfd,filename,flag); if(fd==-1) return 0; fp=fdopen(fd,mode); if(!fp) close(fd); return fp; }
21:23:43 <esowiki> <ais523> and this breaks the invariant that the remainder of a division is smaller than the divisor, which the euclidean algorithm needs to be able to terminate
21:24:11 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83479&oldid=83478 * Aylias * (+96)
21:24:16 <esowiki> <ais523> whereas if you round both parts, the symmetric modulus will come out smaller than the divisor so the euclidean algorithm works again
21:24:25 <esowiki> <zzo38> ais523: Maybe it was a mistake. But, maybe having fopen separate is helpful in order to allow non-POSIX programs to work?
21:24:28 <esowiki> <ais523> (smaller in this case meaning smaller magnitude)
21:25:01 <esowiki> <ais523> zzo38: I think every major OS, and most of the minor OSes, have some sort of file descriptor concept that's separate from the concept of a buffered stream
21:25:27 <esowiki> <ais523> in WebAssembly, file descriptors are random numbers rather than consecutive integeres, but they still exist
21:28:46 <esowiki> <ais523> yes
21:29:19 <esowiki> <ais523> it does break the API for select(2), but that may be a good thing, because it would have helped avoid creating an API that doesn't scale well
21:31:47 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83480&oldid=83479 * Aylias * (+506)
21:40:21 <esowiki> <salpynx> rounding discussion reminds me of this https://en.wikipedia.org/wiki/Cash_rounding I remember when it changed stores had look up tables to explain. "If the number ends in x, round to y"
21:41:19 <esowiki> <salpynx> ... possibly not that relevant to complex numbers though
21:42:02 <esowiki> <ais523> salpynx: I'm the sort of person who sometimes pays prices like £1.99 using exact change
21:43:02 <esowiki> <ais523> it also helps to rebalance the coin mix in both my wallet and their register
21:43:55 <esowiki> <zzo38> I also prefer to pay using exact change when I can, but a law that has been introduced in Canada some time ago makes that difficult to do
21:45:22 <esowiki> <b_jonas> you know how I complained that there's so hard to find detailed information about the IBM Selectric typewriters on the internet that the whole thing seems to be a hoax invented about a nonexistent typewriter, possibly as Cold War propaganda about the US technological superiority? well I just found a nice high quality video that both shows a working Selectric II and talks about how it works
21:45:29 <esowiki> <b_jonas> https://www.youtube.com/watch?v=BJITkKaO0qA
21:47:02 <esowiki> <salpynx> What I remember from the dropping of 1 and 2 c coins was that prices like $1.99 still existed, so you couldn't pay exact, unless you paid electronically. I think that mean you could get things cheaper by paying cash because guidelines were to round down (to nearest 5)
21:47:41 <esowiki> <b_jonas> "<ais523> does anyone know of a sensible generalisation of floor-division to the complex numbers?" => J implements a weird one, but I'm not sure that it's sensible, it might be there because if you want to take the floor of the real and imaginary components separately that's easy to implement yourself so they chose to add something weirder to the floor primitive
21:48:45 <esowiki> <salpynx> `locale
21:48:46 <esowiki> <HackEso> LANG=en_NZ.UTF-8 \ LANGUAGE= \ LC_CTYPE="en_NZ.UTF-8" \ LC_NUMERIC="en_NZ.UTF-8" \ LC_TIME="en_NZ.UTF-8" \ LC_COLLATE="en_NZ.UTF-8" \ LC_MONETARY="en_NZ.UTF-8" \ LC_MESSAGES="en_NZ.UTF-8" \ LC_PAPER="en_NZ.UTF-8" \ LC_NAME="en_NZ.UTF-8" \ LC_ADDRESS="en_NZ.UTF-8" \ LC_TELEPHONE="en_NZ.UTF-8" \ LC_MEASUREMENT="en_NZ.UTF-8" \ LC_IDENTIFICATION="en_NZ.UTF-8" \ LC_ALL=
21:49:10 <esowiki> <ais523> b_jonas: what is J's generalisation?
21:49:20 <esowiki> <salpynx> that's cool that HackEso knows where you live...
21:49:24 <esowiki> <HackEso> LANG=en_NZ.UTF-8 \ LANGUAGE= \ LC_ALL=
21:49:44 <esowiki> <nakilon> I have like 15kg of coins
21:49:52 <esowiki> <b_jonas> it works by making floor(x+y*i)=0 :iff 0<=x+y<1 and -1<=x-y<1, with the equality possibly on the other side of the second condition, I don't remember
21:50:43 <esowiki> <ais523> that's just confusing, I wonder if there's a reason for it
21:50:48 <esowiki> <b_jonas> I am not convinced that this makes more sense than just making floor(x+y*i)=floor(x)+floor(y)*i
21:51:33 <esowiki> <ais523> I think I'm going to go with the floor(x)+round(y)*i approach
21:52:05 <esowiki> <ais523> it seems wrong to not be symmetrical around the y=0 axis
21:52:07 -!- tromp has quit (Remote host closed the connection).
21:52:49 <esowiki> <b_jonas> "floor the real part and round the imaginary part" => hmm, I haven't considered that. but that seems wrong because it ruins the nice symmetry of ceil(x)=-floor(-x)
21:53:40 <esowiki> <b_jonas> '<ais523> "round the real part and round the imaginary part" (symmetric modulus /round-division) is needed to make gcd work, thoguh' => yes, because you want the remainder to have a magnitude less than the divisor
21:53:45 <esowiki> <ais523> no it doesn't? ceil would presumably be "ceil the real part and round the imaginary part", so still symmetrical, as long as you use as symmetrical rounding
21:53:51 <esowiki> <ais523> like round-ties-to-even
21:54:05 <esowiki> <b_jonas> though I will note that the weird floor from J also satisfies that
21:54:28 <esowiki> <b_jonas> which, now that I think of it, might be the reason why they chose that over componentwise floor, oh wow
21:56:05 <esowiki> <nakilon> so I was ready to pull request the --reduce option to the homebrew graph tool
21:56:16 <esowiki> <b_jonas> "file descriptors are random numbers rather than consecutive integers" => I think Linux folks believe that the consecutive integers thing is sort of a mistake, because in some weird heavily multithreaded cases it can cause a performance penalty, and you don't really gain anything important from the guarantee, but it's too late to change now because some existing programs can rely on it
21:56:30 <esowiki> <nakilon> and it appeared that there is some bug in homebrew that does not really show the full tree
21:57:04 <esowiki> <b_jonas> "<zzo38> I also prefer to pay using exact change when I can, but a law that has been introduced in Canada some time ago makes that difficult to do" => er, how so?
21:57:50 <esowiki> <zzo38> Maybe what would be better is unspecified unused file descriptor numbers with a specified minimum, but you can also specify explicitly what file descriptor number you want, and in that case it can be below the minimum number for automatically assigned numbers
21:57:52 <esowiki> <fizzie> When Finland switched to the euro, we never adopted the 1 and 2 cent coins, but we had prices at that level of precision, and I'm pretty sure the rounding was to nearest increment of 0.05 (which doesn't have any ties to break). And you could indeed pay with card the exact price. So theoretically you could optimize by selecting to pay cash whenever the price ended in .x1, .x2, .x6 or .x7; pay by card when
21:57:58 <esowiki> <fizzie> it ended in .x3, .x4, .x8 or .x9; and do whichever on .x0 and .x5. I don't think I know anyone who did that, though.
21:58:07 <esowiki> <b_jonas> '<ais523> ceil would presumably be "ceil the real part and round the imaginary part", so still symmetrical, as long as you use as symmetrical rounding' => hmm yes, you may be right
21:58:08 <esowiki> <zzo38> b_jonas: The Canadian government no longer makes one cent coins
21:58:38 <esowiki> <b_jonas> "but you can also specify explicitly what file descriptor number you want" => we do have that in unix, it's called dup2
21:58:57 <esowiki> <ais523> dup2 is just weird
21:59:02 <esowiki> <b_jonas> it's probably better as a separate syscall than adding an extra parameter to every call that may return a file descriptor
21:59:09 <esowiki> <ais523> I think it's mostly intended for redirecting stdin/stdout/stderr which have fixed numbers
21:59:15 <esowiki> <b_jonas> ais523: yes, it is
21:59:36 <esowiki> <b_jonas> ais523: but isn't it also, like, "free" in that it's something the kernel can do easily so why not expose it?
22:00:03 <esowiki> <b_jonas> I mean once you have a unix model of inheriting file descriptors with the same numbers to subprocesses by default
22:00:30 <esowiki> <b_jonas> so the kernel needs an inderection from file descriptor numbers to file descriptions, with some extra state for the file descriptors, in first place
22:00:42 <esowiki> <salpynx> fizzie: in NZ we called it "Swedish rounding"
22:00:44 <esowiki> <b_jonas> the extra state generally being just an O_CLOEXEC flag right now, but still
22:01:07 <esowiki> <ais523> b_jonas: seek position is a big one
22:01:25 <esowiki> <ais523> although, I'm increasingly of the opinion that seek position should be a userspace rather than kernelspace thing
22:01:32 <esowiki> <b_jonas> ais523: no, seek position is shared over inheritance or dup
22:01:36 <esowiki> <ais523> and the read API for seekable files should just specify the byte range (i.e. pread)
22:03:30 <esowiki> <b_jonas> "<salpynx> I think that mean you could get things cheaper by paying cash" => I think of it as still paying the exact amount, only the coins in my wallet now represent an approximation of how much money I have, which is fine. but admittedly shops can't quite do that, they have to know the exact amount of cash that should be in a cashier's box so that they can do an inventory check to prove to stupid
22:03:36 <esowiki> <b_jonas> fussy customers that the cashier did not steal their money, or to prove to themselves that the cashier did steal money from them, without security camera footage
22:03:44 <esowiki> <ais523> I can see arguments for TCP in kernelspace, although they aren't nearly as large as the arguments for IP in kernelspace
22:04:17 <esowiki> <salpynx> ais523: is there a way to find "the closest" Gaussian integer to unambiguous and meaningful?
22:04:29 <esowiki> <salpynx> to be
22:04:47 <esowiki> <ais523> salpynx: round-real, round-imaginary gives you the closest Gaussian integer by all sensible definitions
22:05:30 <esowiki> <fizzie> Soon all our connections will stop working, after shachaf argues TCP is logically impossible and it stops existing.
22:05:31 <esowiki> <b_jonas> ais523: we do more or less have such an API with explicit byte ranges for, I almost everything in unix. pread, ftruncate, etc. technically you still need the seek pointer for the SEEK_DATA/SEEK_HOLE options of lseek, I don't think that has a seekless equivalent, but that's about all I can think of.
22:06:36 <esowiki> <ais523> shachaf: it seems like at least non-root programs shouldn't have control over things like what parameters to use for their TCP connections
22:06:40 <esowiki> <b_jonas> "<shachaf> And at least the kernel should give you the option of receiving and sending TCP datagrams, even if you don't always use it." => I think they do that, in the sense of letting you use send and receive raw IP packets if you want
22:06:51 <esowiki> <b_jonas> there are like three different interfaces for raw IP already, for historical reasons
22:07:37 <esowiki> <b_jonas> shachaf: yes.
22:08:24 <esowiki> <ais523> shachaf: programs are competing with each other for various resources, network is one of them
22:08:46 <esowiki> <ais523> and the details of TCP can have a lot of influence on how much share of a computer's network bandwidth each of the programs gets
22:08:58 <esowiki> <ais523> but yes, I think it might be possible to make that work on the IP level alone
22:09:25 <esowiki> <ais523> in theory, if you can make it work at a lower level, that would be better, because it would leave fewer loopholes
22:10:30 <esowiki> <b_jonas> (continuing to watch the Selectric video) wow
22:10:50 <esowiki> <ais523> hmm… are TCP and UDP port numbers in a shared namespace with each other? or separate?
22:10:58 <esowiki> <fizzie> Separate, I think.
22:11:01 <esowiki> <ais523> if they're separate namespaces, that would be a good reason for the kernel to handle TCP
22:11:17 <esowiki> <ais523> so that it can arbitrate when two programs both want to listen on the same port
22:11:50 <esowiki> <b_jonas> ais523: separate, but for historical reasons the older assignments of well-known ports by some acronym organization (ICANN or IANNA or whatever) were given in pairs of matching tcp and udp port numbers
22:12:10 <esowiki> <ais523> IANA only has one N
22:12:26 <esowiki> <b_jonas> then of course the 65536 port numbers easily ran out as people made more and more programs, and it no longer made sense to just assign a well-known port number to everything
22:13:06 <esowiki> <ais523> I actually check the Wikipedia article for what port numbers are in common use, when writing new programs
22:13:10 <esowiki> <ais523> to reduce the odds of clashes
22:13:24 <esowiki> <ais523> although, there was an incident recently
22:13:37 <esowiki> <ais523> where one of the Pokémon games was using the same port number as some widely deployed piece of hardware
22:13:40 <esowiki> <b_jonas> so we still have HTTP on 80 and some fixed port numbers for services that tell you what port to use, but most programs just assume the port number needn't necessarily be fixed, and can either be configured by user with a default or is autodetected through some other service whose port can also perhaps be configured, which isn't such an overhead if you want to configure the host as well
22:13:53 <esowiki> <ais523> and the hardware wasn't doing proper input validation and was crashing when the Pokémon games were played on the same network as it
22:14:07 <esowiki> <b_jonas> ais523: oh nice
22:14:13 <esowiki> <ais523> presumably this bug could have been intentionally exploited for years, but the accidental exploit was what got them to notice
22:15:14 <esowiki> <fizzie> I used to pick port numbers (for personal things) by selecting a two-character abbreviation sort of mnemonical to the thing the port was for, and then concatenatic those two characters into a 16-bit port number.
22:15:35 <esowiki> <b_jonas> also there's DNS, which uses both an UDP and less often a TCP port with I think the same number, and has a really good reason to be on a fixed well-known port number
22:15:56 <esowiki> <ais523> DNS servers also have a good reason to have memorable IP addresses
22:16:06 <esowiki> <b_jonas> well yes
22:16:14 <esowiki> <ais523> fizzie: that's how Donald Knuth picks variable names in INTERCAL
22:16:25 <esowiki> <b_jonas> but with the ipv4 space so filled, that's not always so easy
22:16:25 <esowiki> <ais523> except he uses Baudot encoding to fit three letters into the name
22:16:49 <esowiki> <b_jonas> shachaf: people use macros for that, though I haven't seen it used for ports in particular
22:17:16 <esowiki> <ais523> shachaf: TLS over TCP is *really* common, though
22:17:30 <esowiki> <ais523> actually I'm not sure whether TLS over UDP even exists, even if it does it's much less common
22:17:46 <esowiki> <b_jonas> shachaf: no, quite the opposite, everyone uses TCP these days even if they don't need to, because too many routing equipment tries to be too smart and check things in packets that they shouldn't like the TCP header
22:17:55 <esowiki> <ais523> TLS isn't the only way to do encryption, but it does seem to be the consensus method
22:18:48 <esowiki> <ais523> one thing I dislike about TLS is how unreliable it seems to be in practice
22:18:58 <esowiki> <ais523> err, not TLS, TCP
22:19:14 <esowiki> <ais523> bits of TCP communications have a tendency to go missing, even though the entire point of the protocol is meant to be to prevent that
22:19:27 <esowiki> <b_jonas> shachaf: may I point you to https://noiseprotocol.org/ as a nice encryption protocol in general and a possible way to avoid unncessary roundtrips
22:19:35 <esowiki> <fizzie> In terms of total bytes sent over the networks, I imagine YouTube must account for a rather a lot, and since I suspect pretty much no YouTube traffic from Chrome browsers (itself a pretty popular thing) uses TCP, I think it's likely there's quite a lot of non-TCP traffic out there.
22:19:41 <esowiki> <ais523> and so, at the application level, you're often inventing your own reliable-connection protocols (with resending, etc.) on top of TCP, which is just so upsetting that you have to do that
22:19:52 <esowiki> <b_jonas> "<shachaf> TCP fast open isn't great and I think is unused." => it is used by browsers these days, if both sides run modern software
22:19:52 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83481&oldid=83480 * Aylias * (+1343)
22:21:48 <esowiki> <nakilon> I opened a pull request for your idea guys https://github.com/martido/homebrew-graph/pull/14
22:24:22 <esowiki> <fizzie> It came up earlier, but there's a proposed new DNS resource record type, "HTTPS", which allows the DNS lookup to transmit enough information that a client can connect directly over HTTP/3 (or do an encrypted-from-the-start handshake) even on the first connection, among other little things like serving from a non-standard port, or allowing delegation of the zone apex (unlike CNAME).
22:25:01 <esowiki> <fizzie> Though I imagine for anything "non-optional" (like serving *only* from a non-standard port), you'd have to presume it's supported, which won't be feasible particularly soon.
22:25:15 <esowiki> <arseniiv> b_jonas: that book is golden after all. Even a hyperbolic geometry dive-in
22:26:41 <esowiki> <b_jonas> fizzie: interesting, I haven't followed HTTP/3 and even HTTP/2 only to a small amount
22:27:18 <esowiki> <fizzie> Yep. It's really just the new name for QUIC.
22:27:25 <esowiki> <fizzie> Just like HTTP/2 was the new name for SPDY.
22:27:43 <esowiki> <b_jonas> '<fizzie> Though I imagine for anything "non-optional" (like serving *only* from a non-standard port), you'd have to presume it's supported' => sort of, but the server could put in a fallback redirect to a longer https address with a port in it where they serve HTTP/1.1
22:27:47 <esowiki> <b_jonas> or HTTP/2
22:28:19 -!- Thelie has quit (Ping timeout: 245 seconds).
22:28:23 <esowiki> <fizzie> https://datatracker.ietf.org/doc/draft-ietf-dnsop-svcb-https/ for that DNS thing, though it's only tangentially related to HTTP/3, since you can certainly do HTTP/3 even without -- it's just that the initial connection to a new unknown server won't be able to assume it speaks HTTP/3, so has to use the `Upgrade:` mechanism.
22:28:47 <esowiki> <b_jonas> "<shachaf> Hmm, are ports a good idea, or should there just be some extra addressing bits?" => they are probably not a worse idea than partitioning the IP namespace to three parts, one where the default is 1<<8 addresses per local network, one where it's 1<<16, and one where it's 1<<24
22:29:07 -!- tromp has joined.
22:29:20 <esowiki> <b_jonas> it's like a thing that makes configuration easier in the common case, while you can still have a computer respond to multiple IP addresses if you wish, and that often happens now
22:32:33 <esowiki> <ais523> I can see some argument for putting that sort of "initial trip" information (like whether the server does HTTP/3) in the same channels as are used to spread HSTS information
22:33:43 -!- tromp has quit (Ping timeout: 265 seconds).
22:36:25 <esowiki> <b_jonas> arseniiv: I'm glad you like it
22:38:59 <esowiki> <fizzie> shachaf: Just to set the record straight, it is probably wasn't exactly correct to say that HTTP/3 is a "new name" for QUIC, for two reasons: they have been doing actual changes (not just minor incompatibilities) as part of the IETF process, so (what's now called) "gQUIC" is not the same protocol as QUIC; and as you implied, strictly speaking the IETF QUIC is the general-purpose protocol and HTTP/3 is
22:39:05 <esowiki> <fizzie> just the mapping of HTTP on it.
22:42:50 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83482&oldid=83481 * Aylias * (+2015)
22:44:05 -!- tromp has joined.
22:48:06 -!- tromp has quit (Ping timeout: 240 seconds).
22:49:34 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83483&oldid=83482 * Aylias * (+82)
22:49:43 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83484&oldid=83483 * Aylias * (+1)
22:51:56 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83485&oldid=83484 * Aylias * (+8)
22:59:57 <esowiki> <nakilon> when esolangers say "it's pretty complicated" it means something
23:00:45 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83486&oldid=83485 * Aylias * (+1181)
23:01:02 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83487&oldid=83486 * Aylias * (+1)
23:02:46 <esowiki> <nakilon> https://github.com/davisonio/awesome-irc
23:05:20 <esowiki> <nakilon> https://gitlab.com/ddevault/bf-irc-bot
23:06:21 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83488&oldid=83487 * Aylias * (+430)
23:06:40 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83489&oldid=83488 * Aylias * (+1) /* Example Code */
23:11:15 <esowiki> [[MultiStacker]] M https://esolangs.org/w/index.php?diff=83490&oldid=83489 * Aylias * (+0)
23:14:38 -!- tromp has joined.
23:19:06 -!- tromp has quit (Ping timeout: 252 seconds).
23:21:40 <esowiki> <nakilon> 2018-03-12: Slack is shutting down the IRC and XMPP gateways.
23:21:45 <esowiki> <nakilon> wow I missed it
23:28:01 <esowiki> [[MultiStacker]] https://esolangs.org/w/index.php?diff=83491&oldid=83490 * Aylias * (+32)
←2021-05-25 2021-05-26 2021-05-27→ ↑2021 ↑all