<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">What I would suggest is separating the axolotl bits from mnesia/gen_fsm bits. Your library needlessly imposes an architecture on the user. <div class=""><div class=""><br class=""></div><div class="">Sergej</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 24 Nov 2015, at 19:18, Frans Schneider <<a href="mailto:schneider@xs4all.nl" class="">schneider@xs4all.nl</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
  

    <meta http-equiv="content-type" content="text/html; charset=utf-8" class="">
  
  <div text="#000000" bgcolor="#FFFFFF" class="">
    Dear list,<br class="">
    <br class="">
    I've been learning Erlang in my spare-time for some time now and
    would love some feedback on a project I recently started. Since I
    have no coworkers or other people to get feedback from, maybe
    somebody on this list could have a quick look. <br class="">
    The things I find particular difficult is defining a proper API, to
    decide what goes into a new process or is done in the calling
    process and dealing with errors. I have no formal training as a
    programmer which may be the reason I have trouble to get these
    things right.<br class="">
    <br class="">
    The project I took [1] was to implement the Axolotl ratcheting
    protocol from Open Whisper Systems [2]. The protocol [3] itself
    didn't look very difficult, but since there are no proper specs for
    the total system, I used the libaxolotl-java implementation as a
    starting pont [4]. Reading the Java code probably was the hardest
    part of the whole project.<br class="">
    <br class="">
    I think I covered most of the functionality of the libaxolotl-java
    library. I haven't verified interoperability between my
    implementation and libaxolotl-java since that would require me to
    start coding in Java which is not something I am looking forward to.<br class="">
    Comparing my Erlang code with the original Java code, I needed far
    less lines of code and, I think, the code is much easier to
    understand. Also, building and deploying the code seems much
    simpler. <br class="">
    <br class="">
    So, any comments are most welcome.<br class="">
    <br class="">
    Thanks,<br class="">
    <br class="">
    Frans<br class="">
    <br class="">
    [1] <a class="moz-txt-link-freetext" href="https://github.com/schnef/axolotl">https://github.com/schnef/axolotl</a><br class="">
    [2] <a class="moz-txt-link-freetext" href="https://www.whispersystems.org/">https://www.whispersystems.org/</a><br class="">
    [3] <a class="moz-txt-link-freetext" href="https://github.com/trevp/axolotl/wiki">https://github.com/trevp/axolotl/wiki</a><br class="">
    [4] <a class="moz-txt-link-freetext" href="https://github.com/WhisperSystems/libaxolotl-java">https://github.com/WhisperSystems/libaxolotl-java</a><br class="">
    Nice implementation <a class="moz-txt-link-freetext" href="https://github.com/rxcomm/pyaxo">https://github.com/rxcomm/pyaxo</a><br class="">
    <meta http-equiv="content-type" content="text/html; charset=utf-8" class="">
  </div>

_______________________________________________<br class="">erlang-questions mailing list<br class=""><a href="mailto:erlang-questions@erlang.org" class="">erlang-questions@erlang.org</a><br class="">http://erlang.org/mailman/listinfo/erlang-questions<br class=""></div></blockquote></div><br class=""></div></div></body></html>