[tor-dev] GSoC 2017 - unMessage: a privacy enhanced instant messenger

Felipe Dau dau at riseup.net
Tue Mar 28 22:38:24 UTC 2017

On Tue, Mar 28, 2017 at 09:43:12PM +0000, dawuud wrote:
> Hey,
> Cool project.


> Yes... write unit tests with pytest. Sounds good but I would
> suggest writing tests earlier in the development process next time.

I completely agree (and I feel bad for that).

> Does your project have a specification for this software?
> Otherwise I have to read the code to learn how it works.

I would not call that a specification, but we have written a few
pages of documentation. I totally forgot to add these references to
the post. There are currently usage instructions for the GUI [0] and
the CLI [1], and also its protocol [2]. The latter basically tells how
conversations are established and how the packets look like. That's
what we have written so far... That does not tell everything about
the app, but a very important part of it. Are there any specific
aspects you would like to see? I will start writing a bit about its

> Using automat for the fsm sounds like a great idea. You probably
> will end up making several finite state machines and connecting them
> together in a graph. If you end up doing that you should probably first
> draw a picture... it helps to clarify.
> I've recently started to experiment with automat myself and I've heard
> good things about it from my associates.
> also you could add :
> - hypothesis tests (fuzzing/property based tests)
> https://hypothesis.readthedocs.io/
> - changes to setup.py and add a requirements.txt
> - use python attrs to eliminate boiler plate code in your classes
> https://attrs.readthedocs.io/
> as an example here's my fork of sphinx, a mixnet crypto library with
> 100% unit test coverage, hypothesis fuzzing, usage of attrs and a
> proper setup.py and requirements.txt file:
> https://github.com/applied-mixnetworks/sphinxmixcrypto

Thanks! Those are great ideas! Very interesting!

> I'd be interested in collaborating with you and mentoring this project.

Thanks for the interest! From your suggestions, I believe the project
would be more "developer centered" and I think that is the right way
to go. The earlier we do that, the less we are going to regret when
things start to grow and get more complex. That is also a great
improvement to prevent bugs which can harm the UX as well as
anonymity/privacy/security. Do you think that's the approach we should
use for this proposal then? I am asking that because I do not know if
people would expect more features than "just" code improvements for a
project, if that makes sense.

> I'm not sure how much time I'll have in the coming months... we'll see.

Well, let me know if there is anything I can do about that.

Thanks David!

[0]: https://unmessage.readthedocs.io/en/latest/gui/gui.html
[1]: https://unmessage.readthedocs.io/en/latest/cli/cli.html
[2]: https://unmessage.readthedocs.io/en/latest/protocol.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: Digital signature
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20170328/b2253518/attachment.sig>

More information about the tor-dev mailing list