Monday, August 06, 2007

Friday, July 20, 2007

Deploying ReportViewer web control inside Reporting Services 2005 website


if your web application is using ReportViewer web control, it will throw the exception:

The type Microsoft.ReportingServices.UI.WebControlConnection,
ReportingServicesWebUserInterface, Version=9.0.242.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91 does not implement
IReportServerConnection or could not be found

its your application inheriting appSettings from parent's site web.config.
To resolve this, modify your applications' web.config as


<appSettings>
<remove key ="ReportViewerServerConnection"/>
<remove key ="ReportViewerTemporaryStorage"/>
</appSettings>



Powered by ScribeFire.

Monday, July 09, 2007

10 Developers For The Price Of One

from: http://haacked.com/archive/2007/06/25/understanding-productivity-differences-between-developers.aspx

In the The Mythical Man-Month, Fred Brooks highlights an eye opening disparity in productivity between good and poor programmers (emphasis mine).

Programming
managers have long recognized wide productivity variations between good
programmers and poor ones. But the actual measured magnitudes have
astounded all of us. In one of their studies, Sackman, Erickson, and
Grant were measuring performance of a group of experienced programmers. Within
just this group the ratios between the best and worst performances
averaged about 10:1 on productivity measurements and an amazing 5:1 on
program speed and space measurements!

Tortoise and Hare: http://users.cwnet.com/xephyr/rich/dzone/hoozoo/toby.html

Robert Glass cites research that puts this disparity even higher in his book Facts and Fallacies of Software Engineering.

The best programmers are up to 28 times better than the worst programmers,
according to “individual differences” research. Given that their pay is
never commensurate, they are the biggest bargains in the software field.

In other words, the best developers are generally underpaid and the worst developers overpaid.

But
don’t leave your job just yet. This is not to say that there should be
a 1 to 1 correlation between productivity and pay. People should be
paid by the value they bring and productivity is only part of the value
proposition, albeit a big part of it. Even so, we’d expect to see some
amount of correlation in pay with such a drastic productivity
difference. But in general, we don’t. Why is that?

It’s because most managers don’t believe this productivity disparity despite repeated verification by multiple studies. Why should they let facts get in the way of their beliefs? That would only mean the factonistas have won.

Kidding
aside, why is this productivity difference so hard to believe? Allow me
to put words in the mouth of a straw-man manager.

Well how in the world can one developer write code 28 times faster than another developer?

This sort of thinking represents a common fallacy when it comes to measuring developer productivity. Productivity is not about the lines of code.
A huge steaming pile of code that doesn’t get the job done is not
productive. There are many aspects to developer productivity, but they
all fall under one main principle (borrowing a term from the finance industry), TCO.

TCO - Total Cost Of Ownership.

In general, I’ve tried to always hire the best developers I can find. But I’ve made mistakes before. Yes, even me.

One situation
that comes to mind was with a developer I had hired (under a lot of
pressure to staff up I might add) at a former company. I handed off a
project to this erstwhile coworker to take over. A few days go by and I
don’t hear anything from the guy, so I assume things are humming along
nicely.

Fast forward another few days and I swing by to see how
it’s going and the developer tells me he doesn’t understand a few
requirements and has been spinning his wheels trying to figure it out
this whole time.

Good Developers take Ownership so You Don’t Have To

This
is one of the first ways that good developers are more productive than
average developers. They take ownership of a project. Rather than spend
a week spinning wheels because they don’t understand a requirement, a
good developer will go and grab the decision maker and squeeze out some
clarity.

Likewise, a good developer doesn’t require you to prod
them every few moments to make sure they are progressing. If they get
overly stuck on a problem, they’ll come to you or their coworkers and
resolve the problem.

A developer who can write code fast, but
doesn’t take ownership of their projects is not very productive because
they end up wasting your time.

Good Developers Write Code With Less Bugs

I
once worked with a developer who was praised by my boss for being
extremely fast at writing code. He sure was fast! He was also fast at
introducing bugs into code. His code was sloppy and hard to understand.

The
key measure that wasn’t figured into his productivity measurement was
the amount of productivity lost by the QA team attempting to reproduce
bugs introduced by his code, along with the time spent fixing those
bugs by this developer or other developers.

