Open-source projects for beginning Haskell students?

Hi everyone, I am currently teaching a half-credit introductory Haskell class for undergraduates. This is the third time I've taught it. Both of the previous times, for their final project I gave them the option of contributing to an open-source project; a couple groups/individuals took me up on it and I think it ended up being a modest success. So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet". If you have any such projects, I'd love to hear about it! Just send me a paragraph or so describing your project and explaining what task(s) you could use help with --- something that I could put on the course website for students to look at. Here are a few more details: * The students will be working on the projects from approximately the end of this month through the end of April. During the next two weeks they would be contacting you to discuss the possibility of working on your project. * By "relative beginner" I mean someone familiar with the material listed here: http://www.cis.upenn.edu/~cis194/lectures.html and just trying to come to terms with Applicative and Monad. They definitely do not know much if anything about optimization/profiling, GADTs, the mtl, or Haskell-programming-in-the-large. (Although part of the point of the project is to teach them a bit about programming-in-the-(medium/large)). * What I would hope from you is a willingness to exchange email and/or chat with the student(s) over the course of the project, to give them a bit of guidance/mentoring. I am certainly willing to help on that front, but of course I probably don't know much about your particular project. Thanks! -Brent

On Mon, Mar 11, 2013 at 8:48 AM, Brent Yorgey
Hi everyone,
I am currently teaching a half-credit introductory Haskell class for undergraduates. This is the third time I've taught it. Both of the previous times, for their final project I gave them the option of contributing to an open-source project; a couple groups/individuals took me up on it and I think it ended up being a modest success.
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
If you have any such projects, I'd love to hear about it! Just send me a paragraph or so describing your project and explaining what task(s) you could use help with --- something that I could put on the course website for students to look at.
Myself and several of my friends would find it useful to have a plotting library that we can use from ghci to quickly/easily visualize data. Especially if that data is part of a simulation we are toying with. Therefore, this proposal is for: A gnuplot-, matlab- or plotinum-like plotting API (that uses diagrams as the backend?). The things to emphasize: * Easy to install: No gtk2hs requirement. Preferably just pure haskell code and similar for any dependencies. Must be cross platform. * Frontend: graphs should be easy to construct; customizability is not as important * Backend: options for generating static images are nice, but for the use case we have in mind also being able to render in a window from ghci is very valuable. (this could imply something as purely rendering to JuicyPixels and I could write the rendering code)
* What I would hope from you is a willingness to exchange email and/or chat with the student(s) over the course of the project, to give them a bit of guidance/mentoring. I am certainly willing to help on that front, but of course I probably don't know much about your particular project.
I am willing/able to take on the mentoring aspect :) Jason

On Mar 11, 2013, at 11:26 AM, Jason Dagit wrote:
Myself and several of my friends would find it useful to have a plotting library that we can use from ghci to quickly/easily visualize data. Especially if that data is part of a simulation we are toying with. Therefore, this proposal is for: A gnuplot-, matlab- or plotinum-like plotting API (that uses diagrams as the backend?). The things to emphasize: * Easy to install: No gtk2hs requirement. Preferably just pure haskell code and similar for any dependencies. Must be cross platform. * Frontend: graphs should be easy to construct; customizability is not as important * Backend: options for generating static images are nice, but for the use case we have in mind also being able to render in a window from ghci is very valuable. (this could imply something as purely rendering to JuicyPixels and I could write the rendering code)
* What I would hope from you is a willingness to exchange email and/or chat with the student(s) over the course of the project, to give them a bit of guidance/mentoring. I am certainly willing to help on that front, but of course I probably don't know much about your particular project.
I am willing/able to take on the mentoring aspect :)
i second this, but with a different emphasis. i would like a ggplot2-type DSL for generating graphs, for data analysis and exploration. i agree with : * it would be great to have no gtk2hs / cairo requirement. (i guess this means text rendering in the diagrams-svg backend needs to be solved.) i guess in the near-term, this is less important to me -- having a proper plotting DSL at all is an important start. * frontend : graphs should be easy to construct, but having some flexibility is important. the application here is being able to explore statistical data, with slicing, grouping, highlighting, faceting, etc. * backend : static images are enough for me, interactive is a plus. most importantly : it should be fast enough to work pleasantly with large datasets. ggplot2 is pretty awesome but kills my machine, routinely. i would be willing to mentor, but i'm not an expert enough i think! best, ben

