Showing posts from 2013

Enable access from other hosts to a MySQL server

Recently I deployed a MySQL server. But there was a problem that I could not access the data base from a application which was hosted in another server. The reason for this is by default MySQL server does not accepts requests from other hosts except the localhost. To solve this problem we have to do two tasks.

Create a user which has permissions to read and write to a database from a different hostGRANT ALL PRIVILEGES ON database.* TO ‘user’@'yourremotehost' IDENTIFIED BY 'newpassword';
As an exmaple following query enables root user to access all the databases from any host.
Bind the ip adress To do this you have to edit the MySQL configuration file. In Ubuntu this is /etc/mysql/my.cnf
There you can find an entry like
bind-address = 

If you want to enable access from all the host just remove it. If you want to limit the hosts you can add entries like
bind-address = your ip


Install Oracle Java Development Kit on Ubuntu

Installing Java SDK is very straight forward in Windows. Download Java installer double click it and follow the steps. But installing Java in Ubuntu is not easy like that. In Ubuntu we can easily install Open JDK by providing following command. 
sudo apt-get install openjdk-6-jdk

 But this installs Open JDK not Oracle JDK. This is not a problem for entry level Java developers. But if you work in a production environment you cannot use Open JDK since most products use Oracle Java. Until recently the method I followed to install Oracle Java was downloading the tar.gz file form Oracle site and install it using the terminal. But this is very time consuming and there are lot of configurations has to be followed. But here is a very easy way to install the latest Oracle JDK in you machine without not needing to do any additional configurations. Just issue following three commands in the terminal to install Oracle JDK in your Ubuntu machine.

sudo add-apt-repository ppa:webupd8team/java
sudo a…

How to connect to WSO2 BAM with NodeJs using REST

Recently I wanted to use WSO2 BAM REST API to with NodeJs. After playing sometime with NodeJs API I was able to POST a stream definition to BAM using NodeJs with following method. var https = require('https'); var auth = "Basic " + new Buffer('admin:admin').toString("base64"); //You need to replace admin:admin with your username and password // prepare the header var postheaders = { 'Content-Type': 'application/json', 'Accept': 'application/json', "Authorization": auth }; // the post options var optionspost = { host: '', port: '9443', path: '/datareceiver/1.0.0/streams/', method: 'POST', rejectUnauthorized: 'false', headers: postheaders }; doPOSTRequest=function(optionspost,jsonObject){ // do the POST call var reqPost = https.request(optionspost, function(re…

Facebook SDK for android - How to share Session throughout all activities

A problem which I faced when using Facebook SDK for android was in my app login happens through one activity and posting to Facebook happens through another activity. So I had to retrieve the session which is opened in the LoginActitvity. Actually solution was simpler than I thought. To get the session from an another activity you can use the below method.

private void getSession() { Session.openActiveSession(this, false, callback); } private Session.StatusCallback callback = new Session.StatusCallback() { public void call(Session session, SessionState state, Exception exception) { if (session.isOpened()) { //Do something } } };

Adding a Foursquare, Google+ like sliding drawer to your android app

Currently Android SDK does not support such a feature. But this kind of designs are very popular between the users. But there are many open source libraries which facilitates sch omplementation. is an open sorce sliding drawer library which is used many poplar android applications. Using this is prettry simple. This video explains how to integrate with your android project. After the integration is done you can create a sliding drawer like this.

Add the following code to onCreate() method of your activity.

    menu = new SlidingMenu(this);     menu.setMode(SlidingMenu.LEFT);     menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);     menu.setShadowWidth(5);     menu.setFadeDegree(0.0f);     menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);     menu.setBehindWidth(150); //change width according to your device     menu.setMenu(R.layout.menu_frame); Here menu_frame is the layout of the sliding drawer. It has to be a frame layou…