Friday, March 3, 2017

Angular 4 coming up next


I believe, the readers of this article are well versed or educated of Angular basics and also have hands-on experience.

There have several versions of Angular been already released including (BETA, Release Candidate, and Final version). If you are more interested to read about the previous versions of Angular, I would recommend the following official links:

https://angularjs.org/  - For Angular 1.x versions
https://angular.io/       - For Angular 2.x and later versions
https://github.com/angular/angular/blob/master/CHANGELOG.md - github repository having every release/ update details

Please note: Google intentionally has not chosen the next version as “Angular 3” instead it will be “Angular 4” which is supposed to be launch its final version in March 2017. Angular is getting more mature with its new versions.  

Angular 4 release candidate 2 (rc.2) version has also released. Here is the screenshot of the changes in the latest release candidate (rc.2) of Angular 4:


Angular Release Almanac
Google has a tentative plan to release Angular 4 in the month of March 2017. 


 
According to Igor Minar, Angular plans to have major releases every 6 months with minimal breaking changes. This seems like a pretty feasible plan, unless another mistake is done with the naming of the packages like it happened for the router package. He quotes “Let's not call it AngularJS, let's not call it Angular 2," he said, "because as we are releasing more and more of these versions. It's going to be super confusing for everybody.”
The Angular team announced that they will be using SEMVER when releasing updates.
SEMVER
SEMVER is abbreviation of Semantic Versioning. It is all about to make meaningful version number of releases. You may look at the following table for better understanding:
Angular team has strategically aligned each semantic with tentative timeline. For instance:
1.       Patch: this version to be released every week exception of holidays.
2.       Minor: this version to be released every month.
3.       Major: this version to be released every six months meaning two releases every year.
You know switching from Angular 1.x to Angular 2.0 was a big-bang release. The concepts were dramatically changed but fortunately the next version 4.0.0 will be a smooth shift and a major version that will be backwards compatible with the previous release (version 2.x.x) for most developers, but might remove APIs that have been deprecated two major versions ago (6 or more months ago).
Starting with the 2.0.0 release of Angular, Angular team adopted the following development processes:
·         Use semantic versioning for signaling the content of Angular releases.
·         Moved to time-based release cycles so that you can plan ahead.
·         A deprecation policy so that you know how to get notified of API changes ahead of time.
·         Clarified the distinction between stable and experimental APIs.
·         Clarified the scope of Public API surface.
There would be certainly feature enhancements in version 4.0.0 which we can discuss here.
Upcoming Features
·         Backward compatibility (mentioned above as well)
·         Much smarter Angular compiler (ngc) for better error handling
·         Extra type safety
·         Better runtime speed and parse time and rest will come shortly
Tentative schedule after 4.0.0 final release in March 2017
Date
Stable Release
Compatibility*
September/October 2017
5.0.0
^4.0.0
March 2018
6.0.0
^5.0.0
September/October 2018
7.0.0
^6.0.0

I come up with more information as I’ll get it. Till than… Happy reading…
Abhishek Maitrey
twitter: @abhimaitrey

Saturday, December 10, 2016

Road to Disruption

Road to Disruption
Someone has rightly said, time changes faster than it seems. Same concept is evident in how businesses, industries has been changing. Decade after decade the speed of change in businesses is increasing at an amazing rate. You remember how traditional businesses shifted from pen & paper based business management in 1970’s to SAP era of business management now. How computer gave birth to information technology which resulted in reduced effort, lower cost, lesser time to market for products/ services.

Disruption is shining anyway. Can’t say if it’s dawn of disruption but for sure it is not the end. New age thinker are changing the way industry runs, business are done, services are delivered. Take a look at some of disruptors. Uber has changed the way people book taxies. You need not to be a radio taxi company to provide taxi service, a mobile app based technology company also can. Now booking taxi is just a click away & in 5 minute one can avail sedan ride at lowest price. Paytm has shown, not only banks but an IT company can also do banking. How easily one can pay for any item they buy be it home grocery, food, jewelry anywhere with just one image scan. These companies are today valued at multibillion USD in a short span of 2-5 years. Traditional companies takes ages to become a billion dollar company.

What is Disruption?
A question keep striking in peoples mind who these disruptors are & how to become one of them. To answer this question first we need to understand the “Disruption”.  Disruption is something which changes the way existing market, technology, product, service, system works. It finds simple way of doing the same thing with minimal cost, effort, and infrastructure & altogether a new experience to customers like Uber, Paytm, Airbnb did.

Who is a Disruptor?
One who finds simple approach to solve existing problem, process or identifies hidden opportunity & successfully implements it.
To simplify disruption, it is a customer focused idea implemented successfully which has changed the way existing system works.

How to become one of the Disruptor?
Becoming disruptor is not a one day story nor it is impossible to become. Disruptor thinking is an approach which comes with practice in day to day routine. I am sharing some of common traits of disruptors, rest experience is the best teacher.
First they decide what they want to disrupt, a product/ service/ industry or what?
They study a lot on existing industry, trends about what they want to disrupt.
They think with end user in mind like current days design thinking.
They do experiment with ideas & learn from them either they succeed or fail.
They build on ideas which has least dependency on infrastructure/ capital
Lastly, they lead the idea implementation

Practicing disruptor’s traits in day to day routine will develop disruptor like thinking approach. Don’t forget having a good idea is not disruption. It is Ideas successful execution which will lead to disruption. 

Note: This is not my own article but shared and written by Parshant Tanwar (my friend, a wikipedia of thoughts). Thanks to him for sharing his thoughts with me also given me privilege to publish this to open world.

Friday, December 9, 2016

Create bulk data in database table using SQL

I had a requirement to create a very heavy size database to test some sampling technique. I have created a table in database called "NewEmployee" and written set of Insert statement with dummy data using SQL script. The script is given here:

declare @id int
select @id = 1
while @id >=1 and @id <= 100000
begin
Insert Into NewEmployee Values (17, '18'+ convert(varchar(5), @id), NULL, 14, 'Don' + convert(varchar(5), @id), 'Boscow'+ convert(varchar(5), @id), '2000-07-31', '1976-05-15', 'adventure-works\don'+ convert(varchar(5), @id), 'don'+ convert(varchar(5), @id)+'@dummydata.com', '320-555-0195', 'M', 'Don Boscow'+ convert(varchar(5), @id), '320-555-0195', 0, 'M', 1, 'Production', '2000-07-31', NULL, 'Current');

    select @id = @id + 1
end

Thursday, December 8, 2016

Create new database table from existing one

Create new database table from existing one

For example you want to create a duplicate table called "NewEmployees" of an existing table called "Employees". Use the following script:

--syntax--
CREATE TABLE newTable
AS 
(SELECT * FROM oldTable);
 
example script:
CREATE TABLE NewEmployees
AS
(SELECT * FROM Employees)
 
Note: you may specify exact fields names instead of *. Here * denotes to all fields.

There are chances to get an error in SELECT statement if you have any primary key 
auto incremental field in the existing table. In such situation you may go for
another script (given here under)

--syntax--
SELECT * INTO newTable
FROM oldTable 
 
example script: 
SELECT * INTO NewEmployees
FROM Employees