« first day (3772 days earlier)      last day (1075 days later) » 
00:00 - 15:0015:00 - 00:00

12:08 AM
Any feedback on the changed conditions?
Also this?
 
0
Q: Turn-based RPS Poker

BubblerThis is a two-player card game which resembles a vastly simplified game of Texas Hold'em, combined with RPS (rock-paper-scissors) and the most basic mechanic of commercial turn-based card games. The deck A single full deck consists of 30 unique cards, where each card has one symbol out of RPS and...

 
Meanwhile, the ijk challenge became my top #2 challenge in just two days
 
12:37 AM
TIL you can have animated slide backgrounds in powerpoint. very cool
 
12:48 AM
> This survey is anonymous. Please enter your name to affirm you have read and understand this.
10/10
 
That's very sus
 
just enter "your name" I guess
 
@RedwolfPrograms link to survey?
 
It's school related so no :p
 
aww.
 
12:52 AM
Unless you want to provide feedback on the quality of my precalculus class
 
yes, yes I do
 
I do too!
 
Me too.
 
we have observed its horrible effects on you, so we can judge it
 
Write your name as Redwolf�Programs and watch them freak out
 
12:53 AM
Same here!
 
I was going to say it wouldn't matter anyway since you have to enter my full name, but uh...
Y'all know it already lol
 
You have 5 people wanting to take your survey for you
don't keep the crowd waiting
 
*bribes*
 
And apparently "my grade has been recorded"
Looks like someone forgot to change the default message lol
 
:D school is so much fun
 
@lyxal Try turning off your dark mode.
 
It fixes itself when I start to write a message
 
Any additions y'all want to add? :P
@OldSandboxPosts "Introduction" can be edited down and deleted, that's been posted.
 
the fact it's not in alphabetical order is deeply upsetting
 
@cairdcoinheringaahing Jelly/05AB1E/…: What if everything was about byte count?
@cairdcoinheringaahing sh: What if everything was a file?
@cairdcoinheringaahing Piet: What if everything was a painting?
@cairdcoinheringaahing Scratch: What if everything was a block?
@cairdcoinheringaahing Whitespace: What if everything was  ?
@cairdcoinheringaahing Why is the "L" in COBOL not bold?
@cairdcoinheringaahing Node.js: What if Node.js was a programming language?
 
1:25 AM
Among us: what if the impostor was sus? 😳
 
CMC: I found a Jelly 14-byter for the dihedral group challenge. 200 rep bounty if anyone can ninja me while I'm writing the explanation for it
 
heh, i doubt it'll find it even without the time pressure, but i'll give it a shot
 
Developer survery: what languages have you used in the last year? Me: Vyxal
 
well I got 24, fml :/
haha, it's the exact same as caird's, but with a different ordering of the steps
 
Wait, it doesn't work on empty input :/
 
1:42 AM
mfw java is better equipped for this challenge than jelly
 
1:57 AM
And it didn't work for other reasons, now all fixed at 17
Revised CMC: I found a Jelly 17-byter for the dihedral group challenge. 200 rep bounty if anyone can ninja me while I'm writing the explanation for it
 
2:12 AM
well, i figured out a potential trick, but i can't get it using a shorter approach than just reordering caird's solution to be less efficient :/
 
Well, the CMC is over :P
 
alright, well, i still want to try to get to this independently, but i feel like this is some bool-conversion/bitwise memes that i am not gonna figure out :p
one thing i have is that you can just repeatedly replace sr with rrrs first and then handle separately but i don't actually see a good way of doing the latter step without just doing the split-on-1,1,1,1, flatten, split-on-0,0, flatten thing lol
 
where there is a bubbler there is always a clever mixed base conversion
 
although maybe not in this question
 
2:24 AM
inb4 it involves something like using 3 and 7 as inputs and converting to base 19 or smth
 
2:44 AM
Honestly base conversion builtins should come in two versions, one for highest digit first and the other for lowest digit first
 
ngn
3:35 AM
@Bubbler "highest digit first" should probably be called something else, not base conversion
 
Funny thing is that all of APL/J/Jelly use highest digit first for base conversion
J has "polynomial" for the reverse
 
ngn
@Bubbler huh. what do you mean? i thought "highest digit first" was something like n -> floor(n/b), floor(n/(b^2)), floor(n/(b^3)), .. (and maybe differences between them)
 
