1 Comment

Devadasi – Exploitation of girls in the name of religion

Read a news today about Supreme Court of India asks Karnataka Chief Secretary to take steps to stop ‘devadasi’ system. Just googled what does “Devadasi” stands for?

I am really sad to found this ūüė¶


Leave a comment

Sharing some Technical Interview questions I like to ask ;)

Interview means Dress well, Correct body language (yes it matters!), communication skills (this is also must) and obviously HR and JD relevant questions.

With 7 years experience in IT, I have been sitting on both sides of Table at different times. So, I thought to share my current side (Interviewer) questions so that next time if anyone will Google/Bing in smart way, s/he can have idea of the topics s/he should prepare!



Although I have gone through candidate’s resume before the schedule but still I like to ask

  1. How many Projects have you done till so far?
    Sincere candidate answers correctly and immediately (and this is expected, doesn’t matter you are an experienced person and don’t remember all your success.. This is what gives an impression to the interviewer how much do you liked your all past works and also how much prepared you are for an interview!)
    If answer not correct candidate gets negative point here onwards. If correct, proceed to next Question –
  2. Favourite, most unlike / difficult project and last / recent Project done.
    Now, Questionnaire comes up on reply got from Projects.
  3. What technologies / frameworks / skills were used in it?
  4. Worked in Team or Individual?
    If Team, what Modules s/he owned and if Independent there is a lot to ask (evil)



Going forward to Questions for

Android Fresher

  1. What is Android ūüėČ
  2. Structure of an Android Project and important folders and files.
  3. Building Blocks of Android
  4. Activity / Fragments Life Cycle
  5. Designing Screens for multiple resolutions
  6. Intents / SharedPreferences
  7. Different type of Layouts
  8. Details about AndroidManifest / API Level understanding
  9. Lists / Adapters / Custom Views
  10. AsyncTasks / Handlers
  11. Small queries – String / Searching / Sorting / Logical Questions
  12. OOPS – Classes / Interfaces / Objects / Constructor
  13. Functions / Singleton
  14. Small check on – Threads / Runnable
  15. Fibonacci / Factorial / Prime / Reverse – beginners programs.


Useful links to nail above :

Questions for experienced person 2-3 years will be coming soon.. stay tuned and¬†All the Best ūüôā

Leave a comment

How to Cast Screen in Android

Screen casting/mirroring has come into existence, with Apple’s Airplay ( ). Apple provides Airplay APIs since long to its developers. And, as it was highly confidentially kept by Apple, so it was very-very difficult to provide this support on other platforms.

airplay icon

airplay icon

