Friday, December 22, 2006

Wordpress

My blog has shifted from blogspot domain to wordpress domain:

To visit my blog, click here:
.................................................................
http://ranahammad.wordpress.com/
.................................................................

Thursday, November 30, 2006

A day of remembrance

November 30th, 2006 will go in the record books as the day when Muhammad Yousaf broke a couple of records. For me there will be one more addition other than these, that will be my last day in Intagleo Systems (Pvt) Ltd.
Woww....... A year and 10 months...... 648 days to be precise..........from Feb 21st 2005 till Nov 30th 2006.......................... a wonderful experience and great learning helped me to get a job in Techlogix Pvt Ltd.
Developers of both teams; CCTV and Agrando(RTV) arranged a farewell for me. A couple of old colleagues were called too. We had lunch in AFC, H-Bloack branch. It was great fun. Thanx to everyone a lot. I appreciate everyone for giving me such an importance.
The Experience:
The time I spent in Intagleo was unique in its own way. I learned new domain, technologies and tools. I came across many problems and the way my managers helped me out is unforgettable. I appreciate for what they have done for me and I give them high regards. The staff was very helpful and caring, they were always there whenever I needed any guidance. I really appreciate the times my network manager spent with me, the approaches he told me to follow in the development field.......are tooo goood. My managers always put me at ease in handling my responsibilities and I enjoyed my fellow developers experiences and made them enjoy my experiences toooo. They all treated my like their brother and shared every problem with me and I did the same with them. We tried to helped each other in any problem which was bugging anyone of us. We participated in many games(indoor and outdoor) and I still smile on those events, lunchs, dinners and farewells which we gave to our fellow developers....I did not think that I will be getting a farewell so early in my life, but still I had a great time with everyone there and I wish them best of luck for the future.

Yousuf breaks 30-year-old record

A typically elegant, clipped on-drive for four off Corey Collymore took Mohammad Yousuf from 44 to 48 on the fourth day of the final Test between Pakistan and West Indies at Karachi. A modest raise of the bat acknowledged that the drive also took him past one of the longest-standing records in cricket, of most runs in a calendar year.
Sir Viv Richards's had scored 1710 runs in 1976, a memorable run during which he scored two double-hundreds against England in England and the closest anyone had come to it since was Ricky Ponting in 2005, with 1544 runs. And just before he went past Richards tally, he had glided past Zaheer Abbas's record for the most runs made by a Pakistani batsman in a three-Test series. Abbas had made 583 runs against the visiting Indians in 1978-79.

Tuesday, October 24, 2006

Linked In

LinkedIn is an online network of more than 7.5 million experienced professionals from around the world, representing 130 industries. When you join, you create a profile that summarizes your professional accomplishments. Your profile helps you find and be found by former colleagues, clients, and partners. You can add more connections by inviting trusted contacts to join LinkedIn and connect to you. Your network consists of your connections, your connections’ connections, and the people they know, linking you to thousands of qualified professionals.
I was once called by a project manager in Systems Limited to discuss on a Computer Graphics project and I could not join his team because of some personal issues. But he being impressed by my nature send me an invitation of linked in. I think it is more professional than Orkut like forums. My profile:

Tuesday, October 10, 2006

A series of unfortunate events for PCB

Thanks to the Australian umpire Darrel Hair, Pakistan cricket has been in the spotlight since August's Oval Test against England when the captain, Inzamam-ul Haq, refused to take his team back on the field after it was accused of ball-tampering.
Inzamam was acquitted of tampering but was handed a four-match ban for bringing the game into disrepute, and according to Zaheer Abbas, who was Pakistan's manager on the tour, he had "lost the confidence" of senior board officials.
Inzamam's replacement, Younis Khan, last week refused to lead the side, saying he did not want to be a "dummy" captain. The refusal prompted Khan to resign, although he was reinstated by Ashraf on Saturday, hours before the team's departure for India and the Champions Trophy.
The crisis gripping Pakistan cricket intensified on Monday with the resignation of the PCB's director of operations, Abbas Zaidi.
Zaidi's departure comes three days after the resignation of the former PCB chairman, Shaharyar Khan, and two days after Mushtaq Ahmed was sacked as assistant coach for the Champions Trophy. This is what an umpire can do.................. Not only he can turn the face of the match but he can also turn the fate of the team playing that match. Lets hope everyting turns out gooood.........and Pakistan return home with the Champions Trophy. Good luck Pakistan Cricket Team ;)

Tuesday, October 03, 2006

What makes a good UN secretary general?

