Saturday, 16 July 2016

Fedora Women's Day



Gone are those days, when women have only some selected fields to work on or they restrict themselves to some fields. In this new era our boundaries are widening, we are extending our thoughts and are coming out in the world of technology.  None of the field I guess is untouched by women, it’s difficult to name a field where we can’t see a woman. So no one is unaware about women’s caliber and so are some communities which are helping women to grow in the field of technology and computing  like Fedora women, Grace Hopper etc.

Yesterday I attended the Fedora Women’s day Celebration which I came to know was there in our office and a large number of women joined that, and that shows how we all are interested in something like this. Fedora is an open source project where anyone can contribute, it has open community. We can join Fedora and start contributing it, it’s nothing like that anyone have to be a hard core programmer with all the IT skills, anyone can contribute to it whoever have interest. Amita was the organizer of the event, the event started at 3PM, we all were there for it. The started with the talk of MarĂ­a “tatica” Leandro, who mainly take care of develop art, translations, marketing stuff, promoting the use of Fedora and recruit new talent to the community. And it was 5.30 in morning for her due to different timezone, still was there for us to help us and answer our question. This shows her dedication and how active she is towards the community . She shared his experience how she started her journey as a translator and talked about diversity as she is the Diversity adviser for Fedora. Being a woman she wanted a large number of women contributor for Fedora, so she was there so early and was ready to available even more early like 1 or 2 am for us for another meetups. She gave a lot of information how women can contribute to Fedora as being a women she knows we have so much other responsibilities other than our own interest and growth, and we have to balance everything in our life. She shared a lot of information about Fedora and Women in Fedora, although we have a less percentage of Women contributor in Fedora but that’s increasing and the community itself is helping women to come out with their interest and contribute in that field. Fedora has also a project named Fedora Women designed to connect and assist women who are interested in using and contributing to Fedora.  After talk with Tatica, there was a session from Pravin Satpute, he too is an active contributor to Fedora. He gave an introduction to Fedora and how anyone can start contributing Fedora. He shares the slides for different fields in which anyone can contribute depending on their interest like:
  • Content Writer
  • Designer
  • People Person
  • OS Developer
  • Translator
  • Web Developer or Administrator
  • QA

He gave lot of information on how we can start contributing to Fedora and also can learn from them as there are meetups and other session from which we can learn things of our own interest. He answered the questions which were raised to him and it was interesting as the whole event was motivating us to do something which will be beneficial for our growth and for the community also. After this there was a talk from Anisha Narang about Fedora, women contribution and we can be active in these types of events. She shared her experience which was a help for women present there. There was another guy who had wake up early in the morning just to address us and help us with our queries Matthew Miller, he was also surprised to see a large audience. He started with his  introduction  and shared  information about Fedora.  And also we came to know he has two cute and loving daughters also whom he take care so it was a inspirations for mothers present there who want to contribute to Fedora, he also answered the questions from audience. After he ended its was 5.30 pm I guess, and we planned to end for today with a discussion for next meetups. We also had a big cake which was looking very tasty as it was Fedora Women’s Day Celebration which would be incomplete without this. So without wasting  time we cut the cake and had it. There were few other people who helped this event to be a success. First is Satya who clicked pictures for us and our cake and another Huzaifa who answered a lot of questions and shared a lot of information. So we ended this with a plan to meet every Friday so that we can be active in this and meetups every two months or every month.

Wednesday, 13 July 2016

My First Pyladies Meetup

