So there was the question about what development environments you can use, and how you are penalized when using languages such as Python which is an interpreted language and not actually "compiled".
You can use whatever development environment you like. Obviously an interpreted language is going to have different error conditions. The rule of thumb I used when I use to compete was if I ran the program or tried to compile the program, and it wasn't the solution to the problem, we drank. Since we were using the "break - fix" method of programming, and since we had decided that for fun we would pick random programming languages we didn't even know as our development environment, there was a lot of trying to figure out how to program in the language (Ada for example) on the fly.. many beers were consumed just trying to get basic input and output working, let alone starting on solving the problem. Of course that's for the Psychoholics when we were competing. Likely you are going to do something much closer to sane, and pick a language you actually know. So that said, if you execute your program, and it didn't give you the output that solved the problem, then that counts as a "failed to produce the right output", and you should take a drink of beer.
One other question is what do you need with you to compete. Typically, unless you are the Psychoholics, you are using a laptop and will be connecting to the network via a wired ethernet connection. This means that if you have a Mac, you need to remember that stupid little dongle that lets you do that. You won't have to worry about network cables, as I'll be making up some nice long cable bundles this year, so that each table will have plenty of network available. Once on the network you should have Internet access, provided they were able to get us a network connection on time. If we don't get wired to the DEF CON network on time, the plan is to still be able to proceed with the contest on time.
So what if you are like the Psychoholics and want to use an unconventional development environment? We have you covered there. This year we're updating the auto-grader to make it easier for those kinds of corner cases. If you have some way of getting serial input and output, then you should be able to paste in the generated test case, and copy the results for submission. Also if you have absolutely no way to get the output of your program uploaded to the grader, we can manually grade you. Though for the pre-qualification round you still need to use the auto-grader.
You can use whatever development environment you like. Obviously an interpreted language is going to have different error conditions. The rule of thumb I used when I use to compete was if I ran the program or tried to compile the program, and it wasn't the solution to the problem, we drank. Since we were using the "break - fix" method of programming, and since we had decided that for fun we would pick random programming languages we didn't even know as our development environment, there was a lot of trying to figure out how to program in the language (Ada for example) on the fly.. many beers were consumed just trying to get basic input and output working, let alone starting on solving the problem. Of course that's for the Psychoholics when we were competing. Likely you are going to do something much closer to sane, and pick a language you actually know. So that said, if you execute your program, and it didn't give you the output that solved the problem, then that counts as a "failed to produce the right output", and you should take a drink of beer.
One other question is what do you need with you to compete. Typically, unless you are the Psychoholics, you are using a laptop and will be connecting to the network via a wired ethernet connection. This means that if you have a Mac, you need to remember that stupid little dongle that lets you do that. You won't have to worry about network cables, as I'll be making up some nice long cable bundles this year, so that each table will have plenty of network available. Once on the network you should have Internet access, provided they were able to get us a network connection on time. If we don't get wired to the DEF CON network on time, the plan is to still be able to proceed with the contest on time.
So what if you are like the Psychoholics and want to use an unconventional development environment? We have you covered there. This year we're updating the auto-grader to make it easier for those kinds of corner cases. If you have some way of getting serial input and output, then you should be able to paste in the generated test case, and copy the results for submission. Also if you have absolutely no way to get the output of your program uploaded to the grader, we can manually grade you. Though for the pre-qualification round you still need to use the auto-grader.
Comment