API Expertise and Specialisation

I spend a considerable amount of my time and grey cells at MotiveSense working with APIs that belongs to different genres namely accounting, payment, consumer services, B2B/B2C, hosting, analytics, social commerce, travel, logistics, eCommerce etc…

Here is ever growing list of 3rd party API experience:

Accounting/Financial

  • Quickbooks
  • Zoho

Analytics

  • Google Anlaytics
  • Mixpanel
  • Optimizely

Ads

  • Google AdWords
  • AdMob
  • InMobi
  • Amazon Product Advertising

Content Management Systems

  • Drupal
  • WordPress

Consumer Services

  • Dropbox
  • Google Calendar
  • Google Maps
  • Janrain
  • Google Oauth
  • Amazon Mechanical Turk

eCommerce

  • Jet.com
  • eBay
  • BigCommerce
  • Shopify
  • WooCommerce

Email

  • Mailchimp
  • GetResponse
  • Aweber
  • Amazon SES
  • SendGrid
  • Mailgun
  • Campaign Monitor

Hosting/Servers

  • Amazon S3
  • Amazon Glacier
  • cPanel

Inventory

  • Brightpearl

Geocoding & GeoIP

  • Google Maps Geocoding
  • MaxMind
  • ipinfo

Media

  • iTunes Search
  • Imgur
  • Medium
  • Flickr
  • Reddit

Payment

  • 2Checkout
  • Braintree
  • eWAY
  • Paypal
  • Stripe
  • RBS

Security

  • UK Police

Science

  • TED Talks
  • World Bank

Social Media

  • Facebook
  • Twitter
  • Instagram
  • LinkedIn

Travel

  • TripAdvisor
  • Redbus

Video

  • Youtube
  • Vimeo

Note:

  1. The above list contains only the third party APIs that I had worked with and not the multitude of other custom developed APIs that I had designed and coded.¬†ūüôā
  2. This page is frequently updated. And if you need any help when it comes to API development, implementation or API design whether its a REST or a WSDL, feel free to contact me with your requirements.

Copy SMS from Nokia to Android – Working Guide

This is a working and tested guide for all those who wants to transfer(copy) their SMS messages from Nokia to Android phones.

Step 1:

  1. Install Nokia Suite
  2. Connect your Nokia phone via USB and select Nokia Suite when prompted
  3. Launch Nokia Suite and backup the phone(via Tools > Backup)
  4. Don’t forget to backup¬†the messages when doing the backup and deselect the options that you don’t want.
  5. The file will be saved in .nbu format.
  6. Exit Nokia Suite completely via the system tray menu.

Step 2:

  1. Install NbuExplorer & open your previously saved .nbu file
  2. Collapse the Messages section
  3. You will see two options like in the screenshot
  4. Right click on the predifinbox option and select Export to save all the Inbox messages
  5. Right click on the predsent option and select Export to save all the Sent messages
  6. The messages will be saved in .vmg format as multiple files.

Screenshot:
nokia-sms-export

Step 3:

  1. Copy all the  .vmg files to your phone storage/SD Card.
  2. Install VMG Converter in your Android phone
  3. Launch the app and import all the  .vmg files and follow the instructions

Voila ! You’ve transferred¬†all the messages from you good ol’ Nokia ūüôā

Note:¬†I haven’t tested this method with the latest Lumia phones. If this works in your Lumia, feel free to post your comments.

SASLA ‚Äď Simple Anti Spam Lite Approach

Beauty of style and harmony and grace and good rhythm depends on simplicity ‚ÄĒ Plato

For the n00bs, what is SPAM anyway?

SPAM = Stupid, Pointless Annoying Message

What is SASLA?

SASLA is an abbreviation of Simple Anti Spam Lite Approach and it’s pronounced as saas-laa.

For the technologically sound personalities:

SASLA is the simplest plug-n-play open-source anti-spam solution that can be easily integrated to your HTML forms and the most viable alternative to CAPTCHAs .

For the layman:

SASLA will protect your web forms from spam-bots so that you don’t need to waste your time and resources on weeding out spam.

Why should I use SASLA?

