Tuesday, December 23, 2008

10 Cool Cars We Want Now

This blog post lists 10 cool cars and I couldn't take my eyes off from the Audi R8.

http://blog.wired.com/cars/2008/12/10-cars-we-want.html

Sunday, August 31, 2008

Article on software dependencies

I came accross a very good article on software dependencies and I encourage you to have a look when you have some time for a reading.

The auther talks about problems with tightly coupled architectures, effect of coupling on testing and other design patterns such as dependency inversion and dependency injection. Read the full article here.

Wednesday, May 07, 2008

Cloud computing

I don't think that I can find a Software Professional who is not aware of this technical phrase  'Cloud Computing'. It is the current talk of the town.

This article on 'Cloud Computing' describes about the term, how Google and IBM would probably dominate the world in this area and its consequences.

Friday, May 02, 2008

Personal data on Facebook at risk

A news published on the BBC website has reported with proof, that how the personal information of the Facebook users can be hacked and used for any other purposes.

An application written for Facebook can gather the user's personal data as well as his/her friends', when it is added to the user's profile. That means, you can't stay secured by not adding any applications to your profile; You details ca be stolen when one of your friends adds those malicious application.

Read the full story here.

Thursday, May 01, 2008

Schedule delivery of mails in Outlook

There is a nice feature in Outlook 2003/2007, which makes it possible to delay the delivery of a message. This should be very useful in many occasions but one simple situation is when we want to send wishes to a person on his/her birthday or anniversary. We don't have to worry about whether we are away from the computers on that day, the message will be sent by the server on the scheduled time (this will work only when outlook is connected in exchange server mode).

Read more from here.

Friday, March 28, 2008

Daylight Saving time

A news story says that the PCs in some states (New South Wales, Victoria, ACT, Tasmania and South Australia) of Australia, will not be able to automatically adjust the daylight saving time this year. Not mentioned in the story, according to one of my colleagues in New Zealand, this will affect them as well.

A software update from Microsoft may solve the problem.

Read the full story

Wednesday, March 12, 2008

Percentile calculation in Oracle

A percentile is the value of a variable below which a certain percent of observations fall. That is; the 80th percentile is the value below which 80% of the observations can be found. More informations about percentile and the mathematical calculations can be found on the wiki page.

I had to use percentile function in one of our applications where the only option was to use Oracle. I did some research on the subject and found the solution.

There are 2 analytic functions in oracle which can be used for the purpose finding the percentile.

1. Function: Percent_Rank
This function gives the percentile rank, between 0 and 1, in the set (table rows).
Format:
PERCENT_RANK(<value>) OVER (<partition_clause> <order_by_clause>)

E.g.:
SELECT department_id, last_name, salary, PERCENT_RANK()
OVER (PARTITION BY department_id ORDER BY salary DESC) AS pr
FROM employees
ORDER BY pr, salary;
The results of this query will present the department, employee last name, salary and the percentile rank of the salary within the department the employee belongs to, order by percentile rank and salary.

2. Function: Percentile_Cont
This assumes a continuous distribution; the function will retrieve the value for a given percentile.
Format:
PERCENTILE_CONT(<value>) WITHIN GROUP (ORDER BY <expression> [ASC | DESC]) OVER (<partition_clause>)

E.g.:
SELECT last_name, salary, department_id,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY salary DESC)
OVER (PARTITION BY department_id) PCT_CONT,
PERCENT_RANK()
OVER (PARTITION BY department_id ORDER BY salary DESC) PCT_RANK
FROM employees
WHERE department_id IN (30, 60);
This query returns the employee last name, salary, department, 50th percentile value of the salaries within the departments, percentile rank of the employee salary for departments 30 and 50.

These analytics functions may take some time to response when queried against large tables.