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