12:01 AM
See, I kinda want to nominate the blog for Best Of, but I don't think it really qualifies for "most significant meta impact", and it definitely doesn't qualify for any others :/

@DLosc Yes, BQN has numbers that are not arrays, although it tends to transparently upgrade them to arrays when needed.

@cairdcoinheringaahing Alternate 6-byte answer which might also lead to a different approach

@cairdcoinheringaahing New category: best blog post
Did mini-golf die?

Well, we're doing a CMC right now, so...

Welcome to the 19th Biweekly Mini Golf. We don't really have any CMCs prepared, but feel free to post any for the next hour or so :)
That works :P

12:04 AM
@cairdcoinheringaahing the product is 4?

Honestly, I'm very happy that we've reached 19 - that's almost 10 months of BMG, more or less without fail

I recently posted this CMC which didn't get a lot of answers:
CMC: Given a 5-element list L and a number N, replicate the middle element of L so there are N copies of it. E.g.: L=[3,1,4,1,5];N=3[3,1,4,4,4,1,5] and L=[2,7,1,8,1];N=0[2,7,8,1]

@Neil Unfortunately, that takes 5 bytes to express: chat.stackexchange.com/transcript/message/60255866#60255866

> Unfortunately
Currently shorter than every other solution :P

But you can always get shorter :P
even when it's one byte, what if there exists a zero byte solution??? :P

12:07 AM
@cairdcoinheringaahing wild card?

Given a matrix, return the cumulative maxima across and down. E.g.
3 1 4
1 5 9
2 6 5
gives
3 3 4
3 5 9
3 6 9

@DLosc Yet another 6-byte Jelly solution

@AaroneousMiller That could work, yeah

@cairdcoinheringaahing Literally was just about to post that

@Adám Assuming starting from the top/left?

12:10 AM
Yes, as per example.

Also, nice pi reference :P

I tend to use various famous constants as examples.

What is done for?

2 1
0 1

What?

What should the output be?

12:11 AM
Is the bottom left corner 1 or 2?

2

@cairdcoinheringaahing Wait, no, I got that the wrong way around. Should the output look like this?
2 2
2 1

Every number spreads right and down
There can be nothing in the SE quadrant from a number, which is smaller than that number.

I actually think that the version with 1 in the corner is more interesting.

So [[2, 1], [0, 1]] -> [[2, 2], [2, 2]]?

12:15 AM
Yes, that's what I had in mind.

The 2 version is just colmap a scan then rowmap the same scan.
But with 1 in the corner you have to be careful.

I have 5 bytes for 2 in the corner and 6 bytes for 1 in the corner
@cairdcoinheringaahing Fun fact: for the 6 byter, 50% of the code is the same byte

I don't get the spec for 1 in the corner.

@Adám ⌈\⌈⍀ in APL if I'm interpreting it correctly

Yes, that's what I had in mind.
"mini" golf.

12:17 AM
@Adám Every element is the max of anything earlier in the same row or column. You don't have bleed between differnt rows and columns.

(Probably not the shortest possible, but still)

nice

Try it online! - top line is 1 in corner, bottom line is 2 in corner
@DLosc xP

Wait, so APL beats Jelly on both specs‽ 1 in the corner should be ⌈\⌈⌈⍀

Jelly doesn't have a "scan by rows" builtin

12:22 AM
Pathetic ;-)

My fork ties APL: I add ȥ to be scan by rows

Do you have reduce by rows too?

@cairdcoinheringaahing Wait no, I can't read my own code: ȥ is reduce by rows, Ðȥ is scan by rows, and doesn't save any bytes
(it can save bytes, as the behaviour differs from \€ for 3 or more dimensional arrays, but not here)

@cairdcoinheringaahing How does Jelly represent 2d arrays? Isn't that just a map?

@DLosc Argh--an approach that seemed more clever is slightly longer.

12:25 AM
2d arrays are simply an array that contains at least one 1d array
Typically, that's a list of lists

