Thursday, May 5, 2016

Sky Eye - Eye in the Sky

Source: www.freedesignfile.com
Here I am talking about new technology idea which helps police and other security personal in chasing and pursuing the suspects who are trying to escape in fast moving vehicles.

Let us take a scenario where in a police officer is trying to chase and catch fast moving car which jumped the traffic checkpoint without going through the check. Let us assume there is lot of traffic on the road and police car is unable to overtake the offender car and is gradually losing it.

Now this police officer can switch on the sky eye and mark the fast moving car, from here on the sky eye also starts tracking the offender with much more speed than the offenders speed and relay the movements, coordinates and video to the pursuing police officer. 

Sky eye is an expert system running on police force's servers, it heavily leverages advanced GPS capabilities to track the vehicle direction, speed and vehicle identification marks such as color, make, model, registration number etc. It uses machine learning techniques to remember the pursuing vehicle and differentiate it from other surrounding vehicles and identify it. GPS would be feeding the video of the circular area for the given coordinates & radius provided by and to the Sky Eye. Sky Eye would estimate the next possible circular area where the vehicle would be present in the next time period based on the last scanned speed of vehicle, this coordinates are given to GPS to get the video and vehicle is identified from the video and this process continues until vehicle stops. All these identified vehicle trace coordinates and video's are relayed to ground force in real time for pursue.

This automated system could be used in unmanned check posts to track the offending vehicle and report to the nearest police station with all the trace details.

Thursday, February 11, 2016

Database 101 FAQ


  1. To get Oracle DB size in GB's:

    select sum(bytes/1024/1024/1024) from dba_data_files;
  2. Pagination in Oracle

    select * from ( select rownum rnum, a.* from (YOUR_QUERY) a where rownum <= :M ) where rnum >= :N;
  3. continued

Wednesday, February 10, 2016

Daily Life Hacks - 1

Scenario: If you are a trainer and had to be given training on a subject which is new to you or you don't have much experience. But you don't want to expose your proficiency on the subject to your audience.

Problem: In the subject there are few areas which you are not sure of or there are not clear to you.

Solution: If you are very confident on other areas of the subject and confidently accepting the unknown topics is good thing to do. But if you think this list is increasing :) then you can try below explained technique.

Order your lecture in a structured way so that you would be dealing with a single topic at time. In a particular topic when you come across with not so sure or confident areas then you can say that we will come back to this later when we deal with this. This way you escape the revelation and avoid those areas/concepts.

Thursday, January 7, 2016

Object Oriented Java Script

Below is the best sample for declaring makeCounter class and creating two objects counter1 and counter2 of the same.

Here this class returns three closure functions increment, decrement and value which share a common environment consisting of one private variable privateCounter and private method changeBy.

var makeCounter = function() {
  var privateCounter = 0;
  function changeBy(val) {
    privateCounter += val;
  }
  return {
    increment: function() {
      changeBy(1);
    },
    decrement: function() {
      changeBy(-1);
    },
    value: function() {
      return privateCounter;
    }
  }  
};

var counter1 = makeCounter();
var counter2 = makeCounter();
alert(counter1.value()); /* Alerts 0 */
counter1.increment();
counter1.increment();
alert(counter1.value()); /* Alerts 2 */
counter1.decrement();
alert(counter1.value()); /* Alerts 1 */

alert(counter2.value()); /* Alerts 0 */


Closure

It is an inner function that has access to the variables/ of outer function.

Closures can be used to allow public functions to access private methods and variables.

* Took notes from http://developer.mozilla.org

Thursday, August 27, 2015

How to avoid saying No when you dont need to say!

In our daily life's let us say whether it is in office or at home many times you need not express your opinion bluntly and strongly. You will be taken as harsh person even though you are very kind at heart.

This is an important skill in inter personal skills and unfortunately it is never taught in school or mentioned by our elders. Some people easily picks this skill but for people like me it takes life time to practice this.

Lets take a simple situation lunch time in your office, every one are having their lunch and discussing some topics and discussion steered towards a recently released movie. Most of the group likes it but you didn't liked some aspects of the movie which are important to you. You have shared your thought on the same. Here group may just take it and continue or some one can further dissect your idea or thought. This is fine, here is the thin line; you should not get offended by others opinion on your opinion. If you just let the comment go then the discussion stops there it self, but if you start taking it seriously and start using more strong words and emotions then people may understand you wrongly and take this response as negative memory. Where in people may avoid you or may have created wrong opinion on you which is not at all needed. This further may effect work relationship and work.   

Thursday, July 2, 2015

3 things to look after for a Successful Agile Project

Every company wants to execute their software projects using Agile methodology, in fact many companies are thinking they are following Agile methodology. Agile methodology is not a one stop method to be adopted for all kinds of projects. It is a way to act promptly for changes in requirements when you are already working on requirements, these changes are derived based on rigorous user preferences study and interaction to improve the overall user experience.

I am going to discuss three important things you may want to look after for a successful agile project.

Don't keep unpredictable facts! 

This unpredictability nature of requirement changes or any other changes should have some acceptable limits to make the project successful. This needs commitment from every stake holder, that is from project sponsor, product ownership team and engineering team.
If a product owner has some thoughts on how the functionality he or she wants to see then don't wait for the feed back you are expecting from your entire user group, you can delegate the well described and documented prototype idea to your engineering team to get started and mean while try to arrive at the concrete functionality.
This approach truly follows the Agile in principle; engineering team is well engaged on the business problem, they themselves can offer some functional inputs and optimizations. And they get time to work on technical aspects and improvisations such as solution performance, browser compatibility, enabling multilingual, scalability etc.

Allocate sufficient time and money for training and learning resources

Make sure every member in your team has good understanding of the business domain you are into and business problems you are addressing. 
Utilize the team wiki to communicate commonly used procedures, keep it simple and effective to maintain and add content quickly. Keep links to latest training/ recordings for new comers and for reference.
Provide access to test/development environment at the earliest to allow individuals try the learning's and become confident and ready.

Simple and effective tracking

Requirements should be documented with sufficient details to help Engineering team to refer and infer. Whenever a change happens it should be documented and  communicated to all the stake holders.   
Leverage the Requirement and bug tracking tools and their capability to send notifications up on changes. This ensures people involved are kept informed about the current state.