Results tagged “gsoc” from

I'm excited to announce that Parrot Foundation and The Perl Foundation have been accepted as organizations in Google Code-In 2010!

Google Code-In is a contest, similar to Google Summer of Code, where Google pays students aged 13-18 to do tasks designed by open source communities, while learning about open source. Google pays for the work to be done, and we get new members to our communities, while students learn useful skills. It is a big win for everyone.

In 2010, Google Summer of Code was a great success for Perl and Parrot. We got amazing new features in Parrot, Perl 5 and Perl 6 . In 2009, we had similarly spectacular results.

For the students, the benefits are huge. They get mentored by some of the best minds in open source and get "street cred" in the community. This contest also acts as a stepping stone for Google Summer of Code, so students that excel at Code-In will most likely be sought after for future Google Summer of Code involvement. It's also fantastic experience to put on a résumé. I see many Google Summer of Code students get snapped up by respected companies, or accepted to prestigious academic institutions.

The more well-documented tasks we have before that, the more students we will have the potential to attract. I can attest that these kind of contests attract some of the smartest students in the world, so the Perl and Parrot communities have much to gain by being involved.

I expect great results for Code-In as well, but we need your help. The Google Code-In contest opens up for students on:

  • November 22, 2010 at 12:00 AM Pacific Time / 08:00 UTC.

How Can You Get Involved?

  • Add a task to our task list There is a template that you can copy and paste, as well as many examples. Any task related to Perl 5, Perl 6 or Parrot is fair game.
  • Improve the description of an existing task. The more specific a task and the more documentation and links you provide, the easier it is for a student to choose and complete a task.
  • Volunteer to mentor a student on a task. You apply to be a mentor here. Please join the tpf-gsoc-students mailing list and introduce yourself. Provide a brief description of why you are interested when you sign up, so we know you aren't a bot :) Please also join the #gci channel on
  • Tell potential students about Google Code-In and how we are involved. Here is a link to the timeline and FAQ that you can send them, as well as flyers to post.

GSoC 2010 Mentor Summit and Git Together Wrap Up


So many amazing things happened at the Google Summer of Code Mentor summit 2010! I will try to jot a few of them down, before they leave for warmer climates. For those that just want to read all the session notes, you can find them here. Also, if you haven't yet read about how The Perl Foundation and Parrot Foundation fared this summer, you can read about it on the Google Open Source Blog.

It began by arriving a bit early to work with some awesome people on improving the GSoC Mentor Manual by adding a chapter for Organization Admins (there is actually documentation now!) and writing a GSoC Student Manual. This "book sprint" was facilitated by Adam Hyde of FLOSSManuals, and they were written with a completely open source software stack, as well as being released under a Creative Commons license. They are free for anyone to read online and are easily exportable to many formats. Read the Student Manual or the Mentor+Org Admin Manual online now! We even bound 60 copies of the books and handed them out to mentors attending the summit.

Parrot on RTEMS hacking with Chris Johns and Ralf from RTEMS. We used Centos 5 RPMS on Ubuntu 10.04 with rpm2cpio piped to cpio, which was a trick to get around the fact that RTEMS does not have debian packages. It worked remarkably well. I had a cross-compilation environment setup after a few minutes. I think they will be adding these intructions to their wiki. Now that I have the RTEMS toolchain on my netbook, I will be much more productive with regard to Parrot on RTEMS.

Chromatic, Chris Johns and I sat in a room and talked shop about how Parrot and RTEMS can play nicely together. There are still some feature voids on the Parrot side to fill: Parrot calls exit() in various places, which reboots RTEMS i.e. a syntax error reboots the OS. Not Fun. Parrot also needs a C probe to detect RTEMS, which already has a ticket in our bug tracker. A real-time garbage collector will be needed for long-running processes, but for short-lived applications, disabling the GC with the -G command line argument to Parrot will work.

I gave a session with Selena Deckelmann and Bart Massey introducing Troll University, which aims to educate organizations, corporations and open source communities about what motivations and principles trolls use and how to protect against them. We are working on some Trollcasts, so stay tuned!

I also gave a session called Dynamic Language Interoperability, which has been held for the last few years, to my knowledge. The consensus seemed to be that every dynamic language has the same interop problems, and Parrot VM seems to be the only project working hard to solve these complex issues in a general manner. This gives me a lot of hope that people will soon realize that Parrot is full of WIN.

It also came to my attention during the conference that Github hired the student that mentored under them this year to work on libgit2. This is one example of the amazing opportunities that students have after completing a Google Summer of Code. The sky really is the limit. And just in case you think this is an isolated incident, it isn't.

