Thursday, 27 October 2016



Go language stands for Golang is open source and free language.  The language is developed in 
2007 by Robert Griesemer, Rob Pike, and Ken Thompson.  The language mainly have features like limited structural typing and concurrent programming with addition to this memory safety is provided.
The language was shown in November 2009 used for Google’s its own production unit. The language is mainly divided in two types  Google’s Go compiler, “gc” and is kept as open source software and can be used on various platforms like Linux,  Windows and also used on mobile devices. The second type gccgo, is used as GCC for front end purpose.

GO is based on programming language C. It is having many changes regarding conciseness, simplicity and safety.  Go consists of loosely coupled language. Means we does not require to declare a variable type separately.  Also it is having fast compilation time. It is having  built in concurrency primitive. Have an interface system instead of virtual inheritance. A separate toolchain is provided  with statically linked native binaries  except external dependencies.

System Level Programming:
Go language can interact with native system functions, which is not good for creating extremely low level system parameters like device drivers or kernels. GO applications are dependent on underlying OS. 

How to use GO:
Go can be downloaded from its website. Also there are different packages available with for different platforms like Linux,  Windows, MacOS.  As GO is open source language it can be accessed freely.  Also its packages vary  according to architechture also as ARM, x64, x86
Go language Introduction:
Go language is based on C and C++. So its syntax is similar to C. Following are some functions explained below:
1) If condition
2) For loop
3) Switch
The above functionality is also available in GO language having similar syntax like C language.
for (i=0;i<10;i++)


case t.Hour()<12:
fmt.Println(“Your text”)
fmt.Println(“Your text”)

Data types:
GO contains data types similar to C which are listed below
1. Boolean : Contains Boolean value
2. Numeric:  uint64, int8 to int64, float64 etc.
3. String: Contains string values
4. Struct: Contains struct values
5. Pointer: Used with *
6. Function: used with keyword func
7. Interface: used as interface
8. Channel: used as channel

The GO language provides facility to store multiple records with same datatype using an array. It is generally one dimensional but can be used as multi dimensional.

Slice is additional functionality provided with GO language. It represents segment of an array. It is similar to an array and is single dimensional.
e.g. make([]int,50,100)
Advantage of GO:
Large programmes can be simplified with help of GO language and simply called as Server Software.

Wednesday, 26 October 2016

7 Step towards writing an effective Blog…


If you want your blog to be perfect and appealing to the wider set of audiences then you just have to follow 10 easy steps:
1)Know your Target Audience:
Before you start writing anything just pause for a minute and think of your target audience, know in details about their likes and dislikes, their reading habits and the something related to their behavior and their standard of Living.
If your writings are not relevant or based on the above pointers then your blog would not stand out from the larger pool of blog writers.

2)Select a Relevant Title:
Before you proceed with the write up, first try to capture all the elements of the topic and based on the summarized description draft a simple title which gives overall description of the topic.
Tile should be clear, easy to understand and should clover the given topic.
Examples of Good titles:
5 steps to have a healthy life.  OR  How can I have a healthy life?

3)  Captivating Introduction:
This, I can say is the most difficult and important part of your blog. First paragraph usually your introduction is the most important and eye catching section for the Readers.
Introduction sector decides whether your reader would remain on the blog to read further or he/she will switch to read something else.
If your first impression is interesting and relevant to the reader then he/she might continue to read otherwise it will turn off your reader.

4) Organized Content:
Make sure your content is organized and all the information is described in an understandable format. All the information should be in a flow and interlinked with the story/topic writing.

5) Proof Reading:
Once you are done writing the content the next step towards increasing the effectiveness of your blog is “Proof reading” you must always go revisit all the information which is drafted and make the desired changes wherever possible and make the blog more user friendly and easy to read with relevant information.
This will ensure that all the encountered errors while drafting the blog are corrected before going live.

6) Add-on related to SEO (Search Engine Optimization):
We should ensure that we keep all the possibilities of our blog reaching to a wider audience using SEO related standards such as # hash tags, Keywords which are consistently searched over the internet and interlinks to your other related blogs which are also known as back-linking feature.

7) Publishing it on relevant channels:
Now you are all set to publish your blog and share your stories with global audience.
Make sure you wisely select your channels accordingly to your selected topic and study related to your reader.
Please encourage sharing of real life experiences using blogs as a medium to reach wider set of audience. Good Luck!

