Thursday, 30 April 2015

Google Summer of Code 2015 : FOSSASIA : Weekly update : 1



Lets-chat 




I got accepted for self-hosted online communities communication with OTR encryption : Back-end as a student developer under awesome mentors  +Tong Hui , +Mario Behling  and (soma) +Manuel Munz   under the organization +FOSSASIA . In fact,  +Tong Hui played a crucial role to encourage me to contribute to lets-chat. I am looking forward to work with him this summers. This is 






I will be first implementing the OTR encryption chat and then plans to link it with lets-chat .

Firstly, I would like to provide a brief description about OTR encryption, OTR encryption or Off The Record messaging will enable the users to have private conversations using lets-chat. OTR is an encryption tool for real-time chat, is easy to setup and provides a smooth user experience as well. Symmetric key cryptography is used through OTR encryption and hence the same key is used by the sender (Alice) and receiver (Bob) to encrypt the plaintext to ciphertext  and to decrypt the ciphertext to plaintext.   




Moreover, since the communication channel is insecure, for encrypting the communication, OTR uses Diffie-Hellman key exchange algorithm.  In short, Alice and Bob are able to exchange secret keys in such a way that they can derive a shared AES (Advanced Encryption Standard) key that is impossible for an intruder to decipher. This protocol hence ensures deniability and perfect forward secrecysince this protocol uses new key for each message. Interestingly, OTR encryption can be used on any internet chat protocol such as Google talk, lets-chat etc. 

I plan to implement the following features under FOSSASIA this summers under Tong Hui :
  • Generate long lived key : This step is going to be expensive as it might take seconds
  • Since OTR uses new key for each message, for each receiver, the sender wishes to communicate to, instantiate an OTR object
  • Implement function to send a message to the receiver
  • Implement function to receive a message to the sender
  • Ensure Symmetric key encryption
  • Ensuring the sender’s message is encrypted to obtain cipher text
  • Ensuring the receiver’s message is decrypted to obtain plain text
  • Close private connection when the chat is closed
  • Easy connectable API for front-end reuse


Note: I will be implementing the OTR encryption in group chats at first  and make sure that the code is efficient enough to use in lets-chat. 

After that I wish to implement the following :
  • Display status online/offline
  • Display fingerprints
  • Resolve bugs if any
  • Maintain proper documentation of back-end work



Looking forward to learn, code and develop this summer !




Some important links :



Thursday, 16 April 2015

Google Code In 2014 Wrap up : KDE

KDE : Experience freedom 


KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Solaris, Microsoft Windows, and OS X systems.


 It is known for its Plasma Desktop, a desktop environment which is provided as the default work environment on many Linux distributions, such as openSUSE, Mageia and Kubuntu. 








KDE project serves as an umbrella project for many standalone applications and smaller projects that are based on KDE technology. Recently KDE participated in Google Code In to provide young contributors an opportunity to get involved with KDE and inspire them to get involved with open source. 


During December, KDE managed to create over 100 tasks, with over 29 mentors. 

It gradually increased to over 277 tasks by the next month. It was great to see such an active contribution by the students to KDE and the mentors made sure the students are well equipped with the tasks. Marble managed to create maximum tasks among the KDE projects with over 50 out of 277  tasks. 



Also, for the young contributors, KDE provided over 65 beginner tasks which helped them to get involved with open source.

 Later, the students were expected to go ahead with non-beginner tasks to help them foster their skills. KDE provided tasks of varied types ranging from code, documentation/training, design, quality assurance and outreach/research. 


Some twitter follow ups : 








It was overwhelming to see a synchronous and healthy student mentor relationship while Google Code In. 

The students performed well with the highest score by Mikhail Ivchenko and second highest by Ilya Kowalewski . 

We thanks Google Code In to help KDE to encourage young students to get involved with KDE. 



-Heena Mahour 
co-administrator of GCI 2014 under KDE

Sunday, 12 April 2015

Vagrant: Why and how



