Google Summer of Code -- It's back

1. Rdoc/Ri integration (may require basically rewriting ri)

2. A ruby code browser, including heuristic linking of method calls to
definitions (best guess, list of possibilities, etc)

3. Specialized CMS (content management systems) for schools, clubs,
etc (calendaring, events, forms, contacts, etc)

4. A complete ruby parser in ruby (there is a fair amount of activity
being done here already, but nothing to the best of my knowledge is
complete)

5. A set of ruby refactoring tools (as ruby scripts) -- these would
not be 100% safe as there are things a programmer could do to break
any static analysis, but they could be "good enough":
   A. Rename a class (and all references to it)
   B. Rename a member variable (and all references to it)
   C. Rename a module
   D. Rename a method
   E. Move class to/from a Module
   F. Move class into/out of a different class
   G. etc...

6. A rails project visualizer -- should generate printable (pdf?) and
browse-able documentation of the model/view/controller, data flows,
schema, test coverage, etc.

7. A project modeled on oswd.org, but providing rails templates
(application.rhtml, css and possibly helpers). I think this would be
really popular -- especially if the free templates in oswd were
"borrowed". -- A smart rails command that could pull in the templates
would make it even more appealing.

A few ideas, hope they help
pth

···

On 4/17/06, Tanner Burson <tanner.burson@gmail.com> wrote:

On 4/17/06, Jake McArthur <jake.mcarthur@gmail.com> wrote:
>
> I'm also eligible, and this is right up my ally. Would love to get
> involved. I'm very intently keeping up with this thread for neat
> ideas, so any others would be appreciated.

+1

- Jake McArthur
>

--
===Tanner Burson===
tanner.burson@gmail.com
http://tannerburson.com <---Might even work one day...

dblack@wobblini.net wrote:

We're now listed, and after I finish my current travels (I'm flying
home from Canada this afternoon) I'll be posting some information on
Ruby Central's website, looking for mentors and ideas for projects.

(But by all means keep chatting here, and I'll harvest stuff from the
list :slight_smile:

As I understand it, projects neither have to be from scratch nor original ideas. Given this, I'd suggest people peruse RubyForge for projects that were started and never finished or are unreleased. In some cases, a helping hand to complete a useful tool, in others, a rewrite/new project. Also, recurring ideas keep popping up on this list when new people join: 'Do you have something equivalent to [language x]'s [library]?'

I'd love to see someone throw in a helping hand making wxRuby2's interface more Ruby-like. I'd also like to see a cross-platform RAD tool in Ruby (a la Delphi).

Roy

Just an idea, "Ruby Language Specification 2.0"?
I remember matz had mentioned he can willingly help writing before.

···

--
http://nohmad.sub-port.net

I really like this idea.

James Edward Gray II

···

On Apr 18, 2006, at 7:28 AM, Patrick Hurley wrote:

3. Specialized CMS (content management systems) for schools, clubs,
etc (calendaring, events, forms, contacts, etc)

Patrick Hurley wrote:

···

On 4/17/06, Tanner Burson <tanner.burson@gmail.com> wrote:

On 4/17/06, Jake McArthur <jake.mcarthur@gmail.com> wrote:

I'm also eligible, and this is right up my ally. Would love to get
involved. I'm very intently keeping up with this thread for neat
ideas, so any others would be appreciated.

+1

- Jake McArthur

--
===Tanner Burson===
tanner.burson@gmail.com
http://tannerburson.com <---Might even work one day...

1. Rdoc/Ri integration (may require basically rewriting ri)

2. A ruby code browser, including heuristic linking of method calls to
definitions (best guess, list of possibilities, etc)

3. Specialized CMS (content management systems) for schools, clubs,
etc (calendaring, events, forms, contacts, etc)

4. A complete ruby parser in ruby (there is a fair amount of activity
being done here already, but nothing to the best of my knowledge is
complete)

5. A set of ruby refactoring tools (as ruby scripts) -- these would
not be 100% safe as there are things a programmer could do to break
any static analysis, but they could be "good enough":
   A. Rename a class (and all references to it)
   B. Rename a member variable (and all references to it)
   C. Rename a module
   D. Rename a method
   E. Move class to/from a Module
   F. Move class into/out of a different class
   G. etc...

6. A rails project visualizer -- should generate printable (pdf?) and
browse-able documentation of the model/view/controller, data flows,
schema, test coverage, etc.

7. A project modeled on oswd.org, but providing rails templates
(application.rhtml, css and possibly helpers). I think this would be
really popular -- especially if the free templates in oswd were
"borrowed". -- A smart rails command that could pull in the templates
would make it even more appealing.

Cool ideas... I like mainly 3)
These are just ideas or you are offering some kind of mentoring also?

