C Programming Step by Step Tutorials

G Suite – Gmail, Drive, Docs and More - Google Advanced cloud infrastructure


Basically, Google provides G Suite as cloud-based services & tools which can be used from any desktop or mobile platform, so consumers don’t need to spend time and money for maintaining any desktop components.

The G suite includes file storage which is Google Drive. It provides real-time collaboration with Google Docs, Hangouts with video meetings and Gmail as professional email services, all for one single price.

G Suite comprises Gmail, Hangouts, Calendar, and Google+ for communication, Google Drive for storage & Docs, Sheets, Slides, Forms, and Sites for collaboration. It also provide an Admin panel and Vault for managing users and the services.



Google G Suite Free Trial

Using G suite , You can work in Real time with other people and store documents online in Google Drive. Unlike with traditional desktop applications, there is no software installation & specific hardware requirements. so issue of files version compatibility with files made in other programs, such as Microsoft Office will not arise. So users enjoy the same experience across different devices, different operating systems and different browsers.

G Suite Keeps all your work in one place with secure access from your computer, phone, or tablet. you can quickly invite others to view, download, and collaborate on any file – no email attachment needed. File updates are automatically saved and stored in Drive, so everyone can always have access to the latest version.

G Suite apps also gives off line support,  so users view, edit and create content when they’re not on the Internet. G suites apps can be syncing automatically when they reconnect Internet.

Main reason to purchase subscription for paid version is , G Suite adds enterprise level features by business-grade services which not included in the free consumer product such as
  1. Professional email at your domain (username@yourdomain.com)
  2. Additional storage across Gmail and Drive.
  3. 24/7 phone and email support, 99.9% guaranteed uptime.
  4. Interoperability with Microsoft Outlook.
  5. Enhanced security features.
  6. and Full administration of all user accounts.

How it works ?

G Suite is designed as an all-in-one solution with integrated tools. All these tool work seamlessly together. You can receive a message in Gmail and can be converted into a Calendar event. When you make a comment in Docs, Sheets or Slides, collaborators automatically receive email alerts. With a single click, You can launch a Hangouts video meeting from your Inbox or calendar. so as a complete package it improves productivity while giving your business most valuable.

How it support for domain & website hosting ?

When you sign up for G Suite, You need to purchase a new domain with one of Google’s domain host partners. Once the domain is purchased, Google automatically set up Gmail for your domain and give you full control over your domain’s settings. Google partnered with companies to offer web hosting and other site services that easily integrate with G Suite.

How it provides security ?

Protect your company’s data with security options like 2-step verification and single-sign-on, and use mobile management to keep your data safe in the case of a lost device or employee turnover.

Google Vault –

It adds archiving and eDiscovery feature to G Suite. You can Manage, retain, search and export your organization’s email and on-the-record chats. You can control how long your email messages and on-the-record chats are retained. It specify policies for your entire domain or based on organizational units, date ranges and specific terms.  Vault keeps you prepared by letting you preserve users.

Google Search – built for G Suite

Cloud Search is just like Google Search – built for G Suite. Search emails, docs, events, the corporate directory, and more. Find whatever you’re looking for, wherever it’s located. This Cloud Search is available only for customers using G Suite Business and Enterprise editions.

Mobile Management

if you lost phone or tablet. It Keep your company’s data secure with mobile device management (MDM). You can require screen locks, strong passwords, and erase confidential data with device wipe or selective account wipe for Android and iOS.
Finally, I suggest G Suite as the best Business Suite with reasonable price. As compared to other services in market G Suite is the most collaborative suite ever till now. G suite is available in three plans as

Features : Business email through Gmail, Video and voice conferencing, Smart shared calendars, Documents, spreadsheets, and presentations, 24/7 support by phone, email, and online Security and administration controls. 

Features : Basic Plan + Unlimited cloud storage (or 1TB per user if fewer than 5 users), Archive and set retention policies for emails and chats, eDiscovery for emails, chats, and files, Audit reports to track user activity.

Features: Business Plan + Data loss prevention for Gmail, Data loss prevention for Drive, Integrate Gmail with compliant third-party archiving tools, Enterprise-grade access control with security key enforcement, Gmail log analysis in BigQuery.

Google G Suite Free Trial

Even You can use these F9CPMR4VKX7X9DX or V7UQJQ4HUDNT3FX coupon code

Thanks !

Related - Best Solution for Project Management

How to create first java Bean program | Java bean step by step


This tutorial explains, Introduction to java bean and How to create first java Bean program step by step. The prerequisite required is understanding of core-java and servlet and jsp technologies. you can find step by step development of first servlet program and jsp program.

