Saturday, 25 February 2017

How To Revert To Old WhatsApp On Android: A Step-By-Step Guide

Have you updated to the latest version of WhatsApp that brings a new feature called Status? Facebook has been stealing feature ideas directly from Snapchat for months. The new Status is just another stolen feature. If you don’t like the new version and desperately want to get back to the older version, this guide is for you.

WhatsApp doesn’t allow users to downgrade

The company does not allow users to downgrade to an older version of the app once they have upgraded to the latest one.
Fortunately, you can download and install an older version with the help of a third-party source. Here’s the step-by-step guide to go back to the older version of the messaging app on your Android device:
Go to Settings > Security  and toggle on the Unknown Sources option that will allow you to install apps from third-party sources:

You’ll get a prompt warning you that installing apps from unknown sources could put your device at risk. Tap on OK.

Open WhatsApp on your device and go to Settings > Chats > Chat Backup to take a complete backup.

Uninstall WhatsApp from your device.
Open your smartphone browser and go to this link. I tried several recent versions of WhatsApp, but version 2.17.60 worked perfectly fine for me. Download V2.17.60 APK file.
Go to the Downloads folder on your Android phone and tap on the downloaded APK file.
On the next screen, tap Install at the bottom right to begin the installation.

Once it’s installed, open the app, agree to WhatsApp’s terms & conditions, verify your phone number, restore the backup, and enjoy the old version of the messaging service.
The Status feature in the latest version allows users to share photos and videos that disappear after 24 hours. Facebook’s other app Instagram already offers this feature. On WhatsApp, you can control who can see your status update. If you want to see how many of your contacts have seen the update, tap on the eye icon at the bottom of that status.

11 Programming languages to learn for landing a good job

A programming language is a notation for writing programs, which are specifications of a computation or algorithm. Some, but not all, authors restrict the term “programming language” to those languages that can express all possible algorithms.Traits often considered important for what constitutes a programming language include:
Function and target
computer programming language is a language used to write computer programs, which involve a computer performing some kind of computation or algorithm and possibly control external devices such as printers, disk drives, robots,and so on. For example, PostScript programs are frequently created by another program to control a computer printer or display. More generally, a programming language may describe computation on some, possibly abstract, machine. It is generally accepted that a complete specification for a programming language includes a description, possibly idealized, of a machine or processor for that language. In most practical contexts, a programming language involves a computer; consequently, programming languages are usually defined and studied this way. Programming languages differ from natural languages in that natural languages are only used for interaction between people, while programming languages also allow humans to communicate instructions to machines.
Programming languages usually contain abstractions for defining and manipulating data structures or controlling the flow of execution. The practical necessity that a programming language support adequate abstractions is expressed by the abstraction principle this principle is sometimes formulated as a recommendation to the programmer to make proper use of such abstractions.
Expressive power
The theory of computation classifies languages by the computations they are capable of expressing. All Turing complete languages can implement the same set of algorithms. ANSI/ISO SQL-92 and Charity are examples of languages that are not Turing complete, yet often called programming languages.

Markup languages like XML, HTML or troff, which define structured data, are not usually considered programming languages Programming languages may, however, share the syntax with markup languages if a computational semantics is defined. XSLT, for example, is a Turing complete XML dialect. Moreover, LaTeX, which is mostly used for structuring documents, also contains a Turing complete subset.

1. R

At heart, R is a programming language, but it’s more of a standard bearer for the world’s current obsession with using statistics to unlock patterns in large blocks of data. R was designed by statisticians and scientists to make their work easier. It comes with most standard functions used in data analysis and many of the most useful statistical algorithms are already implemented as freely distributed libraries. It’s got most of what data scientists need to do data-driven science.

2. Java 8

Java isn’t a new language. It’s often everyone’s first language, thanks to its role as the enterprise favourite  for AP Computer Science. There are billions of JAR files floating around running the world.

3. Swift

Apple saw an opportunity when programming newbies complained about the endless mess of writing in Objective C. So they introduced Swift and strongly implied that it would replace Objective C for writing for the Mac or the iPhone. They recognized that creating header files and juggling pointers was antiquated. Swift hides this information, making it much more like writing in a modern language like Java or Python. Finally, the language is doing all the scut work, just like the modern code.

4. Go

