my thought of week..

"The greatest pleasure in my life is doing what people say I cannot do."

Current Status

Actively seeking for opportunities in an Australian tech firm.
Holds Australian Permanent Resident (Skilled - Independent -subclass 189 visa).

Current Readings

  • Jenkins
  • Bamboo
  • NodeJS
  • AngularJS
  • Test-driven development

15 May, 2018

Improvements to our Privacy Policy and Privacy Controls

Updating Our Privacy Policy
This month, we're updating our Privacy Policy to make it easier for you to understand what information we collect and why we collect it. We've also taken steps to improve our Privacy Checkup and other controls we provide to safeguard your data and protect your privacy.
Nothing is changing about your current settings or how your information is processed. Rather, we've improved the way we describe our practices and how we explain the options you have to update, manage, export, and delete your data.
We're making these updates as new data protection regulations come into effect in the European Union, and we're taking the opportunity to make improvements for Google users around the world.
Making our Privacy Policy easier to understand
Simpler structure & clearer language
We've improved the navigation and organization of the policy to make it easier to find what you're looking for. We've also explained our practices in more detail and with clearer language.
New descriptive videos & illustrations
Often a visual description is easier to understand than text alone, so we've added short videos and illustrations throughout the policy.
Embedded privacy controls
We've made it easier to jump to key settings directly from the policy, helping you make choices about your privacy.
The revised policy is available here and will take effect on May 25, 2018.
Improving your privacy controls
Within the past year, we updated My Activity so that you can better access and manage the data in your Google Account. We also launched a redesigned Dashboard, which allows you to easily see an overview of products you're using and your data associated with them.
This month, we've updated our Privacy Checkup with new illustrations and examples to help you make more informed choices about your key privacy controls. And since we understand that your preferences may change over time, the new Privacy Checkup enables you to sign up for regular reminders to check your privacy settings.
To learn more about these and other controls to manage your privacy, visit your Google Account.

12 February, 2018

Mockito to execute or not a method

This is well known thing if you are using Mockito to mock your services. But I wanted to note it here.

 Imagine you have a method call inside method you are writing the unit test (or eg:-getPayment() ) that should not be called when your test is executed.
 That may be the first reason why you mocked it in the first place.

 In below code, I want to mock getPayment() method without executing it.

option A:

option B:

If you tested both, option A will actually call the getPayment()- method while the second will not. Both will cause doSomeStuff() to return the desired `paymentDetail` Object.

Hope this helps someone new ith Mockito!

09 December, 2016

December 2016

OMG, guys we have left few days only for 2016 

13 January, 2016


I just give you brief description on how we can enable basic authentications to secure access to HTTP and SOAP public endpoints that are running in our IIB on Cloud integrations.

These endpoints are HTTPInput and SOAPInput message flow nodes. If basic authentication is enabled for an integration, HTTP requests to any HTTP or SOAP nodes in that integration require the correct URL, a user name, and a password.

So, if basic authentication is disabled for an integration, HTTP requests can access any of your HTTP or SOAP nodes in that integration by using only the correct URL, and do not require a user name or password. Basic authentication settings are associated with an integration and apply to all HTTP and SOAP nodes in that integration. For integrations for which we have enabled basic authentication, the user name that is required to access HTTP and SOAP nodes is fixed to IIB and a corresponding password is generated automatically. In the Integration Details view, you can view the password; to change it, you generate a new password. To access HTTP or SOAP nodes in an integration that has basic authentication turned on, in HTTP requests to those nodes you must include an HTTP BasicAuth header that uses the corresponding user name and password.

Finally, we can view the correct HTTP BasicAuth header. If we regenerate the password, the HTTP BasicAuth header is updated to use the new password.

14 December, 2015

24 July, 2015

Test-Driven Development

I’ve tried practicing Test Driven Development (TDD) for so many different developments. Early,I learned that my tests were not really helping but actually becoming a huge burden. So for the past couple months I’ve been on a journey to truly master the TDD and I’m at the point now where I think I have a much better understanding of it. Through my struggles and discoveries with doing TDD comes out this blog post.