Java bean  is a reusable software component. It encapsulates many objects into one object, so we can access this object from multiple places. A JavaBean class propertes can be read, write, read only, or write only. so these properties are accessed through getPropertyName() & serPropertyName() methods in the JavaBean’s implementation class.

How to access java bean properties in jsp ?

<jsp:useBean id= "instanceName"
scope= "page | request | session | application"
class= "packageName.className"
type= "packageName.className"
beanName="packageName.className | <%= expression >">
</jsp:useBean>
  • It should have a no-arguments constructor.
  • It should be Serializable ( is the process of converting a java object into byte array so that it can be preserved.Normally,when execution of java program is over,objects get destroyed. But due to serialization,those objects will be preserved in memory buffer/file.).
  • It should provide methods to set and get the values of the properties, known as getter and setter methods.
  • It is a reusable software component. A Java bean encapsulates many objects into one object, so we can access this object from multiple places. Moreover, it provides the easy maintenance.
  • A JavaBean property may be read, write, read only, or write only. JavaBean properties are accessed through two methods in the JavaBean’s implementation class.

useBean action declares a JavaBean for use in a JSP.  Once declared, the bean becomes a scripting variable that can be accessed by both scripting elements and other custom tags used in the JSP.
The syntax for the useBean tag is:
Basically, Java Bean is a java class that should follow these conventions, these are the unique characteristics that distinguish a JavaBean from other Java classes:
Here, you can download source code project developed using netbeans editor. Java-bean-first-program-digitalpadm.zip(1 download)
Install Java Development Kit (JDK) first, then Install Netbeans version above 8 , Please choose setup according to your operating system. during installation select glass fish server or apache tomcat server as shown below.
java-bean-select-web-server-installation


Following video shows step by step instruction to develop first java bean program using netbeans.  Java-bean-first-program-digitalpadm.zip(1 download)

Simple Form validation in AngularJS | Introduction & Example




Hello, This tutorial is on simple implementation for client side validation in AngularJS. the basics of AngularJS and simple calculator demo program is explained in post A Step-by-Step Tutorial for Your First AngularJS App | Simple Interest Calculator.
  • $untouched: The specified field has not been touched yet.
  • $touched: The specified field has been touched.
  • $pristine: The specified field has not been modified yet.
  • $dirty: The specified field has been modified.
  • $invalid: The specified field content is not valid.
  • $valid: The specified field content is valid.
  • $pristine: True if user has not interacted with the form yet means No fields or controls of the form has been modified yet.
  • $dirty: True if user has already interacted with the form  that is One or more controls of the form has been modified.
  • $invalid: True if at least one control of the form is invalid
  • $valid: True if all of the fields or controls of the forms are valid.
  • $submitted: True if user has submitted the form even if its invalid.
<input type="text" ng-required="true" />
 
<input type="text" ng-minlength=8 />
<input type="text" ng-maxlength=14 />
<input type="email" name="email" ng-model="user.email" />
<input type="url" name="indexpage" ng-model="user.url" />



AngulatJS provides flexible functionality for validating input controls, so you can provide customized & formatted error messages. Basically, Validation is process of checking input data against standard rules. There are specific types of validation, such as range checking or pattern matching or field must not empty. It is way to check for input data correctness and display formatted, understandable error messages to the user.

AngularJS provides client-side form validation. In client-side validation, input data errors detected on the client when the form is being submitted to the server. If any of the form control are found to be in error state i.e invalid state , the submission of the form to the server will be  canceled and the error message will be displayed. This permits the user to correct the input data before submitting the form to the server. as soon as the field containing the invalid data loses focus, we can provide custom error messages. It provide the user with a rich, interactive validation experience.

AngularJS provides the facility to get the current state of form and input fields input, text-area, select controls which makes developer notify the user about the current state. following are the list of input states.
Input Forms groups the html controls and it has the following states, which are either true or false.
In AngularJS , it easy to handle client-side form validations without much effort. following are some of the basic validation options available to an input field.

Required : AngularJS provides a ng-required
Minimum length :  This will make sure that the length of the entered value not less than the value set using ng-minlength directive.

Maximum Length : This will make sure that the length of the entered value is not more than the value set using ng-max length directive.

Email : We can set the input type to email to ensure that the input field is a valid email id.

URL: We can set the input type to url to ensure that the input field is a url.

AngularJS provides specific classes to the form based upon their state. It allow us for styling of form as well as controls, ngmodel adds these CSS classes as ng-valid, ng-invalid, ng-pristine, ng-dirty, ng-touched, ng-untouched, ng-pending. Let’s see example for validating student registration form. the basic fields are Student-name, student-email. here set validating rule for student name field as required and valid email address.

