Summer of Code Applications Open

Student Applications for the Google Summer of Code 2012 are now open. If you are a student and want to spend your summer hacking on cool software and potentially making a difference to the lives of millions of people, read the Mozilla list of ideas (or come up with your own), and apply. Need a summer job? Flip bits, not burgers!

Established Mozilla people: if you know someone who’s a student, please get them to consider applying!

Summer of Code 2012

Google has announced that they will be running the Summer of Code again this year, 2012. The Mozilla Project has had the honour of participating in every SoC so far, and intends to submit a request to take part again. This means we need to produce a list of suitable student projects in the next four weeks.

For those who are not familiar with it, Summer of Code is where Google pays students to work on free software projects – as long as those projects can provide support and a mentor for the particular task the student is undertaking. This is a great opportunity for us as a project to introduce new people to Mozilla, and for you as an individual to get new people involved in your team :-) In the past, it has been the source of major features of our flagship products. For example, the 3D web page debugging tool Tilt started life as a SoC project.

It doesn’t matter where in Mozilla you contribute. We are collecting project ideas for every part of the project – Firefox, Thunderbird, Camino, SeaMonkey, Bugzilla, L10n, NSS, B2G, IT and many more. Can you think of an 8-week-sized task you might be able to guide a student through?

If you have a proposal, head over to the Brainstorming page, which is our idea development scratchpad. Please read the instructions at the top – following them vastly increases your chances of your idea getting added to the formal Ideas page.

Note that, in order to have much chance of going ahead, ideas need to have a suitable mentor. So if you submit an idea and you aren’t available to or suitable to mentor it, you may want to go about trying to find one by politely emailing experienced hackers in the appropriate areas of the code.

The Impossibility Of SOPA

It has been suggested that if SOPA or PIPA pass, then sites with user-generated content would need to review it all manually for copyright violations.

What would it look like for YouTube, if a reviewer had to watch every minute of video?

  • About 48 hours of video a minute is uploaded to YouTube (that figure is from May 2011, so it’s probably more now, but let’s go with that as a conservative estimate)
  • 48 hours a minute is 483,840 hours a week
  • If the reviewers worked 40-hour weeks, you would need 12,096 of them (plus a thousand or so more for holiday cover) – call it 13,000
  • If you paid them all at the US Federal minimum wage of about $15,000, it would cost $195 million per year.

But, of course, you couldn’t start the reviewers straight out of high school. First, they’d need to watch the 100 years of video which has been submitted to YouTube by content owners, so they knew a copyright violation when they saw one. (They wouldn’t be able to detect copyright violations of the content of independent filmmakers or individuals, but hey, this system isn’t about them, is it?)

The problem is that after watching 100 years of video, those who aren’t dead would have pretty poor eyesight. It would also introduce an unacceptable delay in getting the system up and running. So the job needs to be parallelized. Specialization is the key. One set of reviewers could watch all the musicals, and another could focus on vampire movies. (They might need paying extra.) If we got each trainee reviewer to spend 3 years exclusively watching Hollywood movies, TV network serials and listening to major-label music (drawing parallels with the average college degree is left as an exercise for the reader) then we could get the system up and running faster. However, we’d need 33 times more reviewers – 429,000 in all, making the cost $6.4 billion.

For comparison, 429,000 people is about 1 in 30 of the entire jobless population of the USA, and $6.4 billion is approximately 60% of Google’s annual profits. These resources would be spent entirely on content checking for YouTube, without considering Google’s other sites which take user-generated content, or Facebook, or any other social site.

There is just too much user-generated content to check it all manually, and automatic methods will never be 100% effective. So how do SOPA proponents expect that sites like YouTube can possibly remain open and legal? It’s impossible.

Does “Evil” Include Lying To Get Business?

It seems that Google has not yet managed to implement “Don’t Be Evil” worldwide in their organization.

Here is the story of representatives of Google systematically lying about their relationship with another company (whose public directory they were using to get contacts) in order to get business. Stefan Magdalinski (who I have met a couple of times) has amassed a conclusive portfolio of evidence, including taped phone conversations, of a persistent campaign of such lies.

These people were clearly working to a script. Therefore, someone somewhere within Google authorized these call centre employees in Kenya and India to lie about Google’s relationship with Mocality. That person should be fired.

We recently saw Google do the right thing in relation to another part of their company which had broken their advertising guidelines. Let’s hope we will see the same again.

[Update 2012-01-17: The plot thickens.]

GSoC 2011 Project List

The Google Summer of Code kicked off a week ago, and I am pleased to list the projects being done under the Mozilla banner. The name of each student is linked to the location where they will be posting weekly updates on their progress, if you want to follow along with a project you are interested in. And I’m sure they would appreciate any help or advice you have :-) Please make them feel welcome!