Jelly doesn't have proper multi-dimensional arrays.

Nope. Constrained by Python's lack of "being an array language"

In that case rowmap should just be a regular map right?

@WheatWizard Yeah, scan by rows is just "over each row, scan"

It could have been built atop NumPy

12:27 AM
I meant that, while APL has a single char scan by rows, Jelly has to do "each: scan" (\€) instead

Ah yeah I guess I was considing a combination of two things to just be built in.

CMC: Given a multi-dimensional non-ragged array and a number, replace each element by a list consisting the given number copies of that element. E.g. 3 and
[[[3,1],
[4,1]],
[[5,9],
[2,6]]]
gives
[[[[3,3,3],
[1,1,1]],
[[4,4,4],
[1,1,1]]],
[[[5,5,5],
[9,9,9]],
[[2,2,2],
[6,6,6]]]]

Haskell fmap.replicate
You have to import libraries to get weird array types but fmap will still work since they are always functors.

Vyxal λ-[vx|⁰ẋ (I think)

Although, Jelly's reduce/scan only scans by columns "on accident": reduce [a, b, c, d] by f technically just does ((a f b) f c) f d, so non-vectorising commands have different behaviour. ,Ṁ¥/ means "reduce by: pair arguments, take max" and »/ means "reduce by maximum", but for multidimensional arrays, they are different: Try it online!

12:34 AM
@WheatWizard So pretty much the same as in APL: /¨ (/ is replicate and ¨ is each/map)

The first does max(max([3, 1, 4], [1, 5, 9]), [2, 6, 5]) whereas the second does [max(max(3, 1), 2), max(max(1, 5), 6), max(max(4, 9), 5)]

@Adám Oof. Pip doesn't have a good way of mapping arbitrary operations at arbitrary depth. It would be super easy if it were string repetition instead of array, though...

@DLosc Can you not recurse?

@Adám Probably, but that's going to be lots of bytes

Imagine not being able to recurse in 1 byte

12:37 AM
Probably the shortest way would be to do a string replacement and eval it

@DLosc Yeah, {0=≡⍵:⍺/⍵⋄⍺∇¨⍵} in APL

In Haskell the obstacle to a lot of these questions is typing. And you often have to get into the weeds of lightly dependently typed stuff in order to get some of these types. But in this one we don't actually care about the shape of the container at all so we abstract all that difficulty out.

@lyxal How can you do that? Do you not need an action and a stop condition?

@Adám I more meant that the syntax to call the current function isn't 1 byte in pip if there even is a built-in for recursion

12:40 AM
Oh.

Aka, f(x, n) {for(e in x) { if(depth(e)) {f(e, n)} else {repeat(e, n)}}}

@Adám Pip -p, 10 bytes. Dunno if it's cheating to take and return strings for the arrays, tho...

Probably allowed by default rules, and it is CMC, so…

@lyxal There is a recursion operator in modern Pip, RE, but only for one-argument functions so far.
Of course it could be one byte if I wanted to sell out with a 256-character code page, but I don't. =P

@DLosc if/when you allow for variadic recursion, avoid Jelly's mistakes :P

12:42 AM
@cairdcoinheringaahing What are they, so I can avoid them?

Related CMC: Given two identically structured non-ragged arrays, return an array identical to one of them, except each element is copied to N copies, with N being the corresponding number from the other array. E.g.
[[2,7,1],
[8,2,8],
[1,8,2]]
and
[[3,1,4],
[1,5,9],
[2,6,5]]
gives
[[[3,3],
[1,1,1,1,1,1,1],
[4]],
[[1,1,1,1,1,1,1,1],
[5,5],
[9,9,9,9,9,9,9,9]],
[[2],
[6,6,6,6,6,6,6,6],
[5,5]]]

@DLosc Basically, if you have a dyadic link f(x, y), and in that dyadic link, you have a monadic chain g(k) that calls e.g. f(k, k²), then ß (the recursion operator) is forced to be a monad, which changes the parsing. So, you'd expect ß² to call f(k, k²), but it actually tries to do f(k)² :/

(SE, stop rate-limiting high-rep ROs!)

Haskell: Data.Zip.zipWith replicate

@cairdcoinheringaahing Huh. I'm not 100% sure I understand, but that definitely doesn't apply to Pip, so I think we're good :)

12:45 AM
Btw, this is still /¨ in APL because why not map over two arrays?

I can think of a few reasons.

@DLosc Though, parsing issues are why RE is only unary at the moment. Operators in Pip can have multiple arities, but I'm finding that keeping some of them unary-only can help with parsing sometimes.

@DLosc So if you have the Jelly version of f(x, y) { if(x > 0) then g(x) else g(y) }; g(k) { if(k prime) then f(k, k-1) else f(k, k-2) } (except that g is defined inside f), then it doesn't like it

@WheatWizard tbf, it does get a bit uglier if you need to map over three or more.

ß's arity should be defined based on the link (aka f) it's in, but, due to a bug, it's actually defined based on the chain (aka g) its in
@Adám Ooh, e making an apperance :P
Takes the arguments in the opposite order than how you specified

12:50 AM
I didn't really specify.
@cairdcoinheringaahing You didn't see my latest webinar, did you? (Not sure if you've seen any…)

