« first day (4434 days earlier)      last day (425 days later) » 

2:02 PM
for the most part
I'm not changing the parser extensively, because it works fine, but pretty much everything after it is being modified if not remade
 
0
Q: Do absolutely nothing

undefnedWrite a program that has at least one byte that, when run, does absolutely nothing. I thought this would be done by now, but I can't find any How to tell if it does nothing: No variables are declared Nothing is returned Input does nothing You could run a program after it and it would run normall...

 
VTC as no OWC
 
this challenge is impossible in pretty much any language
 
the main issue is what's stopping me from submitting thousands of programs that are just an empty file
 
A literal space would be valid in pretty much any language
 
2:04 PM
^
 
It said input must be at least one byte
so you couldn't submit a 0 byte solution
 
I could still submit hundreds of Python answers with varying numbers of spaces
 
"It's like you never ran it in the first place"
 
what's the point then
also like how do I define "no variables are declared"
 
I think they mean it shouldn't effect the program state, whether via the stack or variables
 
2:07 PM
also what's stopping me from submitting a Text answer
oh, I guess technically all programs in Text are quines
 
@Ginger Text would be invalid, it would output something
 
output isn't explicitly ruled out tho
unless that falls under "Nothing is returned"
 
I’m guessing they mean no output with Nothing is returned
 
@RydwolfPrograms whoops
opinion-based then
 
2:09 PM
If you can output stuff in a challenge called "Do absolutely nothing" that would be comical
 
or just "boring"
 
Needs details or clarity
 
^
 
Eh I guess it can stay open
 
2:09 PM
You shouldn't VTC posts for being terrible
Just downvote
 
It's mega unobservable
 
It's observable
 
What is "declaring a variable"?
 
Besides not overvable is not a rule
 
What is "run normally" in "You could run a program after it and it would run normally"?
 
2:10 PM
Doesn't need to be, it's still unclear
 
Do I need to check what the JVM is doing when I run my Java answer?
 
He states it means you could insert this program inside any other valid program and it wouldn't effect execution
 
I want to comment "Pretty much every C-family language, 1 byte: just a space"
 
@mousetail That's not how I read it
 
What else do you interpret "You could run a program after it and it would run normally" as?
 
2:11 PM
E.g., the program () might do nothing in a lot of langs, but I can't insert () anywhere in an existing program and expect it to run fine
 
what if my language has no variables?
 
@mousetail After it like, ./nothing ./otherprogram
 
Actually it says you should be able to insert it in the start of any program
Not in the middle I misread
So a linebreak would be a valid answer in any language, but a space not always
 
I don't think OP's talking about inserting it, textually, into other code
 
the best one is "It's like you never ran it in the first place", because there is absolutely no way for that to be observable
 
2:12 PM
That's what the question says
 
But...this goes to show how unclear it is
 
It literally says
 
like even if I run a program in my command prompt that still moves my cursor around
 
@Ginger Actually that's precisely observable
 
what? how
 
2:12 PM
Also you shouldn't close posts for being unobservable, just downvote
 
It just doesn't say what you need to observe. "Not changing an external thing" is observable, that is an observation
@mousetail If the unobservability gets in the way of knowing what's valid, you sure should
 
That's not how it works
 
@mousetail That's how you read it
I am reading it, at this very second, a different way
What makes your reading of it automatically right?
 
._.
can we get another close vote so we can be done with this debacle?
 
It says you could "run" a program after it, not insert it a the beginning of the code
 
2:14 PM
That could benefit form more clear specification
But the intent is clear
 
IMO OP wanted to say "write a program that does not affect the state of your computer in any way", as emphasized by his last point
 
@mousetail How's it not how it works? Unobservable requirements mean there's fuzziness/a lack of clarity over what's a valid answer, which is the precise purpose of the NDC close reason
@mousetail It most certainly isn't if two reasonable people interpret it two entirely different ways
^^^
 
Nobody else interpreted that sentence at all
I was the only one who had a reasonable explanation
 