Here you can download code angularjs-simple-validatio-demo.html(0 downloads) . This file containing html, javascript, css code. It show error message when control lost focus. Initially submit button is disabled, it will get enable once field input data is valid. screen-shot1 shows invalid state of form controls. so form can not be submitted.
invalid-input-state-angularjs-digitalpadm
screen-shot 1

screen-shot 2

Thanks !
You can ask queries on mail : arvindpande@digitalpadm.com

A Step-by-Step Tutorial for Your First AngularJS App | Simple Interest Calculator



Hello , This tutorial is designed to understand the basics of AngularJS terminology & Step by Step explanation of how to write and run first simple Interest Calculator AngularJS application for beginners.
Basically AngularJS is a Javascript MVC framework created by Google to build properly design and maintain web applications. this type of applications does not have a main method. It supports modular approach. Here Modules are used to separate logic say services, controllers, application etc. We can define modules in separate js files and name them as per the module.js file. These modules can be loaded in any order or even in parallel. You can package code as reusable modules.
AngularJS supports MVC design pattern as shown in figure below.
AngularJS-MVC
AngularJS MVC design pattern

In this figure, view represents user interface , user action to get input & pass events to controller. Controller maps user actions to model after fetching data. Model is application functionality containing business logic for generating response on data & binds response to view.  finally view renders it as output.
What is AngularJS Directives ?
AngularJS has a set of built-in directives which offers functionality to your applications.The directives can be placed in element names, attributes, class names, as well as comments. It is a function which executes when the compiler encounters it. AngularJS directives are extended HTML attributes with the prefix ng- . The important & frequently required directives are ng-app, ng-model, ng-controller.
What is bootstrapping ?
Here ng-app is directive to auto-bootstrap an application. It indicates either the part of the page or whole page is the root of the Angular application. It reads the HTML within that root and compiles it into an internal representation. This reading and compiling process is the bootstrapping process for AngularJS. there is only one ng-app directive can be used per HTML document.
Example : <html ng-app> for whole page or <div ng-app> for specific part of page.
What is Data binding in AngularJS ?
It is the synchronization between the model and the view. It Binds the content of an HTML element to application data. You can use the ng-bind directive to bind the innerHTML of the element to the specified model property. You can also use double braces {{  }} to display content from the model. You can use the ng-model directive for two way binding from the model to the view on HTML controls & vice versa. This happens immediately and automatically, which makes sure that the model and the view is updated.
What is Angular Controllers ?
It defines a controller as the ng-controller=”TestController”. Here TestController function is a JavaScript function. AngularJS will invoke the controller with a $scope object. In AngularJS, The scope is the binding part between the HTML (view) and the JavaScript (controller). The scope is an object with the available properties and methods. The scope is available for both the view and the controller.
Let see a example of simple Interest Calculator, which inputs amount , rate and interest and calculates interest amount.
step 1 : import script
<script src= "http://ajax.googleapis.com/ajax/libs/angular.min.js"></script>
Above code import angular.min.js file which holds the directive functionality. Even you can download this file in current directory.
step 2: define ng-app & controller
<div ng-app="TestFirstApp" ng-controller="TestCtrl"><br>
Above code defines ng-app as TestFirstApp and ng-controller as TestCtrl for partial page div.
step 3: define controller function
<script>
var app = angular.module('TestFirstApp', []);
app.controller('TestCtrl', function($scope) {
$scope.amt = 50000;
$scope.terms = 1;
$scope.rate= 10;
$scope.interestamt= function() {
return ($scope.amt*$scope.rate*$scope.terms)/100;
};
});
</script>
Above code defines custom business logic function as interest calculation.
Step 4: design user interface & bind output variable.
Simple Interest Amount: {{"$." + interestamt()}}
Above code is in view to display calculated value as output. here interestamt is output variable.
Here you can download SIMPLE-INTEREST-CALCULATOR-ANGULARJS.html(2 downloads) . This code has some internal css for formatting . The Output of this code is shown in screenshot.



first-angular-program-step-by-step-screenshot

first-angular-program-step-by-step-screenshot

Thanks !
You can ask queries on mail : arvindpande@digitalpadm.com

How to install ns3 Linux Ubuntu 16.04


In this tutorial , You can get simple steps to install ns3 on linux ubuntu 16.04. This ns3 is written using the C++ & Python programming language. The ns3 library is wrapped by Python. C++ headers to gccxml and pygccxml  which automatically generate the corresponding C++ binding files which are finally compiled into the ns3 Python module. It allows users to interact with the C++.