Saturday, 22 October 2016

Role of Sports in Women Empowerment


Social disgraces often cause disappointment in women from viewing themselves as physically powerful, skilled and self-governing individuals. In recent years, sports has risen as a mechanism to help women work against these opinions. With the increasing participation of women in sports nationally and globally, sports is being seen as a means of enthusiasm for women. Their participation in sporting activities enables them to live a life of respectability.

Call them the women beacons of hope, these strong sports contenders are capable enough in turning the heads back. Female athletes like Ashwini Nachappa and PT Usha have really resurged athletics in India.

Recent sportswomen like Mary Kom in Boxing, Sania Mirza in Tennis and Saina Nehwal in Badminton are the few Indian women who never gave up on their aspiration despite of coming from weak backgrounds. This enthusiasm has helped women in dealing with crisis and critical situations and manage situation on their own without the compulsory male support.

Indian Women in Rio Olympics 2016: Sakshi Malik, Dipa Karmakar and P V Sindhu,
The 2016 Summer Olympics ended in August 2016 at Rio de Janeiro, Brazil, witnessed more than 10000 athletes from 207 National Olympic Committees. A total of 117 athletes participated from India. India won a total of two medals, one silver and one bronze; both the medals bagged by women in their respective games.

Wrestler Sakshi Malik secured a bronze in the 58 kg category to become India's first female wrestler to achieve an Olympic medal. On the other hand, Badminton player P V Sindhu bagged historic silver medal in women’s singles badminton event. With this, she became the first Indian woman to grapple a silver medal in Olympics.

Not to forget, India was able to qualify one artistic gymnast into the Olympic competition for the first time since 1964. Dipa Karmakar became the first Indian female ever to won an Olympic spot in the apparatus events and all-around event at the Olympic Test Event. Unfortunately, she failed in the bronze medal, finishing 4th in the finals of the event with a score of 15.066.

Moreover, Indian long distance runner Lalita Babar scored a time of 9:19.76 in her heat, qualifying to the final. With this, she became the first Indian in 32 years to enter a final in any track event. At the final, she finished 10th with a time of 9:22.74.

Knowing the fact that these all sportswomen belonged from families with low income, still they managed to gather all their confidence and achieve what they aspire to be. This enthusiasm of women by encouraging them to participate in sports has opened up many new and exciting approach for them in the world of sports.

Friday, 21 October 2016

HTML5 Form Validations


HTML5 provides new input types and attributes which helps us to perform client side validation of our forms in the browser itself i.e no javascript required. To start with using new attributes and input types you don’t really need do anything other than start using the new input types and attributes. Strictly you should make sure you are using the HTML5 DOCTYPE, otherwise you will run into HTML validation errors. But great thing about them is that they all degrade gracefully. So if an older browser doesn’t support them, the fact that they are in the THML won’t break anything, they will just be rendered as an <input type=”text”>.HTML5 form validation is supported by almost all the latest browsers and most mobile browsers.

New Input types
Following are some of the new input types provided by HTML5:
1. Input type=”email”
By changing input type to email, the browser can be used to validate (in a limited fashion) email address.
Email Address: <input type=”email” name=”email”>

2. Input type=”URL”
In the similar fashion to the email input type, this one is designed to accept only properly formatted URLs.
Website: <input type=”url” name=”website”>
We can improve its behavior using pattern attribute.
Website: <input type=”url” name=”website” pattern=”https?://.+”>
Now our textbox will only accept starting with http:// or https:// and at least one additional character.

3. Input type=”number”
This will accept only numbers.
Age: <input type=”number” name=”age”>
In addition we can use min and max attributes to set range.
Example: to accept age between 10 to 20 years.
Age: <input type=”number” name=”age” min=”10” max=”20”>

4. Input type=”range”
The number and range both input types parameters min & max. But main difference between both is number input typically displayed as a ‘roller’ and range input displayed as a ‘slider’.
Satisfaction: <input type=”range” size=”2” name=”satisfaction”>
We can set min, max and value attribute. By setting value attribute by default slider will set to particular provided value and by setting min and max we can set minimum and maximum value to slider.
Example: input with following conditions minimum 1 maximum 10 by default 5.
Satisfaction: <input type=”range” min=”1” max=”10” value=”5” name=”satisfaction”>

New Attributes
This attribute states that this field is mandatory. We can use this attribute with most of the input types.

