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

On 3/18/07, [email protected] [email protected] wrote:

How do we save state in between sessions?
This is an interesting idea which I think deserves its own thread, so
I’ll start one.


Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/