Why I am using Vagrant?


  • Vagrant provides easy to configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow to help maximize the productivity and flexibility of you and your team.

  • Using the vagrantFile, the project developers are able to run the code in the same environment, against the same dependencies, all configured the same way.




Purpose of Vagrantfile :



  • Mark the root directory of your project. A lot of the configuration of Vagrant is relative to this root directory.

  • Describe the kind of machine and resources you need to run your project, as well as what software to install and how you want to access it.

How to build Vagrant?


  • Make sure your system is updated. Since I was earlier using Kubuntu 13.04 which is not supported by vagrant, I upgraded Kubuntu 13.04 to Kubuntu 13.10 to Kubuntu 14.04 to be able to run it

  • Check your system and download vagrant through this link 

  • Perform the following bash commands :
$ mkdir vagrant_directory
$cd vagrant_directory
$vagrant init
$vagrant box add ubuntu/trusty64


  • Now, open the vagrantFile and do the following :

Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64" 
  • Now, open and terminal and do the following :
$vagrant up 
To prove that it is running, you can SSH into the machine:
$ vagrant ssh
To access the vagrantfile of my system, visit github: fallacy321/vagrant

To have a look at my terminal : pastebin 


Thursday, 19 March 2015

FOSSASIA 2015 : Summary

FOSSASIA 2015



Recently I visited Singapore and attended FOSSASIA 2015 talks and workshops. It was a really nice experience and I learnt a lot !




What I did?


I was selected as a speaker and presented a talk on KDE regarding the open source contribution made by +The KDE Community with respect to my journey as a Season of KDE student to Google Code In co-administrator. 

I discussed about the recent trends in our community outreach program (SoK) as well as how vast KDE is. 

I also discussed about the plasma development in KDE and how I ported the plasmoids to plasma2. 

I also discussed about the tasks created by KDE in +Google Code-in , thanks to the admin team and constructive mentors. I also discussed a bit about +KDE-Edu game pairs.










I also organised a GSoC session ( thanks to +Mario Behling for suggesting the idea :) ) .

 It went a success as it was proceeded with how GSoC works, how KDE contributes to GSoC, the attendees presented their views as well and discussed about their open source contributions during the session. 

It was nice to see so many mentors, students and new contributors during the session.










How it helps KDE?



My talk helped to spread an information about the programs and projects KDE is involved with. New contributors were keen to get involved with KDE as well.

 I also discussed about Season of KDE to spread information about the same.



Some twitter follow ups:


























What I learnt?


I realized a team work, that is, contribution in collaboration could provide magical outcomes. One has to be precise while presenting a talk as time is a constraint. 
Moreover, I also met some great contributors like +Handoko Suwono , +Dhruv Goel , +Nikunj Thakkar and many others across the globe and hopefully I will stay connected to them in the long run .I also got to learn about the vast projects developers are getting involved with in different organizations and it helps one to stay motivated to open source and KDE ofcourse ! :) 

Friday, 6 February 2015

GSoC meetup 2015, Delhi, India



Google Summer of Code meetup 2015 was organized by +Heena Mahour  , +Ayush Gupta in association with +GDG DTU  and +WomenWhoCode at +Delhi Technological University (Formerly DCE) on 31st January, 2015. 



GSoC MeetUp 2015 was an opportunity to learn from past and present GSoC students who have actively contributed to open source projects all over the world. The meetup also provided great information for budding developers who are ready to get their hands dirty and contribute to real world projects.




It all started when +Heena Mahour  and +Ayush Gupta decided its time to give back and help others by providing a platform about the open source projects, organizations and get an exposure by other speakers as well.




So, with the help of our team members like +Minhaz A V , +Jigyasa Grover, +Garvit Khatri, +Ekta Goel and others, we made a website : http://fossdtu.github.io/ to let the attendees know about the details of GSoC meetup. We also created a speakers form for letting us know about the interested speakers.






The Google Open Source Programs Office graciously provided pens, diaries and stickers for the event. To make the speaker sessions more interactive, we distributed the goodies based on participation in a Q&A session after each talk. This also ensured that attendees listened intently to each speaker. The attendees were quite energetic as well ! 