Everyone focused on
his time to "completion", but not on the total cost of ownership of
that code. Code is not complete when a developer says it is complete.
That is not the time to stop the stopwatch. It’s when QA has had its say that you can put the stopwatch away for the moment.

As
I like to say, productivity is not about speed. It’s about velocity.
You can be fast, but if you’re going in the wrong direction, you’re not
helping anyone.

Good Developers Write Maintainable Code

Hand
in hand with writing less bugs is writing understandable maintainable
code. As soon as a line of code is laid on the screen, you’re in
maintenance mode on that piece of code.

Code that is brittle and
difficult to change wastes hours and hours of developer cycles when
trying to amend a system with updates and new features. By writing
maintainable code, a good developer can make these changes more quickly
and also improves the productivity of his or her team members who later
have to work on such code.

Good Developers Do More With Less Code

Another hallmark of a good developer is that they know when not to write code. As a friend always tells me

Why build what you can buy? Why buy what you can borrow? Why borrow what you can steal?

With
a few exceptions, the NIH (Not Invented Here) syndrome is a
pathological productivity killer. I’ve seen developers start out to
write their own form validation framework until I point out that there
is already one built in to ASP.NET that does the job (It’s not perfect,
but it’s better than the one I saw being written).

All of that
time spent reinventing the wheel is wasted because someone else has
already written that code for you. And in many cases, did a better job
as it was their only focus. In such a situation, finding an existing
library that gets the job done can provide a huge productivity boost.

The
caveat in this case is to be careful to avoid non-extensible and rigid
3rd party libraries, especially for very specialized requirements. You
might a lot of time trying to fit a round peg in a square box.

Even
when you must invent here, good developers tend to write less (but
still readable) code that does more. For example, rather than build a
state machine to parse out text from a big string, a good developer
might use a regular expression (ok, some will say that a regex is not readable. Still more readable than hundreds of lines of text parsing code).

Back to TCO

Each of these characteristics I’ve listed keeps the total cost of ownership of a good developer low. Please don’t let the term ownership distract you. What I mean here is the cost to the company for having such a developer on the payroll.

By
writing less code that does more, and by writing maintainable code that
has fewer bugs, a good developer takes pressure off of the QA staff,
coworkers, and management, increasing productivity for everyone around.
This is why numbers such as 28 times productivity are possible and
might even seem low when you look at the big picture.

Hopefully
seeing this perspective will convince managers that good developers
really are as productive as the studies show. Negotiating a 28x pay
increase on the other hand, is an exercise left to the reader.



Powered by ScribeFire.

Saturday, July 07, 2007

Speaking as a Performing Art

from Guy Kawasaki Blog: http://blog.guykawasaki.com/2007/06/speaking_as_a_p.html