The UN Security Council is deciding which of the six candidates for Kofi Annan's job it will recommend to the General Assembly, for when he steps down at the end of the year. But what makes a good secretary general?
The former US ambassador to the United Nations, Richard Holbrooke, once described Kofi Annan as "the best secretary general in the history of the UN".
South Korean pulls ahead in race to succeed Annan
South Korea's foreign minister has cemented his position as the near-certain successor to U.N. Secretary-General Kofi Annan, being the only one of six candidates to escape a veto in an informal Security Council ballot.
The Security Council was expected to hold a formal vote to pick the eighth secretary-general in the United Nations' 60-year history on October 9, making Ban Ki-moon's appointment almost assured.

Nobel prize for genetic discovery

Two US scientists have been awarded the Nobel Prize for medicine for their pioneering work in genetics.
The work of Dr Andrew Fire and Dr Craig Mello could lead to new treatments for a range of illnesses, including viral infections and cancer.
They discovered a phenomenon called RNA interference, which regulates the expression of genes. The process has the potential to help researchers shut down genes which cause harm in the body.
The breakthrough has also given scientists the ability to systematically test the functions of all human genes. In its wake, many companies have been set up to develop research tools to make use of what has become a whole new industry.

Thursday, September 28, 2006

Japan launches Sun 'microscope'

Scientists have high hopes for Japan's Solar-B mission which has been launched from the Uchinoura spaceport.
The spacecraft will investigate the colossal explosions in the Sun's atmosphere known as solar flares. These dramatic events release energy equivalent to tens of millions of hydrogen bombs in just a few minutes. The probe will attempt to find out more about the magnetic fields thought to power solar flares, and try to identify the trigger that sets them off. The ultimate goal for scientists is to use the new insights to make better forecasts of the Sun's behaviour.

Zero-gravity surgery 'a success'

A team of French doctors said they successfully operated on a man in near zero-gravity conditions Wednesday on a flight looping in the air like a roller coaster to mimic weightlessness.
The five-man team and the patient landed safely at an airport in southwestern France after a three-hour flight, although doctors said the midair surgery to remove a cyst from the man's arm took only about 10 minutes.
Chief surgeon Dominique Martin said the near zero-gravity operation, the first on a human, was not technically difficult, but was aimed at breaking a barrier in medical expertise.
The experiment is part of a broader effort to develop robots for future operations from a distance -- in space or on Earth.

Wednesday, September 27, 2006

Mircsoft ban Testing in Pakistan

Microsoft Sues Testing Materials Vendor
Microsoft has filed a federal lawsuit against testing materials vendor TestKing, alleging that the company is illegally selling the actual answers to its certification exams. http://certcities.com/editorial/news/story.asp?EditorialsID=1085&page=8

Pervez Musharraf - "In the Line of Fire"

General Musharraf is in the line of fire
http://archive.gulfnews.com/articles/06/09/06/10065284.html

General Pervez Musharaf wrote about his life and his experiences about Pakistan and her relations with the world. The book is available at local book stores for a price of Rs 1250 in Pakistan. The book can also be found at the following link:
http://www.amazon.com/Line-Fire-Memoir-Pervez-Musharraf/dp/0743283449

Tuesday, September 26, 2006

Importance of Ramadan for Muslims

Muslims believe that during Ramadan, the revelation of the Qura'n to the Prophet Muhammad (P.B.U.H.) began. The entire month is spent fasting from dawn to dusk. The first day of the next month is spent in great celebrations and rejoicings and is observed as the ‘Festival of Breaking Fast’ or Eid ul Fitr. God instructs Muslims to fast just as those (other prophet's peoples) were instructed by God to fast before your time, for instance the practice of Lent.
For more details on Ramdan Sharif:

Ramadan 1427 A.H.

On 25th September 2006, holy month of Ramadan 1427 A.H. started.
Happy Ramadan.

Saturday, September 23, 2006

Arthur Ashe -------- "Why me?"

Arthur Ashe, the legendary Wimbledon player, was dying of AIDS he had gotton he received during a heart surgery in 1983. From world over, he received letters from his fans, one of which conveyed:
"Why does GOD have to select you for such a bad disease?"
To this Arthur Ashe replied: The world over ---
50,000,000 children start to play tennis,
5,000,000 learn to play tennis,
500,000 learn professional tennis,
50,000 come to the circuit,
5000 reach the grand slam,
50 reach Wimbledon,
4 to semi final,
2 to the finals.
When I was holding a cup, I never asked GOD "Why me?"
And today in pain I should not be asking GOD "Why me?"
--------------------------------------------------------------

reference:
http://en.wikipedia.org/wiki/Arthur_Ashe

Husnain Malik, Sami Uz Zaman and Jehanzeb Haroon

