Month: November 2009
ISLAMABAD: The main accused in the Rs 9 billion Bank of Punjab loan scam Sheikh Afzal and his son Haris Afzal said they had paid Dr Babar Awan Rs 5 million as fee and Rs 35 million in kickbacks for getting a favourable verdict in the case from then Islamabad High Court (IHC).
Afzal, who was brought to the Supreme Court on Tuesday, disclosed a list of top lawyers who allegedly took millions of rupees to plead his case in court.
He alleged that besides Babar Awan, the incumbent parliamentary affairs’ minister, who took Rs 40 million for getting a favourable verdict, he paid senior lawyer Sharifuddin Pirzada Rs 10 million, Malik Muhammad Qayyum, then attorney general, Rs 20 million and Ali Wasim, son of Wasim Sajjad, Rs 7.5 million as fees for defending him in the loan scam case.
Afzal said that in addition to the mentioned lawyers, he had given Rs 400-500 million to Hamesh Khan, former BoP president, Rs 30 million to Aziz Ahmed, BoP’s risk control manager, Rs 50 million to Haroon Aziz, Rs 10 million to Shoaib Qureshi, Rs 40 million to BoP’s treasury head Saleem Mirza, and Rs 5 million to Fazeel Asghar, who helped him flee the country despite his name being placed on the Exit Control List (ECL).
The three-member Supreme Court bench consisting of Chief Justice Iftikhar Muhammad Chaudhry, Justice Mian Shakirullah Jan and Justice Tariq Parvez directed the National Accountability Bureau (NAB) not to harass the family of Sheikh Afzal, but allowed NAB to take necessary action for recovering the looted money.
Meanwhile, Federal Investigation Agency (FIA) Law Director Azam Khan submitted a report about the steps taken so far for the extradition of former BoP president Hamesh Khan from the US.
The report said relevant documents had already been provided to the US Justice Department, but authorities had not received any response in this regard so far.
Afzal had fled to England and had then moved to Malaysia, from where the FIA and NAB arrested him with Interpol’s assistance.
The SC praised the FIA for bringing the fugitives back to the country.
What is NRO
National Reconciliation Ordinance (NRO) was issued by the former president of Pakistan General (Retd) Pervez Musharraf on October 5, 2007. It granted amnesty to politicians, political workers and bureaucrats who were accused of corruption, embezzlement, money-laundering, murder and terrorism between 1st January 1986 and October 12th 1999, the time between two Martial Laws.
The NRO states: “Notwithstanding anything to the contrary in sub-section(1), the Federal Government or a Provincial Government may, before the judgment is pronounced by a trial court, withdraw from the prosecution of any person including an absconding accused who is found to be falsely involved for political reasons or through political victimization in any case initiated between 1st day of January, 1986 to 12th day of October, 1999 and upon such withdrawal clause (a) and clause (b) of sub-section (1) shall apply.”
Current Status of NRO
The current Chief Justice of Pakistan, Iftikhar Muhammad Chaudhry, suspended this ordinance on October 12, 2007. But he was soon dismissed after Musharraf abrogated the constitution on November 3, 2007. The new Chief Justice, Abdul Hameed Dogar revived the NRO on February 27, 2008. Term of NRO was ending on November 28 and all the cases would be reopened automatically. However, President Zardari’s cases could not be reopened until he was in Presidency.
The government has issued list of 8041 persons who benefited from NRO including 34 politicians. The list includes President Asif Zardari, Begum Nusrat Bhutto, Interior Minister Rehman Malik, MQM Chief Altaf Hussain, Farooq Sattar, Federal Minister Babar Ghauri, Jahangir Badar, Ambassador Hussain Haqqani and Wajid Shams-ul-Hassan. The top beneficiary of NRO is Altaf Hussain whose 72 cases including 31 murder cases were dismissed.
Addressing a press conference in Islamabad, Minister of State for Law Afzal Sindhu revealed that total number of NRO beneficiaries were 8041 including 7793 persons from Sindh only. Sindhu told that Prime Minister Syed Yousuf Raza Gilani and his wife’s names were not in the list as the court had dismissed PM’s cases upon finding him not guilty; whereas, his wife had made an agreement in the court. The minister of state told that President Asif Zardari, Nusrat Bhutto, Rehman Malik, Jahangir Badar, Ahmad Mukhtar, Altaf Hussain, Farooq Sattar, Babar Ghauri, Governor Sindh Ishrat ul Ibad, Shoaib Bukhari, Kanwar Khalid Younus, Salim Shahzad, Imran Farooq, three ambassadors Waseem Akhtar, Wajid Shams ul Hassan and Hussain Haqqani, A.R. Siddiqui, former chief secretary Punjab Javed Qureshi, Anwar Saifullah, Siraj Durrani, Mushtaq Awan, Gul Sher, Haji Nawaz Khokhar, Rana Nazir Khan, Waliur Rehman, Yousuf Talpur, Slaman Farooqi, Usman Farooqi, Peer Mukaram, Tariq Anis, Haji Kabir, Chaudhry Zulfiqar Ali, Chaudhry Shaukat Ali, Mian Rasheed, Mian Tariq Mehmood, Sardar Maqsood Laghari, Brig. (Retd) Imtiaz, Brig. (Retd) Aslam Hayat, Safdar Baqri, Saeed Mehdi, Noman Saigol and Mir Baz Khetran are included in the list.
Sindhu said that the top beneficiary of NRO was Altaf Hussain with 72 cases including 31 cases of murder and 11 cases of attempt of murder. He told that term of NRO was ending on November 28 and all the cases would be reopened automatically. However, President Zardari’s cases could not be reopened until he was in Presidency. Sindhu said if the court gives verdict against a person the government would not support him. The minister of state maintained that cases filed against PPP leaders in Nawaz Sharif’s tenure were result of political vendetta. He said verdict of only one corruption case was announced in 10 years and 3 judges had to resign after that.
The Holy Prophet Mohamed (Peace be upon him & his progeny) said:
1) Four things that make the body sick:
a) Excessive talk
b) Excessive sleep
c) Excessive eating and
d) Excessive sex.
2) Four things that destroys the body:
b) Sorrow (Sadness/Grief)
d) Staying up late (in the night)
3) Four things that dry the face & take away its happiness:
b) Being disrespectful / impudent (insisting on something wrong knowingly)
c) Arguing without knowledge
d) Excessive immorality (doing something wrong without fear)
4) Four things that increases the wetness of face & its happiness:
c) Generosity (being kind)
d) To be helpful to others without he/she asking for that.
5) Four things that stop the Rizq (Sustenance)
a) Sleeping in the morning (from Fajr to Sunrise – an hour before and after sunrise)
b) Praying less
c) Laziness / Idleness< /SPAN>
d) Treachery / Dishonesty
6) Four things that bring / increase the Rizq (Sustenance).
a) Staying up in the night for prayers. (Getting up in mid or late night for prayers)
b) Excessive Repentance
c) Regular Charity
d) Dhikr (Remembrance of Allah / God).
The Holy Prophet (Peace be upon him & his progeny) also said to communicate
to others even if you listen one Verse (Ayah) & this one verse will stand on the day
of Judgment for intercession.
Jazak Allah Khairan (May Almighty Allah Give you the best)…
Hello All friends …
I hope … umm no, I’m sure you are having best in every aspect of your life …. hey don’t think i’m again going to tell you something about aspect oriented programming … no, not at all at this time … though I know it’s third part is pending but don’t think I’ve forgotten … it will surely there in next couple of days …
Again hat’s off for Google … From last 2 days, I’m exploring Google Waves, a new product from Google … and now at this time, my level of “fan to Google Products” has increased to some more points … Google Wave is probably the most exciting product announcement from Google since Gmail. Someone gave really good definition of google wave … as take Twitter, Gmail, Instant Messenger, Flickr, and Google Docs. Pour them into a blender; stir in robots and open the whole thing up to developers to the mix and start blending. You might have something like Google Wave .. interesting han … yes indeed it is ..
Google Wave was introduced at the Google I/O developer’s conference in 2009. Google Wave is an online tool for real-time communication and collaboration. A wave can be both a conversation
and a document where people can discuss and work together using richly formatted text, photos, videos, maps, and more.
In Google Waves, people can communicate and work together with richly formatted text, photos, videos, maps, and more. It is a shared platform. Any participant can reply anywhere in the message, edit the content and add participants at any point in the process. Then playback lets anyone rewind the wave to see who said what and when. With live transmission as you type, participants on a wave can have faster conversations, see edits and interact with extensions in real-time.
Some Features of Google Waves
Real Time Conversation among many people at at time
People can talk simultaneously, can share their and ideas suggestions in real time with with many others at a time. You can reply to any part of the conversation any at point. Other participant can see what you are typing as you type rather just getting a message “My ABC is typing…” All of your friend can join a single thread of conversation (infact a wave) to share their ideas .. hence make it a real time group discussion.
Keep a single copy of ideas, suggested itinerary, menu and RSVPs, rather than using many different tools. Use gadgets to add weather, maps and more to the event.
Collaboratively work in real time to draft content, discuss and solicit feedback all in one place rather than sending email attachments and creating multiple copies that get out of sync.
Drag and drop photos from your desktop into a wave. Share with others. Use the slideshow viewer. Everyone on the wave can add their photos, too. It is easy to make a group photo album in Google Wave.
Prepare a meeting agenda together, share the burden of taking notes and record decisions so you all leave on the same page. Team members can follow the minutes in real time, or review the history using Playback.
Bring lots of people into a wave to brainstorm – live concurrent editing makes the quantity of ideas grow quickly! It is easy to add rich content like videos, images, URLs or even links to other waves. Discuss and then work together to distill down to the good ideas.
Add a gadget to a wave to play live interactive games with your friends (we’re hooked on Sudoku!). See everyone’s moves as they make them in a fast-paced game or take a break and come back later.
Basic Concepts in Wave
A wave is an entire conversation on Google Wave. Think of it like a large back and forth thread with one or more people in a discussion forum or through an email conversation.
A wavelet is a smaller branch of conversation spawned from a large wave. This is like the smaller group of party-goers having a private conversation in the kitchen while everyone else hangs out in the living room. That same group could later rejoin the larger wave.
A blip is the smallest unit of conversation. Think of a blip as a single email or a single instant message.
Google Wave is probably a next generation email. Google Wave is a communication system, just like email or instant messaging. Only it combines these methods of communicating and adds a few more.
Some Keyboard Shortcuts I found Usefull
while exploring waves, i found some keyboards shortcut keys that makes wave easy to use ..
- Shift+Enter will submit a reply and start a new reply.
- CTRL+Enter will indent a reply
- Home and End take you to the beginning/end of a Wave
- Tab or Spacebar “jump” to the next unread ‘blip’ below (a blip is a message)
- Press Shift+Spacebar to move up to see new blips/messages (as opposed to going to the top of the Wave and pressing the spacebar)
- CTRL + click on Wave opens up a Wave in a new panel (hold down CTRL and the Wave)
Really thank to Allah Almighty who give us knowledge and wisdom to learn things and share them.
Last time, on 11th October 2009, the visitor count was 1000. After one month it has jumped over 3030 … I thank to all my friends who visit and give valuable suggestion, comments and critics.
(The poem was composed in late 2005, during the lecture of philosophy in university class; Primarily dedicated to our group)
We take things simpler
And make them harder
We are hard workers
we start from scratch
and ends at crash
We are hard workers
We take problems obvious
And returns as ambiguous
We are hard workers
People Thinks beyond the knowledge
And we live behind the college
We are hard workers
We explore problems till depth
results in their death
We are hard workers
Hope that you all are doing best in all aspects of your life…
This is a second part of tutorial on aspect oriented programming. In last part, we discussed little about object oriented approach to design and develop computer based system and some issues with this approach. We talked about issues those are not concerned with a developer of specific module but he/she has to care those things, we saw a small chunk of code and realized that same lines of code are repeating in different classes/methods time and again and a developer has to write them even when those lines are not concerned with core logic of that method or developer’s expertise.
In this part i will present aspect oriented approach to cope with such issues and to design/develop your application’s architecture with much better way. Again, may be my writing style, sentences structure, grammar, spells are not up to the mark, but it doesn’t matter, neither i’m going to tech you English nor it is an English literature class, so don’t worry 🙂 , i will try to focus on contents and concept so kindly accept my apology in advance.
orite, lets start … we know that every class, method or package in our software system has some responsibility in over all flow of application. Like some packages/classes for session management, some classes to obtain and mange database connections, some classes act like delegates, some work at middle layer to control transaction management etc … there are many other classes too that we develop as per user interface or to perform some other functionality. Anyone can guess the purpose of a class or method by just looking at its name (if good programming practices are in practice). Mean every class/method has something to concern with it, and in any application there are many possible concerns like managing role/permissions, fetching data as per specific criteria at specific screen, to control navigation, to handle session management and many others. So concern mean anything important that has to be done in software system. Any logic, any piece of code, or even a complete module.
Cross Cutting Concerns
While analyzing the user requirements and business scenarios in client’s world, you can analyze different concerns that you have to handle … and while you list down them you will realize that there are few things that are overlapping in each module or in different business scenario, or more precisely they span over different module or concerns. They present in all modules or help other modules to perform their concerning task properly. Such overlapping things or concerns are called cross-utting concerns. Means they cross cut different modules or concerns and present across the application in same form. In other words, These cross-cutting concers are pieces of logic that have to be applied at many places but actually don’t have anything to do with the core business logic of that particular class or method.
Issues with Cross Cutting Concerns
At this point I’m assuming that you have understand the term of concern and cross-cutting concerns. Again in short, concern is any functionality/logic/module/code that you have to implement to achieve some business goal; cross-cutting concerns are those concerns that are spread over the application and replicates in different concerns, got that!!! Good.
The biggest issues with cross cutting concerns are that they replicates in all applications, exists in different part of your code in more or less same form. Let consider the previous example again to clarify this point.
log start of method;
open data base session;
create query to fetch data;
log query and its parameters;
call to database to fetch data;
close database session;
log returned data from database;
log end of method;
Consider the above piece of code (in natural language). Last time we analyze that the bold lines can be found in every method of your application that fetch data from database, and wants to log different activities/interaction with database server. In any application, the logging and mechanism of interacting with database are major activities that have to perform again and again. In others words, logging and database interaction are two major concerns. Plus these concerns are also cross-cutting concerns because they are spreading across the application. In every method you can find them. You have no other option other than to write these lines of code in every method. What maximum you can do is to make separate classes and write all code there. Whenever you need logging and database interaction, just call methods of those classes. But again the problem is that you have to write call to those classes in every method; even a single line. This single line of code is much costly when you have to write them in every method of your class. One thing more, what if you need to have little change in that line? Again you have to edit/modify all those methods?
This thing become worst when a person that hasn’t concerned with such issue but he/she has to care about them. A person who has primary responsibility to write an optimal query to fetch data from database against a certain criteria but he/she is wasting his/her time in managing logging and database connectively issues. Is that fair? Absolutely not ..
The ideal solution for such issues is to identify and separate those piece of code/logic that span over the whole system, means their cross-cutting behavior or attribute should eliminate. Is there any way in OOP to do that? There isn’t unfortunately.
Aspect Oriented Programming Approach
No doubt Object-oriented programming (OOP) is a mainstream programming paradigm now a days. It provides software re-usability by providing design and language constructs for modularity, encapsulation, inheritance, and polymorphism. Though OOP has credit in implementing large scale projects and system, still it has some problems. It is practically proved that developers faces some problems in maintaining their code while working on large scale projects. An attempt to do a minor change in the program design may require several updates to a large number of unrelated modules. In other words, they have to change/update those modules that has no concern with core logic of required changes; more technically, they have to update many cross-cutting concerns at many places of code while doing a minor change in existing system. Hence OOP don’t have any concrete solution for managing and handling cross-cutting concerns in a software system. In object-oriented programming the natural unit of modularity is the class, and a cross-cutting concern is a concern that spans multiple classes (logging, context-sensitive error handling, performance optimization, and design patterns)
Aspect oriented approach provides solutions for such issues. It provides a way to design a software system architecture while considering the issue of cross-cutting concerns. It cleanly separate the cross-cutting concerns among different modules and treat them as autonomous construct hence remove their cross-cutting behavior.
To understand the core of AOP approach, again consider the previous example. If I remove the bold lines then remaining method will look like
create query to fetch data;
call to database to fetch data;
Here the developer hasn’t any worry about how connection with database is handling, how the logging happen. He just has to write those lines of code that belongs to core logic of that method. In other words, he is just concerned with core logic and doesn’t need to worry about other things. Doesn’t look good han??? AOP says that the class or method should perform only its concerned task and shouldn’t worry about other things. It provide a way to modularize different aspects of a system in least cohesive fashion.
How this happen? In AOP world, you pick all cross-cutting concern and develop them as separate entity, and when you need them in your code, just inject their functionality at run time. Looks strange?? i know at first glass it does. ok i try to clear by an example. Again consider the same example. In our Fetch_Employee_Data method we introduced logging to log all interaction with database server. We noticed that we have to write same line of code in every method. Now AOP says that pick these line of code, put them in separate entity, and wherever you need that logging functionality, just tell the compiler to inject logging in your method at your mentioned location; sounds good han …. it is indeed …. see you don’t need to write same code time and again in each method but only once in separate entity and compiler is injecting it in every method you mention. I will tell you latter how to write separate entity and how to tell compiler to inject at run time but right now just try to grasp core idea behind aspect oriented approach and how it is different from object oriented.
To me AOP is some kind of meta-programming. It complements object-oriented programming by facilitating another type of modularity that pulls together the widespread implementation of a cross-cutting concern into a single unit. These units are termed aspects, hence the name aspect-oriented programming. By compartmentalizing aspect code, cross-cutting concerns become easy to deal with. Aspects of a system can be changed, inserted or removed at compile time, and even reused. One thing to be noted is, that AOP does not replace OOP but adds certain decomposition features. I say it a nice add-on to OOP.
In next part i will tell you about major term used in aspect oriented programming. You learn how to pick cross-cutting concerns from system and write them as aspect; and how to tell compiler to inject them at run time. Till now i was talking in much generic fashion just to clear the concept, in next part i will discuss things pragmatically so be ready….