As if writing some books and going the Mentor Summit wasn't enough to totally drain me, I am currently attending the last day of the GIT Together 2010, which is the yearly Git developer and user meetup/unconferencey thing. I have learned so much that I can't even begin to describe it, but if you want to look at session notes, you can find them here.

Google Summer of Code 2010 Final Summary


Google Summer of Code is a global program that offers student developers summer stipends to write code for various open source software projects. Google Summer of Code 2010 went by quickly, and much was accomplished. The Perl Foundation and Parrot Foundation took part this year, and we were lucky to get proposals from very bright and capable students. We started the summer with 10 students and had 8 students pass their final evaluations. The passing projects include:

Ryan Jendoubi -- Ctypes for Perl
Mentor: Reini Urban

This project is exciting many Perl developers, because it would minimize the need to use XS, which will make many more pure-Perl modules possible. This improves portability, becaue XS-based modules are notorious for being fragile across operating systems and compiler versions. This adds up to a whole lot of WIN.

Nat Tuck -- Hybrid Threads for Parrot
Mentor: Andrew Whitworth

Threads allow a single program to use more than one CPU, which is becoming increasingly important these days. Even mobile phones are multicore! This work aimed at adding threading support to Parrot Virtual Machine. Much was accomplished, but this effort is still on-going. So-called "green threads" were implemented, which is a necessary step to get Hybrid threads working.

Tyler Curtis -- A PAST Optimization Framework for Parrot
Mentor: chromatic

This project is about providing a framework for optimizing PASTs (Parrot Abstract Syntax Trees). This will be used by language implementors when optimizing their HLLs (High Level Languages). This framework allows all languages on Parrot to benefit from optimizations that are written once, instead of each language implementor writing their own optimizations.

Daniel Arbelo Arrocha -- NFG and single-representation strings for Parrot
Mentor: Allison Randal

NFG stands for Normal Form Grapheme, and basically means having a standard internal representation of Unicode strings, so that very expensive conversions do not have to repeatedly take place. This makes string-heavy computations much faster and unifies a lot of code.

Carl Masak -- Add support for binary data in Rakudo
Mentor: Jonathan Worthington

Rakudo Perl 6 now supports various binary data formats that were implemented as part of this project. Many relevant tests were also added to the Perl 6 Spec Test Suite as well as improvements and clarifications to the Perl 6 Specification.

Muhd Khairul Syamil Hashim -- Instrumentation Tool for Parrot
Mentor: Christoph Otto

This instrumentation tool for Parrot allows one to dynamically peek into the execution of Parrot op-codes. This allows for writing profiling tools that can answer questions like "who calls functions X" and "how many Objects of type X were created."

John Harrison -- Improvements to NCI/LLVM Stack Frame Builder for Parrot
Mentor: Peter Lobsinger

This project is a prerequisite for a JIT (Just In Time compilation) framework, which is an important goal for the Parrot community, since Parrot decided that our old JIT subsystem was broken beyond repair and removed it. Parrot has decided to use the very popular LLVM project in our rewrite of our JIT, and this project brings us a step closer on our journey.

Pawel Murias -- Mildew and SMOP on CPAN
Mentor: Daniel Ruoso

This project involved working on Mildew and SMOP. Mildew is a Perl 6 implementation, and SMOP is the library Mildew uses for meta-object programming. You can think of Mildew as a sister to Rakudo Perl 6. Having many implemenations of Perl 6 helps to better define the Perl 6 specification. Updated versions of SMOP and Mildew are now available on CPAN.

The failing projects were:

Justin Hunter -- Rework Catalyst framework instance initialization code
Mentor: Florian Ragwitz

Mirko Westermeier -- Bulletproofing the Mojolicious test suite
Mentor: Marcus Ramberg 

Both of these projects passed their midterms, but due to circumstances outside of the program, these students were not able to complete their goals for their final evaluation. Sometimes Real Life throws you a curve ball, like starting a new job, moving to a new city, having a baby and similar things. We wish these students the best of luck, and hope that they complete their projects outside the structure of GSoC.

I am very proud and humbled by all the students and mentors that I worked with this year. I am constantly reminded that there are very intelligent developers that are very young, and The Perl Foundation and Parrot Foundation is very lucky to attract them and have them in our communities. I firmly believe that the passing GSoC 2010 projects have made a large positive impact on our codebases and many people will benefit from them for years to come.

Rock on and keep spreading the Open Source love!

Google Summer of Code 2010

I am working on the application for The Perl Foundation and Parrot
to participate in Google Summer of Code 2010. GSoC is a
program where Google funds eligible students to hack on open source
projects for a summer. It is a great opportunity for the students and
the communities that mentor them. You also may be interested in this
summary of our involvement last year . Our application will be
submitted by the end of this week.