This Sunday, I attended the Pune chapter of Pyladies, About them in their own words “Pune chapter of PyLadies, an international mentorship group focussed on helping more women become active participants and leaders in the Python open-source community.  We aim to provide a friendly support network for women and a bridge to the larger Python world. Anyone with an interest in Python is encouraged to participate!”   
This was my first Pyladies meetup so I was exicited about it. Though it was raining still I managed to reach on time. This time it was in RedHat, after reaching there Kushal told me we are starting a little late due to the weather outside, then soon we get started. All of us were gathered in a room and we all were very curious about that, as most of us were there for that meetup the first time.  Meetup started with the intoduction to Pyladies by Anwesha, organiser of Pyladies Meetup, followed by Kushal talk on Python Community. He talked about many people showing their pictures who are contributing to python community and pyladies. He shared the pictures of Pycon-2015 introducing people from different companies and supporting several communities like Pyladies, Django etc. This continued for an hour, after that there was a keynode from  previous Pycon Meetup to be played “Two beards”. That was one was the most interesting part of the Meetup liked by everyone. In that keynode the man shared his experience like a story with the music, he himself played the music which was simply whaaaoooo. He shared his first bike experience and the different turns. He related it with dimensions and much more things, which was amazing. After this it was the time for lunch which Kushal had already arranged for all of us, then we enjoyed with pizzas. After an hour we started again with Python as we all were there to learn or discuss about the aspects of Python. Then Kushal started with Python, after a brief introduction on features of Python, he make us get started with the basics concept of Python. He started with the very basic so that it would be easy for newbees to Python. For me it was a revision as I have the basic knowledge of Python and can write programmes in Python. But to bring us all on a same level it was the need to start from the basics. He was giving time in between to us to try the same thing which he was teaching us, so that we are comfortable with that and if have any doubt can clear at that time only. After the basics were covered, he gave a programme to write a function to all so that we can implement what we have learned in that meetup. And the meetup ended with the problem solved by everyone. Then in the end it was a feedback session in which we discussed several things like how was the today’s meetup, what can be done to improve it , plans for the next meetup and many more things.
In the end, all of us left with something new in our mind and with more enthusiasm for the next meetup.

Tuesday, 17 May 2016

Unit Testing -Debugging the code

Testing is very much important to ensure the quality of product in any field. In Software development it is essential to point out the defects and errors in any program. Its a good practice to test your code . So I started with Unit Testing after I have learned Python programming language. In unit testing we use a module called unittest using which we can test our code. It is a testing framework . It comes pre-installed with python from 2.1.

The standard workflow is:
 1. Firstly we define our own class derived from unittest.TestCase.
 2. Then we fill it with functions that start with ‘test_’.
 3. After that we run the tests by placing unittest.main() in your file,        usually at the bottom.


 Before writing unit testcase, we should have few things in our mind that our
 testcase should be able to:
  • Run completely by itself, without any human input. Unit testing is about automation.
  • Determine by itself whether the function it is testing has passed or failed, without a human interpreting the results.
  • Run in isolation, separate from any other test cases (even if they test the same functions).

In unit test we also have setUp() and tearDown() function which are optional.  The setUp() function is used to set up the test environment and tearDown()  is used to clean up after a test. Setup method will run prior to each test case and teardown method will run after each test case.
We use assert functions to check whether the result is correct or not. There are a lot of assert functions in unittest.
Some of them are listed below:
assertEqual()
assertTrue()
assertFalse()
assertNotEqual()
assertIs()

To run a unittest, at the bottom of the test file,we have to give this code:

 if __name__ = "__main__":
     unittest.main()

This allows us to run all of the test code just by running the file.
Running it with no options is the most terse, and running with a ‘-v’ is more
verbose, showing which tests ran.   

Monday, 25 April 2016

My First Fedora Meetup

Yesterday I attended a Fedora meetup where we discussed about how to write Test Cases in Python. This was my first meetup after I have started learning Python. When I reached the place there were around 12 people sitting with their laptops, then I also joined them. Few people were knowing each other, few were new like me. So, Kushal who was organising the meetup decided to have an quick intro so that we may know about each other. After intro I came to know some were college students, some were working and all of them were keen to contribute something and were passionate for leaning new things for which we were gathered there. Then he gave an introduction on Unittest module which was our topic of discussion for that day. After this Kushal told what we are actually going to do today and its benefits and how we can relate and impliment that in our work. Then he gave an example of unit test in which "cat" command was tested and we all tried it in our own laptops and it was a success to run that unit test. In between we have some snacks like cold drink and samosa . All of us enjoyed this refreshment. Then Kushal decided to give different Test cases to everyone rather than all working on the same problem so that it will be more beneficial as we all will learn more by this, as a new challange will be there for everyone. Although it was not easy to think a new problem for each of us but still Kushal ended up by assigning a problem  to everyone who were present there. Chandan and Praveen were helping him in this, all three of them were there to help us with our queries.

After we got the problem, we started writing unittest for the assigned query. I was assigned a problem in which I have to test can we create a loopback device and perform file system operation without losing the file. In between doubts and questions were coming from the participants which were answered by either of the three. The environment was like that we are working on a crucial project as everyone was writing their test cases and running them to get the desired output. I was also so indulged in my Unit test case  that I don't how the three hours went, I came to know its 9 when Kushal told lets finish it here, we will continue in next meetup. Then he told us to some basics things and asked us to give feedback about the meetup. Then all of us winded up and it was decided we will do the remaining part at our own place and the will push the code on github, if there will be some issue we can contact Kushal by droping a mail or on IRC.

