The End of an Era

Writing good content for a blog can be really hard.  I don't always succeed.  There is this incredible tension between "writing what I want to write" and "writing things that people want to read". 

For example:  Several weeks ago I found out Corey gets his home Internet service from a guy whose primary occupation is hog farming but runs a wireless ISP on the side.  I think that's hilarious. Since that day, I have been trying to find a way to work that little tidbit into a blog article.  What I really want is an essay that is around 1,200 words long and appears to be about .NET programming or AJAX but is really a thinly failed opportunity to make fun of Corey because he lives in an area which makes Champaign itself seem metropolitan.

Anyway, I haven't been able to figure that out, but since the rest of this article is mostly frivolous, starting off with an irrelevant remark about pigs and the Internet won't do any real damage.

I wonder if anybody makes a swine feeding trough that can be installed in a four-post rack?  Pigs are short, so the trough would go at the bottom, and there would be plenty of room above for a few servers and a Cisco router.

Goodbye to 3200 Farber Drive

It's a busy week here at SourceGear.  Tomorrow and Friday we will be relocating to our new offices.  We are all very excited about the move.

But we are saddened as well.  We've been here on Farber Drive for about five years.  Furthermore, before SourceGear some of us were employees of the previous tenant of this building.  I've spent most of my career here.  Heck, I've probably spent more waking hours here than in any other building on earth.

I'm tired of coming to work here every day, but it's a good building.  One of my early mentors taught me to "get lots of cheap space and use it wastefully".  This place has been an expression of that philosophy. 

At 115 North Neil Street, things will be very different.  The philosophy there is more like "get enough space and make it a really nice place to work".  The new place is great, but we won't have room for some of the things we do now.

Most notably, we won't have room for our HORSE games.

Office Recreation

I believe strongly in the importance of a little office recreation at a software company.  In part, this is because I believe in every developer having their own private office.  Coders need a place where they can concentrate, but people need breaks and teams need to interact.  So we try to ensure that there are reasons for people to get out of their office now and then.

The weekly HORSE game is one example of this.  Every Wednesday we all have lunch together as a team.  After lunch, many of us head outside to the hoop. 

But the new office is on the top floor of a downtown building.  There won't be any room for a basketball hoop.  Today's game was our last. 

This tradition has been a unique part of our company culture.  I feel I must take the role of historian.  The tale must be told.

H-O-R-S-E

Years ago when this started, the rules started out just like everybody else plays HORSE:

  • Take turns shooting in rotation. 
  • If the person before you did not make their shot, you have an "open shot", and you can choose any shot you like. 
  • If the person before you makes a shot, you have to make the same shot.  If you miss, you get a letter. 
  • After you get five letters, you're out of the game. 

Every once in a while we declare a "classic" game and play these rules.  But most of the time we play the "house rules" which have been gradually developed over the years.

Things get started with a game of Rock-Paper-Scissors to determine the ordering.  Most people take this exercise lightly, but if you know who the bad shooters are, winning the RPS game can lead to winning the HORSE game.  The key is to get yourself positioned directly behind someone who isn't a very good shooter.  Our technical term for such a person is a "buffer".  An even better scenario is to get yourself behind two bad shooters in a row.  Of course, since we are geeks, this scenario is called "double buffering".

In the early days when our house rules were just starting to emerge, the shot qualifiers were pretty simple.  For example, a player might call "no backboard" to specify that the shot must not merely go through the hoop, but must do so without touching the backboard at any time.  The slightly less hostile variant is "no backboard first", which indicates that the ball can touch the backboard but only if it touches the rim first.  Other very simple calls include "jump" (must jump while shooting), "no jump" (feet must not leave the ground), "must draw rim" (ball must touch the rim at some point).

House Rules

Over the years, the list of house rules steadily grew.  The following table illustrates some of the shots and qualifiers which have become popular in SourceGear HORSE games:

 

3 fingers

One handed shot with only 3 fingers touching the ball.

Hook

This is a considered a classic shot.  Form matters.  This must be a proper hook shot.

One knee

Shoot while kneeling on one knee

The "Lewinsky"

Shoot while on both knees.

(I apologize for the name.  Don't blame me.  I'm just the historian.)

Stork

One handed, standing on one foot. 

The particular shot shown in this photo is called "The Stork King", so named because of the unusually great distance between the shooter and the hoop.

Sidespin

Ball must spin sideways after it leaves your hand

No feet

Shoot with neither foot touching the ground

Siesta

Shoot while lying down

Backwards overhand

Shoot a regular shot with your back to the hoop

Bounce shot

Bounce the ball off the ground and into the hoop.  I'm not a good enough photographer to get a really good depiction of this shot. 

Heels on wheels

Shoot while standing just below the hoop with your heels touching the wheels on the base of the apparatus.

 

Cheers to SourceGear alumnus Robert Sievers, the originator of this shot.

Over the backboard

Whenever shooting from behind the backboard, if you want the shot to go over the top, then you should be explicit.  If not, someone athletic might just try to jump and shoot the ball under.

One pivot

Ball must return to you after you make the shot.  You can pivot one foot to reach for the ball.  Calling "no pivot" is the far more difficult variation on this theme.

