[Haskell-cafe] open-source project looking for novice help?

Ernesto Rodriguez neto at netowork.me
Thu Nov 13 10:07:14 UTC 2014


Hi Richard Eisenberg,

Sorry for the late reply, but I just read this. I am not sure how 
important/big of a project you search for, but I a couple of tools (for my own 
use atm) that I develop as open-source in Haskell and would be great if they 
could be made more usable for the public and eventually create a Hackage 
package.

One that might be good for a introductory FP course project is 
Cryptographer[1]. It's objective is to encrypt data in html files so you can 
publicly share those files but only ppl with the password can see the contents. 
The nice thing is that you can send one of those files to anyone since it's 
html so all you need is a browser to open it. Anyways, in my wishlist (and 
future steps) for this tool I have the following:

 * When appending data to an encrypted file, add checks to ensure the provided 
decryption key is correct (currently, if you give a wrong key it simply 
decrypts gibberish and appends your content to it)

* Add support for data other than text. Ie. embed images and files by 
encrypting the base64 encoding of it's bits.

* I use it primarily for passwords, so would be nice to add some tools for 
them. In particular, it would be nice if the encrypted file could contain 
buttons which one can click to copy passwords into clipboard. Also if it could 
have a setTimeout() somewhere so the file gets encrypted again after some time 
automatically.

* Add more ciphers. Currently I encrypt data using TwoFish. I use it bc I like 
the cipher but also because since I use GHCJS to generate the html file that 
performs decryption, the cipher must be written 100% in Haskell (or do some 
ffi's to an external js library). I used to support BlowFish as well but I 
removed it since the cipher is not 100% secure.

* A UI (both html and desktop) would be nice. Even if encryption could be done 
100% on a HTML UI would also be advanced. But in order for appending to work 
over the net, code has to be added so files are retrieved via Ajax (not wget as 
I currently do it :P).

* Improve the command line interface. I use my own experimental extension of 
CmdArgs for the command line (which I wrote only to try GHC Generics out). An 
ambitious student could consider improving that tool [2] or simply using 
standard cmdargs for the command line arguments.

The most `advanced` library I use in the project is Pipes which is easy to 
gasp and a lot of the code is pure code (ie. encryption algorithms, generating 
html, ect) so that makes things simple as well. 

Hope to hear from you and best regards,

Ernesto Rodriguez
Master's Student
Utrecht University

[1] 

On Friday, November 07, 2014 01:40:00 PM Richard Eisenberg wrote:
> I'm teaching an introductory Haskell course this semester
> (http://cis.upenn.edu/~cis194/fall14/) and am about to assign students
> their final project. Is there anyone out there who would welcome getting
> some novice help on an open-source project? You certainly don't need to
> commit to accept their patch(es), but I know it would be a great experience
> for some of the students to contribute to the "real" world of Haskell,
> instead of just doing exercises. You can get an accurate summary of what
> we've covered by looking at the lecture titles at
> http://cis.upenn.edu/~cis194/fall14/lectures.html
> 
> Students will be choosing projects starting next week, and will need to have
> them completed by Dec. 15 or so. A good project is about 20 hours of work.
> 
> Thanks!
> Richard



More information about the Haskell-Cafe mailing list