When Google set out to build a new language to power its server farms, it decided to build something simple by throwing out many of the more clever ideas often found in other languages. They wanted to keep everything, as one creator said, “simple enough to hold in one programmer’s head.” There are no complex abstractions or clever metaprogramming in Go—just basic features specified in a straightforward syntax.

5. CoffeeScript

Somewhere along the line, some JavaScript programmers grew tired of typing all those semicolons and curly brackets. So they created CoffeeScript, a preprocessing tool that turns their syntactic shorthand back into regular JavaScript. It’s not as much a language as a way to save time hitting all those semicolons and curly bracket keys.

6. D

For many programmers, there’s nothing like the very clean, simple world of C. The syntax is minimal and the structure maps cleanly to the CPU. Some call it portable Assembly. Even for all these advantages, some C programmers feel like they’re missing out on the advantages built into newer languages.

7. Less.js

Just like CoffeeScript, Less.js is really just a preprocessor for your files, one that makes it easier to create elaborate CSS files. Anyone who has tried to build a list of layout rules for even the simplest website knows that creating basic CSS requires plenty of repetition; Less.js handles all this repetition with loops, variables, and other basic programming constructs. You can, for instance, create a variable to hold that shade of green used as both a background and a highlight color. If the boss wants to change it, you only need to update one spot.


Most people take the power of their video cards for granted. They don’t even think about how many triangles the video card is juggling, as long as their world is a complex, first-person shooter game. But if they would only look under the hood, they would find a great deal of power ready to be unlocked by the right programmer. The CUDA language is a way for Nvidia to open up the power of their graphics processing units (GPUs) to work in ways other than killing zombies or robots.

9. Scala

Everyone who’s taken an advanced course in programming languages knows the academic world loves the idea of functional programming, which insists that each function have well-defined inputs and outputs but no way of messing with other variables. There are dozens of good functional languages, and it would be impossible to add all of them here. Scala is one of the best-known, with one of the larger user bases. It was engineered to run on the JVM, so anything you write in Scala can run anywhere that Java runs—which is almost everywhere.

10. Haskell

Scala isn’t the only functional language with a serious fan base. One of the most popular functional languages, Haskell, is another good place for programmers to begin. It’s already being used for major projects at companies like Facebook. It’s delivering real performance on real projects, something that often isn’t the case for academic code.

11. Jolt

When XML was the big data format, a functional language called XSLT was one of the better tools for fiddling with large datasets coded in XML. Now that JSON has taken over the world, Jolt is one of the options for massaging your JSON data and transforming it. You can write simple filters that extract attributes and JOLT will find them and morph them as you desire. See also Tempo and using XSLT itself.

Friday, 24 February 2017

Top 5 Google Chrome Extensions Every Developer Must Know

Google Chrome is one of the most popular web browsers out there in the wild. It has created its special place in the hearts of the Internet users, and you might be using it as your primary browser. One of the reasons for Chrome to be popular among all kinds of users, whether consumers or developers, is the vast collection of plugins and extensions on the Chrome web store. In this post, I will be covering the top 5 Chrome extensions apart from the developer console that is useful for any developer in doing his/her daily job.

1. Firebug Lite for Google Chrome™

Firebug Lite is a tool to be used in conjunction with the Chrome Developer Tools. Firebug Lite provides the same rich visual representation, as we have experienced in the case of Firebug when it comes to HTML elements, DOM elements, and Box Model shading. It also provides some cool features like inspecting HTML elements with your mouse and live editing CSS properties. I feel Chrome Developer Tools are self-sufficient but Firefox users would probably like this.

2. Speed Tracer (by Google)

You’d love this Chrome extension if you are a web developer obsessed with performance. Speed Tracer is a tool to help you identify and fix performance problems in your web applications. It visualizes metrics that are taken from low level instrumentation points inside of the browser and analyzes them as your application runs. Speed Tracer works on all platforms where extensions are currently supported (Windows and Linux).
Using Speed Tracer, you can get a better picture of where time is getting wasted in your application. For instance, problems caused by JavaScript parsing and execution, layout, CSS style recalculation and selector matching, DOM event handling, network resource loading, timer fires, XMLHttpRequest callbacks, painting, and more.

3. Postman – Rest Client

If you are developing web services for your project, then you will find Postman, your best buddy. Postman helps you become more efficient while working with APIs. Postman is a scratch-your-own-itch project. The need for it arose when one of the developers was creating an API for his project. After looking around for a while, the developer was unable to find the desired tool and Postman came into existence. The primary features added initially were a history of sent requests and collections.