On Mon, Mar 11, 2013 at 11:50:38AM -0700, Ben wrote:
On Mar 11, 2013, at 11:26 AM, Jason Dagit wrote:
Myself and several of my friends would find it useful to have a plotting library that we can use from ghci to quickly/easily visualize data. Especially if that data is part of a simulation we are toying with. Therefore, this proposal is for: A gnuplot-, matlab- or plotinum-like plotting API (that uses diagrams as the backend?). The things to emphasize: * Easy to install: No gtk2hs requirement. Preferably just pure haskell code and similar for any dependencies. Must be cross platform. * Frontend: graphs should be easy to construct; customizability is not as important * Backend: options for generating static images are nice, but for the use case we have in mind also being able to render in a window from ghci is very valuable. (this could imply something as purely rendering to JuicyPixels and I could write the rendering code)
* What I would hope from you is a willingness to exchange email and/or chat with the student(s) over the course of the project, to give them a bit of guidance/mentoring. I am certainly willing to help on that front, but of course I probably don't know much about your particular project.
I am willing/able to take on the mentoring aspect :)
i second this, but with a different emphasis. i would like a ggplot2-type DSL for generating graphs, for data analysis and exploration. i agree with :
* it would be great to have no gtk2hs / cairo requirement. (i guess this means text rendering in the diagrams-svg backend needs to be solved.) i guess in the near-term, this is less important to me -- having a proper plotting DSL at all is an important start.
* frontend : graphs should be easy to construct, but having some flexibility is important. the application here is being able to explore statistical data, with slicing, grouping, highlighting, faceting, etc.
* backend : static images are enough for me, interactive is a plus. most importantly : it should be fast enough to work pleasantly with large datasets. ggplot2 is pretty awesome but kills my machine, routinely.
Not to throw cold water on these ideas (which sound fantastic!), but the scope of this sounds more like a GSoC project than something a beginner could accomplish in 10-15 hours in the space of a few weeks. I'm looking not for project ideas but for small, concrete contributions they could make to existing open source projects. -Brent

On Mon, Mar 11, 2013 at 1:09 PM, Brent Yorgey
On Mon, Mar 11, 2013 at 11:50:38AM -0700, Ben wrote:
On Mar 11, 2013, at 11:26 AM, Jason Dagit wrote:
Myself and several of my friends would find it useful to have a
* Easy to install: No gtk2hs requirement. Preferably just pure haskell code and similar for any dependencies. Must be cross platform. * Frontend: graphs should be easy to construct; customizability is not as important * Backend: options for generating static images are nice, but for
* What I would hope from you is a willingness to exchange email and/or chat with the student(s) over the course of the project, to give them a bit of guidance/mentoring. I am certainly willing to help on that front, but of course I probably don't know much about your particular project.
I am willing/able to take on the mentoring aspect :)
i second this, but with a different emphasis. i would like a ggplot2-type DSL for generating graphs, for data analysis and exploration. i agree with :
* it would be great to have no gtk2hs / cairo requirement. (i guess
plotting library that we can use from ghci to quickly/easily visualize data. Especially if that data is part of a simulation we are toying with. Therefore, this proposal is for: A gnuplot-, matlab- or plotinum-like plotting API (that uses diagrams as the backend?). The things to emphasize: the use case we have in mind also being able to render in a window from ghci is very valuable. (this could imply something as purely rendering to JuicyPixels and I could write the rendering code) this means text rendering in the diagrams-svg backend needs to be solved.) i guess in the near-term, this is less important to me -- having a proper plotting DSL at all is an important start.
* frontend : graphs should be easy to construct, but having some
flexibility is important. the application here is being able to explore statistical data, with slicing, grouping, highlighting, faceting, etc.
* backend : static images are enough for me, interactive is a plus.
most importantly : it should be fast enough to work pleasantly with large datasets. ggplot2 is pretty awesome but kills my machine, routinely.
Not to throw cold water on these ideas (which sound fantastic!), but the scope of this sounds more like a GSoC project than something a beginner could accomplish in 10-15 hours in the space of a few weeks. I'm looking not for project ideas but for small, concrete contributions they could make to existing open source projects.
Good point. Perhaps the project I mentioned could be broken up into suitable tasks? For example, if the students just worked on the frontend portion it would still be useful as a starting point for others. Jason

