[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