For the meetup, we had over 8 speakers. 



As you can see in my tweet, we provided a meetup itinerary : 



GSoC students and mentors presented a talk about their experience so far with their organizations. 



It all started with a introductory session about the open source technologies and about version control. 


It was followed by talks about +Mifos Initiative , +The KDE Community , i.e., +Heena Mahour 's experience with porting plasmoids with +Marco Martin during GSoC 2013, as a mentor and administrator in +Google Code-in  and Season of KDE ( Thanks to +Aleix Pol  and +Lydia Pintscher for being the source of inspiration ! ) . It was followed by a talk about +OWASP , IDI by +Minhaz A V , +Ayush Gupta  and +dhruv jagetiya , about +jMonkeyEngine by +Mayank Sharma and crystal space by +Naman Gupta 


We would like to pay special thanks to +Indus Valley Partners, +Gurvinder Singh and +Mohanish Singh for taking time from their busy schedule and provide a talk on stratus by +Manjinder Singh  and +Sahil Singla .










At the end, there will be a Q&A round for an interactive session. 



The main purpose for holding this event is to gather present and past gsocers at a single location along with other open source enthusiasts and offer an opportunity to share our experiences with each other.



We hope that the meetup will attract many new students to GSoC and the world of open source coding. A big thanks to all of our speakers and attendees!

-By Heena Mahour
Google Code In KDE admin team | Season of KDE admin team | Google Summer of code developer | Google Code In mentor | Season of KDE developer | Women who code delhi co-founder and organizer ( heena@womenwhocode.com ) 


Thursday, 20 November 2014

Google Code In 2014 : Call for participation

 Google Code In 2014 






The Google Code-in is a contest to introduce pre-university students (ages 13-17) to the many kinds of contributions that make open source software development possible. The contest runs from December 1, 2014 to January 19, 2015. For many students the Google Code-in contest is their first introduction to open source development. 

KDE is selected among the 12 organizations, who are selected as a mentoring organization for Google Code In 2014. 


Who can mentor? 

Well, we need mentors to help the students with tasks. Mentors should be developers of KDE and should be aware of the tasks they would be creating. 



Why KDE?

KDE focuses on the development and distribution of free and open source software for desktop and portable computing, has been a proud GCI mentoring organization for the last four years. 


Who can participate ? 

Pre-university students 13-17 years old from all over the world can choose from a large pool of code, documentation, research, quality assurance and user interface tasks. The pool is created by the mentors of the participating open source organizations who continue to add to it throughout the contest. A task is a set of work in one of the above five categories that can be completed in a short time, taking approximately a few hours to a day to complete. In addition to self-contained tasks, task series are also created where similar work is split into several tasks or related work is split into sequential tasks. This way all sorts of work can be converted into manageable pieces for open source newbies.



Directions for mentors :

  • discuss tasks with the related team to let others know what you are upto
  • subscribe to kde-soc-mentor@kde.org
  • create a mentor account at Google-melange


Directions for students( from 1 december onwards )  : 

  • Create a student account at Google-melange
  • Go through the tasks provided by KDE
  • Explore, discuss your doubts with the assigned mentor and #kde-soc as required
  • Complete the task and repeat ;) 


Good luck !
- Google Code In - KDE - organisation administrator  







Saturday, 1 November 2014

Call for application in Pairs : A final reminder

If you are planning to start contributing to open source or a GSoC 2015 aspirant , you are at the right place ! Season of KDE is now accepting applications !

Student application deadline: 5 November 2014, 12pm UTC.
To head, start from season.kde.org . 

Season of KDE is an outreach program hosted by the KDE community.
To learn how to apply, see the announcement article.

Pairs is a relatively new educational application of KDE Edu family. Pairs stimulates your memory and logic skills. It aims to help the learning for pre-school kids. The student should download, install this application and use it and also improve documentation describing the main elements of the interface, such as how to open a theme, create a new one and add all the needed information to have it ready for usage, apart from developing new creative themes that could be available as add-ons.