This attribute helps us to set custom validation. This works in a same fashion to regular expression.

Saturday, 15 October 2016

How Routing Works


Give us a chance to consider an Example where Sagar communicates something specific from his PC in India makes an impression on Namrata's machine in Hong Kong. TCP and alternate conventions do their work with the information on Sagar's machine; then it is sent to the IP convention's module, where the information parcels are packaged into IP bundles and sent over the system (Internet). 

These information parcels need to cross through a great deal of switches to achieve their goal a large portion of the world away. The work these switches do is called steering. Every parcel conveys the IP locations of the source and goal machine. 

Each of the moderate switches counsels the IP address of every parcel got. In light of this, every will know precisely in which bearing to forward the parcel. Ordinarily, every switch has a steering table, where information about the neighboring switches is put away. This information comprises of the cost acquired into sending a bundle toward that neighboring hub. The cost is as far as system necessities and rare assets. Information from this table is considered and used to choose the best course to take, or the most productive hub to send the bundle to on its way to its goal. 

The parcels go every one its own particular manner, and can travel through various systems and take diverse ways. They all at long last get steered to one same goal machine. 

On achieving Namrata's machine, the goal address and the machine address will coordinate. The bundles will be devoured by the machine, where the IP module on it will reassemble them and send the subsequent information above to the TCP benefit for further preparing. 

IP cooperates with the TCP convention to guarantee that the transmission is dependable, to such an extent that no information bundle is lost, that they are all together and that there is no preposterous postponement. 

In a few administrations, TCP is supplanted with UDP (User Datagram Protocal) which does not provide food unwavering quality in transmission and just sends the bundles over. For instance, some VoIP frameworks utilize UDP for calls. Lost bundles may not influence the call quality a considerable measure.

Friday, 14 October 2016

Lucene : A search Library


Lucene is a library built in Java used for searching of text . It allows to perform queries on text returning the result relevant to search keywords. The lucene can search from various sources like  SQL/NoSQL database, a filesystem, or even from websites.

Search And Index Functionality:
The working principle of Lucene is based on Index not on Text. So the Lucene Library is very efficient and fast compared to other libraries. The working principle can be related to an example of book. Assume that you want to search a keyword from a book. Instead of searching by textual context you can search it according to index page. That’s why your search will become faster saving lot of time. The searching method is called as inverted index.
Lucene works on Documents as a unit of search and index.
Index contains one or more Documents. Each entry of table in lucene is considered as a Lucene Document.

Document contains one or more fields.a Field commonly found in applications is title. In the case of a titleField, the field name is title and the value is the title of that content item.

Searching requires an index to have already been built. It involves creating a Query(usually via a QueryParser) and handing this Query to an IndexSearcher, which returns a list of Hits.
Lucene has its own mini-language for performing searches. Read more about theLucene Query Syntax
The Lucene query language allows the user to specify which field(s) to search on, which fields to give more weight to (boosting), the ability to perform boolean queries (AND, OR, NOT) and other functionality.

How It works:
When a document is loaded to its index directory from a Java Input Stream , the text is captured from files, Databases or even websites also. After this the index page is created.  We can see that each page is reffered to as Lucene Document.
The lucene standard tokenizer removes punctuations, and actual work start here. Many classes from lucene accepts single words.

1.High performance indexing
2. Less ram required
3. Total indexed size is 20-30% less

Exception handling


An exception is an abnormal condition that occurs during the execution of a program.
It is common to make errors while developing or typing a program. And this may cause the program to produce unexpected results.
It is therefore necessary to detect and manage the error conditions in the program so that the program will not terminate during the execution.

Types of Errors:
1.      Compile time error:
All syntactical errors are detected and displayed by the compiler and so they are called as compile-time errors.And when the complier detects such an error, it will not create .class file.
The most common compile-time errors are:
·         Missing semicolons
·         Mismatch of brackets
·         Use of undeclared variables
·         Use of = in place of == operator
2.      Run-time errors:
Sometimes, the program is compiled successfully but may not run properly.
Most common run –time errors are –
·         Dividing an integer by zero
·         Trying to illegally change the state of the thread
·         Accessing an element that is out of the bounds of an array
Java has a special mechanism for handling such type of errors. The code that is prone to generate such errors should be written in the try block and the errors can be handled in the catch block. The catch statement needs a special parameter which indicates the type of error it is supposed to handle. The mechanism is known as Exception handling.
Exception Keywords:
These exception are also called checked error since it is system defined i.e. in –built exception.
Exception handling in java is associated with following keywords:
1.      Try(find the problem)
2.      Throw (inform that an error has occurred)
3.      Catch(receive the error information)
4.      Finally(handle the exception by taking corrective actions)