On Thursday, September 21st, 2006................our office arranged a farewell dinner for Husnain, Sami and Jehanzeb in Freddy's at M.M. Alam Road.
Sami Uz Zaman has been doing MS in LUMS, so he left Intagleo about a month ago, so his farwell was due. He was in the other team in Intagleo, but he was the first person to introduce this professional work. He guided me and helped me to begin my career. He has always been a very helpful person, and I never saw him without a smile. Well, just because of the life cycle of software industry, everyone has to grow, so Sami had to leave. I wish him Good Luck.
Husnain Malik joined Intagleo a year ago after the 8th October 2005 earthquake. As in "Surah Zalazil" in Holy Quran, that after earthquake good things rise and truth appears for the people who are good and righteous. I think that earthquake revealed Husnain Malik for me. He joined my team, and he has been a very helpful, sincere, trustful and intellect person. He made me understand the meaning of software industry. He helped me in so much matters. He came here after doing MS in Computer Science from Monash University, Australia.........and the experiences he has shared were too goood. He will be leaving Intagleo for a growth in his career next month. I think I am going to miss him. He has been a great team mate. I loved working with him on several projects in Intagleo Systems. I wish him Good Luck.
Jehanzeb Haroon joined Intagleo earlier this year. He joined Intagleo as a marketing manager. Even though he has done BS in Software Engineering from Australian university, he has great marketing skills. He is a person who can convice you even to sell yourself for the better prospects...just kidding. He will be leaving us next month. He found a replacement for him.........and it turned out to be Sharjeel Murtaza, his batch mate in Australia. Sharjeel was my batch mate in Punjab University, he got his credits transfered to Australia where he met Jehanzeb, who was his college mate in Cresent College. Wow, the world has turned out to be a global village. How the circle completes, great.......:) Well I wish Jehanzeb good luck for his new post as a planning manager in Mobilink.
All is well that ends well. I hope my link with them does not end here. I wish we meet again some where else some time again in life. I wish.....

Saturday, September 16, 2006

Why Good Programmers Are Lazy and Dumb

Another interesting article......made me to analyze what kind of programmer I am :)
--The article begins here--
I realized that, paradoxically enough, good programmers need to be both lazy and dumb.
Lazy, because only lazy programmers will want to write the kind of tools that might replace them in the end. Lazy, because only a lazy programmer will avoid writing monotonous, repetitive code – thus avoiding redundancy, the enemy of software maintenance and flexible refactoring. Mostly, the tools and processes that come out of this endeavor fired by laziness will speed up the production.
This makes a lazy programmer a good programmer. Of course, this is only half the truth; for a lazy programmer to be a good programmer, he (or she) also must be incredibly unlazy when it comes to learning how to stay lazy – that is, which software tools make his work easier, which approaches avoid redundancy, and how he can make his work be maintained and refactored easily. (By the way, the word "unlazy" has 14,400 hits in Google; I'm sure this makes it legal.)
Second (and I will elaborate a bit more on this because I find the concept to be less known than the first) a good programmer must be dumb. Why? Because if he's smart, and he knows he is smart, he will:
a) stop learning
b) stop being critical towards his own work

