Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/logseq/clojurescript-unraveled
An open source book about ClojureScript
https://github.com/logseq/clojurescript-unraveled
Many grammar/punctuation changes.
8cec3293f2203bf26021af70b3fde9571322a06b authored over 9 years ago by J David Eisenberg <[email protected]>
8cec3293f2203bf26021af70b3fde9571322a06b authored over 9 years ago by J David Eisenberg <[email protected]>
Update language.adoc
editing up to collection types
ef44025159c4ad4a67148ea5a144479d21c8198d authored over 9 years ago by Tyler Anderson <[email protected]>
Update language.adoc
editing up to the loops section
3ef3079951234af9f5e3b7eb12326dba0f83bd08 authored over 9 years ago by Tyler Anderson <[email protected]>
Update language.adoc
changing limited to limiting
51d163931a492248cbfe60a37f68f19c0d7d3ded authored over 9 years ago by Tyler Anderson <[email protected]>
Update language.adoc
edited up to condp for spelling, grammar, and wording
009ba087a9e65a63bb23be2c72062c38f253e310 authored over 9 years ago by Tyler Anderson <[email protected]>
Update language.adoc
spelling, grammar, rewording of the vars section and first half of the introduction to functions
b1d131dd7609112b74b88f7c5b17ea8a917fb4d8 authored over 9 years ago by Tyler Anderson <[email protected]>
Update language.adoc
rewording the list, vector, and maps introduction
d61a308ef7a851e35cef5b609f523c62415108a0 authored over 9 years ago by Tyler Anderson <[email protected]>
Merge pull request #6 from Tyler-Anderson/master
Started editing for spelling, wording, and readability
47e484d02ac224fe2afeae27552e19d49e1d2043 authored over 9 years ago by Aλ <[email protected]>
editing for wording and spelling
I'm editing here for wording, spelling, and readability. If these edits are acceptable I will co...
58883ded045a2f8839df1ff72c2e77fee8eec8d2 authored over 9 years ago by Tyler Anderson <[email protected]>
Merge pull request #5 from FungusHumungus/master
Corrected some grammar
9d3adf995b4ef45a58d65dd0f549f18c35fca8a0 authored over 9 years ago by Andrey Antukh <[email protected]>
Update index.adoc
spelling and wording
2c047fe80c9597ea68efd9b23ab588b3bdc5ee31 authored over 9 years ago by Tyler Anderson <[email protected]>
Corrected some grammar
49e0d7267d9b2d561fb77d67a1bfb3ddbcd14d5f authored over 9 years ago by FungusHumungus <[email protected]>
49e0d7267d9b2d561fb77d67a1bfb3ddbcd14d5f authored over 9 years ago by FungusHumungus <[email protected]>
Update index.adoc
b75eb32f67b27e2812cb1a04cf9da1f4276e2603 authored over 9 years ago by Tyler Anderson <[email protected]>
b75eb32f67b27e2812cb1a04cf9da1f4276e2603 authored over 9 years ago by Tyler Anderson <[email protected]>
Merge pull request #4 from ccharles/master
Edit Philosophy section for readability
0bf9137f6a2483a5cbf413ee1740f8c2ae88b571 authored over 9 years ago by Andrey Antukh <[email protected]>
Edit Philosophy section for readability
d448ffda82b18cdc992de7373dd6ec307cfb76a3 authored over 9 years ago by Chris Charles <[email protected]>
d448ffda82b18cdc992de7373dd6ec307cfb76a3 authored over 9 years ago by Chris Charles <[email protected]>
Fix typo.
e8114b5b5cfa9c315ec1b14e6a019abcd18d653f authored over 9 years ago by Andrey Antukh <[email protected]>
e8114b5b5cfa9c315ec1b14e6a019abcd18d653f authored over 9 years ago by Andrey Antukh <[email protected]>
Deploy to gh-pages 'make github'
12a39e189eb953a74e7285b6d513c59e25b56f16 authored over 9 years ago by Alejandro Gómez <[email protected]>
12a39e189eb953a74e7285b6d513c59e25b56f16 authored over 9 years ago by Alejandro Gómez <[email protected]>
Add description
0ec50fade10a6ceb406a4257c54754000f4e1988 authored over 9 years ago by Alejandro Gómez <[email protected]>
0ec50fade10a6ceb406a4257c54754000f4e1988 authored over 9 years ago by Alejandro Gómez <[email protected]>
Add additional asciidoctor attributes.
c0de9c76f3789dfc070db13ccfbd9864b465d2f1 authored over 9 years ago by Andrey Antukh <[email protected]>
c0de9c76f3789dfc070db13ccfbd9864b465d2f1 authored over 9 years ago by Andrey Antukh <[email protected]>
Minor fix.
bbe3782e80285520ebde9a8ec65d9deaa0b0463c authored over 9 years ago by Andrey Antukh <[email protected]>
bbe3782e80285520ebde9a8ec65d9deaa0b0463c authored over 9 years ago by Andrey Antukh <[email protected]>
Add LICENSE.txt and README.md
4f63897cc2c53e6e5b74024600143c8f39a93bc1 authored over 9 years ago by Andrey Antukh <[email protected]>
4f63897cc2c53e6e5b74024600143c8f39a93bc1 authored over 9 years ago by Andrey Antukh <[email protected]>
Fix an other typo.
13dbe38d97de40892c791000c474566d3af7f321 authored over 9 years ago by Andrey Antukh <[email protected]>
13dbe38d97de40892c791000c474566d3af7f321 authored over 9 years ago by Andrey Antukh <[email protected]>
Remove wrong text.
97c71d2aad510738ca4c78fa999c57aca589f9e4 authored over 9 years ago by Andrey Antukh <[email protected]>
97c71d2aad510738ca4c78fa999c57aca589f9e4 authored over 9 years ago by Andrey Antukh <[email protected]>
Other minor fixes and typos.
583f8f05b039886a65827f2748f733de8abfa976 authored over 9 years ago by Andrey Antukh <[email protected]>
583f8f05b039886a65827f2748f733de8abfa976 authored over 9 years ago by Andrey Antukh <[email protected]>
Cosmetic changes.
09c711ac95767ca73d1d216a6f2ed17db647e545 authored over 9 years ago by Andrey Antukh <[email protected]>
09c711ac95767ca73d1d216a6f2ed17db647e545 authored over 9 years ago by Andrey Antukh <[email protected]>
Add optimization level section
f042efde8b7794b88b1b2aac23070ccefb545ad7 authored over 9 years ago by Andrey Antukh <[email protected]>
f042efde8b7794b88b1b2aac23070ccefb545ad7 authored over 9 years ago by Andrey Antukh <[email protected]>
Add Transducer chapter TODO
5e503feeb4b972ac8e2edfd265603425d041bc23 authored over 9 years ago by Alejandro Gómez <[email protected]>
5e503feeb4b972ac8e2edfd265603425d041bc23 authored over 9 years ago by Alejandro Gómez <[email protected]>
Draft section of vectors
89ad0fe8eb163109c89b7b423e3d5f1ed63f2c9a authored over 9 years ago by Alejandro Gómez <[email protected]>
89ad0fe8eb163109c89b7b423e3d5f1ed63f2c9a authored over 9 years ago by Alejandro Gómez <[email protected]>
Lists and random access
fdc1c12176bfc6a87aab874afb4b75fd206be73e authored over 9 years ago by Alejandro Gómez <[email protected]>
fdc1c12176bfc6a87aab874afb4b75fd206be73e authored over 9 years ago by Alejandro Gómez <[email protected]>
Write section about lists
04074fed8cda1ee2240b48717ff5995608b4087b authored over 9 years ago by Alejandro Gómez <[email protected]>
04074fed8cda1ee2240b48717ff5995608b4087b authored over 9 years ago by Alejandro Gómez <[email protected]>
Add watch process section.
631dd1a5c323148ee3e46957e1f0a238ecc9ff06 authored over 9 years ago by Andrey Antukh <[email protected]>
631dd1a5c323148ee3e46957e1f0a238ecc9ff06 authored over 9 years ago by Andrey Antukh <[email protected]>
Add section about compiling for the browser.
b7bd44fd421680d7fcfba421ee6eccb3ab488bd6 authored over 9 years ago by Andrey Antukh <[email protected]>
b7bd44fd421680d7fcfba421ee6eccb3ab488bd6 authored over 9 years ago by Andrey Antukh <[email protected]>
Restructure a little bit the compiler chapter text.
692ee18c4ca6a30129157d23d777f9309a2589f5 authored over 9 years ago by Andrey Antukh <[email protected]>
692ee18c4ca6a30129157d23d777f9309a2589f5 authored over 9 years ago by Andrey Antukh <[email protected]>
Start writting the compiler related chapter.
65f10a1b2587efbf3c029d82017426fee82f0ee7 authored over 9 years ago by Andrey Antukh <[email protected]>
65f10a1b2587efbf3c029d82017426fee82f0ee7 authored over 9 years ago by Andrey Antukh <[email protected]>
Remove now useless agenda on language chapter.
7245f6103d08a2ed8505ce0685c35c046c572d5d authored over 9 years ago by Andrey Antukh <[email protected]>
7245f6103d08a2ed8505ce0685c35c046c572d5d authored over 9 years ago by Andrey Antukh <[email protected]>
Add thruthiness little chapter.
f1855bae4f226144e698859d68316123310cacdd authored over 9 years ago by Andrey Antukh <[email protected]>
f1855bae4f226144e698859d68316123310cacdd authored over 9 years ago by Andrey Antukh <[email protected]>
Add more content to host interoperability chapter.
8b76fec6dd06eb5031a67c19e8443884a908d2ad authored over 9 years ago by Andrey Antukh <[email protected]>
8b76fec6dd06eb5031a67c19e8443884a908d2ad authored over 9 years ago by Andrey Antukh <[email protected]>
Improved the style of the generated html.
7b63c01e7d50673e37ab5d554676a8f674a7e08a authored over 9 years ago by Andrey Antukh <[email protected]>
7b63c01e7d50673e37ab5d554676a8f674a7e08a authored over 9 years ago by Andrey Antukh <[email protected]>
Add interoperability chapter.
f8507ed11c2c5949ba52f2eead1f61376f0641eb authored over 9 years ago by Andrey Antukh <[email protected]>
f8507ed11c2c5949ba52f2eead1f61376f0641eb authored over 9 years ago by Andrey Antukh <[email protected]>
Add hierarchies and multimethods.
1795dcf4d7ac74a805179a70d6a69e7ce392e4ed authored over 9 years ago by Andrey Antukh <[email protected]>
1795dcf4d7ac74a805179a70d6a69e7ce392e4ed authored over 9 years ago by Andrey Antukh <[email protected]>
Continuing work on abstractions and protocols.
afb3d49ef1737b2d823ebea576bc95f289e4f4c8 authored over 9 years ago by Andrey Antukh <[email protected]>
afb3d49ef1737b2d823ebea576bc95f289e4f4c8 authored over 9 years ago by Andrey Antukh <[email protected]>
Add playground with java8 nashorn js environment.
efd2f7fdff60d4a46f36a624ed6e0c8438589e43 authored over 9 years ago by Andrey Antukh <[email protected]>
efd2f7fdff60d4a46f36a624ed6e0c8438589e43 authored over 9 years ago by Andrey Antukh <[email protected]>
Document a few common collection operations
e4e2e5798040cd895ae8cb4a0f4cfb5e7ca2baaa authored over 9 years ago by Alejandro Gómez <[email protected]>
e4e2e5798040cd895ae8cb4a0f4cfb5e7ca2baaa authored over 9 years ago by Alejandro Gómez <[email protected]>
Distinguish between printed values and returned values in examples
012e62195053275c9983d752026b3d4142fff01e authored over 9 years ago by Alejandro Gómez <[email protected]>
012e62195053275c9983d752026b3d4142fff01e authored over 9 years ago by Alejandro Gómez <[email protected]>
Start working on sequences chapter
4127252e757e5e9bede3fa3a577fa5f9baa09c80 authored over 9 years ago by Alejandro Gómez <[email protected]>
4127252e757e5e9bede3fa3a577fa5f9baa09c80 authored over 9 years ago by Alejandro Gómez <[email protected]>
Add missing automatic git submodules initialization and refresh.
8edc1c3d77d640983aef1e5b9be1785b5a843ed2 authored over 9 years ago by Andrey Antukh <[email protected]>
8edc1c3d77d640983aef1e5b9be1785b5a843ed2 authored over 9 years ago by Andrey Antukh <[email protected]>
Update makefile for build pdf.
068fe77f936910672b0fd61ebab174fdc35d97ee authored over 9 years ago by Andrey Antukh <[email protected]>
068fe77f936910672b0fd61ebab174fdc35d97ee authored over 9 years ago by Andrey Antukh <[email protected]>
Update submodules uri.
42574dff9173781efea751f0dc63bbcfa4098453 authored over 9 years ago by Andrey Antukh <[email protected]>
42574dff9173781efea751f0dc63bbcfa4098453 authored over 9 years ago by Andrey Antukh <[email protected]>
Start work on abstractions and polymorphism.
525ad4fdf75bf5c5cc6340691c052ee91c96836a authored over 9 years ago by Andrey Antukh <[email protected]>
525ad4fdf75bf5c5cc6340691c052ee91c96836a authored over 9 years ago by Andrey Antukh <[email protected]>
Add reify section.
34bcc65718dd350e99df748dc7de5705eb0e5f14 authored over 9 years ago by Andrey Antukh <[email protected]>
34bcc65718dd350e99df748dc7de5705eb0e5f14 authored over 9 years ago by Andrey Antukh <[email protected]>
Add more text to datatypes chapter.
be5b8d4911aca2dbb3159b46747c45df46b9f64a authored over 9 years ago by Andrey Antukh <[email protected]>
be5b8d4911aca2dbb3159b46747c45df46b9f64a authored over 9 years ago by Andrey Antukh <[email protected]>
Initial work on data types (incomplete).
fb248fb12f9dbd7b520e81ad9f750dfa268fa6b1 authored over 9 years ago by Andrey Antukh <[email protected]>
fb248fb12f9dbd7b520e81ad9f750dfa268fa6b1 authored over 9 years ago by Andrey Antukh <[email protected]>
Add missing sections.
472d171204c85ac9199039bec72a68892d42d25a authored over 9 years ago by Andrey Antukh <[email protected]>
472d171204c85ac9199039bec72a68892d42d25a authored over 9 years ago by Andrey Antukh <[email protected]>
Minor change on the index.
4ed6c699f828297770b5fbc6969df69151068515 authored over 9 years ago by Andrey Antukh <[email protected]>
4ed6c699f828297770b5fbc6969df69151068515 authored over 9 years ago by Andrey Antukh <[email protected]>
Add namespaces section.
03b2b6e79dc06169d4a62b16095028cc8a52e338 authored over 9 years ago by Andrey Antukh <[email protected]>
03b2b6e79dc06169d4a62b16095028cc8a52e338 authored over 9 years ago by Andrey Antukh <[email protected]>
Add whitespace separation on chapter/section titles.
e1d10f17402c1890db55577dd936a2f88e4d63aa authored over 9 years ago by Andrey Antukh <[email protected]>
e1d10f17402c1890db55577dd936a2f88e4d63aa authored over 9 years ago by Andrey Antukh <[email protected]>
Collections in depth after explaining the sequence abstraction
b3e9817c04e98e765ad3b8b9ab23872d83599867 authored over 9 years ago by Alejandro Gómez <[email protected]>
b3e9817c04e98e765ad3b8b9ab23872d83599867 authored over 9 years ago by Alejandro Gómez <[email protected]>
Immutable & Persistent
2884ad46f7016bcf02ef7ada64924a6411cc0370 authored over 9 years ago by Alejandro Gómez <[email protected]>
2884ad46f7016bcf02ef7ada64924a6411cc0370 authored over 9 years ago by Alejandro Gómez <[email protected]>
Add sections on state management & mutability
0d51c68e4f6dc550b95ed9c0ce7f3c8d9b1c02f2 authored over 9 years ago by Alejandro Gómez <[email protected]>
0d51c68e4f6dc550b95ed9c0ce7f3c8d9b1c02f2 authored over 9 years ago by Alejandro Gómez <[email protected]>
for and doseq
a6e389057bfae60ac44670cb7d165fec6d2d647b authored over 9 years ago by Alejandro Gómez <[email protected]>
a6e389057bfae60ac44670cb7d165fec6d2d647b authored over 9 years ago by Alejandro Gómez <[email protected]>
Replacing for loops with higher-order functions
314277a64f900b63da93920e3403e7ce2b4417db authored over 9 years ago by Alejandro Gómez <[email protected]>
314277a64f900b63da93920e3403e7ce2b4417db authored over 9 years ago by Alejandro Gómez <[email protected]>
Fix example
478f71959bf55d12d5740f06e48712a4811004ee authored over 9 years ago by Alejandro Gómez <[email protected]>
478f71959bf55d12d5740f06e48712a4811004ee authored over 9 years ago by Alejandro Gómez <[email protected]>
Explain loop/recur construct
e031b0f60c874cf5f5fc3a2c1c24bec2226b3b2c authored over 9 years ago by Alejandro Gómez <[email protected]>
e031b0f60c874cf5f5fc3a2c1c24bec2226b3b2c authored over 9 years ago by Alejandro Gómez <[email protected]>
Add flow control, locals, blocks and improvements to function sections.
b97cc5ae0ba8e57591b2531190e7b7b2f5b42057 authored over 9 years ago by Andrey Antukh <[email protected]>
b97cc5ae0ba8e57591b2531190e7b7b2f5b42057 authored over 9 years ago by Andrey Antukh <[email protected]>
Add var and function sections.
a0b2a8221b3a82f6bca0c7fd92d3cb30aa6e8000 authored over 9 years ago by Andrey Antukh <[email protected]>
a0b2a8221b3a82f6bca0c7fd92d3cb30aa6e8000 authored over 9 years ago by Andrey Antukh <[email protected]>
Diving into Lisp syntax
8c2bbe54b6fa71de023e25b255f97806fc39f8c6 authored over 9 years ago by Alejandro Gómez <[email protected]>
8c2bbe54b6fa71de023e25b255f97806fc39f8c6 authored over 9 years ago by Alejandro Gómez <[email protected]>
Add structure to mixedbag chapter.
1be70ce5d146787e9bbc56f2089c8aaadea17480 authored almost 10 years ago by Andrey Antukh <[email protected]>
1be70ce5d146787e9bbc56f2089c8aaadea17480 authored almost 10 years ago by Andrey Antukh <[email protected]>
Add structure to compiler chapter.
4f62fe39d4cc5b3e530a0b7d8d29a13799a39354 authored almost 10 years ago by Andrey Antukh <[email protected]>
4f62fe39d4cc5b3e530a0b7d8d29a13799a39354 authored almost 10 years ago by Andrey Antukh <[email protected]>
Add missing inclues on index page.
2ff71d905cc29a5ba710fd956c80b432c419d709 authored almost 10 years ago by Andrey Antukh <[email protected]>
2ff71d905cc29a5ba710fd956c80b432c419d709 authored almost 10 years ago by Andrey Antukh <[email protected]>
Add list, vector, set and map collection sections.
786447d92f4db134cf4d8c83b5ac399e102dedba authored almost 10 years ago by Andrey Antukh <[email protected]>
786447d92f4db134cf4d8c83b5ac399e102dedba authored almost 10 years ago by Andrey Antukh <[email protected]>
Fix typo.
40d31a4c8b073cbaf9ad6b9c371b6813006e04be authored almost 10 years ago by Andrey Antukh <[email protected]>
40d31a4c8b073cbaf9ad6b9c371b6813006e04be authored almost 10 years ago by Andrey Antukh <[email protected]>
Add the rest of structure to language page.
35f4942374407a6d8bd304a0e99b78005de989f2 authored almost 10 years ago by Andrey Antukh <[email protected]>
35f4942374407a6d8bd304a0e99b78005de989f2 authored almost 10 years ago by Andrey Antukh <[email protected]>
Remove duplicate entry on index page.
1e37ecf0d6011e62136b1249dc27a8d640c7d4f2 authored almost 10 years ago by Andrey Antukh <[email protected]>
1e37ecf0d6011e62136b1249dc27a8d640c7d4f2 authored almost 10 years ago by Andrey Antukh <[email protected]>
Add collections section (structure only)
68a5bd6607f0f938988ba0f089c5c4a8f9c75c61 authored almost 10 years ago by Andrey Antukh <[email protected]>
68a5bd6607f0f938988ba0f089c5c4a8f9c75c61 authored almost 10 years ago by Andrey Antukh <[email protected]>
Add symbols section on language chapter.
c819a94d4679491270e6559002f579bdcc74f1e1 authored almost 10 years ago by Andrey Antukh <[email protected]>
c819a94d4679491270e6559002f579bdcc74f1e1 authored almost 10 years ago by Andrey Antukh <[email protected]>
Minor changes on the index page related to second chapter contents.
0c66b9f6773f3cc3686f660b94449fd306311cc7 authored almost 10 years ago by Andrey Antukh <[email protected]>
0c66b9f6773f3cc3686f660b94449fd306311cc7 authored almost 10 years ago by Andrey Antukh <[email protected]>
Add strings and characters sections.
065d0d44a6eed23ccd60782c787f098d4882831c authored almost 10 years ago by Andrey Antukh <[email protected]>
065d0d44a6eed23ccd60782c787f098d4882831c authored almost 10 years ago by Andrey Antukh <[email protected]>
Add philosophy.adoc.
b0b4215506c1d3ab81bbd3c1054841288d929256 authored almost 10 years ago by Andrey Antukh <[email protected]>
b0b4215506c1d3ab81bbd3c1054841288d929256 authored almost 10 years ago by Andrey Antukh <[email protected]>
Add numbers and keywords sections.
13448f5454ee07dc372b941d7feb2e31ecb62e15 authored almost 10 years ago by Andrey Antukh <[email protected]>
13448f5454ee07dc372b941d7feb2e31ecb62e15 authored almost 10 years ago by Andrey Antukh <[email protected]>
Add new main section to the index.adoc.
b0c56ea8469185e9ddabd6a2105d7869c8a531de authored almost 10 years ago by Andrey Antukh <[email protected]>
b0c56ea8469185e9ddabd6a2105d7869c8a531de authored almost 10 years ago by Andrey Antukh <[email protected]>
Minor fix on stylesheet related to code block styles.
4a95ffe884fe1cd20e1a60c59caa76f2910672d1 authored almost 10 years ago by Andrey Antukh <[email protected]>
4a95ffe884fe1cd20e1a60c59caa76f2910672d1 authored almost 10 years ago by Andrey Antukh <[email protected]>
Add section about macros
103cabeb2004e46e6fd77ba23f747855b8fdcfb6 authored almost 10 years ago by Alejandro Gómez <[email protected]>
103cabeb2004e46e6fd77ba23f747855b8fdcfb6 authored almost 10 years ago by Alejandro Gómez <[email protected]>
A section on syntax and random grammar fixes
226b1fc3a3ade46a93ab8e81f5ff21e08a8b24d4 authored almost 10 years ago by Alejandro Gómez <[email protected]>
226b1fc3a3ade46a93ab8e81f5ff21e08a8b24d4 authored almost 10 years ago by Alejandro Gómez <[email protected]>
Set more catchy title
2fb545299f3ce696398d438b73bf9efb3f146048 authored almost 10 years ago by Alejandro Gómez <[email protected]>
2fb545299f3ce696398d438b73bf9efb3f146048 authored almost 10 years ago by Alejandro Gómez <[email protected]>
Add .gitignore file.
e4e10a2e5940726fd83251952490ecabd1b8132d authored almost 10 years ago by Andrey Antukh <[email protected]>
e4e10a2e5940726fd83251952490ecabd1b8132d authored almost 10 years ago by Andrey Antukh <[email protected]>
Minor changes.
b8cdff0fe72c04228ccae4741bc50edf525b0fd0 authored almost 10 years ago by Andrey Antukh <[email protected]>
b8cdff0fe72c04228ccae4741bc50edf525b0fd0 authored almost 10 years ago by Andrey Antukh <[email protected]>
Add first texts.
966ca1afe9d90ace67872dff2d82633ea037d40a authored almost 10 years ago by Andrey Antukh <[email protected]>
966ca1afe9d90ace67872dff2d82633ea037d40a authored almost 10 years ago by Andrey Antukh <[email protected]>
Add embedded xsl styles.
a266e4882890270e5b0da0e502429c8319e81f40 authored almost 10 years ago by Andrey Antukh <[email protected]>
a266e4882890270e5b0da0e502429c8319e81f40 authored almost 10 years ago by Andrey Antukh <[email protected]>
Add fopub submodule.
b7ec781095011f42da6ef4f57013b7f05fb42dd6 authored almost 10 years ago by Andrey Antukh <[email protected]>
b7ec781095011f42da6ef4f57013b7f05fb42dd6 authored almost 10 years ago by Andrey Antukh <[email protected]>