Project Student Mentor
Non-solid border rendering improvements Anil Shanbhag fantasai
WebCL add-on Adrien Plagnol Anant Narayanan
Implement JDK7 InvokeDynamic in Rhino Phani Rohit Mullangi Hannes Wallnöfer
Further Scalarization of Trace Segments in Tracemonkey Igor Rafael David Mandelin
HTML Speech API implementation Roshan Vidyashankar Olli Pettay
Full offline mode for Lightning Mohit Singh Kanwal Ludovic Marcotte
Improvements for the New Calendar Wizard Lennart Bublies Philipp Kewisch
Integrate Transifex l10n platform for Extensions Tim Babych Zbigniew Braniecki
Javascript implementation of the XMPP protocol Varuna Jayasiri Florian Quèze
JPEG XR Library Chris Harding Jeff Muizelaar
MediaWiki parser in Python Peter Potrowl Erik Rose
Tilt: a WebGL-based 3D visualization of a web page Victor Porof Rob Campbell

Summer of Code 2011

The Google Summer of Code 2011 has been launched. The Mozilla Project has had the honour of participating in every SoC so far, and intends to submit a request to take part again. This means we need to produce a list of suitable student projects in the next four weeks.

We are collecting ideas for every part of the project – Firefox, Thunderbird, Camino, Seamonkey, Bugzilla, L10n, NSS, Drumbeat and many more. If you have a proposal, head over to the Brainstorming page. Please read the instructions at the top – following them vastly increases your chances of your idea getting added to the formal Ideas page.

Note that, in order to have much chance of going ahead, ideas need to have a suitable mentor. So if you submit an idea and you aren’t available to or suitable to mentor it, you may want to go about trying to find one by politely emailing experienced hackers in the appropriate areas of the code.

Don’t Build Your Business On AdSense (Or Bank at Barclays)

Don’t build your business on AdSense – that’s what this story tells me, loud and clear.

On Monday the 13th of December – two weeks before Christmas – I was sacked by a Google algorithm.

It sent an email to me and summarily killed my main source of income. No humans were involved in this process at all. It was, literally, the most inhumane letting go I have ever experienced.

As well as ‘letting me go’ the Google Algorithm also confiscated all my earned income October 31st to December 13th. Tough indeed – and no human has ever done that to me; they have always paid me for work done.

In related news, I changed banks this week, from Barclays to HSBC, after 23 years as a Barclay’s customer (I got my first account when I was 9). Why? After I got married, we had my accounts made into joint accounts, but Barclays refused to give my wife a debit (note: not credit, debit) card so she could spend our money! Like the story above, it was an algorithm which said “No” – credit scoring in this case. (Although she’s never been in debt and has no adverse events on her credit report.) There was an automated appeal process, but once that had failed, the people in our local bank branch were utterly powerless to do anything about it, or even tell us what needed to be fixed. Despite me having no history with them, HSBC were much more accommodating. So much for the value of being a loyal customer.

The difference between the two stories is that there is at least some competition in the UK banking sector. How much is there in the online ad market?

Summer of Code 2010 Projects

Summer of Code 2010 kicked off this week, with Mozilla having 13 slots. Here are the projects, students and update locations if you want to keep an eye on what they are doing:

Title Student Mentor Updates
Quick Look support for attachments in Thunderbird Khoi Nguyen Le Duc Blake Winton and Gary Kwong Blog
New automated tests for the Fennec front end Aditya Rao Joel Maher Blog
Mail Store interface and implementation for Mbox and Maildir in Thunderbird Andrey Terentyev David Bienvenu Wiki page
Support for TLS 1.1 (RFC 4346) and TLS 1.2 (RFC 5246) in NSS Kuat Eshengazin Robert Relyea Wiki page
RSA-PSS signatures in NSS Johannes Boeck Wan-Teh Chang Blog
Weave Sync engines for tabs and Mail/News status for SeaMonkey Harini Sirisena Robert Kaiser Blog
Multitouch Simulation Framework Diego Hernan Rodriguez Colmeiro Felipe Gomes Blog
Multitouch Simulation and User Interface integration into Firefox Anirudh Sharma Felipe Gomes Blog
Hook / Stub mechanisms for Lightning; improve alarm support Anirvana Mishra Ludovic Marcotte Blog
New add-on package system for Firefox Hebert Duarte Jorge Villalobos Blog
Social Bugzilla Extension Wenjin Wu Guy Pyrzak Blog
Improved automated UI testing for Lightning Meharuban Mahadeva Merike Sell Blog
Naive Bayes algorithm to automatically classify emails in Thunderbird Ian Lienert Blake Winton Blog

My Pledge Sends Mapper to Antigua

When Google launched their Map Maker community mapping tool last year, they included loads of Caribbean islands. This led Ed Parsons (chief Google Maps guy) to make a comment at State of the Map (the OSM conference) in Limerick that he was sad there wasn’t any fieldwork involved.

This off-the-cuff suggestion, and a spirit of friendly competition, caused me to set up a pledge on the PledgeBank website. People pledged to improve OpenStreetMap’s coverage in the Caribbean themselves by tracing over available aerial imagery, and to donate £10 each towards sending one lucky mapper on just such a field trip.

74 people, including Ed Parsons himself, signed the pledge, raising £740 to fund the expedition. One name from the pledgelist was chosen by a verifiable random process – Steve Chilton from Middlesex University, UK, who happens to be a professional cartographer. So he gets to go to Antigua and add road names and points of interest to the map :-)

As a great man once said, “I love it when a plan comes together” :-)