Point a) will make it hard for him to try to find new techniques to allow him to work faster. Point b) will give him a hard time debugging his own work, and refactoring it. In the endless battle between a programmer and the compiler, it's best for the programmer to give up early and admit that it's always him and never the compiler who's at fault (unless it's about character encoding issues, which is the part even the compiler gets wrong).
But there's a more crucial point why a good programmer must be dumb. That's because for him to find the best solutions to problems, he must keep a fresh mindset and manage to think out of the box (or rather, know its actual shape). In a way, this leads to the mindset of a child; incredibly creative because he never heard "no" for an answer.The direct opposite approach would not be very constructive; to be knowledgeable about the parameters at hand, and accept them. Because who knows how many limits you think are there are for real? The less you know, the more radical will your approaches be; the better the tools you develop, and the better the product you develop with them.
I know from my work that a good programmer, when confronted with a problem from management, will adopt this mindset of being dumb; he will start asking the most simple, child-like questions. Because he doesn't accept the parameters suggested to him that someone thinks make up the problem.
Here's a typical conversation from the lost land of web development:
Manager:"Since yesterday, our client can't see the logo on the web site."
Programmer:"Did he restart his browser?"
Manager:"Yes."
Programmer:"Did he restart his computer?"
Manager:"Yes."
Programmer:"Did he empty his cache?"
Manager:"Yes."
Programmer:"Does he run Internet Explorer 6?"
Manager:"Yes."
Programmer:"Is he sure he can't see it?"
Manager:"Yes."
Programmer:"Did he look at the web site on the screen?"
Manager:"What?"
Programmer:"Well, he might have printed it out."
Manager:"No, he was looking on it on the screen."
Programmer:"Did he also not see other images besides the logo?"
Manager:"What? Well, I will ask him."
For the sake of argument (and this was entirely hypothetical) let's say the client indeed turned off images in his browser. Or his son did. Whatever the case, this answer could not have been found if you would work in "smart" mode*. None of the questions asked by the programmer required any programming skills. No; simply because the problem is so stupid, only stupidity can tackle it.
*Some years ago, I had a long telephone discussion about the whole web site being messed up since my last update... it turned out the guy disabled stylesheets in his browser. Back then, I would have suspected everything but such a simple solution and was listening to half an hour of complaints about quality standards etc. In the end, the assumption that my update was at fault was just that... an assumption. You better listen to facts only if you start debugging, and never to what people think might be the reason.
In similar fashion, when one of my co-programmers asks me: "Why isn't this working?" most of the time it's because they're working on the wrong file (e.g., they linked to library 1 but they've altered library 2, and their revision isn't showing, or they simply didn't link the library at all). When you ask a colleague for help, particularly in programming, you want him to know less about your project... so he will ask the stupid questions you sub-consciously avoided asking yourself because you thought you knew the answer, when in fact you didn't.
There's another side to it. The too-stupid person will just run off and, without a second thought, do something wrong. The too-smart person will sit down and plan something right, without taking any action. A pragmatic programmer is sort of in-between; he knows making the wrong decision 1 out of 10 times doesn't hurt the goal as bad as making only right decisions 5 out of 10 times, and making no decision at all the other 5 times.
It's like the story of the centipede. The centipede was very good at walking with its hundred legs. It never spent a thought on just how it could walk. Until one day, when a big black bug asked the centipede "How can you manage to walk with all those feet? Don't you find it hard to coordinate their rhythm?" The black bug already left, when the centipede was still sitting down, pondering how it could walk, wondering, and (for the first time in his life) even worrying a little bit. From that day on, the centipede couldn't walk anymore.So you better not think too much if you want to achieve something. And of course this is only half the truth, too...
--The article ends here--

10 Things That Will Get You Fired

I came across this article while signing on my msn account. The title got my attention and I could not resist to read it. I don't know whether articles remain online or not, so here's the article from MSN Careers.
--The article begins here--
After spending weeks -- or months -- diligently looking for the perfect job, the last thing you want is to be forced back onto the job market. A few wrong steps, however, and you might see a pink slip before a paycheck. If you want to guarantee your spot in the unemployment line, try some of these moves:
1. Don't bother learning what's expected of you.
Sit down with your manager and make sure you understand exactly what your job entails, your deadlines and any relevant department policies. This eliminates ambiguity and ensures you'll know how your performance measures up.
2. Learn to say, "That's not part of my job description," and use it frequently.
Everyone needs to set limits, but doing only the bare minimum sends a clear message that you're just interested in a regular paycheck. Sooner or later, your boss will start looking for someone willing to take more initiative.
3. Go shopping in the supply closet.
While you're at it, run a few errands with the company car and pad your expense report. Stealing from the company is one of the best ways to guarantee your immediate dismissal.
4. Abuse company technology.
Think your boss won't notice that you spend more time instant messaging your friends than you do working? Think again. Most companies monitor all their employees' e-mails and Internet usage -- and that includes what you do with your laptop after hours. Never use your company computer for anything illegal or X-rated.
5. Complain about your job to anyone who will listen.
Whether your pay is too low, the work is drudgery or you think your boss is an idiot, be careful of who hears you complain. If it gets back to your boss, she may just put you out of your misery.
6. Forget teamwork -- look out for No. 1.
No one wants to work with an arrogant employee who steals ideas or an egotistical worker who demeans others. Helping your co-workers doesn't make you a pushover, it makes you smart. Likeable employees move up the company ranks more quickly, and your colleagues will be more likely to help you find leads when you launch your next job search.
7. Bring your personal life to work.
It's inevitable that personal business is going to pop up during work hours. But keep in mind that cubicles don't lend any privacy, so the whole office can hear -- and are distracted by -- you making that appointment with your waxer. Keep personal calls and errands to a minimum during work hours.
8. Consistently work "abbreviated" workdays.
Want to show your boss how little you care about your job or career progress? Regularly come in late and leave early. After all, if you can't be trusted to show up on time, how can your boss trust you with more responsibility?
9. Treat deadlines more like guidelines.
When you procrastinate, everyone suffers. Your missed deadlines reflect poorly on you and your boss, and they delay everyone else on the project, since they can't finish their work until you do yours.
10. Operate the gossip mill.
While you can't avoid office gossip completely, don't get caught spreading it. Think about it: Do you really want hurtful or untrue rumors to be traced back to you? And remember: A few martinis are no excuse for getting loose-lipped.
--The article ends here--
Seriously thinking I find a lot of above things doing myself in my company :) I think it is my luck I am still there.