4. Stylebot

Web designers need a way to manipulate CSS on the fly and see the behavior live. Stylebot lets you alter the appearance of any website with custom CSS. You pick an element and choose any changes you want to make from the editor. You can modify the font, color, margins, visibility and a lot more. You can also write CSS manually.

5. PageSpeed Insights

Another interesting tool for a web developer is PageSpeed Insight by Google. The PageSpeed Insights extension for Chrome allows you to evaluate the performance of your web pages and get suggestions on how to improve them.

How to Get Faster Internet Speed Using DNS Hack

There are many ways to get a faster internet speed in Microsoft Windows. Today, I am going to show you a simple DNS hack that can speed up your Web Browsing  dramatically. First, I need to remind you an obvious thing that happens with most of us when we are using a slow internet connection. The only thing we blame is our Internet Service Provider (ISP) for slow internet connection, but this isn’t the only case all the time. Sometimes, the problem lies with our DNS (Domain Name System). So, let me explain you something about DNS before telling you the method to get a faster internet speed.

What is DNS?

DNS – Domain Name System (Service/Server) – is something that converts your domain names into IP addresses.

The domain names are usually alphabetic for us to remember easily, but in actuality, the Internet works on IP addresses. The DNS converts the domain name into its corresponding IP address, each time it is used as such. The DNS has a network of its own i.e. one DNS server can ask other DNS servers about translating a specific domain name to its corresponding IP address till it gets the correct result.
Computers and other devices make use of IP address to route the traffic and it is very much similar to dialing a phone number. DNS acts as an intelligent operator that helps us bypass the infinite address book of IP addresses. Your DNS manages this huge task.

How an Alternative DNS Service Will Speed Up Your Browsing?

As I mentioned earlier, your tortoise-like internet speed isn’t always your Internet Service Provider’s fault, instead, it may be your DNS’s fault. So why not use an alternative DNS service? As the present web pages continue to become more and more complex by inculcating innumerable things. So, clients go for multiple DNS lookups for rendering one single web page. With the continuous growth in web, the existing DNS infrastructure is under more load each day.
Now, I’ll tell you to use a free public DNS service that will tell your computer to use that service instead of using your ISP prescribed service and will help you to get a faster internet speed

How To Speed Up Web Browsing Using DNS Hack?

To get a faster internet speed, I’ll tell you about free OpenDNS service. You can also use Google DNS for speeding up your internet. OpenDNS is one of the most popular free DNS services that was started to provide an alternative method to those who were discontented with their existing DNS. Ahead I’m mentioning about OpenDNS; find Google DNS after that.
By following these simple steps, you can tell your computer to use OpenDNS’s DNS servers instead of the ones your service provider automatically uses:

Open DNS:

Step 1:
To get a faster internet speed using OpenDNS, open Control panel.
Step 2:
Go to Network and Internet options.
Step 3:
Now click on Network and Sharing Center.
Step 4:
Click on your Internet Connection and then click on Properties.
Step 5:
Click the Internet Protocol Version 4 (TCP/IPv4) and click on Properties.
Step 6:
Now choose the following DNS server addresses to get a faster internet speed:
  • Preferred DNS server:
  • Alternate DNS server:
You are using OpenDNS’s servers now which helps you to get a faster internet speed.

To Configure IPv6:
Highlight the Internet Protocol Version 6 (TCP/IPv6) and click on Properties, and choose the following DNS server addresses:
  • Preferred DNS server: 2620:0:ccc::2
  • Alternate DNS server: 2620:0:ccd::2

Google DNS:

Replace those addresses with the IP addresses of the Google DNS servers in step 6.
For IPv4: and/or
For IPv6: 2001:4860:4860::8888 and/or 2001:4860:4860::8844

Thursday, 23 February 2017

How to Disable or Enable Automatic App Updates on Android

As the number of apps installed on our phones and tablets continues to grow, it can become quite cumbersome to keep them all up to date. Most times, app developers push out updates for ‘bug fixes’, and that doesn’t really need your attention.

You’ve got better things to do with your life, like spending all the time watching cat videos on YouTube, or binge-watching the next season of your favourite show on Netflix. And there’s this thing called work, too. That’s why on Android, the default instruction for Google Play is to auto-update apps over Wi-Fi networks.

