CANCELLED DUE TO LACK OF DEMAND --Mf 11:33, 8 May 2012 (UTC)
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.
If you are affiliated with a University or a company that can offer facilities, please let us know!
- Matthias Fischmann (- - Mf 11:39, 27 April 2012 (UTC)). Would like to hack a SPKI C-binding and high-level PKI API.
- Sönke Hahn (--Shahn 12:13, 30 April 2012 (UTC)). I would like to attend, but I'm not sure I'll manage.
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.
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.
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.
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.
Play with adhocracy, liquid feedback, ...
These are tools to help organize participatory and open political processes.
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.
Cyclic Module Imports
Cyclic module imports are possible by manually providing .hs-boot files. I think that cyclic module imports without the need for manual work would improve programming in the large. This ticket in the ghc trac suggests that someone has to come up with a sound design for this. I propose to discuss this during HkHac. (--Shahn 12:24, 30 April 2012 (UTC))