Wednesday, September 13, 2006

Reunion of BCSS01 and BCSF01

Reunion of first 2 batches of PUCIT BSc HONS was held on 10th September 2006, in Salt n Pepper Grill.

Both batches attended the reunion in large numbers. Only 16 students from BCSS01 and about more than 50 students from BCSF01 attended the reunion. Great ratio, right:)

The idea was initiated by our junior microsftian Fahim, and our teachers Sir Waqar and Anzar proved to be very supportive. It was great fun meeting everyone after almost 20 months. All juniors have got a better place and few are getting higher education, that is great toooo.

The event started well and ended well. We had a fateha for our batch fellow Farhan Bhatti. Aleem shared some of his experiences with everyone while standing on a fountain :D We had a great dinner and it was something I will not forget for some time. The students of our batch who attended were:

Abdul Aleem Khan, he is currently working in Dubai sotware house (don't remember the name) as a Senior Software Engineer.
Mian Haroon Saeed, he is currently working in Techlogix as a software engineer. He also became a coder king in couple of weeks back.
Usman Qutab, he is currently working in CambridgeDocs as a software engineer. A .Net specialized boy working in Java domain from about a year.
Touseef Liaqat, he is currently working in Mentor Graphics as a software engineer. He is engaged and sooon will be married.
Yasir Mehmood, he is currently working in Innovative as a software engineer. He got married 2 days before the Reunion.
Ikhlaq Ahmed, he is going to University of Glosgow on HEC scholarship for facult development program. He will join Quetta Institute of Technology after completing his studies.
Waleed Yousaf, he is also going on 26th september 2006 for further studies. I did not get the course name and place where he is going.
Sheheryar Ilahi, he left Descon then joined some other place, and then he again joined Descon. How faithful :)
Salman Abid Jafri, he is I think in Descon. Did not get a chance to know about him completely.
Salman Hamid, he is a Human Resource Manager in Greenwich something. They conduct hiring for many big companies.
Irfan Tahir, he is doing MBA from NUST.
Tariq Yousaf, he is currently working in Systems Ltd as a software engineer in .Net team.
Moeen Ahmed, he is currently working in Systems Ltd as a software engineer in .Net team.
Najam Nazar, he is currently working in a software house (did not get the name) as a software engineer.
Dawood Nasim, he is ................ did not get the chance to ask him what he is doing :)

I hope I haven't missed anyone. I'll add them if anyone comes in my mind.

Good luck to everyone for their plans.




Dynamic Ellipse Fitting on blobs in an image

Dynamic Ellipse Fitting on blobs in an image means placing an elliptical human model on detected foreground to classify either the foreground contains a human or not. First of all, if the blob size(foreground size) is less than some threshold then it is not a human. If it is a human, then we perform this technique to decide either there are more than one person or not. In short, we use dynamic ellipse fitting for Occlussion Removal.

The technique to place a dynamic ellipse is as follow:

Center of Image ---> (Xi,Yi)
Center of blob -----> (Xb,Yb)

Angle for the orientation of the ellipse depends upon the distance from the center and also the location of the blob in an image, therefore

Angle--------------> 180 - ((arctan((Yb-Yi)/(Xb-Xi)))*180/Pi)

Equation of the ellipse is:
-------------------------
x^2/a^2 + y^2/b^2 = 1
-------------------------
this can be expanded to:
(Xb-Xi)^2/Rx^2 + (Yb-Yi)^2/Ry^2 = 1

=> (Xb-Xi)^2*Ry^2 + (Yb-Yi)^2*Rx^2 = Rx^2*Ry^2

where Rx = Wi/hx, Ry = Hi/hy

Wi = width of the image
Hi = height of the image
hx = ??????? (still not finalized)
hy = ??????? (still not finalized)

distance of the blob from the center of an image -> sqRoot((Yb-Yi)^2 + (Xb-Xi)^2)
this thing will be used to adjust the values of hx and hy. In this way a variable length ellipse will be
placed on the blobs in an image.

Tuesday, September 12, 2006

Teaching at PUCIT

I started teaching Computer graphics in PUCIT, University of the Punjab on April 3rd 2006. I was allocated to 6th semester, BCS Fall 2003. On Friday September 15th, 2006 is the final exam of my subject :)

Will discuss the contents which I covered in the course, later.

Reconnection with my blog

I really appreciate the help of my friend Abdul Aleem Khan....... because he told me the way to access my blog again.
Thanx Aleeem