I mean 13 in base 2 is [1, 1, 0, 1] in them, not [1, 0, 1, 1]. 2⊥1 1 0 1 → 13, 2⊥⍣¯1⊢13 → 1 1 0 1
 
ngn
@Bubbler ah.. little-endian. that would make more sense because powers of the base would correspond to the indices in the result.
 
isn't that big-endian?
wherein the order of digits is how one writes it out, so 13 is 1,3?
 
ngn
3:42 AM
@ngn but it's just the reverse of big-endian base conversion, not fundamentally different
 
The current languages only support big-endian, and I'm suggesting to have little-endian too
 
ngn
@hyper-neutrino right
 
it's not too different but (at least in jelly) with base conversion with a right argument your chaining rules can get messed up if you're forced to manually reverse lol
 
though yes, it's just a matter of reverse
 
actually wouldn't <base convert> <reverse> <2-link dyad combine> work? it's +2 though, so even a 2b built-in saves in all cases
using 2,1 chaining being F(left ~ dyad ~ right)
 
3:51 AM
0
A: Sandbox for Proposed Challenges

xavcCompute the generalised XOR code-golf base-conversion The goal of this challenge is to calculate a function which behaves similar to the bitwise xor function, but in any base. Given two non-negative integers \$ x \$ and \$ y \$, and another integer \$ b \$ such that \$ b \geq 2 \$, compute the g...

 
4:49 AM
0
A: Sandbox for Proposed Challenges

ASCII Logos 2Drawing the Super User logo The goal is to create the Mathematics Stack Exchange logo using ASCII characters. It looks like this. The exact output should look like this: _______ ____ | \ | | | | | _ \ | |.| ___ | \-/ / | ...

 
> Mathematics Stack Exchange
 
5:03 AM
@hyper-neutrino can you delete chat.stackexchange.com/transcript/message/58150271#58150271 ? I had to remove the video from YT because I realised I left some sensitive info in the video
 
@lyxal done :+1:
 
l'thank
 
although, the video is gone (AFAICT) so i don't think the message offers any info anymore? but i've redacted and purged it anyway
 
I know that, but I thought having the link gone too would be good
 
true. never hurts to play it safe :p
in any case all that's lost is a tiny bit of context anyway lol
 
5:08 AM
Meanwhile, inconsistent I/O can make Jelly 13 bytes in two ways
 
What's another word for "quick" in the Jelly sense? Asking because I'm thinking of making a Vyxal fork that has postfix operators like Jelly's quicks
 
Transformer? Macro?
 
adverb? (I think another language uses this; J?)
 
Either transformer or adverb
 
ngn
@hyper-neutrino and k
 
5:13 AM
I guess macro would work, since it is the name for the thing that takes part of AST and transforms it
 
Except it isn't really a macro in the traditional sense
Transformer sounds the best to me
 
Rust macros exactly do that
 
ngn
@Bubbler i really dislike it when new languages use established terms to mean something else
 
