]> mj.ucw.cz Git - moe.git/commitdiff
Doc: Rewritten the project home page
authorMartin Mares <mj@ucw.cz>
Thu, 15 Jul 2010 21:45:56 +0000 (23:45 +0200)
committerMartin Mares <mj@ucw.cz>
Thu, 15 Jul 2010 21:45:56 +0000 (23:45 +0200)
doc/index.html
doc/mo-eval.css [deleted file]
doc/moe.css [new file with mode: 0644]

index af12b3e647567a44e63fdf2b81897981770ec6ba..2083c13c8a19620df48b878c4e2b9480e1ab7eb3 100644 (file)
@@ -3,7 +3,7 @@
 <html><head>
 <title>The Moe Contest Environment</title>
 <link rev=made href="mailto:mj@ucw.cz">
-<link rel=stylesheet title=Default href="mo-eval.css" type="text/css" media=all>
+<link rel=stylesheet title=Default href="moe.css" type="text/css" media=all>
 </head><body>
 
 <h1>The Moe Contest Environment</h1>
@@ -18,39 +18,62 @@ which is then automatically tested on a set of test inputs.
 of a particular contest, to other types of tasks, or other programming languages.
 
 <p>A brief description of the system and of the ideas behind it can be found in the following two papers
-published in <a href="http://www.i-journals.org/olympiads_in_informatics/">Olympiads in Informatics</a>:
+published in <a href="http://www.mii.lt/olympiads_in_informatics/">Olympiads in Informatics</a>:
 
 <ul>
-<li><a href="http://mj.ucw.cz/papers/eval.pdf">Perspectives on automatic grading systems</a>
+<li><a href="http://mj.ucw.cz/papers/eval.pdf">Perspectives on grading systems</a>
 <li><a href="http://mj.ucw.cz/papers/eval2.pdf">Moe &ndash; Design of a Modular Grading System</a>
 </ul>
 
-<h2>Contests</h2>
-
-<p>Moe (or some of its modules) are used at the following contests:
-
-<ul>
-<li><a href="http://mo.mff.cuni.cz/p/index.html.en">Czech Olympiad in programming</a> since 2002
-<li><a href="http://mo.mff.cuni.cz/cpspc/">CPSPC</a> (Czech-Polish-Slovak Preparation Camp) on some years
-<li><a href="http://www.fi.muni.cz/ceoi/">CEOI 2007</a> (Central-European Olympiad in Informatics)
-<li><a href="http://www.ioi2009.org/">IOI 2009<a> (used the sandbox module)
-<li><a href="http://codex2.ms.mff.cuni.cz/project/">CodEx</a> (a web-based system, originally
-       designed for evaluation of students' homeworks, but also used for several programming
-       contests)
-</ul>
+<h2>Modules</h2>
+
+<table class=modules>
+<tr><th>module
+    <th>description
+    <th>status
+<tr><td>sandbox
+    <td>Runs the contestant's solution in a controlled and secure environment,
+       limiting its execution time, memory consumption and system calls.
+    <td class=statedone>works
+<tr><td>judges
+    <td>A set of utilities for comparing the solution's output with the correct
+       answer at a given level of strictness.
+    <td class=statedone>works
+<tr><td>evaluator<br>(a.k.a. grader)
+    <td>This module controls the whole process of grading the solution. It runs
+       the compilers, the sandbox and the judges as described in configuration
+       files.
+    <td class=statedone>works
+<tr><td>evaluator v2
+    <td>We have decided to rewrite the evaluator from scratch in Python for greater
+       flexibility. It will however need some more time to finish.
+    <td class=statewip>in progress
+<tr><td>queue manager
+    <td>Distributes grading between a cluster of computers, each of them running
+       the evaluator.
+    <td class=statepart>works, but needs revision
+<tr><td>submitter
+    <td>Handles submitting of solutions by contestants and passing them to the
+       evaluation system. Contains a server daemon and a front-end for contestants.
+       (If your contest uses a web-based contestant interface, you probably do not
+       need this, although it can serve as a clean interface between your web services
+       and the evaluator.)
+    <td class=statepart>works, but needs revision
+</table>
 
 <h2>Download</h2>
 
 <p>Moe is still under heavy development, so the best way to obtain the latest
 version is directly from our <a href="http://git.or.cz/">Git</a> repository at git://git.ucw.cz/eval.git.
 The master branch of the repository is kept in a stable state, new development
-is done on other branches and then merged to the master.
+is done on other branches and then merged to the master. You can also <a href="http://www.ucw.cz/gitweb/?p=moe.git;a=summary">browse
+the repository online</a>.
 
-<p>We also occasionally publish snapshot tarballs in our <a href="ftp://ftp.ucw.cz/pub/mj/eval/">FTP archive</a>.
+<p>We occasionally publish snapshot tarballs in our <a href="ftp://ftp.ucw.cz/pub/mj/eval/">FTP archive</a>.
 
 <h2>Documentation</h2>
 
-<p>Warning: Most parts of this documentation are outdated. Please consult the papers above
+<p><span class="statewip">Warning:</span> Most parts of this documentation are outdated. Please consult the papers above
 to get a more up-to-date picture.
 
 <ul>
@@ -61,28 +84,57 @@ to get a more up-to-date picture.
 <li><a href="public.html">Utilities for contestants</a>
 </ul>
 
