Saturday, 13 July 2013

Why one should stay away from CCAvenue payment gateway?



Our recent experience in working with CCAvenue made me say this statement. Following are the reasons.

No sandbox testing

There is no way we can test the stuff in a test environment.  In their Integration kit doc it says they will white-list an IP for 15 days for testing. But when requested for it they say test it in production. Is it the way you test code?

Buggy code in integration kit

The integration kit they provide have java, jsp sample code which will not work.  The files was dated year 2012, so the bug was there for long time. So many people might have reported it, but didn't bother to correct.

It takes ages to setup an account end to end

Its been 5 months, yet the entire account activation process is not complete. That is getting money your clients payed to the gateway to your account.

Adding one more website is so tough
Say you have one CCAvenue gateway active and you want to enable gateay to your second website. Then the process you need to follow much of the same as getting it done for the first time. Will take more than 5 months.

Dummy cards with no real use
They have given dummy card details for testing the gateway. When you try to use it it will say max transaction per day is 5, So you cant do any more testing today.

So guys stay away from CCAvenue, if not be ready for a tough ride.





Monday, 6 May 2013

How to Increase Laptop Speaker Volume

Generally the speakers on laptop computers are usually not very loud.
Most consumer laptops are having this trouble.
This doesn’t mean nothing can do about it.
There are ways for you to increase the volume of your laptop a little more.

Most people use VLC player to play movies in laptops. VLC is the best player for laptops.
It is lightweight, portable, and can play almost any media format even videos downloaded
from Youtube.


You can increase the volume in your VLC player to 400% of its actual volume.

Hold CTRL+ and Keep Pressing the [UP] Key on your Keyboard.
You would see an image on the top right corner of your VLC player
The image would increase from 100% to 200% then to… 400% and increase the volume on your player.
This is quite enough to increase the laptop’s volume to the max.


Alternate Way
Cheap external USB speakers available in the market.
Buy one so that you can carry it easily in the laptop bag.
These cost around 1200 or less.

Saturday, 23 February 2013

How it went , once I quit my day job


Getting award from Kris

Its been a few months after i quit my day job and started my start-up.  Life was so different since then , It was eventful,  refreshing, joyful and funny. Yes am happy that i took the plunge.

Being at home is the best part of it. Enjoying the company of my family, especially my 8 months old son. His smile alone made my days sweeter. Got in to farming too as an aid to my father. We grew 1 ton tapioca and  1 ton of Chena recently. These were sold to local people/market at lesser rate than the market. These are our ways of making Kerala self sufficient. Now my morning walks are so close to nature, i walk alone in big open spaces with only sounds of nature around. So different from my earlier walks at the museum Trivandrum.

Coming to my start-up Finahub, we covered  lot of ground on these days. Our first client went live. We became the "Top 10 start-ups to watch out for in 2013". We got this award from the Legendary Kris Gopalakrishnan (Infosys Chairman and previous CEO).  We got ample media coverage.. we were everywhere.. The Indian Express, Tech Circle, Malayala Manorama, Dhanam, Mathrubhumi , Kerala IT news etc.  At home town Kochi the thing i enjoy the most is that i can go around anywhere just depending on public transport. No more driving in the traffic. I take my backpack and smart phone every where i go. At any moment i can get a support call from my client. It was an experience to sometimes open your laptop and work sitting anywhere even on benches near footpaths.

The people i got to meet and interact these days included the the big names like Sam Pitroda, Kris Gopalakrishnan, Rahul Chitale from Microsoft etc. The people i couldn't even dream of meeting while at my day job. Am very thankful to Startup Village Kochi for supporting us. You guys really gave us wings to fly.


Morning walk site

My Son Georgekutty

Chena krishi

With fellow Entrepreneurs of start-up village in Dhanam magazine Story 


Saturday, 17 November 2012

Implementing Multi select component using Palette in Tapestry5

Yes it's tough if you try to implement Palette  or multi select component in Tapestry5. I learned it the hard way, so thought of sharing it.
The example provided by Tapestry is using enum object. Practically we may need to create Select lists for any type of Object.  Here find some sample code of one implementation for a users list



First the AssociateUsers.tml



Page Bean

@AuthorizePage
public class AssociateUsers extends SessionContextPageImpl {

    @Inject
    private ComponentResources resources;
    private int selectedButton;
    @Persist
    private List users;
    @Persist
    private List initialAssociatedusers;
    @Inject
    private Messages messages;
    @Inject
    private TypeCoercer typeCoercer;
    @Inject
    private SelectModelFactory selectModelFactory;
    @Property
    @Persist
    private int staffUserId;
    @Property
    @Persist
    private SelectModel userSelectModel;
    @Inject
    private FriendManager frndMgr;
    @Inject
    private UserManager userMgr;
    @InjectPage
    private UserDashboard userDashboard;
    @Property
    private FullUserProfile userProfile;
    public static final int SELECTED_BUTTON_CANCEL = -1;
    public static final int SELECTED_BUTTON_SUBMIT = 1;

