Showing posts with label Google Summer of Code. Show all posts
Showing posts with label Google Summer of Code. Show all posts

Sunday, March 18, 2012

GSoC 2012 - how to get started with a proposal

To get started with a proposal I would recommend to look at the BioJava
project proposals from the last two years (and here) and
see what kind of projects got funded and how those proposals were
written. Think about what you would like to work on. Get a copy of
BioJava and see how related features are working. Come up with a plan
on how to extend this.

We are fairly flexible regarding what kind of projects we will run
this summer and this really depends on the submitted project
proposals. All proposals will be compared and ranked together with
other projects from the Bio* projects. As such a good proposal is key
to get funded.

A good proposals shows

- the motivation of the student
- that the candidate is qualified to do what he is proposing
- adds useful new functionality to BioJava
- discusses possible risks and what to do about them

It is difficult to answer questions like "how should I perform this or
that project?" - There are more than one possible path and it depends
on your skills and interest what will be the best answer for this.
Overall I recommend to pick a project on a topic that is close to your
(future?)  thesis, or is of particular interest for you.

Here a couple of more thoughts which are project specific:

-  The best projects are those that you come up with yourself. If you
want to distinguish yours from every other proposal, suggest something
which is not on our list.

- File parsers:

if you want to work on file parsers take a look at existing ones. What
features do they provide? How can they be extended? For example if you
want to work on the CATH parser, take a look at how the SCOP parser
works. What features are available around this (access to domains) and
how can something like this be set up for CATH. Look at how the CATH
website provides files.

- Porting of algorithms:

There are several approaches possible for doing this. I recommend that
you should have some background both in C and in Java for this. Get a
copy of the algorithm you want to port, compile it, and take a look at
the source. There are several ways how to proceed for the actual port
and having a good strategy for this is key for this proposal. Perhaps
try to use your strategy on some simple test case to see how this
might work.

- BioJava in the cloud

The goal here is parallelization of existing code. What parts of
biojava are suitable for this? How can they be parallelized and moved
to current cloud infrastructure? There is a lot of online material
available for this which will be helpful here.

Friday, March 16, 2012

BioJava at at Google Summer of Code 2012

The Open Bioinformatics foundation as an umbrella organisation for
BioJava has been accepted to participate in this year's Google Summer
of Code. 



This means we will again be able to offer mentoring through BioJava
this year. Accepted students will get a stipend of 5,000$ from Google.
Participation is possible from most countries in the world, as long as
you are eligible to work in the country in which you'll reside
throughout the duration of the program.

If you are interested in working on a BioJava related project, now is
the time to start preparing and discussing your proposals. For the
last two years we had many applications for the projects proposed by
mentors. If you want to distinguish your application I recommend to
propose your own  project. Don't forget to discuss any proposal with
us before you submit them. We will try to provide feedback and match
you with a suitable Mentor.

Also see http://biojava.org/wiki/Google_Summer_of_Code and Google's
FAQs: http://www.google-melange.com/document/show/gsoc_program/google/gsoc2012/faqs

The student application deadline is April 6th. Google will announce
which proposals got accepted on April 23rd.

Saturday, October 22, 2011

Google Summer of Code Mentor Summit 2011



This weekend I am spending at the Google Campus for the Google Summer of Code (GSoC) Mentor summit 2011. Just as in the previous years this is organized as an Unconference, a self-organizing conference without a prepared program. Instead the conference starts with the participants developing the program together. This year is the largest Mentor Summit ever and we are about 100 people over capacity (In total we are more than 300).

Hands up, "Who has edited a Wikipedia page?" almost every hand goes up. 

Some GSoC 2011 stats: 

This year Google accepted

48 new organisations 175 total orgs
1115 students
There were over 2k mentors
Students from 68 countries

Session Planning
If people want to organize sessions they have 30 seconds to say what topic they want to propose and write the title on a post-it note. The note will be put on a white board. Then people will vote on what sessions they want to attend. Finally the notes on the board are arranged according how the crowd likes.

After two minutes of planning a line is starting to form and many people are excited to propose sessions. Since so many people are proposing sessions the recommendation is to propose only one session per person.

Small selection of topics:
(too many to mention them all)

Wikipedia integration sucks.
How to build a million dollar computing infrastructure for free.
Open source (OS) gaming
How to pass the 5 developer barrier
OS for international development
LibreOffice: How to revive a project
Open Source for open science
How to build your own internet
GSoC What worked what did not work and how to improve next year.
Creating a cover archive for music
How to integrate semantic web into scientific applications
Visualisation of biological networks
Organizing the effort for documentation
How to get students to become long term contributors
Programmer oriented web semantics
Forming a non profit, how to fundraise for it
How to do telekinetic control of user interfaces
Refactoring the music industry
What to do if you have 100+ sub-modules
Community building
How to make the experience more local
How geeks give away their power with body language
How to get an keep female developers
Astronomy
Usability 
Open source in Asia
Aging project infrastructure
OS in higher education
How goverments can sponsor open source projects
Contribute to Openstreetmap

Detailed Program
http://gsoc-wiki.osuosl.org/index.php/2011
https://docs.google.com/spreadsheet/ccc?key=0AsVnlPsfrhUIdHZPVTlpMWJOZ3JwSHlFOURObEVMWnc#gid=0