Initially, Shairport succeeded in this ( It supported Audio only.

Now, Google also provides the in-built support for same.

google cast

google cast

So, what you need for screen casting
1. A sender application, written for the Android, iOS, or Chrome platform which uses the following Cast APIs:
‚ÄĘ Android API; for an overview, see Android Sender Applications
‚ÄĘ iOS API; for an overview, see iOS Sender Applications
‚ÄĘ Chrome API; for an overview, see Chrome Sender Applications
2. A receiver application that handles communication between the sender app and the receiver device. You have the following options:
‚ÄĘ The Default Media Receiver presented with the Google Cast branding and styling.
‚ÄĘ The Styled Media Receiver for which you can develop the styles and branding. See Styled Media Receiver.
‚ÄĘ A custom receiver, as described in Custom receiver that implements the Receiver API and handles custom messages from your sender app; it may also interface with the media player types provided through the Media Player Library.
How you implement your receiver may depend upon which media types your application needs to support.
For further details, please check –


For all above you will need a Chromecast device. So, what if we do not want to have this and want to screen cast directly? For this we will need to develop a Sender and Receiver both of our own.
So, can we really do this? Yes of course. If, you are interested please check –

Leave a comment

How to install .bar in BB10 devices (Deployment for clients)

I use to work in BB10 platform also, and in development process, we need to send different builds at different milestones to the client.

In earlier BB devices, we can easily send deliveries to clients by

  • Installing through OTA Link – Create a build (.JAD/.COD) file(s), and deploy it to device using OTA Link.
  • Installing through¬†SDCard – We can copy these files in parallel in some folder in our SDCard and install directly from there by clicking on .JAD file.

Next, If the build was made accurately the installation process initiate this way and now we have our app running in client’s device/phone.

Installing through App World Sandbox Рupload the file to the vendor portal and keep in in draft mode and then add peoples BBID to the sandbox and then they can download it via BB World. (

But, for deploying .bar files for new BB10 devices/Playbook Manager, we can have

For Android Porting Apps –

Leave a comment

ProgressDialog in Blackberry

Being a blackberry developer since last 4 years,  I know people face problems to show a Progress Dialog or Wait Screen or Loading Dialog, while execution of some long processing in a background thread.

There are several good examples over the BB Support Forums and StackOverflow pertaining to the above issue. Today, I would like to share the code I use for this. I have 2 classes for this for this functionality.

    1. ProgressDialog extends PopupScreen
    2. ProgressSpinner extends Field
    3. loader.png (attached)


import net.rim.device.api.system.Display;

import net.rim.device.api.ui.Color;

import net.rim.device.api.ui.DrawStyle;

import net.rim.device.api.ui.Graphics;

import net.rim.device.api.ui.UiApplication;

import net.rim.device.api.ui.component.LabelField;

import net.rim.device.api.ui.container.HorizontalFieldManager;

import net.rim.device.api.ui.container.PopupScreen;

import net.rim.device.api.ui.container.VerticalFieldManager;

public class ProgressDialog extends PopupScreen {

private ProgressSpinner mProgressSpinner;

public ProgressDialog () {



public ProgressDialog (String text) {

super(new VerticalFieldManager(), DEFAULT_CLOSE);

mProgressSpinner = new ProgressSpinner(true);

HorizontalFieldManager hfm = new HorizontalFieldManager();


LabelField lblText = new LabelField(text, DrawStyle.HCENTER | FIELD_VCENTER) {

protected void paint(Graphics graphics) {





lblText.setPadding(0, 0, 0, 5);


hfm.setPadding(5, 5, 5, 5);



public void show(boolean show) {

if (show) {

if (!isDisplayed()) {




} else {


if (isDisplayed()) {





public void paint(Graphics g) {

g.pushContext(0, 0, Display.getWidth(), Display.getHeight(), 0, 0);





import java.util.Timer;

import java.util.TimerTask;

import net.rim.device.api.system.Bitmap;

import net.rim.device.api.ui.Field;

import net.rim.device.api.ui.Graphics;

public class ProgressSpinner extends Field {

private int mFrameCounts;

private int mFrameWidth;

private int mFrameHeight;

private int mCurrentFrame;

private Timer mTimer;

private boolean mIsLarge;

private Bitmap mProgressImage;

private static Bitmap BIG;

private static Bitmap SMALL;

public ProgressSpinner(boolean large) {

mIsLarge = large;

if (BIG == null) {

BIG¬†= Bitmap.getBitmapResource(“loader.png”);

SMALL¬†= Bitmap.getBitmapResource(“loader.png”);


mProgressImage = large ? BIG : SMALL;

mFrameCounts = 12;

mFrameHeight = mProgressImage.getHeight();

mFrameWidth = mProgressImage.getWidth() / mFrameCounts;


protected void layout(int width, int height) {

setExtent(mFrameWidth, mFrameHeight);


public void paint(Graphics g) {

g.drawBitmap(0, 0, mFrameWidth, mFrameHeight, mProgressImage, mCurrentFrame * mFrameWidth, 0);


public int getPreferredHeight() {

return mFrameHeight;


public int getPreferredWidth() {

return mFrameWidth;


public void startProgressbar() {

final ProgressSpinner mProgBar = this;

TimerTask mTimerTask = new TimerTask() {

public void run() {


if (mCurrentFrame == mFrameCounts Р1) {

mCurrentFrame = 0;





mTimer = new Timer();

mTimer.schedule(mTimerTask, 0, mIsLarge ? 100 : 200);


public void stopProgressbar() {

if (mTimer != null) {


mTimer = null;



protected void onUndisplay() {





How to use?

ProgressDialog progress = new ProgressDialog ();; //to show;

This works awesome. Hope, You will be loving it too…!! Let me know how did it worked for you?

Leave a comment

Twitter API v1 Retired

As, we know Twitter API v1 is retired. We need to move to v1.1.

As the old APIs are retired, I have been facing issue with Twitter РverifyCredentials(). It was throwing IOException due to HTTP Response Code 410.

As, the Twitter APIs are changed, we need to update the Twitter jar, we are using in our applications.

I have got updated Twitter Jar from : i.e. twitter_api_me-1.9.

This is working like a charm. Enjoy tweeting with your apps..!! ūüôā

Twitter Jar twitter_api_me-1.9 –¬†