« first day (3746 days earlier)      last day (952 days later) » 
00:00 - 21:0021:00 - 00:00

12:13 AM
I'm not busy now
Now you won't be able to enjoy dinner because I will spam this chat with random messages :)
12:27 AM
@user You'd have to ask the radio DJ. I don't think the maintenance guy picked the radio station just because they were playing Astley. It might've been a station that played stuff from that era, though.
1:00 AM
Sandbox posts last active a week ago: Ambigious Chemical Formula
1:15 AM
1:32 AM
    haiku = () => {str
      = "What's wrong with Java"
    return str + 'script'}

Read as:
    haiku equals str
    equals What's wrong with Java
    return str plus script
1 hour later…
3:21 AM
@Ausername Nice haiku
3:57 AM
More Indonesian Gambling Spam
We should just abbreviate it to IGS from now on
oh my god it's back aaaa
dang it i wanted to see it
My NMP managed to catch that before it was deleted lol
Dammut I didn’t get a chance to flag
thanks to the power of New Posts it only took 24 seconds
however, Redwolf's bot is just 3 fast 5 me
3:58 AM
Interesting, the brand name DEWAPOKER didn't show up in this one, unlike the rest
@Lyxal i mean you still can but idk why you'd want to
@hyper-neutrino * 4 fast 6 me
Fast and furious
> of course there are interesting things that make that person interested in playing.
Ah yes, this poker here is made out of poker
@RedwolfPrograms it didn't even give me a link
hth am I gonna gamble now?
4:00 AM
yeah it's... not very good spam. when there isn't even a link to scam people with...
They don't even mention a brand name lol
I gambled away all ny dankmwmer mobey
@user stoopid.
It could’ve been a different troll
hey @user
4:01 AM
Maybe it's a war between two different online indonesian casinos and they're both trying to spam here to earn our loyalty
@Lyxal :(
@Lyxal hi
you see that
big win first try
A war would be cool /s
@user get good
it could be to try to get SEO from stack exchange but like
4:03 AM
I am not as lucky as you are @Lyxal
if you don't put a link what is the point
It's like if a restaurant bought a multibillion dollar ad campaign that just said "Buy food" with no branding or link
You're advertising the rest of the industry equally
There’s no point, There’s no point to anything. We’re born, we golf, we die. The universe goes on
@RedwolfPrograms It's like if I told y'all to use a certain golfing language and then accidentally got the documentation wrong
@RedwolfPrograms I could get behind that
@Lyxal Vyxals documentation needs fixing?
I thought it was working
4:06 AM
@user yes I screwed up the description of K
Damn Markdown
not your fault
no problem with markdown
@Lyxal Oh ok
problem with my own txt file
@Lyxal I still hate md :P
4:06 AM
we all do
YES I got to flag one of those IGS questions
Kinda underwhelming:P
got triple-autoflagged by SD :P
how to sign up for SD autoflag?
eh i forget exactly how but you can go here and probably find it
Why do they bother posting here?
Cgcc literally has nothing to do with poker
4:12 AM
well i doubt they care about being on-topic but the other thing is like, who do they expect to scam anyway
No i mean why do they think they’ll find an audience here
were not gambling.se, we’re code golf.se
I was discussing this on CHQ or TL (can't remember which) and... our conclusion was pretty much it might be for SEO, and more likely they get paid to post it here and it doesn't matter to them if it works or not as long as they've posted it so they get paid.
in fact, it's likely there are toolkits out there that facilitate spamming SE
@Lyxal how are you getting 42
i see 41
there was 42 a minute ago
4:16 AM
oh lol
i'm not that bad at reading i think
nah, it's more likely i'm that bad at reading :P
i don't think I misread 41 as 42
classic blame-caching though i guess
4:28 AM
Does getting a large number of your posts deleted by six spam flags do anything to you? Like automatically suspend you or something?
Probably wouldn't matter much since spammers never really use the same account anyway
it deducts 100 reputation IIRC
but i don't think it automaticaly suspends you immediately
they don't use the same account anyway and i destroy them anyway. i've destroyed close to 30 accounts within the past few days cuz i decided to clean up some profile spam while i had not much better to do
enough times will probably auto suspend, but even then, i'm not sure if it actually will, or if it's up to a mod to decide to do that
Only one way to know for sure
@RedwolfPrograms I'll do it for you
I'll have to purchase plane tickets and track down our spammers, but I'll ask them ;p
4:48 AM
now i'm tempted to make a spammer-themed koth-like PVE challenge :P
where instead of facing each other each submission faces a common AI opponent and the last submission to stand against the enemy wins
2 hours later…
6:58 AM
Hi there @ATaco! o/
the above message but worded as if I said it instead
7:26 AM
Howdy @hyper-neutrino
@hyper-neutrino your branch interpreter site isn't working
very sad
eh, what specifically isn't working
the link
ah shit
i changed the link
where link
I need to steal your web sessions model
7:31 AM
i have already written 16 answers so i can't edit all of them ;-; i will just set up a redirect on my server
8:23 AM
@Lyxal Interesting
8:46 AM
@Razetime well I'm interested in making a way for it to time out on too much memory
branch just has a command line flag
that makes the program exit if you attempt to create a new node while there are (N) nodes already
But also to stop the session t9o
I'm gonna be honest, it doesn't look too secure
i haven't figured out how to kill the session based on memory; by time is easy
@pxeger is isn't lol. the thing is all languages available right now have no capability whatsoever to do anything that harmful
no sandboxing, os.system littered dangerously close to user input
You only have to find a use-after-free or whatever in the C interpreter and you've got full server access
8:49 AM
Lol it uses python
the Branch interpreter is in C
@hyper-neutrino I already have by time. I want to know how to make it so I can stop a session after having clicked execute
@pxeger the online one is python
@Lyxal oh ok
@Lyxal no it isn't
there is only a C interpreter
@hyper-neutrino so how you interfacing with flask?
8:50 AM
That's bad.
or subprocess.Popen
But how do you make it stop the session once it's started?
non-cryptographically-secure random number generation is a bad idea for sessions btw
8:51 AM
POST to /kill with the session and it kills it
i just store the Popen objects in a dict
yes, you can technically kill someone else's process if you figure out their session
Is that all you can do? It seems like if you could get control of the session ID you could do directory traversal or shell injection
oh wait it has to be an integer nvm
i don't see how you'd be able to
the session ID is pretty much just a number to keep track of which instance is which so they can kill execution
the ID could be any hashable object for all i care about I think
but os.system(f"rm -rf sessions/{session}")
So then what is the best method of sessioning?
oh right. i remember now
8:56 AM
use a library
i did that cuz i couldn't get pipes working the way i wanted
how do TIO and ATO ensure security?
just sandboxing?
or at the very least, use secrets.token_hex and don't plonk (even sanitised) user input in an os.system call
@hyper-neutrino Resource limits with cgroups, sandboxing with Bubblewrap, and timeout using wrapper.c (a modified GNU coreutils timeout). Read the architecture docs for a bit more detail
i'll have to take a look if i plan to add languages with more features to it, thanks
hey quick question: why does Ruby use elsif for else if? Like, actually why?
9:29 AM
does ruby even need a separate keyword for that
i feel like python has one specifically because of indentation rules and the whole colons thing
if you're going to do it as a matter of convenience then don't make it fucking elsif why would it be elsif
Rubys elsif is from the perl lineage
Ruby has many nonsensical things that are most often derived from perl
given the amount of good language design that went into Ruby, I often wonder why it still has so much Perl in it
And why, matz, won't you add type annotations?
because there was no reason to ever remove it
but there is; it has to be maintained and it takes up development capacity that could be put into something else
@pxeger because the parser is a pile of jenga... there are type annotations, but they have to be in a separate file.
I don't imagine there's any real amount of maintenance needed to keep a feature
9:53 AM
I think they don't put too much effort into extending some of the more obscure features
and elsif is already set in stone by now
even crystal uses it
Well elsif isn't that weird
I'm thinking more of things like flip-flops and the interpreter's command line options
Q: Print co-primes numbers of any number n

Celebrity facultyGiven a number 10000=>n >= 2, output all the positive integers less than n where gcd(x, n) == 1 (with x being any one of the output numbers). Numbers of this sort are coprime to each other. Example: 10 gives the output [1, 3, 7, 9] (in any form you like, as long as the numbers are unambiguously ...

flipflops are getting killed
Last I saw, they were going to be killed, and they changed their mind for backwards compatibility
I maintain my adage that backwards compatibility is the root of all evil
10:53 AM
@NewMainPosts I just got outgolfed by my past self, I thought this was a nice little challenge, started working on it, it got closed as a dupe and I realized I already had a better anwer in that one.
11:15 AM
the classic
1 hour later…
12:43 PM
Wow we sure are getting a lot of spam lately
1 hour later…
2:09 PM
I still can't decide on the names and functions of the chat bots
The options are basically:
1. New Posts (Main + Meta) and Sandbox(ed) Posts
2. New Main Posts, New Meta Posts, New Sandboxed Posts
3. Main Posts, Meta Posts, Sandbox(ed) Posts
Any opinions?
Maybe just New Main Posts and Sandbox Posts, that way I can reuse SP for the Guild of Reviewers room
2:59 PM
CMC for input x, return the number of leading zeros in the binary representation of the md5 hash of x
@Anush I suspect that computing the md5 is a bit more involved than counting the zeros.
No built-in?
A lot of languages have a standard library call for md5
If we assume there's a function md5 that returns the hexadecimal representation, it'd be d=>(z=md5(d).match(/^0*./)).length*4-(Math.log2("0x"+z)|0) in JS
Wait no
@RedwolfPrograms cool! Oh, not cool?
lambda x:130-len(bin(int(md5(x).hexdigest(),16)))
from hashlib import*
3:08 PM
Why hex digest if you still use bin?
@Anush Something like md5(_).toBinaryString.takeWhile(49>_).size, but only if some function md5 is already defined
@user JS?
No, Scala, forgot to mention the language
3:11 PM
Ah ok
What is the 49 doing?
I just realized it doesn't work because the hash is a hex string, not an integer
It's '1'
What if it's all zeroes?
Wait no, that's not an indexOf
If you assume the hash isn't all zeroes, d=>[...md5(d)].map(x=>("0x"+x).toString(2)).join``.indexOf(1) works (JS)
If you were porting that to Python you could put %33 at the end, but unfortunately JS's stupid modulo doesn't work like that
@user New version based off of Redwolf's: x=>md5(x).map(BigInt(_,16)toString 2).mkString.takeWhile(49>_).size
@RedwolfPrograms Does "0x"+x automatically get converted to an integer when you call toString on it?
3:16 PM
How does that work, then?
It doesn't
Make it +`0x${x}` and it should work
@RedwolfPrograms Why :/ though? It's a good thing that JS doesn't coerce that - there's enough weird stuff already
:/ because it makes the solution slightly longer :p
Wait no still doesn't work
Wrap that in a ()
3:18 PM
(+("0x"+x)) and (+`0x${x}`) are the same length, actually
Wait, I can use BigInts to shorten this
Or, if you need to handle a hash that's all zeroes, .match(/^0*/)[0].length
d=>(BigInt("0x"+md5(d)).toString(2).indexOf(1)+1||33)-1 might actually be shorter lol
@RedwolfPrograms The Scala one nearly looks identical: d=>BigInt(md5(d),16)toString 2 indexOf 49
Do you need the 0x prefix with a BigInt?
Yeah, otherwise it'd be decimal
Oh wait, it needs it to know the radix
Also for testing I used 0x45 without realizing what it was
3:22 PM
69 or be 69
modified flowey quote
I found a creative way to find 11 ** n - 1
3:30 PM
If it ain't shorter, it ain't creative /s
It is shorter, maybe the syntax of the pseudocode I'm using requires it to be ( ( 11 ** n ) - 1 ) :p
(but parseInt("a"*n,11) is fine obviously, no spacing needed there)
Makes sense to me :P
3:44 PM
@ngn wow!
what language?
@Anush k
k :)
K is a proprietary array processing programming language developed by Arthur Whitney and commercialized by Kx Systems. The language serves as the foundation for kdb+, an in-memory, column-based database, and other related financial products. The language, originally developed in 1993, is a variant of APL and contains elements of Scheme. Advocates of the language emphasize its speed, facility in handling arrays, and expressive syntax. == History == Before developing K, Arthur Whitney had worked extensively with APL, first at I. P. Sharp Associates alongside Ken Iverson and Roger Hui, and later at...
@Anush my reimpl of it^
very nice
it looks like we haven't had a proper challenge just for implementing md5
Q: Implement the MD5 algorithm!

programmer5000Your challenge is to output the MD5 hash of your input. The specification of MD5 can be found here. Crypto builtins are NOT allowed. Shortest code wins. Psuedocode: //Note: All variables are unsigned 32 bit and wrap modulo 2^32 when calculating var int[64] s, K //s specifies the per-round shift...

it wasn't received well :)
4:00 PM
An atomic code golf MD5 challenge would be cool, maybe
@RedwolfPrograms more atomic code golfing would be cool in general
too many golfing languages are just huge collections of builtins
atomic golfing should level the playing field
More atomic bananas would be nice too
4:36 PM
@RedwolfPrograms toString will never output leading zeros, except for 0 itself of course...
Oh yeah :|
Add a padStart(128,0) I guess
No idea why I forgot about that
Oops, mine needs padding too :(
Doing some work on my ranking script
It'll probably take about an hour to run, since it needs lots of user input to handle edge cases regarding duplicates and stuff
So monthly updates will be a bit more of a chore than the other scripts, but it should be much more accurate
5:03 PM
@ngn people cry when builtins are banned because it means writing an answer actually takes skill :) hides
No, they cry when there are four answers that are invalidated by a sudden change in the rules
Built-in bans are fine (when it makes the challenge more interesting), but not after it invalidates 80% of the answers
oh, I didn't realise it invalidated answers, fairs
it doesn't have to be a change. a challenge could be tagged "atomic-golf" from the beginning.
I know, but I was talking about the specific question
@rak1507 "hey man, I want to watch a film" "Sure, let me just buy a movie studio, fund it, cast it and edit it" "Why not just... open Netflix?" "Oh, you banned builtins so ¯\_(ツ)_/¯"
If you have to ban builtins to make your challenge interesting, your challenge is boring
5:06 PM
codegolf != holywood
not sure what your point is there, why do something when there's a builtin to do it?
for the challenge
@cairdcoinheringaahing I highly disagree especially for languages with high numbers of builtins that trivialise otherwise non trivial tasks
Note that answering a challenge with a non-built-in version when there is a built-in is basically a separate category under our current rules
If your language has a builtin for the task, submit it, but include a non-builtin version as well
i think the advantage of atomic golf is that languages can compete against each other
I mean in ACG you basically define your own language, right?
5:10 PM
@RedwolfPrograms language? maybe. i would call it a common set of basic operations.
barring languages with exceptionally silly functionalities, picking some common built-in function and saying "just implement it" isn't an interesting challenge even if non-trivial for languages without that built-in
I disagree
Things like MD5 can be common built-ins but are still quite interesting
I also disagree, a lot of interesting/clever golfs can be on 'simple' things
then again, i'm not good with challenge-writing so don't really take my opinion on what challenges are interesting all that seriously. i just solve challenges i feel like doing :p
I think there's a big difference between "simple/trivial" and "common built-in"
5:13 PM
also true
fair enough
actually yeah "mold to shape" isn't exactly that simple but at least a few golfing languages have that (I believe)
Jelly's atom is insanely good when using any arrays past 1 dimension
What does it do?
with the proliferation of specialized golfing languages, golfing has become boring. there are more languages than users. the answers are siloed and mostly not competing against each other. i think we need cross-language criteria to decide which answer is better.
@ngn I strongly disagree
5:20 PM
@RedwolfPrograms Basically reshapes the content of x into the same shape as y
@RedwolfPrograms you like it when all answers are equally winning?
Considering languages aren't even competing against each other in the current rules, yes
where's the fun in that?
Where's the fun in Java trying to beat Husk?
if someone actually manages to beats anything with java, that would be very much fun :)
5:23 PM
CMC: Given an array A (where each element is either an integer or a similar list) and an integer n, replace all integers in A with n. [[-1, [2, 3]], 4, [0, [6, [7, [8, 19]]]]], 5 -> [[5, [5, 5]], 5, [5, [5, [5, [5, 5]]]]]
Ash, 1 byte: U :p
Is that just Jelly's atom? :P
APL: ⊢×=⍨ (there must be something shorter)
no that doesn't even work
@cairdcoinheringaahing It's recursive fill, which doesn't sound like what you were talking about
×∘= in extended
5:25 PM
@RedwolfPrograms But it does what the CMC says :p
@rak1507 Does that work even if the elements are non-positive?
oh no nvm I'm talking nonsense
seems the latest 'question' was meant to be an answer
@RedwolfPrograms How about this one: CMC: Given an array A, where each element is either an integer or a similar array, and a flat list of integers L, replace the integer elements of A with the elements of L: A = [[-1, [2, 3]], 4, [0, [6, [7, [8, 19]]]]], L = [1, 2, 3] -> [[1, [2, 3]], 1, [2, [3, [1, [2, 3]]]]]. If the number of elements of L does not divide the number of integers in A, only repeat the specific number of elements of L required:
A = [[-1, [2, 3]], 4, [0, [6, [7, [8, 19]]]]], L = [1, 2, 3, 4] -> [[1, [2, 3]], 4, [1, [2, [3, [4, 1]]]]]
That's going to be complicated, I guess the easiest solution would be to make a really long list of [1, 2, 3, 4, 1, 2, 3, 4, ...], push it all to the stack, then recursively vectorize pop over the array
@ngn have you switched to codeberg over sourcehut?
5:37 PM
@rak1507 yes. last night sourcehut started requiring a paid account for automated builds, so i decided to move out.
crypto mining, ffs :(
yeah, apparently some people were abusing it and that prompted the owner to require paid accounts
Seems sensible enough
@RedwolfPrograms can't blame him
5:52 PM
@cairdcoinheringaahing Dyalog APL Extended, 3 bytes: ⊣⍥0 Try it online!
Just spent five minutes wondering what the heck "Casino Basic" was and why there were 25 answers in it, then realized it was "Casio Basic"
I am smart
the spam has gotten to you :p
@cairdcoinheringaahing Dyalog APL Extended: (⍴⍨∘≢)⍢∊ Try it online!
@cairdcoinheringaahing With approach from ^ we have another 3-byter: ⊣⍢∊ Try it online!
@Adám Do the dieresis version of APL symbols have similar meanings to the non-dieresis versions?
Like, if you know that nabla is recurse, can you then figure out the meaning of ?
6:03 PM
@cairdcoinheringaahing Some are related (like * and ), but they are not diacritics according to some grammatical system that lets you deduce meaning, as in e.g. Hebrew and Arabic.
In fact, it is more like the ¨ ties together related built-ins, with the rest of the glyph being the specific part.
@RedwolfPrograms what atomic ops did you have in mind for implementing md5?
Not sure, probably mostly ones like xor that are commonly used for crypto algos, but I don't know enough about MD5 specifically to know which ones would be most appropriate
6:17 PM
Finished the deduplication part of the ranking script, I'll work on the language version tree thing later
6:30 PM
I read the title of this spam post as "Buy Trampoline Online for Best Treatment and Recovery" (actual has "Tramadol" instead of "Trampoline")
clearly we all know that if you're in pain jumping on a trampoline is the best way to relieve that
I thought so too but some people disagreed and now I'm banned from the hospital
it won't relieve your pain but if your pain is just starting to settle down, it's a good way to relive your pain :P
@cairdcoinheringaahing Pip, 5 bytes: aRXIb
... if using a regex replacement on the string representation of the array is acceptable.
If it has to take a list as argument, then the same code still works, but you have to wrap it in a function because Pip full programs don't have a way to input lists. 7 bytes: {aRXIb}
It's a CMC, I don't mind how you take input :P
7:32 PM
@ngn yes I saw that :)
I love how this painkiller spam tries to explain what pain is...very "hello fellow humans"
> Having a continuous form of pain can shuffle up your life.
oh i thought there was new spam that i had missed
8:03 PM
Can I have some help here?
It doesn't look OK, I can't edit it myself, and the post can be fixed, so it shouldn't be deleted
What's CGCC's consensus here? Should I just skip it?
It's an invalid submission; usually my policy is to wait for a day or two to allow the user to fix their own submission, so I'd just skip it and leave it in the queue. If it's been a few days since my comment and they haven't addressed it then you can VTD it though I'll probably delete it by then.
@hyper-neutrino Did you copy-paste my comment from that user's other post? Pretty sure that's exactly what I typed :P
I did :P
Obviously edited it because this answer didn't involve a "comparison" as was said in your other comment but basically :P
I haven't gotten around to including a welcome in my SEAutoComment templates yet because usually i'm not the one to welcome new users
@hyper-neutrino Oh right, yeah, forgot about that bit :P
8:06 PM
i see smth on new posts and it's a new user and the post is like 30 seconds old and you somehow posted a welcome comment 40 seconds ago xd
y'all are too fast for me
To quote a certain mod: i am speed
i must further my training to become even more speed :p
You should try speed /s
8:33 PM
This is a 3-state Infinite Time Turing Machine I wrote which takes $\omega^\omega$ steps to halt.
CMC: Write a 3 state machine which takes longer to halt.
Here's a decent intro to ITTMs: arxiv.org/pdf/math/0212047.pdf
Looks intimidating. I'll take a look at the PDF :P
I've been having a lot of fun with ittms this weekend myself.
They look pretty cool, but I'm not even sure I'm particularly confident with my understanding of normal Turing Machines, lol.
Think of it as weight training ;)
Does the chat ASCII Logos entering and then leaving the room over and over again for y'all?
8:38 PM
I'd suggest kicking them, but you can't kick suspended users :/
@WheatWizard Forgive my ignorance, but how can something be "infinite time" but still halt in a finite number of steps? I tried reading the intro to the arxiv paper but it didn't really explain too well
Well, it doesn't halt in a finite number of steps. It halts in an infinite number of steps.
ITTMs extend Turing Machines so they can continue to perform steps even after they have already performed an infinite number of steps.
you what
@WheatWizard Oh, so \omega is a "infinite" number (similar to cardinal numbers)?
8:42 PM
\omega is exactly an infinite cardinal number!
Ok, that makes more sense :)
It's the smallest infinite cardinal coming after all the finite numbers.
Infinities are always fun to try to wrap your head around :P
"after an infinite number of steps" sounds funny :)
@WheatWizard Honestly, that seems like it could be more of a main challenge, rather than a CMC
8:44 PM
CMC stands for Chat Mega Challenge ;)
I am thinking about making a main site challege with ittms.
what does omega^omega mean?
omega "omega"s multiplied together? not sure how to understand that lol
From what I can remember from cardinal numbers, omega is the smallest "infinite" number. You can then keep "counting up" from omega to "omega+omega" or 2omega, and so on until omega^2 and eventually omega^omega and higher
i understand 2^x from set theory (powerset - i.e. the set of all subsets), but not x^y in general
here it says omega^omega is countably infinite, so it must be only as big as omega itself
00:00 - 21:0021:00 - 00:00

« first day (3746 days earlier)      last day (952 days later) »