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

Olson Timezone Database Download


Image Credit

Hope you’ve came here because of the following reasons:

  1. In the lookout for the PHP Timezone Database in SQL format
  2. Your php timezone database is corrupt
  3. For php olson timezone/tz database
  4. pear timezone bug
  5. pear timezone install failures

Then here is the solution:

The following PHP Timezone Database in MySQL format contains all the available timezones in PHP(416 in total) based on http://php.net/manual/en/timezones.php

How to use:

  1. Download the zip file
  2. Import the downloaded file to any database using the MySQL command-line or using any of the MySQL database management tools like phpMyAdmin
  3. Roll on the floor and say thank you to Mithun John Jacob(that’s me!) 🙂

P.S: This MySQL data can be used for any programming language and not for PHP alone.

 

 

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.

WordPress Sidebar, Widgets, Admin Bar not showing – Fix

WordPress

If the sidebar, widgets, admin bars or any other items in the WordPress admin menu is not loading in your WP install when compared to some another, then here is the fix:

  1. Edit your wp-config.php found in the root directory of your WordPress installation.
  2. Add the following line just before the closing of wp-config.php 
  3. Save the changes
  4. Logout and Login again to the WordPress admin

The problem will be fixed by now 🙂

More info: zend.ze1_compatibility_mode

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 !