There are number of reasons:

  • It‚Äôs 100% FREE(No strings attached)
  • Beauty is in simplicity (There is nothing to configure and dead simple to implement)
  • Size Zero (Less than 1 KB)
  • No need to feed any veg hamburgers (web resources) to any other web service(s) like Akismet (It‚Äôs blazingly fast)
  • Maintenance free(No API/URI updates will stand in your way ever)
  • MIT License(One of the most simple and permissive license in the planet)

Why it’s awesome?

Reason #1: It doesn’t need an action from the user’s part unlike other anti-spam solutions, SASLA works invisibly

Spam is a webmaster’s headache and not an user’s issue and as a great fan of usability and conversions, I’ve always hated the majority of anti-spam solutions in the market like CAPTCHAs and their derivatives or any other initiatives that requires an action from the user’s side.

Also the existing anti-spam solutions affect usability and conversions in a bigger way.

Reason #2: Simple to implement, small in size, low in resources and tested before public release

Did you know?

SASLA is having less than 50 lines of code.

I’ve tested SASLA in 10 of my client’s sites (having a monthly traffic of 20,000+ unique visitors) before releasing it to the public and SASLA’s success rate was 100% with-out any false positives. Also SASLA will never ever block any legitimate user!

Any downsides

  1. It doesn’t protect you against a human spammer who manually writes and submits spam.
  2. Will not work on browsers with JavaScript disabled

Where can I use SASLA?

You can use it in any web form that accepts public input.

Some examples are:

  • Forums
  • Feedback forms
  • Contact forms
  • Web application
  • Mail subscription forms
  • Etc‚Ķ(left to your imagination)

Requirements

  1. PHP (PHP 5 or greater preferred)
  2. A JavaScript enabled browser 

How is it licensed?

It’s licensed under MIT license, which means:

You can:

  • re-use the code freely for your own use
  • re-use the code freely for non-commercial & commercial re-distribution

You can’t:

  • claim authorship of the software,
  • You cannot attack the original author for any damages caused by using this code.

Download / Fork

StableHost Review from a StableHost old-timer

Selecting a reliable hosting company is a tiresome task plus it’s a time-consuming trial and error process involving wasting your hard earned money.

Even selecting the trustworthy and reliable one that fits your budget is yet another uphill task. So I thought of penning my experience with StableHost

Why I switched to StableHost(and you too)

I’m running mithunjj.com on StableHost¬†for the last 3 years¬†after moving from HostGator. I moved out my sites from HostGator because of their pathetic speeds and frequent server downtimes.

In the meantime, I tried 9 other pathetic hosting providers and wasted my time, money and energy before I fell in love with StableHost.

Internet Celebrities who also hate Hostgator:

So let’s move forward with StableHost review, Ready ?

Performance & Server Platform

This is the most differentiating and remarkable area of StableHost when compared to other hosting companies.

StableHost uses the Litespeed web server and LiteSpeed is 6 times faster than Apache. If you switch to LiteSpeed from Apache you will surely feel the speed and lightness of LiteSpeed.

In addition to LiteSpeed, the other most notable platform difference of StableHost when compared to others is that they use CloudLinux. CloudLinux will prevent the server overloading issue commonly encountered with shared hosting providers like HostGator. If any of the sites in the neighborhood tries to overload the server, CloudLinux will step in and limit that site so that others are not affected.

Software Installation

StableHost uses¬†Softaculous which is a great Auto Installer having 315 great scripts, 1115 PHP Classes. If you’ve installed any app in Windows/Mac you will feel at home with¬†Softaculous

Bandwidth and the unlimited bandwidth myth:

Even though all other popular hosting companies (like HostGator/DreamHost/BlueHost) always claim that they provide unlimited bandwidth, the truth is far from real.

There is no such thing as unlimited hard disk-space/unlimited intelligence. If you run a site that bogs too much of bandwidth, they will pull down your site or force you to move to another hosting plan, it’s as simple as that. So make it a habit of reading the hosting companies Terms of Service(TOS)

All these sites have a strict fair usage policy ‚Äď commonly known as FUP. This allows you to host stuff which is only applicable to your website.

Reliability/Uptime

The image speaks for itself.

Click to view the enlarged version

The screenshot is based on the Pingdom РWebsite Monitoring

Refund Policy and Guarantee

StableHost offers a 45 day money back guarantee, 99.9% uptime SLA and guaranteed fast and  friendly support 24/7/365.