Please join us in getting prepared for this year. There is a page for
possible mentors to volunteer as well as a page for 
project ideas . If you would like to help with the wiki, our 
main GSoC page is the best place to start. You are also invited to join 
our mailing list  and come ask questions in #soc-help on .

GSoC Bird of Feather Session at OpenSourceBridge


The first day of OpenSourceBridge was amazing and we finished it off by having a Bird of Feather session for people involved and/or interested in Google Summer of Code.

gsoc_bof_osbridge1.jpgI know that it was very helpful to hear and talk about how the current GSoC is going with my fellow organization admins, mentors and students. Cat Allman, Ellen Ko and Leslie Hawthorn contributed a lot of knowledge and experience about how to deal with things when they go pear-shaped, and I even met an organization and mentor that are my neighbors! Some of the great ideas that came out of this were that first-year organizations would be greatly helped by having a "buddy" organization that has been involved in GSoC before, so that a brand-new organization admin can have a friendly ear to bend when they need help. I mentioned this because I usually bend Bart Massey's ear when I need some GSoC guidance, and I thought that other first-year admins could also greatly benefit from something like this.

I was a mentor for the The Perl Foundation last year, with the Math::GSL project and this year I find myself the organization admin as well as a mentor for the Math::Primality project, which implements advanced prime-checking algorithms for Perl 5. It is definitely a big step to go from mentor to admin and meeting up with people in the same situation really helps!

I will definitely be going to OpenSourceBridge next year and hope that we have a GSoC meetup there again.

Google Summer of Code Updates

If all the dates and timelines of Google Summer of Code have you confused, this nice color-coded visualization of each part of the summer may help make it more sense.

Next week is the super-cool-with-extra-awesomesauce conference Open Source Bridge, which is all about being an "open source citizen." ( I recently had to explain to someone that it was not an "Open Sores Conference". Much hilarity ensued) . There will be many open source folk from around to globe, including many GSoC mentors, students and the program manager, Leslie Hawthorn. This prompted me to create a Bird of Feather session for GSoC people. This is for anybody that has every been part of GSoC or is interested in participating in the future. Come on by and hang out!

As always, you can find us in #soc-help on if you want to get involved.

The Perl Foundation GSoC2009 Roundup

So much has been going on this summer of code! As a recap, TPF got nine student slots this year, which means we have nine mentors and nine students working on various things this summer. Here is a sample of what has been going on recently.

Pascal Gaudette describes his love for debugging tricky HTTP/1.1 issues in Mojo
and has even added a "featurette."  Devin Austin has been talking about
eviscerating Catalyst::Helper and Daniel Arbelo Arrocha has thoughtfully
detailed the difference between bonding and bondage. My student, Robert Kuo,
has been busy reading the mathematical paper and example C implementation  of
the Strong Lucas Pseudoprime primality test for Math::Primality . While installing Math::GMPz, which we use to access the GNU Multiprecision Library (GMP), he found a small issue which caused some test failures and submitted a bug report.

Math::Primality also very recently gained a working is_prime() method, which
works for arbitrary sized integers, due mostly to Robert Kuo's implementation
of is_strong_lucas_psuedoprime() being finished. Now you can test for prime numbers in Perl without installing Math::Pari! More about this in a separate post!

Ryan Jendoubi is working on a Perl interface for wxWebkit and Hinrik Örn Sigurðsson
is working on the command line utility to read Perl 6 documentation called grok.
Justin Hunter has been hacking on his blogging software so that he can blog about
his work on SQL::Translator. Sometimes it's a vicious cycle...

Back to hacking on some code!

Perl Mongers, Where Are Your GSoC students?

Are you a Perl Monger group that hasn't yet found a student to apply for Google Summer of Code? Now is the time, the deadline is this Friday, 3 April 17:00 UTC/12 Noon PDT! Adding your trials and tribulations to the TPF wiki is still valuable, even if you did not end up finding a student. It is valuable to know which PM groups are trying to do outreach in the community and how other PM groups can help.

Students, The Application Deadline for GSoC is Close!

  • Why Google Summer of Code Should Matter To You
If you are a student, many of the great opportunities that GSoC opens up are described in this video, Code Conversations #3 with Leslie Hawthorn. She goes into many success stories of previous students and talks about how there is room for all skill levels, not just experts. There is also a Youtube video made by Joshua McAdams about The Perl Foundation and Google Summer of Code.

  • Deadline
