00:00 - 16:0016:00 - 00:00

12:00 AM
Changed it to
> You can't use the words "is" or "are" within the first 40 characters in a tag wiki. I genuinely cannot think of a solid reason behind this. It just seems non-sensical to me.

I'd remove "to me", it's a small change but I think it puts more of the focus onto the problem rather than specifically your opinion of it.

@lyxal
oops

Fun fact by the way: the prefilled SE tags, such as are even caught by this regex

i still have no idea what to output in non-deterministic cases in your befunge chess

@RedwolfPrograms Good call

12:02 AM
@kops so the idea is that you run the board as a program each time
And each time the program result might change
So you output the result of running the program each time

ok so that makes it sound like the result of the simulation has to have the correct probability of outputting each result then

@Lyxal I'd suggest avoiding non-determinism in the first place

which is what I was proposing

Unless the challenge is built around it

@kops no, the output is always either A, B or Tie

12:03 AM
yes... with some probability of each
like the board _AB has 50% chance of outputting A and 50% chance of outputting B, right? So any program which simulates it must do the same?

Yes

and a program which always outputs A is invalid, as is one that outputs A with, say, 25% chance and B with 75%?

It depends on the board
Here's an example implementation: tinyurl.com/287hne83

the board i just gave: _AB

@kops yes

12:08 AM

0

Background The sequence in the title is A245788 "n times the number of 1's in the binary expansion of n" ("times" here means multiplication), which starts like this: 1, 2, 6, 4, 10, 12, 21, 8, 18, 20, 33, 24, 39, 42, 60, 16, 34, 36, 57, 40, 63, 66, 92, 48, 75, 78, 108...

@kops okay so I've removed the randomness

+40 in 3 minutes. MM is a rep farm :P

@cairdcoinheringaahing that is a good idea

12:25 AM

0

Befunge Chess is an esolang mini-game I invented that is centered around the Befunge esolang. The general gist of the game is to make the instruction pointer land on a specific target cell while avoiding the opponent's target cell. Today's challenge isn't to play the game, but to simply execute a...

Wow it went quick today
Very impressive

Can't FGITW because I have to go >:|
Why is the timing on new challenges always so inconvenient

12:41 AM
user's law of new challenges: A new challenge will always be posted when it is most inconvenient for you.

@NewMainPosts I suspect there is an optimal winning strategy here (for the game, not the challenge)
A more interesting variant would be that Player A places the B square and Player B places the A square rather than them being randomly generated

I mostly post a new challenge shortly after 0:00 UTC

Exactly when it's most inconvenient for me :P

Apparently it's convenient for Arnauld though :P

Any time seems to be convenient for him :P
Argh, my solution doesn't output 264

12:54 AM
Hey so idk if y'all know this but shrek is 20 years old today

Sandbox posts last active a week ago: (untitled), It seems \$2^n\$?

1:14 AM
@Bubbler IIRC Arnauld is in France, which makes his posting times even weirder :P

wat :P

I think it's currently 2am or 3am in France, and he's still just posting JS answers :P

and golfing the code like 5 times and writing a full explanation

1:33 AM
0

Collatz, Sort, Repeat code-golf math sequence Background The Collatz (or 3x+1) map (A006370) is defined as the following: $$a(n) = \begin{cases} n/2, & \text{if n is even} \\ 3n+1, & \text{if n is odd} \end{cases}$$ Now, let's define the sequence \$s_0\$ as the infinite sequence of posit...

@Lyxal i saw the instagram post from discord, lol
that's the only reason I knew

@hyper-neutrino instagram? Normie.
I found out from reddit, the one and only good social media site
I wish you could do (x++)++ in java
because it would make the exam I'm doing rn a little bit nicer

1:49 AM
(x+=2)-2

as in very extremely fractionally easier
as in I don't want to write x += 2 because I'm really petty

the better argument is that (x++)++ is one byte shorter than (x+=2)-2

the point is that I want x incremented because it's in a for loop

If (x++)++ works then x++++ should also work because there's no other way to tokenize that

but (x++)++ doesn't work

2:04 AM
x+++++y then becomes ambiguous as to whether it's (x++)++ + y or (x++) + (++y)
or x + ++(++y), if we allow that too

Using ++ for increment already creates a ton of ambiguity
Like JS's refusal to accept x++y, or x+++y being either x++ + y or x + ++y
x++++y should actually be unambiguous I think
x++ + +y

yeah
cuz postfix unary + isn't a thing
and x + +(+(+y)) would be ridiculous

