Hatim Kanchwala

Lessons in Proposal Writing from Google Summer of Code Experience

My proposal with the Free and Open Source Silicon (FOSSi) Foundation has been accepted for Google Summer of Code 2017. I will be replicating the Electronic Delay Storage Automatic Calculator (EDSAC) on an FPGA. Read my project abstract here.

EDSAC was designed in 1947 by Maurice Wilkes and his team at the University of Cambridge, Mathematical Laboratory. It was the world’s first complete and fully operational stored-program computer. It was notable for its use of ultrasonic mercury delay tanks as memory. Reconstruction of the original machine is underway at The National Museum of Computing (TNMoC), Bletchley Park, UK and should be operational by late 2017. The ultimate objective of my GSoC project is to make the historic computer accessible to and reproducible by a new generation of computer architects and engineers.

In what follows, I will be sharing the lessons I learned while writing my GSoC proposal. I received very positive feedback from FOSSi and praise from peers. I have tried to give context to the points by narrating my experiences wherever relevant. Find the final draft of my proposal here. Hope it helps you!

1. Start early, move rapidly

Every candidate begins with the same amount of time. Given the will to persevere in the face of stiff competition, the success of the endeavour then depends on the prudent use of time.

After I had decided to apply for the “FPGA Museum” project with FOSSi Foundation, I contacted previous year’s participants with FOSSi requesting them to share their experiences and any tips they might have for me. Most of them responded promptly, and almost everyone agreed that putting significant effort in writing the proposal leads to a maximum chance of selection. The insights these participants shared helped me cover considerable ground in a short span of time.

2. Identify competitive advantage

“All value is relative.” The organisation will choose the candidate that they think brings the most value to the community as compared to others. Thus, you must recognise any advantages you may have over the competition and capitalise on it.

Early on while studying EDSAC, I realised that documentation was scarce. If I were to write a compelling proposal and succeed in my project, then I would require more resources to aid in my study. That’s when I contacted Victoria Alexander of TNMoC requesting her to put me in touch with someone on the EDSAC Replica Project team. Soon after Bill Purvis (Logic Designer, EDSAC Replica Project) responded and generously shared his repository of documents on EDSAC. A little while after, I contacted Prof. Martin Campbell-Kelly who had developed the EDSAC simulator. He graciously shared an article explaining how the simulator was verified. These documents were crucial to my understanding of the machine.

I saw the scarcity of documentation on EDSAC as an opportunity which I ceased by contacting TNMoC and Prof. Martin. I recognised that if they responded, I would have an advantage over the competition.

3. Differentiate from competition

A competitive advantage is a safe threshold to maintain, but it is nothing that the game cannot surmount. If your proposal is to stand out, then it must offer innovative solutions to the problems your project is addressing.

My mentor has always been keen on exploring inexpensive external hardware to act as modern proxies for the ancient interfaces of EDSAC. Over discussions on the mailing list (here and here), he suggested a low-cost thermal printer and a business card reader could make a proxy for the paper tape reader/writer of EDSAC. Such a setup is certainly a faithful replica of the original mechanisms. But I thought, to make the project and its components readily accessible to and reproducible by a broader community, we ought to take a more flexible route.

I proposed a standard protocol for all I/O communication across the FPGA external pins, leading to a more modular architecture such that the (un)availability of components at user-end will not be a barrier. As long as the external interfaces conform to the standard, users can even design their own. My mentor appreciated the idea of standardisation. That was my innovative solution to the problem of external interfaces.

4. Your proposal is your reflection

Your proposal is the primary lens through which your organisation will perceive you. It should portray you as someone capable of comprehending the project and its requirements, formulating an idea, judiciously allocating time, and executing the plan without a need for much hand-holding.

Structure your proposal coherently, demonstrate your understanding of the subject, clearly define project milestones and deliverables, devise a mitigating strategy for conceivable risks, and augment content with visualisations wherever feasible.

5. Seek feedback and iterate

It is imperative to continually iterate and improve because the competition will not be resting. Solicit feedback especially from the organisation you are applying to because they can spot irregularities very quickly and point you in the correct direction. Feedback from peers can expose, among other things, a lack of clarity in expressing ideas, structural inconsistencies, and incorrect use of English.

rss twitter github mail linkedin