Documentation

Bugs

There is no guarentee that there are no bugs. If we find bugs on a challenge we will revalidate all submissions on that challenge. If you find any security issues, bugs etc, don't exploit it. Please inform us right away instead.

Points

Points are calculated with <best result> / <your result> * 1000. If two or more users have the same amount of points, the user who uploaded first will be sat as leader. The size of the file you upload will not count the trailing newline. Your script will be evaluated ten times. If it fails one time, it fails overall. Points from closed challenges will not count on the site ranking (top250).

Input

Some challenges have input. You will get the content by using the constant named in the challenge description. The constant is not a constant, which means that it contain a new value every time. The constant will always have a scalar type. i.e no arrays, objects etc. You are not to set the constant yourself, we set it for you.

Output

Newlines: Don't use <br> as newlines. Use linefeed (\n)! Trimming: We trim the result of the submitted code and the servers code. Challenges may have different forms of trimming to prevent exploits, but in most challenges we use full trim. (trim())

Challenge Types

Private challenges: No one can see others submissions. There is no end date. Public challenges: Everyone can see others submissions. On new submissions the code must be smaller then previous attempts. The top250 list will not include submissions from public challenges. There is no end date. Protected challenges: Same as private, but it has an end date. After this endate the challenge will be closed and submissions will be shown as public.

Charset

To get the points right, we advise you to use ISO-8859-1 or Windows-1251 in your text editor.

PHP

The php binary will only have core functions, no custom extensions is available (PECL, PEAR). Some core functions is disabled for security reasons on all challenges. Particular challenges has disabled functions to not make it too easy. Your script will not have internet access when being run. The code can not generate any warnings from the PHP interpreter itself. You can assume that the environment is correctly set up when your code is invoked.

Server Settings

OS = Linux (Ubuntu 10.10 32bit) PHP version: 5.3.3-phpGolf short_tags = On precision = 12 allow_url_fopen = Off max_input_time = 2 max_execution_time = 8 magic_quotes_gpc = Off memory_limit = 1M error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

How does it work?

New submissions are stored in a database. There they wait for the validation script to catch them and execute tests to see if they pass or fail. The submissions is compared to a script which outputs valid result for each challenge. The site depends on ~12000 lines of PHP and a little Bash and JavaScript.

Contributors

dsolstad PHP, Design
AlecTBM PHP, Bash
JWvdVeer Optimizing SQL queries
Wim General support
hildenae Hosting, Server admin
bakkerl Providing phpgolf.nl and phpgolf.eu
dpryo Creating the logo

Donators

10 EUR Jan-Hendrik Willms (tleilax)

Donate