#language en = Student Application Template = * '''Name''': Haris Choudhary * '''Contact/Email''': haris05ch@gmail.com * '''Background''': I am a third year undergraduate student majoring in Computer Science. The question "What is my passion?" haunted me for much of my life, until I wrote my first program. It was love at first compilation. I found a thirst for learning as much programming as I could and a joy in teaching others. As a result I have been a teaching assistant for both introductory and advanced programming courses. I have also coordinated the ACM summer internship to teach prospective CS majors. My skills (in no particular order) consist of C++, C, C#, Java, Python, MATLAB, HTML and CSS, PHP and MySQL and Android development. I use Ubuntu extensively and am comfortable with the linux environment. Being involved in research, my interests are in wireless networks where I perform various experiments, write bash/python scripts for analysis and make changes to the linux kernel's wireless module. I have authored "On the Effectiveness of High-Speed WLAN Standards for Long Distance Communication" which was accepted in the conference IEEE INFOCOM 2014 and have made significant contribution on the paper "Loss Differentiation: Moving onto High-Speed Wireless LANs" also accepted in the same conference. If research has taught me anything, it is patience and persistence. I am not the sort of person to throw my hands in the air and give up whenever I encounter a nasty bug or a lack of documentation on a particular matter. I hope to make use of this, when working on projects with Debian. I have android development experience by working on a project that offloaded downloading to a dedicated computer in order to preserve Android bandwidth and battery. Afterwards, the computer transferred at local speeds to android while preserving Quality of Service of sensitive applications like Skype. To help better prepare myself for this project I've been actively gaining a deep understanding about Lil'Debi and the android boot process while trying to brainstorm effective solutions. * '''Project title''': Integrate Debian with Android * '''Project details''': Lil'Debi is a well known mobile debian installer that uses debootstrap to completely build a debian chroot from scratch. It also provides customization option such as the release, mirror and the size of the disk image. It is built from source using public repeatable builds. Lil'Debi has security measures as well by checking and updating the SHA1 check-sum of the debian.img file to make sure it is not tampered with. Lil'Debi allows a tight integration of Debian and Android. This allows users to apt-get install various debian packages and have them work on their android system. Some known working packages are sshd, dropbear, lighttpd etc. The main focus of this project is to optimize the Debian installer to seamlessly integrate within the android boot process.This project calls for the best way to call the Debian boot process so that it is provides a seamless Android experience. On top of the main goal, intention to further improve the system exists. Giving options of other supported file systems. Also to allow file system choices in startup such as ext2, ext3, ext4, yaffs2. There can be an incorporation for Lil'Debi to perform Ubuntu builds/installations. If Debian and time permits (I would love to contribute even after GSoC has ended) As discussed with the mentors, a particularly useful features for old android devices could be the ability to build yaffs2 image/partition by Lil'Debi. This seems like a difficult task but if it benefits the community I'm confident it can happen with some effort. The possibilities are all there and I would want Lil' Debi to reach its true potential. * '''Synopsis''': This project focuses on finding out how best to call the Debian boot process so that it is transparently integrated into the Android experience. * '''Benefits to Debian''': The project will provide a major feature that is not only missing in Lil'Debi but, as mentioned, in all linux installers for Android. Also, once the extra features are implemented on top, it will enrich the Lil'Debi experience. Apart from that, Debian will also gain a enthusiastic, hard working individual who is eager to contribute his time and energy towards its betterment. * '''Deliverables''': * A fully functional Lil'Debi application that not only performs the initial goal of the project (integration within the Android boot process) but also provides the following features: * Check file system support for various other systems. * Provide file system select in setup. * Starting Debian when Wi-Fi starts. * Perform a Ubuntu build/install. * Ability to build yaffs2 image/partition. (This is at a lower priority due to its discussed difficulty. However work will be continued to implement beyond the GSoC period) * Proper documentation of everything done. This will encompass a detailed guide to how everything was went about to help for future reference. A troubleshooting guide to solve common faults that might pop up. Installation tutorials. FAQs section. * '''Project schedule''': Since the start of March, I've contacted the mentors and gathered a lot of preparatory material which I've been studying to build a solid foundation. I've read up on the Android boot process, learned all the stages where applications can be made to start (init.rc, system server etc) and have experimented by making my own applications that use these features. I have also understood the basics of chroot. I understand that some of these dates do not coincide with the Google summer of code official timeline. For examples some of my dates do not fall under the allotted coding period between May 19th and August 18th. However I've been preparing beforehand so I don't waste time and make most use out of GSoC by doing a thorough job with the project and implementing more features on top of it. * ''March 25th - April 20th'' * Deepen my understanding of Debian chroots and lil'Debi past the general overview. * Familiarize myself with the community. * Thoroughly read and understand all available documentation present on lil'Debi. Read about all known bugs while also trying to review and understand the source code. * ''April 21st - May 20th'' * Analyze all possible points within the boot process which we can use for Lil'Debi. Use existing known solutions and explore more effective ones. * Make Lil'Debi use all these possible options and analyze the strengths and weaknesses of all the proposed solutions. * ''May 21st - June 10th'' * Draw conclusions as to which is the most effective method of integrating Lil'Debi based on quantifiable results such as boot times etc. * Finish up any work on Lil'Debi integration after deducing the optimized way. Formally introduce changes within lil'Debi. * ''June 11th - August 5th'' Further improve Lil'Debi by adding the following features: * Check file system support for various other systems. * Provide file system select in setup. * Starting Debian when Wi-Fi starts. * Perform a Ubuntu build/install. * Make sure that Lil'Debi does not have any bugs with all the installed features. * Ability to build yaffs2 image/partition. (This task might proceed even after GSoC until fully implemented) * ''August 6th - August 18th'' * Make changes to the documentation to introduce the features worked on. * Make a conclusive report on all of my work for evaluation purposes. * ''Beyond GSoC'' * Continue contribution to the Debian community by helping to improve/maintain Lil'Debi or working on a new project. * '''Exams and other commitments''': Exams will be over and I will be able to give my full attention. * '''Other summer plans''': No summer plans as such. I am willing and able to put in the dedicated time required. * '''Why Debian?''': I have always respected individuals who help create, maintain and update free software. The dedication to their craft and the will to help people is inspiring. Naturally this fact draws me towards Debian which in an organization of individuals all collaborating to advocate the free software community. Debian has made strides in its field. Testament to this fact are the various products based off it. It is said that Debian is 'the rock upon which Ubuntu is built'. I believe that the Debian community is a hammer that can shape and build amazing things with the talented community it has. I truly wish to be apart of this formidable force and help in the creation of great software. The interaction I've had with the community only further strengthens my resolve. * '''Are you applying for other projects in SoC?:''' No projects apart from this one.