On 12/03/13 05:26, Jason Dagit wrote:
Myself and several of my friends would find it useful to have a plotting library that we can use from ghci to quickly/easily visualize data. Especially if that data is part of a simulation we are toying with. Therefore, this proposal is for: A gnuplot-, matlab- or plotinum-like plotting API (that uses diagrams as the backend?). The things to emphasize: * Easy to install: No gtk2hs requirement. Preferably just pure haskell code and similar for any dependencies. Must be cross platform. * Frontend: graphs should be easy to construct; customizability is not as important * Backend: options for generating static images are nice, but for the use case we have in mind also being able to render in a window from ghci is very valuable. (this could imply something as purely rendering to JuicyPixels and I could write the rendering code)
I maintain the Chart library: http://hackage.haskell.org/package/Chart I'd like to see it used more widely, but gtk/cairo seems to be a problem for many people. Is the cairo dependency the reason you are suggesting that an alternative plotting library be built? Is your problem with cairo the difficulty in setting it up on ms windows/osx? What graphics API would you suggest using to "render in a window from ghci"? If there were a good cross platform alternative to cairo, I'd happily target this additional 2D drawing API. However, I don't think there currently is one. Neither gloss nor the diagrams library currently have adequate text support. Tim

On 12 March 2013 22:46, Tim Docker
On 12/03/13 05:26, Jason Dagit wrote:
Myself and several of my friends would find it useful to have a plotting library that we can use from ghci to quickly/easily visualize data. Especially if that data is part of a simulation we are toying with. Therefore, this proposal is for: A gnuplot-, matlab- or plotinum-like plotting API (that uses diagrams as the backend?). The things to emphasize: * Easy to install: No gtk2hs requirement. Preferably just pure haskell code and similar for any dependencies. Must be cross platform. * Frontend: graphs should be easy to construct; customizability is not as important * Backend: options for generating static images are nice, but for the use case we have in mind also being able to render in a window from ghci is very valuable. (this could imply something as purely rendering to JuicyPixels and I could write the rendering code)
I maintain the Chart library:
http://hackage.haskell.org/package/Chart
I'd like to see it used more widely, but gtk/cairo seems to be a problem for many people.
Is the cairo dependency the reason you are suggesting that an alternative plotting library be built? Is your problem with cairo the difficulty in setting it up on ms windows/osx? What graphics API would you suggest using to "render in a window from ghci"?
If there were a good cross platform alternative to cairo, I'd happily target this additional 2D drawing API. However, I don't think there currently is one. Neither gloss nor the diagrams library currently have adequate text support.
This is probably a completely stupid and bonkers idea... but I wonder whether using Inkscape's ability to be able to export PDF or PS files that can be imported into LaTeX and let LaTeX deal with the text placement/rendering would work... Rather fiddly for just a "give me an image" library though :)
Tim
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com http://IvanMiljenovic.wordpress.com

On 03/11/2013 11:48 AM, Brent Yorgey wrote:
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
It's not exciting, but adding doctest suites with examples to existing packages would be a great help. * Good return on investment. * Not too hard. * The project is complete when you stop typing.

+ 1000,
there are so many widely used niche libs which would greatly benefit from
more examples in their test suites, or which have tractable small
improvement / enhancement tickets languishing. Plus most large systems
engineering does involve helping improve preexisting some part of the time.
On Mon, Mar 11, 2013 at 10:52 PM, Michael Orlitzky
On 03/11/2013 11:48 AM, Brent Yorgey wrote:
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
It's not exciting, but adding doctest suites with examples to existing packages would be a great help.
* Good return on investment.
* Not too hard.
* The project is complete when you stop typing.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I also support this suggestion. Although, do we have the build infrastructure for this?! Edward Excerpts from Michael Orlitzky's message of Mon Mar 11 19:52:12 -0700 2013:
On 03/11/2013 11:48 AM, Brent Yorgey wrote:
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
It's not exciting, but adding doctest suites with examples to existing packages would be a great help.
* Good return on investment.
* Not too hard.
* The project is complete when you stop typing.