Some Pictures


I like the built-in power plugs in the meeting room tables


The Google Tyrannosaurus


Session - Integrating  Creative Commons content

Demo: software to create music videos from Flickr.
Problem: nobody can get attributions right.

Flickr has 200 million CC images. However they are not all using the same variation of CC. Different types of CC are not compatible with each other.

now commenting on Etherpad:

http://etherpad.osuosl.org/integrating-creative-commons-content

Open Science Session
http://willyou.typewith.me/p/gsoc-open-science

Your Wikipedia Integration Sucks
http://etherpad.osuosl.org/IIAp0hzoid


Sunday


Cycling at the Google campus




Non-Profit Infrastructure for Software Freedom
http://etherpad.osuosl.org/im9y39OyFm

Fundraising 101 ("Free as in Freedom So Who Pays for the Beer?")
http://etherpad.osuosl.org/VK23qSKZCb
- plan
- don't depend on only one sponsor
- types of sponsors: indivduals, small businesses in community, businesses that use your software, local, foundations
-per-feature fundraising (-sometimes, be careful)
- What does a sponsor want to buy? - don't sell your email list. not everything is for sale. Virtue, in some cases forgiveness. Hiring
- And what are you prepared to sell? - ads on website, sponsored emails. Non-profits might have tax issues with certain types of ads. (depending on how they look)
- How to find sponsors. Ask everybody, look at your logs, use your mailing lists, be create, brave, hear no, be tenacious.
- Prepare your elevator pitch. Can you explain the benefit of your project in one sentence to an eight year old. Include your contact information. Make it easy to help. For events: plan and be realistic.
- Ask for help and offer help.
- Build a relationship, they might be able to connect you with somebody else who can sponsor.
- Make it easy to contribute, have a "donate now" button. Accept credit card, send thank you email.
- Enable Microdonations
- How to get graphic help. You need to go to where the artists are.


At lunch: a drone, remote controlled from a phone:


Walking around the campus

How to build your own Internet using open wireless










Saturday, October 23, 2010

At the Google Summer of Code Mentor Summit

This weekend I am spending at the Google Summer of Code Mentor Summit. It is a great event hosted at the Google Campus in Mountain View. Below more info about the sessions I am attending.

Sessions:

Overview of all sessions

Student retention

Notes at http://openetherpad.org/student-retention


Measuring Usability

Criteria for usability:

Notes at http://etherpad.osuosl.org/gsoc2010usability
  1.  Abstraction Level
  2.  Closeness of mapping
  3. Consistency
  4. Diffuseness/terseness
  5. Eror-Proneness
  6. Hard mental operations
  7. Hidden dependencies
  8. Junxtaposability
  9. Premature Commitment
  10. Progressive Evaluation
  11. Role expressiveness
  12. Secondary Notation
  13. Viscosity
  14. Visibility
How to make a team use agile development, if they have never done it before
Notes at: http://typewith.me/agile

Liberate your data
Notes at: http://typewith.me/liberate-data


Sunday ...

Open Streetmap 
using Cherokee for quick OSM rendering http://code.google.com/p/cherokee/

Advanced Trolling
(This seems to be the most popular session so far ;-)
Notes at: http://etherpad.osuosl.org/advanced-trolling
http://trolluniversity.com/
the CRAPL license http://matt.might.net/articles/crapl/






Open Source Science


Jim Procter and I organized the Open Source Science session:
http://etherpad.osuosl.org/open-source-science



Friday, October 8, 2010

BioJava's Google Summer of Code summary

Today a slighlty belated summary of what happened at the Google Summer of Code at the BioJava project:

Our two students Mark Chapman and Jianjiong Gao did an amazing job on their two projects "All Java Multiple Sequence Alignment" (MSA) and "Identification and Classification of Posttranslational Modification of Proteins" (PTM).

For Multiple Sequence Alignments we now have a flexible and multi-threaded MSA implementation that works in linear space and that, as an option, allows the users to define anchors that are used in the build up of the multiple alignment. The code is available as part of the new biojava3-alignment module.

The Posttranslational Modification module (biojava3-protmod) can detect three different types of protein modifications in protein structures. It comes with an XML file & Java data structures to store information about different types of protein modifications, and contains entries from RESID, PDBCC and PSI-MOD. There is also a visualisation component to display cross linked PTM on a sequence viewer.

Both Mark and Jianjiong have expressed their interest in maintaining and further developing their modules and I am looking forward to interacting more with them in the future. I want to thank the Mentors and Co-Mentors Peter Rose, Kyle Ellrott and Scooter Willis for their help and guidance for the projects, without them this would not have been possible. Thanks also to Robert Buels and the Open Bioinformatics Foundation for organizing our applications for GSoC and last, but not least, Google for sponsoring this Summer of Code.

Thursday, March 18, 2010

Google Summer of Code 2010

Our (the Open Biology Foundation's) application for the Google Summer of Code has been accepted. http://socghop.appspot.com/gsoc/program/accepted_orgs/google/gsoc2010

I am offering to mentor a project to develop an All-Java Multiple Sequence Alignment algorithm as part of the BioJava project.

If you are an interested and skilled student, take a look at the project description, and if you think you are up for the challenge, send me an email with your application.

http://biojava.org/wiki/Google_Summer_of_Code