Omnimaga
Calculator Community => Contests => Community Contests => Topic started by: pimathbrainiac on June 05, 2015, 07:40:56 pm
-
Since the main contest in this forum at the current time is Code Golf, this thread will be the place for the information, discussion, and planning of Code Golf.
Rules of Code Golf
- Make a program that completes the challenge prescribed on Monday in as few source bytes as possible.
- All programs must be PM'd to the challenge creator or one of the Community Contests board moderators by 11:59:59 PM ET the following Saturday.
- Winning code for each language will be posted on Sunday
- Don't be a rule breaker/bender (see this (http://meta.codegolf.stackexchange.com/questions/1061/loopholes-that-are-forbidden-by-default))
Challenge Creator Rotation
To keep the work load off of one person, there will be a rotation of people making Code Golf challenges each week. If you want to be in the rotation, reply in this thread. The current rotation is:
1) @pimathbrainiac <- On deck
2) @c4ooo
3) @Juju
4) @JWinslow23
5) @Ivoah
6) @LDStudios <- Current challenge
Some rules for challenge creators
- The challenges must be open to all languages
- It is preferred that the challenges give calculators some advantage, since this is a calculator forum (eg. key input based challenges)
- Challenges must be posted on Monday
- Challenges must be posted in this board on Omni. If you wish to cross post to other forums, that is fine
- You will receive a PM one week before your turn to post a challenge
- If you can not prepare a challenge and post it by monday of your given week, message one of the community contests board moderators. You will be skipped in the rotation, and your turn will come back to you when the rotation rotates back to you
- Challenges must be plausible to complete in a week (so make a platformer is probably not the best idea)
- Make sure your OP is updated with the overall ranking, and the language ranking (format seen here (https://www.omnimaga.org/community-contests/code-golf-the-reboot-1/)). While the board mods can edit your post for you if you, please don't make us do that
- At the end of your week, prepend "[ENDED]" to the topic title in the OP, so people know it's over
-
Oh, I've an idea for a codegolf, could I host one?
-
Sure! I'll add you after JWinslow.
-
Sure! I'll add you after JWinslow.
Sweet!
-
I think we should also have rules so counting bytes is consistent between challenge creators, like, convert newlines to UNIX style (you can do that in Notepad++ for you Windows users, one newline is one byte) and no ending newline (substract one for you Linux users I guess).
-
I think we should also have rules so counting bytes is consistent between challenge creators, like, convert newlines to UNIX style (you can do that in Notepad++ for you Windows users, one newline is one byte) and no ending newline (substract one for you Linux users I guess).
I agree
-
There are several ways to score an entry that are generally used:
1) size in chars of source code
2) number of bytes of source code
And finally
3) output size in bytes of final compiled/fully runnable program. (If your language is interpreted, like windows batch, use method 1 or 2, preferable 2)
I think that the host should have a choice as to what scoring method to use. :)
-
There are several ways to score an entry that are generally used:
1) size in chars of source code
2) number of bytes in source code
And finally
3) output size in bytes of final compiled program.
I think that the host should have a choice as to what scoring method to use. :)
I don't think number 3 is a good idea, since some languages have distinct advantages over others in binary size.
-
There are several ways to score an entry that are generally used:
1) size in chars of source code
2) number of bytes in source code
And finally
3) output size in bytes of final compiled program.
I think that the host should have a choice as to what scoring method to use. :)
I don't think number 3 is a good idea, since some languages have distinct advantages over others in binary size.
Yeah, #3 sounds like a bad idea (unless it's assembly language).
-
Number 3 is not pratical if we are to mix interpreted and compild languages, unless we accept assembly. For the newlines, the setup I described is the one we used before with JWinslow23 (I think) and is the one that minimizes the number of bytes. Also, for most purposes, we don't use characters above 127, so pretty much every character is 1 byte, although we should count characters.
-
There are several ways to score an entry that are generally used:
1) size in chars of source code
2) number of bytes in source code
And finally
3) output size in bytes of final compiled program.
I think that the host should have a choice as to what scoring method to use. :)
I don't think number 3 is a good idea, since some languages have distinct advantages over others in binary size.
I recall some one saying over irc (forgot who might have been you) that "choosing your language is part of the puzzle, each has its pros and cons". :P
And no that was not a direct quote from irc, I forgot when the original was said :P
-
There are several ways to score an entry that are generally used:
1) size in chars of source code
2) number of bytes in source code
And finally
3) output size in bytes of final compiled program.
I think that the host should have a choice as to what scoring method to use. :)
I don't think number 3 is a good idea, since some languages have distinct advantages over others in binary size.
I recall some one saying over irc (forgot who might have been you) that "choosing your language is part of the puzzle, each has its pros and cons". :P
And no that was not a direct quote from irc, I forgot when the original was said :P
Yes, but compiled size makes for an unfair advantage. For example, assembly is not efficient in source, but the binaries are extremely small by comparison. We want this fair, although language choice is important.
-
Case 3 is for competitions which focus on 1 language OR only compiled languages. There for for say basic is not really "acceptable" But with that it is up to the Host to make the rules for there individual contests. IF they choose to count that way they can.
-
-snip-
This shows that balancing is hard. For example, using point one or two would then in turn backfire on asm.
But which method to use is not my main argument, what is is my suggestion that the hoster could chose :hyper:
-
The scoring system I'm most familiar with from other sites, and which I believe is the best, is the better of #2 and #3. So for most languages, it's the size of the source code/file, but for assembly, it's the size of the assembled machine code.
-
I made a tool here (along with compiled stats), if it would help anyone. It correctly counts newlines and multi-byte characters.
http://juju2143.ca/golf/
-
All in favor of making Juju's counter the official counter for all non-calculator languages, say "aye."
All in favor of counting assembly as binary size, say "aye aye."
All in favor of counting TI-Basic and Axe as on-calc source size, say "aye aye aye."
All in favor of counting The Challenge Creator choosing the counting method, say "aye aye aye aye."
(all on separate lines of course)
My response:
aye.
aye aye.
aye aye aye.
-
All in favor of making Juju's counter the official counter for all non-calculator languages, say "aye."
All in favor of counting assembly as binary size, say "aye aye."
All in favor of counting TI-Basic and Axe as on-calc source size, say "aye aye aye."
All in favor of counting The Challenge Creator choosing the counting method, say "aye aye aye aye."
(all on separate lines of course)
My response:
aye.
aye aye.
aye aye aye.
Aye
Idk Idk
Idk IDK
Aye Aye Aye Aye
-
Aye (for reasons I explained above)
Aye aye (it's nearly like writing your code in hex at this point.)
Aye aye aye (If assembly is gonna get counted in binary, then the same goes with BASIC. That's pretty much what we did before IIRC.)
Nay nay nay nay (I'd like if each contest had the same standarized, agreed-upon counting method.)
-
Aye (for reasons I explained above)
Aye aye (it's nearly like writing your code in hex at this point.)
Aye aye aye (If assembly is gonna get counted in binary, then the same goes with BASIC. That's pretty much what we did before IIRC.)
Nay nay nay nay (I'd like if each contest had the same standarized, agreed-upon counting method.)
I vote exactly the same as Juju
-
All in favor of making Juju's counter the official counter for all non-calculator languages, say "aye."
All in favor of counting assembly as binary size, say "aye aye."
All in favor of counting TI-Basic and Axe as on-calc source size, say "aye aye aye."
All in favor of counting The Challenge Creator choosing the counting method, say "aye aye aye aye."
(all on separate lines of course)
My response:
aye.
aye aye.
aye aye aye.
Aye declare that tool as an official byte counter. If somehow not available, this may be used instead (https://mothereff.in/byte-counter), but use the byte count, not character count.
As pre-compilation hex files have a h-aye s-aye-ze, my opinion is that the final binary should be sized.
T-aye BASIC as source s-aye-ze, Axe as comp-aye-led program.
Of course, aye can't dec-aye-de the last one m-aye-self. I'm a bit b-aye-ased. :P
-
I would like to be added to the rotation
-
Added! Thanks for participating!
-
The size of the program header for TI-BASIC entries should not be added to the scored size. Source means "length of code", not "file size stored in memory"; most languages have a header hundreds of bytes long on their files, and yet we don't count it. This gives an unfair advantage to non-calculator entries, whose headers are ignored.
I propose that TI-BASIC entries are counted as the size of the program in the [2nd][MEM] menu, minus the length of the name, minus nine bytes.
-
All programs must be PM'd to the challenge creator or one of the Community Contests board moderators by 11:59:59 PM ET the following Saturday.
Forgive me if I'm completely missing something, but you cannot do attachments in PMs can you?
-
All programs must be PM'd to the challenge creator or one of the Community Contests board moderators by 11:59:59 PM ET the following Saturday.
Forgive me if I'm completely missing something, but you cannot do attachments in PMs can you?
Most people either link to dropbox of the source/binary, or use a code bbcode to give their source.
-
I'd like to give it a go!
-
If somehow not available, this may be used instead (https://mothereff.in/byte-counter), but use the byte count, not character count.
@Juju 's Counter counts in bytes AFIK. :)
The size of the program header for TI-BASIC entries should not be added to the scored size. Source means "length of code", not "file size stored in memory"; most languages have a header hundreds of bytes long on their files, and yet we don't count it. This gives an unfair advantage to non-calculator entries, whose headers are ignored.
I propose that TI-BASIC entries are counted as the size of the program in the [2nd][MEM] menu, minus the length of the name, minus nine bytes.
True, i agree that headers should not count, including headers for shells like Doors and Mirage.
I'd like to give it a go!
No one is holding you back :-*
-
If somehow not available, this may be used instead (https://mothereff.in/byte-counter), but use the byte count, not character count.
@Juju 's Counter counts in bytes AFIK. :)
The size of the program header for TI-BASIC entries should not be added to the scored size. Source means "length of code", not "file size stored in memory"; most languages have a header hundreds of bytes long on their files, and yet we don't count it. This gives an unfair advantage to non-calculator entries, whose headers are ignored.
I propose that TI-BASIC entries are counted as the size of the program in the [2nd][MEM] menu, minus the length of the name, minus nine bytes.
True, i agree that headers should not count, including headers for shells like Doors and Mirage.
Yes, but if you don't want to use it for some reason, I have used that as an alternative.
And when I did it, headers didn't count.
-
And when I did it, headers didn't count.
What? ???
-
And when I did it, headers didn't count.
What? ???
TI-BASIC and Axe? Name and program header didn't count.
EDIT: As a heads-up, my incoming challenge has to do with Keith numbers. Let's hope everyone knows how to do Fibonacci-like sequences.
-
Keith numbers. Interesting...
EDIT: I have a program to check if a number is a Keith number in 54 bytes.
Maybe I can be the first entrant to win an Omnimaga code golf contest before it's formally announced.
-
I already wrote my announcement for my code golf, gotta be interesting. Gotta post it when it's my turn.
-
Should the Axe source header count? Every Axe program starts with a line of the format .OUTNAME to signal to Axe that it is an Axe source file and the target compiled file name. My inclination would be that it doesn't count, as the . part of the header is analagous to the file extension of a source file for a computer language and the compiled name part is analagous to, well, the compiled file name for a (compiled) computer language. And neither of those count against computer langauge entries.
-
I wouldn't think so either.
-
Well, but in php entries the header counts too ("<?"), so it's just fair to have the axe header count, too
-
See, the thing is, the name of the OUTNAME program could affect the size, too. But really, what I think should be the sizing for Axe is the binary size. It compiles to Asm anyways.
-
/me prods @LDStudios to post his code golf challenge for the week.
-
Hello, I am here. I won't be posting for a few hours because of work, but it will happen today.
EDIT: 28 second response time ^.^
-
Cool beans! I'm sure it will be awesome!
-
We should encourage people to post the saturday before the challenge(preferably as closer to 12:00:00AM[last time me and @Juju got within 2 seconds :3] as they can). Being early is better than being late.
-
Heads Up: Due to band camp, I will be unable to post a challenge next week, so @c4ooo will be next to post a challenge.
-
Heard @c4ooo won't be able to host either, so guess it'll be my turn? Well I'm ready.
-
Actualy @JWinslow23 agreed to sub, so you won't have to host this week. ;)
-
Actualy @JWinslow23 agreed to sub, so you won't have to host this week. ;)
Well, Juju can do his if he wants. Just to fit the order and stuff. But I have one ready, and am ready if he can't or doesn't want to.
-
I also have one ready, but I'm not sure if it can be doable on calc. You have to send a bunch of bytes via the link port, although I could always make them save it to a string/appvar/screen/etc.
-
And mine has to do with the SNES port of Family Feud.
More on that Monday.
-
That sounds fun. So who's doing it Monday?
-
That sounds fun. So who's doing it Monday?
...I guess I will?
-
Well, according to the OP that should be my turn, right?
-
Well, according to the OP that should be my turn, right?
You have a point. Go right ahead. :)
-
I am still on my trip and will not be able to host again this weak :/ I guess @pimathbrainiac should go, or if he is still at band camp then @JWinslow23.
Edit: We have had some mix up with people gone, but I presume I will go next?
-
As you can see, there was no code golf this week. Interest has fallen, and until further notice there will be no code golf. :(
I am currently setting up a group of logic puzzles, maybe I will post them here sometime.