Do you confirm that you are eligible for this internship as stated in our eligibility rules at https://wiki.gnome.org/Internships#Eligibility?. Answer "yes" or "no". "yes"
Do you confirm that you have read and agree with the internship contract linked at https://wiki.gnome.org/Internships#Eligibility?. Answer "yes" or "no". "yes"
== Personal Information ==
If you are accepted, fields in this section that are marked "(public)" will be displayed on a public acceptances page. If you prefer different information to be displayed publicly than you want to provide in this form, please provide both a private version visible only to the coordinators and mentors of the internship, and a public version to be displayed publicly.
Name (public):
Usman Haider
Preferred pronoun (e.g. she, he, they):
He
E-mail address:
uhaider msee15seecs seeccs edu pk
Blog URL (public, required):
IRC nick (public, optional):
uhaider
Twitter URL (public, optional):
Website or Portfolio URL (optional):
GitHub, GitLab, or any other code repository URL (optional):
LinkedIn URL (optional):
Any other online presence URL you wish to provide:
Location (city, state/province, and country) (public):
Islamabad, Capital, Pakistan
Education completed or in progress (include university, major/concentration, degree level, and graduation year):
Doing Masters in EE with course work completed at 3.81/4.0 CGPA. In my Bachelors I studied multiple CS courses including Data Structures, Computer programming. Network programming and Logic Design and hence my interest in coding.
How did you hear about this internship?
I get across this internship while searching for remote open source jobs and internship on the internet.
== Project Information ==
What project are you interested in?
I am interested in Credentials Management project.
Who is a possible mentor for the project you are interested in?
TobiasMueller is the potential mentor.
Please describe your experience with the GNOME community and GNOME projects as a user and as a contributor. Some experience with GNOME stack and some contributions to GNOME are required for considering the application. Include information and links to the contributions you made:
I am a very long user of Ubuntu GNOME and Open SUSE and I really know how to play with GNOME UI. I started with GNOME builder and have also build basic app in GNOME builder and also standalone C app without builder that use GeoClue. Work is posted here
https://github.com/UHaider/gnomedev
Please describe your experience with the project you are interested to participate as a user and as a contributor and relevant areas. Include information and links to the contributions you made:
I am experienced in C, Python, Qt, C++ and shell scripting. I have done a GUI based project in GSoC. The link and details are given in next questions below. The passbook https://gitlab.gnome.org/gnumdk/passbook software package which can be used in this project is written in Python and I can get on with it quick due to my previous experience with Python.
Please describe your experience with any other FOSS projects as a user and as a contributor:
I participated in Google Summer of Code last year and contributed to GNSS-SDR project successfully. The link is here https://github.com/UHaider/gnss_sdr_gui
I also worked under Open Mainframe Project internship program and contributed to SUSE Package Hub. This project involved building and testing of the FOSS packages for s390x architecture. The packages I worked on are Zabbix, iciniga2 and cacti. The work can be seen here
https://uhaider.github.io/Contributing-To-SUSE-Package-Hub/
I am an active user of GNU Radio which is an FOSS for software defined radios.
Please describe any relevant projects that you have worked on previously and what knowledge you gained from working on them (include links):
I worked on a project that involved designing of a GUI in Qt and reading writing files. The GUI was capable of reading all the key-value pairs from multiple files both automatically and when user press buttons. And when an output button is pressed the GUI generates a required file. The GUI dynamically changes based on current settings. The backend programming was based on signals and slots mechanism to handle the interrupts. The work done was part of GSoC and the link is given below
https://github.com/UHaider/gnss_sdr_gui
I see this project will also involve reading key-value (passwords) from OS and other applications. The project also involves actions based on user input, for example searching and modification (signals/slot). So, I think I can use my previous knowledge for this project.
Please describe the details and the timeline of the work you plan to accomplish on the project you are most interested in (discuss these first with the mentor of the project):
Nov: Getting on Speed
In this month all relevant development environment will be setup. The study needed for the project will be done. This will involve reading documentation of relevant libraries. Look for any existing work done in this area and discuss with the mentor how can we use any existing software. Check passbook package and see how it can be used in this project
https://gitlab.gnome.org/gnumdk/passbook
Dec:
Firt two week:
Initial GUI design of the application (Mock Up)
Last two week:
Creating backend signals/slots mechanism.
Jan:
Firt two week:
Writing code to get all passwords in a database/secure file from OS and selected GNOME applications. Read, write and modify functionality.
Last two week:
Link the user interface to the database. Write a module that can tell password strength. We can integrate software package for this like http://rumkin.com/tools/password/passchk.php
Feb:
Firt two week:
Write modules that allow import, generation and visualization of SSH and sign PGP keys
Last two week:
QA, bug fixing and documentation, blog post
Attachment:
gnome-internship.docx
Description: application/vnd.openxmlformats-officedocument.wordprocessingml.document