From: "Florian Groß" Date: 2006-05-25T03:47:45+09:00 Subject: Re: [ANN] Recipients of Google Summer of Code awards --------------000404060101060908060000 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Gregory Brown wrote: > Here is my full proposal, for those interested: I've attached mine to this mail as well. I hope we can get all this information organized somewhere. Some of the other projects sound very interesting and I'd really like to read about them in more detail. -- http://flgr.0x42.net/ --------------000404060101060908060000 Content-Type: text/plain; name="proposal-06.txt" Content-Transfer-Encoding: 8bit Content-Disposition: inline; filename="proposal-06.txt" Name: Florian Gross Email: flgr@ccan.de ICQ: 44379529 Synopsis: I would like to work on an advanced graphical client for the ruby-breakpoint library. The goal is to make debugging Ruby applications as simple and convenient as possible. About ruby-breakpoint: ruby-breakpoint is a simple library offering functionality to pause a running application and execute live code in its context from the outside. It is integrated with the Nitro and Ruby on Rails web development frameworks. Currently the only way to use it is via a console frontend which is used just like IRB. There also is no stepping support at this time. This is a project I am very passionate about. More information about ruby-breakpoint can be found on its homepage: http://ruby-breakpoint.rubyforge.org/ Project details: (Semi-sorted brain dump) The goal would be to develop a powerful, portable and easy to use GUI using GTK, Glade and Ruby. The client would ideally run on Windows, Linux and Mac OS X. The proposal would also include adding stepping support to ruby-breakpoint (in a way that doesn't slow everything else down unless you actually use it) and to integrate it into the console as well as the new GUI client. There's a few key components of the GUI: * The code view. * The object desk. * An interactive shell. The code view would initially use rsyntax to provide a syntax highlighted display of the application's source code which would automatically follow the application's flow. I'd really like to visualize the object graph in a useful way on the object desk. It would be great if you could zoom into a display of all objects, see links between them, have a look at the methods they have and everything else that could possibly be visualized. This is the most important part of the application and the one with most potential. I'd like to create something that is as unique as Ruby is. It should just work and be natural to use. The object graph would also be the place for visualizing threads. The interactive shell would be similar to IRB, allow repeating previously entered lines and be integrated with the object view. (Ideally there would be a simple way for grabbing values produced in the shell and putting them onto the object desk.) I'd really like to try out a lot of options for getting the object desk and everything else just right and would continue working on this even after the Summer of Code, of course. It's something I'm very interested in. I wrote a previous draft of a graphical ruby-breakpoint client using wxRuby. A screenshot is available at http://flgr.0x42.net/breakpoint/cyclic-threads.png As is evident from ruby-breakpoint's homepage I have planned to work on this and thought through the design for quite some time. This would be a great opportunity for getting it ready to use and into a polished state. Benefits to the Ruby community: * Although there currently is commercial debuggers for Ruby I think they are trying too much to follow design decisions based on traditional, less dynamic languages. This one would be tailored for Ruby and I'd really like this to be a killer application. * There already is a large user base for ruby-breakpoint. Most people using it are coming from Rails. Having a better frontend would also have a positive effect on the Rails framework. * I think that debuggers that already come with Ruby are way too complex to use. They are more powerful than ruby-breakpoint currently is, but it is hard to beat just being able to see and talk to your application's objects. Bio: I'm Florian Gro�, from Germany, nineteen and have been in love with Ruby since I discovered it three years ago. I'm quite involved with the Ruby community via the mailing list and IRC and still enjoy developing with it. Before I discovered Ruby I had been programming in Perl. I got interested in programming because of the computer game Clonk which had a huge community that actively developed new game content and shared it for free -- I had fun doing the same. I got interested in C++ between Perl and Ruby, but did not really find the way it did things intuitive. I picked up some C and Java aside Ruby, but have so far not had much need to use them aside from university projects. I'm also interested in minimalistic and esoteric languages and had fun playing around with Befunge and the concatenative language Joy which still deserves more attention. I'm currently studying Applied Informatics at the University for Applied Sciences of Saarland, Germany in the second term. I'll have to attend summer classes. I intentionally picked a project of relatively small scope to avoid that becoming an issue. I've used Ruby in a few 48 hours game development competitions, for writing some small libraries like ruby-contract and keyedlist and of course for developing ruby-breakpoint itself. I have also sent minor contributions to Rails and other Ruby projects in the past. I know the exotic corners of Ruby fairly well and like the community mindset as well as the way the language is designed. I have come into contact with Ruby's internals when writing the evil-ruby library which adds some functionality by messing around with Ruby's internal data structures. I took part in last year's Summer of Code for Mono. Initially, I was to work on Ruby.NET together with Jaen Saul. The plan was for him to first write the compiler while I would work on Mono's JScript.NET implementation and for me to later join in and work on the language run time, class libraries and so on. Unfortunately, Jaen wasn't able to complete the compiler in time so I worked on JScript.NET full-time. It was a very educational experience and I learned C# (which seems to be inspired quite a lot by Ruby, which is a good thing) as well as how to work in a small team. It certainly was a lot of fun to be working on the implementation of language. My contribution to the project was considered a success by the team. We very encouraged to post weekly status reports to a mailing list which was a very nice idea to keep people motivated and focused. My status reports are still available at http://groups.google.com/groups/search?q=JS.NET+group%3Amono-soc&scoring=d&filter=0 Feel free to contact me in case there is anything you would like to know that this proposal does not include. I could have written more, but doing the rest of this on demand will probably keep the single to noise ratio lower... Thanks for your attention! --------------000404060101060908060000--