Web host migration or transfer

Site transfers are very easy with the interfaces provided or if you don’t know anything about site transfers just raise a ticket.

Customer Support

From my experience the issues are resolved so fast. For the tickets that I’ve raised so far the average response time was 15 mins or less.

If one support staff is unable to fix your ticket, they will quickly forward it to another technically competent fellow. This is one of the most like-able elements of their tech support which I had never found with other hosting companies.

Features, Cost, Disk Space

All these varies from plan to plan and also on the type of hosting that you select(Shared/Enterprise/VPS/Reseller). More info can be found out from stablehost.com

Why you should switch to StableHost(in simple words)?

In my order of preference:

  1. Speed
  2. Uptime & Reliability
  3. Support
  4. Features
  5. Cost


Affiliate Disclosure: 
The links to StableHost are my affiliate links which helps me to buy different types of Halwa(s)¬† ūüėČ

WordPress Automatic updates fails or not working – Fix

With WordPress 3.7, the WP team has rolled out WordPress automatic updates. This automatic update feature upgrades your WP installation automatically without any user intervention.

And you don’t have to lift a finger to apply maintenance and security updates. Most sites are now able to automatically apply these updates in the background.

But my WordPress Automatic updates is always failing ?

But some of the WP installations are not so blessed and WordPress automatic updates will fail for them and you will be bombarded with the following message.

This site is not able to apply these updates automatically. But we’ll email you when there is a new security release.

 Fix for you

1. Download your wp-config.php

2. Add the following lines to the bottom of your wp-config.php using any text editor

3. Now replace

YOUR_FTP_USERNAME with your FTP username

YOUR_FTP_PASSWORD with your FTP password

YOUR_FTP_HOST with your FTP host address(like yourdomain.com or IP address like 123.456.789.999)

4. Make sure that you enter the FTP details in between the two single quote(‘) or else it will result in an error.

5. Now upload it back

6. WordPress Automatic update problem solved ūüôā

Don’t forget to leave your comment if you need any help or if the above tip fails.

Image Courtesy: Stuart Miles

WordPress Local Backup Plugins – The Bucket List

Wordpress Local Backup

Backing up your WordPress site is one of the most important tasks that you should add to your site housekeeping list ūüôā

Given below are some of the plugins that I’m using now(or used in the past). Some of the other local backup WordPress plugin(s) were removed from the list due to inefficiency, lack of features, security holes and also because those plugin(s) were not updated for long..

Online Backup for WordPress

This plugin provides protection for WordPress sites and their data.

Unlike other plugins, Online Backup for WordPress can even encrypt your backup data to keep it secure while it is downloaded, emailed, and even while it is stored.

The plugin can backup your site’s database (containing settings, pages, posts and comments) as well as its filesystem (containing media, attachments, themes and plugins) to any one of three places:

  1. A folder on your server
  2. Your email inbox
  3. Backup Technology’s secure data centres with 100 MB free online storage space

Backup

Backup is a plugin that provides backup capabilities for WordPress. Backups are zip archives of created locally and uploaded to a folder of your choosing on Google Drive.

Features

  • Schedule automatic backups.
  • Back up the database.
  • Back up files and directories.
  • Fine grained control over what gets backed up.
  • Store backups locally and/or on Google Drive.
  • Interrupted uploads to Google Drive automatically resume.
  • Get email notifications when something goes wrong.
  • The settings page interface uses standard WordPress elements to fit right in.
  • Extensive contextual help included.
  • Advanced options are provided to control the inner workings of the plugin.

BackWPup – WordPress Backup Plugin

This plugin can be used to save your complete installation including /wp-content/ and push them to an external Backup Service, like Dropbox, S3, FTP and many more, see list below. With a single backup .zip file you are able to easily restore an installation.

Features

  • Database Backup (needs mysqli)
  • WordPress XML Export
  • Generate a file with installed plugins
  • Optimize Database
  • Check and repair Database
  • File backup
  • Backups in zip, tar, tar.gz, tar.bz2 format (needs gz, bz2, ZipArchive)
  • Store backup to directory
  • Store backup to FTP server (needs ftp)
  • Store backup to Dropbox (needs curl)
  • Store backup to S3 services (needs curl)
  • Store backup to Microsoft Azure (Blob) (needs PHP 5.3.2, curl)
  • Store backup to RackSpaceCloud (needs PHP 5.3.2, curl)
  • Store backup to SugarSync (needs curl)
  • Send logs and backups by email
  • Multi-site support only as network admin