Sometimes though, you don’t want apps to move onto their latest available version, for a number of reasons: it could be a kink that breaks support, or an unfavourable new feature. Unlike the Apple App Store, the Play Store offers much more granular control over what apps are allowed to auto-update, and the ones that aren’t.

How to disable automatic updates for a specific app on Android
If you prefer the ways of auto-update, but would like to prevent certain app(s) from doing so, here are the instructions to disable automatic updates for a specific app:
Open Google Play Store.
Touch the hamburger icon in the top-left, and choose My apps & games. Swipe up to locate the app of your choice.
Alternatively, just hit the search icon, and type in the name of the app.
Once you’re on the app page, hit the three-dot icon in the top-right.
Uncheck Auto-update.

That’s all. From now on, that app won’t update unless you open the Play Store, and instruct it to do so. Other apps will continue to be updated automatically.

How to disable automatic updates for all apps on Android
To stay away from the auto-update feature completely, follow these instructions to disable automatic app updates on Android:
Open Google Play Store.
Touch the hamburger icon in the top-left, swipe up and choose Settings.
Under General, tap Auto-update apps.
Choose the first option: Do not auto-update apps.

Once you do that, not a single app will download and install a newer version unless you explicitly launch Google Play Store and use the Update or Update All option.

If you have an unlimited data plan, you could take automatic updates a step further to enable app updates on cellular data.

How to enable automatic updates on Android
Follow these steps to enable automatic updates on Android:
Open Google Play Store.
Touch the hamburger icon in the top-left, swipe up and choose Settings.
Under General, tap Auto-update apps.
If you want updates over Wi-Fi only, choose the third option: Auto-update apps over Wi-Fi only.
If you want updates as and when they become available, choose the second option: Auto-update apps at any time.

Remember, as Google informs you with the latter one, app updates will be downloaded over mobile data, which will eat into your cellular plan. Be sure that’s what you want.

Any apps that demand new permissions with their updates will need your permission to update, even if the auto-update option is turned on. That’s a nice touch by Google, as it ensures you know what you’re signing up for, and prevents malicious developers from gaining access to more than what you said yes to in the first place.

Wednesday, 22 February 2017

Microsoft CEO Satya Nadella announces 2G versions of LinkedIn and Skype

Smartphone users in India no longer need super-fast internet connectivity to access LinkedIn and Skype. Microsoft's India-born CEO Satya Nadella today announced the 'lite' versions of LinkedIN and Skype, termed LinkedIN Lite and SkypeLite respectively.

Nadella said that the 'lite' versions of the app have been developed to especially cater to mobile users in India.

The 13MB Skype Lite app also comes with Aadhaar integration. "You can soon enter your Aadhaar number over Skype to verify yourself for an interview," said Nadella.

The Microsoft CEO also talked about connected cars and the company's recent partnership with Tata Motors. "With self-driving and connected cars, the auto industry is at the forefront of changing the business model," he said.

He also showed how the Andhra Pradesh government is using Kaizala app in day-to-day administration. Created as a chat app, Kaizala has been customised is designed specifically for markets like India and countries in Africa.

Nadella also spoke about the power of cloud to transform businesses. "Phenomenal to see the entrepreneurial energy that's born in the cloud, and is re-shaping the economy in India," said Nadella.

Snapchat has a huge problem with Android, and it's causing investors to worry

Snapchat executives faced tough questions from investors in New York on Tuesday. Most of all: why is user growth slowing?
So far, Snap Inc. has been quick to blame the slowdown on shaky Android performance.
Executives at the roadshow in New York on Tuesday said Android phone users had problems accessing the Snapchat app, particularly in the fourth quarter. They said the company hopes to alleviate issues by developing on Apple's iOS platform and on Android simultaneously.
The company had previously put greater focus on the version of its app for iPhones, the device used by the majority of its users.
To boost its numbers, Snapchat acknowledges it will need to cater to Android users too.
"To continue growth in user engagement, we will need to prioritize development of our products to operate on smartphones with Android operating systems," the company said in its S-1 filing. "If we are unable to improve operability of our products on smartphones with Android operating systems, and those smartphones become more popular and fewer people use smartphones with iOS operating systems, our business could be seriously harmed."
During the second half of 2016, Snapchat's growth took a hit from the technical failures of its app. It added only six million new daily active users between July and September. The three months prior, Snapchat had added triple that, or 18 million users. That was a number on par with the first quarter of 2016 when the app added 20 million users.
bii snap DAU YoY growth 4Q16
In its S-1 filing , Snap ascribed the problem to unspecified hiccups in new product launches:
"For example, in mid-2016, we launched several products and released multiple updates, which resulted in a number of technical issues that diminished the performance of our application," the company said in its risk factor section. "We believe these performance issues resulted in a reduction in growth of Daily Active Users in the latter part of the quarter ended September 30, 2016."
Snapchat didn't go into detail about exactly what the "technical issues" were, though it did not that the impact was more pronounced with users of Android devices. Its CEO Evan Spiegel even took to Reddit to talk to Snapchat's Android users to see what the problems were.
Snapchat's failure to maintain the Android ecosystem particularly hampers its international growth and ability to grow its DAUs in foreign markets. Already, the company's global reach is constrained because of the high bandwidth needed to use the app. Unlike Facebook and Google, there are no "lite" versions of the app that are designed for low network speeds.
"Android penetration is often much higher in these countries compared to North America and Europe, so technical issues affecting Android devices have a disproportionate effect in these countries," the company said.