Let's started, First we need to Install prerequisite packages and libraries which need to run ns3 on linux ubuntu. Press Ctrl + Alt + T to open terminal. login as Sudo su. Just copy following commands one by one on your terminal.

Install required compilers & additional packages 

apt-get install gcc g++ python apt-get install gcc g++ python python-dev apt-get install mercurial python-setuptools git

 

qt4 development tools are needed for Netanim animator

 apt-get install qt4-dev-tools libqt4-dev


Compilation packages

apt-get install cmake libc6-dev libc6-dev-i386 g++-multilib


Debugging tools, valgrind for memory debugging

apt-get install gdb valgrind


GNU Scientific Library (GSL) support for more accurate WiFi error models

apt-get install gsl-bin libgsl2 libgsl-dev


for flex lexical analyzer and bison parser generator

 apt-get install flex bison libfl-dev

 

To read pcap packet traces

apt-get install tcpdump


Database support for statistics framework

 apt-get install sqlite sqlite3 libsqlite3-dev


for Xml library support

 apt-get install libxml2 libxml2-dev


for creating graphical user interface

 sudo apt-get install libgtk2.0-0 libgtk2.0-dev


for virtual machines and ns-3

apt-get install vtun lxc


for source code modification

 apt-get install uncrustify


for editing image and texlive for documentation

apt-get install doxygen graphviz imagemagick apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng sudo apt-get install python-sphinx dia


for pyviz visualizer

apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython


for openflow module

apt-get install libboost-signals-dev libboost-filesystem-dev


for MPI-based distributed emulation

apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev


Create a directory NS3 under opt directory for downloading ns3 files.

cd /opt mkdir NS3 cd NS3 hg clone http://code.nsnam.org/ns-3-allinone


As the hg (Mercurial) command executes, you should see something like the following displayed

destination directory: ns-3-allinone requesting all changes adding changesets adding manifests adding file changes added 26 changesets with 40 changes to 7 files 7 files updated, 0 files merged, 0 files removed, 0 files unresolved


After the clone command completes, you can find directory ns-3-allinone under your /opt/NS3 directory. run the python file to download and build the ns-3 distribution

 cd ns-3-allinone ./download.py -n ns-3-dev


After download process completes, you can find several new directories under /opt/NS3/ns-3-allinone as below.

 

build.py* constants.pyc download.py* nsc/ README util.pyc constants.py dist.py* ns-3-dev/ pybindgen/ util.py


Now compile and build the package. run build python file

./build.py

Configuration with Waf

cd ns-3-dev CXXFLAGS="-O3" ./waf configure ./waf -d optimized configure; ./waf ./waf --enable-examples configure ./waf --enable-tests configure


Now verify installation

./test.py


u will get output as below

PASS: TestSuite histogram PASS: TestSuite ns3-wifi-interference PASS: TestSuite ns3-tcp-cwnd PASS: TestSuite ns3-tcp-interoperability PASS: TestSuite sample ...

It means your installation is successful !


In my next post, I will show how to run first program in ns-3.


Thanks !


You can ask any query by mail  at arvindpande@digitalpadm.com.

How to Install Spin Model Checker on Linux



This tutorials explains, how to install Spin on Linux Ubuntu 16.04. Spin is  Logic model checking and in the formal verification of concurrent systems and multi-threaded software applications.

The tool supports a high level language to specify systems descriptions called PROMELA (short for: PROcess MEta LAnguage)  and provides direct support for the use of embedded C code as part of model specifications. Spin can be used as as a simulator , as an exhaustive verifier , as proof approximation system & as a driver for swarm verification. All Spin software is written in C language  and it is portable across all Platforms as Windows, Linux, Mac.

To install Spin on Linux Ubuntu 16.04
download  recent .tar-file with sources of Spin software from this link ( download Spin Software).

Update & Install Essentials Components.
sudo apt-get update
sudo apt-get install build-essential

Copy spin packed file to opt folder
cp spin*.tar.gz  /opt/
cd /opt/

Extract spin using following command
tar -zxvf  spin*.tar.gz

Goto Spin Folder
cd  spin*/Spin

Goto Source Folder
cd  Src*

Compile Source files
make

if you face error , install yacc by following command.
sudo apt-get install byacc flex
make

if u get output as above, goto examples folder.
cd ..
cd Examples

To Test the installation , Type following command
Examples folders contains various ready example in PROMELA language , u can run any file to test installation.

spin hello.pml

if u get output as
passed first test ! 1 process created.
means u have installed spin correctly.