There's the "doctest" package: http://hackage.haskell.org/package/doctest,
which looks pretty good and has a number of users (35 direct reverse deps).
It has support for cabal test integration, although I would like to see
better integration with other test tools. But that can be added in the
test executable I suppose.
My only quibble with this suggestion is that asking beginners to do this
sort of work may do more harm than good. It would certainly be helpful,
but I don't think most people would find it interesting.
On Tue, Mar 12, 2013 at 3:19 PM, Edward Z. Yang
I also support this suggestion. Although, do we have the build infrastructure for this?!
Edward
Excerpts from Michael Orlitzky's message of Mon Mar 11 19:52:12 -0700 2013:
On 03/11/2013 11:48 AM, Brent Yorgey wrote:
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
It's not exciting, but adding doctest suites with examples to existing packages would be a great help.
* Good return on investment.
* Not too hard.
* The project is complete when you stop typing.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On 13-03-11 10:52 PM, Michael Orlitzky wrote:
On 03/11/2013 11:48 AM, Brent Yorgey wrote:
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
It's not exciting, but adding doctest suites with examples to existing packages would be a great help.
* Good return on investment.
* Not too hard.
* The project is complete when you stop typing.
In the similar spirit, many existing projects would benefit from a benchmark suite. It's a fairly simple but somewhat tedious process, good for a team work practice: 1. Take a well-defined task, like parsing JSON for example. 2. Devise a test scenario that includes the task. 3. Make a list of all libraries on Hackage which (claim to) do the task. 4. Write a simple test for each of the libraries. 5. Combine all the tests into a Criterion test suite. 6. Publish the test suite and the benchmark results.

Question is: does the task even have to involve the the production of
Haskell code?
Is it possible that both the student and the community-at-large would
benefit further from expository-style artifacts?
Some possible activities:
(1) producing documentation for popular packages that cater to
different learning styles (e.g. styles: Little Schemer, RWH, LYAHFGG,
etc.)
(2) survey of the various approaches taken by similar packages,
explaining the different choices taken
(3) cheatsheets, whether of GHC extensions, packages, syntax, commonly
used functions, etc.
These don't have to be harder than they sound. Option (2) in
particular could be e.g. a table listing the type signatures of the
various Iteratee packages with regard to Iteratee, Enumerator, and
Enumeratee. Or how a four-line Unix cat is implemented across them.
It's been said that a good teacher doesn't cover material, he
/uncovers/ them, i.e. the few core ideas that underpin everything.
Well, Haskell is just this heap of everything that's pretty hard to dig under.
Failing which, the indefatigable teacher would do well showing how the
student can teach themselves.
-- Kim-Ee
On Mon, Mar 11, 2013 at 10:48 PM, Brent Yorgey
Hi everyone,
I am currently teaching a half-credit introductory Haskell class for undergraduates. This is the third time I've taught it. Both of the previous times, for their final project I gave them the option of contributing to an open-source project; a couple groups/individuals took me up on it and I think it ended up being a modest success.
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
If you have any such projects, I'd love to hear about it! Just send me a paragraph or so describing your project and explaining what task(s) you could use help with --- something that I could put on the course website for students to look at.
Here are a few more details:
* The students will be working on the projects from approximately the end of this month through the end of April. During the next two weeks they would be contacting you to discuss the possibility of working on your project.
* By "relative beginner" I mean someone familiar with the material listed here: http://www.cis.upenn.edu/~cis194/lectures.html and just trying to come to terms with Applicative and Monad. They definitely do not know much if anything about optimization/profiling, GADTs, the mtl, or Haskell-programming-in-the-large. (Although part of the point of the project is to teach them a bit about programming-in-the-(medium/large)).
* What I would hope from you is a willingness to exchange email and/or chat with the student(s) over the course of the project, to give them a bit of guidance/mentoring. I am certainly willing to help on that front, but of course I probably don't know much about your particular project.
Thanks! -Brent
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

