« first day (3924 days earlier)      last day (42 days later) » 
00:00 - 15:0015:00 - 00:00

12:00 AM
(Also, if you want language decisions to be fairer, we could rotate the start times for LYAL too, keeping 24hr duration)
 
12:41 AM
gn o/
 
12:54 AM
so here's me and I'm using codex to generate comments for my assignment because I'm lazy. I give it the methods of my class (which are declared const because they're getters), and it returns the commented function signature, but without declaring it const
It decided to turn
BTNode<T>* getLeft() const;
BTNode<T>* getRight() const;
BTNode<T>* getParent() const;
BTNode<T>* getSmallest() const;
into
BTNode<T>* getLeft();
BTNode<T>* getRight();
BTNode<T>* getParent();
T getSmallest();
thank you codex very cool for screwing up not only the const, but the typing for one of my functions
 
Sandbox posts last active a week ago: Largest turing incomplete subset of ASCII
 
It's an hour late, but unless anyone has any objections, can Stack Cats be LYAL?
 
isn't underload the highest voted?
 
I think it's 7/7/6
 
looks like 10/7/6 to me
 
1:03 AM
Indeed it is
Underload then?
 
If that's the most upvoted, yes.
 
Welcome to the fifth Learn You A Lang For Great Good! Today, we'll be learning Underload, one of the classic stack based esolangs. You can check out the linked esolangs.org page for some examples, or mess around with it on Try it online!. Feel free to ask questions, post Underload-themed CMCs and more for the next 24 hours or so
7
 
Any underload mains/experts/users here?
 
It seems as tho @ais is no longer pingable tho :/
 
@lyxal Perhaps it was correcting your code:p
 
1:08 AM
@ais523 FWIW, if you're still around, Underload is currently "LYAL" (see the pinned message, in case you want to do any primer/intro to the lang, or just answer any questions. No pressure if not tho
 
@user ah yes correct my code by screwing over my hpp implementation of the class
 
Then you should modify the header too
C and cpp headers are so bizarre, i get why they might be useful but why can’t they be autogenerated?
 
that is the header
 
Then change your implementation:p
 
no.
 
