# More Summer of Code goodness (please forward)

**URL:** <https://www.ruby-forum.com/t/more-summer-of-code-goodness-please-forward/89387>\
**Category:** Ruby\
**Created:** [March 20, 2007, 1:59am UTC](https://www.ruby-forum.com/t/more-summer-of-code-goodness-please-forward/89387 "2007-03-20T01:59:33Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![pat\_eyler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/858c86/32.png) [@pat\_eyler](https://www.ruby-forum.com/u/pat_eyler)\
**Post date:** [March 20, 2007, 1:59am UTC](https://www.ruby-forum.com/t/more-summer-of-code-goodness-please-forward/89387/1 "2007-03-20T01:59:33Z")

</div>

RubyCentral is proud to announce that we have our Summer of Code and  
Summer of Code Ideas pages up. Please go enjoy the html goodness at:

[http://www.rubycentral.org/projects/soc2007](http://www.rubycentral.org/projects/soc2007)

and

[http://www.rubycentral.org/projects/soc2007/ideas](http://www.rubycentral.org/projects/soc2007/ideas)

–  
thanks,  
-pate

---

<div class="post-metadata">

**Author:** ![pat\_eyler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/858c86/32.png) [@pat\_eyler](https://www.ruby-forum.com/u/pat_eyler)\
**Post date:** [March 21, 2007, 5:17am UTC](https://www.ruby-forum.com/t/more-summer-of-code-goodness-please-forward/89387/2 "2007-03-21T05:17:40Z")

</div>

pat eyler wrote:

> RubyCentral is proud to announce that we have our Summer of Code and  
> Summer of Code Ideas pages up. Please go enjoy the html goodness at:

Is there any way to formally suggest an idea for students to pursue,  
besides posting to ruby-talk or elsewhere? I, and all of computational  
biology, are dying for a way to access Perl and/or Python libraries from  
Ruby.

Evan W.

---

<div class="post-metadata">

**Author:** ![pat\_eyler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/858c86/32.png) [@pat\_eyler](https://www.ruby-forum.com/u/pat_eyler)\
**Post date:** [March 21, 2007, 7:01am UTC](https://www.ruby-forum.com/t/more-summer-of-code-goodness-please-forward/89387/3 "2007-03-21T07:01:30Z")

</div>

Evan W. wrote:

> Evan W.

Yeah, I looked at the Squeak ideas page and it looked like a bunch of  
people with existing projects looking for help. 🙂

Speaking of computational biology, there _is_ a working bridge from Ruby  
to R now, thanks to Alex G. and the RSRuby project. Now that I  
think of it, he’s a PhD student. Anyhow, you can get to BioConductor via  
Ruby now, although you still have to know enough R to be able to call an  
R function and receive its results.

–  
M. Edward (Ed) Borasky, FBG, AB, PTA, PGS, MS, MNLP, NST, ACMC(P)  
[http://borasky-research.blogspot.com/](http://borasky-research.blogspot.com/)

If God had meant for carrots to be eaten cooked, He would have given  
rabbits fire.

---

<div class="post-metadata">

**Author:** ![pat\_eyler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/858c86/32.png) [@pat\_eyler](https://www.ruby-forum.com/u/pat_eyler)\
**Post date:** [March 21, 2007, 11:20am UTC](https://www.ruby-forum.com/t/more-summer-of-code-goodness-please-forward/89387/4 "2007-03-21T11:20:54Z")

</div>

Hello,

I’m really sorry but I typed a really long message about GSoC, my  
application and my  
project ideas, and forgot to save it elsewhere.

Since I were not a member of this group at that time, it has been  
lost.  
Does anyone know how to get it back ? I typed it in the Google Group  
web interface  
(darn, I should only trust my faithful emacs gnus !).

Thanks,

---

<div class="post-metadata">

**Author:** ![pat\_eyler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/858c86/32.png) [@pat\_eyler](https://www.ruby-forum.com/u/pat_eyler)\
**Post date:** [March 21, 2007, 1:25pm UTC](https://www.ruby-forum.com/t/more-summer-of-code-goodness-please-forward/89387/5 "2007-03-21T13:25:16Z")

</div>

On 3/20/07, Evan W. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> pat eyler wrote:
> 
> > RubyCentral is proud to announce that we have our Summer of Code and  
> > Summer of Code Ideas pages up. Please go enjoy the html goodness at:
> 
> Is there any way to formally suggest an idea for students to pursue,  
> besides posting to ruby-talk or elsewhere? I, and all of computational  
> biology, are dying for a way to access Perl and/or Python libraries from  
> Ruby.

Post (or email me) something, and I’ll post it on the ideas page.

---

<div class="post-metadata">

**Author:** ![pat\_eyler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/858c86/32.png) [@pat\_eyler](https://www.ruby-forum.com/u/pat_eyler)\
**Post date:** [March 21, 2007, 6:06pm UTC](https://www.ruby-forum.com/t/more-summer-of-code-goodness-please-forward/89387/6 "2007-03-21T18:06:58Z")

</div>

OK, so I have free time on my hands and posting it again 😉

This may be long so I’ll write first things first :

- Can I apply ?
- Can RubyCentral be my mentor ?
- If so, should I rather take a real Ruby project ?
- Do my project look good ?

= APPLICATION, TIME REQUIRED =

I don’t know whether I’ll have enough time to do GSoC because I have  
work to do at school until mid-july. But then it can still be possible  
if school work does not take so much time. Last year was hardcore and  
I am used to working 70+ hours a week. So if my school only takes me  
30 to 40 hours per week in June-July I can still do a great  
project 😉

Are GSoC students supposed to be working harder than basic guys in  
companies (50h/week) or are they considered as students during summer  
that will go to parties every night or even have weekends (25h/week) ?  
If more than 40h a week are a minimum then I guess I’ll just have to  
forget about it.

There is still the possibility that I ask my school to include GSoC in  
my scholarship, giving me more time to work on it and replace a  
project my friends are going to do with a grade about my GSoC, if my  
GSoC project gives me skills in a same field as the project, but they  
are a bit long to decide and applications are due soon.

= RUBYCENTRAL AS A MENTOR =

My project is not a project _for_ the Ruby community, but merely  
_using_ Ruby, which is my favorite language and is quite good for  
manipulating text. Is that still eligible for RubyCentral to be my  
mentor ?

I like the spirit and philosophy of Ruby and its community has always  
looked great, so that would really motivates me if I could work with  
Ruby-guys 🙂

= PROJECTS I CAN HELP WORKING ON =

There are projects I’d be glad to work on improving for the community,  
such as ZenSpider’s tools (RubyInline, Ruby2C) or some ambitious VM  
projects (YARV, rubinius).

The question is : I think I’m quite good, but when I look at that it  
seems to hard. But I like challenges and I’ve done complicated stuff  
before, so are these the kind :

- super hard, but when you really look at it you find that you can do  
it !
- super hard, only semi-gods can even understand it (which I’m not) !

Sorry for forgetting to be humble but I think I’ve done quite hard  
stuff before. I have good understanding of some subjects : my school  
made us recode many parts of the C standard lib with only a very small  
set of available function (ex: recoding malloc with only brk/sbrk.  
Other functions are restricted to assert, perror, exit, write and  
getenv). I value this because when shit happens, I can understand what  
I’ve done wrong 🙂

I also had opportunities to discover many things : I’m no expert but I  
tried fun stuff such as distributed programming, image processing,  
functional languages (OCaML) or just stuff that are interesting and  
challenging to do (ObjectiveC, tiny tiny bits of Lisp, …) which made  
me curious and allow me to quickly match what I’m learning now to  
parts I’ve already heard of.

Now that you semi-gods know me, is your project still too hard for me  
or do you think I just have to read many doc then I can join in ?

That said, I don’t think the other ideas are bad 🙂 I just don’t know  
them all, and I try to ask for the projects that motivates me the  
most, that’s only natural.

= MY PROJECT IDEA =

OK, now my project idea : when given a report to write, I want to help  
the teacher spot the cheaters (massive copy-paste from Wikipedia or  
other docs).

This is really something that is resource consuming, so what I want to  
do is not having to diff every file against every other file, so I’d  
like to implement heuristics that lead to a “signature” of the  
document that would be easy to compare with many other “signatures” so  
that I can show the teacher parts of documents that are highly  
suspicious.

I think the “extract-the-docs-signature” part can be slow and  
complicated, but I’d really like the signatures comparison to be super  
fast. I also prefer to let cheaters go unsuspected than to overwhelm  
the teacher with many cheat warnings (or my tool would defeit its  
purpose, which is easing the teachers’ life), but that can only be a  
parameter in the heuristics.

It has some sub-parts around it such as asking the teacher the other  
students’ documents, asking the keywords and getting a few first docs  
from Google : cheaters are lazy 😉  
I also don’t want my program to be too “google-heavy”.

What I am thinking as a first heuristic would be taking the words’  
size. If in two documents there is the same sequence of 20 words with  
the exact same length, this really seems suspicious. Of course, since  
I have said that I want to reduce greatly the number of suspicious  
parts, I can spend time on ‘critical’ parts and make some other  
algorithm run on them, so I can see if that signatures resemblance  
was only chance (ie. thinking this mail has been copied-pasted from  
Hamlet).

In my school there is such a tool for comparing students’ source code  
(we are not allowed to look at it of course, and maybe that’s just  
bluff ^^). That’s easy to do with code since there is a strict  
grammar, preprocessor tools and so on : a basic attempt of concealing  
cheat such as changing the variables’ names does not work. Of course  
two sourcecodes with the same AST would be VERY suspicious.

I’m willing to try this approach during my GSoC if this is necessary,  
but I know natural language processing is hard (impossible ?) even for  
researchers that are far more intelligent than I am 😉 But hey, maybe  
I’ll even be able to catch people that are merely paraphrasing  
Wikipedia !

As you see my thinking is not complete and I have many points to  
study. If some people are ever interested in that, even not for GSoC,  
please feel free to contact me ! I may not have lots of free time but  
hey, let’s try !

= THANKS ! =

Thanks to anybody having read until here 🙂  
Now you understand why I did not want to write it down again, but  
don’t worry I made some copies elsewhere 😉

I’m looking forward to your answers and I’m beginning to enjoy Ruby-  
talk, but alas that’s quite time-consuming and my school is forcing me  
to do an awful J2EE project due very soon, I miss Rails so much :’(

Thanks again everyone !

---

<div class="post-metadata">

**Author:** ![pat\_eyler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/858c86/32.png) [@pat\_eyler](https://www.ruby-forum.com/u/pat_eyler)\
**Post date:** [March 26, 2007, 2:59pm UTC](https://www.ruby-forum.com/t/more-summer-of-code-goodness-please-forward/89387/7 "2007-03-26T14:59:56Z")

</div>

Hi,

pat eyler wrote:

> [http://www.rubycentral.org/projects/soc2007/ideas](http://www.rubycentral.org/projects/soc2007/ideas)

> A Ruby benchmark suite

Great! 🙂

I have more ideas.

1. Scheme or JavaScript on Ruby/YARV

YARV has own assembler (lib/yasm) which can be write in Ruby. Compiling  
Scheme or JavaScript or something you like achieve Inline::XXX on Ruby.

Please pointed out the lack of YARV instructions and yasm functions.

1. Ruby/YARV Continuation Support

Some people love demos with continuation. Let’s make fake callcc  
support that can show demos. Everyone cannot discover what it’s a fake  
implementation because they don’t use it in their applications.

…it’s joke. but almost truth. True goal of this project is to  
implement complete callcc support.

1. Ruby/YARV Partial Continuation Support

Partial Continuation is what we need (I believe). Design this API and  
implement it. It will need realistic limitation. But it will be  
realistic answer who want to use generator, or so.

1. Userlevel threads on Ruby/YARV

YARV uses native thread instead of traditional userlevel thraed. It’s  
good idea to some points, but bad idea to some points. Let’s implement  
userlevel thread system on YARV. If you implement it, you can run YARV  
on DOS machine.

1. Simple Simple test suits

Ruby has own test cases in Test::Unit. But to work Test::Unit is too  
difficult for alternative implementation which built from scratch.  
Current YARV has “bootstraptest” to test primitives. Your goal is to  
enlarge this test items.

6…

* * *

Yes, I know that it’s too late. So you can try above issues if you are  
not a student 🙂

---

<div class="post-metadata">

**Author:** ![pat\_eyler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/858c86/32.png) [@pat\_eyler](https://www.ruby-forum.com/u/pat_eyler)\
**Post date:** [March 21, 2007, 6:15pm UTC](https://www.ruby-forum.com/t/more-summer-of-code-goodness-please-forward/89387/8 "2007-03-21T18:15:00Z")

</div>

On 3/21/07, Sylvain Abélard [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> OK, so I have free time on my hands and posting it again 😉
> 
> This may be long so I’ll write first things first :
> 
> - Can I apply ?

yes, I think so

> - Can RubyCentral be my mentor ?

yes. If you and your project are accepted

> - If so, should I rather take a real Ruby project ?

I’d prefer projects that help the Ruby community (or one of its  
sub-communities), but your idea certainly looks reasonable.

> - Do my project look good ?

As above. I’d like to see some additonal detail around  
project plans (testing/verification and timelines especially)

---

<div class="post-metadata">

**Author:** ![pat\_eyler](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/858c86/32.png) [@pat\_eyler](https://www.ruby-forum.com/u/pat_eyler)\
**Post date:** [March 26, 2007, 9:11pm UTC](https://www.ruby-forum.com/t/more-summer-of-code-goodness-please-forward/89387/9 "2007-03-26T21:11:26Z")

</div>

SASADA Koichi [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> 1. Ruby/YARV Continuation Support

> 1. Ruby/YARV Partial Continuation Support
> 
> Partial Continuation is what we need (I believe). Design this API and  
> implement it. It will need realistic limitation. But it will be  
> realistic answer who want to use generator, or so.

Yay, I’ve been thinking that for years and that includes  
2. actually. 🙂 (I’m not sure how to do it without CPS, though. I  
think Ocaml has some primitives for it.)

[http://www.chneukirchen.org/blog/archive/2005/04/shift-reset-and-streams.html](http://www.chneukirchen.org/blog/archive/2005/04/shift-reset-and-streams.html)

> 1. Simple Simple test suits
> 
> Ruby has own test cases in Test::Unit. But to work Test::Unit is too  
> difficult for alternative implementation which built from scratch.  
> Current YARV has “bootstraptest” to test primitives. Your goal is to  
> enlarge this test items.

I think zenspider has a Test::Unit::Mini or something; a single,  
simple file…