2013/3/11 Brent Yorgey
Hi everyone,
I am currently teaching a half-credit introductory Haskell class for undergraduates. This is the third time I've taught it. Both of the previous times, for their final project I gave them the option of contributing to an open-source project; a couple groups/individuals took me up on it and I think it ended up being a modest success.
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
If you have any such projects, I'd love to hear about it! Just send me a paragraph or so describing your project and explaining what task(s) you could use help with --- something that I could put on the course website for students to look at.
Here are a few more details:
* The students will be working on the projects from approximately the end of this month through the end of April. During the next two weeks they would be contacting you to discuss the possibility of working on your project.
* By "relative beginner" I mean someone familiar with the material listed here: http://www.cis.upenn.edu/~cis194/lectures.html and just trying to come to terms with Applicative and Monad. They definitely do not know much if anything about optimization/profiling, GADTs, the mtl, or Haskell-programming-in-the-large. (Although part of the point of the project is to teach them a bit about programming-in-the-(medium/large)).
* What I would hope from you is a willingness to exchange email and/or chat with the student(s) over the course of the project, to give them a bit of guidance/mentoring. I am certainly willing to help on that front, but of course I probably don't know much about your particular project.
Maybe it is a too small project (and not a contribution to an existing project), but a Haskell wrapper around PostgreSQL setproctitle code would be nice (something similar exists in the Python world). Otherwise I have began some "infrastructure" projects on GitHub that are all pretty simple but could be damn useful: curved is meant to be a drop-in-replacement for graphite (it is almost the case), sentry is a process-monitoring tool, humming is a job queue on top of PostgreSQL, hlinode is a binding to the Linode API, ... They all have in common that they are small, self-contained, and quite often just massaging around rawSystem calls, database "execute" calls, or GET/POST calls. Thu

The problem with all of these suggestions is that they start from no code.
I believe Brent is looking for an *existing* project which needs
contributions. I assume so that beginning Haskellers can learn real code
style in the middle to large, and get input from existing community members.
Kris
On Tue, Mar 12, 2013 at 1:59 PM, Vo Minh Thu
2013/3/11 Brent Yorgey
: Hi everyone,
I am currently teaching a half-credit introductory Haskell class for undergraduates. This is the third time I've taught it. Both of the previous times, for their final project I gave them the option of contributing to an open-source project; a couple groups/individuals took me up on it and I think it ended up being a modest success.
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
If you have any such projects, I'd love to hear about it! Just send me a paragraph or so describing your project and explaining what task(s) you could use help with --- something that I could put on the course website for students to look at.
Here are a few more details:
* The students will be working on the projects from approximately the end of this month through the end of April. During the next two weeks they would be contacting you to discuss the possibility of working on your project.
* By "relative beginner" I mean someone familiar with the material listed here: http://www.cis.upenn.edu/~cis194/lectures.html and just trying to come to terms with Applicative and Monad. They definitely do not know much if anything about optimization/profiling, GADTs, the mtl, or Haskell-programming-in-the-large. (Although part of the point of the project is to teach them a bit about programming-in-the-(medium/large)).
* What I would hope from you is a willingness to exchange email and/or chat with the student(s) over the course of the project, to give them a bit of guidance/mentoring. I am certainly willing to help on that front, but of course I probably don't know much about your particular project.
Maybe it is a too small project (and not a contribution to an existing project), but a Haskell wrapper around PostgreSQL setproctitle code would be nice (something similar exists in the Python world).
Otherwise I have began some "infrastructure" projects on GitHub that are all pretty simple but could be damn useful: curved is meant to be a drop-in-replacement for graphite (it is almost the case), sentry is a process-monitoring tool, humming is a job queue on top of PostgreSQL, hlinode is a binding to the Linode API, ... They all have in common that they are small, self-contained, and quite often just massaging around rawSystem calls, database "execute" calls, or GET/POST calls.
Thu
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi Brent, hledger is an existing project whose purpose, code and installation process is relatively simple. I'm happy to do a bit of mentoring. If this sounds suitable, I can suggest some easy fixes or enhancements, eg: ...hmm. In fact nothing on my long wishlist[1][2] looks all that quick. They're kind of tricky, or require a fair bit of architectural knowledge, or they are unglamorous and boring. (I'd love to be proven wrong.) shelltestrunner[3] or rss2irc[4] are much smaller projects, but their backlogs are not all that pretty either. If any of these are of interest let me know and I can look harder for suitable jobs. -Simon [1] https://code.google.com/p/hledger/issues/list?can=2&q=&colspec=ID+Type+Status+Summary+Reporter+Opened+Stars&sort=&groupby=&mode=grid&y=Component&x=Status&cells=tiles&nobtn=Update [2] http://hub.darcs.net/simon/hledger/NOTES.org#2140 [3] http://hub.darcs.net/simon/shelltestrunner/browse/NOTES.org [4] http://hub.darcs.net/simon/shelltestrunner/browse/NOTES.org

[4] http://hub.darcs.net/simon/rss2irc/browse/NOTES.org On 3/12/13 2:13 PM, Simon Michael wrote:
Hi Brent,
hledger is an existing project whose purpose, code and installation process is relatively simple. I'm happy to do a bit of mentoring. If this sounds suitable, I can suggest some easy fixes or enhancements, eg:
...hmm. In fact nothing on my long wishlist[1][2] looks all that quick. They're kind of tricky, or require a fair bit of architectural knowledge, or they are unglamorous and boring. (I'd love to be proven wrong.)
shelltestrunner[3] or rss2irc[4] are much smaller projects, but their backlogs are not all that pretty either. If any of these are of interest let me know and I can look harder for suitable jobs.
-Simon
[2] http://hub.darcs.net/simon/hledger/NOTES.org#2140
[3] http://hub.darcs.net/simon/shelltestrunner/browse/NOTES.org
[4] http://hub.darcs.net/simon/shelltestrunner/browse/NOTES.org