Interesting timing

While the company may blame it on its own product updates that crippled its Android app, the timing of its growth slow down does match with when Instagram launched its Snapchat competitor: Stories.
On August 2, Instagram created a near-clone of Snapchat's stories feature, which let users post images that disappear in less than 24 hours.According to TechCrunch , Snapchat influencers have already seen a drop-off in views on Snapchat as people start paying attention to Instagram's version.
One potential Snapchat investor who attended the roadshow briefing in New York told Bloomberg that the company tried to talk around its user growth issues. "Pointing to problems with Android is not addressing the elephant in the room, which is Instagram," the investor told Bloomberg .
While Snapchat's slowdown did happen right as Instagram launched its own competitor, it's sticking by the "technical issues" excuse. Now investors will have to wait to see if this quarter's product updates - including Search to find people easier - bring people back to the app or if they've fled to Instagram for good.

Tuesday, 21 February 2017

End of free run for Jio users from April, but there is good news to all.

From April this year, you will have to pay for services of Reliance Jio, that took the telecom market by storm through its free offerings. Jio on Tuesday announced plans to charge customers, while increasing the number of tariff plans to widen choice of its offerings.

Mukesh Ambani, chairman of Reliance, said the company has managed to breach the coveted 100-million subscriber mark within six months of its launch on September 5. "Jio's extremely popular... Happy New Year Offer is approaching its end on March 31. Starting April 1, Jio will start offering its tariff plans," Ambani said in a speech.

The company will have a variety of pay options that subscribers can choose from. Users can continue to have free-calling facility with an entry monthly post-paid tariff of Rs 149 (that gives 300 MB data), Rs 499 (4 GB data), and this plan can go up to Rs 4,999 that offers 75 GB of 4G data.

Jio also announced a new offer called 'Prime' that promises higher benefits. A membership of Prime can be availed by Jio customers throughout March and will cost Rs 99 annually. Under this, a customer gets free calling and unlimited data downloads for a full year by paying a fixed tariff of Rs 303 per month. Also, a Prime member will be entitled for higher data benefits if he chooses to go for Jio's regular tariff plans and not Rs 303 offering.

"Prime members can get the full bouquet of Jio's media services ... worth over Rs 10,000 for an annual subscription... completely free... for one full year," Ambani said.

He also said the company will match the highest-selling tariffs of rival operators, with a promise to provide 20% more data. Jio had been one of the key catalyst to boost data consumption across the country. "Jio users consumed more than 100 crore GB of data on the network. That is more than 3.3 crore GB a day," Ambani said.

Analysts said charging for services will be one of the biggest challenges for the new telco as it has managed a fast customer-acquisition run, mainly on the back of its free offerings. A number of quality issues and high call failure rate, which Jio has blamed on rivals due to alleged denial of inter-connect points, need to be sorted out as customers start paying. "They will now have to go through the usual challenges that any telecom company faces — to tackle issues related to quality of service, billing errors etc. That will be a test of the network, and also the organisation," a leading sector analyst said, though requesting anonymity.

"The price points and tariffs announced by Jio are good news for the consumer. The industry is pleased to see the commencement of paid services as the market will now become the place where consumer choice and preference will be revealed," said Rajan S Mathews, director general of Cellular Operators Association of India COAI, a telecom lobby group controlled by Jio's rivals such as Airtel, Vodafone and Idea Cellular. Jio is also a member of COAI, but has raised several questions over its governance and control.