Singing and speaking have everything in common—except for maybe really
good tunes. The main goal is to engage your audience and make them
listen to you, so everything a singer does, a speaker ought to do too.
Here are the absolute necessities of an engaging performance or
presentation that Doug compiled for me:

  1. Circulate with your audience. Before every concert,
    speech, and seminar, I try to mingle with the crowd, ask questions, and
    let them know I’m glad they came. This isn’t always possible in the
    real world, but when it is, I have an opportunity to feel a bond with
    the people I’m about to perform for and undo some of the jitters that
    are a natural part of being “on.”

  2. Command attention. The breastbone (sternum) has to be
    high if you want to project authority. You might want to pretend you’re
    a rooster showing off. Relaxed sternum = loser, high sternum = winner!

  3. Snarl. If people can’t hear you, they won’t listen to
    you. Add some nasal resonance to your voice, but keep smiling. Snarl is
    that nasal sound you get when you speak partially from your nose
    instead of your mouth. It generates overtones above 2,800 cycles per
    second that make any room “sing.” Pretend you’re trying to yell/warn a
    child that’s about to run out in front of a bus—like yelling, “STOP!”
    This works whether you’re using a microphone or speaking without one

  4. Bite your tongue. If your mouth gets dry in the middle of
    your presentation, try gently biting your tongue. Opera singers use
    this all the time to release saliva which moistens your mouth.

  5. Always perform a sound check before you speak. A good
    sound person will adjust the EQ to your voice and its idiosyncrasies.
    If you’re comfortable using a hand mike, do so—work close to the mike
    and you’ll have a better chance of being heard. If you turn your head,
    make sure you turn the mike with your head. Lapel mikes usually work
    fine, but for softer speakers they’re very frustrating. Wrap-around
    mikes (such as the AKG C520L—$159) that fit over your ear are the best
    for intelligibility. If you speak often and you know your venues will
    support this technology, buy a really good one and take it with you.

  6. Use your eyes all the time. Hand gestures, pacing around
    the platform can all be useful tools in presentation, but the eyes…ah,
    the eyes have it! If you can’t engage people with your eyes you will
    eventually lose your audience’s attention. Your eyes always tell people
    whether or not you believe in what you’re saying! Scan the room, select
    a person to make a point to, and look right at them. It’s a little
    intimidating for them, but it keeps you focused on the individuals who
    make up your audience. Keep moving to new people—right, left, middle—it
    works! If all else fails, look at each person as though you’ve loved
    him or her all your life—like mom, or your child.

  7. Move away from center to make your point. When you come
    to a place in your presentation where you really want people’s
    attention, move to the left or right of your primary speaking position.
    This will always make people look up at you. If you are a constant
    mover or shaker, stand still for a few moments—it will have the same
    effect.

  8. Get quiet. If you really want to get people’s attention,
    get quiet suddenly. It will scare the sound guy to death, but I
    guarantee the audience will pay attention. Singers use this trick all
    the time. That’s the “you could hear a pin drop” effect. Believe me,
    that’s what sells your talk!

  9. “Underline” certain words with a pause or repetition. If
    you really want to make a point, slow down, pause, and say the word or
    phrase that you most want people to hear with a calculated emphasis on
    each word. The sudden switch in style gets attention. Also try
    repeating a word or phrase before you make your big point. For example:
    “You know (pause) you know (pause) you know, the thing I want you to
    remember is…” Songs are full of repeated text, a device that locks down
    meaning!

  10. Take a risk and be vulnerable. Say or do something that’s
    totally out of character for you. Use a “pretend” voice like Mickey
    Mouse or Barry White for effect while you’re telling a joke or saying
    something shocking or humorous. Whether your persona is reserved or
    funny, it’s endearing to have a little fun. This trick humanizes the
    most serious topics.

  11. Tee it higher. Raising the overall pitch of your voice
    for a few seconds will create urgency. It shows your passion for the
    subject matter and also relaxes your exhausted larynx. Low pitched
    voices relax the room—high pitched voices increase the adrenaline flow
    of the audience.

  12. Know when it’s time to go. You don’t have to be a genius
    to know you’ve overstayed your welcome. Check your “presentation
    barometer” often to see if everyone is still with you. Change
    something—anything—if you’re starting to lose the crowd. If all else
    fails, stop talking, start thanking, and get off the platform. People
    will love you more for knowing when to stop than for all the wonderful
    content you brought to your topic!

  13. Use Q and A as an “encore.” Singers usually prepare an
    encore because this practice makes the audience feel special and makes
    them think you like them more than other audiences you’ve encountered.
    Q and A functions something like an encore. You may think you told them
    stuff they needed to know, but questions often reveal the important
    things you left out of your content. Where this opportunity exists, use
    it as a tool for picking up the pieces you left dangling in your talk
    and warm the crowd to your candor and self-effacing graciousness.

  14. Rehearse, rehearse, rehearse. That’s how I got to
    Carnegie Hall! Where possible, memorize your material like singers
    memorize their songs. Remember, the more you rehearse, the freer you
    will be to make your talk fresh and engaging.

  15. Perform for a hero. Several years ago I was asked to sing
    a command performance for the Queen of Spain. I worked harder on that
    concert than any I have ever sung. It was very successful and I was
    proud of my preparation. From that time on I imagined I was about to
    sing for the queen, it made me twice the performer I had been
    previously. Pick a hero, and give them your best shot!



