←2021-05-26 2021-05-27 2021-05-28→ ↑2021 ↑all
00:35:11 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=83492&oldid=83463 * Jedgrei * (+138)
00:35:47 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=83493&oldid=83492 * Jedgrei * (+57)
01:04:27 -!- spirgel has quit.
01:09:32 <esolangs> [[Forth]] https://esolangs.org/w/index.php?diff=83494&oldid=73957 * Hmmmmmmmm * (+26) Dead link in Forth wiki
01:11:31 <salpynx> The recent PR on fungot got me excited that github linguist could list arbitrary langs based on file extension, turns out no. Has to be on https://github.com/github/linguist/blob/master/lib/linguist/languages.yml
01:11:31 <fungot> salpynx: ulch! that meat was painted! yeah, baby! even if we can eat, and some would eat that want it; but we call it fortunatus's purse, is called tyr: yet first was the family head of a pair of offspring ( with kishar) of scaly lizards, especially those involving translocation. it was locked. he does not imply being happy and that after a slumber of uncounted years its time in the following: --more-- fury. unlike shades, only
01:12:39 <salpynx> bf and befunge are one there. I was hoping for Lazy K and Юᓂ곧⎔ . Not sure there is much chance I'll be able to get those added any time soon.
01:14:58 -!- Hooloovo0 has joined.
01:25:30 <zzo38> Maybe instead they should add a possibility of a file in the repository to define the file types that you are using?
01:27:31 <nakilon> just discovered you cat get someone's public key like this: https://github.com/fis.keys
01:28:05 <rasengone> huh, neat.
01:28:16 -!- rasengone has changed nick to imode.
01:39:33 <esolangs> [[Esolang:Community portal]] https://esolangs.org/w/index.php?diff=83495&oldid=83438 * Fizzie * (+496) IRC logs URL changed; refresh IRC section + tweak page formatting
01:45:30 <fizzie> (It was annoying me a lot that the logically "higher-level" headings were being typeset at a smaller size than the links to places, so I flattened the page structure to use ==-level headings only.)
01:51:50 -!- lucky has joined.
01:55:59 <nakilon> just discovered a cat in my previous message
02:01:32 <fizzie> Apparently works with a .gpg extension as well, for PGP public keys.
02:40:27 <lucky> unileq!
03:20:52 -!- Lord_of_Life_ has joined.
03:20:55 <esolangs> [[Special:Log/newusers]] create * Quentin-k * New user account
03:20:57 -!- Lord_of_Life has quit (Ping timeout: 272 seconds).
03:21:51 -!- Lord_of_Life_ has changed nick to Lord_of_Life.
03:22:36 <imode> are P-systems and counter machines equivalent?
03:23:02 <imode> or I guess, register machines.. I feel like they are.
03:24:04 -!- mistbreeze has joined.
03:24:13 <esolangs> [[User:New Army/Yes smoking day]] N https://esolangs.org/w/index.php?oldid=83496 * New Army * (+126) Created page with "No smoking day has caused trouble to many people so a suggestion to set up a yes smoking day on November 31st is made. {{WIP}}"
03:26:13 <esolangs> [[Esolang talk:Community portal]] https://esolangs.org/w/index.php?diff=83497&oldid=83444 * New Army * (+178)
04:11:41 -!- dcristofani has joined.
04:21:23 <lucky> imode: the biologically inspired ? many of them are universal, so yes equivalent to unbounded register machines
04:42:17 -!- ffmct has quit (Quit: Connection closed).
04:48:21 -!- really3 has quit (Ping timeout: 272 seconds).
04:51:48 <Sgeo> Freenode now has a blogpost apologizing and saying that some of the channel closings were mistakes
04:59:55 <imode> yeah, like I fucking believe that.
05:09:45 <Sgeo> https://twitter.com/alyxw/status/1397774897875673090
05:09:52 <Sgeo> (I haven't directly seen this)
05:12:18 -!- beanpuppy has joined.
05:15:51 <imode> hah.
05:18:15 <salpynx> `` ./🌱 4 93079262
05:18:16 <HackEso> Seed
05:18:23 <zzo38> I do believe that. I think they used an automated filter to do what they did, so mistakes are inevitable. It doesn't necessarily mean that they are really that sorry or if they really care so much, since those things are different.
05:18:58 <salpynx> `` 13 jrypbzr|cut -d'<' -f2|sed "s/>.*/wiki\/$(.\/🌱 4 93079262)/"
05:19:00 <HackEso> https://esolangs.org/wiki/Seed
05:19:52 <salpynx> 🌱 is my attempt at writing an esointerpreter for HackEso. it's sitting in /tmp
05:20:59 <Sgeo> A competent automated filter could have checked for +m, since that's what Freenode is now claiming they opposed, actual inability to speak in the channel, and active spam
05:21:07 <Sgeo> So either incompetence or malice
05:21:46 <Sgeo> Or they could have responded to channels doing that on an individual basis. They claim they received complaints. They could have acted on just actual complaints
05:23:33 <zzo38> O, I didn't know that. They may well be lying about something; there is probably some incompetence too. But, they say, don't attribute to malice what is adequately explained by stupidity. Still, if they don't like certain features of the IRC server, they should have removed those features, I should think.
05:24:42 <salpynx> I can't figure out how to run piped befunge on the bot. bef.bin appends .bf to any process substituted input
05:32:17 -!- xkapastel has quit (Quit: Connection closed for inactivity).
05:37:07 -!- rbtEngrDude has joined.
05:43:24 -!- rbtEngrDude has quit (Quit: Textual IRC Client: www.textualapp.com).
05:43:50 -!- rbtEngrDude has joined.
05:44:54 -!- dcristofani has quit (Ping timeout: 265 seconds).
05:45:41 -!- rbtEngrDude has quit (Client Quit).
05:46:09 -!- rbtEngrDude has joined.
05:48:12 <esolangs> [[PUBERTY]] M https://esolangs.org/w/index.php?diff=83498&oldid=55787 * RanibowSprimkle64 * (+124) /* Commands */
05:59:40 -!- beanpuppy has quit (Ping timeout: 264 seconds).
06:05:41 -!- beanpuppy has joined.
06:10:53 -!- beanpuppy has quit (Ping timeout: 272 seconds).
06:11:49 -!- moony has quit (Quit: leaving).
06:44:40 -!- chibi has quit (Ping timeout: 264 seconds).
07:13:31 <esolangs> [[Special:Log/block]] block * Ais523 * blocked [[User:New Army]] with an expiration time of indefinite (account creation disabled, autoblock disabled, email disabled, cannot edit own talk page): Abusing multiple accounts: per [[Esolang:Policy]], you may not use alternative accounts as a method of hiding your actions; this account is only being used for disrup
07:14:10 <esolangs> [[Special:Log/delete]] delete * Ais523 * deleted "[[User:New Army/Yes smoking day]]": very offtopic userspace page, in the userspace of a blocked account
07:17:57 -!- Sgeo has quit (Read error: Connection reset by peer).
07:21:22 <salpynx> `` echo 1 2 | ./bef2 <(./🌱 4 141745954) | head -c2
07:21:23 <HackEso> 3
07:22:15 <salpynx> is a Seed program which generates a befunge adder. The example on the wiki doesn't terminate, most of the examples there don't bother to provide an `@`
07:22:49 <nakilon> 07:51:48 <Sgeo> Freenode now has a blogpost apologizing and saying that some of the channel closings were mistakes
07:23:26 <nakilon> yeah and they did that a long ago, but people pretended that they don't see it to just spend time telling each other about what happened
07:23:33 <nakilon> to build a mood, an impression
07:24:08 <salpynx> I "fixed" the befunge 93 interpreter's appending '.bf' to process subs with
07:24:11 <salpynx> `` sed 's/..bf/\x03\x00 /' ../interps/befunge/bef.bin > bef2
07:24:13 <HackEso> No output.
07:25:05 <salpynx> can't get cfunge to work with piped output either.
07:25:36 <nakilon> it's like if I spill a coffee on you and immediately say "oh I'm sorry" but you just spend a day telling everyone that I spilled it and only then after someone start saying "but hey, he said he's sorry" you say "no way! we all spent a day building our hate so now we can't believe he's sorry!"
07:25:43 <nakilon> it's trivial like shit
07:27:33 <salpynx> before and after my changes
07:27:35 <salpynx> `` ../interps/befunge/bef.bin hello ; ./bef2 hello
07:27:36 <HackEso> Error: couldn't open 'hello.bf' for input. \ Error: couldn't open 'hello' for input.
07:54:48 -!- spirgel has joined.
08:13:37 -!- beanpuppy has joined.
08:14:04 <salpynx> `` sed 's/\x03.bf/\x03\x00 /' ../interps/befunge/bef.bin > bef2
08:14:06 <HackEso> No output.
08:22:09 <int-e> nakilon: well, if that had been the only thing that happened... well it wouldn't have happened then, would it.
08:23:00 * int-e notes that this is just a communication problem. IOW, rasengan still doesn't understand what he's done, or at least gives that impression.
08:23:29 <nakilon> he did nothing and people went shit
08:23:55 <nakilon> then he started applies measures against shit and people started saying that those measures were made before they went shit
08:24:07 <nakilon> because no one will check the real order of events
08:24:10 -!- beanpuppy has quit (Ping timeout: 264 seconds).
08:24:19 <nakilon> people don't care, they want drama
08:24:34 <shachaf> I don't want drama.
08:24:40 <shachaf> That's why I scrapped Freenode.
08:24:57 <nakilon> so they forced you
08:25:01 <nakilon> by making drama
08:25:15 <nakilon> the good old "flame"
08:25:24 <int-e> a lot of things went wrong, but rasengan is not a victim here
08:25:36 <nakilon> why not victim?
08:25:50 <nakilon> because we've spent a day repeating that he spilled coffee?
08:26:04 <shachaf> What's the coffee in this analogy?
08:26:32 <int-e> It's a milk truck. And it has begun to stink.
08:26:32 <nakilon> any acts on his behalf that had reasons that people didn't want to realise
08:27:01 <shachaf> What was this person doing with the coffee machine in the first place?
08:27:07 <int-e> he acts as if he represents FOSS just because he happens to have come into possession of the freenode.net domain
08:27:14 <nakilon> is making coffee illegal?
08:27:15 <int-e> there was no way that could end well
08:27:32 <int-e> s/represents/owns/
08:27:51 <nakilon> "he acts as if he represents FOSS" -- where did he?
08:28:08 <shachaf> Man, I can think of someone who likes drama.
08:28:16 <int-e> by denying projects to choose their official home
08:28:16 <nakilon> I asked days ago and people had nothing to answer
08:28:54 <int-e> anyway. sorry, I should've stuck to ##freenode
08:28:57 <river> <nakilon> is making coffee illegal?
08:29:01 <river> making coffee is not illegal
08:29:10 <nakilon> he can't deny anyone to chose anything, he has no ability
08:29:22 <nakilon> so it's fake
08:30:06 <shachaf> This is like the NethackWiki situation.
08:31:00 <lucky> they nuked the haskell channel's ops because they put that some of their users had an unofficial channel on libera, now it's an official channel
08:31:08 <lucky> oh well
08:31:25 <nakilon> they nuked the spam attack on freenode about this network
08:31:49 <nakilon> the attack that was lying to people that there is something that they can't explain why freenode is bad
08:32:04 <nakilon> now when you ask why freenode is bad they say "because they nuked haskell" but it wasn't in the first place
08:32:06 <int-e> it's not spam to tell people that an official channel has moved to libera.chat
08:32:23 <nakilon> it's playing with people's inability to think and imagine the timeline
08:32:27 <river> why are you going on about this?
08:32:32 <int-e> *that* was the criterion they used for taking over channels yesterday
08:32:45 <river> why do care so much about people that are inable to think?
08:32:55 <int-e> #haskell was open for chatting, but prominently announced the move to libera.
08:33:12 <int-e> so you're talking shit, and I'm angry so I'll ignore you for a bit
08:33:12 <nakilon> taking over or running the script automatically nuking channels with a topic and then they apologized and asked channel owners to message them in ircops channel?
08:33:19 <nakilon> ahahah
08:33:21 <nakilon> see
08:33:31 <river> good idea
08:33:45 <river> IRC was fun for 2 days but now im bored again
08:34:02 <nakilon> you've already been told that they apologized for a mistake but you continut to distort that event for drama
08:34:16 <nakilon> just to keep yourself angry
08:34:39 <shachaf> A lot of things had to go wrong for them to be in a position to make that mistake.
08:34:43 <nakilon> you literally don't want to know the truth
08:35:41 <shachaf> int-e: Do you happen to know any work related to making SAT solvers more understandable?
08:36:10 <shachaf> It's so frustarting dealing with a black box that takes some amount of time and halts, or maybe doesn't.
08:36:18 <nakilon> people love echo chambers where they can collectively hate things and people denying the fact check
08:36:23 -!- beanpuppy has joined.
08:37:13 -!- dcristofani has joined.
08:38:32 <river> how would it be more understandable
08:38:55 <shachaf> 01:36 <shachaf> The only thing that comes to mind is https://ece.uwaterloo.ca/~vganesh/Publications_files/vg2015-SATGraf-SAT15.pdf which was interesting.
08:38:58 <shachaf> 01:37 <shachaf> I'd really like the solver to be able to tell me which variables or clauses are causing it trouble, or anything like that.
08:39:02 <shachaf> Discussion continues in ##smt
08:40:08 -!- beanpuppy has quit (Client Quit).
08:49:55 <fizzie> salpynx: If you have a case where you need a file instead of a pipe, or a specific extension, just make that file in /tmp (not ./tmp), that's an in-memory filesystem that only persists for the duration of a single command.
08:49:59 <fizzie> salpynx: Regarding befunge, the way ! does it is to go through ibin/befunge -> interp_file .../bef.bin -> lib/interp -> save to /tmp/input.$$ and run bef.bin, which has been working fine. So I'm pretty sure bef.bin only appends .bf as a *fallback*; if the file exists, it will run it.
08:50:20 <fizzie> `! befunge "olleh">:#,_@
08:50:21 <HackEso> hello
08:51:23 <fizzie> `` echo '"olleh">:#,_@' > /tmp/arbitrary_extension.txt && /hackenv/interps/befunge/bef.bin /tmp/arbitrary_extension.txt
08:51:24 <HackEso> hello
08:51:34 <fizzie> See?
08:52:30 <fizzie> Oh, it's not strictly speaking a *fallback*, rather it appends .bf if the file does not contain a '.' in the first place: http://hack.esolangs.org/repo/file/tip/interps/befunge/bef.c#l229
08:53:16 <fizzie> Well, *that* is a little bit on the weird side. But it is what it is.
08:58:36 <fizzie> It's definitely true that a lot of things don't work with non-seekable input, though. In case of cfunge, that's because its file-load strategy is "stat, then mmap st_size bytes", which makes a non-seekable file act like an empty one, because its st_size is 0.
09:15:55 <esolangs> [[Esolang talk:Community portal]] https://esolangs.org/w/index.php?diff=83499&oldid=83497 * ColorfulGalaxy (disambiguation) * (+270) /* LifeWiki links */
09:16:23 <fizzie> Well, now, this is a scow: I've been using this bazel-compdb script to generate compile_commands.json from Bazel, but now I've got a cc_proto_library target that builds fine with `bazel build`, but makes `bazel-compdb` just fail because it somehow mucks up protoc flags (or something), and it dies on the line where it tries to import one of the well-known protos (google/protobuf/empty.proto).
09:16:56 <fizzie> I don't even know why it's running protoc, it's supposed to use Bazel aspects to just collect the commands it would need to run.
09:18:16 -!- Thelie has joined.
09:24:40 <esolangs> [[Esolang:Sandbox]] https://esolangs.org/w/index.php?diff=83500&oldid=83134 * ColorfulGalaxy (disambiguation) * (+221)
09:25:28 <fizzie> Apparently the step it fails at is when generating the `header_files` output group of a target that depends on the proto. I guess maybe that involves having to run the codegen. But then I don't know why it wouldn't work when it works when build... oh, I guess maybe it *doesn't* work when building, that target's not "ready" yet so I haven't been trying that.
09:25:46 <fizzie> (The script by and large works even when the tree doesn't build.)
09:26:35 <fizzie> Yeah, I was blaming the wrong thing, sort-of; it doesn't build.
09:52:47 -!- zegalch96 has quit (Remote host closed the connection).
10:46:07 -!- zegalch has joined.
10:50:05 <b_jonas> shachaf: yes, https://logs.esolangs.org/freenode-esoteric/2021-05.html#lpXb
10:51:41 <nakilon> what is "Cheating quines" here? https://esolangs.org/wiki/List_of_quines
10:52:46 <Taneb> nakilon: they can directly access their source code or have a command like HQ9+'s 'q' that prints the source code
10:54:27 <nakilon> Taneb then the Fish, Alice and others would be "cheating" but they are classified as "real"
10:55:05 <nakilon> or you mean the stringmode isn't the "access to code"?
10:56:05 <Taneb> Hmm, I'm not sure
10:56:40 <Taneb> I wouldn't call stringmode access to the source code any more than a string literal in a conventional programming language is
10:57:35 <Taneb> But if I made a quine in Befunge that used the 'g' command to get the source code, I think that would be cheating
10:58:50 <nakilon> or rather what's the difference between "real quine" "1" in 05AB1E and "cheating quine" "This is a quine!" in Text
11:02:20 <esolangs> [[List of quines]] https://esolangs.org/w/index.php?diff=83501&oldid=77340 * Nakilon * (+30) added RASEL
11:10:07 <fizzie> I can't really justify it that precisely, but I feel like stringmode *is* cheating if you *also* execute the bulk of the string.
11:11:27 <fizzie> As for Text, I don't know if that's so much a cheating quine as the same sort of trivial quine as the empty program in all languages where it's legal; Text just makes everything that.
11:22:08 -!- Thelie has quit (Remote host closed the connection).
11:23:49 <b_jonas> `? norway
11:23:51 <b_jonas> `? iceland
11:23:52 <HackEso> Norway is the suburb capital of Sweden. It's where the Nobel Peace Prize is announced. It's a warm, dry place, at least compared to Québec.
11:23:53 <HackEso> iceland? ¯\(°​_o)/¯
11:23:53 <b_jonas> `? wegian
11:23:54 <HackEso> A wegian is an equivalence class of #esoteric regulars. There are two main wegians, the Nor (from Finland) and the Glas (from Hexham). There's also the hypothetical Gal, which hasn't been observed yet so we're not sure where it's from.
11:24:41 <b_jonas> `? ostrich-hungry
11:24:43 <HackEso> ostrich-hungry? ¯\(°​_o)/¯
11:24:44 <b_jonas> `? hungry
11:24:46 <HackEso> Hungry is a country in Europe, formerly part of the Ostrich empire. It split off after a famine that got so severe that they had to start eating disgusting things like bell peppers. Absurdly, this became a tradition that continues until the present day.
11:24:46 <b_jonas> `? ostrich
11:24:47 <HackEso> Ostrich used to be a large middle European empire in frequent conflict with Turkey. After a famine it sort of split into Ostrich/Hungry. Alas its policy of keeping its head in the sand did not get it through the Great War, and with its final attempts to take flight failing, it ended up cut into several pieces.
11:24:55 <b_jonas> `? france
11:24:56 <HackEso> france? ¯\(°​_o)/¯
11:26:01 <b_jonas> I was just thinking of these quirky historically motivated import restrictions within Europe, like you can't import horses to Iceland, potatoes to Norway, and nobility titles to France or Ostrich-Hungry
11:29:19 <b_jonas> Taneb: the context was befunge and rasel quines that have only one string delimiter, not a pair, in a row, and execute it both as string and code by wrapping around that line twice
11:29:37 <b_jonas> relevant because that leads to short quines
11:36:46 -!- imode has quit (Ping timeout: 265 seconds).
11:42:51 -!- tech_exorcist has joined.
11:51:46 <esolangs> [[List of ideas]] M https://esolangs.org/w/index.php?diff=83502&oldid=83031 * DynCoder * (+108) /* Game */
12:05:59 -!- dcristofani has quit (Ping timeout: 272 seconds).
12:08:59 -!- spirgel_ has joined.
12:11:33 -!- Noisytoot has quit (Changing host).
12:11:33 -!- Noisytoot has joined.
12:12:19 -!- spirgel has quit (Ping timeout: 272 seconds).
12:12:49 <salpynx> fizzie: thanks, I didn't know about ! to pick an interp (for all my poking around on hackeso)
12:13:06 <salpynx> `` \! "befunge &&+.@" <<< "7 8"
12:13:07 <HackEso> 15
12:13:16 <salpynx> for input
12:13:42 <salpynx> `` ./bef2 <(echo "&&+.@") <<< "7 8"
12:13:43 <HackEso> 15
12:15:22 <salpynx> is my 'patched' version of the binary that disables http://hack.esolangs.org/repo/file/tip/interps/befunge/bef.c#l231
12:17:03 <fizzie> The historical context is that the whole interps/ibin stuff comes from when EgoBot was disbanded, and all its interpreters were copied over to HackEgo, from where HackEso inherited them from.
12:17:41 <fizzie> The prefix for EgoBot was ! (as in, !befunge ...), so the command to invoke former EgoBot tools became `!.
12:18:07 <salpynx> aha.
12:18:54 <salpynx> the patch is `sed 's/\x03.bf/\x03\x00 /' ../interps/befunge/bef.bin > bef2` , which turns the appended .bf to a null string
12:19:17 <fizzie> https://esolangs.org/wiki/HackEso#Interpreters "TODO EgoBot, !" -- okay, the documentation does have some gaps here. :)
12:20:11 <salpynx> What I was trying to do is pipe the output from a seed interpreter to a befunge interpreter (ideally befunge98), but that isn't working because the original Seed code doesn't include `@` terminators :(
12:21:11 <salpynx> `` \! "befunge $(./🌱 4 141745954)" <<< '8 9'
12:21:13 <HackEso> 17 Unsupported instruction '' (0xffffffff) (maybe not Befunge-93?) \ 18 Unsupported instruction '' (0xffffffff) (maybe not Befunge-93?) \ 18 Unsupported instruction '' (0xffffffff) (maybe not Befunge-93?) \ 18 Unsupported instruction '' (0xffffffff) (maybe not Befunge-93?) \ 18 Unsupported instruction '' (0xffffffff) (maybe not Befunge-93?) \ 18 Unsupported instruction '' (0xffffffff) (maybe not Befunge-93?) \ 18 Unsupported instruction '' (0xffffff
12:22:50 <salpynx> but that's because the wiki Seed examples aren't perfect, and I haven't bothered to generate terminating ones, because that last char adds a lot of time. I don't think b98 auto terminates (compared to b93)?
12:23:54 <fizzie> IIRC, in Funge-98 unrecognized instructions are supposed to act as r (reflect the direction).
12:24:57 <fizzie> (And of course the *lack* of any instructions is just empty space, which wraps around, but that was already the case in '93.)
12:25:04 <nakilon> I wish there was a way to annotate the stack in funge
12:25:06 <salpynx> right, so the difference will be in exactly how they don't terminate
12:25:31 <nakilon> because I do the ...........@ and see 0 -2 9 -2 0 0 0 2 and who the hell knows what does it mean I already forgot half of this stack
12:25:54 <fizzie> I wrote down some notes on my preferred Befunge editor, and one of its features would have been per-cell stack annotations shown in a sidebar or a statusline.
12:26:05 <fizzie> But I've never gotten around to implementing it.
12:26:08 <salpynx> The most interesting thing about writing a Seed interpreter was discovering that the seed produces different results in Python 2 vs Python 3
12:26:15 <nakilon> once I start forgetting the stack meaning faster than reremembering it I just cancel solving it
12:27:03 <fizzie> I think there were a few other features in those notes that I thought were halfway clever. Should really pick it up.
12:27:20 <nakilon> probably I would be able to add the annotation to the debugger that I haven't made
12:28:35 <nakilon> I imagine that I annotate an instruction and so when it executes the annotation applies to the stack values that appeared there
12:29:17 <nakilon> that would probably mean I should print stack vertically, not horizontally so I could print annotations horizontally
12:29:26 <nakilon> *display
12:31:24 <nakilon> but how would you put the annotations in code? maybe some "comment lines" that you either delete in the end (and then have no idea how it works when you come back to the program in a month) or leave it there rejecting the plan to golf the code
12:32:24 <nakilon> or keep it in a special annotation-friendly interpreter that can reformat the code to remove them to "publish a clean version" of code
12:33:17 <nakilon> ideally it should be a real fancy text editor that would allow to annotate pieces of code and see/edit them by placing cursor/mouse on it
12:33:29 <nakilon> some custom GUI component
12:33:42 <nakilon> but I'm so far from making such things
12:33:52 <esolangs> [[Forth]] M https://esolangs.org/w/index.php?diff=83503&oldid=83494 * PythonshellDebugwindow * (+41) /* External resources */ Revive links using Web Archive
12:35:09 <esolangs> [[Forth]] M https://esolangs.org/w/index.php?diff=83504&oldid=83503 * PythonshellDebugwindow * (+25) /* colorForth */ Wayback
12:35:09 <nakilon> heh, it's like how Word users comment the doc
12:35:33 <nakilon> maybe I should code in Word?... or a Google Doc at least
12:36:11 <salpynx> comments go orthogonal to your code, so for a funge they need to be in the 3rd dimension
12:36:15 <nakilon> it's possible to write applications for google docsactually
12:37:33 <nakilon> I imagine the google docs app can do fetch requests and so I won't even need to reimplement RASEL in it
12:38:03 <nakilon> but it would still need to implement some sort of the debugger that is the actual place where you need those annotations
12:38:33 <nakilon> or at least the ........@ way of "debug prints" that I use should also annotate the stdout then
12:39:32 <salpynx> `cat 🌱
12:39:32 <HackEso> ​#!/bin/bash \ python -c"import random as r;x=range;r.seed($2);print(''.join([chr((x(32,127)+[10])[r.randint(0,95)]) for i in x($1)]))"
12:40:14 <salpynx> fizzie: is that a useful command to commit? Would I just cp to /bin to commit it?
12:40:55 -!- moony has joined.
12:41:31 <salpynx> It's a Mersense twister random string generator, synced to the spec of the Seed language
12:41:40 <salpynx> `` for n in 28331 835133 30029010;do ./🌱 $((i++ + 2)) $n;done
12:41:41 <HackEso> No \ Yes \ True
12:42:26 <salpynx> It can generate text like that which is probably more practical than befunge. I'm still trying to find 'False' output
12:44:26 * nakilon failed to google an "IDE with commenting the code like in MS Word"
12:47:06 -!- variable has joined.
12:54:48 -!- arseniiv has joined.
13:00:59 <nakilon> hm, looks like Google Apps Script can't obtain Comments from Doc but it can get them from Spreadsheet
13:01:41 <nakilon> so it would be possible to write the funge code one char per Spreadsheet cell
13:03:33 <nakilon> imagine writing such annotated code on one Sheet of the Spreadsheet, pressing the button, and the result will be printed on the second Sheet
13:04:11 <nakilon> vertically the run history, horizontally the stack
13:12:50 <nakilon> Looks like it's possible to call Cloud Functions from Apps Script authentified but only if they are in the same Project, i.e. if I make such thing I won't be able to give anyone access to it unless I set the Function to allow anonymous calls
13:13:59 <salpynx> I figured out why my random numbers were different between py2 and py3, random.randrange() changed in 3.2 . I can use `int(r.random()*96)` instead of `randint(0, 95)` and the output will behave the same. The _seed_ behaviour only changed for bytes and str, ints is consistent
13:22:00 <salpynx> `` 🌱 () { python3 -c"import random as r;x=range;r.seed($2);print(''.join([chr(([*x(32,127), 10])[int(r.random()*96)]) for i in x($1)]))";}; 🌱 2 73
13:22:04 <HackEso> ​:P
13:27:41 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=83505&oldid=83500 * PythonshellDebugwindow * (+35) Summary
13:28:07 <esolangs> [[Esolang:Sandbox]] M https://esolangs.org/w/index.php?diff=83506&oldid=83505 * PythonshellDebugwindow * (-2) n
13:35:18 -!- leah2 has quit (Quit: trotz alledem!).
13:35:32 <nakilon> meh, the "QT Marketplace" in 2021 does not provide much more choice than it was built in it IDEs like C++Builder and Visual Studio back in 2005
13:36:15 -!- leah2 has joined.
13:36:23 <nakilon> and now it's even impossible to find there anything, because there in those IDEs the components had previews and now those are just text items in the stupid mobile-friendly website
13:37:33 <nakilon> or maybe there is the "gallery" that I just didn't see yet
13:45:47 -!- variable has quit (Quit: Found 1 in /dev/zero).
13:47:35 <fizzie> "Literate programming" is the conventional term for when you want to make comments except more so.
13:48:01 <fizzie> Though I think usually not in the sort of Google Docs style highlight-and-separate-associated-comment-thread style.
13:55:08 <fizzie> salpynx: There isn't a high bar for making HackEso commands, and usefulness isn't required. If you want one, yes, you just need to put it in /hackenv/bin, or ../bin in terms of the default working directory (/hackenv/tmp). For one-liners, people sometimes use: `mkx ../bin/foo//contents of command foo
13:55:28 <fizzie> Also do take into account that when executed as `foo bar baz, the argument line isn't tokenized by whitespace, so 'bar baz' will be passed as the first positional argument. Many commands need tweaking to cater for that.
13:57:39 <fizzie> (And as a consequence, often when you're using ``, something that would "naturally" be q{`` foo bar baz} must become q{`` foo 'bar baz'} instead. Though some commands are user-friendly enough to support both (usually by joining all arguments together, as if by "$*", before splitting them apart as needed).
14:02:04 <MrAureliusR> Is there a good editor for working on whitespace code?
14:02:12 <MrAureliusR> emacs has a whitespace mode which isn't *too* bad
14:13:35 <nakilon> MrAureliusR I guess you can code in another alphabet
14:13:50 <nakilon> and translate it in between
14:14:00 <fizzie> There's a Vim thing, I don't know if it's any good either.
14:15:35 <fizzie> https://www.vim.org/scripts/script.php?script_id=5035 probably.
14:15:56 <fizzie> I don't think it does all *that* much though.
14:19:24 -!- Sgeo has joined.
14:30:08 <salpynx> fizzie: I see the importance of getting the arguments tokenized both ways -- now handles both forms
14:30:15 <salpynx> `🌱 2 3406
14:30:17 <HackEso> ​:)
14:30:30 <salpynx> `` 🌱 2 73
14:30:32 <HackEso> ​:P
14:31:44 <salpynx> `` for n in 28331 835133 30029010;do 🌱 $((i++ + 2)) $n;done
14:31:46 <HackEso> No \ Yes \ True
14:45:38 <nakilon> seeding
14:45:42 <nakilon> so it's a pun
14:48:20 <nakilon> ideally I would expand this thing https://befunge.flogisoft.com/
14:49:03 <salpynx> `` \? $(🌱 3 1009578)
14:49:04 <HackEso> Puns are fun. Ask shachaf about them. But beware of Muphry adding misspellings.
14:49:31 <nakilon> but it would be hard to make something based on it; hard to take the parts I need out
14:51:06 <nakilon> this numbers thing reminded me another funny local personality
14:51:32 <nakilon> that said that he has invented the compression based on division
14:52:21 <nakilon> "just find two numbers that diving one on another produce the infinite chain of digits you need and you'll be able to compress the whole CD in several digits"
14:53:04 <salpynx> Seed is a pretty poor compression algorithm ... on average. It'd be great to find one really good counter-examples
14:53:27 <salpynx> oh, yeah, that's pretty much the same concept
14:53:48 <salpynx> If it's the right CD, sure :)
14:55:00 <salpynx> Waterfall sounds (synthesised)
15:02:22 <esolangs> [[Patternfuck]] https://esolangs.org/w/index.php?diff=83507&oldid=81205 * Robolta * (+1) /* Interpreters */
15:02:37 <esolangs> [[Patternfuck]] M https://esolangs.org/w/index.php?diff=83508&oldid=83507 * Robolta * (-2) /* Interpreters */
15:06:39 <esolangs> [[User:VilgotanL]] https://esolangs.org/w/index.php?diff=83509&oldid=82925 * VilgotanL * (+32) added languages i've created
15:12:53 -!- salpynx has quit (Quit: Connection closed).
15:21:23 <arseniiv> <salpynx> Waterfall sounds (synthesised) => lol
15:21:34 <arseniiv> is that white or pink?
15:30:32 <fizzie> The problem with that question is, people keep using the term "waterfall plot" for a spectrogram with a vertical time axis, meaning it's hard to find good results that are actually related to spectra of real waterfalls.
15:31:53 -!- g1n has joined.
15:32:32 <fizzie> Galburn, L & Ali, TT, 2013, Acoustical and perceptual assessment of water sounds and their use over road traffic noise, JASA 133(1), pp. 227-237, suggests it's pretty white, all things considered.
15:33:17 -!- g1n has left (WeeChat 3.1).
15:33:42 <fizzie> (Cf. Fig 4(a), "Spectra obtained for -- plain edge waterfall of 1 m width and 1 m height of falling water.")
15:45:14 <esolangs> [[Eul]] https://esolangs.org/w/index.php?diff=83510&oldid=73050 * Backspace * (+1832)
15:45:58 <esolangs> [[Eul]] https://esolangs.org/w/index.php?diff=83511&oldid=83510 * Backspace * (-2)
15:46:25 <esolangs> [[Eul]] https://esolangs.org/w/index.php?diff=83512&oldid=83511 * Backspace * (+2) /* Memory */
15:48:24 <esolangs> [[Eul]] https://esolangs.org/w/index.php?diff=83513&oldid=83512 * Backspace * (+31) /* Welcome to Eul */
15:52:12 -!- xkapastel has joined.
16:15:16 -!- relrod has quit (Changing host).
16:15:17 -!- relrod has joined.
16:18:40 -!- tech_exorcist has quit (Quit: tech_exorcist).
16:18:51 -!- tech_exorcist has joined.
16:26:00 -!- spirgel has joined.
16:29:27 -!- spirgel_ has quit (Ping timeout: 272 seconds).
16:45:31 <esolangs> [[Struffoli]] M https://esolangs.org/w/index.php?diff=83514&oldid=82940 * Zero player rodent * (+15)
16:58:17 -!- immibis has quit (Remote host closed the connection).
16:58:40 -!- immibis has joined.
17:08:57 -!- really3 has joined.
17:12:43 -!- imode has joined.
17:13:06 -!- really3 has quit (Remote host closed the connection).
17:17:40 -!- arseniiv has quit (Ping timeout: 264 seconds).
17:28:40 -!- really3 has joined.
17:40:14 -!- really3 has quit (Remote host closed the connection).
17:57:46 <esolangs> [[2Swap]] N https://esolangs.org/w/index.php?oldid=83515 * VilgotanL * (+1164) created the page
17:58:27 <esolangs> [[2Swap]] M https://esolangs.org/w/index.php?diff=83516&oldid=83515 * VilgotanL * (+0) minor edit
18:00:11 -!- arseniiv has joined.
18:22:30 <esolangs> [[2Swap]] M https://esolangs.org/w/index.php?diff=83517&oldid=83516 * VilgotanL * (+53) add example
18:27:51 <esolangs> [[2Swap]] M https://esolangs.org/w/index.php?diff=83518&oldid=83517 * VilgotanL * (+70) add implementation
18:28:56 -!- Bowserinator has quit (Read error: Connection reset by peer).
18:29:01 <esolangs> [[User:VilgotanL]] M https://esolangs.org/w/index.php?diff=83519&oldid=83509 * VilgotanL * (+12) added 2Swap to language list
18:31:52 <esolangs> [[Truth-machine]] https://esolangs.org/w/index.php?diff=83520&oldid=82891 * Oshaboy * (+6350) Added JSFuck
18:32:28 -!- Bowserinator has joined.
18:39:15 -!- andydude has joined.
18:39:21 <esolangs> [[2Swap]] M https://esolangs.org/w/index.php?diff=83521&oldid=83518 * VilgotanL * (+55) fix computational class section
18:39:29 <andydude> o hi
18:46:21 -!- VilgotanL has joined.
18:47:09 <VilgotanL> h
18:48:02 -!- VilgotanL has quit (Client Quit).
18:48:12 -!- VilgotanL has joined.
18:49:02 -!- VilgotanL has quit (Client Quit).
18:49:52 <esolangs> <VilgotanL> h
19:00:02 -!- andydude has quit (Quit: andydude).
19:03:26 -!- slavfox_ has joined.
19:04:49 -!- slavfox has quit (Ping timeout: 272 seconds).
19:04:52 -!- slavfox_ has changed nick to slavfox.
19:08:11 -!- adu_ has joined.
19:09:43 -!- adu_ has quit (Client Quit).
19:09:59 -!- andydude has joined.
19:10:54 <arseniiv> now I read “synaesthesized” in place of “synthesized” :o
19:12:50 <arseniiv> tried to draw those projection things with a cone with circle and parabola on it in geogebra 3D mode, and it was surprisingly neat
19:26:04 -!- wib_jonas has joined.
19:26:34 <wib_jonas> libera's official webchat at https://web.libera.chat/ is ready. this seems like a good time to make the channel move official and put a webchat link to the wiki page
19:26:49 <b_jonas> fizzie, what's your opinion?
19:28:53 <fizzie> In my latest talk page post I said I'd do it unless anyone objects "by EOW", but I'm not too fussy about waiting if people want to go ahead.
19:29:04 <fizzie> What you could *definitely* do though is to replace the kiwiirc link I put on https://esolangs.org/wiki/Esolang:Community_portal
19:29:45 <esolangs> [[Esolang:Community portal]] https://esolangs.org/w/index.php?diff=83522&oldid=83495 * B jonas * (-23) webchat link
19:30:20 <zzo38> Yes, although, the <noscript> block should be corrected; it isn't very good what they have now
19:30:35 <fizzie> At this point "making it official" probably consists of dropping the Freenode link and replacing the last paragraph of that section with a sentence about how we used to be on Freenode before. If nobody goes and does it before, I'll do that on Sunday.
19:31:50 <b_jonas> yep
19:32:38 <b_jonas> and mention that it's bridged, and possibly create a separate page for the esolangs bot, which gets complicated because there's already an unrelated article called [[esowiki]]
19:32:50 -!- wib_jonas has quit (Quit: Client closed).
19:32:56 <b_jonas> is it still bridged by the way?
19:33:09 <b_jonas> brctl: help
19:33:09 <esolangs> brctl: see "brctl: help ignore" (filter by nick) and "brctl: help filter" (filter by text content) for the two available commands
19:35:47 -!- Sgeo|web has joined.
19:37:19 <Sgeo|web> Test
19:37:53 -!- andydude has quit (Quit: andydude).
19:38:03 <Sgeo|web> Hmm. The page for that other place mentions this as Kiwi, didn't see that for Libera's.
19:38:51 <Sgeo|web> So Kiwi can be used by both a network as a custom web chat and as an overall IRC client?
19:40:21 -!- Sgeo|web2 has joined.
19:40:40 -!- Sgeo|web2 has quit (Client Quit).
19:40:47 -!- Sgeo|web has quit (Quit: Client closed).
19:40:58 <fizzie> Yes, I think so. They call it "embedding" when it's done by a network to provide a webchat.
19:41:16 <fizzie> But there's also the "unaffiliated" instance which you can use to connect to wherever.
19:43:22 <Sgeo> Apparently KiwiIRC is sponsored by PIA...
19:44:53 -!- relrod has quit (Changing host).
19:44:53 -!- relrod has joined.
19:46:02 -!- andydude has joined.
19:48:07 -!- simcop2387 has changed nick to simcop2387_.
19:48:20 -!- simcop2387_ has changed nick to simcop2388.
19:48:33 -!- simcop2388 has changed nick to simcop2388_.
19:48:50 -!- simcop2388_ has changed nick to simcop2387-web.
19:48:58 -!- simcop2387-web has changed nick to simcop2387.
19:50:41 <b_jonas> Sgeo: yes, Kiwiirc can still be used, but it's not where we primarily send new visitors
19:52:37 <esolangs> [[Special:Log/newusers]] create * Salmmanfred * New user account
20:04:52 <nakilon> I wish that guy get a position in some Internet comitee so all the drama lovers would abandon the Internet and
20:04:54 -!- tech_exorcist has quit (Ping timeout: 272 seconds).
20:18:17 -!- tech_exorcist has joined.
20:31:17 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=83523&oldid=83493 * Salmmanfred * (+331) /* Introductions */
20:31:29 <esolangs> [[Flkl]] N https://esolangs.org/w/index.php?oldid=83524 * Salmmanfred * (+7372) Created page with "== Flkl programming language == <br> Flkl is a language made by Salmmanfred in about 3 hours === The spec <br> === |a = nothing<br> f = load a string/int into the data<br> p..."
20:35:44 -!- andydude has quit (Quit: andydude).
20:36:54 <fizzie> Speaking of webs and chats, I've been reading up on Matrix out of curiosity, because I mostly just knew vaguely "it's that thing with the bridge that sometimes goes up and down", but not really the details vis-à-vis the federation stuff and the event graph and whatnot.
20:45:43 -!- spirgel_ has joined.
20:49:03 -!- spirgel has quit (Ping timeout: 244 seconds).
20:50:03 -!- Guest4 has joined.
20:50:07 <Guest4> brctl help
20:50:27 <Guest4> brctl: help ignore
20:50:27 <esolangs> brctl: usage: "brctl: ignored" (to list), "brctl: ignore [net/]nick" (to add) or "brctl: unignore [net/]nick" (to remove); network defaults to your own; nick = * matches any message
20:50:34 -!- Guest4 has quit (Client Quit).
20:51:03 -!- Guest4 has joined.
20:51:07 <Guest4> brctl: help ignore
20:51:07 <esolangs> brctl: usage: "brctl: ignored" (to list), "brctl: ignore [net/]nick" (to add) or "brctl: unignore [net/]nick" (to remove); network defaults to your own; nick = * matches any message
20:51:09 <Guest4> brctl help ignore
20:51:12 <Guest4> brctl:
20:51:15 <Guest4> brctl: help
20:51:15 <esolangs> brctl: see "brctl: help ignore" (filter by nick) and "brctl: help filter" (filter by text content) for the two available commands
20:51:19 <Guest4> brctl: notfound
20:51:19 <esolangs> brctl: see "brctl: help ignore" (filter by nick) and "brctl: help filter" (filter by text content) for the two available commands
20:51:24 <Guest4> brctl:
20:51:24 <esolangs> brctl: see "brctl: help ignore" (filter by nick) and "brctl: help filter" (filter by text content) for the two available commands
20:51:28 -!- Guest4 has quit (Client Quit).
20:53:07 <fizzie> It won't really get any better than that.
20:55:22 <esolangs> [[2 Bits, 1 Byte]] https://esolangs.org/w/index.php?diff=83525&oldid=81275 * Bangyen * (+97)
21:01:11 -!- andydude has joined.
21:33:08 -!- rbtEngrD_ has joined.
21:33:41 -!- rbtEngrD_ has quit (Client Quit).
21:35:28 -!- tech_exorcist has quit (Ping timeout: 272 seconds).
21:36:46 -!- rbtEngrDude has quit (Ping timeout: 264 seconds).
21:44:16 -!- andydude has quit (Quit: andydude).
21:58:07 -!- rbtEngrDude has joined.
22:05:20 <esolangs> [[Special:Log/newusers]] create * Lucky * New user account
22:06:38 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=83526&oldid=83523 * Lucky * (+242) /* Introductions */
22:07:15 * lucky waves
22:08:51 <nakilon> imagine you want to chose N colors that would look enough different from each other
22:09:05 <nakilon> you can take the 360 Hue circle and split it evenly
22:09:30 <nakilon> now imagine you don't know the N ahead and users just wants you to come up with new and new colors
22:09:56 <b_jonas> just use black, white, yellow, red, and blue
22:10:07 <nakilon> I imagined maybe there is some "golden ratio" but then it's 360 looped space that makes it different probably
22:10:14 <lucky> a sequence of black and white is sufficient to encode all other colours
22:10:28 <lucky> (:
22:10:28 <keegan> I'm not sure that evenly spaced hues is even optimal to begin with
22:10:31 <keegan> https://en.wikipedia.org/wiki/Color_difference#CIELAB_%CE%94E*
22:10:34 <nakilon> b_jonas but what should be the 6th color?
22:11:00 <b_jonas> nakilon: after that you redesign your UI to not use that many colors
22:11:03 <b_jonas> five should be enough
22:11:06 <lucky> there's some fascinating old chart about the prevalence of primary colour terms in the major world languages
22:11:16 <nakilon> lets think of it that it's not related to color but you just want to split the circle as evenly as possible
22:11:32 <b_jonas> nakilon: then sure, then you can use golden ratio
22:11:35 <lucky> https://stancarey.files.wordpress.com/2017/05/vox-video-colour-terms-sequence-from-berlin-kay-1969.png
22:11:55 <b_jonas> multiples of (sqrt(5)-1)/2 times the full circle
22:11:56 <lucky> i would nominate brown as the 6th
22:11:57 <nakilon> golden ratio on curcle?
22:12:02 <b_jonas> nakilon: yes
22:12:20 <b_jonas> nakilon: see TAOCP volume 2
22:12:23 <b_jonas> let me look up the exact place
22:12:48 <b_jonas> no wait, it's volume 3
22:12:51 <nakilon> maybe this? https://en.wikipedia.org/wiki/Golden_angle
22:13:02 <b_jonas> (I never get it right)
22:13:53 <b_jonas> nakilon: chapter 6.4, page 517 in second edition
22:15:10 <nakilon> I had volumed 1 2 and 4, not 3, lol
22:15:29 <nakilon> then I saw exactly the 3rd volume in my company library
22:15:49 <nakilon> I still think it's not a coincidence
22:17:51 <nakilon> b_jonas wikipedia says it's chapter "Hashing"
22:18:52 -!- spirgel_ has quit (Remote host closed the connection).
22:20:04 <b_jonas> nakilon: that's correct
22:22:37 <nakilon> "Mathematical modelling of a plausible physical mechanism for floret development has shown the pattern arising spontaneously from the solution of a nonlinear partial differential equation on a plane."
22:22:45 <nakilon> atheist wikipedia
22:34:55 -!- spirgel has joined.
22:35:27 <keegan> i'm not saying it was aliens, but it was aliens
22:36:09 <nakilon> damn I could not finish X-files ( they went shit in 6th season or so
22:36:20 <nakilon> with Robert Patrick and stuff
22:36:38 <nakilon> only the first episode with him was good
22:38:45 -!- really3 has joined.
22:38:54 <nakilon> so I guess the colors for my funge-debugger annotations instruction highlighting should be Hue=(137.508 * N) % 360
22:39:25 <nakilon> but I yet can't find anything usable for GUI in Ruby
22:40:16 <nakilon> many advices point to switching to kinds of JS interface
22:42:35 <fizzie> Personally when I need to pick colors, I just go to https://colorbrewer2.org/ ;)
22:42:43 <fizzie> Okay, it's a little specific-niche.
22:42:48 <nakilon> wait, it's not the golden angle in flowers
22:42:59 <nakilon> it's some "fibonacchi angle
22:43:33 <keegan> fizzie: that's a neat site!
22:44:09 <fizzie> One of old-old channel regulars (or was he even a regular here, or just some of my IRCnet channels?) once made a very nice (manually) syntax-highlighted Befunge program, but I think the Internet no longer has a copy.
22:44:25 <nakilon> oh wait it's still 137 https://thatsmaths.com/2014/06/05/sunflowers-and-fibonacci-models-of-efficiency/
22:45:04 <fizzie> Oh, Wayback Machine has a copy: http://web.archive.org/web/20060925160554/http://kotisivu.mtv3.fi/quux/qsort.html
22:56:46 <keegan> https://i.imgur.com/tNqWB0Z.png
22:56:58 <keegan> I only consider the first 6 of these easily distinguished
22:57:06 <keegan> you could probably get better results if you vary more than one dimension
22:58:00 <keegan> the first 11 are pretty distinct except for the two greens
22:58:21 <nakilon> keegan yeah green look too similar (
22:58:55 <nakilon> even while people say the green part of spectre is the most wide for humans
23:02:35 <nakilon> keegan what color space was that? 5 and 8 look like having pretty different lightness
23:08:06 -!- arseniiv has quit (Ping timeout: 264 seconds).
23:15:24 <keegan> that's CSS hsl(h, 100%, 50%)
23:15:28 <keegan> so sRGB color space
23:15:52 <nakilon> HSL
23:18:02 -!- hendursaga has joined.
23:18:05 <nakilon> sorrym I meant the "color model" term
23:20:17 -!- dcristofani has joined.
23:24:00 <keegan> here's an example output of a randomized, greedy algorithm https://i.imgur.com/5foY7ub.png
23:24:27 <keegan> for each row, we choose 1000 random candidate colors and pick the one that maximizes the minimum CIEDE2000 distance to any color previously picked
23:24:39 <keegan> (except that the first row is just a single randomly chosen color because there is nothing to compare to)
23:25:31 <keegan> I think this works pretty well. perhaps I should have it output a matrix of all permutations so you can see every color next to every other
23:31:19 <keegan> i'm sure there are smarter versions of this idea, you could use some optimization algorithm or maybe even an analytical solution to find the point in Lab space furthest from all others, instead of random sampling
23:34:00 <keegan> (whoops, had a bug, the initial "seed" color was not included at all, although i doubt this meaningfully changes the results)
23:40:30 -!- rbtEngrDude has quit (Ping timeout: 264 seconds).
23:40:32 -!- rbtEngrD_ has joined.
23:45:31 <nakilon> keegan wow that's cool
23:45:49 <nakilon> I never bothered implementing CIEDE2000
23:46:03 <keegan> neither did I ;) https://python-colormath.readthedocs.io/en/latest/delta_e.html
23:46:23 <nakilon> I usually use the euclidean distance in HSV bicone
23:47:36 <keegan> here's some code, it's kind of bad, but most code is https://gist.github.com/kmcallister/64c5ba09651238105442eb9cecccd7e8
23:48:29 <keegan> the first time i really dug into this color-distance stuff was for the much simpler question of "should this arbitrary bgcolor have white or black text"
23:48:38 <keegan> for which using CIEDE2000 is almost certainly overkill
23:48:43 <keegan> but i already had it here so i used it for that too :)
23:49:40 <nakilon> so your algorithm always takes the most far one from others?
23:49:57 <nakilon> such as would split the hue circle in 1/2, 1/4, 1/8, etc.
23:50:06 <keegan> yes
23:50:20 <keegan> but it's working in the 3-dimensional sRGB space and not just the hue space
23:50:50 <keegan> I decreased the number of candidates at each step to 100 for speed (it doesn't seem to affect results much)
23:51:17 <keegan> I think even without compromising the greedy, iterative nature of the algorithm you could be smarter
23:51:43 <keegan> for example allow each candidate to be "repelled" by the previously-picked color before fixing it in place and evaluating its distances
23:52:01 <keegan> then we would usually pick true black and true white, for example
23:52:29 <keegan> as written my code often picks some nearly-black and nearly-white colors which is obviously leaving some distance on the table
23:52:37 <nakilon> actually in my case I think I'd need to color the font and keep them all the same color background, black or white
23:53:22 <nakilon> so it won't allow all kind of colors, some would be too close to background one
23:53:35 <keegan> mm
23:53:38 <nakilon> but of course I could put the background into the count when algorithm selects another color
23:53:41 <keegan> yep
←2021-05-26 2021-05-27 2021-05-28→ ↑2021 ↑all