I mean where nothing comes after x++++. I agree that it's ambiguous between two identifiers
Just tried x+++y and it is parsed as x++ +y

I'm surprised JS is fine with that, but not x++++y
Three is ambiguous and four isn't, yet JS decides to allow the first and error on the second

I guess tokenizer eagerly consumes ++ which results in x++ ++<whatever>

2:19 AM
Yep, seems like a bit of a lazy (garfield lazy not haskell lazy) way of doing it

which is a syntax error right away because ++ token cannot come after ++ in any case

x+ +y is so painful

---y is also invalid because it's -- -y
but I don't think it's unreasonable to expect it to be - --y instead
So here's a proposal: swap the functions of --y and -y, so ---y parses as -- -y and still means "negation of decrement of y"

I hope you're joking :p

I'm not joking, I'm Bubbler
But yes, I'm joking :P
Schrodinger's joking

2:28 AM
I tried writing a language with ++ and -- once and made the same mistake, but the difference is I was 14 and not Microsoft :p
(or whoever was making JS at the time that was added)

2:49 AM
isn't this challenge just "determine if something is an element of a given list"?
or am I understanding it incorrectly

Not necessarily

what would be a case where this doesn't work

Because English is weird, i can sometimes come after e in the absence of c, as one would be seeing from the word list.

right, but if the input word is in the word list, it's not flipped, and if it's not in the word list, it's flipped, no?

0

You may be aware of the famous old rhyme, "I before E, except after C". It is a rule taught to aid in the spelling of certain English words. Quoting Wikipedia: If one is not sure whether a word is spelled with the digraph ei or ie, the rhyme suggests that the correct order is ie unless the prece...

2:57 AM
Honestly I don't know
I don't even fully understand what the challenge is asking
@hyper-neutrino yeah it actually is

in which case, surely this challenge exists already?
actually yeah do we have a challenge that's just (x,y)=>(x in y)
it wouldn't be very interesting because any reasonable language has that as a built-in and any golfing language has that as a one-byte, but do we have it?

@hyper-neutrino which makes C not a reasonable language :P

it isn't :P /s

though of course a combination of qsort and bsearch will get the job done

If this challenge is just that, I'm in favor of closing it as dupe of / editing it to just "x in y" since recently we seem to like setting trivial challenges that somehow don't exist yet :P

3:10 AM
editing would be awesome in multiple sense

still, are we sure this isn't a dupe................

Unrelated: I love the fact that SE does not yet have a site about golf (as in real-world sport), so typing in "golf" on the site filter shows Code Golf as the only matching site

oh, apparently you can't take the wordlist as input, you have to somehow find a way to determine if it's flipped or not using smart compressing/encoding/pattern recog/smth
@Lyxal delet

Now it feels like someone will surely try it in regex

3:14 AM
regexgolf time

@RedwolfPrograms you're welcome

That was a really fun challenge
10/10

Not what I meant

I know, the 11k

I now have screenshots of you at 10 and 11k
My collection is growing

3:27 AM
There are a bunch of cat hairs stuck to my screen because both of my cats seem to like rubbing their faces on the corners of my laptops

Wow

@hyper-neutrino I just made a simple check using SEDE, and there seems to be none.
Assumption is that "if there's such a challenge, we would surely have a Python answer in the form of lambda x,y:x in y"

Hello, are we allowed to connect internet in the x in y challenge

Why would you be

Or Basically isn't it a text compression challenge instead?
@RedwolfPrograms you don't know why
If we can connect internet what we can do

3:30 AM
It is a text compression challenge (at least to me)

> Note that you are not given this list as input. You must find a way to determine, for any word in the list, whether or not it is flipped but you cannot take the list itself as input.
This implies you aren't allowed to sneak it from the internet either

Using internet to fetch the wordlist would be working around the entire premise

I need to steal some ideas from http status code challenge

stealing from internet is a standard loophole i'm 99% sure

It is