Peter

Patrick Hurley wrote:

I'm also eligible, and this is right up my ally. Would love to get
involved. I'm very intently keeping up with this thread for neat
ideas, so any others would be appreciated.

I'm in as well. I'll be applying as a student and I'm willing to do pretty much anything, but here are some ideas I had (in order of my enthusiasm :-):

1) An asynchronous networking framework for ruby. Something ala ACE or Twisted, but in ruby with dynamic programming & closures it can be made so much more beautiful! I think with an easy to use framework we could see an explosion of nifty p2p & other networking utilities and apps come out of the ruby community. This type of project would help beef up non-blocking IO support in ruby, and provide a starting point for creating networked apps. It could follow the lead of rails in using standard application layouts, generators etc. so people could quickly jump and in turn out new clients, servers, protocols, whatever. Lots of existing libraries can be used directly or poached for code, but making an integrated system would help a lot. Maybe a good idea to choose a specific application to guide the development?

2) Working on a more integrated documentation system would probably be very useful. It could provide an interface to the documentation so code completing editors (vim7, yes!) could query for information about classes, methods etc, and it could allow for easier queries (e.g. regexps, tab completion...) in an interactive documention browser. Maybe something akin to the built-in help for python... Another thing I was thinking could be cool is programmable comments for dynamic code. I think Rdoc has a little support for declaring generators like attr_accessor, but that could be extended so people could program their documentation. When using generated methods or method_missing it would be great if you could have a documentation_missing method as well...

I don't think it would be my choice, but I was thinking of a variation on the CMS described before. A digital secretary organizer thingy, with a focus on making life easier to deal with rather than the same old web based lists and calendars. So you have a data-store that holds say calendar events and contacts for starters. Sure, throw a rails interface on top of the DB, but I want to be able to call it and leave it messages from my cell-phone, IM & email with it, and access it with an API so programs can use it as a central store. It should be pluggable so people can add new interfaces, event handlers (desktop reminders, IM, email, phone, sms, glowing orbs, mp3, aibo dog) whatever... As long as its clean and easily extended people will go nuts. Lots of grunt work with a project like this though. Implementing and/or debugging a ton of RFC based libraries for various formats of import, export, communication etc...

But yeah, how about that number 1?

-Jeff

···

On 4/17/06, Tanner Burson <tanner.burson@gmail.com> wrote:

On 4/17/06, Jake McArthur <jake.mcarthur@gmail.com> wrote:

"Patrick Hurley" <phurley@gmail.com> writes:

···

On 4/17/06, Tanner Burson <tanner.burson@gmail.com> wrote:
6. A rails project visualizer -- should generate printable (pdf?) and
browse-able documentation of the model/view/controller, data flows,
schema, test coverage, etc.

You mean like RAV?

http://rav.rubyforge.org

Not to say that it's perfect and couldn't use more work, but I don't
think it would keep someone busy for a whole summer. Then again,
perhaps I just don't have enough imagination. =D

-Phil