Tuesday, April 17, 2007

regex: match a value between two strings

how to capture a value, by group name, between two known string patterns
regex :

Regex re = new Regex("str1(?.*?)str2",RegexOptions.Singleline);

foreach (Match m in re.Matches(data)) {
Console.WriteLine(m.Groups["val"].Value );
}

Wednesday, April 04, 2007

Article : Two Factor Theory

Two Factor Theory (also known as Herzberg's Motivation-Hygiene Theory) - job satisfaction and job dissatisfaction acted independently of each other. Two Factor Theory states that there are certain factors in the workplace that cause job satisfaction, while a separate set of factors cause dissatisfaction. (Herzberg, Mausner & Snyderman 1959)

Two Factor Theory distinguishes between:

  • Motivators; (e.g. challenging work, recognition, responsibility) which give positive satisfaction, and
  • Hygiene factors; (e.g. status, job security, salary and fringe benefits) which do not give positive satisfaction, although dissatisfaction results from their absence.

Essentially, hygiene factors are needed to ensure an employee is not dissatisfied. Motivation factors are needed in order to motivate an employee to higher performance, Herzberg also further classified our actions and how and why we do them, for example, if you perform a work related action because you have to then that is classed as movement, but if you perform a work related action because you want to then that is classed as motivation.

Ref: http://en.wikipedia.org/wiki/Two_factor_theory

Monday, March 26, 2007

The Psychology of Computer Programming

  1. Understand and accept that you will make mistakes. The point is to find them early, before they make it into production. Fortunately, except for the few of us developing rocket guidance software at JPL, mistakes are rarely fatal in our industry, so we can, and should, learn, laugh, and move on.

  1. You are not your code. Remember that the entire point of a review is to find problems, and problems will be found. Don't take it personally when one is uncovered.

  1. No matter how much "karate" you know, someone else will always know more. Such an individual can teach you some new moves if you ask. Seek and accept input from others, especially when you think it's not needed.

  1. Don't rewrite code without consultation. There's a fine line between "fixing code" and "rewriting code." Know the difference, and pursue stylistic changes within the framework of a code review, not as a lone enforcer.

  1. Treat people who know less than you with respect, deference, and patience. Nontechnical people who deal with developers on a regular basis almost universally hold the opinion that we are prima donnas at best and crybabies at worst. Don't reinforce this stereotype with anger and impatience.

  1. The only constant in the world is change. Be open to it and accept it with a smile. Look at each change to your requirements, platform, or tool as a new challenge, not as some serious inconvenience to be fought.

  1. The only true authority stems from knowledge, not from position. Knowledge engenders authority, and authority engenders respect—so if you want respect in an egoless environment, cultivate knowledge.

  1. Fight for what you believe, but gracefully accept defeat. Understand that sometimes your ideas will be overruled. Even if you do turn out to be right, don't take revenge or say, "I told you so" more than a few times at most, and don't make your dearly departed idea a martyr or rallying cry.

  1. Don't be "the guy in the room." Don't be the guy coding in the dark office emerging only to buy cola. The guy in the room is out of touch, out of sight, and out of control and has no place in an open, collaborative environment.

  1. Critique code instead of people—be kind to the coder, not to the code.As much as possible, make all of your comments positive and oriented to improving the code. Relate comments to local standards, program specs, increased performance, etc.

The human principles of software are truly timeless; The Psychology of Computer Programming was written way back in 1971

Friday, March 23, 2007

Top ten things ten years of professional software development has taught me

· Object orientation is much harder than you think
Maybe it's just me, but coming from Computer Science class I thought that OO was easy. I mean, how hard can it be to create classes that mimic the real world? It turns out that it's pretty hard. Ten years later, I'm still learning how to model properly. I wish I spent more time reading up on OO and design patterns. Good modeling skills are worth a lot to every development team.

· The difficult part of software development is communication
And that's communication with persons, not socket programming. Now and then you do run into a tricky technical problem, but it's not at all that common. Much more common is misunderstandings between you and the project manager, between you and the customer and finally between you and the other developers. Work on your soft skills.

· Learn to say no
When I started working, I was very eager to please. This meant that I had a hard time saying no to things people asked of me. I worked a lot of overtime, and still didn't finish everything that was asked of me. The result was disappointment from their side, and almost burning out on my part. If you never say no, your yes is worth very little. Commit to what you can handle, and if people keep asking you for more, make it very explicit that this would mean not doing something else. What I did was to have a list of stuff that I needed to do on a piece of paper with me. When someone asked for something, I showed them the list and asked what I should bump to have time to help them. This allowed me to say no in a nice way.

· If everything is equally important, then nothing is important
The business likes to say that all the features are as crucial. They are not. Push back and make them commit. It's easier if you don't force them to pick what to do and what not to do. Instead, let them choose what you should do this week. This will let you produce the stuff that brings value first. If all else goes haywire, at least you've done that.

· Don't over-think a problem
I can spend whole days designing things in front of the white board. That doesn't mean it will be any better, it just means it will be more complicated. I don't mean to say you shouldn't design at all, just that the implementation will quickly show me stuff I didn't think of anyway, so why try to make it perfect? Like Dave Farley says: "The devil is in the details, but exorcism is in implementation, not theory."

· Dive really deep into something, but don't get hung up
Chris and I spent a lot of time getting into the real deep parts of SQL Server. It was great fun and I learned a lot from it, but after some time I realized that knowing that much didn't really help me solve the business' problems. An example: I know that at the table level, SQL Server will not take an IU lock - it will only take a IX lock. This is a performance tweak, since most of the time, the IU lock will have to be escalated into a IX lock anyway. To find this, I spent countless days experimenting, I read loads of material and talked to Microsoft people at conferences. Have I ever had any use of this knowledge. Nope.

· Learn about the other parts of the software development machine
It's really important to be a great developer. But to be a great part of the system that produces software, you need to understand what the rest of the system does. How do the QA people work? What does the project manager do? What drives the business analyst? This knowledge will help you connect with the rest of the people, and will grease interactions with them. Ask the people around you for help in learning more. What books are good? Most people will be flattered that you care, and willingly help you out. A little time on this goes a really long way.

· Your colleagues are your best teachers
A year after I started on my first job, we merged with another company. Suddenly I had a lot of much more talented and experienced people around me. I remember distinctly how this made me feel inferior and stupid. I studied hard, reading book after book but I still didn't catch up. They had too much of an advantage on me, I figured.
Nowadays, working with great people doesn't make me feel bad at all. I just feel I have the chance of a lifetime to learn. I ask questions and I try really hard to understand how my colleagues come to the conclusions they do. This is why I joined ThoughtWorks. See your peers as an asset, not competition.

· It all comes down to working software
No matter how cool your algorithms are, no matter how brilliant your database schema is, no matter how fabulous your whatever is, if it doesn't scratch the clients' itch, it's not worth anything. Focus on delivering working software, and at the same time prepare to continue delivering software using that code base and you're on the right path.

· Some people are assholes
Most of the time, most of the people around you are great. You learn from them, and they learn from you. Accomplishing something together is a good feeling. Unfortunately, you will probably run into the exceptions. People that because of something or other are plain old mean. Demeaning bosses. Lying colleagues. Stupid, ignorant customers. Don't take this too hard. Try to work around them and do what you can to minimize the pain and effort they cause, but don't blame yourself. As long as you stay honest and do your best, you've done your part.

Ref: http://www.taylor.se/reddit.html

Wednesday, March 14, 2007

How True: Men's rules

Finally, the guys' side of the story.

We always hear
" the rules " From the female side.

Now here are the rules from the male side.

These are our rules!

Please note.. These are all numbered "1"
ON PURPOSE!


1. Men are NOT mind readers.

1. Shopping is NOT a sport. And no, we are never going to think of it that way.


1.
Crying is blackmail.


1. Ask for what you want.

Let us be clear on this one:

Subtle hints do not work!

Strong hints do not work!

Obvious hints do not work!

Just say it!


1. Yes and No are perfectly acceptable answers to almost every question.


1. Come to us with a problem only if you want help solving it. That's what we do. Sympathy is what your girlfriends are for.




1. A headache that lasts for 17 months is a Problem. See a doctor.


1. Anything we said 6 months ago is inadmissible in an argument. In fact, all comments become null and void after 7 Days.


1. If you won't dress like the Victoria 's Secret girls, don't Expect us to act like soap opera guys.

1. If you think you're fat, you probably are. Don't ask us.


1. If something we said can be interpreted two ways and one of the ways makes you sad or angry, we meant the other one

1. You can either ask us to do something Or tell us how you want it done. Not both.

If you already know best how to do it, just do it yourself.


1. Whenever possible, Please say whatever you have to say during commercials.


1.
Christopher Columbus did NOT need directions and neither do we.


1. ALL men see in only 16 colors, like Windows default settings.

Peach, for example, is a fruit, not A color. Pumpkin is also a fruit. We have no idea what mauve is.



1. If we ask what is wrong and you say "nothing," We will act like nothing's wrong.

We know you are lying, but it is just not worth the hassle.

1. If you ask a question you don't want an answer to, Expect an answer you don't want to hear.


1. When we have to go somewhere, absolutely anything you wear is fine. Really .


1. Don't ask us what we're thinking about unless you are prepared to discuss such topics as baseball, the shotgun formation, or golf.


1. You have enough clothes.


1. You have too many shoes.


1. I am in shape. Round IS a shape!

Yes, I know, I have to sleep on the couch tonight;

Friday, February 09, 2007

SQL Server 2005: View all permissions

select dp.NAME AS principal_name, dp.type_desc AS principal_type_desc, o.NAME AS object_name,

p.permission_name, p.state_desc AS permission_state_desc

from sys.database_permissions p

left OUTER JOIN sys.all_objects o on p.major_id = o.OBJECT_ID

inner JOIN sys.database_principals dp

on p.grantee_principal_id = dp.principal_id


(found somewhere on web)

Thursday, February 08, 2007

ParameterizedThreadStart

ParameterizedThreadStart is to pass parameter to new starting Thread.

you can pass only one parameter of type object. the function definition should have one in param of type object.

Passing Parameter to Thread


In .NET 2.0, there is a new delegate, ParameterizedThreadStart, which takes
a parameter of type object. You can create a thread using an instance of
this delegate instead of just ThreadStart, and a new overload to Thread.Start
allows you to specify the value to be passed to the new thread. This is simple, but only accepts
a single parameter and isn't type-safe (just like the options when using thread pool threads).
The earlier code could then be rewritten as:



[In some method or other]

Thread t = new Thread (new ParameterizedThreadStart(FetchUrl));

t.Start (myUrl);



[And the actual method...]

static void FetchUrl(object url)

{

// use url here, probably casting it to a known type before use

}



http://www.yoda.arachsys.com/csharp/threads/parameters.shtml





powered by performancing firefox

BizTalk Macros or FILE adapter

%datetime%

%datetime_bts2000%

%datetime.tz%

%DestinationParty%

%DestinationPartyID%

%DestinationPartyQualifier%

%MessageID%

%SourceFileName%

%SourceParty%

%SourcePartyID%

%SourcePartyQualifier%

%time%

%time.tz%



http://geekswithblogs.net/benny/archive/2006/12/24/101980.aspx





powered by performancing firefox

Friday, February 02, 2007

update WSS 3.0 List through Email



http://www.wssdemo.com/Pages/Email.aspx



Thursday, February 01, 2007

Debugging Windows Service

#if (DEBUG)

Service service = new Service();

service.Start(); //define a public method: public void Start(){OnStart(null);}
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);