but there's no way to run a program that doesn't affect the state of the computer, which is why this is unobservable
 
4 mins ago, by Rydwolf Programs
@mousetail After it like, ./nothing ./otherprogram
 
2:16 PM
running any program changes a whole load of things, from the OS's PID counter to the position of the cursor on-screen (if you ran it in a shell)
 
That's not really reasonable, because then declarting variables wouldn't effect the next program
 
"You could run a program after it"
My interpretation of "running a program" is running a full program
 
:|
 
Not inserting a second program into the same file and running it all at once
 
But you could run loads of programs that do stuff before another one, and the second would work fine
so it doesn’t really make sense
 
2:17 PM
It's sheer, unbeliebvable assholery to declare that you have the only reasonable interpretation of some vague sentence in a context where both options are questionable
@Fatalize Same's true of pasting it into a second program tho
 
It's the only thing that makes sense in context, unless you are purposefully trying to interpret in a way that makes no sense and makes the question bad
 
Most programs that do nothing will just be statements that do nothing
 
assume good faith
 
@mousetail Except I don't think yours makes sense with the question either
 
Yes the question should be clarified but that doesn't mean the intent isn't clear
 
2:18 PM
Nowhere does it talk about the actual physical source code
 
would yall mind having this argument somewhere else?
 
They're all about effects of the code, not the code itself
 
This site it about source code
 
I’m not sure it’s quite appropriate for a room owner to outright call someone an asshole
 
^
that's a chatiquette violation
 
2:19 PM
Not calling the person an AH, just an action of theirs AH-y
 
you’re as nitpicky as mousetail
 
> Be nice [...] means avoiding name-calling
 
:P
 
I like mousetail but asserting your interpretation is the only reasonable one is incredibly rude
When I read that rule, I read it the way I read it
 
please discuss this in TST or a dedicated room; I'd like to talk with @Seggan about Rabbit
 
2:20 PM
You admit yourself your interpretation is not reasonable
 
When I consider both options, neither makes sense to me
Mine makes more sense to me tho
The fact we can even have this argument renders itself moot. It shows it's unclear.
I am part of this question's intended audience. You are part of this question's intended audience. We do not have a shared understanding of what it means. End of discussion, it's unclear.
It would take a two-word edit to fix this, and that's what needs to happen. Until then, the question shouldn't be answered.
Thus, VtCs.
 
are we done?
 
@Ginger This is more on-topic than Rabbit
In the hierarchy of on-topic-ness, discussion of moderation of the site should always come before side projects that aren't even intended for code golf
5
 
Rabbit is on topic, normally
 
@RydwolfPrograms okay, fair enough
 
2:23 PM
Also, no rule against having two conversations at once and playing a game of musical pings :p
 
I think we should insult each other on the topic of whether Rabbit is on topic
 
oh no
 
(but first: what is Rabbit?)
 
@Fatalize hey, VSauce! Michael here.
 
Language Ginger likes to talk to themselves about
 
2:24 PM
wait, myself?
has Seggan been a hallucination this whole time?
 
Anyone who thinks Rabbit is on-topic is LUDACRIS IDIOT
 
Here, Ginger talks to themselves while me and Lyxal have a unrelated dicussion: chat.stackexchange.com/transcript/message/63218268#63218268
I enjoy reading it but I don't really understand anything you say
 
okay yeah I guess I have been doing that
@RydwolfPrograms I forgot I said that lmao
how tf did you remember it
 
It's okay you had a headache
 
*takes Tylenol sexily*
 
2:28 PM
To the rest of TNB I promise we're referencing an inside joke and not just very weird
 
Can't it be both?
 
technically it's a meta-inside joke
 
I still don’t know if Rabbit is a new esolang or what
 
It's a praclang I'm working on
 
Praclang? Ew
 
2:29 PM
 
I made it primarily because I was infuriated with the dumpster fire that is Python's packaging ecosystem
 
@Catija hi
 
Pythons eat rabbits though
 
@Fatalize Uh oh
 