> We're now listed, and after I finish my current travels (I'm flying
> home from Canada this afternoon) I'll be posting some information on
> Ruby Central's website, looking for mentors and ideas for projects.
>
> (But by all means keep chatting here, and I'll harvest stuff from the
> list :slight_smile:
As I understand it, projects neither have to be from scratch nor
original ideas. Given this, I'd suggest people peruse RubyForge for
projects that were started and never finished or are unreleased.

Maybe someone would like to pick up rwb. I'm happy to provide help,
pointers, cheerleading, etc.

[deleted]

···

On 4/18/06, Roy Sutton <roys@mindspring.com> wrote:

dblack@wobblini.net wrote:

Roy

--
thanks,
-pate
-------------------------

+1

···

On 4/18/06, James Edward Gray II <james@grayproductions.net> wrote:

On Apr 18, 2006, at 7:28 AM, Patrick Hurley wrote:

> 3. Specialized CMS (content management systems) for schools, clubs,
> etc (calendaring, events, forms, contacts, etc)

I really like this idea.

I just signed up to be a mentor with Ruby Central as the organization.

pth

···

On 4/18/06, Peter Szinek <peter@rt.sk> wrote:

Patrick Hurley wrote:
> On 4/17/06, Tanner Burson <tanner.burson@gmail.com> wrote:
>> On 4/17/06, Jake McArthur <jake.mcarthur@gmail.com> wrote:
>>> I'm also eligible, and this is right up my ally. Would love to get
>>> involved. I'm very intently keeping up with this thread for neat
>>> ideas, so any others would be appreciated.
>>
>> +1
>>
>> - Jake McArthur
>>
>>
>> --
>> ===Tanner Burson===
>> tanner.burson@gmail.com
>> http://tannerburson.com <---Might even work one day...
>>
>>
>
> 1. Rdoc/Ri integration (may require basically rewriting ri)
>
> 2. A ruby code browser, including heuristic linking of method calls to
> definitions (best guess, list of possibilities, etc)
>
> 3. Specialized CMS (content management systems) for schools, clubs,
> etc (calendaring, events, forms, contacts, etc)
>
> 4. A complete ruby parser in ruby (there is a fair amount of activity
> being done here already, but nothing to the best of my knowledge is
> complete)
>
> 5. A set of ruby refactoring tools (as ruby scripts) -- these would
> not be 100% safe as there are things a programmer could do to break
> any static analysis, but they could be "good enough":
> A. Rename a class (and all references to it)
> B. Rename a member variable (and all references to it)
> C. Rename a module
> D. Rename a method
> E. Move class to/from a Module
> F. Move class into/out of a different class
> G. etc...
>
> 6. A rails project visualizer -- should generate printable (pdf?) and
> browse-able documentation of the model/view/controller, data flows,
> schema, test coverage, etc.
>
> 7. A project modeled on oswd.org, but providing rails templates
> (application.rhtml, css and possibly helpers). I think this would be
> really popular -- especially if the free templates in oswd were
> "borrowed". -- A smart rails command that could pull in the templates
> would make it even more appealing.
Cool ideas... I like mainly 3)
These are just ideas or you are offering some kind of mentoring also?

Peter

[...] ideas [...]

I was struck with an idea yesterday that could theoretically be really nice for Ruby developers. I'm sure most of us are aware of the idea of keeping code DRY (Don't Repeat Yourself), and I think most people that know about it don't have too much of a problem with following it. Another idea that programmers follow, not as well, is to not reinvent the wheel, which for the sake of the rest of this e-mail I will refer to as DROP (Don't Repeat Other People).

My idea is to create an open source code repository, web site, and set of tools designed to help people to automate the process of factoring code out of their projects which they can all share. First, it helps them to find instances of code that need to be DRYed or DROPed by comparing lines of code across the entire code base in the repository and pointing out lines that are similar to things that have already been done before. If the programmer finds things within his program which he repeated, then it should be a simple a matter of factoring out to another function or class within his code to DRY it. If he finds that somebody else has similar code, he can factor it out into a separate "project" in the repository to DROP it. People with similar code in the repository are notified so that they can update their individual projects accordingly if they desire to do so.

Using code that has been factored out into these external projects should be both easy to integrate and easy to keep up to date in each project. Though I'm not quite sure of the mechanics of how that would be done yet, I'm envisioning a script programmers can run that will bring all functions and classes they are using from external projects up to date in their own program. As it does this, it runs all the programmer's tests to make sure that it doesn't break something and pulls back to a previous revision if necessary. (As such, it would practically be a requirement that all code that takes advantage of this be unit tested.) This would also provide the benefit that factored out projects can be edited by anyone, like a wiki, without screwing everything up; any time something gets messed up or is incompatible with some projects, somebody will see when they try to update and can fix it themselves.