    @Override
    public void onActivate() throws Exception {
        super.onActivate();
        super.canLoadPage(this.getClass());
    }

    public void onActivate(int staffUserId) throws Exception {
        this.staffUserId = staffUserId;
        userProfile = userMgr.getUserProfileOfInvestor(staffUserId);
        setupRender();
    }

    public List getUsers() {
        return users;
    }

    public void setUsers(List selected) {
        users = selected;
    }

    public SelectModel getUserModel() throws Exception {
        return userSelectModel;
    }

    public void onSelectedFromCancel() {
        selectedButton = SELECTED_BUTTON_CANCEL;

    }

    void setupRender() throws Exception {
        users = new ArrayList();
        initialAssociatedusers = frndMgr.getPeopleListMutualFollowersForUser(staffUserId, getCurrentFirmId());
        // invoke service to find all users in the firm
        List usersSelectlist = frndMgr.getPeopleListByFirmId(getCurrentFirmId());
        //add alredy associated users to list
        for (FriendProfile profile : usersSelectlist) {
            if (initialAssociatedusers.contains(profile)) {
                users.add(profile);
            }
        }
        //remove present Assign user from list
            for (FriendProfile profile : usersSelectlist) {
                if (profile.getUserId() == staffUserId) {
                    usersSelectlist.remove(profile);
                    break;
                }
            }
        // create a SelectModel from my list of users
        userSelectModel = selectModelFactory.create(usersSelectlist, "FullName");
    }

    @SuppressWarnings("unchecked")
    public UserValueEncoder getUserEncoder() {
        return new UserValueEncoder(typeCoercer, FriendProfile.class, frndMgr);
    }

    public Object onSubmitFromAssociateUsers() throws Exception {
        switch (selectedButton) {
            case SELECTED_BUTTON_CANCEL:
                return userDashboard;
            default:
               //your code based on the selected users
...........................................
                return userDashboard;

        }


    }
}


New Encoder class for your object. In my case it's a user object


public class UserValueEncoder implements ValueEncoder, ValueEncoderFactory{

    @Inject
    private FriendManager friendMngr;

    @Override
    public String toClient(FriendProfile user) {
        return String.valueOf(user.getUserId());
    }

    public UserValueEncoder(TypeCoercer typeCoerce, Class obj, FriendManager friendMngr) {
        this.friendMngr = friendMngr;
    }

    @Override
    public FriendProfile toValue(String id) {
        try {
            return friendMngr.getFriendProfileByUserId(Integer.parseInt(id));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public ValueEncoder create(Class type) {
        return this;
    }

}

App Module changes


 public static void contributeValueEncoderSource(MappedConfiguration                                                    ValueEncoderFactory> configuration) {
        configuration.addInstance(User.class, UserValueEncoder.class);
    }


If you have any questions...please post it as comments.

Ajith.




Thursday, 6 September 2012

Idea Cellular Kerala Customer care and contact numbers for service, complaints, prepaid and postpaid plans.


Idea Cellular Kerala Customer care and contact numbers for service, complaints, prepaid and postpaid plans.
Kerala – Idea Cellular
Customer Care | queries | Complaints | Activation – Deactivation Service |
4th Floor, Mercy Estate, Ravipuram. Cochin, Kerala - 682015
Contact No - 98470 12345 (Postpaid) 98471 12345 (Prepaid)
Fax - 0484 - 2382 121 / 2382 324
Email - ccare.kerala@idea.adityabirla.com
Idea Grievance :  grievance.kerala@idea.adityabirla.com 
Incase if your complaint is not redressed to satisfaction, you can escalate the complaint to Idea Nodal Officer.
Idea Kerala
Nodal Officer
IDEA Cellular Limited, Mercy Estate, 3rd Floor, Ravipuram, M G Road, Cochin- 682015
Contact No - 91 9656006680
Fax -
Email - grievance.kerala@idea.adityabirla.com
Still the complaint not resolved, there is an option to escalate the complaint to concerned Appellate Authority
Idea Kerala 
Appellate Authority
IDEA Cellular Limited, Mercy Estate, 3rd Floor, Ravipuram, M G Road, Cochin- 682015
Contact No - +91 9656006690
Fax -
Email - appellate.kerala@idea.adityabirla.com 
Other income keywords: Idea 3G, Idea nodal officer, Idea download, Idea sms, Idea mms, Idea number portability, Idea offers, Idea roaming, international calling, international sms enquiry, activation, queries and complaints.