1:00 PM
you guys are arguing that without code there's no proof of correctness. with code there isn't a proof either, so I don't see the point.
there's no evidence of correctness
I initially agreed with you Martin, but the evidence is a really good point
Doorknob said "verify". a verification sounds more like a proof than evidence.
I agree that code will in general make it more likely that the answer is correct, but I think an answer containing a rigorous proof is better in that regard than an answer containing only code.
Correct. It wasn't Doorknob that convinced me.
Doorknob isn't a computer science professor..probably not what he meant
academic proofs belong on a CS stack exchange, not here
1:07 PM
For simple challenges, it is trivial to come up with an algorithm. If the algorithm is difficult, then it is tough to get it right and a small oversight can make your solution entirely unuseable
When you have code, that oversight will make it impossible to code
Good algorithm challenges are unlikely to occur
There's not that many things where there is a fast solution that isn't obvious or well known
I think that that is irrelevant
a good one is the one Martin and I talked about
which I still don't believe ever got a solution
the tree thing? is that an actual post?
nope
but it would certainly be a good fastest-challenge
Ah, @MartinBüttner when I said "verify" I meant "make sure it actually works."
1:10 PM
I know its not np-hard, because facebook had it as a challenge
If the complexity of an answer is uncertain, one possibility is to put an accumulator into the program, and increment it each time memory is modified
since actual runtimes have little to do with theoretical complexity
1:24 PM
there is a reason they call it asymptotic complexity ;)
@Optimizer just saw your comment on meta... that is by far the weakest point of the answer
yeah, but it was funny
"so far, almost no answers are free of code. therefore, we can't possibly accept algorithm-only answers."
"This is called Programming Puzzles and Code Golf, not Algorithm Puzzles and Complexity Golf"
if designing algorithms isn't part of programming I don't know what is.
1:33 PM
off by one errors, mostly
and naming things
debugging the standard libraries
@Optimizer fixed the question
ok, but I think my comment still provide more info , so I will let it be there.
like it highlights the fact that generally, its a democratic decision
-1

No not all answers need to contain fully working code Even with working code you can't necessarily check that an answer is correct. It might just work on a few cases. So it's not true that having code solves the problem of checking correctness. We currently allow answers which would need to be ...