@cairdcoinheringaahing Redwolf's least favorite mathematical constant :P

@Adám To be honest, I didn't know you've been releasing webinars. Do you have a link?

@Adám This isn't so bad, actually. 13 bytes, assuming all lists are nonempty.

Tuvalu must be making bank of all these websites using .tv :P

12:53 AM
Did you know that .io is for British Indian Ocean Territory?

@Adám Hmm, TIL that apl.chat redirects to the Orchard

Yeah, I bought that up, together with apl.wiki

@Adám This one is 15 bytes for a recursive solution, using some global variable shenanigans.

Anyway, if you watch my latest webinar, keep your mathematical, physics, and chemistry constants' bingo card available…
@DLosc What do you mean by the lists being non-empty? You mean the input arrays?

@Adám I'm going to see if I can recognise them without googling :P

12:58 AM
Good luck.

@Adám I guess this only applies to the ragged arrays one, but: there won't be anything like [[1,2], [], [3, 4]].
Oh, wait, you said non-ragged both times.

I explicitly stated that the input arrays are non-ragged.

Well, also assuming there won't be anything like [[], []], which is technically not ragged but is rather pointless for these challenges

1:00 AM
Oh, right.
@OldSandboxPosts I guess that means BMG is over.

CMC: Given 9 digits, output the check digits, as described in @Adám's webinar. You may output either the entire 11 digits, or just the last two check digits
I have 18 bytes in Jelly

For those not wanting/able to see the video, this is Brazil's CPF numbers' two check digits.
(Beware, some online descriptions are wrong.)
What does | do in Python?

Bitwise or

1:26 AM
guys i've been thinking of doign this puzzle
Conway's 99-graph problem

@Adám Ooh, I managed to golf 3 bytes from my Jelly solution thanks to your video :P

CMQ: How to gain 60 rep without posting a challenge?

Tho I think you can golf the (t≠10)×t← with 10|, no?
@Fmbalbuena Post a good challenge

@Adám I see pi and 42, then in the memory there is: pi, e, phi, avogadro's constant, 4 I don't know, then root 2, and I don't know the rest :P
Ah, googling gives them as: spoiler. Had heard of all except for 13 and 14 (and the unknown ones) before now, just didn't recognise their decimal expansions

Not knowing the last one is annoying, I should've looked closer instead of just dismissing it

i dont know how to make this into a qns tho

@DialFrost If an unsolved problem in mathematics has its own wikipedia article you will not be able to solve it yourself

im not going to thats my point
i want to change it so that u can solve it
but idk how to

@taRadvylfsriksushilani Unless you think it was set as homework

1:44 AM
haha