Expected results: New creative and witty themes for Pairs, improved documentation and proper white space indentation of the code




Knowledge Prerequisite: Qt, QML, XML would work



What you can do :


1. Register as a student on season.kde.org

2. Read more about Pairs, kde educational game.

3. Build Pairs, explore the code and see how it is implemented.

4. Propose the project with the following format:

Name:Country:

TimeZone: (in UTC)

About Me:


Project Title:

Detailed Project Description:

Technical Requirements:

Final expected outcome:

Timeline:

My availability and other commitments during period:

Why me ?


5. If you get stuck at any of the above steps, feel free to either comment here .



Good Luck :)

Thursday, 16 October 2014

Season of KDE 2014

Season of KDE 2014



Season of KDE is now officially open for applications.


To apply head to season.kde.org register as a student and click "Submit a proposal"





What is Season of KDE?

Season of KDE is a community outreach program, much like Google Summer of Code that has been hosted by the KDE community for six years straight.

It is meant for people who could not get into Google Summer of Code for various reasons, or people who simply prefer a differently structured, somewhat less constrained program. Season of KDE is managed by the same team of admins and mentors that takes care of Google Summer of Code and Google Code-in matters for KDE, with the same level of quality and care.


Who can take part?

Everyone can apply for Season of KDE. We give preference to those who have applied for Google Summer of Code and to students, but we will gladly consider applications from anybody interested to contribute to KDE.


What do I get out of this ?

A great season working on a really cool KDE projects and gaining valuable experience. If you complete your project successfully you also get a T-shirt, a certificate, and maybe a few other goodies.Also, one of a great project to boost your resume too! (greedy enough? ;) )


What is the timeline ?

Season of KDE is a flexible project to fit around school terms, work, and other commitments, and start and end dates can be discussed with your mentor. Projects should be completed before the end the year, a typical Season of KDE project should take around 2 months. This year, we are planing to host it in fall,i.e.,  Oct 17, 2014 to Jan 31, 2015.
Student application deadline: Oct 31 2014, 12:00 am UTC

Mentor application deadline: Nov 05 2014, 12:00 am UTC


How do I apply?

First get in touch with a mentor about your ideas, and what projects they want to run.
Then head to season.kde.org and follow the instructions provided there.


Do I need to have a mentor before applying?

It is preferred. Ideally, you should contact a KDE subproject well before applying, ask for feedback on your idea if you have one, and request a mentor directly. A list of KDE subproject contacts is available on the Google Summer of Code 2014 ideas page. You can also apply without a mentor and we will try to find one for you.


Do I need to have a project idea before applying? 

It is preferred. If you do not have one, we will try to find one for you!But generally for a successful project completion proposal helps a lot! This way you can actually get to know a lot more about how your idea is going to be implemented.
Keep in mind that KDE is huge, so you should have an idea of which KDE subproject you wish to work on.
You should visit Sok 2014 ideas page too.


Do I need to write a proposal like in Google Summer of Code?

No, but we would like to see a brief project plan describing what you will be working on.


Is it only for coders like Google Summer of Code?

We are willing to consider non-coding projects as well including artwork and promotion, but you should definitely get in touch to figure out the details beforehand. The KDE Community Wiki describes ways to get involved with KDE that do not require coding.


I applied for a project in Google Summer of Code but another student got selected for it. Can I still work on it?

Maybe, but likely not. You should ask the mentor that was assigned to your idea. We can try to find something related for you if you want, or something completely different. Let us know what you wish and we will do our best to accommodate your request.


Is this an extension of Google Summer of Code or connected to Google

No. While Season of KDE is in many ways modeled after Google Summer of Code and administered by the same members of the KDE community, it is completely independent from Google Summer of Code and has no connection to Google whatsoever.


What if I do not get a reply from a mentor within some days or have some other queries about SoK ?

Feel free to join our IRC channel #kde-soc on freenode or email the admin team at kde-soc-mentor-owner@kde.org



-----------

Good luck, see you soon !
(Heena Mahour)