Saturday, August 26, 2006

Background Subtraction - Stauffer & Grimson's Algorithm

Background Subtraction is a technique in which background and foreground are segmented so that we can perform our required algorithms (such as face detection, gender classification etc). The basic approach for background subtraction is to store the background image as the reference image, in which there is no movement and then in every other frame subtract the reference image to extract the alien objects in the scene. The alien objects are captured as foreground and these are used for further applications.
Since the background does not always remain constant (mainly because of light changes or continuous movement of leaves) therefore we need to develop an approach in which we update the background continuously so that minute changes in the background are made part of the background. Stauffer & Grimson’s algorithm is one of the most reliable algorithms to facilitate adaptive background subtraction.
Stauffer & Grimson Algorithm
The algorithm models each pixel with a mixture of Gaussians. At every frame, for each pixel, distance of pixel’s color value is calculated from each of the associated K Gaussian distributions. Every new pixel is checked against all existing distributions. The match is the distribution with Mahalanobis distance less than a threshold. The mean and variance of unmatched distributions remain unchanged. The matched distributions are updated by using alpha blending concept. For the unmatched pixel, the lowest weight Gaussian is replaced by the new Gaussian with mean at the new pixel and an initial estimate of covariance matrix. Then we sum up distributions less than some threshold to decide whether the current pixel is part of the background or foreground.
Reference
"Adaptive Background mixture models for real-time tracking" by Chris Stauffer and W.E.L Grimson (The Artificial Intelligence Laboratory, Massachusetts Institute of Technology)
http://www.ai.mit.edu/projects/vsam/
Overview of the algorithm is given at the following link:
http://www-staff.it.uts.edu.au/~massimo/BackgroundSubtractionReview-Piccardi.pdf
The original paper is available at the following link:
http://www.ai.mit.edu/projects/vsam/Publications/stauffer_cvpr98_track.pdf

Principal Component Analysis

PCA is an approach used for face recognition and it is also enhanced to work for gender classification and skin detection.

Basic Principles of PCA

To decompose face images into a small set of characteristic feature images called Eigenfaces, which may be thought of as the principal components of the original images. These Eigenfaces function as the orthogonal basis vectors of a linear subspace called Face Space. Recognition is performed by projecting a new face image into this face space and then comparing it position in the face space with those of known faces.

Phases of PCA

A - Initialization
Acquisition of training set of face images and calculation of Eigenfaces.

B - RecognitionGiven an image to be recognized, calculate a set of weights of M Eigenfaces by projecting it onto each of the Eigenfaces. Determine if the face image is a face at all by checking if the image is sufficiently close to the face space. If it is a face, classify the weight pattern as either a known person or as unknown. If the same unknown face is seen several times, Eigenfaces and weight patterns are updated by calculating the new face’s characteristic weight and incorporating into the known faces.

for more info:

http://en.wikipedia.org/wiki/Principal_components_analysis

Dreams

A dream is the experience of envisioned images, voices, or other sensations during sleep.Dreams often portray events which are impossible or unlikely in physical reality, and are usually outside the control of the dreamer.
http://en.wikipedia.org/wiki/Dream#Understanding_dreams

To check what does your dreams mean, choose an alphabet:
http://www.findyourfate.com/dreams/dreams.htm

If Pluto is out of solar system

It is kind of strange that I have to update my basics again :) The astronomers have declared Pluto as a dwarf planet....
http://www.cnn.com/2006/TECH/space/08/24/pluto.ap/index.html

It's quite amazing that astrological studies are weakened. There used to be calculations of Pluto's movement on the stars and stuff like that, now I'm thinking many things are going to be affected. May be my future toooo :D

Monday, August 14, 2006

Managed Extensions for C++ Development Scenarios

Starting with Visual C++ .NET, the standard C++ language has been extended to provide support for managed programming. Managed Extensions for C++ comprise of a set of keywords and attributes.
For each file using Managed Extensions, include the following code at the beginning of the file:

#using
using namespace System; // Only include to access the .NET Framework classes
In addition, you must use the /clr (common language runtime compilation) compiler option when compiling the application.


When using the .NET Framework, code that targets the common language runtime is known as managed code, while code that does not target the common language runtime is known as unmanaged code. Managed Extensions for C++ allows you to mix unmanaged and managed code within the same application. New applications written with Managed Extensions can take advantage of unmanaged code features and new managed code features. Existing components can easily be wrapped as .NET Framework components using Managed Extensions, preserving investment in existing code while integrating with the .NET Framework.
Managed Extensions is the best choice for the following development scenarios:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmex/html/vcconFeaturesOfManagedExtensionsForC.asp

