Skip to main content

Posts

Showing posts from 2015

Are you really trying to live the way you wanted to live few years back?

We all know "Change is law of nature" and there are events/moments in life, which changes our way of living. Most of the time we go with flow and eventually that becomes our way to lead the life. Sometimes, when we look back, and think whatever we had done during that moment, we could have done that in much better way. But as the life cycle moves on, it may happen that we may fall in same situation again  and whatever we are  doing now, it might happen in future when we recall our memories and feel that, it could have been done in much better way earlier.          I wanted to share my thoughts because, in my perception, some or the other day we all will be nostalgic and  would be thinking of our past events, our relations, our  behavior  at work place, our relations with friends, our bonding with society. Question comes in our mind "Was it better earlier or it could have been much sweet and memorable?".Therefore...

User Input Mechanism in Java

Recently while writing some java program. I wanted to quickly run some test cases using runtime inputs from console. I am working on some of the legacy system which runs on java1.5 and recently has been upgraded to java1.6 version. For taking user input during run time, I have always used Scanner API. But recently came to know about Console class. Though it was included as part of Java1.6 release. But I never used it any time. Just wanted to share some information on the available API which is used for user input: - Scanner (Included in Java1.5) - BufferedReader (Included in Java1.1) - Console (Included in Java1.6) From developers point, I assume following factors could be considered during the selection of any of the above APIs: If your input size is more, or more number of inputs is going to be used in the program, it is advisable to use BufferedReader instead of Scanner. It will be difficult to observe the speed for fewer inputs. But for huge data (for millions of...

Building an Efficient and Effective Team

Some days back I met one of my friend, who was hunting for new opportunity.  He asked me some simple questions which I felt difficult to answer. For example: “Is your next job application depends on your current team size?”     "How the size of team affects the productivity of team and individual?” etc... I tried my best to explain my experiences to him and am hoping many of us must be having some inputs to share. In IT companies we meet people who are either working in small team or managing some big teams. There are some enthusiasts who find comfortable working as individual contributor. But have we ever thought of any specific team size. I am not aware of any standard size. But if we talk about any sports, we know the size of team is fixed and if the size varies, it is going to impact the end result of the game. Does the same apply in case of project teams? If we take some similar example we find that team with small number are doing well then compared to...

Quick Adaptation and Delivery for new member in Project Team !!

In almost every software company it is always expected and sometimes demanded for quick output from a newly joined team member. But in realty how easy/difficult it is for anybody? I have seen this couple of times and still trying to find a satisfied answer  for   "making the life of new team  members  smooth  and productive" .  What  should be the best approach  for any project  team to provide the ready made track to the new member and make him/her understand quickly for their duty towards the team. The smooth the road map is the best the quality output will be. When ever we join a team, the first thing we look for some end-to-end document which says about the project and team. Documentation not only helps us to find helpful information but it also helps to correlate them with current software. Most importantly we try to simulate or try to visualize the document into running application. The kind of information we look for is mostl...

Form Submission using CAPTCHA

“Completely Automated Public Turing test to tell Computers and Humans Apart” in short CAPTCHA . Before I could start, I know there are people who are expert in Captcha, there are people who may be newbie and some may be intermediate. I will try my best to put some sound information on this topic which could be useful for different levels. Now, why we need to separate Human and Computer when both are working on some interface to achieve something together. Yes it is required, because there have been continuous challenges in saving and posting the non-redundant data on internet safely. For the companies who provide the free email accounts, could be a victim of bots (bots are normally web robots, usually a program/script which runs on regular interval), that will create thousands of free email accounts if the User Registration Form has not been handled properly. There are hackers and/or unauthorized users who will run some automated scripts and try to use the form data for their...

Application Logging on your way

Development and Debug are two most important phase in Software developers life. Whenever we talk about debugging we come across so many tools, best practices, coding styles etc. Logging is one of the most popular and mandatory concept of debugging the application. I will say that this is one of the most crucial elements for monitoring and analyzing the application. Using proper logging mechanism, we can not only find out the description about errors but also could take certain decisions for improving system performance. It helps in identifying the issue and their cause. Sometimes we can also generate metrics based on current logs to set the target for future road map for the application. Types of Logging: Use Log for Debug - To know the issue, for recording request and responses, for knowing system performance and many more. Logs could contain the end to end session for an user.  Use Log for Knowing Stats - You can log for counting number of...

ReST - Representational State Transfer

ReST - Stands for Representational State Transfer There are numerous notes available on net for developing ReSTful web services. If you go through each of them it feels like confusing and conflicting. Sometimes it is because of technology advancement or because of improper explanation. Whatever information I am providing today may not fit after few years J So, I will start the discussion and will try my best to give accurate and reliable notes that will help you understanding the in and out of ReST services. What is ReST? People get confused whether its pattern or standard or architecture. As far as I have worked and understood, ReST is architecture for developing services. ReST services run over stateless protocol (mostly on HTTP). There are other technologies/standards are available for implementing services which will help connecting two different systems together (irrespective of their own implementation). For example we can achieve the same output using CORBA, R...