and there must be some name used by Lisp family too
@ngn Then what is the established meaning of macro? (Just asking because I wasn't aware of that)
 
ngn
@Bubbler something that rewrites source code or transforms the ast
but an adverb/transformer is not doing that
 
5:17 AM
@ngn that's what I thought the definition of a macro was too
 
it does transform the AST though, doesn't it? a Jelly quick can change the arity which therefore changes its chaining
and also it just modifies in-place an atom, it doesn't become part of the execution, it just changes the meaning of a function
 
For my purposes, transforming seems more fitting
 
ngn
@hyper-neutrino can a "quick" be used to make arbitrary ast transformations?
 
Well... now I'm not sure I know what that means, lol
 
A quick does a limited form of AST transformation, in that it pops last n "objects" from the source "stack" and pushes a new source object
 
ngn
5:24 AM
@hyper-neutrino i was asking because i'm not very familiar with jelly. actually, it's hard to come up with a realistic example for a useful macro, as jelly has no variables..
 
A macro also takes some arguments in the form of source object and creates a new source object out of it, I think?
 
@ngn Bubbler's answer is correct from everything I know. i'm familiar with jelly for the most part, but not so much with the rest of what we're talking about :p
 
ngn
@Bubbler does that happen before runtime?
 
Yes, at parsing time
 
ngn
5:28 AM
ok, maybe you're right to call it that then
so, it's not like operators in apl or adverbs in j&k
if i understand correctly, the "quick" transforms the ast and disappears once jelly starts evaluating
whereas adverbs remain as part of the ast and are interpreted in a special way
 
Most quicks are like a hybrid of a (possibly variadic) adverb and a macro, because they act on source code objects but they also add a special functionality to them (like / in +/ takes a dyad + and creates a monad that reduces with +; +2/ takes a nilad 2 and a dyad + to create a monad that reduces each 2-chunk with +)
A true macro-like quick is , which duplicates the last source object
 
oh yeah does A⁺ become AA$ or AA in the source?
 
ngn
@Bubbler that's not my understanding of macro
 
@hyper-neutrino AA I think
 
ngn
a macro is supposed to perform a source-to-source or ast-to-ast transformation and disappear completely
but the / in +/ remains there until the actual evaluation
 
5:40 AM
Hmm
 
oh, $ doesn't error if it doesn't have enough things to combine. hm.
wanted to test by doing AA⁺$ lol
even tie doesn't error
 
Then you can say most quicks are not actual macros, though a quick can act as one
 
yeah, it seems to be AA. F⁺€ applied to [[1, 2], [3, 4]] gives [1, 2, 3, 4] which is consistent with FF€ and not FF$€
 
So F⁺€ parses like this: push F; pop F and push F twice; apply to the last item
so the source "stack" becomes [F, F€]
 
which is definitely macro-like and can't just be a modification of an atom
 
ngn
5:45 AM
ok. we can't say that about +/ though
 
does the / not pop the + and push a combined +/
 
I suppose. though i'd argue it's "pop + and push reduce by add"
 
ngn
@hyper-neutrino what if + is an arbitrary user-defined function ("link"? or whatever it's called), what would / push on the source stack?
 
it would push reduce-by-that
 
well it just pops whatever is on the source stack and pushes "reduce by that thing"
doesn't matter if it's a single atom or a custom link; i don't think there's any distinction
 
5:48 AM
it parses quicks using stack operations
yeha i'm pretty sure there is no distinction
 
There's definitely a wrapper that acts as an adverb, but it's kinda hard to say whether the / in the source code is the wrapper
 
ngn
so these "reduce by .." things can't be primitive operations because jelly can't possibly know what function i'm going to reduce. so, +/ must be some structure that preserves information about the /
 
That's correct
 
well, I would argue that that's wrong on a technicality - the structure as far as Jelly is concerned isn't a / plus a dyad, it's just some monad
but the monad's functionality technically preserves information that it's being /'d over a dyad in the Python callable that sits on the source stack
so nvm maybe that is right. but one could see it as being either
 
ngn
ok, so it's a philosophical question of whether that / in the structure is "the same thing" as the / in the source code (or ast)
 
5:52 AM
i guess :P
 
The object formed from +/ would look like, say, an object of class Reduce containing the function +. The parser sees the token /, pops +, and pushes a Reduce(+). This action is not quite distinguishable from, say, what APL does, as it sees /, consumes the thing on its left, and creates a Reduce AST node
at least from the outside
 
I mean the difference just comes down to whether you put the / on the AST or hide it within a node as a nested object lol. So I guess there isn't particularly a difference
 
(and it doesn't help that there's no other way to create a Reduce object in Jelly)
 
ngn
@Bubbler apl does everything at runtime, as until the very last moment it can't even be sure / means "reduce". it could be "replicate".
 
At least it does parsing for each line before it can run that line
 
ngn
5:58 AM
@Bubbler not really
only tokenization
 
ngn
@Bubbler classic example: a b c. how would that parse? (a b)c or a(b c)? you can't tell until you know the nameclasses of a, b, and c, and those will be revealed only at evaluation time.
that's one of the big problems with apl that have been solved in k.
 
I'd argue parsing happens at evaluation time then
 
ngn
@Bubbler exactly
 
since jelly links are variadic then they'd have to be parsed at evaluation time
actually, maybe i need to run a test on that
is it possible for a link to be valid in dyad but not monad? or vice versa?
 
ngn
6:03 AM
@Bubbler btw, i'm looking forward to your fastest-code ulc evaluation challenge :) (this is not a promise that i'll be able to solve it)
 
might be easier to dig through the source code to figure out, but I am assuming they are parsed at runtime, rather than Jelly parsing them in all three arities first and just calling on the appropriate one
 
A Jelly source line is evaluated in two phases: constructing the source stack (quicks are resolved here), and running the source stack with given arity
 
Okay. so the parsing is at evaluation then
 
I guess parsing is involved in both stages
 
i mean, it is possible to parse it at "compile-time" into all three arities and then just select the appropriate one, at least in theory, right?
 
6:06 AM
Yes, it's certainly possible
 
what is the arity of a tie, BTW
is it just the max of all of them?
 
That's a mystery :P
 
time to dig through source code for like 20 seconds :p
yeah it's the max of 1 and each of the links' arities
ret = [attrdict(arity= max(1, *arities(links)))]
 
good
 
this is IMO the only sensible way to do it
 
6:09 AM
kinda true
 
maybe max with 0 could work too?
god imagine if the arity changed each time. i don't even think that'd work but that'd be really fun (in a masochistic sense of the word) to try to understand in a more complex structure
 
i'm not sure you could even necessarily do that if you apply another quick to the tie but it would be funny
 
i want to find a sane application of putting a tie into a tie
AB tie C tie would do [A C B C] ... which... i currently can't think of too sane of a use for
 
Well, +- tie - tie reduce does "add one and subtract next three"
 
@hyper-neutrino qué
 
6:22 AM
or --+ tie tie to be precise, as in [a,b,c,d,e,f,g,...] -> a-b-c-d+e-f-g-...
it is shorter than ---+4 tie
 
huh
@StackMeter the return value is a singleton list containing an attrdict (custom type for Jelly) whose arity is the maximum of 1 and all tied links' arities
 
ties are niche enough to begin with
 
true
it seems they're either part of some super intelligent solution or just not really applicable
 
except for challenges like "add, sub, mul, div, cycle"
 
6:30 AM
i feel like mapping ties can come up as sort of an apply different functions to different elements of an array of known length kind of thing
 
Jonathan Allan's tie in a reduce trick was really clever (for the non-abelian order 8 group question)
 
6:50 AM
5k rep!
As a celebration, I'm going to finally do my math homework.
 
congrats :p and good idea
ok so i slept early to try to get up for BMG which i failed to do and now it's 3 AM and i'm not tired and i still need to get up for work tmr pls help
 
Lol
 
ah the advantages of having a completely demolished sleep schedule
 
I can't, I spent too much time on CGCC for a whole week and have done practically nothing :P
About to join "three repcaps on a single week" gang
 
ooh, nice :p
most i've had is 5 in a row (6 within a week)
 
ngn
6:55 AM
@hyper-neutrino try to count sheep with transfinite ordinals? :)
 