Where did the word "Algorithm" come from?

The answer is:
MOHAMMAD BIN MUSA AL-KHAWARIZMI (Died 840 A.D.)
Abu Abdullah Mohammad Ibn Musa al-Khawarizmi was born at Khawarizm (Kheva), south of Aral sea. Very little is known about his early life, except for the fact that his parents had migrated to a place south of Baghdad. The exact dates of his birth and death are also not known, but it is established that he flourished under Al- Mamun at Baghdad through 813-833 and probably died around 840 A.D.
Khawarizmi was a mathematician, astronomer and geographer. He was perhaps one of the greatest mathematicians who ever lived, as, in fact, he was the founder of several branches and basic concepts of mathematics. In the words of Phillip Hitti, he influenced mathematical thought to a greater extent than any other mediaeval writer. His work on algebra was outstanding, as he not only initiated the subject in a systematic form but he also developed it to the extent of giving analytical solutions of linear and quadratic equations, which established him as the founder of Algebra. The very name Algebra has been derived from his famous book Al-Jabr wa-al-Muqabilah. His arithmetic synthesised Greek and Hindu knowledge and also contained his own contribution of fundamental importance to mathematics and science. Thus, he explained the use of zero, a numeral of fundamental importance developed by the Arabs. Similarly, he developed the decimal system so that the overall system of numerals, 'algorithm' or 'algorizm' is named after him. In addition to introducting the Indian system of numerals (now generally known as Arabic numerals), he developed at length several arithmetical procedures, including operations on fractions. It was through his work that the system of numerals was first introduced to Arabs and later to Europe, through its translations in European languages. He developed in detail trigonometric tables containing the sine functions, which were probably extrapolated to tangent functions by Maslama. He also perfected the geometric representation of conic sections and developed the calculus of two errors, which practically led him to the concept of differentiation. He is also reported to have collaborated in the degree measurements ordered by Mamun al-Rashid were aimed at measuring of volume and circumference of the earth.
The development of astronomical tables by him was a significant contribution to the science of astronomy, on which he also wrote a book. The contribution of Khawarizmi to geography is also outstanding, in that not only did he revise Ptolemy's views on geography, but also corrected them in detail as well as his map of the world. His other contributions include original work related to clocks, sun-dials and astrolabes.
Several of his books were translated into Latin in the early 12th century. In fact, his book on arithmetic, Kitab al-Jam'a wal- Tafreeq bil Hisab al-Hindi, was lost in Arabic but survived in a Latin translation. His book on algebra, Al-Maqala fi Hisab-al Jabr wa-al- Muqabilah, was also translated into Latin in the 12th century, and it was this translation which introduced this new science to the West "completely unknown till then". He astronomical tables were also translated into European languages and, later, into Chinese. His geography captioned Kitab Surat-al-Ard, together with its maps, was also translated. In addition, he wrote a book on the Jewish calendar Istikhraj Tarikh al-Yahud, and two books on the astrolabe. He also wrote Kitab al-Tarikh and his book on sun-dials was captioned Kitab al-Rukhmat, but both of them have been lost.
The influence of Khawarizmi on the growth of science, in general, and mathematics, astronomy and geography in particular, is well established in history. Several of his books were readily translated into a number of other languages, and, in fact, constituted the university text-books till the 16th century. His approach was systematic and logical, and not only did he bring together the then prevailing knowledge on various branches of science, particularly mathematics, but also enriched it through his original contribution. No doubt he has been held in high repute throughout the centuries since then.

14th August 2006

)-(appy Independence Day - Pakistan became 59 years old today. God bless my country and help me to do something beneficial for it.(Amen)

Thursday, August 10, 2006

The Coding King

My friend, Mian Haroon Saeed, won "The Coding King" competition. Though I did not know about this kind of competition, but Haroon surfs Microsoft a lot I think :)

Still it is a great achievement, I wish him good luck. Now he has again awakened a challenger in me. Now I'll have to look for these kinds of competitions :D

For more information:
http://blogs.msdn.com/jobsblog/archive/2006/08/08/692567.aspx

Wednesday, March 22, 2006

Computer Vision - An Introduction

