Programmer to Team Leader:
"We can't do this proposed project. **CAN NOT**. It will involve a major
design change and no one in our team knows the design of this legacy system.
And above that, nobody in our company knows the language in which this
application has been written. So even if somebody wants to work on it, they
can't. If you ask my personal opinion, the company should never take these
type of projects."
Team Leader to Project Manager :
"This project will involve a design change. Currently, we don't have any
staff that has experience in this type of work. Also, the language is
unfamiliar to us, so we will have to arrange for some training if we take
this project. In my personal opinion, we are not ready to take on a project
of this nature."
Project Manager to 1st Level Manager :
"This project involves a design change in the system and we don't have much
experience in that area. Also, not many people in our company are
appropriately trained for it. In my personal opinion, we might be able to do
the project but we would need more time than usual to complete it."
1st Level Manager to Senior Level Manager :
"This project involves design re-engineering. We have some people who have
worked in this area and others who know the implementation language. So they
can train other people. In my personal opinion we should take this project,
but with caution."
Senior Level Manager to CEO :
"This project will demonstrate to the industry our capabilities in
remodeling the design of a complete legacy system. We have all the necessary
skills and people to execute this project successfully. Some people have
already given in house training in this area to other staff members. In my
personal opinion, we should not let this project slip by us under any
CEO to Client :
"This is the type of project in which our company specializes. We have
executed many projects of the same nature for many large clients. Trust me
when I say that we are the most competent firm in the industry for doing
this kind of work. It is my personal opinion that we can execute this
project successfully and well within the given time frame.
Tuesday, June 22, 2010
Programmer to Team Leader:
08 Wayne Rooney
07 Cristiano Ronaldo
06 Didier Drogba
05 Steven Gerrard
04 Fernando Torres
Xavi, 30 years old, from Spain with the club team FC Barcelona and acts as a midfielder. He has his artistic ways of accurate passes and vision with a great ability of keeping the ball.
02 Frank Lampard
Thursday, June 10, 2010
Recently i worked on parsing the Microsoft Excel Files in java and want to share some useful info with you.
I found two good API's for this purpose.
1. Apache POI(free)
2. Smart XLS(free for non commercial use)
Its a free API made by apache. You can parse the following things
No of Physical rows, Sheets Count, Cell Values, Cell formula,Styles(not full colors),But No Chart Support. It can read both xls and xlsx formats.
It is a good API as compared to POI.It parses almost all the values and have additional chart support as well. We can get Chart basic attributes like Series Count, Series Formula, Series Names, Series Category Formula etc etc. It also support the styling of each cell.
Vajahat Ali Niazi
Once i was asked to write an algorithm which matches the two strings and tell the difference between them.
In other words we have two sentences
1. Its raining cats and dogs since morning
2. Its raining monkey and dogs since morning.
than the algorithm should efficient enough to detect the difference between the two strings.
In the above example it should tell that there are two difference in the string.
i-e monkeys found at the place of cat.
In order to implement the algorithm i would recommend to use
Diff takes two texts and finds the differences. This implementation works on a character by character basis. The result of any diff may contain 'chaff', irrelevant small commonalities which complicate the output. A post-diff cleanup algorithm factors out these trivial commonalities.
Google Difference Match patch
You can find it here
The Diff Match and Patch libraries offer robust algorithms to perform the operations required for synchronizing plain text.
- Compare two blocks of plain text and efficiently return a list of differences.
- Diff Demo
- Given a search string, find its best fuzzy match in a block of plain text. Weighted for both accuracy and location.
- Match Demo
- Apply a list of patches onto plain text. Use best-effort to apply patch even when the underlying text doesn't match.
- Patch Demo
Vajahat Ali Niazi