4:32 AM
Apr 16 at 23:35, by hyper-neutrino
I think we should wait for the election to finish, then I will discuss with the other mods (just to confirm honestly, I don't think anyone would have a problem with any of the candidates), then we can discuss with all of the ROs what we want to do with the room in terms of community building events or ideas, and then bring a discussion to meta on whether or not we should host it in this room or bring it elsewhere to do it.
the blog seems to be on its way to starting up; I think we should definitely focus our attention on that for now but based on my suggested roadmap we can start drafting ideas for events soon (though we already have the suggestions post up, which I'll feature when the blog gets momentum)
also just posting as a reminder so if i forget to organize this someone else remembers or reminds me - this community, at least caird, is very good at not letting me forget about things i said i'd look into :p

5:05 AM
0

In case anyone hasn't noticed, we have an info box in the top right corner above the official blog, meta features, and hot meta posts box. This isn't on every site and apparently isn't an easy setting to change and likely requires devs to edit it. As such, I have been instructed to post it for st...

@Lyxal Please stop trying to make ChartZ go to sleep
It's pointless

5:32 AM
oh, the befunge chess challenge no longer requires the ?
that's probably a good change :P was looking forward to how to implement that well but it probably was unnecessary complication

@hyper-neutrino it was causing a bit of confusion
@2x-1 it's not if we try hard enough

2 hours later…
7:43 AM
@2x-1 wth is a ChartZ

ChartZ was a temporary username of caird

ok
also I swear I missed so much of the good stuff yesterday and the day before then

chartz was like a week or two ago

caird changed their name back on april 6th (17 days ago)

ok
I mean the things that happened on april 21st
so @RedwolfPrograms really is a hivemind?
I can deal with that
we just have to overlaod it with too much information

8:05 AM
if you think about it (but also don't really think that hard), SOV languages are just stack-based languages
nouns push an item to the stack and verbs pop two items and apply an action dyadically

@StackMeter welcome back after 300+ rep!

yes

500 rep?

yes#

8:20 AM
why are all of the bounties for APL answers all of a sudden

has the popularity of APL on CGCC gone up recently? or is it steadily increasing and nothing abnormal, or is it pretty stable

Slightly up I guess

Thank you for reminding me to award those…

About to earn myself 500 rep today
-a * -a will be beaten

8:30 AM
What is "-a * -a"?

there's a proof golf to prove that -a * -a => a * a (or vice versa, i forget which is which though i think all of the axioms are invertible)

@StackMeter :O

CMC: Given a number a answer with (− a)⁻ .

*⍥-⍨

Huh, you can golf that more.

8:35 AM
oh *⍨-

Yeah.

Jelly, 3 bytes: N*N (look ma, no unicode!)

I believe this works in arbitrary fields: -a * -a = -1 * a * -1 * a = -1 * -1 * a * a = a * a

@hyper-neutrino Why isn't N* enough?

@Adám the N sets the current value to -a, then the * evaluates (current value) ^ (left argument), which would just be (-a)^a

8:38 AM
I thought Jelly would recycle a lone argument if an atom needed two.

@JohnDvorak you're only allowed to use the ring axioms

@hyper-neutrino Ah, got it.

@Adám no it will do implicit input afaik

@rak1507 no, only quicks will ever take STDIN implicitly

oh

8:39 AM
atoms use arguments or the current value; the way they group and which values they use is dependent on the link's overall arity/adicity

8:50 AM
@StackMeter have you found a shorter proof of (-a) * (-a) = a * a

9:46 AM


well hello there

hi electron

hello erasemoment (idk i just threw raze and time into thesaurus)

in python, what is a golfed way to count the number of leading zeros in a string? I.e. '00010010100000011001011111001010'

2

9:51 AM
next(i for i, e in enumerate(bitstring + '1') if e == '1') is my effort but it's not short

@Anush s.find("1") should work, no?

no

or if you need to handle all zeroes case, (s+"1").find("1")

oh maybe

actually, does your string only have 0 and 1? not clear from your example since you didn't guarantee that

9:52 AM
@hyper-neutrino only 0 and 1

wait, from the code you came up with, yes it's only 0 and 1

(s+"1").find("1") is nice
you get better quality code here :)

better quality is... debatable. shorter :) (but on CGCC, short = quality)

:)
another python question. I have a 256 bit binary python string. E.g it looks like '0b1011101101001000111011101010111110000101011101111000000010111001011100100100111001111100000101001111100011101111100001101010011101001101110111000010001110011010101100110011000111000010111110101100101010111101000110111100101000010010100000011001011111001010'
I want to cut it up into bitstrings of length 32 ignoring the very annoying 0b at the front
really it comes from bin(int.from_bytes(hashlib.sha256("a".encode()).digest(), 'little')) so maybe this can be avoided?
I want to count the number of leading zeros for every 32 bit bitstring in that hash

So you're only interested in the number of leading zeroes in every 32 bits?

10:11 AM
@Anush So 1 1 0 5 0 1 2 0?

I think I've done it
I think I've conquered -a * -a = a * a

have you validated it? how many steps??! this is exciting

