<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>