well.. I tried :)
1:42 PM
yeah, it just appeared for me and was -1 already :D
@Optimizer I am just trying to contribute :)
you did right
@Optimizer thanks
@Doorknob it should be "Algorithmic Puzzles"
and may be "Complex Golf"
@Lembik honestly, I think your points apart from the first and last are equally weak :/ ... I don't even know myself how to make a good case for either side of the argument.
1:44 PM
@MartinBüttner well two good ones is good :)
@MartinBüttner although I am not sure I agree that the other points are weak. Why is "Pseudo code can be easier to verify for a non-specialist than an answer in code, especially if the code is in some minority language." weak?
@MartinBüttner and do you think the name issue really is important?
@Lembik the code doesn't have to be readable to a single user (that is impossible), as long as the community can verify its correctness
@MartinBüttner well ok but if the community that can verify it is bigger that must surely be a good thing. What is the total number of people who can verify an APL solution and that read answers here?
compared to the number who could verify an answer in clear unambiguous psuedo code?
ok. Here's a question: why do sites limit their scope
are you doing a retrospective ?
@NathanMerrill a nice general question...
1:49 PM
well, if I'm an asker, and I'm willing to deal with the pitfalls of algorithm-only answers
@NathanMerrill we could have one SE for everthing.. and the user could choose subsets of tags
why shouldn't that be allowed?
They don't want a bunch of unsightly garbage piling up everywhere...decreases property values.
so, the debate is "Algorithm is unsightly garbage"?
@feersum I think the question wasn't about garbage but more why don't we allow great questions about biology on codegolf.se
1:50 PM
if I understood it correctly
and they are untestable...which makes them more likely to contain garbage
@NathanMerrill then I can also ask a question in which I am willing to deal with the pitfalls of image only answers where the image is found on google and the winner is the image appears the least number of times [...]
@feersum I don't agree they are untestable. Why do you say that?
1:52 PM
@Lembik Do you have a pseudocode compiler?
@feersum yes.. me!
My algorithm : 1 ) Take product of all even index pairs, (2) Do unicorn magic (3) Get inverse of the matrix . Time complexity : O(n)
@Optimizer that's a terrible algorithm
@Optimizer there are good and bad algorithms :)
@Lembik doesnt make it an invalid answer, does it ?
just that I might not win or might get many downvotes
@Optimizer well it makes it a terrible answer
1:54 PM
still a valid one though
@Optimizer which I think is so bad it should be deleted
Answers already should be verified by the poster (or community) to make sure they follow the rules
this is how garbage starts pilin gup.
@Optimizer not really.. really terrible answers of any sort should be deleted
I could answer every question with HQ9+
1:54 PM
@Optimizer I mean I could paste irrelevant code as well
that doesn't mean its a correct answer
@MartinBüttner I'm having trouble putting this into words, but I'm of the opinion "Almost always include code, unless the question is highly algorithmic/proof-based in nature". I'm thinking back to Book Stack Sort here, for example (grc's post has code, but most of it is the algorithm). Also there have been many questions with code but not likely to terminate any time soon, like the one for Graham's number.
@NathanMerrill snap :)
we have no right to delete valid but "terrible answers"
@Optimizer of course you do! If I paste lots of random C commands as an answer its just spam
1:55 PM
oooh, that's a good point
we don't actually test those
and I can happily write guidance for what a decent algorithmic answer is
@Lembik so how do you categorize that my algorithm is a spam or not ? (See the slippery slope point kicking in ? )
we just assume that the algorithm is correct
@Lembik dude, that is impossible.
@Optimizer well only impossible in one sense. Let us take this one at a time. If I just paste random C commands as an answer it will be deleted, right?
1:56 PM
Yeah, the closest thing we can do to testing it is trying very, very small inputs/changing the code slightly
you would argue it wasn't really an answer or not really code I suppose
speaking of answers that take a long time to run...my Boggle-grid spam generator has currently produced 21.5 GB
Ahaha still running it?
"spam generator"
@Optimizer it's no different. We make value judgements and an algorithmic answer which is completely unclear and/or makes no serious attempt to explain its steps is not acceptable
unless you want to define for me what "code" is :)
which is also impossible
it's no easier to define code than define algorithm.. but in practice there is no problem recognising either
I do agree that we don't want answers that only contain long paragraphs of English text supposedly setting out what an algorithm is meant to do. This can be dealt with either by requiring clear unambiguous pseudo code or by just downvoting I suppose
ok.. important question.. shall I offer 50 or 100 points in my bounty?
2:02 PM
Reminder: Bounties aren't magical :)
@Sp3000 don't tell me that !
What is the difference between refusing pseudocode and refusing code that supposedly works, but we can't actually test (because it'll crash our computer or take infinite amount of time)?
2
@Sp3000 but are they monotonic? I mean does more points mean more/better answers?
@Lembik Not necessarily. If nobody wants to give an answer, then it wouldn't change much (a little pessimistic, I know)
@Sp3000 :( Could it make it worse I wonder?
2:05 PM
That was fast
@Sp3000 you mean soon after the deadline for when i could add a bounty?
That, and the fact you added it a minute after you started this convo
@Sp3000 ah.. very speedy :)
Not saying anything like algorithm-only answers should be okay for that question, just that we do have the occasional theoretical question
to be fair.. I understand the wish to see code in answers.. Let use say we say all answers should have code, how do we specify how much of the answer should be code?
2:09 PM
Too small of a reward can be detrimental
@feersum disaster!
See section 2.4 of this review
@feersum very interesting.. I often feel that myself
to be honest, I wouldn't mind that much if all answers had to contain fully working code that could just be copied and pasted without editing or adding anything. It would just be quite a different site .
it is nice what they have done at tex.se with that rule
What did they do? Everyone was wanting to write pseudo-TeX?
@feersum answers have to contain full LaTeX documents that you can just copy and paste and compile
@feersum the aim is to provide helpful answers for people who don't understand LaTeX at all
2:13 PM
Example of great question/answers with no code: Chessboard Compression
4
well I don't know if they have to but they do and when they don't people complain
which is much the same
Dunno..that doesn't seem good necessarily
Sometimes if you are working from a full example, you're not sure which parts you actually need, and what can be removed
@Geobits great example! Maybe someone can upvote my meta answer :)
@feersum the answers are meant to be minimal and the people are really helpful. It works really well
@MartinBüttner This might be up your alley:
but then tex.se is perhaps the most helpful place on the Internet :)
2:14 PM
@Lembik I'm still trying to decide if I agree with all of it. A clearer, simpler post with an example or two would be easier to upvote.
@Geobits true
Is there way of approximating the drag experienced by a person of certain size running at a certain velocity?
@overactor you need shape and clothing
@overactor naked? :)
@overactor yeah the shape is pretty important
if you model them as cylinders it's probably pretty trivial
2:16 PM
@MartinBüttner Just a rough estimate will do
They can be assumed to be wearing aerodynamic clothing
@Lembik I'll look through it
apparently the drag coefficient of a man is between 1 and 1.3
drag force = 0.36AV^2
So for similarly shaped people, drag is roughly proportional to the cross-sectional area and the square of their speed?
Or am I misinterpreting here?
That makes a lot of sense, really.
2:24 PM
It probably only really holds in rather limited cases though
you seem to be arguing that algorithm-only challenges are fine
Oh, that formula is only for people
@feersum yes, that's the 1 to 1.3 I'm referring to
@overactor that's correct.
@Lembik whether an answer is a code snippet or a full program is completely irrelevant. a person familiar with the language will know the necessary context for a snippet to make it run.
@MartinBüttner I disagree a little depending on how much work is needed to test the code snippet. One of the complaints about algorithmic answers without code is that they can't be tested. Of course you can test them by implementing them or by running the algorithm in your head or by following any provided proof. If a code snippet can't actually be tested without some extra work then it seems to require no less expertise to test.
@MartinBüttner but you are right that it is not the most important point
You could also argue that a well-proven algorithm description is clearer (and more verifiable) than code. See the [underhanded] tag for example.
2
2:35 PM
@Geobits I agree completely
The underhanded tag demonstrates how code that looks okay can be flawed
we also have no definition for code do we?
I take it logical expressions don't count as code? (codegolf.stackexchange.com/questions/37648/…)
But if you run the code, the flaw is exposed
@Lembik we have a definition of programming language
I think anything that can be executed in what we consider a programming language is code
2:36 PM
@MartinBüttner ok but is "for" code?
@feersum except for underhanded code that only fails on very specific inputs...
@feersum If it's an obvious flaw, sure. If the flaw only surfaces 1/1000 runs, it's not so obvious (I'm trying to remember what challenge made me think of that...).
@Lembik sure, it just doesn't do anything
@MartinBüttner ok so only answers that can be executed (without crashing) should be allowed?
in the right context, yes
2:37 PM
@MartinBüttner you may be the wrong person to make this point to :)
And take a finite amount of time?
this isn't how codegolf.se works! we have plenty of answers you would never want to run
All solutions must run in a finite amount of time, where 'finite' means less than 10 minutes.
ones that do something malicious for example
@feersum is that so?
2:39 PM
@feersum Eww, no. Some code-challenges explicitly state "x hours" for time limit, and some are open-ended "highest n found".
I just don't think it's true that we actually want all code to be runnable
This is a type of disclaimer I would try to remember to put in my challenges
Oh, well that's fine. I thought you were saying that should be a general rule for all challenges ;)
I used to put 10 minutes but got bored and reduced it to 1 :)
I think one of the best arguments (to me) against broadly requiring code is that most people vote without running the code at all, on a regular basis.
2
2:43 PM
Good point...you can easily get 5 or even 10 votes with something that fails half the cases
@Geobits I added that to my post
I hope you won't sue me
I am going to delete my answer soon as everyone hated it :(
you don't lose any rep from it on meta, and it's important to show this opinion as well
2:44 PM
@MartinBüttner ok
@Nathan Nope, my lawyer says it's a shaky case at best. You're off the hook (this time).
hehe
@Lembik I like your answer and downvoted because I disagree with the conclusion, not because I disapprove of the answer. It's important that your view remains visible so we can see how many upvotes and downvotes it gets. A meta discussion with only one side is less useful for judging how the community feels.
@Doorknob so, do I have your permission to rename the Weekly Challenge to Fortnightly Challenge? ;) (I find "biweekly" ambiguous... it also doesn't sound as cool)
@trichoplax ok thanks.. I just feel like the unpopular kid in school now
2:49 PM
+1 for fortnightly
5
@Lembik votes on meta are different - I know it feels weird though :)
Meta questions are often viewed as polls
@trichoplax what do you think about requiring all code to be copy and pastable?
@trichoplax rather then just being snippets
@Lembik by default, snippets are not allowed
submissions have to be functions or full programs
@MartinBüttner I'm a little concerned that Nathan Merril is updating the Java controller to your challenge two minutes ago while the challenge was posted 2 days ago.
@MartinBüttner I may be using the wrong words.. see codegolf.stackexchange.com/questions/17312/… for example
@MartinBüttner ok so I meant not just functions
@MartinBüttner but a complete piece of source code one could run
2:51 PM
@Lembik the place to discuss this consensus is
8