#endif

Deserialize to Object from XML Config File in .NET 2.0

static EventLogConfig GetEventLogConfig {

get {

XmlSerializer mySerializer = new XmlSerializer(typeof(EventLogConfig));

XmlNodeReader reader = new XmlNodeReader(Settings.Default.EventLogConfig.DocumentElement);



return (EventLogConfig) mySerializer.Deserialize(reader);



}

}






powered by performancing firefox

Modify application settings in .NET 2.0

(Settings1.Settings) you can't change application settings in code. You can only change user
settings. To change the application settings, you need to write your
own code to open the configuration file as any xml file and modify it

http://blogs.msdn.com/mohamed_sharafs_blog/archive/2006/12/12/using-application-user-settings-in-c-2-0.aspx

Wednesday, January 24, 2007

Office 2007 installation failed!

Setup is unable to proceed due to the following error(s): The 2007
Microsoft Office system does not support upgrading from a prerelease
version of the 2007 Microsoft Office system. You must first uninstall
any prerelease versions of the 2007 Microsoft Office system products
and associates technologies




http://www.hanselman.com/blog/Office2007WontUpgradeFromAPrereleaseVersionOfThe2007OfficeSystemOffice2007SetupSpelunking.aspx





powered by performancing firefox

Tuesday, January 16, 2007

