2 Apr 2012 09:19
Re: [GSOC 2012] Project ideas
Hubert Plociniczak <hubert.plociniczak <at> epfl.ch>
2012-04-02 07:19:02 GMT
2012-04-02 07:19:02 GMT
On 04/02/2012 08:59 AM, Heather Miller wrote:
During the first year of participation in GSOC we had a scala 2D graphics project. That one pretty much died after the student left. Ingo can probably tell more as he was the mentor for it.
On Monday, April 2, 2012 at 8:38 AM, Hubert Plociniczak wrote:On 03/31/2012 04:51 PM, Jerzy Redlarski wrote:Hello Scala Language Community,
My name is Jerzy Redlarski and I am a student of Gdansk University of Technology in Poland. I'd like to support the development of the Scala language, about which I learned through a Java User Group about a year ago. I'd like to ask you for suggestions, which of the project ideas would be best suited to my skills, as well as the most useful for the community?
My experience with the Scala language is limited to what I've learned by reading "Programming Scala" and experimenting with the examples. I'm also just beginning to learn about functional programming, since in my university it was only mentioned once, with examples given in XSLT. I've tried searching for good sources to learn more about functional programming, but since few of the professors in my university are interested in it, I had little success. The best ones I've found were chapters in books about Scala, and this article http://www.defmacro.org/ramblings/fp.html
I suppose I could find more in books about Haskell, Lisp and Clojure, but it doesn't hurt to ask, if you could suggest some good texts about how to solve practical problems the functional way? So far, I'm mostly unsure how to couple functional paradigms with stochastic, time-dependent programs, as well as algorithms that depend on complex changing data structures such as graphs. I'm also quite confused by monads, but I suppose understanding will come with practice.
I doubt that dealing with monads would be necessary for GSOC :) If you want to get some general knowledge about functional programming then I would start with a couple of Haskell books out there (sorry, don't remember the exact names/resources).
Learn you a haskell for great good is a good one, and it's also freely available online: http://learnyouahaskell.com/(Though, note-- be careful, some resources on functional programming can have a steep learning curve, depending on your background.)because AFAIK there aren't any books strictly related to functional programming and Scala (although there is one in production).
Generally you don't have to worry so much about a lack of knowledge in functional programming. "Programming in Scala" by Odersky et al., already contains most of the stuff that will get your ready for GSOC.
Yep, "most of the information" and plus some.
On the other hand, I'm quite experienced with 2D/3D graphics (OpenGL, Java3D, LWJGL, AWT/Swing), soft/rigid body simulations, multi-agent systems (JADE) and basic artificial intelligence. I'm also used to Eclipse IDE, although I'm no stranger to NetBeans either. I've had no experience with IntelliJ though. I've used git, svn, JUnit, Maven and Google Guice. As for mobile devices, I have more experience with Java ME than with Dalvik. As for web and server applications, my experience is limited, although I know how to work with databases.
Of the project ideas listed for GSoC 2012, I suppose I could use my experience with Eclipse and git to work on integrating giter8 with the IDE. I could also try to improve the "Smart Quick Fixes". Thus, I'd need to know which of these projects is more important for the community.
Eclipse is probably the right choice. You should be able to quickly pick up what's needed for the work. I think projects below require a bit more Scala experience.
Looking through the mailing group, I've also found some interesting ideas that could make use of my graphics experience, such as the porting of prefuse to Scala suggested by Sciss, writing some sort of visualization of Akka actor networks suggested by Tomáš Heřman and the idea of instant feedback suggested by Stefan Wagner. I'm not sure if these have such a high priority, nor if there is anyone intrested in mentoring these, but if there is, I think it could make for an interesting project, a great learning experience, as well as leading to the creation of some tools I might find useful in my other projects later on.
If I may suggest something myself, I'm planning to write a real-time raytracer is Scala, using CUDA and/or OpenCL to optimise the bottlenecks, but since I don't expect too many people to find this idea useful, I'm mentioning it just in case.
Put it on github (mentioning it in the application if you are able to finish it by then is also good!).
So from my perspective: the Eclipse giter8 project looks like a good sort of "getting started" project, and it'd be something that several people would find useful, perhaps integrating it into their daily workflows.However, passion/initiative is not a factor to be trivialized. I'm not knowledgeable enough with computer graphics to know how useful your raytracer would be (i.e., who/how many would use it), but I'm pretty certain that right now, there's not a lot of activity related to computer graphics in Scala, perhaps for no good reason other than no one from the graphics community has dabbled much in Scala.
During the first year of participation in GSOC we had a scala 2D graphics project. That one pretty much died after the student left. Ingo can probably tell more as he was the mentor for it.
So, if the raytracer is a project you're sure you'd be more passionate about than the Eclipse IDE, I'd say spend a few days better "baking" a proposal for what you'd like to try to achieve. Worst case, if it can't really come together in time before the deadline, you can always try to run with the giter8 ScalaIDE project. :)Cheers,Heather
RSS Feed