Dale Builds an Office Bullpen for the New Hires

[MANAGER]:  We just don’t have enough space for any additional cubes.

[ANOTHER MANAGER]:  Where are we going to put the new hires?  They start next week.

[MANAGER]:  I suggest we make our existing cubes smaller.

[YET ANOTHER MANAGER]:  I don’t think we can make them any smaller.

[ANOTHER MANAGER]:  Yeah.  My cube is already so small that I have to walk outside of it just to change my mind.

Comedic drum roll…

[YET ANOTHER MANAGER]:  What about an office bullpen?

[MANAGER]:  That’s not a bad idea.  We definitely can fit more people.

[ANOTHER MANAGER]:  Well, we need to build it this week though.

[YET ANOTHER MANAGER]:  Don’t look at me.  I don’t even know which way to screw a hammer.

[MANAGER]:  I got an idea.

The manager calls Dale Cull, a recently hired test developer, over to his cube.

[MANAGER]:  Dale, didn’t you used to work as a handy man or something?

[DALE CULL]:  I sure did.  It paid for my way through college.

[MANAGER]:  Great!  I want you to build an office bullpen.

[DALE CULL]:  Oh, I can do that.  I think I still have the blueprints for the one I built a few years ago.

[ANOTHER MANAGER]:  Really, you built one before?  Do you think you can finish it by Monday?

[DALE CULL]:  Yes.  I can do it.

[MANAGER]:  I need one more favor from you, Dale.

[DALE CULL]:  Sure.  You name it.

[MANAGER]:  We, the managers, will be out next week for a SCRUM conference in Abilene.  Can you take care of the new hires…make sure that they get their work badges and respective places in your new office bullpen?

[DALE CULL]:  Absolutely.  No problem.  I will receive and tag them myself.

Dale works diligently over the weekend to get the office bullpen ready.  Monday arrives along with the new hires.  Dale is eagerly waiting for them.  He renders them unconscious with a captive bolt pistol to prepare them for exsanguination.  Once hypovolemia is reached, he hangs them upside down by their legs above their respective places in his newly built office bullpen.

You see, Dale once worked as a handy man in an old Chicago slaughterhouse.  Dale is no longer a test developer as you probably already suspect.  He is working in HR now as the new employee liaison.

Dale found his passion.  How about you?  We all can’t be test developers.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)


Source: Compression Project

A well-written DOS batch file should always check the number of command line arguments passed to it even if it doesn’t require any arguments.  If the actual number of arguments doesn’t match the expected number of arguments, then display a usage message to ensure that the user understands what the batch file is supposed to do.

The DOS batch file below shows you how to determine the total number of command line arguments given by the user during invocation.  In this example, we expect two arguments only, but the user provides three.  A usage message is displayed and an exit status of 1 is returned to the operating system.  We run the batch file again, but this time with the correct number of arguments.  No usage message is displayed and an exit status of 0 is returned instead.


@echo off

set _exitStatus=0
set _argcActual=0
set _argcExpected=2


for %%i in (%*) do set /A _argcActual+=1

