I think #2 would be a great addition to test.check, and I'd be happy to be 
a mentor.

Reid

On Wednesday, March 19, 2014 3:49:30 PM UTC-5, Dmitry Groshev wrote:
>
> Hello, Clojurians!
>
> GSoC application deadline is dangerously close and it's time to fill an 
> application, at last. But here is a problem: I don't know what will be the 
> best for community. I have a few ideas and I will present them here to get 
> some feedback. Sorry for a bit late posting!
>
> First: this is the idea listed on Ideas Page [1], "Data Visualization 
> Components with Om / React.js". I would like to participate; in particular, 
> I'm very interested in building a decent graph rendering library. It seems 
> like there are a lot of JS libraries to draw graphs out there, but all of 
> them lack features that I needed one time or another:
> -composable layouts/transformations, like in Gephi (you can run one 
> "transformation" after another there);
> -"static" rendering without fancy animation of force-based layout;
> -efficient handling of data changes (here is where React can be useful);
> -ability to add user-defined forces. It's very useful when you have 
> special nodes that should be pulled to particular points.
> Of course, this should be based on top of React's model, which adds an 
> interesting exploratory aspect to the project.
> Mentor: I've tried to contact Kovas about this project, but wasn't 
> successful. I hope that was a mail quirk.
>
> Second: when I write Erlang, I enjoy PropEr (an Erlang property testing 
> library) a lot. Some time ago a similar system was created for Clojure 
> (test.check [2]). It's a decent property-based checker, but a couple of 
> things are still lacking:
> -support for stateful system checking. This is called "statem" in PropEr 
> and described in [3]. It's based on modelling stateful system as FSM and 
> comparing behaviour of model and system under test. One of interesting 
> usages of "statem" in PropEr is to test external servers: for example, 
> properly-designed REST API can be modelled pretty easily by a FSM.
> -support for automatic generator inference from type specifications (in 
> Clojure Prismatic's Schema can be used) [4]. Obviously, it makes using 
> property-testing a lot easier.
> -support for generator statistics — what instances was generated, what was 
> the distribution of test sizes and so on.
> In this project, if it will be selected, I will implement this three 
> features for test.check. I had very positive experience with PropEr and I 
> hope that this project can help more people start using property-based 
> testing.
> Mentor: Reid Draper. I contacted him and he agreed to mentor the project.
>
> Third: arguably, one of the best plotting libraries around is R's ggplot 
> [5]. It was recently ported to Python, as well [6]. It's different from all 
> other libraries of the kind in that it implements a "grammar of graphics": 
> small pieces of reusable functionality that together constitute plots. Here 
> is an example:
>
> ggplot(mry, aes(x=year, y=number, group=rating)) + geom_line(aes(colour = 
> rating)) + scale_colour_gradient(low="red") # produces [7]
>
> This fits Clojure's ideology nicely. It can also be even better in Clojure 
> after a small modification of original ggplot design, which is replacing 
> "overloaded plus" style with plain vectors. This is a big project, but I 
> believe I can port this library to Clojure and ClojureScript in GSoC 
> timeframe. The majority of code will be the same, and because this will not 
> be a core.X project, I will be able to use cljx to share code. One of 
> spin-offs from this project will be a simple "dataframe-like" (think R or 
> Python's pandas [8]) data structure usable in both languages.
> Mentor: there is no at this point. I will appreciate a lot if someone will 
> volunteer.
>
> This concludes the list of ideas. Please share your thoughts and let me 
> know, if you are able to mentor me on third project! I will fill an 
> application in 36 hours from now.
>
> [1]: http://dev.clojure.org/display/community/Project+Ideas
> [2]: https://github.com/clojure/test.check
> [3]: http://proper.softlab.ntua.gr/papers/eirini-thesis.pdf
> [4]: http://proper.softlab.ntua.gr/papers/proper_types.pdf
> [5]: http://ggplot2.org/
> [6]: https://pypi.python.org/pypi/ggplot
> [7]: http://docs.ggplot2.org/current/geom_line-8.png
> [8]: http://pandas.pydata.org/
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to