Hi, Am Montag, den 11.03.2013, 11:48 -0400 schrieb Brent Yorgey:
If you have any such projects, I'd love to hear about it! Just send me a paragraph or so describing your project and explaining what task(s) you could use help with --- something that I could put on the course website for students to look at.
arbtt, the Automatic Rule-Based Time-Tracker could possibly be an sufficiently interesting application with lots of corners for improvement. Someone could for example try to generate graphs from it, or add other statistical analyses... but I guess you are interested in a better defined task? Some pointers: http://hackage.haskell.org/package/arbtt http://darcs.nomeata.de/arbtt/doc/users_guide/ https://www.joachim-breitner.de/blog/archives/336-The-Automatic-Rule-Based-T... https://lists.nomeata.de/mailman/listinfo/arbtt Greetings, Joachim -- Joachim "nomeata" Breitner Debian Developer nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

Hi,
My suggestion may sound a bit odd, but if they're looking for a challenging
but still simple enough project, I'd love for people to test out the new
version of hnn (not yet released, but on github [1]) and make something fun
with it. I'd love to mentor this and add things to the library altogether
as they progress and give some feedback. The biggest issue with that
proposal is that they either have to know a bit about neural networks
before or must be able to learn very quickly. This can however be
compensated by that warm feeling you have when your neural net finally does
what you want it to.
On Mon, Mar 11, 2013 at 4:48 PM, Brent Yorgey
Hi everyone,
I am currently teaching a half-credit introductory Haskell class for undergraduates. This is the third time I've taught it. Both of the previous times, for their final project I gave them the option of contributing to an open-source project; a couple groups/individuals took me up on it and I think it ended up being a modest success.
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
If you have any such projects, I'd love to hear about it! Just send me a paragraph or so describing your project and explaining what task(s) you could use help with --- something that I could put on the course website for students to look at.
Here are a few more details:
* The students will be working on the projects from approximately the end of this month through the end of April. During the next two weeks they would be contacting you to discuss the possibility of working on your project.
* By "relative beginner" I mean someone familiar with the material listed here: http://www.cis.upenn.edu/~cis194/lectures.html and just trying to come to terms with Applicative and Monad. They definitely do not know much if anything about optimization/profiling, GADTs, the mtl, or Haskell-programming-in-the-large. (Although part of the point of the project is to teach them a bit about programming-in-the-(medium/large)).
* What I would hope from you is a willingness to exchange email and/or chat with the student(s) over the course of the project, to give them a bit of guidance/mentoring. I am certainly willing to help on that front, but of course I probably don't know much about your particular project.
Thanks! -Brent
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Alp Mestanogullari