The web site would show the projects in the repository, provide a method of discussion around the various bits of code, and give downloads and instructions for using the resource for yourself.

My hope is that this would be a tool that could speed up development, simplify and stabilize Ruby programs, and bring a collaborative atmosphere even to individual projects.

- Jake McArthur

Yeah exactly like that :-),

Thanks
pth

···

On 4/18/06, Phil Hagelberg <phil@hagelb.org> wrote:

"Patrick Hurley" <phurley@gmail.com> writes:
> On 4/17/06, Tanner Burson <tanner.burson@gmail.com> wrote:
> 6. A rails project visualizer -- should generate printable (pdf?) and
> browse-able documentation of the model/view/controller, data flows,
> schema, test coverage, etc.

You mean like RAV?

http://rav.rubyforge.org

Not to say that it's perfect and couldn't use more work, but I don't
think it would keep someone busy for a whole summer. Then again,
perhaps I just don't have enough imagination. =D

-Phil

I really like this idea. I have been thinking of a similar project for a
long time. Mainly I was imagining a replacement for the current school
Course management systems. The current one I used: WebCT, BlackBoard and
Lon-capa, are ill fitted for K12 schools. And for they are not much better
for colleges. I will probably use this idea in one of my attempts.

Nic

···

On 4/18/06, James Edward Gray II <james@grayproductions.net> wrote:

On Apr 18, 2006, at 7:28 AM, Patrick Hurley wrote:

> 3. Specialized CMS (content management systems) for schools, clubs,
> etc (calendaring, events, forms, contacts, etc)

I really like this idea.

James Edward Gray II

ruSH seemed nice too
http://marc.theaimsgroup.com/?l=ruby-talk&m=112802830129958&w=2
http://rubyforge.org/projects/rush

···

2006/4/18, pat eyler <pat.eyler@gmail.com>:

On 4/18/06, Roy Sutton <roys@mindspring.com> wrote:
> dblack@wobblini.net wrote:
> > We're now listed, and after I finish my current travels (I'm flying
> > home from Canada this afternoon) I'll be posting some information on
> > Ruby Central's website, looking for mentors and ideas for projects.
> >
> > (But by all means keep chatting here, and I'll harvest stuff from the
> > list :slight_smile:
> As I understand it, projects neither have to be from scratch nor
> original ideas. Given this, I'd suggest people peruse RubyForge for
> projects that were started and never finished or are unreleased.

Maybe someone would like to pick up rwb. I'm happy to provide help,
pointers, cheerleading, etc.

--
Gerardo Santana

BTW, I don't think I want this posted on the ideas page. I'm going to be applying with this one probably! :slight_smile:

···

On Apr 18, 2006, at 10:19 AM, Jake McArthur wrote:

[...] ideas [...]

I was struck with an idea yesterday that could theoretically be really nice for Ruby developers. I'm sure most of us are aware of the idea of keeping code DRY (Don't Repeat Yourself), and I think most people that know about it don't have too much of a problem with following it. Another idea that programmers follow, not as well, is to not reinvent the wheel, which for the sake of the rest of this e-mail I will refer to as DROP (Don't Repeat Other People).

My idea is to create an open source code repository, web site, and set of tools designed to help people to automate the process of factoring code out of their projects which they can all share. First, it helps them to find instances of code that need to be DRYed or DROPed by comparing lines of code across the entire code base in the repository and pointing out lines that are similar to things that have already been done before. If the programmer finds things within his program which he repeated, then it should be a simple a matter of factoring out to another function or class within his code to DRY it. If he finds that somebody else has similar code, he can factor it out into a separate "project" in the repository to DROP it. People with similar code in the repository are notified so that they can update their individual projects accordingly if they desire to do so.