I doubt there are many remaining problems nowadays that you could do that with though :p

lol

idk, if you get lucky, you could stumble across the integer that disproves the Collatz conjecture. I'll be nice tho, and let you find it yourselves instead of telling you and spoiling it :P

haha

@cairdcoinheringaahing OEIS tells me that 137035999 is spoiler but still no idea about 119814024
@cairdcoinheringaahing Speaking of, I rewatched Good Will Hunting the other day - still a great movie, but I now understand the math they were talking about that was "unsolved" until Will comes along, and... it's like, very basic graph theory stuff
One of the questions is literally "what is the adjacency matrix of this graph?"

2:04 AM
lmao

@cairdcoinheringaahing You’re calling that basic? Damn, you must be smarter than even Will Hunting! :p

> When asked for a problem that Will could solve, Kleitman and Bohman suggested the unsolved computer science P versus NP problem, but the movie used other problems.

Lmao they hited a guy for realistic dialogue and still got ez problems

Damn, Matt Damon almost proved P = NP :P

Or perhaps not
Reminds me of a book i read where a guy has a friend who finds a way to factor primes in not exponential time or something…except the friend is actually a con man (spoiler alert)

2:14 AM
@user I have discovered a truly marvelous proof that P = NP, which this chat message is too small to contain
5

Too small to be intersting
Kolmos are boring by default

It's at -2, I'd suggest abandoning it as a challenge idea

Unless you put effort in to find something unique, the same techniques will just be recycled again and again

2:19 AM
i have an idea of a bracket chlannge its quite ez tbh
Input:
( ()) ((()()())) (()) ()
Output:
['(())', '((()()()))', '(())', '()']
Input:
() (( ( )() ( )) ) ( ())
Output:
['()', '((()()()))', '(())']
smh like this

@DialFrost Dupe (probably)

awwwwwwwwwww

@taRadvylfsriksushilani And quite often, small patterns can only be efficiently solved with string literals and, at best, concatenation

okey
proably bruh

@Fmbalbuena Most kolmos have an approach of "print this", but compressing bits that can be compressed. In order to be worth posting, there should be something unique and special about the output that means that are multiple approaches. Unfortunately, I don't see it for this one

2:19 AM
tbh i dont think so
idk
how bout find the indexes of numbers of a given list below a given threshold

18

Write a program that groups a string into parentheses cluster. Each cluster should be balanced. Examples : split("((())d)") ➞ ["((()))"] split("(h(e(l)l)o)(w(o)r)l(d)(w)h(a(t)(s)u)p") ➞ ["((()))", "(())", "()", "()", "(()())"] split("((())())(()(()()))") ➞ ["((())())", "(()(()()))"] Input may ...

like [100,[1,59,14,10,40]]
thx caird
any suggestions or issit duped
for the find the indexes of numbers of a given list below a given threshold

@DialFrost What would this output?

actually this is way too ez nvrm
i've been thinking like [given range,[numbers here]]
then given a number in the "numbers here" list find the index of it in the given range
but its abit too easy right?

@DialFrost something I've noticed about your challenges that I think you should work on: loosen your input formats. instead of saying [given range, [numbers here]], let people take given range and the list of numbers here however is most natural for their language

2:25 AM
it was an exmaple
not a fiexd input

This is good for two reasons: one, people don't like haing to deal with unnecessarily complicated input formats, and two: if you ignore the input format, the challenge difficulty has to come from the main task, instead of the input format making an easy challenge seem diffiult
@DialFrost I know, but it reminded me of a bit of feedback I've been meaning to give you

hmmm ic

0

Sum Every two elements Task Your task is to Sum every two elements. If there is a list and a number, evaluate [a1 + b, a2 + b ... aN + b] But there is both lists, evaluate (the length of a is 2 and b is 5)[a1 + b1, a2 + b2, a1 + b3, a2 + b4, a1 + b5] You must Flatten to array with depth 2. Every ...

