More Summer of Code goodness (please forward)

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

and

http://www.rubycentral.org/projects/soc2007/ideas


thanks,
-pate

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.

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. :slight_smile:

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/

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

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,

On 3/20/07, Evan W. [email protected] 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.

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

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 :wink:

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 :slight_smile:

= 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 :slight_smile:

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 :slight_smile: 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 :wink:
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 :wink: 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 :slight_smile:
Now you understand why I did not want to write it down again, but
don’t worry I made some copies elsewhere :wink:

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 !

Hi,

pat eyler wrote:

http://www.rubycentral.org/projects/soc2007/ideas

A Ruby benchmark suite

Great! :slight_smile:

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 :slight_smile:

On 3/21/07, Sylvain Abélard [email protected] wrote:

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

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)

SASADA Koichi [email protected] 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. :slight_smile: (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

  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…