Using code that has been factored out into these external projects should be both easy to integrate and easy to keep up to date in each project. Though I'm not quite sure of the mechanics of how that would be done yet, I'm envisioning a script programmers can run that will bring all functions and classes they are using from external projects up to date in their own program. As it does this, it runs all the programmer's tests to make sure that it doesn't break something and pulls back to a previous revision if necessary. (As such, it would practically be a requirement that all code that takes advantage of this be unit tested.) This would also provide the benefit that factored out projects can be edited by anyone, like a wiki, without screwing everything up; any time something gets messed up or is incompatible with some projects, somebody will see when they try to update and can fix it themselves.

The web site would show the projects in the repository, provide a method of discussion around the various bits of code, and give downloads and instructions for using the resource for yourself.

My hope is that this would be a tool that could speed up development, simplify and stabilize Ruby programs, and bring a collaborative atmosphere even to individual projects.

- Jake McArthur

Jake McArthur wrote:

[...] ideas [...]

I was struck with an idea yesterday that could theoretically be really
nice for Ruby developers. I'm sure most of us are aware of the idea of
keeping code DRY (Don't Repeat Yourself), and I think most people that
know about it don't have too much of a problem with following it.
Another idea that programmers follow, not as well, is to not reinvent
the wheel, which for the sake of the rest of this e-mail I will refer to
as DROP (Don't Repeat Other People).

My idea is to create an open source code repository, web site, and set
of tools designed to help people to automate the process of factoring
code out of their projects which they can all share. First, it helps
them to find instances of code that need to be DRYed or DROPed by
comparing lines of code across the entire code base in the repository
and pointing out lines that are similar to things that have already been
done before. If the programmer finds things within his program which he
repeated, then it should be a simple a matter of factoring out to
another function or class within his code to DRY it. If he finds that
somebody else has similar code, he can factor it out into a separate
"project" in the repository to DROP it. People with similar code in the
repository are notified so that they can update their individual
projects accordingly if they desire to do so.

Using code that has been factored out into these external projects
should be both easy to integrate and easy to keep up to date in each
project. Though I'm not quite sure of the mechanics of how that would be
done yet, I'm envisioning a script programmers can run that will bring
all functions and classes they are using from external projects up to
date in their own program. As it does this, it runs all the programmer's
tests to make sure that it doesn't break something and pulls back to a
previous revision if necessary. (As such, it would practically be a
requirement that all code that takes advantage of this be unit tested.)
This would also provide the benefit that factored out projects can be
edited by anyone, like a wiki, without screwing everything up; any time
something gets messed up or is incompatible with some projects, somebody
will see when they try to update and can fix it themselves.

The web site would show the projects in the repository, provide a method
of discussion around the various bits of code, and give downloads and
instructions for using the resource for yourself.

My hope is that this would be a tool that could speed up development,
simplify and stabilize Ruby programs, and bring a collaborative
atmosphere even to individual projects.

Hello Jake,

Wow what a great idea. BTW. do you know the online python-cookbook?

It is a small subset of the possible results of the implementation of
the idea you describe here, of course your idea is much-much more than
this, since python cookbook is just a set of manually added code snippets.

If you decide to implement DROP, be sure to put up a page/wiki/mailing
list something so we can track your progress and send some ideas (if you
don't mind :wink:

Cheers,
Peter

You might take a look at Facets: facets.rubyforge.org

Kirk Haines

···

On Tuesday 18 April 2006 9:19 am, Jake McArthur wrote:

My idea is to create an open source code repository, web site, and
set of tools designed to help people to automate the process of
factoring code out of their projects which they can all share. First,

Our university uses BlackBoard. It's a mess.

···

On 4/18/06, Nicolas Kassis <nic.kassis@gmail.com> wrote:

I really like this idea. I have been thinking of a similar project for a
long time. Mainly I was imagining a replacement for the current school
Course management systems. The current one I used: WebCT, BlackBoard and
Lon-capa, are ill fitted for K12 schools. And for they are not much better
for colleges. I will probably use this idea in one of my attempts.

How about a specialized school CMS? School sites require other
features than club sites :slight_smile: Maybe a list of timetable changes,
information about exams, consortium and event sites.

> 3. Specialized CMS (content management systems) for schools, clubs,
> etc (calendaring, events, forms, contacts, etc)

How about some sort of 'Ruby/Rails/Whatever User Group Organizer'?

<http://codeblogger.de/&gt;