Common Java Exceptions:
ArithmeticException :
Caused by math errors such as division by zero.
                                                       Caused by bad indexes.
                                            Caused by an attempt to access non-existent file.
                       Caused by an attempt to read the end-of file.
                                       Caused by referencing a null object.
                                              Caused by the failure in the conversion between string and numbers.
                                                       When array is negative.
                        Caused due to an error during a database access.
Try and Catch:
The advantage of using the try and catch keywords are that, It fixed the error and prevents the program from terminating abruptly.
The general form is:
// To do code
Catch(Exception-type e)
//exception handling code

Wednesday, 12 October 2016

Goals of Quality Assurance


Software development, like all sophisticated development activity, may well be a way choked with risks. The risks unit every technical and programmatic; that is, risks that the pc code or information processing system will not perform as meant or are progressing to be too hard to operate/browse, modify, or maintain unit technical risks, whereas risks that the project will overrun price or schedule unit programmatic risks.
The goal of QA is to cut back these risks. For example, committal to writing standards unit established to verify the delivery of quality code.
If no standards unit set, there exists a risk that the code will not meet the usability desires, that the code ought to be reworked.

If standards unit set but there is not any specific technique for comforting that everybody code meets the standards, then there is a risk that the code base will not meet the standards. Similarly, the dearth of a mistake Management and Defect Life Cycle work flow can increase the possibility that problems at intervals the pc coder progressing to be forgotten and not corrected, or that very important problems will not get priority attention.
The QA technique is critical terribly} very code development cycle to cut back these risks, and to assure quality in every the work flow and additionally the ultimate product. to possess no QA activity is to increase the possibility that unacceptable code are progressing to be discharged.

QA Activities and Deliverables among the Delivery Lifecycle
Each of the 5 phases of Project Delivery Lifecycle can incorporate QA activities and deliverables that off-set the risks of common project issues.
This outline of the Project Delivery Lifecycle incorporates a high-level list of the QA activities and deliverables related to every section.
Assessment method consists of research and a series of structured workshops that the and shopper groups participate in to debate and analyze the project objectives and develop a strategic arrange for the hassle. The product of those conferences, combined with research, kind the idea for the ultimate output of the assessment: a military science arrange for realizing specific business and project objectives.
QA Deliverables
a) QA Editor submits revised and approved deliverable documents.
PLANNING section
In the coming up with section, the team defines specific system needs and develops methods round the data design (static content and data flows) and therefore the business functions which will be self-addressed.
QA Activities
a) Establishing Standards and Procedures: QA records the set needs.
b) Coming up with (Test Matrix): QA develops a check matrix. QA confirms that every one set needs area unit testable and coincide with the project objectives.
c) Auditing against Standards and Procedures: QA editor edits the documents and confirms that they meet the objectives and therefore the quality standards for documents.
d) Establishing Completion Criteria: QA records the completion criteria for this section.
QA Deliverables
a) QA submits AN initial check matrix.
b) QA Editor submits revised and approved deliverable documents.
DESIGN section
during the planning section, the team identifies all of the mandatory system elements supported the necessities known throughout the Assessment and coming up with phases. The team then creates careful style specifications for every part and for the associated physical knowledge needs.
QA Activities
Auditing Standards and Procedures: QA confirms that everyone styles meet the set needs and notes any discrepancies. To boot, QA identifies any conflicts or discrepancies between the ultimate style of the system and therefore the initial proposal for the system and confirms that an appropriate resolution has been reached between the project team and therefore the shopper.
Planning (QA arrange, QA check Plan):
a) QA begins developing the QA arrange.
b) QA revised the check matrix to mirror any changes and/or additions to the system.
QA Deliverables
a) QA presents the initial QA check arrange.
b) QA submits a revision of the check matrix.

In the Implementation part, the team focuses on testing and review of all aspects of the system. The team also will develop system documentation and a coaching or market check arrange in preparation for system launch.
QA Activities
a) QA Testing: QA executes all check cases within the QA testing cycle.
QA Deliverables
a) check Results
b) Defect Reports