u can also test graphical user interface to spin, which is ispin
ispin hello.pml

Thanks !

Here is the more Tutorials , Books , Papers & Exercises .

Most useful linux command - ls, cd, cp, mv, rmdir, rm, ifconfig, ping, netstat, traceroute, pidof, kill, df




Following are the most useful & frequently required Commands on Linux terminal for beginners. these commands are executed on Ubuntu 16.04 OS.

ls command

ls with no option shows the list files and directories in bare format of current directory. It won’t shows details like file types, size, modified date and time, permission and links etc.
To display file and directories
ls
To display hidden files
ls -a
To display all files and directories with size
ls -lh
To display Recursively list of Sub-Directories
ls -R
To Sort Files by File Size
ls -ls
To shows latest modification file or directory date as last.
ls -ltr

mkdir command

mkdir is used to create directories on a file system.
Syntax : 
mkdir directory_name

Example : 
mkdir tutorials

cd command

It allows you to change your working directory. You use it to move around within the hierarchy of your file system. The double-dot ("..") directory notation can be used anywhere in a directory name to represent going up one level.
Syntax :
cd directory_path

Example :
cd /home/user_name/documents
cd ..
cd .. commands moves to its parent directory as /home/username

mv command

The mv command is used to move or rename files. mv renames file SOURCE to DEST, or moves the SOURCE file (or files) to DIRECTORY.
Syntax :
mv filename destination-directory

Examples :
mv file.txt /home<br>

cp command

The cp command is used to make copies of files and directories.
Syntax :
cp [OPTION]... SOURCE... DIRECTORY
cp origfile /directory/subdirectory

Example :

Copy multiple files into another directory, using a wildcard:
cp file*.jpg /directory/subdirectory

Copy an entire directory structure into another location:
cp -R /one/two /three/four

You can use cp to copy entire directory structures from one place to another using the -R option to perform a recursive copy.

rmdir command

The rmdir utility removes the directory entry specified by each directory argument, provided the directory is empty.
Syntax:
rmdir directory_name

Example:
rmdir tutorials

To Remove non empty directory
rmdir -rf tutorials
Here  -r option is to remove directories and their contents recursively , -f option is to never prompt , means for forcefully delete.

rm command

rm command is used to delete files from a file system. Usually, on most file systems, deleting a file requires write permission on the parent directory and execute permission.
Syntax :
rm file1 file2 file3

Example :
To remove single or multiple files
rm abc.txt pqr.txt xyz.txt

To remove all files & subdirectories from a directory
rm -rf mydir

-f: Forcefully remove file
-r: Remove the contents of directories recursively

ifconfig command

ifconfig is used to configure, or view the configuration of, a network interface. ifconfig stands for "interface configuration". It is used to view and change the configuration of the network interfaces on your system. It will display information about all network interfaces currently in operation.
Example:
ifconfig
To activate eth1
sudo ifconfig eth1 up
To deactivate eth1
sudo ifconfig eth1 down

ping command

ping(Packet INternet Groper) is a simple way to send network data to, and receive network data from, another computer on a network. It is frequently used to test, at the most basic level, whether another system is reachable over a network, and if so, how much time it takes for that data to be exchanged. It is the best way to test connectivity between two nodes.
Example: 
ping www.yahoo.com

Netstat command:

It stands Network Statistic (Netstat) command to display connection info, routing table information, Tcp, Udp port, protocols information.
To displays routing table information
netstat -r

To display TCP Ports connections
netstat -at

To display UDP Ports connections
netstat -au

To display Statistics by Protocol
netstat -s

To get netstat information continuously
netstat -c

pidof command

Pidof finds the process id’s of the named programs. It prints that id’s on the standard output.
Example :
To find process id of running process 
pidof process_name 
pidof gedit
it return process id of running instance of gedit program. i.e process

Kill Command

kill is used to send a signal to a process. The default signal for kill is TERM (which will terminate the process). To test this command, just open gedit editor.
Syntax :
kill processid

Example :

pidof gedit

if it return process id as 9378, pass it as parameter to kill command.

kill 9378

traceroute Command

traceroute is a network troubleshooting utility which shows number of hops taken to reach destination also determine packets traveling path. Traceroute is a utility that records the route through the Internet between your computer and a specified destination computer. It also calculates and displays the amount of time each hop took.
Example: traceroute google.com

df Command

The df command reports the amount of used and available disk space on file systems.
Example :
To display size in human readable form as KB,MB,GB..
df -h

To grand total of used , available size of all disks on file system.
df -total
all above are most useful linux commands for beginners with required options. to know more about any option write --help after command name on terminal
Example :
df --help