(pics by @anweshasrk)











Friday, 22 April 2016

Database with MySQL

MySQL is an open-source relational database management system(RDBMS). Before proceeding further one should have the knowledge of what exactly database is?

Database is a application that stores collection of data. Relational database management system is used to store and manage huge volume of data, all data is stored into different tables and relations are established using primary keys or other keys known as foreign keys. Primary key is unique, and can not occur twice in one table and foreign key is the linking pin between two tables.
To use MySQL database, it is essential to become comfortable with mysql command  line.  So here are the basic commands which I went through to start with mysql database.
  • SHOW DATABASE - Used to view all available database.
  • USE <database name> - To work with specified database.
  • CREATE DATABASE <name> -  To create a new database.
  • DROP DATABASE <name> - To delete a database.
  • CREATE TABLE <name> - To create table.
  • SELECT command is used to view rows or column from a table.
  • WHERE command used to view only records that matches a specific condition, it can be with "greater than>", "less than<","not equal to!=" oe "equal to=". It can be used with OR, AND, NOT to combine multiple condition.
  • CONCAT function is used to combine values from multiple columns and display it. 
  • COUNT is used to display the total number of records in a table.
  • GROUP BY command is used to group records on certain conditions. There many more commands which we can understand more clearly only by using them.
So to see how these commands work I connected to MySQL server using MySQL client using mysql command, as it was already installed in system. After logging in successfully I created a new database for me named test, which I decided will contain different tables having student details, test detail, classes details,score details etc. Once my database was created I created various table inside it defining its parameters. Then I inserted the values to different tables according to the parameter defined by using INSERT command.
After doing this much of work I started playing with the tables by altering their name, by adding something new to them, by adding new column to them , by merging two columns and lots more things. It was a fun to extract different information by using various commands from different tables, and this is how I learned basics of MySQL.

Monday, 18 April 2016

A Day with IRC

IRC is mainly designed for group communication in discussion forums,called channels, it also allows one to one communication via private messages as well as chat. IRC is based on a client-server model. All you have to do is to run a client program on your computer which connects you to a server on the Internet. These servers link to many other servers to make up an IRC network,which transport messages from one user to another. For this only you need an Internet Service Provider to get you connected to the Internet and an IRC Client program.

After setting up with the provider and a client, you can choose a nickname of your choice and then connect different IRC networks. After going through the basic of IRC, I started with IRC and went through few commands and choosed a nickname (pyadav) for me. Then I joined few channels of my interest like dgplug, fedora-cloud, fedora-python etc.

You can find the channel of your interest with the /LIST command. After  finding the channel you can join it by using JOIN command as:   /JOIN #channelname - This changes your current channel to the specified channel and if the channel does not exist already, it will be created and you will be incharge of new channel.  To leave a channel you can use /LEAVE command. Private conversation can be done by /MSG command as  /MSG nickname <message>

Reference:


Monday, 4 April 2016

A New Beginning with Python

After making my mind to step into programming, the very first question that comes to my mind was "Which programming langauge must be learned to start with programming?" Then I hunted for which langauge should I start with being a beginner and ended up with 'Python' after a long research and conversation with my friends who already are in developing.

Python can become a stepping stone for everyone who want their career in programming universe as it was designed with newcomers in mind. It is easy to learn and grasp as the command are easy to remember because they are similar to the english words we use in our daily life. It is so simple, that you can start coding the very first day and make your own simple programs using python.

There are many more reasons I started with python as its a general purpose,
high level, interpreted language. The first code I leaned was how to print something in python, and it was so easy,I printed 'Hello World!' as it was the first code given in the book which I was referring ie  "Python for you and me".

>>> print "Hello World!"
Hello World!

"Python for you and me" was my first teacher to help me in learning Python (an interpreted , object oriented programming language) and helped me to get into python more and more with very new topics.

Also I joined the course of Udacity that is "Linux Command Line Basics" which was an introduction to the Linux Command Line interface and it
helped me in knowing more about the language and its basics. One thing I liked most about Udacity course is that we have different quizes followed by detailed solution after every topic. This keep us more involved in the course and makes it more interesting to learn and practice.The way of delivering each lesson was  just awesome, so it was worth joining that course.

After gaining enough knowledge about python I just started with some exercise having python programmes, and I found what I was looking for some good exercise of "Coding Bat" related to the topics which I have covered so far in Python.This helped me alot to brush up my concepts in programming.