One of the things many (new?) users forget to specify in code-golf challenges is whether the answers should provide a full program or a function (or even just a snippet). For most such things, we have defaults in the tag wiki (like scoring by bytes), but not for this. The conclusion in chat was ...

@MartinBüttner thanks!
@Rainbolt when the challenge was posted, it explicitly said that the Java controller was not ready yet
"This has my downvote. – Martin Büttner" :)
@Lembik Although I've cast my votes to encourage disallowing answers without code, because I don't want it encouraged, I'm not too worried about the finer details. In general, the community has a strong desire for objectivity, which tends to deal with any grey areas.
@Rainbolt also, I don't see further changes to the controllers as problems, as long as the spec and API don't change. valid changes might include: bug fix, performance improvement, new diagnostic feature/graphical output
2:54 PM
ok I better go..good chatting all
Bye @Lembik :)
I think a good way to generate votes (up or down) for the code/algorithm meta discussion is to start posting questions that explicitly do not require code.
hopefully in the sandbox?
Arguably, some of the image compression answers barely count as code (same with kolmogorov). If your entire "code" is `print(bigassbase64string)`, then yea... We only make them wrap it in actual code because "that's how we do it", not for any intelligent reason I can think of.
3:11 PM
@MartinBüttner Oh, I see. I didn't check the revision history of the problem. Whoops.
@feersum lol yes
3:28 PM
I need to write code to run other people's (java) code and check they give the right output given some input
is there a lovely and clean way to do this? I am currently just hacking python as if it was bash
that's what it's for
In general, I believe you just run it with subprocess.
@Geobits ok thanks.. It's all very ugly. I also need to kill the process if it takes too long I suppose or if it gives to much output
That's a bit more... fun. I haven't played with that much in python, but I recall some chat about it being a pain in the ass (specifically the timeout).
ah
I ideally I would also prevent it from reading and writing to disk :)
I wonder where I can ask this question online
I don't want the code to read my ssh private key :)
3:33 PM
:)
what is answers.yahoo.com? Is it all written by yahoo?
it just looks like spam to me
Look around. It will make you feel better about yourself and worse about humanity.
6
:)
@Optimizer , or anyone else with adequate reputation, would you mind removing The Great, White, North! from the sandbox op, and adding Rise and Shine?
@Doorknob whatever your opinion on the weekly challenge was, you've been overruled by the stars on trichoplax's message ;) ... I'm going ahead with the change
3:38 PM
@Martin I thought fortnightly was cool before it was cool to think it was cool :P
I know you did ;)
why though? is it particularly archaic usage or something?
(like "thrice", say?)
It is in the US at least. I don't know about the rest of the English-speaking world.
It's slightly archaic, like thrice
kk... any other unambiguous alternative to biweekly?
fortnightly? That's not archaic where I live
but we only have 60 million people :)
3:41 PM
@Geobits Thanks for the edit.
@globby No problem :D
from the wiki " Fortnight and fortnightly are commonly used words in the English-speaking world"
so the wiki agrees with me :)
If it was really common, it wouldn't be necessary to say it was common ;)
@feersum :)
I claim it is the only accepted word in British English
for the concept it represents
and every single English speaking person in the UK knows it
who is over 10 :)
Ngrams shows it roughly 2-3x more common in British English than American.
3:44 PM
thanks ngrams :)
It's superior to biweekly, which is ambiguous
@Lembik American speakers also know it, we just don't use it as often. There's a difference.
yes and also implies you should buy something weekly
@Geobits there is indeed a difference
@Geobits Brits know it and use it :)
changed the meta post
Where I come from people use the word "fortnight" every other week
3:47 PM
or every 15 days in France!
which always confused me
I suppose it is correct
yeah how about we make the challenge once every metric fortnight?
cubic parsec?
The Furlong/Firkin/Fortnight (FFF) system is a humorous system of units based on unusual or impractical measurements. The length unit of the system is the furlong, the mass unit is the mass of a firkin of water, and the time unit is the fortnight. Like the SI or metre-kilogram-second system, there are derived units for velocity etc. While the FFF system is not used in practice, it has been used as an example in discussions of the relative merits of different systems of units. Some of the FFF units, notably the microfortnight, have been used jokingly in computer science. Besides having the meaning...
hey, do you guys see any problems with this sandbox post: meta.codegolf.stackexchange.com/a/4686/20198 ?
@Geobits That surely needs a PPCG question...
3:53 PM
idk, the breeding/killing mechanism seems a little artificial
needs some more visceral method of killing
what do you mean?
idk, just saying random bs
@NathanMerrill I've tidied up my comments that you have already addressed, and left the ones that still seem pertinent
ok, thank you
I still think that the instability of the population size needs thinking about. At present I'd expect a population to die out below a certain size and explode above a certain size, and I'm not sure the range in between is non zero.
3:57 PM
@Rainbolt nice meta answer, thanks. except "Feature requests belong in a new question." I don't think we should use meta for feature requests for random stack snippets. that's just clutter. the is for feature requests regarding SE. but feature requests in comments or github issues seems fine to me.
@trichoplax I'm considering have 3 configurations, 2 of them being death
@NathanMerrill I've just realised that the death configuration will moderate the population as they will be killing their own cells too - ignore me :) I'll delete my comment...
@MartinBüttner Feature request is by definition beyond the scope of the original problem, so it belongs in a new question. In what way does that "clutter" meta?