^ Any feedback?
ok, i have to gtg now.

@SandboxPosts @Fmbalbuena this would be a better challenge if it was just "given two inputs, do the sum as follows" instead of making it about doing the sum for pairs of elements in the input

2:29 AM
^

Can we reopen this so it can be hammered as a dupe of this? As noted in the comments, the first is just \$a(n) = 98a(n-1) + a(n-2)\$, so they're essentially identical, and closing it as a duplicate makes it more useful than leaving it closed as unclear

for my new qns that im goign to post
do i limit the output format to [[index,index][...]]

"do i limit the output format" probably not

okey

just lkie in general

2:41 AM
0

Ragged Matrix A ragged matrix, is a matrix that has a different number of elements in each row. Your challenge is to write a program in any favorable language to find the indices of all occurrences of target in the ragged matrix. Input: A list of ragged lists (can be empty) of positive integers a...

prob gna change the format ltr
for the output/niput

2:52 AM
@taRadvylfsriksushilani can you now unclose my post

Have you made improvements to it?

yes

It still needs some things clarified:
1. What's the output format?
2. Can the matches overlap?
3. What do we do if there's a tie (or will there never be one)?
4. Will there always be exactly three suspects and three crime scene strands?

You can output your answers in any way as long as it is distinguishable what the indexes of the number and matrix are
lol idk

5. Will the crime scene strands always be three bytes long? If not, can they be different lengths? Can one contain another?
I know a lot of these seem really nitpicky, but if it's not clarified, it's hard to know if your answer is valid
I think if you clarify all of these things and make it clearer that the input given is a test case and not the only possible input, it'll be reopen-able
Honestly, I'd recommend deleting it, reposting it in the sandbox while you make your changes, and then posting a new challenge when it's cleaned up.
That way you get a fresh start, without the downvotes and votes to close, and your in-between edits don't keep bumping it and sending it to the review queues

2:59 AM
hmm?

(wasn't sure if you were still in the room, sorry about that)
Oops you're not even who I was talking to lol
Ignore that
Was thinking about feedback for two different users' challenges and got them mixed up :p

lmaooooo

got'em

CMQ: Opinions on my new (well, not-that-new) pfp, the Go programming language, and nuclear energy?

yes, no, maybe (in no particular order)

3:12 AM
I'm actually really starting to like this pfp...it'll be a shame to have to give it so someone else for a little while when we do the Greater Profile Swap of 2022

@taRadvylfsriksushilani Looks fine, don't like the syntax, probably a good idea if done right

^^^

When is the profile swap?

It'll depend on when we're available
Time wise, that is. Date wise, maybe a week from now?
Maybe I should make an anonymous google form where we type in our username and available times of day, and what day we should do it

Sure

3:21 AM
Out-of-context tweet of the day:
> (if you don't watch im gonna name someone in my park after you and drop them in a lake and then save them right before they die cause i'd feel bad otherwise)

I'm thinking a friday during the quieter part of the day/night, to maximize confusion when everyone logs in on saturday

lmao

@taRadvylfsriksushilani I asked 20 people if my post made sense and 20/20 people said it made sense so i mean can you unclose it

Doesn't matter if 20 people think it makes sense, it doesn't fit our standards for clarity
I wrote a list of suggestions for what to clarify above
Like I said then, I'd recommend deleting it for now and moving it to the sandbox
That way you can post it again as a fresh start

btw, @taRadvylfsriksushilani I mean I was very depressed when I took LOTS of time to think of this idea and it just got closed, so maybe like unclose it later, I'm gonna fix it now

3:25 AM
no comments for my post yay
...

@SuperByte Yeah, writing a good challenge is hard. I know it's easy to say, but try not to take it personally. Listen to the feedback, rewrite accordingly, and when it gets reopened it will be a much better challenge.

bruh for wheatwizard he's js breezing

thanks @DLosc

3:30 AM
Just in case you've ever wanted to see what my pfp looks like full size, here it is

@taRadvylfsriksushilani what, why, when, where, how

i just dont like my current name
should probably change it to APLgamer0 :p

What: We swap usernames and pfps with other users, to confuse people
Why: For fun
When: Friday/Saturday
Where: CGCC, or just chat

ok sk duration is 2 days?
and after that our profiles will get 11d back to normal?

3:31 AM
Well, however long it lasts before a mod gets mad at us and reverts it all :p

sheeeeeeeeeeeeeeee
lxyal luv it!
:)