The "Ian"

Stand at the free throw line, bounce the ball off the backboard and, while in mid-air, catch the ball and put it back into the hoop.  This shot was named after the person who first introduced it.  Most people have terrible skills when they first join SourceGear.  We were most annoyed when Ian Olsen turned out to be an exception to this rule. 

Scud

As you shoot, the person who follows you in rotation will attempt to throw another ball and hit yours in midair.

The "Workers Comp"

Shoot over the backboard while running and jumping over the rear part of the base.

 

Note that whenever sensible, shots may be called with combinations of these qualifiers.  For example, "3 finger sidespin jump stork" is exactly what you think it is.

Kicking and other Multiple Step Shots

Gradually, people started having trouble thinking up new shots.  And then, the game went to a whole new level when someone started introducing shots with multiple steps that involve kicking.

The basic kick shot starts with a "drop kick" (drop the ball and kick it after it bounces once).  A system of qualifiers is available for specifying what must happen after the kick:

 

Trapezoid

The shooter and the drop-kick must be contained entirely within the trapezoid (as defined by the yellow lines on the pavement).  On the kick, the ball must hit the wall of the building.  Shooter must recover after a specified number of bounces and shoot from within one pivot of the place where he recovers the ball.  So, if someone calls "Trapezoid and 3", that means 3 bounces after the kick hits the wall.

Parallelogram

Same concept, different starting point.

The "Bush"

After the drop kick, the ball must hit the bush without hitting the ground first.  Then, recover the ball anywhere and shoot from that spot.  During most of 2004, fairness compelled us to refer to this shot approximately half the time as the "Kerry".

Apparatus

The drop kick must hit the apparatus.  Recover the ball after one bounce and shoot.  If the ball goes through the hoop on the kick, you can deduct one letter from your score.  This "refund" is the primary incentive for people calling this shot.

Head shot

Instead of a drop kick, bounce the ball off your head into the wall, recover it and shoot.

Knee kick

Instead of a drop kick, kick the ball with your knee, off the wall.

Aussie rules

First drop kick off the wall.  After one bounce, hit the ball back to the wall with your fist.  Recover after one bounce and shoot.

Wasp shot

Any shot which includes the word "wasp" in the qualifier list involves hitting this red bell with the ball, thus angering the occupants of the wasp nest just below it.

 

Heating the Water Too Quickly

Place a frog in water.  If you heat the water too quickly, he will notice and jump out.  But if you increase the temperature gradually enough, you can boil him. 

In our defense, I would like to point out that the full spectrum of absurdity you see here didn't happen overnight.  It took years to develop all these ridiculous rules.  But I do remember one or two occasions when we took notice of what was happening to us.

Brody was shooting "Pittsburgh and 2" (start at the intersection of the three big cracks in the parking lot, drop kick against the wall, 2 bounces).  His kick hit the wall but got stuck in a bush.  At this point, the shot is still considered "in play", and he has not used either of his two bounces.  He is not allowed to touch the ball until after the 2 bounces have occurred, but he is allowed to touch the bush.  So, he proceeded to wrangle and whack the bush, trying to knock the ball out.  The episode seemed like it went on for several minutes, during which all of us had time to reflect on just how hot the water had become.

Other Rules worth Mentioning

For this to be a reasonably complete chronicle of the era of SourceGear HORSE, there are three other items which should be explained:

 

The roof

The unfortunate consequence of the introduction of kick shots was that the ball started landing on the roof.  It's a really big hassle to go up there and get it, so we had to amend the rules to discourage this behavior by way of a two-letter penalty.

Proving

When a player gets his fifth letter, the person who put him out of the game has an opportunity for a refund.  If he makes the same shot again, he can deduct one letter from his own total.  Going "negative" is not allowed.  However, if he shoots an air ball on this "prove shot", then the ejected person is back in the game.  For this reason, it is important to not choose a multi-step shot when giving someone their fifth letter.  If you screw up the initial kick/throw/bounce/whatever, then your shot is considered an air ball and the person comes "back from the dead".

The Belt

The winner of each day's game is honored with the privilege of hanging "The Belt" on his doorknob. 

 

As I mentioned, today's HORSE game was our last.  It is somewhat fitting that Dan Schreiber won The Belt, as he is probably the best pure shooter.

But the all-time leader in wins is Brody Finney, originator of many of the most ridiculous shots in our repertoire, and the person pictured in most of the photos here.

Looking Forward

History isn't all that valuable unless we learn from it.  So what have we learned from this story?  Did this whole thing get completely out of hand?  Perhaps.  I've always suspected the folks at neighboring businesses see us out their windows and think we're nuts.  Maybe we are.

But I suspect the truth is that we've learned nothing at all which might change our behavior in the future.  :-)  Even if the frog got boiled this time, we still believe in the principle.  Developers can't write code non-stop for eight hours every day.  Teams can't function if people never see each other.  Things like company lunch and a little office recreation go a long way. 

So, although our new space is smaller, we made room for the important stuff.  As I type this, our pool table is being moved and installed in the "Rec Room" at SourceGear's new headquarters.  :-)