Sunday 31 January 2016

JSON

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming LanguageStandard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.
JSON is built on two structures:
  • A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.
  • An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.
These are universal data structures. Virtually all modern programming languages support them in one form or another. It makes sense that a data format that is interchangeable with programming languages also be based on these structures.
In JSON, they take on these forms:
An object is an unordered set of name/value pairs. An object begins with { (left brace) and ends with } (right brace). Each name is followed by: (colon) and the name/value pairs are separated by , (comma).

An array is an ordered collection of values. An array begins with [ (left bracket) and ends with ] (right bracket). Values are separated by, (comma).

value can be a string in double quotes, or a number, or true or false or null, or an object or an array. These structures can be nested.

string is a sequence of zero or more Unicode characters, wrapped in double quotes, using backslash escapes. A character is represented as a single character string. A string is very much like a C or Java string.

number is very much like a C or Java number, except that the octal and hexadecimal formats are not used.

Whitespace can be inserted between any pair of tokens. Excepting a few encoding details, that completely describes the language.

Source From  :
http://www.json.org/

Version Control Software in 2014

Imagine software that creates checkpoints in your work and allows you to go back to those checkpoints when you want. This essentially means revisiting your work back in time. Once you are back to such a checkpoint, you can also deviate from the original path that you chose. This is exactly what version control systems do for you!
When using version control, the main code is present on one central repository or distributed over many repositories. Everyone working on the code has a local copy of what they are working on in their local or remote systems. This local copy may be a file, some files and directories or the whole repository, depending on the software. Version control system software helps in the management of this code. Besides that, non programmers can also use such software, for example, to manage documents.
In this post, I will offer a quick review of version control software options that we currently have at our disposal. Version control software is broadly divided into two categories — centralized and distributed. Centralized systems have a single central copy of the code on a server and developers commit changes to this central copy only. In distributed systems, every user has a copy of the code, with full history of the project.

Git

Git, which which is a distributed version control system, is arguably the most popular version control system today. It was developed by Linus Torvalds to address the issue of speed with existing version control systems. A wide range of organizations worldwide prefer Git to manage their code, as Git provides a huge range of features.
Git
With the emergence of popular websites like GitHub, GitLab, and BitBucket, code review using git has become very easy. That is why new organizations are choosing git over others.
Notable internet giants who use Git for version control are Twitter and Quora. In fact, Twitter’s open source work is on GitHub. As of March 2014, their Bootstrap project is the most popular repository on GitHub with about 67,000 stars and over 24,000 forks!
In case you’re interested in the philosophy behind the development of Git, here is a video of Linus Torvalds’ Google tech talk on Git. He talks of the issues with CVS and SVN and how Git solves these.
If you’re new to Git, you can try this beginners tutorial.

Subversion (SVN)

Subversion was created as an alternative to CVS (Concurrent Versions System), which has been around for about three decades. Thus, Subversion offers the best features of CVS with some improvements. Subversion puts emphasis on centralized code, whereas other popular version control systems today are “decentralized” (or distributed).
Subversion (SVN)
Although it overcomes a few of the deficiencies of CVS, Subversion has a few drawbacks of its own. Subversion is often found to be slow and lacks certain features of its counterparts. For instance, subversions branching lacks many features in comparison with Git or Mercurial.
With Subversion, branches are created centrally rather than in your local machine, which means there can’t be two branches with the same name. As Linus explains in his talk linked above, there can be branches from “test1” to “test5000” too, making it very difficult to understand! Subversion alsoimplements renaming of files in a weird way. It makes a copy of the file or directory to the new name and deletes the one associated with the old name.
In recent years, many popular open source organizations like Rails and PHP have moved on from Subversion to Git.
Why would you want to use Subversion over Git or Mercurial today if large organizations are moving away from it? Subversion enables you to restrict the access to certain directories for specific users using the path based authorization. The same structure is also possible in Git, but you would have to split your main repository into many smaller ones and restrict access to one of the required smaller repositories. This makes the whole process a bit complex.
For an intro to Subversion you can check out this free book, available online in HTML format or as a PDF.

Mercurial

Mercurial, much like Git, is a free and distributed open-source system. Mercurials main objectives are high performance, scalability, along with advanced branching and merging capabilities. It has advantages similar to those of Git, but there are certain disadvantages too.
Mercurial
Although it started out at roughly the same time as Git, Git has the edge at present. One organization that has shifted from a Subversion server (with a Git mirror) to Mercurial is Facebook. The main reason they chose mercurial over Git is Mercurial’s clean, modular, Python code that was easier to extend. As a result, Facebook engineers contribute actively to Mercurial.
If you prefer Mercurial over Git, you can host your code on BitBucket.
For a beginner’s tutorial on Mercurial, you can check out Hg Init.