@Anush You really should learn APL for your data mangling needs. It is +/∧\11⎕DR⍪323⎕DR⍎¨2↓'0b101…010' Try it!

@Adám ok, now do the sha256 hash too

@rak1507 min 18 is my say

10:17 AM
oh, so you've proved the minimum number of steps is 18?

0

Write a fast-growing assembly function Synopsis Your goal is to implement the (asymptotically) fastest growing function within bounded code on a fictional CPU utilizing a quite limited, yet (probably) turing-complete instruction set. Environment The CPU utilizes unbounded RAM as well as two regis...

takes two steps to get a 0, two steps to transfer it, and 5 to remove the -a * 0, which must be done twice, so min 9 * 2 = 18 steps

have you rigorously proven it?

yes I think so

cool

10:19 AM
are you sure that method is necessarily required to solve this and no other approach is possible though? this doesn't seem like a very rigorous proof, if one at all

yeah ^

@rak1507 The Dyalog Crypto Lib has that.

great! let me just install it with the dyalog package manager
oh wait
@Adám I think it's 0 0 1 0 1 0 0 3, leading zeros not leading ones

Oh, yeah, then my code is missing a ~

@hyper-neutrino general kenobi!

10:35 AM
@rak1507 I'm certain I've proved and justified my answer

are you going to post it on the meta question or as a comment on the original one? or just in here?

on the original thing

ok
where would I link the proof

It's not appropriate as an answer, even if it is interesting, as it doesn't answer the question. Maybe write up a gist or similar document? Pastebin maybe?

10:40 AM
k
ok

@ManishKundu yes!
@Adám I think the first number should be 0 as the 32 bit bitstring is 101110110...
@rak1507 yes

@Anush 0 0 1 0 1 0 0 3 then.

CMC: prove a*0 = 0 and validate with antony74.github.io/fol

cool.. now I just need python code!
converting to a string is clearly a silly idea

Here's the APL code. ― if you knew APL, you could translate it. Or use Py'n'APL

10:44 AM

done
@rak1507 it is done

not convinced that it is fully rigorous but someone with more knowledge would have to check

ok
let me explain
how else would you turn (-a) to a except by seperating the two?

10:58 AM
@Anush len(s.split('1')[0]) ?

@Anush tio.run/…
@Neil this is nice

11:14 AM
@Adám pineapple! I get the name joke!

@rak1507 that's great but I am not sure it makes sense to make the string at all. bin(int.from_bytes(hashlib.sha256(b"a").digest(), 'little')) is already quite long

yeah, you could maybe use the hexdigest

@Neil that is cool

or there might be something cleverer

11:17 AM
I come here for cleverer!

the APL joke funnny

2 hours later…
12:49 PM
@hyper-neutrino ? Never been used on a question, but shows up in the tag list

So why do we have it and how is it still there?
Aren't tags supposed to commit self delete after a while if not used?

Check the message I replied to :P

That's what I meant
I mean why should it need nuking if it should auto delete

Because for some reason, there are some tags on the site that just haven't been caught by the auto-deletion scripts
I think someone asked on meta and the response was basically ¯\_(ツ)_/¯

Then also consider
No questions yet still alive

12:54 PM
That's an SE pre-created one, every site has it
It's like the red meta tags, but anyone can use it

Oh I didn't know that
Maybe login is one of those tags?
Looks like it is

Potentially. Though, I suppose that someone can use either of them if/when needed, we might as well nuke them both

So just nuke all with 0 asked questions and create tags as needed

Aside from the red ones and synonyms, that's how the system is supposed to work

Then that's the problem solved
@RedwolfPrograms Inb4 you get a small amount of ash work done today because I'm gonna go sleep now
o/

1:09 PM
have never been used on a question, but haven't been deleted
Because they aren't in the revision history of any question, that means that they were created outside of the normal tag creation process (posting a question with that tag)

1:27 PM
@hyper-neutrino But there are also verbs like run or sleep that don't have objects, so there are monads too
And ones like give can be triads: I gave the details to Tim

I do like the idea of a stack based natlang though, although tacit or postfix is better IMO

But it isn't really stack based, especially since it's mixfix
@RedwolfPrograms You can combine stack based and postfix

Disgusting

so, I'm trying to beat loader.c
in Python
any ideas

1:31 PM
Type declarations are the closest things to adjectives I guess

Use PyPi?

@RedwolfPrograms Also annotations

Adverbs would be like quicks I guess
Sort of

I've switched to PyPi
what's step 2