Monday, January 08, 2007

corporate lingo

Here is a little clarification of corporate lingo J

Competitive salary:
We remain competitive by paying less than our competitors.

Join our fast-paced company:
We have no time to train you.

Casual Work Atmosphere:
We don't pay enough to expect that you'll dress up-well; a couple
of the real daring guys wear earrings.

Must be deadline oriented:
You'll be six months behind schedule on your first day.

Some overtimes required:
Some time each night and some time each weekend.

Duties will vary:
Anyone in the office can boss you around.

Must have an eye for detail:
We have no quality control.

Career-minded:
Female Applicants must be childless (and remain that way).

Apply in person:
If you're old, fat or ugly you'll be told the position has been
filled.

No phone calls please:
We've filled the job; our call for resumes is just a legal
formality.

Seeking candidates with a wide variety of experience:
You'll need it to replace three people who just left.

Problem-solving skills a must:
You're walking into a company in perpetual chaos.

Requires team leadership skills:
You'll have the responsibilities of a manager, without the pay or
respect.

Good communication skills:
Management communicates, you, figure out what they want and do.

I am extremely adept at all manner of office organization:
I've used Microsoft Office.

I am honest, hardworking and dependable:
I pilfer office supplies.

My pertinent work experience includes:
I hope you don't ask me about all the McJobs I've had.