+<h2>Contests</h2>
+
+<p>Moe (or some of its modules) are used at the following contests:
+
+<ul>
+<li><a href="http://mo.mff.cuni.cz/p/index.html.en">Czech Olympiad in programming</a> since 2002
+<li><a href="http://mo.mff.cuni.cz/cpspc/">CPSPC</a> (Czech-Polish-Slovak Preparation Camp) on some years
+<li><a href="http://www.fi.muni.cz/ceoi/">CEOI 2007</a> (Central-European Olympiad in Informatics)
+<li><a href="http://www.ioi2009.org/">IOI 2009<a> (used the sandbox module)
+<li><a href="http://codex2.ms.mff.cuni.cz/project/">CodEx</a> (a web-based system, originally
+       designed for evaluation of students' homeworks, but also used for several programming
+       contests)
+</ul>
+
+<h2>Languages</h2>
+
+<p>Moe is known to work with these programming languages:
+
+<ul>
+<li>Pascal (<a href="http://www.freepascal.org">Free Pascal Compiler</a>)
+<li>C and C++ (<a href="http://gcc.gnu.org/">GCC</a>)
+<li>C# (<a href="http://www.mono-project.com/">Mono</a> with some hacks)
+<li>Haskell (<a href="http://www.haskell.org/ghc/">GHC</a>)
+</ul>
+
+<p>Adding a new language should be easy, as long as the language behaves in a sane
+way (e.g., if it does not need to use a zillion threads for a trivial program
+as Java does).
+
 <h2>Portability</h2>
 
-<p>The environment runs under Linux on the i386 architecture. We currently use
-a slightly modified installation of <a href="http://www.debian.org/">Debian
-GNU/Linux</a>, but it will happily work with any other Linux distribution with
-a 2.6 or newer kernel. The only dependecies on Linux and on i386 are in the
-sandbox module; porting to other architectures requires just minor changes,
-porting to other UNIX systems is probably hard. Outside of that, everything
-should run happily on almost any system providing a reasonable set of GNU
-utilities (especially bash) and Perl, possibly including MinGW or Cygwin on
-Windows.
+<p>Moe is developed and tested on Linux, but all modules except the sandbox should
+happily work on any UNIX-like system providing a reasonable set of GNU
+utilities (especially bash) and Perl. This probably includes MinGW or Cygwin
+on Windows, but we have not tested that.
+
+<p>The sandbox heavily depends on the target OS. The current version works
+only on Linux with kernel version 2.6 or newer and only on the i386 and amd64
+architectures. Porting to other architectures should require only minor changes,
+porting to other systems is likely to be hard.
 
 <h2>Authors</h2>
 
 <p>Moe has been written by the following people:
 
 <ul>
-<li><a href="http://mj.ucw.cz/">Martin Mares</a>
-<li>Tomas Gavenciak (the queue manager module)
+<li><a href="http://mj.ucw.cz/">Martin Mare&scaron;</a>, <a href="mailto:mj@ucw.cz">mj@ucw.cz</a>
+<li>Tom&aacute;&scaron; Gaven&#269;iak (the queue manager module and parts of the new evaluator)
 </ul>
 
-<p>We are also thankful to Jan Kara and Milan Straka for their help and for
+<p>We are also thankful to Jan K&aacute;ra and Milan Straka for their help and for
 many fine ideas.
 
 <h2>License</h2>
@@ -92,6 +144,8 @@ href="http://www.gnu.org/copyleft/gpl.html">GNU General Public License version 2
 
 <h2>Feedback</h2>
 
-<p>All bug reports, suggestions and patches are welcome. Please mail them to <a href="mailto:mj@ucw.cz">mj@ucw.cz</a>.
+<p>All bug reports, suggestions and patches are welcome. Please mail them to our mailing
+list <a href="mailto:moe@ucw.cz">moe@ucw.cz</a>. You can <a href="http://www.ucw.cz/mailman/listinfo/moe">ask
+the list server</a> to subscribe to this list.
 
 </body></html>
diff --git a/doc/mo-eval.css b/doc/mo-eval.css
deleted file mode 100644 (file)
index ba129ac..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-BODY {
-       background-color: #e2d4a5;
-       color: #202000;
-}
-:link {
-       color: #0030a0;
-       text-decoration: none;
-}
-:visited {
-       color: #631782;
-       text-decoration: none;
-}
-A[href]:hover {
-       background-color: #e2c461;
-}
-
-
-H1 {
-       display: block;
-       font-size: 207.36%;
-       font-weight: bold;
-       margin: 0.67em 0 0.67em;
-       text-align: center;
-}
-
-H2 {
-       display: block;
-       font-size: 144%;
-       font-weight: bold;
-       margin: 1em 0 0.67em;
-       text-align: left;
-}
diff --git a/doc/moe.css b/doc/moe.css
new file mode 100644 (file)
index 0000000..733bfdb
--- /dev/null
@@ -0,0 +1,68 @@
+/* Basic layout */
+
+BODY {
+       background-color: #e2d4a5;
+       color: #202000;
+}
+
+:link {
+       color: #0030a0;
+       text-decoration: none;
+}
+
+:visited {
+       color: #631782;
+       text-decoration: none;
+}
+
+A[href]:hover {
+       background-color: #e2c461;
+}
+
+
+H1 {
+       display: block;
+       font-size: 207.36%;
+       font-weight: bold;
+       margin: 0.67em 0 0.67em;
+       text-align: center;
+}
+
+H2 {
+       display: block;
+       font-size: 144%;
+       font-weight: bold;
+       margin: 1em 0 0.67em;
+       text-align: left;
+}
+
+/* List of modules */
+
+TABLE.modules {
+       border-collapse: collapse;
+       border: 1px solid black;
+}
+
+TABLE.modules TR TD {
+       padding: 0.2em 0.5em;
+       border: 1px solid black;
+}
+
+TABLE.modules TR TH {
+       padding: 0.2em 0.5em;
+       border: 1px solid black;
+       font-style: italic;
+       font-weight: bold;
+}
+
+.statedone {
+       color: green;
+}
+
+.statepart {
+       color: #dd33dd;
+}
+
+.statewip {
+       color: #dd3333;
+}