5 caps then a gap then 3 caps
ah, back when i had so much time and motivation compared to now
@ngn i will give that a shot :p
ok i'm sleep deprived enough that i could probably sleep right now if i wanted. but a) i don't really want to even though it's a shitty idea to not and b) i don't feel tired at least
 
Bubbler, kick-mute hyper. That should get him to sleep.
 
Can't kick mute a mod I don't think
 
i assume you are joking, but one of our mod powers is total immunity to kick-mutes :p
 
6:58 AM
ninja'd, and now i'm about to get "you're not joking"'d
 
That's lyxal's job.
 
@hyper-neutrino you assumed wrong
 
No I was joking
 
An understandable error, but still an error
@Ausername you really weren't. You were and still are A Username
 
also FWIW, for the record kick-muting is announced to all other ROs (IIRC)
 
7:00 AM
sighs
What does FWIW stand for?
 
not sure about mods presently in the room - I am not an RO of this room by definition of the room owner list
for what it's worth
 
:58152161 ninjad
 
Guys what does idk mean? Everyone keeps telling me that they don't know and it's kinda getting frustrating.
 
i don't know
sorry, gonna have to ask someone else
 
Dang it not you too!
 
7:02 AM
I'm pretty sure no one knows
 
We're meant to disapprove golfing edits right?
 
Good cos I just did.
 
11
Q: When it is and is not acceptable to edit someone else's post

