From: "richard.j.dale@..." Date: 2007-03-19T11:35:06+09:00 Subject: KDE Ruby SOC projects The KDE project has been approved for Google's Summer of Code project with an unlimited number of possible projects subject to project quality and suitable mentors. Alexander Dymo has proposed 'Implement foundations for KDevelop4 Ruby language support' here: http://techbase.kde.org/Projects/Summer_of_Code/2007/Ideas#KDevelop_.26_Quanta And that is the most important starting point for KDevelop 4 ruby support. I'm happy to mentor other projects to improve ruby support as part of SOC, and here are my dreams. A dream is not the same as a concrete proposal to Google, and so if you want to volunteer we will need to come up with a proposal and deliverables that can actually be done in the time available. - Interactive visual irb. Like a Smalltalk environment I think ruby projects should be developed against an always running program. This makes code completion much easier as we can use ruby's runtime introspection instead of faking it with a combination of a static parser and guesswork. Can this be done if the language is text based, rather than image based like Smalltalk? How do we save state in between sessions? - A better ruby debugger. The current KDevelop ruby debugger is in pure ruby and is very slow and doesn't work with Rails. The next one should be based on the C ruby-debug project and integrate with qtruby/korundum in the same way as the current debugger, as well as actually working with Rails. - Support for QtRuby/Korundum Rails activeresource projects. The recent release of Rails allows project to be based on RESTful style where the same controller method can server up html, xml or rss etc formats. This means that QtRuby is a great way to write rich web clients that leave AJAX/Flash for dead if only we can have great IDE support for it (ie integrated Qt Designer, downloading qtruby code from the web server, graphic UI to the Rails scafolding etc). The Rails app on the server sends an xml message which is then converted into a ruby class at the client end by ActiveResource, and QtRuby can then use it as a basis for a Qt::ActiveItemModel to drive a Qt::TableView or Qt::TreeView, or forms containing Qt::LineEdit etc with data bound from the ActiveResource instance. - Alternatively, QtRuby/Korundum work great with ActiveRecord and we can add support to KDevelop for developing database applications visually. NeXT's Enterprise Object Framework did this fine over ten years ago, and I would like to do much the same thing but with ActiveRecord. Rails is very much text based, and it would be nice to develop database applications diagrammatically. - Combining ActiveResource with ActiveRDF, and free text indexing will allow new types of application to be written. I have a prolog inference engine that I have ported from an Objective-C one that I wrote. I think this would be a perfect match to extend ActiveRDF to do inferencing on SPARQRL endpoints. There is already a simple rule engine for ActiveRDF, but I think it would be much more powerful with prolog style backtracking. So this is a perfect student project in my opinion. -- Richard