[1]: http://github.com/alpmestan/hnn
On Wed, Mar 13, 2013 at 1:03 AM, Alp Mestanogullari
Hi,
My suggestion may sound a bit odd, but if they're looking for a challenging but still simple enough project, I'd love for people to test out the new version of hnn (not yet released, but on github [1]) and make something fun with it. I'd love to mentor this and add things to the library altogether as they progress and give some feedback. The biggest issue with that proposal is that they either have to know a bit about neural networks before or must be able to learn very quickly. This can however be compensated by that warm feeling you have when your neural net finally does what you want it to.
On Mon, Mar 11, 2013 at 4:48 PM, Brent Yorgey
wrote: Hi everyone,
I am currently teaching a half-credit introductory Haskell class for undergraduates. This is the third time I've taught it. Both of the previous times, for their final project I gave them the option of contributing to an open-source project; a couple groups/individuals took me up on it and I think it ended up being a modest success.
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
If you have any such projects, I'd love to hear about it! Just send me a paragraph or so describing your project and explaining what task(s) you could use help with --- something that I could put on the course website for students to look at.
Here are a few more details:
* The students will be working on the projects from approximately the end of this month through the end of April. During the next two weeks they would be contacting you to discuss the possibility of working on your project.
* By "relative beginner" I mean someone familiar with the material listed here: http://www.cis.upenn.edu/~cis194/lectures.html and just trying to come to terms with Applicative and Monad. They definitely do not know much if anything about optimization/profiling, GADTs, the mtl, or Haskell-programming-in-the-large. (Although part of the point of the project is to teach them a bit about programming-in-the-(medium/large)).
* What I would hope from you is a willingness to exchange email and/or chat with the student(s) over the course of the project, to give them a bit of guidance/mentoring. I am certainly willing to help on that front, but of course I probably don't know much about your particular project.
Thanks! -Brent
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Alp Mestanogullari
-- Alp Mestanogullari

Dear Prof. Yorgey,
Not something very big, but if someone wants to get hands on working with
Parsec I started developing a library to work with motion capture (MoCap)
data. I need to parse MoCap data for my bachelor's thesis [1] so I decided
to do it in a way that might benefit others. On the other hand, I don't
need all the info in the file for my work and this project is not my
priority, so one of the students could extend the parser to parse the
sections of the file it currently ignores. Also more file types support
would be nice since I am only developing a parser for ASF/AMC files. The
project is very new, small and is located here:
https://github.com/netogallo/MoCap . I can give you more details of the
tasks that could be done (essentially creating a parser fore more sections
of the file, define ADTs to represent those sections, semantic validation
of files, better error messages, ect.) and I would be willing to exchange
e-mails and answer questions to students if necessary.
Best Regards,
Ernesto Rodriguez
[1] https://github.com/netogallo/LambdaNN
On Mon, Mar 11, 2013 at 4:48 PM, Brent Yorgey
Hi everyone,
I am currently teaching a half-credit introductory Haskell class for undergraduates. This is the third time I've taught it. Both of the previous times, for their final project I gave them the option of contributing to an open-source project; a couple groups/individuals took me up on it and I think it ended up being a modest success.
So I'd like to do it again this time around, and am looking for particular projects I can suggest to them. Do you have an open-source project with a few well-specified tasks that a relative beginner (see below) could reasonably make a contribution towards in the space of about four weeks? I'm aware that most tasks don't fit that profile, but even complex projects usually have a few "simple-ish" tasks that haven't yet been done just because "no one has gotten around to it yet".
If you have any such projects, I'd love to hear about it! Just send me a paragraph or so describing your project and explaining what task(s) you could use help with --- something that I could put on the course website for students to look at.
Here are a few more details:
* The students will be working on the projects from approximately the end of this month through the end of April. During the next two weeks they would be contacting you to discuss the possibility of working on your project.
* By "relative beginner" I mean someone familiar with the material listed here: http://www.cis.upenn.edu/~cis194/lectures.html and just trying to come to terms with Applicative and Monad. They definitely do not know much if anything about optimization/profiling, GADTs, the mtl, or Haskell-programming-in-the-large. (Although part of the point of the project is to teach them a bit about programming-in-the-(medium/large)).
* What I would hope from you is a willingness to exchange email and/or chat with the student(s) over the course of the project, to give them a bit of guidance/mentoring. I am certainly willing to help on that front, but of course I probably don't know much about your particular project.
Thanks! -Brent
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Ernesto Rodriguez Bachelor of Computer Science - Class of 2013 Jacobs University Bremen
participants (17)
-
Alp Mestanogullari
-
Ben
-
Brent Yorgey
-
Carter Schonwald
-
Edward Z. Yang
-
Ernesto Rodriguez
-
Ivan Lazar Miljenovic
-
Jason Dagit
-
Joachim Breitner
-
John Lato
-
Kim-Ee Yeoh
-
Kristopher Micinski
-
Mario Blažević
-
Michael Orlitzky
-
Simon Michael
-
Tim Docker
-
Vo Minh Thu