XCloner – Backup and Restore

XCloner is a Backup and Restore component designed for PHP/Mysql websites, it can work as a native plugin for WordPress and Joomla!.

XCloner design was specifically created to Generate custom backups of any LAMP website through custom admin inputs, and to be able to Restore the clone on any other location with the help of the automatic Restore script we provide, independent from the main package!

XCloner Backup tool uses Open Source standards like TAR and Mysql formats so you can rest assured your backups can be restored in a variety of ways, giving you more flexibility and full control.

Download Remote File with PHP to Server and finally output to browser

Shown below is the code to download a remote file with PHP and save to the server and finally output to browser using cURL and readfile

 

Limitations:

  1. Since the file is downloaded to the server first before outputting to the browser, it consumes time, bandwidth & server space.
  2. When downloading large files, the script may exhaust the memory limit and is prone to timeout.

Disable jQuery UI Autocomplete

Here is a short & crisp tutorial on how to disable jQuery UI Autocomplete.

This article assumes that you already know how to implement jQuery UI Autocomplete.

So we are jumping to the coding part…

The HTML Code of Autocomplete Text Box may look like this:

And you will be invoking the jQuery UI Autocomplete (and passing options) like:

Now we will add a checkbox to enable/disable jQuery UI Autocomplete.

The enable/disable jQuery UI Autocomplete code:

That’s it. Happy coding !

Business potential in India – Why India is one of the best places in the world to do business

The first step before creating any product is to find where your market is ? Watch the video to find out about the Business potential in India and explore why India is one of the best places in the world to market your product ?

I’m not promising you that you will¬†gather¬†all the information about the Indian market by¬†just¬†watching this video, but you will get a top-of-the layer idea..

India is simply an unexploited and virgin market!

Create a Cron Job in cPanel – Cron Job Tutorial for Dummies

Cron Job in cPanel

This guide is meant for anyone who wants to create a cron job and for all those who has never ever created a cron job in their life through cPanel.

First of all, what is a cron job ?¬†This is Wikipedia‘s explanation:

Cron is the time-based job scheduler in Unix-like computer operating systems. Cron enables users to schedule jobs (commands or shell scripts) to run periodically at certain times or dates. It is commonly used to automate system maintenance or administration, though its general-purpose nature means that it can be used for other purposes, such as connecting to the Internet and downloading email.

Cron is available on Unix, Linux and Mac servers. Windows servers use a Scheduled Task to execute commands.

All the cron jobs tutorials just concentrates on the steps on scheduling a cron job, but most of the the users don’t know anything about Unix/Linux commands or even aabout¬†command-line. So they¬†make mistakes in adding the command to the Command textbox of the cPanel.

Cron Command Text Box of cPanel

PHP is one of the most popular server-side programming language, so I will concentrate on adding a PHP script as a cron job. In addition to that you will be provided with a working(and tested) PHP code to find the path to be mentioned in the cron command textbox.

Open your text editor and paste the following:

Now follow the steps mentioned below to get running…

  1. Save it as path.php
  2. Upload it to the directory where your php file meant for the cron job is located
  3. Now run the file in browser
  4. Copy the output to your text editor

The output will be like

/home/USERNAME/public_html/DIRNAME
or
/home2/USERNAME/public_html/DIRNAME

Now append the filename of the script that you want to run to the output. The final line will now look like /home/USERNAME/public_html/DIRNAME/FILENAME

where

USERNAME - Your cPanel Username

DIRNAME - the directory name where the file resides

FILENAME - the file name of the file that you want setup as a cron job

Now launch Cron Jobs section of your cPanel. It will look like this:

Add a new Cron Job

In the screenshot above I’ve selected daily as my interval and¬†entered the¬†following¬†line of text into the Command textbox.

php /home/USERNAME/public_html/crons/my-cron.php

where

crons - the directory where my php file resides

my-cron.php - the php file to be setup as a cron job

Now click the Add New Cron Job and your are done !

Voila! You’ve¬†scheduled¬†a cron job !