no, this is a giant, skyscraper-size rabbit that squishes pythons whole
 
2:30 PM
Ginger you didn't think this through
 
yes I did
 
Time to write a language called Eagle which forms a symbiotic relationship with Rabbit
 
I've been waiting for at least two months for someone to point that out so I could use that response
 
Would you rather fight 100 small Python packages, or one skyscraper-sized badly implemented Rabbit?
 
I wonder if I can kick-mute myself
 
2:32 PM
It’s called disconnecting and going outside
 
That would be illegal
Truancy
 
@Fatalize if nobody uses Rabbit, nobody will ever look at the internals; if it gets popular, thanks to Godwin's Law people will decide to go and fix it themselves :b
the classic Xanatos Gambit
 
This approach has gone terribly wrong in the past, just look at PHP
 
Aw man, I can't kick-mute myself
 
I was about to mention PHP
 
2:37 PM
Or squirrel
 
> $.post("/room/kickmute/240",fkey({userId:347075}))
Doesn't seem to do anything
 
if a challenge is really bad should you flag it, or just downvote?
 
If it's spam or offensive, flag it
If it should be closed, VTC
Otherwise, downvote
 
@Ginger gimme a few mins
 
Users who don't have 3k rep yet can flag to close, but it's pointless if there's already close votes
Since IIRC all it does is put the question in the VTC queue
 
2:44 PM
Are the rep levels different between stackexchange sites? I don't see how to VTC on codegolf.se, but I can see the review page on stackoverflow even though I have lower rep there
 
Reviewing only takes 500
VtCing takes 3000
 
@mousetail i don't have enough rep to vtc :(
 
Then just downvote
 
I also can't see the review page on codegolf.se, fwiw
 
ok
 
2:45 PM
or at least it's not as obvious
 
And post nome high quality answers so you can VTC the next one
 
easier said than done :p
 
@Bbrk24 It should just be here:
 
Unfortunatly true
 
On SO they might put it in a more noticeable place, but if so that's a special case
 
2:46 PM
Oh, I see. It's in the same place, but on SO it's red so it stands out a lot more
 
i get many ideas for challenges but most of them are just really bad or unoriginal
 
The red dot indicates there's stuff in the queue
On CGCC there's like five of us with review scripts so we easily keep the queues cleared
 
Review queues are always full on SO
And always empty here
 