Friday, 7 October 2016

Working with JQuery selectors


JQuery is a lightweight, "write less, do more", JavaScript library.
The purpose of jQuery is to make it much easier to use JavaScript on website.
JQuery takes a lot of common tasks that require many lines of JavaScript code to accomplish, and wraps them into methods that you can call with a single line of code.
JQuery also helps to simplify a lot of the complicated things from JavaScript, like AJAX calls and DOM manipulation.

The jQuery library contains the following features:
• HTML/DOM manipulation
• HTML event methods
• CSS manipulation
• Effects and animations
• Utilities

To start working with JQuery you have to download library or include from CDN like Google.
Basic syntax of JQuery is :
• $ – define  jquery.
• (selector) – find HTML element(s).
• Action() – to be performed on element(s).

Examples :
$(this).hide() – hides the current element.
$(“p”).show() – shows all paragraphs.
$(“.myclass”).toggle() – toggles all elements with class= myclass
$(“#myid”).show() – shows element with id= myid.

JQuery Selectors:
JQuery selectors allow to select and manipulate HTML element(s).
jQuery selectors are used to "find" HTML elements based on their name,classes,  id, types, attributes, values of attributes and much more.

The Element selector :
JQuery element selector selects element based on tag (or element) name.
$(“p”) – select all <p>elements .
The #id selector :
JQuery #id selector uses id attribute of HTML tag to find element on the page.

# represents the id selector.
 $(‘#myid”)–  select element with id=’myid’.
The .class selector :
JQuery .class selector uses class attribute of HTML tag to find element on the page.

. represents the class selector.
Example :
$(“.myclass”)–  selects all elements with class=’myclass’
Select all <p> having class=”intro” - $(“p.intro”)

Examples of JQuery events :
1.When user clicks on button hide elements with class=”hideclass”

2.On click hide clicked button

3.Onpage load hide all div except having class=”donthide”

4. On mouse hover zoom image
    $(“img”).hover( function()
        $(this).animate({width: ‘+=50’, height: ‘+=50’});
        $(this).animate({width: ‘-=50’, height: ‘-=50’});

Wednesday, 5 October 2016

Eliminating gender bias from algorithms

Machine learning is found everywherein our daily lives. Every time we talk to our smartphones, search for images or ask for hotels recommendations, we are interacting with machine learning algorithms. They take input as large amounts of data, like the whole text of an encyclopedia, or the complete archives of a newspaper, and interpret the information to extract patterns that might  be invisible to human analysts. But when these huge data sets include social bias, the machines learn that too.

A machine learning algorithm is like a newborn baby that has been given billion of books to read without being taught the alphabet or knowing any grammer or words. The effect of this type of information processing is impressive, but there is a problem. When it takes in the text data, a computer notices relationships between words based on various factors, including how many times they are used together.

We can test how exact the word relationships are identified by using analogy puzzles. Suppose I ask the machine to complete the analogy "He is to Man as She is to Y." If the machine comes back with "Woman," then we would say it is successful, because it returns the same answer a human would.
Our research group trained the system on Google News articles, and then asked it to complete another analogy: "Man is to Computer Programmer as Woman is to X." The answer came back: "Housewife."

Scrutinizing bias
We use same type of machine learning algorithm to generate what are called "word embeddings." Each English word is embedded, or allocate, to a point in space. Words that are semantically related are allocate to points that are close together in space. This type of embedding makes it easy for computer programs to quickly and efficiently recognize word relationships.
Afterfinding our computer programmer/housewife result, we asked the system to automatically generate huge numbers of "He is to A as She is to B" analogies, completing both portions itself. It returned many sensable analogies, like "He is to Brother as She is to Sister."
 In analogy notation, which you may remember from your school days, we can write this as "he:brother::she:sister." But it also came back with answers that reflect clear gender formula, such as "he:Father::she:Mother" and "he:doctor::she:nurse."
The fact that the machine learning system started is similar to  a newborn baby is not just the strength that makes it to learn interesting patterns, but also the weakness that falls prey to these obvious gender stereotypes. The algorithm makes its decisions based on which words appear near each other frequently. If the source documents reflect gender bias – if they more often have the word "Father" near the word "he" than near "she," and the word "Mother" more commonly near "she" than "he" – then the algorithm learns those biases too.