Hi all, You''ve probably heard of Google''s Summer of Code. As this year Ruby Central is registered as a mentoring organisation, it is possible to do Ruby projects or work on existing ones, for example wxRuby :). I would be interested to work on wxRuby as a student. So, my question is, are there tasks that need to be done and would be suitable for a Summer of Code project? If there are, who would be willing to be a mentor? The way I understand it, it would have to be someone who is familiar with the code and can give guidance and lend a hand. What do you think? Robin Stocker
On Mon, 2006-04-24 at 23:50 +0200, Robin Stocker wrote:> I would be interested to work on wxRuby as a student. So, my question > is, are there tasks that need to be done and would be suitable for a > Summer of Code project? If there are, who would be willing to be a > mentor? The way I understand it, it would have to be someone who is > familiar with the code and can give guidance and lend a hand.Hi, I would be very willing to be a mentor for wxRuby work. There are so many things that wxRuby needs, but I''m not sure how well they would fit into a specific TODO list. How comfortable are you with C++? Most of the current wxRuby problems are cases where we are generating bad C++ code for some reason, so it helps to be able to understand what''s going wrong. You don''t need to be a C++ expert, but should understand basic C++. Are you familiar with SWIG? Many of the "missing" wx methods are because none of us have been familiar enough with SWIG to add them. Roy is now stepping up in this area, which is great. I assume he would welcome additional help. There is also the "rubyified" API that we would like to see. The current API is just a thin wrapper over the C++ API. A rubyish (and higher-level) wrapper would be much more pleasant to work with. I always use the example of how much nicer FXRuby is vs. plain FOX. Another nice project would be to build a good unit test suite. I know Roy is working on this also. I made an attempt many months ago, but didn''t get very far. There''s also building gems for wxruby, but hopefully that wouldn''t take a whole summer. And, of course, we could always use better samples, and better user documentation. Kevin
Kevin Smith wrote:> On Mon, 2006-04-24 at 23:50 +0200, Robin Stocker wrote: > >> I would be interested to work on wxRuby as a student. So, my question >> is, are there tasks that need to be done and would be suitable for a >> Summer of Code project? If there are, who would be willing to be a >> mentor? The way I understand it, it would have to be someone who is >> familiar with the code and can give guidance and lend a hand. >> > > Hi, > > I would be very willing to be a mentor for wxRuby work. > > There are so many things that wxRuby needs, but I''m not sure how well > they would fit into a specific TODO list. > > How comfortable are you with C++? Most of the current wxRuby problems > are cases where we are generating bad C++ code for some reason, so it > helps to be able to understand what''s going wrong. You don''t need to be > a C++ expert, but should understand basic C++. > > Are you familiar with SWIG? Many of the "missing" wx methods are because > none of us have been familiar enough with SWIG to add them. Roy is now > stepping up in this area, which is great. I assume he would welcome > additional help. > > There is also the "rubyified" API that we would like to see. The current > API is just a thin wrapper over the C++ API. A rubyish (and > higher-level) wrapper would be much more pleasant to work with. I always > use the example of how much nicer FXRuby is vs. plain FOX. > > Another nice project would be to build a good unit test suite. I know > Roy is working on this also. I made an attempt many months ago, but > didn''t get very far. > > There''s also building gems for wxruby, but hopefully that wouldn''t take > a whole summer. > > And, of course, we could always use better samples, and better user > documentation. >I originally suggested wxRuby for the Summer of Code on the Ruby mailing list. I think it would be great to get someone in here who can really focus on the issues that the rest of us are mostly dabbling at. Kevin is right, though, that much of what we''re knocking our heads against is C++, not Ruby. The exciting stuff will be the ruby-style interface, however, the stability of wxRuby2 right now doesn''t quite justify it. That said, I''m glad to help out anyone who wants to throw in a shoulder here. Roy
Kevin Smith wrote:> Hi, > > I would be very willing to be a mentor for wxRuby work.Cool :)> There are so many things that wxRuby needs, but I''m not sure how well > they would fit into a specific TODO list.Yes, it seems to be going to be a very "diverse" list.> How comfortable are you with C++? Most of the current wxRuby problems > are cases where we are generating bad C++ code for some reason, so it > helps to be able to understand what''s going wrong. You don''t need to be > a C++ expert, but should understand basic C++.I''ve never done a whole project in C++, but I know the basics from reading Stroustrup''s book and now we also have a C++ course in the university.> Are you familiar with SWIG? Many of the "missing" wx methods are because > none of us have been familiar enough with SWIG to add them. Roy is now > stepping up in this area, which is great. I assume he would welcome > additional help.One of my personal projects uses SWIG to interface a C++ library with Ruby. It''s called id3lib-ruby (http://id3lib-ruby.rubyforge.org/) and I just had the first release yesterday :). Of course it''s not as big as wxRuby - the SWIG part is only about 150 lines of code. And I didn''t have to use directors or other advanced SWIG features, but I wouldn''t be completely lost with SWIG either.> There is also the "rubyified" API that we would like to see. The current > API is just a thin wrapper over the C++ API. A rubyish (and > higher-level) wrapper would be much more pleasant to work with. I always > use the example of how much nicer FXRuby is vs. plain FOX. > > Another nice project would be to build a good unit test suite. I know > Roy is working on this also. I made an attempt many months ago, but > didn''t get very far.>> There''s also building gems for wxruby, but hopefully that wouldn''t take > a whole summer.So, maybe the list of tasks would look like this: - create unit tests - create a gem - rubyfy API (maybe) - improve samples and documentation - add missing classes (?) Does anyone know what the project''s size is supposed to be? Is this list too much or too little?> And, of course, we could always use better samples, and better user > documentation.Added to the list. So, in the next days I''ll have a look at how the application should look like and how detailed the task description has to be. If all goes well, I''ll write my application (and hopefully be accepted).> KevinRobin PS: Excuse my sometimes long sentences or the clumsy formulation, but I''m still an English learner :)
Roy Sutton wrote:> I originally suggested wxRuby for the Summer of Code on the Ruby mailing > list. I think it would be great to get someone in here who can really > focus on the issues that the rest of us are mostly dabbling at. Kevin > is right, though, that much of what we''re knocking our heads against is > C++, not Ruby. The exciting stuff will be the ruby-style interface, > however, the stability of wxRuby2 right now doesn''t quite justify it. > That said, I''m glad to help out anyone who wants to throw in a shoulder > here.I understand that the major part is C++ and SWIG, I just wanted to find a project that benefits the Ruby community. And as I like wxWidgets and have been following the wxRuby mailing list, I thought: Hey, why not try to help wxRuby :). I hope I can actually help so that there can be a release of wxRuby2 soon.
Hi Robin Robin Stocker wrote:> I would be interested to work on wxRuby as a student. So, my question > is, are there tasks that need to be done and would be suitable for a > Summer of Code project?A lot of people are really looking forward to see the fruits of all the work on the SWIG version of wxruby, so any contribution to the current work of tracking down SWIG/C++/Ruby bugs would be welcome. From Kevin you''ve the offer of mentoring from a very experienced and astute developer, and there are other good people with a wide range of skills involved in wxruby. For a SoC project you could also think about trying to add some substantial new feature to wxruby that helped it stand out as a GUI package for Ruby. There''s a lot of different possible projects and maybe there''s something particular that interests you. - It could be porting something that''s in WxWidgets, but not in WxRuby - such as printing support, HTML rendering, Wizards, Sash Layouts etc. There''s a list of what''s available in WxWidgets but not yet ported to ruby at http://wxruby.rubyforge.org/wiki/wiki.pl?What_Classes_Are_Implemented_In_Wxruby - You could port one of the user contributed WxWidgets components, such as those at http://wxcode.sourceforge.net/ or the WxAUI http://www.kirix.com/en/community/opensource/wxaui/about_wxaui.html- these include really cool GUI elements such as dockable toolbars etc - Documentation (a user manual, or something that produces accurate Ruby-style documentation correctly from the WxWidgets docs - there''s already made some good progress here: http://rubyforge.org/pipermail/wxruby-users/2005-February/001152.html ) - Using other ruby libraries in interesting ways - eg linking with ruby''s unit test facilities, or i18n Doing any of those sort of projects would probably turn up and help everyone fix a few bugs on the way too ;) good luck alex
On Wed, 2006-04-26 at 00:00 +0200, Robin Stocker wrote:> Kevin Smith wrote: > > Hi, > > > > I would be very willing to be a mentor for wxRuby work.I just looked at the google site, and the deadline to sign up as a mentoring organization was the 24th (two days ago). So I (and "wxruby") can''t be mentoring organizations. Perhaps I could be a mentor through RubyCentral or wxWidgets, since they both signed up as mentoring organizations.> > How comfortable are you with C++? Most of the current wxRuby problems > > are cases where we are generating bad C++ code for some reason, so it > > helps to be able to understand what''s going wrong. You don''t need to be > > a C++ expert, but should understand basic C++. > > I''ve never done a whole project in C++, but I know the basics from > reading Stroustrup''s book and now we also have a C++ course in the > university.That would probably be enough C++ to work on wxruby internals.> So, maybe the list of tasks would look like this: > > - create unit tests > - create a gem > - rubyfy API (maybe) > - improve samples and documentation > - add missing classes (?) > > Does anyone know what the project''s size is supposed to be? Is this list > too much or too little?I can''t find any guidelines. And a very brief search didn''t reveal any summaries from last year''s SoC that would show what someone else did. I''m sure they''re out there, but they don''t seem to be linked directly from google''s SoC 2005 page. The project runs May 23 - August 21, so it''s 3 months. The SoC materials do not indicate whether they expect full-time work, part-time, or something else. My guess is that they would prefer projects that have clear milestones, rather than tasks like "work on X for a month". Thinking about unit tests: It might take something like a week to get a good simple test framework in place. (I don''t think my early work in that area qualifies, but Roy''s recent work might). Then, if there are 100 wx classes averaging 20 methods each, and each method takes 12 minutes (5 per hour), it would take 400 hours, or 10 full-time weeks, to create a complete test suite. Based on those VERY rough numbers, unit tests alone could consume your entire summer. On the other hand, I suspect you could create a set of gems within a week or two. Creating a really good sample app would probably take several weeks, but not the whole summer.> So, in the next days I''ll have a look at how the application should look > like and how detailed the task description has to be. If all goes well, > I''ll write my application (and hopefully be accepted).Excellent. One of us should also contact the RubyCentral and/or wxWidgets folks to see if they would accept me as a mentor for your project.> PS: Excuse my sometimes long sentences or the clumsy formulation, but > I''m still an English learner :)I couldn''t even tell that you were not a native speaker. Kevin
Kevin Smith wrote:> I just looked at the google site, and the deadline to sign up as a > mentoring organization was the 24th (two days ago). So I (and "wxruby") > can''t be mentoring organizations. Perhaps I could be a mentor through > RubyCentral or wxWidgets, since they both signed up as mentoring > organizations.Yes, I think the idea is that there is a mentoring organisation for each language (or large project), under which small projects are gathered. So, I apply at RubyCentral to work for the wxRuby project and then you can register as a mentor for wxRuby.> The project runs May 23 - August 21, so it''s 3 months. The SoC materials > do not indicate whether they expect full-time work, part-time, or > something else. My guess is that they would prefer projects that have > clear milestones, rather than tasks like "work on X for a month".I won''t be able to work on it full-time, because I have to study until the 7th of July (maybe holiday times are different in the USA than here in Europe). Therefore I hope that part-time is ok..> Thinking about unit tests: It might take something like a week to get a > good simple test framework in place. (I don''t think my early work in > that area qualifies, but Roy''s recent work might). Then, if there are > 100 wx classes averaging 20 methods each, and each method takes 12 > minutes (5 per hour), it would take 400 hours, or 10 full-time weeks, to > create a complete test suite. > > Based on those VERY rough numbers, unit tests alone could consume your > entire summer. > > On the other hand, I suspect you could create a set of gems within a > week or two. > > Creating a really good sample app would probably take several weeks, but > not the whole summer.I have thought about the different possibilities, and now my plan looks like this: - implement a number of classes that are missing in wxRuby2 - try to create unit tests for them So, I won''t be writing _only_ unit tests, and the unit tests I write are about classes I should know (because I "implemented" them). And looking at "What Classes Are Implemented In Wxruby" in the Wiki, there should be plenty of classes to choose. The thing I don''t know yet is the number of classes. What do you think would be realistic? 10, 20, 30?> Excellent. One of us should also contact the RubyCentral and/or > wxWidgets folks to see if they would accept me as a mentor for your > project.Let''s wait with that until I actually have sent my application in. As you can see on the timeline, mentors have time until May 22 to sign up, so there''s plenty of time. (http://code.google.com/soc/mentorfaq.html#34)> I couldn''t even tell that you were not a native speaker.Really? But I''m very unsure, for example, about (at?, of?) using prepositions or linking words or tenses or comma placement. And I needed about an hour to write this e-mail.. But thanks anyway for saying that :) Regards, Robin
Alex Fenton wrote:> A lot of people are really looking forward to see the fruits of all the > work on the SWIG version of wxruby, so any contribution to the current > work of tracking down SWIG/C++/Ruby bugs would be welcome. From Kevin > you''ve the offer of mentoring from a very experienced and astute > developer, and there are other good people with a wide range of skills > involved in wxruby.Sounds good :)> For a SoC project you could also think about trying to add some > substantial new feature to wxruby that helped it stand out as a GUI > package for Ruby. There''s a lot of different possible projects and maybe > there''s something particular that interests you. > > - It could be porting something that''s in WxWidgets, but not in WxRuby - > such as printing support, HTML rendering, Wizards, Sash Layouts etc. > There''s a list of what''s available in WxWidgets but not yet ported to > ruby at > http://wxruby.rubyforge.org/wiki/wiki.pl?What_Classes_Are_Implemented_In_Wxruby > - You could port one of the user contributed WxWidgets components, such > as those at http://wxcode.sourceforge.net/ or the WxAUI > http://www.kirix.com/en/community/opensource/wxaui/about_wxaui.html- > these include really cool GUI elements such as dockable toolbars etc > - Documentation (a user manual, or something that produces accurate > Ruby-style documentation correctly from the WxWidgets docs - there''s > already made some good progress here: > http://rubyforge.org/pipermail/wxruby-users/2005-February/001152.html ) > - Using other ruby libraries in interesting ways - eg linking with > ruby''s unit test facilities, or i18nThank you for this very helpful list! I decided to do the first one, porting some missing classes and also try to create unit tests for them.> Doing any of those sort of projects would probably turn up and help > everyone fix a few bugs on the way too ;)Yes, I hope so :)> good luck > alexThanks, Robin
I just updated the link below manually. It may or may not be accurate. :)>> - It could be porting something that''s in WxWidgets, but not in WxRuby - >> such as printing support, HTML rendering, Wizards, Sash Layouts etc. >> There''s a list of what''s available in WxWidgets but not yet ported to >> ruby at >> http://wxruby.rubyforge.org/wiki/wiki.pl?What_Classes_Are_Implemented_In_Wxruby >> >