What’s your project score? June 17, 2007
Posted by essamabdelaziz in General.add a comment
The Standish group’s CHAOS report has a table of success factors:
| Success Criteria | Points |
| 1. User Involvement | 19 |
| 2. Executive Management Support | 16 |
| 3. Clear Statement of Requirements | 15 |
| 4. Proper Planning | 11 |
| 5. Realistic Expectations | 10 |
| 6. Smaller Project Milestones | 9 |
| 7. Competent Staff | 8 |
| 8. Ownership | 6 |
| 9. Clear Vision & Objectives | 3 |
| 10. Hard-Working, Focused Staff | 3 |
| TOTAL | 100 |
The study is not new, but still is valid. This are the critical factors for a project success.
Mapping it to your current project, will let you focus on the areas that will improve your chances…
What is your current project score?
http://gabrielsw.blogspot.com/2007/05/whats-your-project-score.html
What Is Logging June 16, 2007
Posted by essamabdelaziz in JAVA.add a comment
Logging in any application generally means some way to indicate the state of the system at runtime
This definition of logging highlights the following important points:
· It is systematic.
· It is controlled.
· It represents an application’s state.
Logging Is Systematic
Logging should be a systematic approach rather than an arbitrary way of producing information. More often than not, we will need to define a strategy for our logging activity. We need to decide beforehand what information to log, yet these decisions are not always easy. We should look at this problem from more than one angle. Typically, we need to produce logs for debugging and day-to-day maintenance of an application. We may also need to produce detailed logs for system administrators monitoring the performance of the system. Again, we may need to distribute logging information to various remote places to facilitate remote management of the application. The issues are endless. Hence, we need a logging strategy before we embark on writing an application.
Logging Is Controlled
There is one and only one way to log the information we require: We have to write some logging code within our applications. The logging code needs to go through the same controls as the main application code. Like every piece of application code, the logging code can be well written or badly written. Keep in mind that logging is there to support and improve the quality of the application being written. Therefore, the logging code should be written in such a way that it has least impact on the overall performance of the system.
Also, we need to exercise some control over where the logging information is stored and the format of the logging information. The logging information needs to be structured so that is easily readable and can be processed at a future date with the least effort. One example is to prefer logs in XML format rather than in simple text format. Although text format for logging may be desirable in the development stage, XML format is much more reusable and portable when the application is deployed. In other situations, we may need to store logging information in a database to maintain a history of the logs produced.
Logging Information Represents the Application State
The logging information produced may be quite useless if sufficient care is not taken about what to log. To make logging activity most effective, we should aim to represent the internal state of the system wherever required and also to present a clear idea of what stage of control the application is at and what it is doing. If you can visualize your system as a collection of distinct components performing several related and sequential tasks, you may well need to log the state of the system before and after each task is performed.
Benefits of Logging
In short, logging within an application can offer the following benefits:
· Problem diagnosis: No matter how well written our code is, there may be some problems hidden in it. As soon as the triggering conditions occur, the hidden problems come to the surface. If our applications have well-written code for logging the internal state of the system, we will be able to detect the problems precisely and quickly.
· Quick debugging: Once it is easy to diagnose the problem, we know exactly how to solve the problem. The logging trace should be aimed at precisely showing the location of the problem, which means we will be able to debug the application in less time. The overall cost of debugging the application is reduced greatly by well-planned and well-written logging code.
· Easy maintenance: Applications with a good logging feature are easy to debug and therefore easily maintainable compared to any application without a similar logging feature. The logging information typically contains more information than the debugging trace.
· History: A good logging feature in an application results in logging information being preserved in a structured way at a desired location. The location may be a file, database, or remote machine. All this enables system administrators to retrieve the logging information at a future date by going through the logging history.
· Cost and time effective: As explained, well-written logging code offers quick debugging, easy maintenance, and structured storage of an application’s runtime information. This makes the process of installation, day-to-day maintenance, and debugging much more cost and time effective.
Disadvantages of Logging
the following disadvantages can occur with any logging process:
· Logging adds runtime overhead due to the generation of logging information and the device I/O related to publishing logging information.
· Logging adds programming overhead due to the extra code required for producing logging information. The logging process increases the size of the code.
· Badly produced logging information can cause confusion.
· Badly written logging code can seriously affect the performance of the application.
· Last not but not the least, logging requires planning ahead, as adding logging code at a later stage of development is difficult.
THE 13 CHARACTERISTICS OF SUCCESSFUL PEOPLE – June 7, 2007
Posted by essamabdelaziz in General.1 comment so far
By Jeffrey J. Mayer - SucceedingInBusiness.com
I’ve spent many years studying successful people and have identified the skills, talents, and characteristics that enable them to succeed. As you look at and study these skills, talents, and characteristics, you’ll realize that you possess many of them yourself.
Some of these skills and talents are more dominant than others and will play a greater part in your being, or becoming, a success in the business of life. These are the things you do well.
The things you do easily and effortlessly. These are your strengths. When you find you need a skill or talent you don’t have, just go out and look for a person or group of people with the skills, talents, and training you need.
Skills and talents that complement your own. These people will become your teammates, colleagues, co-workers, professional advisors, and friends. With these combined skills and talents organizations grow, prosper, and become successful.
These are the five things you’ll find every successful person has in common :-
They have a dream.
They have a plan.
They have specific knowledge or training.
They’re willing to work hard.
They don’t take no for an answer.
Remember: Success begins with a state of mind. You must believe you’ll be successful in order to become a success.
The following is a list of the skills, talents, and characteristics you’ll find in successful people: -
Successful People Have a Dream.
They have a well-defined purpose. They have a definite goal. They know what they want. They aren’t easily influenced by the thoughts and opinions of others.
They have willpower. They have ideas. Their strong desire brings strong results. They go out and do things that others say can’t be done.
Remember: It only takes one sound idea to achieve success.
Remember: People who excel in life are those who produce results, not excuses. Anybody can come up with excuses and explanations for why he hasn’t made it. Those who want to succeed badly enough don’t make excuses.
Successful People Have Ambition.
They want to accomplish something. They have enthusiasm, commitment, and pride. They have self-discipline. They’re willing to work hard and to go the extra mile. They have a burning desire to succeed. They’re willing to do whatever it takes to get the job done.
Remember: With hard work come results. The joy in life comes with working for and achieving something.
Successful People Are Strongly Motivated Toward Achievement.
They take great satisfaction in accomplishing a task.
Successful People Are Focused.
They concentrate on their main goals and objectives. They don’t get sidetracked. They don’t procrastinate. They work on the projects that are important, and don’t allow those projects to sit until the last minute. They’re productive, not just busy.
Successful People Learn How to Get Things Done.
They use their skills, talents, energies, and knowledge to the fullest extent possible. They do the things that need to be done, not just the things they like to do.
They are willing to work hard and to commit themselves to getting the job done.
Remember: Happiness is found in doing and accomplishing, not in owning and possessing. Many years ago I was asked: “Jeff, do you like pleasing habits or pleasing results?” As I pondered that probing question, and squirmed in my chair like a worm at the end of a hook, I felt as if I had painted myself into a corner. A few moments later I answered: “I like pleasing results.” From that moment on my life changed. I began to do the things that were difficult, because they enabled me to achieve my goals.
Successful People Take Responsibility for Their Actions.
They don’t make excuses. They don’t blame others. They don’t whine and complain.
Successful People Look for Solutions to Problems.
They’re opportunity minded. When they see opportunities they take advantage of them.
Successful People Make Decisions.
They think about the issues and relevant facts, give them adequate deliberation and consideration, and make a decision. Decisions aren’t put off or delayed, they’re made now!
Success Tip: Spend more time thinking and planning before you make your decision, and you’ll make better decisions.
Success Tip: When you don’t get the expected results from the decision you’ve made, change your course of action. Decisions should never be carved in stone.
Successful People Have the Courage to Admit They’ve Made a Mistake.
When you make a mistake, admit it, fix it, and move on. Don’t waste a lot of time, energy, money, and/or other resources trying to defend a mistake or a bad decision.
Remember: When people are wrong, they may admit it to themselves. If they are handled gently and tactfully, they may admit it to others and even take pride in their frankness and broad-mindedness. But people become very defensive and angry when others try to cram their mistakes down their throats. If you want to learn how to overcome the fear of failure, overcome the procrastination habit, and become more successful by writing and reviewing your goals, you should
Successful People Are Self-Reliant.
They have the skills, talents, and training that are needed in order to be successful. Your thoughts, comments & opinions are appreciated.
Successful People Have Specific Knowledge, Training, and/or Skills and Talents.
They know the things they need to know to be successful. And when they need information, knowledge, or skills and talents that they don’t possess, they find someone who does possess them.
Successful People Work with and Cooperate with Other People.
They have positive, outgoing personalities. They surround themselves with people who offer them help, support, and encouragement. They are leaders.
Successful People Are Enthusiastic.
They’re excited by what they’re doing, and that excitement is contagious. They draw people to them because these people want to work with them, do business with them, and be with them.
create web applications that can run offline. June 4, 2007
Posted by essamabdelaziz in General.add a comment
Google Gears consists of three modules that address the core challenges in making web applications work offline.
| LocalServer Cache and serve application resources (HTML, JavaScript, images, etc.) locally |
|
| Database Store data locally in a fully-searchable relational database |
|
| WorkerPool Make your web applications more responsive by performing resource-intensive operations asynchronously |