<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12px"><div id="yui_3_16_0_1_1445301084858_2934">What storage engine we would use if I was powering it via erlang?  </div><div dir="ltr" id="yui_3_16_0_1_1445301084858_2933">Would the dev costs be lower? Would the OPEX be lower? </div><div dir="ltr" id="yui_3_16_0_1_1445301084858_2933"><br></div><div dir="ltr" id="yui_3_16_0_1_1445301084858_2933">github dot com / ornicar / lila<br></div><div dir="ltr" id="yui_3_16_0_1_1445301084858_2933">-------------------------</div><div style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif; font-size: 16px; line-height: 20.48px;" id="yui_3_16_0_1_1445301084858_2988" class="">It's a free online chess game focused on <a href="http://lichess.org/games" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_2990" class="">realtime</a> and ease of use</div><div style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif; font-size: 16px; line-height: 20.48px;" id="yui_3_16_0_1_1445301084858_2992" class="">It has a <a href="http://lichess.org/games/search" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_2994" class="">search engine</a>, <a href="http://lichess.org/analyse/ief49lif" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_2996" class="">computer analysis</a>, <a href="http://lichess.org/tournament" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_2998" class="">tournaments</a>, <a href="http://lichess.org/simul" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3000" class="">simuls</a>, <a href="http://lichess.org/forum" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3002" class="">forums</a>, <a href="http://lichess.org/team" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3004" class="">teams</a>, <a href="http://lichess.org/training" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3006" class="">tactic trainer</a>, <a href="http://lichess.org/training/opening" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3008" class="">opening trainer</a>, a <a href="http://lichess.org/mobile" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3010" class="">mobile app</a>, a <a href="http://lichess.org/monitor" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3012" class="">monitoring console</a>, and a <a href="http://lichess.org/network" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3014" class="">network world map</a>. The UI is available in <a href="http://lichess.org/translation/contribute" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3016" class="">80 languages</a> thanks to the community.</div><div style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif; font-size: 16px; line-height: 20.48px;" id="yui_3_16_0_1_1445301084858_3018" class="">Lichess is written in <a href="http://www.scala-lang.org/" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3020" class="">Scala 2.11</a>, and relies on <a href="http://www.playframework.com/" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3022" class="">Play 2.3</a> for the routing, templating, and JSON. Pure chess logic is contained in <a href="http://github.com/ornicar/scalachess" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3024" class="">scalachess</a> submodule. The codebase is fully asynchronous, making heavy use of Scala Futures and <a href="http://akka.io/" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3026" class="">Akka 2 actors</a>. Lichess talks to <a href="http://stockfishchess.org/" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3028" class="">Stockfish</a> deployed in an AI cluster of donated servers. It uses <a href="http://mongodb.org/" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3030" class="">MongoDB 2.6</a> to store more than 68 million games, which are indexed by<a href="http://elasticsearch.org/" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3032" class="">elasticsearch</a>. HTTP requests and websocket connections are proxied by <a href="http://nginx.org/" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3034" class="">nginx 1.6</a>. Client-side is written in <a href="http://lhorie.github.io/mithril/" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3036" class="">mithril.js</a>. The <a href="http://lichess.org/blog" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3038" class="">blog</a> uses a free open content plan from <a href="http://prismic.io/" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3040" class="">prismic.io</a>.</div><div style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif; font-size: 16px; line-height: 20.48px;" dir="ltr" id="yui_3_16_0_1_1445301084858_3042" class="">Join us on #lichess IRC channel on freenode for more info. Use <a href="https://github.com/ornicar/lila/issues" style="box-sizing: border-box; color: rgb(64, 120, 192); text-decoration: none;" id="yui_3_16_0_1_1445301084858_3044" class="">github issues</a> for bug reports and feature requests.</div><div style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif; font-size: 16px; line-height: 20.48px;" dir="ltr" id="yui_3_16_0_1_1445301084858_3042" class="">----------------------</div><div dir="ltr" id="yui_3_16_0_1_1445301084858_2931"><br></div><div dir="ltr" id="yui_3_16_0_1_1445301084858_2875"><a href="https://github.com/ornicar/lila" id="yui_3_16_0_1_1445301084858_2873">ornicar/lila</a> <br></div><div style="width:450px; font-family: 'Georgia', 'Times', 'Times New Roman', 'serif';margin-top:5px; margin-bottom: 5px; background-color: #ffffff;" contenteditable="false" id="enhancrCard_0" class="link-enhancr-attachment link-enhancr-element richcompose-card"><table class="link-enhancr-element" cellspacing="0" cellpadding="0" border="0" style="width:450px; height:170px; position: relative; display: block;" id="yui_3_16_0_1_1445301084858_2899"><tbody id="yui_3_16_0_1_1445301084858_2898"><tr class="link-enhancr-element" id="yui_3_16_0_1_1445301084858_2926"><td class="link-enhancr-element" colspan="8" style="height: 1px; background-color: #e5e5e5; font-size: 1px; border-collapse: collapse;" id="yui_3_16_0_1_1445301084858_2925"><div class="link-enhancr-element" style="height: 1px; background-color: #e5e5e5; font-size: 1px; line-height:0px;" id="yui_3_16_0_1_1445301084858_2924"> </div></td></tr><tr class="link-enhancr-element" id="yui_3_16_0_1_1445301084858_2913"><td rowspan="5" class="link-enhancr-element" style="width: 1px; background-color: #e5e5e5; font-size: 1pt; border-collapse: collapse;"><div class="link-enhancr-element" style="width: 1px; background-color: #e5e5e5; font-size: 1pt;"> </div></td><td class="link-enhancr-element link-enhancr-image-wrap enhancr-image-crop" rowspan="5" style="vertical-align: middle; width: 168px; height: 168px; border-collapse: collapse; background-color: rgb(255, 255, 255);" id="yui_3_16_0_1_1445301084858_2917"><div class="link-enhancr-element" style="width: 168px;" align="center" id="yui_3_16_0_1_1445301084858_2916"><a href="https://github.com/ornicar/lila" class="link-enhancr-card-urlWrapper link-enhancr-element" style="text-decoration: none !important;text-decoration:none; color: #000000 !important;" id="yui_3_16_0_1_1445301084858_2915"><img alt="image" src="https://s.yimg.com/vv//api/res/1.2/E0gx56OmESy.VOLbS0qhwA--/YXBwaWQ9bWFpbDtmaT1maWxsO2g9MTY4O3B5b2ZmPTA7dz0xNjg-/https://avatars1.githubusercontent.com/u/140370?v=3&s=400.cf.jpg" class="link-enhancr-thumbnail-image link-enhancr-element yahoo-ignore-inline-image" width="168" height="168" style="display: block; margin: auto;" id="yui_3_16_0_1_1445301084858_2914" data-id="2d59f3e5-76df-50eb-27ae-b70799ecddc2"></a></div></td><td rowspan="5" class="link-enhancr-element" style="width: 1px; background-color: #e5e5e5; font-size: 0pt; border-collapse: collapse;" id="yui_3_16_0_1_1445301084858_3257"><div class="link-enhancr-element" style="width: 1px; background-color: #e5e5e5; font-size: 1pt;"> </div></td><td rowspan="5" class="link-enhancr-element" style="width: 14px; background-color: #ffffff; font-size: 0pt; border-collapse: collapse;" id="yui_3_16_0_1_1445301084858_2912"><div class="link-enhancr-element" style="width: 14px; background-color: #ffffff; font-size: 14pt;" id="yui_3_16_0_1_1445301084858_3306"> </div></td><td colspan="2" class="link-enhancr-element" style="height: 6px; background-color: #ffffff; font-size: 0pt; border-collapse: collapse;" id="yui_3_16_0_1_1445301084858_2955"><div class="link-enhancr-element" style="height: 6px; background-color: #ffffff; font-size: 6pt;" id="yui_3_16_0_1_1445301084858_2954"> </div></td><td rowspan="5" class="link-enhancr-element" style="width: 20px; background-color: #ffffff; font-size: 0pt; border-collapse: collapse;"><div class="link-enhancr-element" style="width: 20px; background-color: #ffffff; font-size: 20pt;"> </div></td><td class="link-enhancr-element" rowspan="5" width="1" style="width: 1px; background-color: #e5e5e5; font-size: 1pt; border-collapse: collapse;"><div class="link-enhancr-element" style="width: 1px; background-color: #e5e5e5; font-size: 1pt;"> </div></td></tr><tr id="yui_3_16_0_1_1445301084858_2911"><td class="link-enhancr-element" colspan="2" style="width: 100%; vertical-align: middle; font-family: 'Georgia', 'Times', 'Times New Roman', 'serif';" id="yui_3_16_0_1_1445301084858_2910"><div class="link-enhancr-text-part link-enhancr-element" style="line-height:16.5px; background-color: #ffffff; height: 135px; width: 245px;" id="yui_3_16_0_1_1445301084858_2909"><div class="link-enhancr-element" style="word-wrap: break-word; word-break: break-all;" id="yui_3_16_0_1_1445301084858_2951"><span class="link-enhancr-element icon  icon-shrink link-enhancr-toggle"></span><span class="link-enhancr-element icon icon-close link-enhancr-delete"></span><a href="https://github.com/ornicar/lila" class="link-enhancr-card-urlWrapper link-enhancr-element" style="text-decoration: none !important;text-decoration:none; color: #000000 !important; line-height: 100%; font-size: 18px; display: block;" id="yui_3_16_0_1_1445301084858_2950"><span class="link-enhancr-element link-enhancr-card-title" style="margin: 0; font-weight: normal;margin-bottom: 3px; font-size: 18px; line-height: 21px; max-height: 43px; color: #000000; overflow: hidden !important; display: inline-block;" id="yui_3_16_0_1_1445301084858_2953">ornicar/lila</span></a><div style="font-size: 13px; line-height: 20px; color: #999999; max-height: 81px; font-family: 'Georgia', 'Times', 'Times New Roman', 'serif';overflow: hidden;" class="link-enhancr-card-description link-enhancr-element" id="yui_3_16_0_1_1445301084858_2952">lila - The forever free, adless and open source chess server.</div></div></div></td></tr><tr id="yui_3_16_0_1_1445301084858_2908"><td colspan="2" class="link-enhancr-element" style="height: 4px; background-color: #ffffff; font-size: 0pt; border-collapse: collapse;" id="yui_3_16_0_1_1445301084858_2907"><div class="link-enhancr-element" style="height: 4px; background-color: #ffffff; font-size: 4pt;" id="yui_3_16_0_1_1445301084858_2906"></div></td></tr><tr id="yui_3_16_0_1_1445301084858_2903"><td class="link-enhancr-element" style="vertical-align: middle; font-family: 'Arial', 'Helvetica Neue', 'Helvetica', 'sans-serif';" id="yui_3_16_0_1_1445301084858_2902"><div class="link-enhancr-element" style="font-size: 0pt;" id="yui_3_16_0_1_1445301084858_2901"><a href="https://github.com/ornicar/lila" class="link-enhancr-card-url link-enhancr-element" style="color: black; text-decoration: none !important;text-decoration:none;cursor:pointer !important;" target="_blank" id="yui_3_16_0_1_1445301084858_2900"><span class="link-enhancr-element link-enhancr-view-on" style="display: inline-block; line-height: 11px; max-width: 145px; min-width: 85px; overflow: hidden; max-height: 13px; word-break: break-all;" id="yui_3_16_0_1_1445301084858_2891"><span class="link-enhancr-element link-enhancr-mobile-no-resize" style="vertical-align:middle; font-size: 9px; line-height: 11px; color: #999999; -moz-text-size-adjust: none; -ms-text-size-adjust: none; -webkit-text-size-adjust:none; text-size-adjust:none;" id="yui_3_16_0_1_1445301084858_2905">View on <span style="font-weight: bold" class="link-enhancr-view-on-domain" id="yui_3_16_0_1_1445301084858_2904">github.com</span></span></span></a></div></td><td class="link-enhancr-element" style="vertical-align: middle; width: 100px; font-family: 'Arial', 'Helvetica Neue', 'Helvetica', 'sans-serif';" id="yui_3_16_0_1_1445301084858_3159"><div class="link-enhancr-element link-enhancr-preview-wrapper" style="max-width: 100px; min-width: 80px; overflow: hidden; text-align: right; line-height: 11px; max-height: 13px; font-size: 0pt;" id="yui_3_16_0_1_1445301084858_3158"><span class="link-enhancr-element link-enhancr-preview-by link-enhancr-mobile-no-resize" style="vertical-align:middle; font-size: 9px; line-height: 11px; color: #999999; -moz-text-size-adjust: none; -ms-text-size-adjust: none; -webkit-text-size-adjust:none; text-size-adjust:none;" id="yui_3_16_0_1_1445301084858_3157">Preview by Yahoo</span></div></td></tr><tr id="yui_3_16_0_1_1445301084858_2897"><td colspan="2" class="link-enhancr-element" style="height: 9px; background-color: #ffffff; font-size: 0pt; border-collapse: collapse;" id="yui_3_16_0_1_1445301084858_2896"><div class="link-enhancr-element" style="height: 9px; background-color: #ffffff; font-size: 9pt;" id="yui_3_16_0_1_1445301084858_2895"></div></td></tr><tr class="link-enhancr-element" id="yui_3_16_0_1_1445301084858_2930"><td class="link-enhancr-element" colspan="8" style="height: 1px; background-color: #e5e5e5; font-size: 1px; border-collapse: collapse;" id="yui_3_16_0_1_1445301084858_2929"><div class="link-enhancr-element" style="height: 1px; background-color: #e5e5e5; font-size: 1px; line-height:0px" id="yui_3_16_0_1_1445301084858_2928"> </div></td></tr></tbody></table></div><div id="yui_3_16_0_1_1445301084858_2875"><br></div></div></body></html>