The purpose of Haskell hackathons traditionally is at least twofold: Code base improvement and community building. I am currently more interested in the second one, and looking forward to find out how far we can get with the first. --Mf 08:46, 30 April 2012 (UTC)
If you want to participate, please add yourself in the People section below. If you have questions, please contact Matthias (mail: mf zerobuzz net, phone: +852 9582 5172).
All dates still tentative. Please vote or suggest alternatives:
May 11-13 May 25-27
I will be in HK until May 31, but of course I am not necessary for the event to be a success. - - Mf 11:39, 27 April 2012 (UTC) :)
We are still looking for a location. More on this soon.
- Matthias (- - Mf 11:39, 27 April 2012 (UTC)). Would like to hack a SPKI C-binding and high-level PKI API.
I have more than enough ideas for projects, but please everybody propose your own. I am more than happy to step back and do something you think is relevant. If you want to attend, please leave a note which projects you are most interested in.
5.1 Implement SPKI
Since SSL/TLS is notoriously convoluted and error prone (most recent evidence: http://lists.grok.org.uk/pipermail/full-disclosure/2012-April/086585.html), it may be time to make another effort to replace it. SPKI addresses many requirements that SSL/TLS does, but is much more concise and coherent.
- Overview: http://world.std.com/~cme/html/spki.html
- Standards: http://world.std.com/~cme/spki.txt, http://www.ietf.org/rfc/rfc2693.txt
- Algorithms: Distributed Credential Chain in Trust Management, Proceedings of the 8th ACM Conference on Computer and Communications Security (CCS-8), pages 156–165, ACM Press, November 2001.
The idea of this one is not so much to make something new, but to take something that is done in a language different from Haskell, and see how well it ports. This will not only give us a deeper understanding of both source and target language, but also make it more convenient to build applications in Haskell, and through interop testing will lead to better code in the original implementation as well.
Variants: Take one of the implementations and build a C binding. Design an abstract PKI API that can be used to manipulate both x509/SSL and SPKI credentials. Implement a mapping between x509/SSL and SPKI credentials.
5.2 Port ZooKeeper to Haskell
Zookeeper is the distributed key/value store used for synchronisation in Hadoop, but intended for a much larger application space. A lot of skill and effort has gone into the design, implementation and testing, and it solves problems that all distributed applications have. I like this project.
It would be totally hot if there was a Haskell implementation that could outperform the Apache Foundation's Java implementation. That is not a two-weekend project, but a ghc binding might be.
5.3 Implement Kademlia in Haskell
- Research paper explaining the algorithm: http://www.cs.rice.edu/Conferences/IPTPS02/109.pdf
- Python implementation: http://entangled.sourceforge.net/
Again: This could be done as a port, a binding, or a complete re-implementation.
5.4 Play with adhocracy, liquid feedback, ...
These are two projects I am curious about, but have not had to the time to look into. I know that one of them is running on adequate development resources, so if anybody is interested in this we could probably ask the project owners for challenges and chores.