Notable Mentions

Although we have covered the most popular version control systems, there are quite a large number of such systems. One, already mentioned, is CVS (Concurrent Versions System), which has been around since the 80s. It was widely used until the emergence of Subversion and Git. CVS allowed users to register their changes on a first-come first-serve basis and allowed only the latest version of the code to be worked upon and edited. This meant that you needed to commit your code first if you didn’t want to incorporate everyone else’s changes!
Another version control system that I should mention is Perforce. This is a commercial version control system, used by companies like NVIDIA and Ubisoft. Perforce also has a Git plugin to integrate with your existing Git repositories.
Yet another option is Bazaar. Like Git and Mercurial, Bazaar is a distributed version control system and is promoted under the the tagline “version control for human beings”. If you are interested, you can check out their well written documentation.

Conclusion

As evident from this list, you have a lot of options when it comes to version control systems. What you choose to use is largely up to your requirements and to a certain extent, your taste. Generally, people will opt for the system that they have some experience with already. And I should note that many other services like Google Docs provide basic revision control and you should consider a simpler service like that if your needs are minimal.

Source From : http://www.sitepoint.com/version-control-software-2014-what-options/

Tuesday 5 January 2016

How Big Data is changing the way we do business

                    Big Data is increasingly being used by prominent companies to outpace the competition. Be it established companies or startups, they are embracing data-focussed strategies to outpace the competition.

                     In healthcare, clinical data can be reviewed treatment decisions based on big data algorithms that work on aggregate individual data sets to detect nuances in subpopulations that are so rare that they are not readily apparent in small samples.

Banking and retail have been early adopters of Big Data-based strategies. Increasingly, other industries are utilizing Big Data like that from sensors embedded in their products to determine how they are actually used in the real world.

                      Big Data is useful not just for its scale but also for its real-time and high-frequency nature that enables real-time testing of business strategies. While creating new growth opportunities for existing companies, it is also creating entirely new categories of companies that capture and analyze industry data about products and services, buyers and suppliers, consumer preferences and intent.

What can Big Data analytics do for you?

Optimize operations

                   The advent of advanced analytics, coupled with high-end computing hardware, has made it possible for organizations to analyze data more comprehensively and frequently.

                   Analytics can help organizations answer new questions about business operations and advance decision-making, mitigate risks and uncover insights that may prove to be valuable to the organization. Most organizations are sitting upon heaps of transactional data. Increasingly, they are discovering and developing the capability to collect and utilize this mass of data to conduct controlled experiments to make better management decisions.

React faster

                  Big Data analytics allows organizations to make and execute better business decisions in very little time. Big Data and analytics tools allow users to work with data without going through complicated technical steps. This kind of abstraction allows data to be mined for specific purposes.

Improve the quality of services

                  Big Data analytics leads to generation of real business value by combining analysis, data and processing. The ability to include more data, run deeper analysis on it and deliver faster answers has the potential to improve services. It allows ever-narrower segmentation of customers and, therefore, much more precisely tailored products or services.

                  Big Data analytics helps organizations capitalize on a wider array of new data sources, capture data in flight, analyze all the data instead of sample subsets, apply more sophisticated analytics to it and get answers in minutes that formerly took hours or days.

Deliver relevant, focussed customer communications

                   Mobile technologies tracks can now track where customers are at any point of time, if they're surfing mobile websites and what they're looking at or buying. Marketers can now serve customized messaging to their customers. They can also inform just a sample of people who responded to an ad in the past or run test strategies on a small sample.


Where is the gap?


                 Data is more than merely figures in a database. Data in the form of text, audio and video files can deliver valuable insights when analyzed with the right tools. Much of this happens using natural language processing tools, which are vital to text mining, sentiment analysis, clinical language and name entity recognition efforts. As Big Data analytics tools continue to mature, more and more organizations are realizing the competitive advantage of being a data-driven enterprise.

                   Social media sites have identified opportunities to generate revenue from the data they collect by selling ads based on an individual user's interests. This lets companies target specific sets of individuals that fit an ideal client or prospect profile. The breakthrough technology of our time is undeniably Big Data and building a data science and analytics capability is imperative for every enterprise.


                   A successful Big Data initiative, then, can require a significant cultural transformation in an organization. In addition to building the right infrastructure, recruiting the right talent ranks among the most important investments an organization can make in its Big Data initiative. Having the right people in place will ensure that the right questions are asked -- and that the right insights are extracted from the data that's available. Data professionals are in short supply and are being quickly snapped up by top firms.


Source From :
http://www.techgig.com/