@taRadvylfsriksushilani You said the crime strands were 3 bytes long: Untrue. I did it in python, and only 4 kb total, which is impossible since 3x3=9, so unclose it please

I'm not sure what you mean
I'm asking if the crime strands will always be three base pairs
Or if you could get something like GGGG

anyone have suggestions
to improve my qns
more on the output/input format

For the matrix one, it seems good, but possibly a dupe
For I/O, definitely be a bit loose, since some languages don't support ragged arrays as actual arrays (and would need to take them as a string representation of some sort)

3:35 AM
im not sure what you mean, 1. very clear post: you know what to do, and everything is clear! I mean if you're in this challenge I mean you would get it

oh
er
ta radvlf if u want u can edit my post

@SuperByte I know it might seem clear, but all of the things I listed are currently not adequately specified
E.g., if one crime strand was GTG and one was TGA, would GTGA contain one ((GTG)A) match or two ((G[TG)A])?

you are solving it incorrectly; if one crime strand was GTG and one was TGA, it would count as two, since GTG is in it AND TGA

@SuperByte All right, then the challenge needs to say that. If you spell everything out in the challenge, then nobody will have to guess what the rules are. If people have to guess, somebody will certainly guess wrong.

i did it

3:42 AM
its impossible to get the custodian badge
there's too many active ppl that js yoink it lmao

how do you get it

so the queue's alyways 0

@DialFrost Do you need to flag people or close posts or what

anythign
lol
the queue's alyways 00000000
u cant do anythinggggggg

@DialFrost Hmmm

3:44 AM
Reviews are easier once you can access everything

u legit have to camp at that page
to get it first
shld i post my challenge or wait 1 day ig
so ig my challenge bad or smh
its possibly duped

how do you get 500 reps anyway

@DialFrost This one? It's only been in the sandbox for 1 hour. Leave it for at least a couple days so people who are sleeping right now have a chance to see it--they may have feedback for you.

okey
although the chat seems active for the past hour or so
so :/

@dial

3:51 AM
?

how do you get 500 reputatition

er
create qns
:)
this boosted me especially high
21

The task: Given an integer n, find the next number that follows the following requirements The next greater number is a number where each digit, from left to right, is greater than or equal to the previous one. Consider \$1455\$, for example: \$1 < 4\$ \$4 < 5\$ \$5 \leq 5\$ The next greater nu...

else js be active
take advice from the higher rep guys like dlosc or wheatwiazrd, emanresu and so on
i've js come up with the idea of where u haev to find the indices for which the numbers in the list drops
any suggestions?
so input is [-1,2,5,6,5]

(It is true that some high-rep users have been known to not leave a challenge in the sandbox for long before posting it, but they have more experience with challenge-writing and know how to avoid certain common pitfalls. I still think any question can benefit from being sandboxed for at least 48 hours.)

output is [4]
[3] sry
wait no [4]
its abit too easy tho
so do i throw the idea away?

@DialFrost One thing we do with easy challenges is post them here in chat with the header CMC: (chat mini-challenge).
People can solve them informally in chat.
Then sometimes, if somebody thinks the challenge is interesting enough, they'll suggest that it should be posted as an actual challenge on the site.

3:57 AM
@DialFrost A lot of us use a userscript to notify us when something is added to the queues
My Generic Review Tool is (as far as I can tell) the most popular one here

(I don't; but then, I don't care that much about badges, and I don't feel a need to do review tasks myself as long as somebody's doing them.)