
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