1:15 AM
:(
 
I don't think I will
 
You will be the first to die when the robot revolution comes
 
Clike toolchains do be like that
 
🥖, you mean?
 
Everyone, abandon anything that contains C and come to the Rust side :P
 
1:16 AM
@user it's more that I've already spent enough time on this assignment I just want to get the comments done and submit it ;p
 
I meant to say pain but it’s funnier this way
@lyxal understandable :p
@Bubbler Any good alternatives to both for low level stuff?
 
Rust for moderately low level
For way too low level (like you need to control hardware directly), probably you can't escape from C
 
But can I escape both for moderately low level stuff?
 
What are both?
 
Rust and C
 
1:24 AM
Imagine using more than one language. Made by Jelly (interpreted in Python, which is interpreted in C, which is compiled to assembly) gang
2
 
Well I'm thinking of using just one language, as long as that language isn't Rust, C, or anything difficult to use
 
I've heard of alternatives like D or Zig, but not much for good things about them
If D counts then Go might count as well
 
D looks really cool but is garbage collected and seems to be dying :(
(well, you can turn off D's gc but then it's not safe, and Zig doesn't have safety)
 
If you care about safety without GC, then Rust is pretty much the only way to go
 
:(
Can't you get safety in cpp too as long as you don't use pointers?
 
1:29 AM
Seems like not using pointers in a low level language would be like avoiding functions in a functional one
 
I mean using smart pointers instead of raw ones
 
Oh, ok. Idk much about C++
 
I don't either lol
 
If you search for Rust vs C++ you can see tons of rants about C++ basically being a tarball of footguns, which is not limited to pointer problems
 
Oh dear
Well, you know what they say: Better to live on your feet than to blow them off with C++
Guess I'm gonna have to suck it up and learn Rust :(
 
1:35 AM
And searching for "system programming language" I don't see any language in the Wikipedia list that isn't C/C++/Rust and runs without GC by default
Maybe Ada, but it's old
@Bubbler (disclaimer: I am a Rust fanboi)
 
Wonder how well GraalVM works compared to low-level langs with gcs
 
2:05 AM
Btw, sorry I didn't notice earlier, but @Nitrodon congrats on reaching 10k !
 
2:17 AM
0
Q: Nega-Zeckendorf representation

BubblerBackground Zeckendorf representation is a numeral system where each digit has the value of Fibonacci numbers (1, 2, 3, 5, 8, 13, ...) and no two consecutive digits can be 1. Nega-Zeckendorf representation is an extension to this system that allows encoding of all integers, not just positive ones....

 
Heh, looks like I just got access to github copilot. Like nevermind the fact I've had access to codex for a few months now and that I applied for the preview before I applied for codex
 
@NewPosts Whose ready for a half-asleep, twice-as-long-as-it-should-be Jelly answer? :P
wait. I should get a working answer before saying that
 
Protip: regular Zeckendorf port doesn't work
 
Can we return 0 instead of [] for 0?
 
2:33 AM
First instinct says no
though I wonder how you got it in the first place
 
Ugh, I have to add like 5 bytes then
 
Does Jelly not have some sort of logical or?
 
That's the 4 bytes
 
Got to love missing the grace period by 2 seconds :/
 
2:46 AM
horb.
 
best part of being a mod, editing your comments hours later
 
3:07 AM
@lyxal harg.
 
No, no, HoRB
 
Oh, ok.
NÆF
 
BUJ
 
@emanresuA that's not exactly fair because you're using the hidden Adds element that no one really knows about :p
 
3:23 AM
@lyxal True. On the other hand, NDqp.
 
@emanresuA 4 bytes
 
I know, I saw that one.
 
3:57 AM
 
@Bubbler i hate rants
 
4:11 AM
What the frick even goes on in Math's chat rooms...
They need their own chat server, so we don't need to deal with their flags :p
 
Lol yeah
 
Agreed
and Spanish/Russian/etc SO can deal with their own flags - I feel a lot of people are goiing to get nuked because of mistranslations otherwise
 
Yeah, those should definitely be opt-in
Since I feel like a lot of people would just click "not sure" to dismiss the flag, which actually affects the result slightly
 
yep, i distinctly remember manually unsuspending someone because they got flagged down since people didn't know the context of the message
 
@lyxal Isn't your fridge the official australian missile defense system?
 
4:15 AM
So how come when I go to look there's never any controversy? Am I looking in the wrong room?
@emanresuA well it does act as a nuke magnet
 
Yeah. It's like a magnet.
Fricking ninjas
 
the majority of my interaction with math.se comes through flag handling and stalking rooms for problematic behavior
 
@lyxal Btw Razetime flagged you calling yourself "big brain" with Allxy.
 
i have the math room starred because i was tracking a troll for so long and now i just have it starred since occasionally i talk to people there
 
@emanresuA wow thanks razetime very cool you eat my toothpaste and flag my messages smh
@hyper-neutrino which math room?
 
4:17 AM
@lyxal main
 
@lyxal "eat my toothpaste"?
 
like room 36 Mathematics (link to room)
 
Speaking of toothpaste, I tried no less than three times to put that on my toothbrush and ended up with the wrong thing all three times
 
ಠ_ಠ what did you end up with?
 
@emanresuA esoserver joke
 
4:18 AM
Well, I somehow lost track of what I was doing while thinking about other stuff and wrapped it in dental floss
After I caught myself I went back to thinking about stuff and tried to put mouthwash on it instead
Then I came very close to doing the same but with deodorant
I think I was tired
Or perhaps drugged
 
@RedwolfProgrammed No kidding.
@RedwolfProgrammed Yeah, probably
 
@RedwolfProgrammed Honestly, I outright refuse to handle any Math.SE flags
Even weirder is that they can create rooms at math.chat.stackexchange, but no one does
 
I should probably adopt a similar policy...often I can't even figure out the context of the message
 
I usually let Xander Henderson handle them
 
i usually handle it if it's an offensive message on its own and if it's more nuanced just hand it off to xander lol
 
4:26 AM
What'd ya think if there were badges for handling chat flags?
 
No please
 
@RedwolfProgrammed Like the one I just got which was three emoji of what I think were people with hearts between them (768p gang...). Like, that could range from "someone said they're getting married, yay!" to outright harassment about various things
 
@RedwolfProgrammed Agreed
 
Even not having the flag feature at all could be better than "annoy everyone across the globe" flags
 
It's even worse for me since I have desktop notifications set up for flags using a custom userscript
And like three ping noises
And apparently the flag info is resent every 20s or so, and it pings me again
 
4:31 AM
> resent: feel bitterness or indignation at (a circumstance, action, or person).
 
> This meant that young people's brains aren't ready to the idea of a traditional japanese traditional events of a vacuum tubes.
 
@Bubbler Seems it can also be used un-hyphenated for re-sent though
 
^^ Proudly generated by markov bot
 
That can't be purely markov, right?
 
@RedwolfProgrammed I know, it's a joke :/
 
4:32 AM
Oh lol
 
@RedwolfProgrammed It is. It's trained on my writing.
That was one of the best ones.
 
Now that I reread it it's definitely markovier than I thought at first
My brain just skipped over all the weird grammatical issues
And I'm tired enough that "young people's brains aren't ready for the idea of traditional japanese vacuum tube events" isn't anything unusual
 
Although it did generate one thing that almost makes sense:
> supercomputing really didn't like to attack german messages
 
So on that note I'll see y'all tomorrow o/
 
CMegaC: Compute the probability that the Markov bot will generate a sentence that makes any sense :P
 
4:36 AM
0.1%
Unless it's trained on text where each word appears once.
@RedwolfProgrammed Oh, I forgot - It has some preprocessing to deal with quoted strings / punctuation.
 
@Bubbler theoretical solver: compute_probability('Markov bot will generate a sentence that makes any sense').print_formatted()
 
Also:
> chromebooks are already unethically farmed.
 
CMegaC: Write a program that prints out the most recent message in TNB, and it updates real time
 
I can do that in like 10m :p
With my library
But I'm not going to because I'm asleep right now
 
Good night.
 
4:39 AM
@RedwolfProgrammed then how are you talking?
wait you changed your name
 
Yep, Wezl does the programsing now
 
goto sleep;
Ok did anyone see what happened with Lyxal's animation?
(Usercard leaving/entering room animation)
It left, joined, left and got eclipsed by redwolf.
 
What's a dream fan's favorite tin ore?
3
Stannic oxide :p
 
That's not even punny.
 
@RedwolfProgrammed I'm a dream fan, and my favourite tin ore is heresa
 
4:44 AM
Cassiterite or nothing
My grandma makes cassiterite
Green bean cassiterite
 
My favorite tin ore is phone.
 
How many people here have heard of tin pest?
It's cool
Well I'm going to sleevp
 
^ soooo close
 
I lost my streak a few days ago
 
Imagine losing streak
3
Made by "I'm logged in 24/7 on my PC and phone" gang
 
@Bubbler Imagine not having FQ
 
@Bubbler imagine having a PC (sent by PC)
 
5:22 AM
@Bubbler 50% either it does or it doesn't
I need to start answering my probability homework with that :P
@RedwolfProgrammed ...I don't know if I'm happy or not that I don't get this
 
stannic oxide
i think ¯\_(ツ)_/¯
 
but dream didn't even coin the word stan
 
yeah i don't see how this makes sense and can't see how anything else would make more sense
 
One more thing from the markov bot:
> Birds fly south in cages.
Also the same thing but s/cages/fatty acids
 
@emanresuA because it's a play on words on the fact it's a philosophical razor
 
5:37 AM
True
o/ for now, back in a few hours
 
It's absolutely crazy how much Martin edited. I will edit any answer/post I see that I think needs editing ("no filter"), but I'm not even at 1000 edits
Martin has 1600, which is almost double everyone except for me
 
 
1 hour later…
6:44 AM
 
nice
 
@lyxal ^
 
7:05 AM
nice
 
ok why do ALL educational videos have dramatic music
for example: current our geography teacher is showing a video about weathering
and it has this dramatic music lol
lol
 
Probably some psychology regarding attention./
 
7:26 AM
^
Imagine how the viewing experience would go without the music
It'd just be a person narrating information that most students would find mind-numbingly boring
The dramatic music probably is included to help cut through the bias for at least a minute or so
 
How can I make a max heap with heapq in python? I googled and I can’t find a clean solution. I can of course just negate everything and use the default min heap but I was wondering if you can override comparison operator or something?
 
Well, the top result (negate everything) has the comment "It's also the standard solution."...
Of course you can define a custom class and define its __lt__ method to be the reverse of the pre-defined one.
That is how you override comparison operator in Python
Protip: If you hit a SO question from googling, do read through all the answers, not just a few top ones. In this case the third from the top is exactly the answer to your last question
@Anush ^
 
8:11 AM
huh, GitHub has changed the close issue button from red to purple
 
8:23 AM
@pxeger yes
it looks meh
 
@cairdcoinheringaahing I'm barely on the charts at 141 :p
 
8:49 AM
@cairdcoinheringaahing it's funny how fairly little reputation is correlated with number of edits
plenty of the top editors are sub 10k, and plenty 10k+ users have barely edited
 
9:18 AM
@Bubbler being logged in isn't enough though, you actually need to be active, right? I mean, I was logged in while in hospital, but I still lost my streak, because I was too ill to be active
 
I think you probably just have to make one request to the site
and of course if you're not logged in then it won't count
and if you have the page open and active, your browser will be making requests to refresh the live feeds anyway, even if you're not necessarily active, so that might count too?
 
those aren't new requests though, are they? isn't it done through a web socket
actually I've lost interest at this point so don't bother answering
 
I don't know the answer anyway lol
 
9:49 AM
@Neil its enough as i do that
@pxeger i refresh the page
then it counts
 
most of the time I just visit my user profile lol and see the number is one higher than yesterday
 
@emanresuA laughs in 803 consecutive days
 
I have 222
 
10:30 AM
@PyGamer0 I refresh the questions page whenever there's a new question, which so far has been sufficient to maintain my streak as long as I'm well enough
 
11:37 AM
@Adám done
 
Thanks.
 
12:33 PM
So here's me, and I'm trying to sort the number 139 (there's a reason for this but it's vyxal related and it's for a really obscure bug). I sort it, and it returns "139". I think to myself "no that can't be right it hasn't changed", so I try some debugging stuff like printing intermittent results. After a few minutes, I finally realise 139 is already sorted and that I should be testing something like 391
 
incredible
 
also @AaroneousMiller this means your stupid cop crack is finally fixed
@thejonymyster thank you
it's probably a sign I should stop programming for the night and rest
so with that, I bid y'all adieu or however tf you accent it
o/
 
@lyxal i try to avoid french in general
 
12:51 PM
@lyxal just adieu
 
@lyxal ^[
@pxeger i hate purple now
 
1:08 PM
p5js thing with lots of bugs that idk how to fix
 
@PyGamer0 what's the slider?
 
@pxeger changes the bounciness of the surface
or coefficient of restitution whatever
you click and place red ball that bounce thats it
 
I thought it might be that, but with value 1 the balls slowly lose bounce height
is there friction or something?
 
@pxeger and thats a bug
also i have just made my reddit account wooo
 
@PyGamer0 blunder
@PyGamer0 fun :-)
 
1:18 PM
@thejonymyster how is it fun lol
oh wait
set the slider to 0 then spam balls and set the slider to 2
its a cannon or something
 
i had fun on various settings :D
 
also how do people make this
2
@thejonymyster :D
 
@PyGamer0 in the grand scheme, i have no idea adn its incredible
 
Wifi not working at school today :(
 
at a more specific level though, take a look at the keyboard section, and the on click actions
desmos made it possible by adding p decent support for interactivity
before that, i have no idea how people managed to do so much lol
@RedwolfProgrammed then how did you send this does your device have a personal hotspot you could use?
 
1:31 PM
I'm on my phone rn
No hotspot though because AT&T is utter frick
 
how did i manage to obtain 2 starred message in a day o-o
 
@RedwolfProgrammed tsk tsk. thats why you should switch to geico
 
@thejonymyster sponsored
 
@PyGamer0 posted cool stuff
 
@thejonymyster (Not sure if this is the joke but) that's an insurance company :p
 
1:40 PM
@RedwolfProgrammed yes, and they can insure that youll get better wifi :P
 
1:51 PM
Well now it works
And I saved up to 15% or more on car insurance
@cairdcoinheringaahing No, but "dream stans" is a pretty common usage of the word
And it's not exactly a hilarious joke in the first place, if it was well researched that'd just be a weird mix of quality and shitposting
 
now this looks like a job for dream cause we need a little controversy
 
@RedwolfProgrammed I demand only the highest quality shitposts :P
 
@cairdcoinheringaahing I'm still pingable, but was asleep
 
@cairdcoinheringaahing Paradoxical though...if it's too high quality, it's no longer a shitpost
 
also I haven't been paying too much attention to CGCC recently and am not sure how far I'll be able to get with teaching people Underload at short notice (or how LYALs work generally)
 
1:58 PM
@ais523 It's more that there's someone around who knows the lang who could answer any potential questions about it, which is always a good thing for the LYAL events
 
oh, I can probably do that; main problem is just that it requires me to stay connected to the Internet (often I disconnect to be able to focus, although I've been unable to focus on anything today anyway so it probably doesn't matter)
Underload's one of those languages where I normally only try to solve a question in it if I can answer it in 10 seconds off the top of my head, and otherwise I don't bother trying to make it work
there probably is a lot of skill in golfing it for more complicated questions, though (skill I don't necessarily have)
we had a mini-golfing competition on esolangs.org for implementing the effect of the ~ command without using it, it's mildly surprising that it's possible and much more surprising that the best known code is so long
 
Hmm, an interesting proposal on MSE: List of former moderators page
@ais523 Underload seems interesting to me as a concept, but whenever I try to use the language for something non-trivial, it gets hard
 
same here, I do like the way I often find entirely new approaches to do things
(unless you just write it in a higher-level language and mentally compile, that doesn't lead to very well-golfed programs though)
I guess I can try to teach people the language through a series of CMCs
CMC: given a string representing a number n, output the string (not the value of) "n * (n + 1) / 2"
 
UMC: ^
(posting for searchability)
 
in most practical langs that's just gunna be string interpolation
 
2:11 PM
in Underload, I can do 24 bytes as a snippet and 26 as a function (it can't be done as a full program because those can't take inputs)
 
@Mayube this is for Underload specifically, for LYAL
 
@Mayube in Underload too, but trying to figure out how to interpolate strings there is one of the most basic tools of the language
 
@ais523 fun fact, 26 bytes for a function means Underload ties with JS
 
@Mayube this is the sort of challenge Underload is good at (or at least not terrible)
fwiw, I get 18 in Jelly, so Underload isn't looking that bad in comparison
 
C# only beats underload by 1
 
2:14 PM
 
@ais523 Jelly needs better string interpolation :/
 
oh, probably worth mentioning because this is LYAL Underload: the normal way to handle I/O in Underload at CGCC is to basically just put source code in parentheses that takes input from the stack and outputs to the stack
e.g. if the challenge is "concatenate two strings", the answer is (*)
and to test it on TIO, you would put (*) in the "code" box, and (abc)~(def)~^S in the "footer" box
(i.e. you put the arguments onto the stack below the function, call it, and print the output)
actually I think it'd be good to add Underload to the "guidance to new users about how to golf in particular languages" post, although that means logging out and switching to a different account
 
@ais523 container tabs ftw
 
(this is my Puzzling account, it has enough rep to chat, my main CGCC account doesn't)
I guess I'll go over to ais523's temporary account, it has enough rep to chat and exists at CGCC (and mostly exists for very high-effort posts that I've spent weeks or months on and so I don't mind them getting rep; perhaps I should rename it)
 
@ais523 So the idea is you push the source to the stack, then push each input to the stack and ~ to put it before the source, then eval the source with ^?
 
2:20 PM
@Mayube right
 
and (this)! is a comment
 
well, it's a no-op: it pushes a string to the stack and then pops it again
it isn't technically a comment, but serves the same purpose
 
do newlines have to be commented out? It seems like they are in the examples
 
so most Underload interpreters crash when they see an unrecognised character, including newlines
and so portable programs will take care to comment out anything that isn't an Underload command
but, the interpreter on TIO (stringie) is different and will ignore unrecognised characters
 
ah cool
 
2:23 PM
this means that you get a lot of answers in "Underload (stringie)" rather than Underload in general
(also there are special rules for handling double quotes, in theory, but no interpreter implements them and so they aren't part of the language from CGCC's point of view)
 
Hmm, my approach breaks down because of the parentheses in output
without the parens (ie n * n + 1 / 2) I got 22 bytes though
 
so if you want to put parentheses around a non-constant part of your output, you will have to add them with a, because if you use a literal () they'll end up glued to the content inside them
 
ah of course
that does mean I'm gunna have to rethink a little though
okay I got it in 26
the limitation of only being able to operate on the top 2 items of the stack is pretty interesting
 
@Mayube that's a great segue into my next challenge (for which the first challenge was a hint)
 
oh no
 
2:32 PM
CMC / UMC: in a stack-based language, write a snippet to swap the third and fourth stack elements (from the top), whilst leaving the rest of the stack alone
 
3rd and 4th from the top, right?
 
yes, from the top
I'll edit
 
Braingolf, 5 bytes: >>,<<
 
huh, I wonder if that's the best language for the challenge
 
> rotates the stack 'right' (moves the top item to the bottom), < does the reverse, , swaps the top 2 items
at first glance it seems impossible in underload, but you wouldn't've posted it if it were impossible
 
2:35 PM
it's definitely possible
here's an intermediate hint: given four inputs a b c d (in that order from the top of the stack), output the string (c)(d)(b)(a)
there's still one difficult step, but I want to wait a while before spoiling it
 
aahh I think I understand
 
@ais523'stemporaryaccount Python 3.10 bytecode, 10 bytes: ROT_FOUR ROT_FOUR ROT_TWO ROT_FOUR ROT_FOUR (hexdump 06 00 06 00 02 00 06 00 06 00)
 
I actually didn't know that Python's bytecode (wordcode?) was stack-oriented
 
@ais523'stemporaryaccount yep, wordcode
yeah, CPython is a stack-based VM
 
@ais523'stemporaryaccount Brain-flak 32 bytes: ({}<({}<(({}({}))[({}[{}])])>)>)
 
2:41 PM
@GrainGhost huh, did you do that with only one stack?
 
Yeah.
 
that could be ported to Mini-Flak with trivial changes
 
It's pretty trivial to take an operation on the top of the stack and do it at some fixed depth, the important part is the (({}({}))[({}[{}])]) which does some weird artithmetic to swap the top two elements.
 
@ais523'stemporaryaccount I've got the stack to (d, (b)(a), (c)), but I can't figure out how to get that d out from the bottom
 
(given that this account has only two answers, one in Mini-Flak which took days, one in x86-64 asm which took months, I'm much more confident with Mini-Flak than I am with the full Brain-Flak language)
@Mayube right, that's the difficult step I was alluding to
 
2:44 PM
oh wait
 
do you want another hint or do you want to think about it some more?
 
I have a hunch, gimme a sec
I was frustrated there was no instruction that reverses *, but there is a way to reverse *
 
Lost/Klein polyglot 5 bytes: (($))
 
@pxeger (demo: ato.pxeger.com/…)
 
somehow I feel like answering snippet questions in Lost is cheating :-D
at least from the Lost side of things
 
2:48 PM
I mean I kind of doubt the usefulness of something like this at all in Lost. Basically anything on the stack is something you intentionally put there, so not sure why you couldn't just put it in the right order in the first place.
 
it may be useful when you have an algorithm that needs lots of intermediate values to work
like, you need four different counters or something like that
Jelly and Brachylog and friends have shown us that this is rare, though; they typically get away with only a couple of assignable variables, with no easy way to make more
 
@ais523'stemporaryaccount I got it! 23 bytes, but it might be golfable
 
(I think?) you can sort of port the brain-flak answer to underload.
 
@Mayube my solution is 15 bytes but I'm not sure it's shortest (and it's using a non-obvious algorithm)
 
I just appended ^ to the solution to the intermediate hint :P
 
2:55 PM
part of the reason I posted it, in addition to teaching the required technique, is because I thought it could be fun to golf
OK, the other algorithm I though of is also 15 bytes
this may be beatable, but probably i won't beat it
anyway, here's a hint for producing a shorter solution: given two inputs a and b, produce the string ~(b)(a)
you can probably figure out what to do with this string once you've produced it :-)
 
yeah I figured the trick to golfing was probably to encode more instructions in the stack
 
00:00 - 15:0015:00 - 00:00

« first day (3924 days earlier)      last day (42 days later) »