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

Mateusz Kowalczyk fuuzetsu at fuuzetsu.co.uk
Sat Nov 8 11:31:24 UTC 2014


On 11/07/2014 06:40 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
> 

I'd love to snatch a helper for something but I think most of what one
would consider ‘serious’ projects would take a bit more than 20 hours:
I'd welcome some patches for Yi, Haddock or even some dabbling in GHC's
lexer/parser if you have an ambitious student who wants to get involved
further ;). Alas, that's probably not the kind of scope you're after.

For something a bit easier, I can suggest two projects which offer
multiple sub-projects:

* [1] is a front-end to tesseract[2] OCR software. Possible work
involves improving the interface (hey, I'm a programmer not a
designer…), adding features such as on-the-fly translation through Bing
or another service (this seems like a nice little project, you end up
with a lib to talk to the service even if they don't get to integrate
it), add support for history (probably not enough for a project by
itself) or if the student is more ambitious, automatic region detection
as boasted by the (proprietary) software KanjiTomo[3]. So there's
talking to the service, messing around with a GUI (gtk2hs) or work with
images/pattern recognition (I can only help with Haskell side here). The
plus side is that the existing code is pretty primitive if they choose
to do something with the GUI, no 7-layer deep monad transformers.

* free-game[4] is a game library but it is pretty small in what it
offers: you get some basic stuff but it's not a full-blown suite. A
project could involve writing useful libraries around it, I could come
up with some specifics if there's interest. I can't offer help with
hacking on free-game itself but I wouldn't mind overseeing any libs that
spawn around it.

* EDIT just before sending: For a while now I have quite an annoyance
with criterion; it produces those pretty HTML + JS graphs you can
mouse-over and stuff, right? The problem is that they are absolutely
useless to the point of hanging your browser if you have more than a few
benchmarks on the page. I think a nice project would be developing a
reporting package with ‘diagrams’ or something which takes Criterion's
output (CSV) and spits outs images we can actually inspect. This seems
like something a student can get on with pretty easily and take it as
far as they wish while having practical value at the same time.


I wish I could offer more ideas but it's hard to come up with something
that will fit into 20 hours including getting the feel for things and
that might be interesting to the student, have some value to the rest of
us and doesn't feel like an exercise. I am a big fan of ‘learn by
actually hacking stuff’ approach, just not in such a (relatively) small
timescale ;).

I don't mind overseeing someone if they happen to pick anything I
mentioned here (with the exception of GHC itself) or something that
interests me. I don't mind volunteering as ‘overseer’ for some other
project if the student is willing and is likely to join the community
for longer.

[1]: https://github.com/Fuuzetsu/tsuntsun
[2]: http://code.google.com/p/tesseract-ocr/
[3]: http://kanjitomo.net/
[4]: http://hackage.haskell.org/package/free-game

-- 
Mateusz K.


More information about the Haskell-Cafe mailing list