1:32 PM
You'd find J interesting
It has parts of speech like English

More interested in the reverse :p

ꚍ is the closest I could get to the reverse of J :P

@hyper-neutrino that just sounds like J with extra steps :P

ok

2:10 PM
@StackMeter no one on the Earth has figured it out yet

argh... why does bin(int.from_bytes(hashlib.md5(symbol.encode()).digest(), "little"))[2:] always start 0b1 no matter what symbol is?

@Anush Because it is nonzero integer converted to binary

@Anush What are you trying to do?

which does not include leading zeros

2:15 PM
somehow manages to create a dramatic entrance, despite being here for an hour and not having confetti

@Anush If you want fixed width bit string, try bin(...)[2:].zfill(n)` where n is the desired length

@Bubbler ah that sounds good!

@Bubbler well damn

2:35 PM
@StackMeter If someone managed to nontrivially beat loader.c, then they would surely have written an answer to "larger than Loader's number" already, that new number would be named "[their username]'s number", and we would have a new challenge to golf "larger than [their username]'s number"
2

@Bubbler i will be that person

"Golf a 2 meter stack" :P

Under my difficulty scale, nontrivially solving it is roughly of level Legendary
Apr 21 '20 at 9:21, by Bubbler
Though I'd label it as hard, but then the difficulty scale on CGCC goes like easy, medium, hard, insane, OMG, legendary.

@Bubbler It'd be interesting to find examples for each of those levels

2:39 PM
I'd like some examples of easy challenges /s

hello world is easy ... for some languages
golfing it further than it has been golfed in BF for example is hard

Insane is for some hardcore mathy challenges (like knot theory) and extreme CS ones (like inverting regex or planar embedding of a graph)
Legendary includes Tetris GoL
I can't find a suitable challenge for OMG though

hmm.. anyone know a way to compute this for m = 8 ?

Is it even possible?
Have you tried WolframAlpha or Math.SE?

@Bubbler I tried wolfram alpha but maybe incompetently. I just want a numerical answer

2:55 PM
If Wolfram can't, I suspect no human can

@Bubbler I don't think I used wolfram alpha properly. I am trying scipy.integrate.quad now
it gives me 0.19980540202634153
so I must have used wolfram alpha incorrectly
well 0.6256087109372573 for the whole thing
maybe it should be a golfing challenge :)

@cairdcoinheringaahing merged into "user-interface" (though it doesn't actually matter what i merge into)

int((log2((2+u)/(1+u)))^8, u = 0.. infinity) doesn't seem to terminate for me on wolfram alpha which is strange

@Anush I got that in Matlab too

got there in the end with the same answer python gives instantly. Python FTW
@LuisMendo thanks!

3:13 PM
@Anush Not sure how much this helps, but you can turn that into $\frac{c}{\int_0^\infty(\ln(2+u)-\ln(1+u))^m}$, I think

(for ChatJax++ users):
$$\frac{c}{\int_0^\infty(\ln(2+u)-\ln(1+u))^m}$$

@Bubbler thanks. I got it to work in the end
@user thanks
@pxeger thanks

You can probably integrate by hand if you know $m$ is 8, but it'd be painful and Wolfram Alpha is always an easier option :P

@user scipy integrate did it instantly in python

3:19 PM
Nice

I don't think there's an elementary solution to that integral. Wolfram failed to find one

More reason to use Wolfram, I guess

3:38 PM
well this formed a consensus quickly lol
+10/-0 to +0/-2

That might be the quickest consensus we've seen in a while :P

I feel like, even though it's not actually site policy, the sidebar should just say "challenges must be posted in the sandbox first", to discourage victims of the Dunning-Kruger effect

we could go with something like "Please post to the sandbox first"; more assertive than "it is highly recommended" IMO, but not inconsistent with our true policy
though maybe that would be subject to the same issues as what we have now anyway

Drop the "please"? Or would that be too unfriendly

@Bubbler yes. I think there are only numerical approximations
@pxeger the problem is that sandbox is not a great experience quite often
you post there, a few days later there are criticisms. You don't agree with all of them but fix the ones you do then silence. Then you post to main and it gets trashed for completely different reasons

3:46 PM
maybe we should set up a room or some channel to prioritize and coordinate getting quality feedback to new users so they don't get a poor impression of the sandbox. not sure how practical smth like that could be

Problem being that <20rep users can't use chat

i meant for us to look through their proposals together to leave feedback via comments as always

oh ok

00:00 - 16:0016:00 - 00:00