if %_argcActual% NEQ %_argcExpected% (

  call :_ShowUsage %0%, "Bad human...bad args."
  set _exitStatus=1

REM Your code goes here


  echo [USAGE]: %~1 arg1 arg2

  if NOT "%~2" == "" (

    echo %~2

echo The exit status is %_exitStatus%.


cmd /c exit %_exitStatus%


c:\>countargs.bat 1 2 3

[USAGE]: countargs.bat arg1 arg2

Bad human...bad args.

The exit status is 1.

c:\>countargs.bat 1 2

The exit status is 0.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

– Originally posted Saturday, October 31, 2009

It is late morning Halloween at the office.  Jim is sitting in his cube working on a test results report due by noon.  Jim hates his job and he doesn’t particularly care much for his manager either.  Flanders is his name. He’s an old timer at the company. Flanders stops by Jim’s cube to remind him of the mandatory group lunch.

[FLANDERS]:  Are you ready to go, Jim?

[JIM]:  Where?

[FLANDERS]:  Didn’t you get my e-mail?

[JIM]:  No.

[FLANDERS]:  The team is heading out to the Balanda Bowl for a Halloween group lunch.  Sorry, I’m not authorized to pay for the meal with company funds, but if you bring your work badge, the restaurant owners will give you 22% off the price.

[JIM]:  Why 22%?

[FLANDERS]:  That’s the year when Stalin came into power – 1922.  I heard that the restaurant owners are related to him somehow.

[JIM]:  Oh.

[FLANDERS]:  I think we should carpool.  I can squeeze twenty-nine people in my Miller-Meteor.  Do want to ride with us?

[JIM]:  No, don’t you remember? You told me that I have to finish the test results report by noon.

[FLANDERS]:  Oh yeah, I forgot.  I really appreciate you doing the report for me.  Even though the report isn’t due for another three weeks, I just want get a jump on it before the other managers do.  Makes us look good, you know.

[JIM]:  But there is no data to put in the report.  We haven’t even started testing yet.

[FLANDERS]:  That’s why I am the manager and you’re not, Jim.  The more paperwork we submit earlier the better we look later.  So get it done. Don’t worry…I will save a big bowl of that lip-smacking balanda for you later.

[JIM]:  Ok.

Balanda is a type of weak soup given to Russian prisoners in the Gulag as part of their daily food rations.  For whatever reason, Flanders loves the balanda soup at the Balanda Bowl.  He takes his team there every chance he gets.  Nobody complains about it though because he is the boss.   Jim goes back to work on his test results report.  Wendy, a coworker, stops by.

[WENDY]:  Aren’t you coming with us to the Balanda Bowl?  Flanders is driving the Miller-Meteor.

[JIM]:  I will catch up later.  I have to finish this test results report first.

[WENDY]:  What test results report?  We haven’t done any testing this week.

[JIM]:  I know, but Flanders still wants me to do a report.  I tried to explain it to him, but you know how he is.

[WENDY]:  That’s stupid.  What’s wrong with that guy?  He always has you doing something meaningless.

[JIM]:  I know.  I just can’t take it anymore.  I want to get out of here, but I don’t know where to go.  I’ve been working in this group for a few years now and it seems that all my technical skills are diminished to a point of no return.

[WENDY]:  Why?

[JIM]:  I just do spreadsheets for him…spreadsheets he should be doing.  I never engage in any real engineering challenges anymore, like the other test teams.  Curse that Flanders!  I blame him for this.

[WENDY]:  Well, hang in there.  Maybe one day you will be manager and then you can change things for the better around here.

[JIM]:  Thanks, but I don’t think so.  I once wanted to be a manager, but not anymore.  Most of the managers around here are so out of touch with reality.  It’s as if they are operating on a different frequency than the rest of us.

[WENDY]:  Oh, it’s not that bad.

[JIM]:  No, I’m serious. I never want to be like that.  I want to keep my sanity.  I want to keep my common sense. I want to keep my wits about me.  I want to keep my head.  Do you understand?  I don’t want to become a Flanders.  Kill me if I do.

[WENDY]:  Ok, I will kill you.  Ha, ha, ha.  Oh, Flanders is texting me.  I better go.  See you at the Balanda Bowl.  Don’t forget to bring your badge.

[JIM]:  Yeah, yeah, I know … 22% off.  Who is all going?

[WENDY]:  Well, there is me, Flanders, of course, Haywood, Dingbang, and Abdénago. I don’t think Idi is going to make it though.  He brought his own lunch. I think he is a cannibal.

[JIM]:  Hey, watch it.  That’s a macro-inequity.

[WENDY]:  Ah, lighten up … just a little Halloween humor.

[JIM]:  Alright, I should be there in about twenty minutes or so.  Drive safe.

[WENDY]:  See you later, Jim.

Jim finishes his test report.  He heads out to his car in the parking lot.  Jim takes a shortcut from Mansfield Avenue to US Highway 90.  The rain is pouring down like it always does this time of year in Oregon.  His windows are fogging up inside.  Up ahead he sees flashing police lights.  Something bad has just happened.  A large flatbed truck is turned towards the middle of the road.  As Jim approaches, he sees the top half of a car on the pavement.  He slowly passes the truck.  On the other side he sees what appears to be the bottom half of the car.  It looks as though the car drove right under the flatbed truck.  The car is just like Flanders’ Miller-Meteor.  Jim pulls over to take a closer look.  He recognizes the license plate.  Yes, it’s Flanders’ car. The plate reads ‘BugNinja1’. Jim gets out.  He sees a makeshift tarp covering top side of the bottom half of the car.  It’s clear that there are bodies under that tarp, probably too gruesome to look at.  He starts to walk over, but a cop stops him.

[COP]:  Hey, where do you think you are going?

[JIM]:  I know that car.  I think I know the people in it.

[COP]:  Alright, come with me.  We may need your help.

The cop escorts Jim to the crash scene leader, Sergeant Björk

[COP]:  Sarge, this guy says that he knows the people in that car.

[SGT BJÖRK]:  What’s your name?

[JIM]:  James Scrum.

[SGT BJÖRK]:  How do you know those people? Did you see them?

[JIM]:  No, I didn’t see them.  I just know that car.  I’m sure that’s my boss’ car.

[SGT BJÖRK]:  Well that makes sense because if you did see them then you didn’t really see them.

[JIM]:  What do you mean?

[SGT BJÖRK]:  I don’t how to say this to you, so I am just going to say it.  Every head in that vehicle is missing as a result of high velocity vehicular decapitation.  It seems that the car just drove straight under that flatbed truck.  Without mercy, their heads came clean off along with the top of the car.  I pity the car.  The Miller-Meteor is a classic collector’s item you know.

[JIM]:  That’s horrible.

[SGT BJÖRK]:  What makes matters worse for us is that Miller-Meteor was going over one hundred fifty miles an hour based upon the length of the skid marks.  I don’t know what the driver was thinking about going so fast in this kind of inclement weather.  It’s as if he was really impatient to reach his destination.

[JIM]:  I think I know why.  He was heading to the Balanda Bowl for a group lunch.  He loves that place.

[SGT BJÖRK]:  Who doesn’t love balanda? We were just heading over there too before we got this call.  Did you know that if you bring your work badge you get 22% off the price?

[JIM]:  Yes, I’m well aware of that fact.

[SGT BJÖRK]:  Mr. Scrum, we need your help to find and identify the heads.

[JIM]:  Heads?  You haven’t found them yet?

[SGT BJÖRK]:  The driver apparently was going so fast that the heads of everyone in the car flew willy-nilly, silly-billy all over the place.  Fortunately, the bodies are intact with their work badges still hanging from the stumps of the necks.  We need to find those heads to get positive IDs.  We compare the faces to the photographs on the badges.  Furthermore, as a best known method, if we do get a match, we simply place the head in the lap of the corresponding body.  It’s a simple-dimple, pimple-perfect plan.  So do you still want to help us with this terrible task?

[JIM]:  Yes, of course.  What do you need me to do?

[SGT BJÖRK]:  Two things.  I need you to help us search for the heads and I need to you to help keep track of our findings in a spreadsheet.

[JIM]:  Spreadsheet?

[SGT BJÖRK]:  Yes.  You do know how to use a spreadsheet?

[JIM]:  Yes.  More than you will ever know.

Jim, Sergeant Björk, and the other cops start their ghastly search for the heads. They begin to find them one-by-one as described by Jim later in the traffic report:

I, James Scrum, witnessed the following events:

Haywood’s head was found jammed under the Miller-Meteor’s car battery.  The battery was leaking acid on Haywood’s face making it hard to recognize him.  A tattoo of a chupacabra on his left earlobe and another tattoo of a blood-drained sheep on his right earlobe made the identification rather easy.

Abdénago’s head was found nearby at an elementary school playground.  It had landed right in the middle of the top plum pudding position of an English hopscotch course spray-painted blood red on the asphalt.  The kindergarten children were the only ones who saw the head as they played under the rain canopies.  Fortunately, the other classes were still inside eating their lunches in the cafeteria.  It was balanda soup day at the school.

Dingbang’s head was a lot harder to find.  It had popped up so high in the air that it impaled itself on one of those pointy, red light traffic cameras mounted on top of a nearby signal.  I thought that it was irony to see Dingbang’s head on that camera.  You see, Dingbang was a conspiracy nut.  He didn’t trust government.  In fact, he thought that it was too intrusive in all of our lives.  He believed that the government’s ultimate goal was to read our minds.  Seeing Dingbang’s head up there with that government traffic camera shoved straight into his cranium sort of made me think that Dingbang was prophetically right.  At least, the bureaucrats definitely got there close-up, money-shot of Dingbang’s grey matter.  Talk about violation of privacy.

A pit bull on the loose got a hold of Wendy’s head.  The cops tried to coax the dog to release it, but it wasn’t cooperating.  Once a pit bull locks it jaws down on something, it won’t let go.  Those killer canines are intentionally bred that way.  The dog started to run away when the cops opened fire on it.  Some bullets hit the dog, others hit Wendy’s head.  The dog finally succumbed to the bullets.  Even dead, the dog’s jaws were too strong to pry open by hand.  The cops pulled out the Hurst Jaws of Life.  They first cut the dog’s head off.  They then proceeded to cut away Wendy’s head from the dog’s once foaming mouth.  They got most of her head … at least enough for an open casket funeral just as long as Wendy donned a hijab.  Wendy truly loved animals, especially dogs.

Signed:  James Scrum

The only head left to be found is Flanders’.  It’s getting late now and traffic is really starting to backup on both sides of the accident scene.  It looks like they will have to come back tomorrow to finish the search.  Just then one of the cops makes another horrible discovery.

[COP]:  I found it!

He sees a head on a hubcap floating on the surface of a nearby pond.  He retrieves it with a long stick.  He goes back to the car to place the head on the only empty lap.

[SGT BJÖRK]:  Hey, aren’t you going to check the badge first?

[COP]:  Come on, Sarge.  It’s the only head left.

[SGT BJÖRK]:  Just do it.

The cop compares the face on the head with the picture on the badge.  His face, the cops’, turns ghostly pale.  He stumbles backwards dropping the head to the wet ground.

[SGT BJÖRK]:  What the hell is wrong with you?

[COP]:  Sarge, the photo doesn’t match the head.

[SGT BJÖRK]:  What are you talking about?

[COP]:  See, look!

Sergeant Björk and Jim both take a look.

[SGT BJÖRK]:  I don’t believe this.  The guy’s picture on the badge is a white dude, but the head belongs to a black man.  Which one is your boss?

[JIM]:  That’s my boss’ body, but that’s not his head.  I don’t know who this head belongs to.

[SGT BJÖRK]:  Is it truck driver’s head?  Did he have a passenger?  Where is the body?

[COP]:  No Sarge, the driver is alive and he was alone at the time of the accident.

[SGT BJÖRK]:  Very strange.  It’s getting too dark now.  Let’s all resume this tomorrow at first light.  We’ll get the dogs out to track down the rest of the missing body parts.

Everyone agrees.  Jim heads back to his car.  He opens the door.  Just then something catches his attention in the corner of his right eye.  He sees the backside of a head in the passenger seat.  He turns to shout at the police, but they’re already driving away.  Gently, Jim picks up the head and pulls it towards him.  He slowly turns it to view the face.  Even though he doesn’t know how the head got there, he knows that it must be Flanders’.  For a moment, though, he stops. He begins to think about all those bad things he said about Flanders.  Mostly, he recalls that last conversation he had with Wendy.  Those harsh words he spoke about Flanders and how he never wanted to become a person like him.  His heart begins to tinge with regret, fear, and sadness.

[JIM]:  Sometimes I wish I can reverse time do things all over again to make things right.  Flanders was not a bad guy, just not a good manager.

Jim resumes turning the head until he can view the face in full.  His heart nearly stops when he sees that the head he is holding is not the head of Flanders, but his very own head, James Scrum.

[JIM]:  If this is my head in my hands, then whose head is on my shoulders?

Jim looks in the rearview mirror.  He sees a clear reflection of Flanders’ face looking back at him.  The face is smirking at him in a kind of way that can only be described as a look of poetic justice.  Jim’s worse nightmare becomes a reality.  He did lose his head.  He did become Flanders after all.

[JIM]:  I guess it happens to all of us eventually.  We become the people we never want to be no matter how hard we try otherwise.  Perhaps its fate or perhaps, in my case, it’s cosmic karma in a comedic kind of way.  Whatever it is though, I can tell you one thing.  I really could go for a bowl of that lip-smacking balanda right now.  Maybe I can get at a 44% discount at the Balanda Bowl with my two heads …tee-hee-hee.

The camera zooms out and the scene fades to black.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Everyone’s a Tester

[QA LEAD]:  Hey, I got an idea.  Why don’t we create a website for our customers to file bugs?

[PONYTAILED TESTER]:  You mean if they find a problem with our product then they can go to this new website and report it?

[QA LEAD]:  Exactly!


[QA LEAD]:  Every morning we review and prioritize the customer bugs during our bug scrub meeting.

[PONYTAILED TESTER]:  So our customers are essentially doing our job.

[QA LEAD]:  Exactly!

[PONYTAILED TESTER]:  But why would they want to do this?  I mean wouldn’t they expect our product to be bug free?

[QA LEAD]:  Not if we release it as a beta version only.

[PONYTAILED TESTER]:  What do you mean?

[QA LEAD]:  Beta implies that the product is not ready for prime time, but good enough to test drive.

[PONYTAILED TESTER]:  Why would they want a beta version?

[QA LEAD]:  We contact all of our customers individually.  We tell each that we have a special relationship with them.  We tell each that we value their input so much that we are willing to let them actively take part in the early decision making process of our product.

[PONYTAILED TESTER]:  So we make them feel like company insiders, like part of the family?

[QA LEAD]:  Exactly!  Not only that…but our customers think that they are ripping us off because they are getting software for free when in all actuality they are working for us now as testers.  Tee-hee-hee.

[PONYTAILED TESTER]:  Who is going to create this website?

[QA LEAD]:  We are…the QA team.

[PONYTAILED TESTER]:  Are you sure?  We are understaffed as it is already.

[QA LEAD]:  No problem.  It should only take a few hours to get the website up and running.

Seven months go by before the QA team finally gets the website in production.  After a week, the QA team talks about its success.

[QA LEAD]:  I can’t believe how many customers are actually filing bugs.

[PONYTAILED TESTER]:  Yeah, I am a little concerned about the amount of bugs though.  There are many and most are unique.

[QA LEAD]:  It doesn’t matter.  The customers are using our website and that’s what counts.

Another few months pass and again the QA team talks about the now tremendous success of the website.

[PONYTAILED TESTER]:  I was going over the stats for our website.  Did you know that we are ranked in the top ten for the most visited website worldwide on the Internet?

[QA LEAD]:  That’s amazing.  Who would have thought that we were capable of such a thing?

[PONYTAILED TESTER]:  So when are we going to stop beta and go production?

[QA LEAD]:  What do you mean?

[PONYTAILED TESTER]:  When are we going to officially release the product for sale?

[QA LEAD]:  I don’t think that’s a good idea.  I mean look at the rate of bugs that are still coming in?  It’s too high.

[PONYTAILED TESTER]:  But we have to make money, right?

[QA LEAD]:  Yes, but going from beta to production is equivalent to living together to getting married.  It’s a commitment that we just can’t make right now.

[PONYTAILED TESTER]:  But we got to make money somehow.

The two pause to think for a while.

[QA LEAD]:  I got an idea.  Why don’t we put Google ads on our website?  When our beta customers click on an ad, we make a few pennies.

[PONYTAILED TESTER]:  I don’t know.  That sounds a bit crazy and perhaps a little unethical.

[QA LEAD]:  What do you mean?

[PONYTAILED TESTER]:  I mean aren’t we making money off of our mistakes.

[QA LEAD]:  Oh, shut up, insect!  We are providing a bug reporting service.  What’s wrong with making a little money to cover the costs for it?  Huh?  I’ll tell you.  Nothing!  Now go do it.

So the QA team sets up a Google AdSense account.  They plaster ads all over the website.

Another six months pass by and the company is ecstatic. Bottles of champagne and caviar are being passed around the conference room by the employees. The CEO makes an announcement.

[CEO]:  It’s official.  Our company has surpassed one billion dollars in revenue, most of which is pure profit from the Google ads the QA team posted on their customer bug reporting website.

[PONYTAILED TESTER]:  What about our product?  When is it going to be released?

[CEO]:  Shut up, insect! To be honest, there is no incentive to officially release our product at this time.  I decided to fire you and the rest of the engineering team instead to save money; however, I will retain the QA lead to maintain the website.

The lesson here is to learn HTML.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Who is That Kid in Reno’s Cube?

Source: soldiersandsailors.us

[JOHN]:  Who is that kid in Reno’s cube?

[SAMMY HAGAR]:  Oh, that’s Reno’s daughter.

[JOHN]:  Why is she here?

[SAMMY HAGAR]:  It’s take your kids to work day.  The company does it every year.

[JOHN]:  That’s cool, but where’s Reno?

[SAMMY HAGAR]:  He called in sick or something this morning.

[JOHN]:  Again?  What about his kid?  Who’s watching her?

Just then, Reno’s kid enters John’s cube.

[KID]:  Have you seen my dad?

[JOHN]:  He called in sick.

[KID]:  Huh.  Well, here is the C# program that he needed to get done for you.

[JOHN]:  Fantastic.  Did your daddy give this to you?

[KID]:  No.  I finished it myself this morning while waiting for him.

[JOHN]:  You programmed this all by yourself?

[KID]:  Yeah.

[SAMMY HAGAR]:  How old are you, kid?

[KID]:  Three.

[JOHN]:  Only three…are you serious?

[KID]:  Yeah.  I will be four next year.

[JOHN]:  That’s amazing.  I could never get your dad to finish that program for years.  You did it in less than an hour.  Thanks!!!

[KID]:  You’re welcome!!!

[JOHN]:  How about a job here, kid?  We can start you out as an intern or something.

[KID]:  Sure.

So the company hires Reno’s kid and within a few short months she becomes a top level technical manager.  Meanwhile, Reno finally shows up for work.  He stops by John’s cube.

[RENO]:  Yo, bro…have you seen my daughter?  I was supposed to meet her here for the take your kids to work day a few months ago, but I had to wait for the cable guy to fix my leaky refrigerator carburetor.

[JOHN]:  Wasn’t that during the kickoff of the World of Warcraft World Championship Marathon Tournament – which, coincidentally, just finished this morning?

RENO]:  Huh.  I wouldn’t know about that.

Just then Reno’s kid enters John’s cube.

[KID]:  Hi, Dad.

RENO]:  Hey, kiddo, nice to see y…

[KID]:  You’re fired, Asshat!

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

Random Site Quotes

“Quality starts with the person, not the product”
© 2009-2011 TestDeveloper.com
Powered by WordPress
Content provided by John L. Whiteman and his Slam Carrot Long Ears Gang