I hope most of you know your project e-maxx-eng. If you heard about it the first time: there is this really awesome Russian website (link) about algorithms used in competitive programming by e-maxx. e-maxx-eng is a community project that translates the material, so that competitive coder from all around the world can read and learn from the incredible useful and detailed source. Currently we have a pretty good and huge number of articles about algorithms, data structure, their implementation, lots of applications and general useful tips.
Here's a quick updates on what we achieved in the last year:
- There are translations available to over 100 articles (about 71% of all articles). Last year it was only about 45%.
- We published a couple of original articles (e.g. about the Sqrt Tree, Convex hull trick and Li Chao tree, or about the stars and bars theorem).
- We purchased a dedicated domain: http://cp-algorithms.com/
- We added test cases (hidden), which test the code snippets in some articles for errors. This helped finding quite a few bugs.
- We have increased the number of readers by a lot. Especially in the last few months we had more than 500 users each day, according to Google Analytics.
A huge thanks to the other project admins RodionGork and Nickolas, and to the countless other helpers, who translated articles, written new articles, fixed bugs in the code, improved articles, reported bugs, ...
We are developing the website on Github. And as always, we are looking for new helpers, to translate more articles (there are still a bunch missing), create new articles, and improve the website in general.
To make it more interesting, we will join Hacktoberfest for the third year in a row. Hacktoberfest is a really great initiative by DigitalOcean. They will will send a free shirt to everybody who makes 5 or more pull requests during the month of October. So this is a perfect opportunity to join our project, help a little, and earn a free shirt. For this you have to register on their website and connect your Github account.
If you want to join, we prepared a page explaining how to contribute to the project, and how to make a pull-request on Github. Take a look here: link We also prepared a page where you can see the translation progress. It shows exactly which articles still need a translation, and which ones are already translated.
We use Markdown, Latex (for mathematical formulas) and Git/Github for development. Markdown and Git are very simple technologies, that everybody has to know if he ever wants to work in IT. And Latex is also taught at any technical university. So you don't have to learn any new difficult technologies, that you can't use in other projects or in your job.
You don't talk Russian? No problem, I also understand not a single article without the help of a translator. Luckily there are really good automatically translators, that you can use. Google translate and Yandex translate work pretty good. They are not perfect (e.g. Google translate might say top instead of vertex), but from the context it is always clear what the correct translation should be.
So what exactly are the task that you can help us with? We are pretty much open for everything:
- Translate an article. Here you can see the list of all articles that still need a translation. Here are some short and simple articles, which might be suited for beginners:
The factorial N! modulo P Finding the largest zero submatrix Finding rank of a matrix Integration by Simpson's formula
- Covering segments
Check if point inside polygon Segment intersection Eulerian path Joseph's Problem Find maximum subsegment
- Theory Spraga Grande. Nim (I'll accept incomplete translations, the article is long...)
- Finding the equation of the straight line to cut
- The centers of gravity of polygons and polyhedra
- inverse SSSP problem
- inverse MST
- The Tree Stern-Brocot. A Number Farea
- Write a new article. There are still many topics that are not covered. For instance:
- Binary search
- Easy/advanced DP techniques
- Improve articles:
- Fix bugs in code snippets.
- Reword sections that are hard to understand
- Fix spelling or grammatical errors.
- Create helpful images and add them to an article.
- Add practice problems to articles.
- Design a new template for the website. I don't like the current design, it looks pretty old and outdated. Maybe somebody is talented and creates a complete new look.
- Current template can be found here
So if you want to help (and earn a free shirt :-P), join our project and start with a task. If at any time you need help during some task, have questions about the project, or just want to talk, write me a message. I'm happy to help with anything related to the project.