What is Computer Vision ?
Computer vision is the study and application of methods which allow computers to understand image content or content of multidimensional data in general. The term understand means here that specific information is being extracted from the image data for a specific purpose: either for presenting it to a human operator (e. g., if cancerous cells have been detected in a microscopy image), or for controlling some process (e. g., an industry robot or an autonomous vehicle). The image data that is fed into a computer vision system is often a digital gray-scale or colour image, but can also be in the form of two or more such images (e. g., from a stereo camera pair), a video sequence, or a 3D volume (e. g., from a tomography device). In most practical computer vision applications, the computers are pre-programmed to solve a particular task, but methods based on learning are now becoming increasingly common.
Computer vision can also be described as the complement (but not necessary the opposite) of biological vision. In biological vision and visual perception real visual systems of humans and various animals are studied, resulting in models of how these systems are implemented in terms of neural processing at various levels. Computer vision, on the other hand, studies and describes technical system which are implemented in software or hardware, in computers or in digital signal processors. There is some interdisciplinary work between biological and computer vision but, in general, the field of computer vision studies processing of visual data as a purely technical problem.
The related fields of Computer Vision
The field of computer vision can be characterized as immature and diverse. Even though earlier work exists, it was not until the late 1970's that a more focused study of the field started when computers could manage the processing of large data sets such as images. However, these studies usually originated from various other fields, and consequently there is no standard formulation of the computer vision problem. Also, and to an even larger extent, there is no standard formulation of how computer vision problems should be solved. Instead, there exists an abundance of methods for solving various well-defined computer vision tasks, where the methods often are very task specific and seldom can be generalized over a wide range of applications. Many of the methods and applications are still in the state of basic research, but more and more methods have found their way into commercial products, where they often constitute a part of a larger system which can solve complex tasks (e.g., in the area of medical images, or quality control and measurements in industrial processes).
Computer vision is by some seen as a subfield of artificial intelligence
where image data is being fed into a system as an alternative to text based input for controlling the behaviour of a system. Some of the learning methods which are used in computer vision are based on learning techniques developed within artificial intelligence.
Since a camera can be seen as a light sensor, there are various methods in computer vision based on correspondences between a physical phenomenon related to light and images of that phenomenon. For example, it is possible to extract information about motion in fluids and about waves by analyzing images of these phenomena. Also, a subfield within computer vision deals with the physical process which given a scene of objects, light sources, and camera lenses forms the image in a camera. Consequently, computer vision can also be seen as an extension of physics.

A third field which plays an important role is neurobiology
, specifically the study of the biological vision system. Over the last century, there has been an extensive study of eyes, neurons, and the brain structures devoted to processing of visual stimuli in both humans and various animals. This has led to a coarse, yet complicated, description of how "real" vision systems operate in order to solve certain vision related tasks. These results have led to a subfield within computer vision where artificial systems are designed to mimic the processing and behaviour of biological systems, at different levels of complexity. Also, some of the learning-based methods developed within computer vision have their background in biology.
Yet another field related to computer vision is signal processing
. Many existing methods for processing of one-variable signals, typically temporal signals, can be extended in a natural way to processing of two-variable signals or multi-variable signals in computer vision. However, because of the specific nature of images there are many methods developed within computer vision which have no counterpart in the processing of one-variable signals. A distinct character of these methods is the fact that they are non-linear which, together with the multi-dimensionality of the signal, defines a subfield in signal processing as a part of computer vision.
Beside the above mentioned views on computer vision, many of the related research topics can also be studied from a purely mathematical point of view. For example, many methods in computer vision are based on statistics, optimization or geometry
. Finally, a significant part of the field is devoted to the implementation aspect of computer vision; how existing methods can be realized in various combinations of software and hardware, or how these methods can be modified in order to gain processing speed without losing too much performance.
Computer vision and (digital) image processing
are related fields. The distinction between the two is not very clear, e.g., computer vision uses many methods which traditionally belong to image processing. One formal distinction would be to say that image processing deals with transforming images, producing one image from another, or with producing low-level information about an image, such as edges or lines. Neither of these tasks provide, or require, an interpretation about what the image contains in terms of objects or events. Computer vision, on the other hand, uses models and assumptions about the real world depicted in the images to extract information which, e.g., can be used to control actions on objects in a scene. In more advanced systems, these models can be learned rather than programmed.

Wednesday, March 08, 2006

Starting from the start

March 8' 06:

Last post I made was about months back. Now I will post daily some posts related to all work I have done in the previous year....... Previous year........wow.......Now I have an experience of more than a year in my development career.

I have been developing in C++/VC++/VC++.Net/C#, and have used few things in backend(Access, Excel, XML and then finally I was asked to use MySql). Besides these I also used Matlab, IrfanView, VCD-Cutter,Virtual Dub and Crystal Reports..............these are the things which I used again and again for simplifing my tasks.

The domain in which I have been working is Computer Vision............. and the products are Customer Counting using a single Network Camera, Customer Recognition, Face Detection, Tracking...... It has been a very wonderful first year............. I'll discuss all the things which I read and performed research in...... I hope my coming years are as wonderful as the first one :)


Congratulations Bunty [i.e. me] for completing the first professional year.