It is important to understand the TDD life-cycle.
  1. Write the test
  2. Run the test (there is no implementation code, test does not pass)
  3. Write just enough implementation code to make the test pass
  4. Run all tests (tests pass)
  5. Refactor
  6. Repeat
Test-driven development is not about testing. Test-driven development is about development (and design), specifically improving the quality and design of code. The resulting unit tests are just an extremely useful by-product.

11 June, 2015

Interviewing Programmers

Hello my dear senior friends in SW engineering , how do  you interview new recruits for programming ?Do you start with phone interview and continue on written tests to face-to-face interview? Eventually it will come down to your experience and gut feeling? Most of times we do it in that way. But we have experienced some best practices of picking "better" programmers!

In an environment like work we need more “practical programmers” than just “good coders”. Because most of times our programmers will need to directly work with end user and understand the requirement from business perspective. So we have more responsibility to choose “right” people from interviews.

We take advantage of intern programs, we hunt down the smart CS/IT students and individually ask them to apply for an internship with us, because if you wait around to see who sends you a resume, you're already missing out.

In one incident tried asking applicant to develop a program, I have used a very general requirement, which doesn't need any domain expertise (telco), but require some programming experience. I normally ask to write mathematical method to calculate something, instead of expecting the programmer to do what I think should be done implicitly, what would be a better indicator in my opinion is to see how the s/he tries to ask questions on the scope of the program, purpose, usage and limitations explicitly. Unless the programmer is very familiar with the purpose of the program, he/she should not assume what is not stated, but should try to elicit them. Also I would like to try asking to write a function using basic formations related to String in Java. This is rather simpler one but ask them to write a production like code and then see if it takes care of obvious things like null string, empty string etc.

For them it's an opportunity to show their think deep ability and how good they are in understanding requirements and finding gaps. This tips are not hard and fast rules to find good programmers, in fact there are no rules to find them. You just have to work through some indicator and your gut feeling. Let me know what are the tips you guys are using to find good programmers on interviews. Please comment. 

21 November, 2014

How to convert an String into int value

There are many ways to convert an String into Integer object in Java e.g. Integer.valueOf(), new Integer(), Integer.parseInt() or writing your own algorithm to convert string to int etc, but which one is the best tool for the job.

here are different ways of converting String object into int or Integer in Java :

1) By using Intger.parseInt(String string-to-be-converted) method
This is my preferred way of converting an String to int in Java, Extremely easy and most flexible way of converting String to Integer. Let see an example of String to int conversion:

 //using Integer.parseInt
 int i = Integer.parseInt("123");
 System.out.println("i: " + i);

Integer.parseInt() method will throw NumberFormatException if String provided is not a proper number. Same technique can be used to convert other data type like float and Double to String in Java. Java API provides static methods like Float.parseFloat() and Double.parseDouble() to perform data type conversion.

2) Integer.valueOf() method
There is another way of converting String into Integer which was hidden to me for long time mostly because I was satisfied with Integer.parseInt() method. This is an example of Factory method design pattern in Java and known as Integer.valueOf(), this is also a static method like main and can be used as utility for string to int conversion. Let’s see an example of using Integer.valueOf() to convert String into int in java.

//How to convert numeric string = "000000081" into Integer value = 81
int i = Integer.parseInt("000000081");
System.out.println("i: " + i);

It will ignore the leading zeros and convert the string into int. This method also throws NumberFormatException if string provided does not represent actual number. Another interesting point about static valueOf() method is that it is used to create instance of wrapper class during Autoboxing in Java and can cause subtle issues while comparing primitive to Object e.g. int to Integer using equality operator (==),  because caches Integer instance in the range -128 to 127.

18 August, 2014


"What is this SOA?" Have you ever questioned this? many of my non-IT colleagues ask me this. So here I will word it in very simple style.

Actually, SOA is architecture style.. It is an approach you follow when you develop some systems or integrated software.

From my personal experience I would say, applying SOA in Big Bang is bad, think big, start small.

Our target should be to build SOBA(service oriented business applications)

SOA governance is the key to have service catalog.

We have to have Service bus to avoid point to point interaction.