The deadline is this Friday 3 April 2009, 17:00 UTC/12 Noon PDT, so now is the time to submit your application! There is the project ideas page for you to see what there is to hack on and the application template to hammer your ideas into a plan. We have a  google group for students to ask questions and there are always some helpful people in #soc-help on to ask. For up-to-the minutes status updates, follow me on twitter and/or search for the "#gsoc" tag on your favorite aggregator.

  • Project Ideas
Some really good ideas that don't have application yet are:

  • Work on the Perl 6 Test suite, (really important!)
    • Object system (multi method dispatch, object creation, role mixin), introspection
    • Regexes/grammars: inheritance, action methods for grammars, structure of Match objects; built-in rules; modifiers.
    • built-in types, especially container types (like KeySet, see S02)
    • Exceptions, control exceptions, catch-blocks
  • Advanced primality testing for Perl, necessary for testing native cryptography
  • YAML parser as a PGE grammar wrapped by Perl 6 module
  • Port Crypt::Random to Rakudo
  • Work on IO subsystem in Rakudo
  • Add Callgrind output to Parrot
  • GSL bindings to Parrot via NCI
  • November, a Perl 6 wiki engine
  • POE (Perl Object Environment)
Students, submit your application now and get feedback from the community on the GSoC webapp, Melange! Now is the best time to get involved in the open source project that you have always dreamed of working on and get paid to do it

GSoC Info-Session Roundup

Eric Wilhelm and I attended a Google Summer of Code info-session at UWashingtion on Friday, which was attended by a few dozen students that had very diverse backgrounds and interests. We answered many basic questions about how mentoring works, especially when mentors and students are spread across time zones and language barriers.
Trista Taylor (a university liaison for Google) had slides and gave an overview of what GSoC is about, then Eric did a general overview of the state of Perl. I followed up with some specific about what TPF did last year and some hints for prospective students on these slides. Then Craig Dowell from the ns-3 Network Simulator Project talked about their organization's involvement and experiences in GSoC. All around it was a good experience and many students that had never heard of GSoC before got a taste for what it's all about.

I would definitely recommend doing this to other mentoring organizations and I am definitely interested in further activities strengthening the ties between Perl and academia.

GSoC 2009 Mentor Signup Form Go!

I have created a Google doc web-form/spreadsheet to keep track of mentor interest and to have handy when I fill out the GSoC mentor organization application. If you have emailed me expressing interest in being a mentor, please fill out this spiffy web-form so that logistic nightmares can be averted.

Upcoming GSoC dates

  • March 9-13  Mentor organization application period
  • March 18  Mentor organizations announced by Google
  • March 23 - April 3 Student application period
Yes, that is right, all student applications must be done in a month, so start writing and hacking and Jolly good day!

Applying to Google Summer Of Code 2009 with The Perl Foundation

Are you an eligble student that wants to participate in the Google Summer of Code 2009? Do you want to work on the exciting Rakudo or Parrot projects, or a CPAN module, or your favorite Perl application, or hack on Perl 5 internals? Then you want to apply to The Perl Foundation. Right now this means contacting me directly at jaleto at gmail dot com. Keeping in contact with Twitter is also good, the #gsoc tag is very useful.  You may also want to get some ideas from the 2008 projects.

Applying involves coming up with a well-written document that describes exactly what features you will add or create, along with a timeline with "milestones" of what will be accomplished each week of the summer. Of course this changes with circumstances, but having a good plan always helps. The community members of the project that you apply to should help you with this, as well as give you advice about what is possible in the allotted time and give advice as to what is possible with the current infrastructure of the code. The best ways to do this is to get on developer mailing lists, introduce yourself, perhaps fix a small bug, add a test or some documentation and most probably you will be given some kind of commit access.

If you want to hack on Perl 6 on Parrot aka Rakudo, then all you need is a free GitHub account and you can contribute patches directly. You do this by pressing the  "Fork" button. You should be presented with a page that says there is some "hardcore forking action" going on and then be redirected to your brand-new fresh personal fork of Rakudo. More on this in future posts.

One of the nice features of GitHub is the network-view of a project. For instance, here is the network view of rakudo.git with a base of my fork.  It allows you to visualize which branches have which features pretty quickly, which tells you which branches you should merge with. This has turned out to be immensely useful in all of the GitHub repos that I hack on.

I am interested in being a mentor for TPF this year as well, and some of the random projects that I would be interested in mentoring are:

Other projects that students may want to check out are:

  • November - A wiki engine written in Perl 6
  • Moose - A modern Perl 5 object system
  • Catalyst - A very popular Perl web framework
  • Mojo - A "next generation" web framework for the Perl programming language.
There are tons of other projects, if you are one of them, please let me know!

Students, start getting to know the developer community of the projects now, deadlines are fast approaching!
Clicky Web Analytics 42