« first day (4161 days earlier)      last day (980 days later) » 
00:00 - 20:0020:00 - 00:00

20:07
@RadvylfPrograms Who cares? It's abundantly clear that the idea of a [mathematical] "function" is utterly irrelevant to the meaning of the tag.
@RadvylfPrograms If you want, your answer can be a pure function that returns an IO () action which describes the side effects.
@pxeger Uh...no? The meaning of the tag entirely falls apart if it's not a mathematical function
@pxeger I'm not even going to dignify that with an answer
@RadvylfPrograms With my CMC, I mainly added the tag to make it clear that there are many different ways of fitting the criterion "allocate memory indefinitely".
Which is entirely unnecessary and devalues the meaning of the tag by attaching a second, incredibly vague meaning
"There is more than one behaviour which fits these requirements"
"Many different ways of fitting the criterion" applies to basically any challenge involving slightly nonstandard I/O or randomness or anything like that
@pxeger Not really
Any behavior which does can be summed up as "using up infinite memory"
Just different approaches to doing that
Whereas with something like "write a function that gives you an even number based on the input", as silly of an example as it is, you can clearly see different behavior in different answers
They can perform entirely different tasks, one might be "nth prime number times two" while another could just be "return 2" and another could be "double the input". You have a very observable, very clear difference not just in how a task is being done, but in what the tasks are.
A better example might be, given an integer, return a unique positive integer
There are a zillion ways you can do that, which map them differently
20:12
@RadvylfPrograms You can clearly see differing memory usage patterns by looking at a graph of it or whatever. For my question, the output arguably is the memory usage, since that's what matters to solve the challenge, and the memory usage is what is being validated to be allowed to answer the challenge.
But you have to completely grasp at straws to find something "open ended" in the challenge, or anything close to a "function". The tag just doesn't apply unless you do some olympic level mental gymnastics.
@RadvylfPrograms Please do. I think this is my best argument: the open-endedness concerns not exactly an output value, but a resulting observable behaviour, which can still be modelled as a function if you try hard enough.
So therefore I think the "function" part of "open-ended-function" is not what's relevant. The open-endedness is.
But the observable behavior is still the same. Like I don't have an issue modeling this as an IO, but that IO is not open ended.
Yeah, it's just a linearly growing function. Like, the only difference would be how fast it grows, which depends way more on your computer and what else it's doing than the actual program you write.
@WheatWizard "the observable behaviour is still the same" in the same sense that, if you look at the "observable behaviour" of a Hello World answer as "produce a write syscall", then a Hello World answer and a Fizz Buzz answer have the "same" observable effect
20:17
The behavior being observed is the same.
We don't need a tag that's for challenges you can do with varying approaches, since you can sort of do that with pretty much any challenge, and that would be a bad tag. I like the open ended function tag because it fits a specific, and IMO, interesting class of challenges, and to me it feels like you're just taking advantage of some necessarily vague wording to overload onto it whatever you feel like.
If timing information is what makes it open ended, then every challenge that doesn't require specific timing is open ended.
Like I can choose to print hello world as slow as I want, but that's not being observed as part of the challenge, so the freedom to do that is irrelevant.
And the same for this, timing isn't a part of the question statement, so the freedom to choose a speed is irrelevant.
@RadvylfPrograms It must be only at least linear; you can have a program of exponentially increasing memory use. It doesn't matter if it repeatedly allocates 1 more byte of memory, or repeatedly doubles the amount of memory it uses; but those are both different behaviours
(Apart from the fact that memory allocation probably isn't O(1), which I didn't think about when adding the tag, but that won't make a huge difference)
@RadvylfPrograms If you think I'm "taking advantage", I have no further interest in arguing with you. At worst, I'm mistaken.
@pxeger But that's...just not what the tag's for.
Ok. Add "log your memory usage every second" to my challenge. Now the task is "output any infinite sequence which grows faster than linearly".
20:21
@pxeger "taking advantage" of it in order to argue that the tag fits it, I mean.
@pxeger Which would fit the tag a lot better
@pxeger Is that not an ?
I still don't think it fits the tag well, but you could make a much better argument that it belongs
@RadvylfPrograms Well what's the difference? Instead of reading STDOUT to check it's a sequence with that property, I read the memory graph on Task Manager.
Because it's not an interesting challenge without the memory part. The task isn't the function that grows faster than linearly, it's the allocating memory part.
I mean part of the issue, is that you aren't going to be allocating memory faster than linear, that would be somewhere between impossible and extremely inconvenient.
20:23
Would you also tag it with and since the memory usage is a number?
The open-ended-function-ness of it, even if part of it sort of counts as one, just isn't the point of the challenge.
@RadvylfPrograms The interesting part is "outputting" that sequence in the form of your memory usage. Like codegolf.stackexchange.com/questions/33059/draw-with-your-cpu
Like if the challenge were "Output a positive integer, lowest number wins", that wouldn't be open ended since that challenge is just "Output 1".
@pxeger Frick. That probably means I have to verify myself as a student :|
@pxeger Exactly. The part about making it linear/more than linear is just a natural consequence of infinitely consuming memory, not a part of the challenge itself.
@WheatWizard Where's the analogous part to "lowest number wins" in my challenge?
@RadvylfPrograms No, because you can consume infinite memory less than linearly, like chat.stackexchange.com/transcript/message/61413630#61413630
20:25
@pxeger "you aren't going to be allocating memory faster than linear, that would be somewhere between impossible and extremely inconvenient."
@pxeger You sure can
But the pattern in which you use up memory isn't the purpose of the challenge, it's just a side note
If the challenge were "allocate memory at a rate that's not O(n)" I'd be tempted to say that's open ended. Since the rate you allocate is actually a meaningful choice.
I guess my argument is this: The main point of the challenge is infinitely allocating memory. There's a few rules about how quickly you have to do it, but that's the main point. That in itself is not an open ended function, and while you can really stretch to find part of it that fits the tag, it just isn't useful to tag it in that way. You could make an argument for all sorts of tags going on any given challenge, but it just annoys people who expect a different type of challenge under that tag.
im also with the part about it being important that its a maths type function
@WheatWizard I'm not completely sure how that's equivalent to "lowest number wins", but I understand what you're saying - chat.stackexchange.com/transcript/message/61414852#61414852. But I think it's not so different to O(1), therefore it's still possible to consume memory exponentially, which will run out of memory in practice, before it stops being exponential in practice.
20:29
the memory allocation thing is maybe open ended, sure, but it doesnt fit the obvious theme of the tag
The point of tags is, after all, searching, and if a challenge isn't what I'm expecting to find under a tag, it shouldn't be under that tag unless it's expanding the genre in an interesting way which still fits the tag's original intent (which is rare, like the asymmetric KotHs).
which is why i think the tag desc needs to be refined most of all, to give people a clearer idea of what belongs in that tag thematically
kind of an ought vs is debate if we focus on what challenges fit the tag as currently written imo
not that i read all of that
Something like "A challenge with this tag will ask for answers to write a function which performs no task in particular, but which satisfies a certain pattern"?
I think that wording is an improvement.
That way it's emphasized that:
1. The function's specific inputs/outputs is what's open ended, not its side effects, I/O, or implementation details
2. The function can do one of any number of different things
I don't think my wording is as precise as it could be, but those two things are important to make clear I think
20:35
I do think side effects, and I/O can be open ended.
you listed i/o as both yes and no?
also side effects being open ended reads to me like a pop con :P
@thejonymyster Yeah, but I/O to more specifically refer to I/O format
"play the happy birthday theme"
Pretty much all of our 13k challenges have open ended I/O :p
on the topic of open ended functions, i had an idea, but as is the solution can just be input+2 so i need to think abt it more :P
Half of my open ended ideas have either trivial answers or are impossible. :(
ah ive got an idea which might put it into impossible instead :P
ok no its definitely not impossible, but idk if its trivial either
sadly though i think its also uninteresting: write a function which takes an integer of class n and outputs a different integer of class n. there must be infinitely many integer classes and each must have infinitely many members
Square the number
20:43
right
maybe have a requirement that every integer must be aboe to be output?
My suggestion: Make the function a bijection.
Basically ninja'd
so im worried this is an existing challenge already because i know i tried something similar once
Don't think so.
10
Q: Two interwoven chains

Wheat WizardIn this question I defined a "chain" function as a function that: is a permutation, meaning that every value maps to and is mapped to by exactly one value. and allows any value can be obtained from any other value by repeated applications of the function or its inverse. There are a lot of fun...

Related. By the terminology of that question you must make an infinite number of chains.
20:47
cool :-) i like the graph on that one answer im seeing :P
tbh if you wanna sandbox it go ahead but if not ill write it up later, gotta drive rn, cya et all
21:37
It looks like today's LYAL is Jellyfish
I won't be here :(
Uh oh, we better save it then!
But I look forward to reading the chat transcript
@AviFS I'm no Jellyfish expert, so I don't think I have to be here for LYAL to happen
Looks like today's LYAL is Flobnar*
@DLosc I can upvote Flobnar so they're tied ; )
Technically... I can even downvote Jellyfish so Flobnar will actually be winning, haha
No need to do that
It's not always the highest-voted language that gets picked anyway
Vote according to how you feel about learning the language
21:42
I know, so we can definitely do another
I say we but I'll probably disappear myself-- knowing me, haha
@DLosc I think Flobnar is king :p
Also, I like corruption.
@AviFS i can downvote flobnar ;)
Oh no
downvotes flobnar
Oh somebody already did
I dont want Flobnar lol. Jellyfish sounds cool
Y'all are evil, haha
I haven't even upvoted Flobnar!
if you do, then I'll downvote it
You'll never know, muahahaha
This is like a prisoner's dilemma
I missed both of the LYAL langs I nominated. We should probably announce the next LYAL a week before.
So if we do have Jellyfish today, let's at least announce Flobnar for the next one so JoKing, and anyone else who wants, can make it.
(Or whichever lang is highest-voted at the end of today's event)
21:55
@pxeger oof 10 dollars a month
hope its free for preview users or ima get that student pack
Student benefits go brr
It's free for another month for preview users
i thought for preview users it's free forever
welp bye copilot soon
what about codespaces? i have that preview too
Presumably free until they make it publicly accessible for individuals
TBH it is quite useful, although I just have one codespace that I use for everything Vyxal-related
[old man voice] Back in my day, programmers actually wrote programs themselves!
13
What's hilarious is trying to run Copilot on 2d langs
22:01
@DLosc tbh im considering stopping using copilot
It works for most esolangs e.g. Vyxal, bf, tinylisp :P
@DLosc [older man voice] Back in my day, we coded exclusively using butterflies!
Although it's bad at tail recursion, and do not trust it to write rotation vectors
22:15
@cairdcoinheringaahing how did you know when to let them go?
was it guaranteed to focus cosmic rays?
They used Malbolge to coordinate them.
@Seggan We were that good at coding :P
Or, we used Emacs
@emanresuA I think there's a free trial for everyone, not just preview users
@DLosc [slightly less old man voice] Back in my day, programmers actually stole code themselves! :P
At least Copilot no longer copies the fast inverse square root algorithm verbatim
22:34
@user [present man voice] now they systematically steal code from a huge database using an AI tool!
Copilot will result in so much bad code being churned out. It's appalling.
Copilot reproduces (similar to) what already exists. If public code is bad enough that copilot produces bad code, we've got worse problems.
22:53
The problem is that it won't integrate as well, and people who add in entire chunks of code won't scrutinize it as deeply as if they wrote it.
True, true. But that's what tests are for.
23:05
Tests only detect blatantly-incorrect code. They won't detect subtle bugs or security issues.
I've never tried this copilot thing and I feel like I honestly will never trust code that hasnt been written by a human
tbf half the time you cant trust human-written code either, but at least in that case you can yell at the person who wrote it
Seems like it's just copy-pasting from the internet made more convenient
I doubt people who previously made sure to write everything themselves and/or carefully ensure stuff they copy is done right are the sort that would misuse/overly rely on copilot
when autogenerated name gives weirdly good feeling
23:19
Lol. I have didactic space waffle.
I guess I have something similar to esobox - github.com/chunkybanana/do-stuff-online/tree/main/langs
@RadvylfPrograms That's pretty much all it is, but automated.
23:40
@forest So, automated Stack Overflow? :P
Yes, but worse, if you can even imagine it!
@Seggan lmao me too
@forest that's not been my experience. I notice that I still double check completions, especially if they are more than a few lines
And the amount of times it goes suggesting repetitive stuff and unhelpful stuff means you end up checking suggestions any way
@lyxal But remember... a lot of people are extremely lazy and focus exclusively on KLOC per day as a metric of success.
This wouldn't make them pump out worse code, but it'd enable them to pump out more of it.
for people who prefer code review to actual coding
lyal starting soon?
23:51
@forest well in order to get anything remotely close to what you want, you really need to give it good prompts, so you'd already have specified pretty much what you want it to do
Maybe I'm just old and grumpy.
I'm still bitter that some people are using IDEs instead of text editors.
Sounds like you're too concerned about other people's personal preferences
What's the point of being concerned about your own preferences? You can change your own, and then there'd be nothing to complain about! But if you complain about other people's preferences... you get to complain endlessly. It's a win-win!
Like in theory, yes, copilot could write entire functions for you. In reality, it's only useful for boilerplate and small context inferences that you would have otherwise written yourself
I mean I'll make fun of Vim or IDE users all day but I don't care what they use as long as they don't bother me about it lol
23:54
You mock both Vim and IDE users? That's nearly every programmer there
I'd imagine text editors aren't that unpopular
@user Perhaps Randvylf is an octopus and thus equipped to use emacs.
Sublime/Notepad++, Caret, Atom, etc.
@RadvylfPrograms Meh, some text editors (like VS Code) are practically IDEs now
@RadvylfPrograms They're still very popular, but IDE users still exist as well.
23:55
I'd even call Emacs an IDE
A good text editor like vim has all the good features of an IDE without all the fluff.
@user Emacs is everything. It's practically an entire operating system.
@user everyone knows true programmers use nothing but notepad to write code
All it needs is a bootloader and kernel.
att
att
@thejonymyster also related: codegolf.stackexchange.com/q/237291
@des54321 Ehem, true programmers use a hex editor on the block device and manually edit the filesystem to create their source files.
23:56
Oh no not this again
> 119 messages found
lets not go down this road again, it was funny when randall munroe wrote xkcd 378 in 2008, its less funny now
Cloudflare outage postmortem, essentially, someone just reordered a configuration file wrong
@des54321 Fun fact: Once I actually did have to edit my block device with a hex editor to manually change a program.
Had to undelete something and edit a string, but didn't have the usual tools.
00:00 - 20:0020:00 - 00:00

« first day (4161 days earlier)      last day (980 days later) »