I take pride in my work:
I blame others for my mistakes.

I am personable:
I give lots of unsolicited personal advice to co- workers.

I am extremely professional:
I carry a Day-Timer.

I am adaptable:
I've changed jobs a lot.

I am on the go:
I'm never at my desk.

We will look into it - By the time the wheel makes a full turn, we assume you will have forgotten about it too.

It is in process -
So wrapped up in red tape that the situation is almost hopeless.

A Program -
Any assignment that can't be completed by one telephone call.

Expedite -
To confound confusion with commotion?

Channels -
Be trail left by the interoffice memo.

Coordinator -
me guy who has a desk between two expeditors.

Consultant (or Expert) -
Any ordinary guy more than 50 miles from home.

To Activate
- To make carbons and add more names to the memo.

To Implement a Program -
Hire more people and expand the office.

Under Consideration -
Never heard of it.

Under Active Consideration -
We're looking in the files for it.

A Meeting -
A mass mulling by master minds.

A Conference
- A place where conversation is substituted for the dreariness of labor and the loneliness of thought.

To Negotiate -
To seek a meeting of minds without knocking together of heads.

Re-orientation -
Getting used to working again.

Reliable Source -
The guy you just met.

Informed Source -
The guy who told the guy you just met.

A Clarification -
To fill in the background with so many details that the foreground goes underground.

We Are Making A Survey -
We need more time to think of an answer.

Note and Initial -
Let's spread the responsibility for this.

See Me, or Let's Discuss -
Come down to my office, I'm lonesome.

Let's Get Together on This -
I'm assuming you're as confused as I am.

Give Us the Benefit of Your Present Thinking -
We'll listen to what you have to say as long as it doesn't interfere with what we've already decided to do.

To Give Someone the Picture -
A long, confused and inaccurate statement to a newcomer.

Will Advise You in Due Course -
If we figure it out, we'll let you know.

Sunday, January 07, 2007

upgrade TFS to WSS 3.0


http://bloggingabout.net/blogs/mglaser/archive/2006/12/08/Upgrade-TFS-V1
-to-WSS-3.0-Guide.aspx