(If you want the best™ review script, here's mine)
 
What does it do?
 
2:48 PM
(Just pin /review and it'll open tasks in new tabs when they show up, you can also configure it to play a ping sound)
 
i did have an idea for a challenge but i don't think it would be a good fit: write an obfuscated hello-world "program" that could is a text block to run into chatgpt and get that
but i feel like it's kind of boring and chatgpt isn't really an interpreter
 
ChatGPT isn't deterministic is it?
And even if it is it periodically changes
 
@RydwolfPrograms Of course that prompts me to download a random script instead of letting me look at the code
 
not really but certain prompts will work consistently
 
2:50 PM
obfuscated is also not really measurable
 
Thanks
 
Most of the userscript managers show you the code under the download button
 
I've also never set up a userscript on desktop before
(I have configured a userscript for an in-app browser for an iOS app I was working on, but I assume the API is completely different)
 
@Ginger ok im here
what do you need
 
busy rn :p
sorry lol
 
3:07 PM
LIES
 
css colors be like
seriously, gray is darker than darkgray
 
@RydwolfPrograms Brownwolf Programs confirmed?!?!/1//!?1??
 
@Ginger Were you around when I wqs Browncat Programs?
 
no
 
Can't find my browncat pfp unfortunately
There
 
3:17 PM
0
Q: A randomly colored walk

CursorCoercerGiven two inputs, a distance \$d\$ and a number \$n\$ output a list of \$n\$ random colors which each have distance \$d\$ from the previous. Background A random walk is a path which is defined by choosing a random direction and (usually) fixed distance to go at each step. We will be taking a rand...

 
Me, trying to undo a git add: git subtract .
 
3:51 PM
I just had an incredibly cursed idea
so yall know how Carrot has repositories (package sources) and libraries (package sinks)?
well what if they were one thing
to upload a package to Chinchilla you'd do carrot install --to https://repository.chinchilla.dev me.mypackage
(I keep forgetting that I renamed Burrow to Chinchilla)
@RydwolfPrograms what are your opinions on this idea
(although there'd be one difference: carrot wouldn't be able to directly run programs using packages from "remote" libraries, so that it doesn't re-download everything every time it's run)
actually, that's kinda an arbitrary restriction
 
I thought you removed the concept of both repos and libraries
 
I did not :p
 
@Ginger Just use a cache
Explain to me what they are again then please
 
sure, one second
a library is a directory on your computer that contains module source code (and a database file of what modules are installed in it); a repository is anything that can provide packages to install in a library
but what I realized is that the two are basically the same thing
so what I'm considering doing is combining them into one concept
if I did so, uploading a module to Chinchilla would look to carrot like installing a package in another library, except the library isn't on your computer
and installing code from Chinchilla would be the same thing in reverse
@RydwolfPrograms does that answer your question?
 
I think they serve two entirely different purposes, merging them wouldn't make much sense
 
4:05 PM
they don't really
 
A repository should be able to have a random assortment of modules
 
each one is a store of modules
 
A library has a semantic purpose
A repository has a much different semantic purpose
 
what do you mean "semantic purpose"?
 
As in, what you use them for
A library should be runnable; it should have all the stuff you need, and focus around a specific main/lib module
 
4:06 PM
just to be clear, by "library" here you mean "thing that contains modules" not "module with utility code"
right?
 
A repository could just be a random assortment of modules I've made
Actually I don't really see why you need the concept of a "library"
 
I guess "library" is a bit of an ambiguous name here
 
Well, capital-L library, as you described them
 
1 min ago, by Ginger
just to be clear, by "library" here you mean "thing that contains modules" not "module with utility code"
 
What would the distinction be?
Could I have a "library" that's just a random collection of unrelated modules?
If so, that's kinda pointless
 
4:09 PM
I'm using "library" here to mean what "repository" generally means; perhaps I should just refer to "repositories" instead
 
A repository should be able to contain arbitrary, unorganized modules
 
correct
and what I'm going to do is treat everything as a repository, from modules on your computer to modules on a remote website
 
If I want to install a module as an end-user, I download a bundle file containing it and its (static) dependencies
 
wrong
 
4:10 PM
fricknuts, brb
 
4:23 PM
@lyxal Yes
 
5:03 PM
LDQ (not really): what setting to I need to change for bash to interpret my output as UTF-8 and not CP-437
Wait what
I changed nothing and it works now
okay my environment is just cursed i guess
Oh no it depends on where I open the terminal from. If I open bash directly it's fine, but the integrated terminal in vs code uses CP-437
 
@RydwolfPrograms if you want to install a module as an end-user (assuming you have carrot installed, which you should) you'd just do carrot install goatsinc.goatRecognizer and Carrot would download all the dependencies and install them into... probably your user library if you didn't use sudo
 
@Ginger yeah. you forgot the hive exists?
 
D:
LMAO
@Seggan cursed type: sealed class ResolvedType<T: RabbitObject<this>>(name: FullIdentifier, visibility: Visibility) : Type(name, visibility)
because of course this is a valid type parameter
 
5:19 PM
@Ginger wait how does this work
 
I'm currently checking to make sure I'm doing it right, which I'm probably not, but it amuses me that it's legal Kotlin (I think)
it looks like I am, somehow
 
There's two ways I can think of this working: The TypeScript this type, which can only be the value this and nothing else; or the Swift Self type, which is any member of the same type as the object (useful for writing interfaces)
 
oop no it's an error
 
e.g. addition is defined as func +(lhs: Self, rhs: Self) -> Self
 
nvm lol
fixed definition: sealed class ResolvedType<T: RabbitObject<T>>(name: FullIdentifier, visibility: Visibility) : Type(name, visibility)
much better
I've got a lot of recursive type definitions in my code
well frick
now I've really gone and done it
I have two types, each of which has a generic parameter that must refer to the other type
and I don't know how to fix this
@Seggan halp
 
5:33 PM
@Ginger NICE
 
me when Kotlin doesn't have self types
I have a way to fix the issue but it requires self types
that issue can maybe be fixed by a recursive type bound but that makes it even worse
 
F-bounds are what are normally used (you seem to be using them already)
 
@Ginger nvm it doesn't fix anything
 
Come to the Scala side, we have self types
 
@user what?
 
5:40 PM
What you're already using (wikipedia article)
 
@Ginger remove the recursion
 
Like when you do interface Foo<F extends Foo<F>>
 
@Seggan can't
 
rework the code
 
don't wanna
 
5:40 PM
you seem to have made a lot of cursed code
 
^
 
the problem is that an object class needs to know its type class, but its type class needs to know the object class
 
Perhaps you should try planning out what exactly you want to do before jumping into the implementation
Often helps
 
because both of them need the other's type
 
@Ginger Does it really, though?
 
5:42 PM
No (technically), but if I fix it then I have to add lots of awful turgid code
 
One exists at compile-time, one exists at runtime, right?
 
maybe you don’t need them to be separate to begin with
 
am typing please wait
 
@Ginger also wait what
 
Your compiler should be doing the typing for you :P
 
5:44 PM
basically the type class has an instantiate function which creates a new object object from it, which obviously needs to know the type of what object will be created; I can fix this by passing the type to the object object upon creation but that 1. adds lots of extra code wherever I want to make a new object object and 2. makes object classes do things that types should handle (like visibility)
wow that's unintelligible, and I wrote it
me and the lads passing types to our object objects upon creation
I guess I'm slowly going insane
 
@Ginger more adv kotlin
program.opcodes
        .mapIndexedNotNull { index, (opcode, args) ->
            if (opcode == BaseOpcode.LABEL) index to args[0] else null
        }
        .toMap()
        .let {
            IntArray(it.values.maxOrNull() ?: 0) { i ->
                it[i] ?: program.opcodes.size
            }
        }
 
okay
I think I fixed it
our class definitions are now:
sealed class ResolvedType<T: ResolvedType<T>>(name: FullIdentifier, visibility: Visibility) : Type(name, visibility) {
    abstract fun instantiate(parentContext: Context): RabbitObject<T>
}
and
abstract class RabbitObject<T: RabbitObject<T>>(val type: ResolvedType<T>)
 
good
 
@Ginger Okay, that seems like a really bad idea
Types exist at compile-time, their instances exist at run-time
Unless your language has reflection (either compile-time or runtime), there shouldn't be any connection between the two
If you only have runtime reflection, consider having one class for types that exist at compile-time and another class for reified types that you use for runtime reflection
idk how compile-time reflection would work
@Seggan Why not do a filter followed by a mapIndexed?
program.opcodes
        .filter { (opcode, _) -> opcode == BaseOpcode.LABEL }
        .mapIndexed { index, (_, args) -> index to args[0] }
        .toMap()
The second feels clearer to me, unless I've misunderstood your intent
 
@user performance
i didint think of that, actually
 
5:56 PM
Oh, an extra intermediate collection
Does Kotlin have something like Java's stream? I assume it does
 
i wasnt serious
 
Oh
 
@user yeah, sequences, but i never use em
ty for the tip
 
np
 
0
A: Sandbox for Proposed Challenges

97.100.97.109Qat Equation Solver code-golf Qat is a tool that lets you search for words matching a given pattern, often used by crossword and other word puzzle writers and solvers. In this challenge, you will have to implement a specific part of Qat, namely a subset of the "equation solver". Equations The out...

 
5:59 PM
@user uhhhhhhhhhhhhhh
I understand what you're saying but I do not understand how to implement it
 

« first day (4434 days earlier)      last day (425 days later) »