RGSTL;DR: In what circumstances is it ok (by CGCC and politeness standards) to edit directly a post (be it challenge, answer, sandbox question, etc), assuming the edit is done in good faith? I know people can rollback edits and further edit a post, but in the meantime that goes from the unwanted edi...

There's a meta post for that
 
Also it was by a suspended user (don't ask)
@Ausername At this rate, it'll take me another two months to get to 10k, and another year to finish my homework.
 
7:21 AM
xigoi just beat Dennis' jelly answer here 5 years after the fact:
1
A: Map a list of indefinite size to a number!

xigoiJelly, 13 12 bytes Encode, 7 6 bytes 2Bṁx‘Ḅ Try it online! Decode, 6 bytes ȯIBŒɠ’ Try it online! Encodes positive integers in the run lengths of the binary representation. Since we may have zeros, we increment all numbers. For example, the list [0,1,4] is encoded as 10011111 in binary. Numbers ...

 
ooh, very nice. and no new features used, just a new approach!
 
That's got to be a record... Also, respect Dennis's two ns.
@WheatWizard TWO NS IN DENNIS!
 
@hyper-neutrino Yeah, I wasn't certain of this since I know very little Jelly but I thought it was the case.
 
well at least it looks like no new features to me
not too sure about Œɠ actually
but the rest i think have been around for a long time
it's group run lengths, which seems not new. idk tho. in any case it's a clever approach even if it does use a new feature or two so nice
 
And it is a significant improvement, not just 1 or two bytes. My guess would be 2016 Jelly could still express group, short enough to beat the old one.
 
7:30 AM
true as well, yeah
 
7:45 AM
17 hours ago, by pxeger
@ROs, is it worth removing the now finished BMG announcements from the starboard since we no longer need it?
If we have a starboard, where's our port?
 
that is a question with no answer
o/ @JoKing
 
heyo
 
I've been impersonating you, sorry
 
you've been joking?
 
is it just me or has it been a while since the three of us have been in chat at the same time? :p
 
7:49 AM
seems like it
 
speaking of counting sheep, i seriously need to sleep now lol. o/
 
\o
 
8:16 AM
what happened here?
 
@StackMeter sheep.
 
I don't get it
 
there's nothing to get
 
why did @Razetime say "sheep".
 
well the most recent 2 messages before you entered the room were about counting sheep

sheep

32 mins ago, 1 minute total – 2 messages, 2 users, 0 stars

Bookmarked just now by pxeger

 
8:23 AM
ok
what happened before that
 
I dunno
 
@Bubbler :(
I haven't repcapped once
 
hi
 
hi @Wasif
 
@StackMeter hello
 
8:33 AM
also nice to see Wezl's put the e back in their name
@Wasif I do not know what challenge to do next
 
@StackMeter you didn't ever post a question on CGCC until now, are you thinking to make one
 
yes
 
(If you are talking about that)
 
I am talking about that
 
you have no obligation to post challenges
 
8:44 AM
I know
but this is the first one that has real potential
the new edit for my question is now out
 
@RedwolfPrograms I've updated your SE Chat Monospace Fix to include the transcript pages and the 2 other chat domains: gist.github.com/pxeger/935cba86c281003b9f788e7f7f79c44b
 
9:02 AM
@StackMeter I have an idea for you, determine the quarter of an angle. given an angle in degrees (degree is an integer, positive or negative). Return which quarter of a circle the angle is in.
 
that's just a%360/90
 
err no....
 
how so
 
but anyway thanks for the formula
 
what do you mean by "which quarter of a circle" then?
 
9:05 AM
I used to draw the angles manually for determining them in my math class
@pxeger my English mathematical vocabulary is bad, and it is hard to explain in chat. assume a circle divide It in four equal parts, divider lines are it's diameters. Start to draw an angle clockwise from the center of the circle if it is positive otherwise anticlockwise. determine which quarter it ends. the circle thing is not necessary at all
I just used for ease of imagination
 
I think we're getting at the same thing, but I don't understand why you said "err no"
 
10:03 AM
CMQ: PS5 scalping; yes or no?
imo it's bad
Jesus, Mother Meta is a dark place
 
10:25 AM
What's wrong with MM?
 
11:04 AM
@cairdcoinheringaahing there's a lot of overheated discussions that my brain is not ready for
 
I hereby forbid people to use my username in code golf questions and or answers...searching for Lyxal gives 69 search results (this is a joke of course you can still use it)
 
brb, going to edit "lyxal" into one of my answers for no reason
 
lol
welcome to the land of post-69
 
Caching really do be helping me out rn
 
why a cache
caches have issues with them
such as syncronization
for example
if you were to get 80% of the way on a big project
then I came
and it loaded your cache
what is to stop me from replacing that with some rude message
or this
 
11:16 AM
nope
Idk why you thought I'd be that susceptible
 
bcos you always have been
now, if you excuse me
I have an interpreter to finish
 
@lyxal I'll just refer to you as "The Lyx-ler" then :P
 
@pxeger <whisper>do you think it worked</whisper>
do you know, I think most golfing langs are made from the creator furiously typing "how factorial" in chrome, and things like "how map list python"
the struggle is real
 
11:50 AM
@StackMeter I didn't actually do it
 
@StackMeter still nope
There exists a list of 22 tips for rickrolling people I once wrote for @user
Ask them if they'll share it with you
 
12:46 PM
@lyxal That list was for me, not user. Here you go @StackMeter
 
1:13 PM
@cairdcoinheringaahing nice try
 
requesting more feedback on this meta discussion, specifically in regards to this answer since the other answer is a good suggestion but was tried and didn't work in the long run
 
I regret not posting the "as a ticker feed" answer back when the discussion was more volatile in votes
 
I see pretty much no downsides to it and it's easily reversible like you said if it does become disruptive somehow, so as long as it doesn't get any specific negative feedback I think it's fine to just add it, maybe once the other ROs have confirmed it.
 
I think a ticker feed for a few more catalogue posts (quine, fizz-buzz?) would be a good idea too
showcase of languages?
 
let's just do (ticker) feeds for all questions, and remove the ones that get annoying :)
 
1:28 PM
I think that if we want and like a Hello World ticker, then we can consider expanding it to a couple more challenges that are used for new languages
@Wezl It'd probably be easier to just set up a chatbot to post every new post :P
 
but more disruptive
 
well the chatbot doesn't have to onebox them
 
how do you disable oneboxing?
 
prefix the message with a zero width space
 
ah ok.
 
1:31 PM
or just manually do [title](url)
 
What about a ticker feed for all new posts? No different than having New Posts open in the background in another tab, and you don't have to switch pages
 
right, but now we don't know what that post is without clicking :p
 
@pxeger Ticker feed dropdowns increase in size with new posts, they don't have a limit
You could leave TNB open overnight on an active evening and get a screen full of random answer links in the morning
 
oh I thought the ticker would be more like the starboard, with old items rolling off the bottom
 
1:34 PM
which is fine IMO
 
@pxeger I don't think so (they're kinda hard to test tbh)
 
lemme try it out. I'll use SO's new posts feed to test since it's fast updating
 
I've got a ticker feed on SO's new questions
 
ok
reading the Vyxal interpreter
@lyxal, surely you could write a cleaner code than to just use the first 100 factorials
 
nope, it's about a million times quicker than calculating them
 
1:44 PM
^
it's not like it doesn't support the 101th factorial
it just caches a reasonable amount so it doesn't take forever
 
there's a built-in in the math library
 
That still takes ages for large inputs
 
it'll still be slower than just caching it
 
every factorial takes ages for large inputs
 
And caching is a way to reduce that by as much as possible
 
1:46 PM
yeah so why not cache a reasonable amount?
 
@Wezl now I used it to get a rot13 tool
 
@Wezl CyberChef is my goto for anything like that
(unless it's quick to write code to do it in my shell or in Python)
 
right, I'm trying to use it in the shell, I don't want to wait for a webpage to load
 
you can do a one liner with tr
 
1:58 PM
that's what I was looking for
 
tr a-z n-za-m <<< rot13
 
2:55 PM
 
well lyxal already failed #7
 
@hyper-neutrino Did it work btw?
When you opened the document, did anything happen?
 
nothing unusual; was I supposed to get rickrolled or smth?
 
Yeah, a popup should've appeared. Lemme try it again
 
00:00 - 15:0015:00 - 00:00

« first day (3772 days earlier)      last day (1075 days later) »