November 8, 2009

Player Search:

Order Now


The Hardball Times Baseball Annual 2010 is now in development and will ship in mid November! This year's book will feature articles by THT's staff as well as Bill James, Tom Tango and Craig Wright. If you use this link to purchase the Annual, you will be in the first group to receive it and you'll be supporting THT.


And here's the full roster.



Or you can search by:

Sports Tickets

Gear up for baseball season with Chicago White Sox tickets and New York Yankees tickets. LA Angels tickets, Houston Astros tickets, and Atlanta Braves tickets are hot sellers! You can get Boston Red Sox tickets, San Diego Padres tickets or Chicago Cubs tickets for your favorite baseball fan. Coast to Coast Tickets has the best MLB tickets like Minnesota Twins tickets, LA Dodgers tickets, Milwaukee Brewers tickets, New York Met tickets and St. Louis Cardinals tickets.
Find premium Chicago Cubs tickets and other Chicago tickets at JustGreatTickets.com.
Chicago Cubs Tickets
Chicago Tickets
Championship Tickets



Creative Commons License
All content on this site (including text, graphs, and any other original works), unless otherwise noted, is licensed under a Creative Commons License.

Commentary Articles


Following are the one hundred most recent articles for the category Commentary .

11/05/2009: TUCK! sez: Fuzzy math

by Tuck

11/04/2009: Get rid of the DLF

by Joe Distelheim

10/30/2009: An impartial observer

by Craig Brown

10/29/2009: TUCK! sez: And, it was SO a foul ball. Yeah, that’s it.

by Tuck

10/22/2009: TUCK! sez: Separation anxiety

by Tuck

10/15/2009: TUCK! sez: Legendary inve$tment$?

by Tuck

10/08/2009: TUCK! sez: What, me worry?

by Tuck

10/08/2009: Why the Angels should face the Rockies

by Brandon Isleib

10/01/2009: Pick your favorite rookie

by Jeff Sackmann

10/01/2009: TUCK! sez: Wait ‘til next year. And the year after that. And the year after. And ...

by Tuck

09/29/2009: A very zealous game report: Florida at Cincinnati

by Carson Cistulli

09/24/2009: TUCK! sez: Temper, temper (Part 2)

by Tuck

09/18/2009: Oh, Hanley!

by Craig Brown

09/17/2009: TUCK! sez: It’s not “17 consecutive losing seasons,” it’s “consistency”

by Tuck

09/10/2009: TUCK! sez: Temper, temper

by Tuck

09/03/2009: They want Moore?

by Jeff Sackmann

09/03/2009: TUCK! sez: Media runs on Duncan

by Tuck

08/31/2009: THT Dartboard: Week Twenty-one

by Matthew Carruth

08/27/2009: TUCK sez: Goin’ all Garry Templeton

by Tuck

08/20/2009: Revisiting Bill Hall’s long-term deal

by Jeff Sackmann

08/20/2009: TUCK! sez: Play ball. Please!

by Tuck

08/17/2009: THT Dartboard: Week Nineteen

by Matthew Carruth

08/13/2009: TUCK! sez: Still another one for the kids in Holbrook

by Tuck

08/10/2009: THT Dartboard: Week Eighteen

by Matthew Carruth

08/06/2009: TUCK! sez: Roid Sawx

by Tuck

08/05/2009: Confessions of a rebuilding team’s fan

by Geoff Young

08/03/2009: THT Dartboard: Week Seventeen

by Matthew Carruth

07/30/2009: TUCK! sez: Guess again

by Tuck

07/27/2009: THT Dartboard: Week Sixteen

by Matthew Carruth

07/23/2009: TUCK! sez: Arrgh

by Tuck

07/21/2009: THT Dartboard: Week Fifteen

by Matthew Carruth

07/16/2009: TUCK! sez: Just say “thanks,” Manny!

by Tuck

07/14/2009: Great news:  I was wrong

by Steve Treder

07/13/2009: THT Dartboard: Week Fourteen

by Matthew Carruth

07/09/2009: TUCK! sez: Bring your own whine and brew

by Tuck

07/06/2009: THT Dartboard: Week Thirteen

by Matthew Carruth

07/02/2009: TUCK! sez: Tony’s true tweet

by Tuck

06/29/2009: THT Dartboard: Week Twelve

by Matthew Carruth

06/25/2009: Neglect and reversion

by Brandon Isleib

06/25/2009: Poisoning the well

by Colin Wyers

06/25/2009: TUCK! sez: Really didn’t need a crystal ball for that

by Tuck

06/22/2009: THT Dartboard: Week Eleven

by Matthew Carruth

06/18/2009: TUCK! sez: But, but, but…

by Tuck

06/15/2009: THT Dartboard: Week Ten

by Matthew Carruth

06/08/2009: THT Dartboard: Week Nine

by Matthew Carruth

06/04/2009: TUCK! sez: Just another manic meltdown

by Tuck

06/01/2009: THT Dartboard: Week Eight

by Matthew Carruth

05/28/2009: The odds to Omaha

by Jeff Sackmann

05/28/2009: TUCK! sez: Postively forgotten

by Tuck

05/27/2009: Critics, criticism, Cloninger

by Geoff Young

05/26/2009: THT Dartboard: Week Seven

by Matthew Carruth

05/22/2009: TUCK! sez: Let’s try that again

by Tuck

05/18/2009: THT Dartboard: Week Six

by Matthew Carruth

05/15/2009: Ryan Zimmerman has arrived

by Craig Brown

05/14/2009: TUCK! sez: One for Calcaterra

by Tuck

05/11/2009: THT Dartboard: Week Five

by Matthew Carruth

05/07/2009: TUCK! sez: Yet still more Pitchy

by Tuck

05/05/2009: THT Dartboard: Week Four

by Matthew Carruth

04/30/2009: TUCK! sez: Start spreadin’ the news…

by Tuck

04/27/2009: THT Dartboard: Week Three

by Matthew Carruth

04/23/2009: TUCK! sez: First in war, first in peace, last in the Nati_nal League

by Tuck

04/21/2009: THT Dartboard: Week Two

by Matthew Carruth

04/16/2009: TUCK! sez: Mariner moment

by Tuck

04/09/2009: TUCK! sez: (Still) D-railed

by Tuck

04/07/2009: Inside Gameday 2009

by Harry Pavlidis

04/03/2009: Five questions: Minnesota Twins

by Brandon Isleib

04/02/2009: TUCK! sez: no foolin’!

by Tuck

03/30/2009: Five questions:  San Francisco Giants

by Steve Treder

03/26/2009: Five questions: Milwaukee Brewers

by Jeff Sackmann

03/26/2009: TUCK! sez: $elig $timulus??

by Tuck

03/21/2009: TUCK! sez: Mu$t be $aving up for $howing off $oftballpark Village at the All-$tar Game

by Tuck

03/19/2009: Five questions: Toronto Blue Jays

by John Brattain

03/18/2009: A-Reck

by John Brattain

03/16/2009: Five Questions: Seattle Mariners

by Matthew Carruth

03/12/2009: Why I love the World Baseball Classic

by Jeff Sackmann

03/12/2009: TUCK! sez: But what precious timing

by Tuck

03/05/2009: TUCK! sez: Fascinating impersonating

by Tuck

02/26/2009: TUCK! sez: Hi Yo Silver

by Tuck

02/20/2009: The quest for respectability, 2009 edition

by Craig Brown

02/20/2009: Follow the…Buddy?

by John Brattain

02/19/2009: TUCK! sez: The other admission this week

by Tuck

02/18/2009: Is baseball special?

by Dave Studeman

02/12/2009: TUCK! sez: Toldjya so!!

by Tuck

02/11/2009: A slap at liberty…

by John Brattain

02/06/2009: THT EXCLUSIVE : Feds raid dog house on spinster’s property

by John Brattain

01/28/2009: The truth about Scott Boras

by Jack Marshall

01/28/2009: TUCK! sez: Cha-ching, 2K9

by Tuck

01/21/2009: The wrong kind of loyalty in baseball

by John Brattain

01/21/2009: TUCK! sez: Cardinal Little

by Tuck

01/14/2009: Daze of whine and posers

by John Brattain

01/14/2009: TUCK! sez: Really, who thinks this ends well?

by Tuck

01/09/2009: The Milton Bradley traveling road show

by Craig Brown

01/07/2009: TUCK! sez: Fake Fenway flambé

by Tuck

12/31/2008: The baseball ethicist…a reply

by John Brattain

12/31/2008: TUCK! sez: Giant Unit

by Tuck

12/24/2008: TUCK! sez: A rose is a rose. Really.

by Tuck

12/19/2008: This annotated week in baseball history: Dec. 14-Dec. 20, 1967

by Richard Barbieri

12/17/2008: TUCK! sez: Media blitzed

by Tuck

12/16/2008: The Virtual 1916-1925 Boston Red Sox (Part 2:  1920-1922)

by Steve Treder

12/10/2008: TUCK! sez: Smoking gun??

by Tuck

<< Click here to return to the category list.



September 18, 2009

Is Sportvision ruining baseball?

This morning the Baseball Think Factory newsblog published a piece by Diane Grassi in which she details her beefs with the use of PITCHf/x data to grade umpires and worries about the impact that forthcoming ball tracking technologies from Sportvision will have on the effectiveness of scouting.

To extent that the adoption of new technologies always results in the degradation of skills with older technologies, she probably has a point. The advent of the typewriter and the word processor have combined to deal a heavy blow to the art of penmanship amongst the masses. Better automated ball tracking will probably render some currently essential skills in the baseball industry obsolete or quaint over time. It does not follow, however, that the human element will depart the game of baseball along with it. Did the value of good writing go out the window with the quill?

In addition to my disagreement with her conclusions, I would also like to set the record straight on some errors of fact about the PITCHf/x, HITf/x, and FIELDf/x systems in her article, particular some of the erroneous facts she states in support of her argument that the use of PITCHf/x for umpire grading is fatally flawed. Her information on the Sportvision systems seems to come from an interview with Ryan Zander, director of business development at Sportvision, and perhaps an unnamed source at Major League Baseball.

She alleges that the umpires have been graded against an inconsistent system, newly introduced and not applied evenly across all stadiums.
During the 2008 MLB season, the PITCHf/x camera system was installed in every major league park – with certain exceptions made for the last year of Yankee and Shea stadiums in New York, as both the Yankees and Mets relocated to new stadiums in the 2009 season. The object of the PITCHf/x system was to gather data from the stadiums in order to composite requisite information for the camera system technology to go live in 2009.

Data was collected during the 2008 season by the PITCHf/x system that included tracking nearly all pitches thrown for the entire season for supposedly all 30 teams, totaling approximately 700,000. And that data is now being used as the base measure to evaluate MLB umpire accuracy for 2009. – Unfortunately, the umpiring data for the new Yankee Stadium and the Mets’ Citi Field was not included; unaddressed publicly by MLB.

In fact, the system was installed and brought live in all parks but two, Baltimore and Washington, during the 2007 season. This included installations in old Yankee Stadium and Shea Stadium in 2007. Baltimore and Washington were added to begin the 2008 season. PITCHf/x data for 2009 does include new Yankee Stadium and Citi Field. I can't see any reason why MLB would choose not to include that data in the umpire grading data; if Ms. Grassi has a source that says they don't, I'd love to know.

She then turns her argument against umpire PITCHf/x grading to allege that Sportvision and MLB don't understand the rule book strike zone definition.
PITCHf/x takes 25 pictures of the ball in flight between the pitching mound and home plate. Sportsvision® software then uses a ‘best fit’ algorithm in order to calculate compensation for different variables of the ball’s flight path, including the position of the ball when it crosses the plate.

But here is where the disparity arises, as a strike is not called at the front of the plate but where it crosses the plate as it makes its way into the catcher’s glove. The camera, however, starts reporting data 5 feet in front of home plate; reminiscent of the ill-timed traffic light camera that incorrectly tickets a driver for going through a red light while traveling through the tail end of a yellow caution light in an intersection.

Here again she is simply incorrect. It is true that MLBAM reports the pitch location at the front of the plate for its entertainment-focused Gameday application. However, the data used for grading umpires contains knowledge of the whole trajectory of the pitch, and Sportvision's umpire grading does take into account the 3-dimensional nature of the zone over home plate. In fact, the umpire grading system offers the umpires a measure of leniency, giving them a two-inch margin around the 3-D zone and considering factors such as the position of the catcher's glove in counting calls in the umpire's favor.

She also has some misunderstanding about the naming, nature, and capabilities of the two newest systems from Sportvision: HITf/x, which is the calculation of initial batted ball speed and direction from existing PITCHf/x camera footage, and the as-yet-unnamed but popularly-called FIELDf/x, which will use new cameras mounted to capture a view of the whole field in order to track ball and player movements throughout the whole game.
For after PITCHf/x, the upcoming HITf/x will be used for scouting in the not too distant future by MLB teams and it also will be a supposed tool that will measure every aspect of every player’s mechanics. Such technology will put sabermetrics to shame and will again rely upon technology which again, the naked eye cannot see on its own. “Every moving event within an actual game will be tracked,” according to Sportsvision’s General Manager of Baseball Products, Ryan Zander. It will track the pitcher, the ball and the fielder with individual stats.

HITf/x is already in existence, and the so-called FIELDf/x is coming, but neither measure a player's mechanics. FIELDf/x measures a player's location on the field over time.

It appears Ms. Grassi's not quite clear on what type of scouting these systems could be used for. For scouting of players already in the major leagues, yes, whether for advance scouting of upcoming opponents or possible trade targets or coaching and improvement of a team's own players, this system does have scouting applications. However, it has no use in the sense she uses scouting in her article, that is, finding future players like Derek Jeter on the high school ball fields around the country. Sportvision is not encroaching on the domain of the amateur talent scout.

She also seems concerned that this system uses technology that can see things the naked eye can't see on its own, as if its secret maneuverings can be used like a hacked Diebold e-voting machine to steal an election, arbitrarily anointing good players or umpires without regard to the vast and valuable store of baseball knowledge handed down over the decades. However, these systems in fact mostly track things that the naked eye can see, like where a pitch was located, or how hard a ball was hit, or how far a fielder had to run to catch a sinking line drive.

It's just that our naked eyes and unassisted brains are not very good at measuring and cataloging these things they see. Automated tracking systems from Sportvision allow us to remember much more accurately, find otherwise hidden patterns, and quickly query large data sets for the answers to multitudes of questions. All of this enriches the experience of baseball for many, and, I would hope, enriches the play of the game on the field as well.

Such technology does not put sabermetrics to shame; it gives sabermetricians new and powerful tools and integrates them with the flow of the game on the field in ways that were heretofore impossible and unimaginable. No longer will the accusations against sabermetricians of being a blogger in the basement or having a nose stuck in a spreadsheet hold much water. The sabermetrician in tune with these new data sources and committed to understanding the game of baseball with them will be more "on the field" than the writer in the press box. He will have the ability to gain an experience of the game as meaningful and helpful to the player as the scout sitting behind home plate. In fact, the enlightened sabermetrician will learn to converse with that scout as an equal, and the enlightened scout will enlist these new sources of knowledge to leverage his knowledge and experience of the game in new ways.

Greater collaboration between new and old, "beer and tacos" to quote Dayn Perry, will become the name of the game for successful franchises.
Posted by: Mike Fast


August 25, 2009

Can the Royals win in WAR?

A thought occurred to me as I was looking at the online box score for the Tigers-Angels game in progress tonight. The benches of the two teams looked pretty solid. I had just finished watching the Royals beat Cleveland (great game by Greinke!), and I wondered if the Royals' starting lineup was as good as the benches of the two division-leading teams playing each other tonight. The Royals lineup was a fairly normal one, but the Angels bench did include a couple starters getting a breather--Kendry Morales and Mike Napoli.

In order to compare the two lineups I'm going to use each player's 2009 wins above replacement as listed on Fangraphs. This is a fun exercise, so I'm not going to worry about things like playing time differences or true talent versus 2009 performance. Which lineup comes out on top?
Pos. Player                WAR
C    Gerald Laird          0.7
1B   Kendry Morales        3.0
2B   Maicer Izturis        2.2
SS   Adam Everett          0.1
3B   Ryan Raburn           0.4
LF   Marcus Thames         0.0
CF   Gary Matthews        -1.9
RF   Clete Thomas          1.6
DH   Mike Napoli           3.1

Pos. Player                WAR
C    Miguel Olivo          1.3
1B   Billy Butler          1.6
2B   Alberto Callaspo      0.9
SS   Yuniesky Betancourt  -1.9
3B   Mark Teahen           1.0
LF   David DeJesus         2.7
CF   Josh Anderson        -0.1
RF   Mitch Maier           0.2
DH   Mike Jacobs          -0.1
The Tigers-Angels bench lineup totals 9.2 wins above replacement in 2009. I put Ryan Raburn at third base and Maicer Izturis manning second. Both have played each position in their career, but Izturis has played more at second base this year, so I put him there and Raburn at third. This is actually a pretty decent lineup, except for Gary Matthews, Jr.

The Royals starting lineup totals 5.6 wins above replacement. Yuniesky Betancourt's a black hole at shortstop, continuing a fine Royals tradition at that position, and the only real bright spot is David DeJesus, a solid defender whose bat has revived after a poor April.

Wow. It wasn't even close. I didn't expect the Royals' lineup to win out when this first popped into my head, but I thought it might at least be a battle. No such luck.
Posted by: Mike Fast


August 08, 2009

Other factors 1, numbers behind numbers 0

Brian Bannister was knocked out of his start Friday night after allowing five runs to the Oakland Athletics in the fourth inning. What happened? Well, it certainly didn't help that Bannister threw only 20 of 36 pitches in that inning for strikes. He walked Tommy Everidge and Adam Kennedy, both of whom came around to score. But aside from that, did Bannister's "numbers behind numbers" fail him?

He allowed seven balls in play in the inning: five ground balls, one line drive, and one fly ball. So in that sense, he got what he wanted--70 percent ground balls. That's good, right? Did they hit the ball too hard on the ground? Did he just get unlucky? Or was he trumped by, as Dayton Moore puts it, the "other factors" of the defense behind him? Let's take a look.

Batted ball #1: a sharp ground ball single scoots between second baseman Alberto Callaspo and first baseman Billy Butler into right field. This one was hit pretty solidly.

Batted ball #2: a bouncing ground ball fielded by first baseman Billy Butler at the edge of the grass, toss to Bannister coming over for the out. Well-executed defense, but a typical ground ball out on the infield.

Batted ball #3: a line drive out straight to center fielder Josh Anderson. The ball was hit right on the nose but Bannister got a little lucky with this one.

Batted ball #4: a three-hop ground ball single past the shortstop side of second base and into center field. Why was Betancourt positioned so far into the hole that he couldn't even come close to this one?

image

Batted ball #5: a fly ball double off the wall in right field. This was a change-up down but right over the middle of the plate, and Cliff Pennington hit it hard and deep. Blame Bannister for this one.

Batted ball #6: a two-hop ground ball single cut off by second baseman Alberto Callaspo on the shortstop side of second base. Callaspo's throw was unable to beat a speedy Rajai Davis at first. Once again, Betancourt is playing deep in the hole and can't seem to range over to get this one, although it looked like he could have made the play on the ball and the throw to first on Davis if he'd called Callaspo off. On both this ball and the Ellis single it looked like Callaspo was running about twice as fast to the ball as Betancourt.

image

Batted ball #7: a two-hop ground ball single past shortstop Yuniesky Betancourt in the hole between short and third and into left field.

.image

Betancourt can't field balls hit up the middle on the shortstop side of second base, even if the second baseman can reach them. He can't field balls hit into the hole. I must be missing some of those "other factors" like defensive positioning and what not, although I'm not sure what positioning gives you problems with balls up the middle and in the hole.

I don't watch as many games as Dayton Moore's scouts or Willie Bloomquist's memory, though, so you should draw your own conclusions.
Posted by: Mike Fast


August 03, 2009

My favorite times on the baseball calendar

This was originally going to be a top-ten list. Then I thought I would be cute and have one item for each month of the year. Unfortunately, the only notable annual occurrence on my baseball calendar for May is "Royals go on a long losing streak and consign themselves to another wasted season", which is a more fitting item for this list's opposite.

January: Lead-up to Hall of Fame vote
I love learning about baseball history, and the discussion about the merits of various stars, newcomers, and last-chancers on the ballot is a great way to learn about baseball of yesteryear. I enjoy all the preliminary discussion much more than wondering afterwards why the BBWWAA didn't elect Tim Raines.

February: Pitchers and catchers report to spring training
This is a calendar favorite not so much for any particular event that happens. Instead, it's about the hot stove league talk simmering down and actual baseball getting underway along with the related discussions about who's gained or lost three mph on their fastball, who's added a new sinker or cutter, who's lost weight or added muscle or going to try stealing more bases this year, and who's going to win the second base job or the last spot in the rotation. Even if the games don't start or count yet, hope springs anew for the Royals and 28 other non-World-Champion teams.

March: Fantasy league auction day
I know I'm not as rotisserie-crazy as some folks, but I enjoy the one league in which I participate, and March is a time for evaluating and projecting players, choosing keepers, and drawing up a list for the auction. When auction day finally arrives, it's a day my wife graciously takes the kids and lets me spend eight hours glued to the computer (maybe one of these days I'll have an in-person league again) and the rest of the weekend mentally processing my roster and the chances for my team.

April: Opening Day
This one speaks for itself. "Play ball!"

June: Amateur draft
It's a grand celebration of over-hyping prospects, but everyone knows that here is where the vast majority of the stars of tomorrow find a major league organization to call home for a while. It's interesting to hear about up-and-coming prospects, even if many of them won't ever make The Show. It's also a revealing time for the business of baseball.

July: Annual PITCHf/x Summit
July baseball has a lot of goodies, but I chose this as a personal favorite. To me, it's a SABR convention on steroids--a highly specialized geekfest hosted by Sportivision, one of the coolest companies in America, and attended by some of the sharpest minds in baseball physics, engineering, and analysis.

August: SABR Post-convention recap day
We arrive at the occurrence that prompted this list. Every year I look expectantly for the online recaps of the convention. One of these days I am going to make it in person. I love baseball history and research. What better way to spend a weekend than with a bunch of other people who think the same way? And what better consolation prize for those of us who can't to read about it from those who do?

September: Pennant races
One of these years this is going to credibly involve a Royals team again, and it will quickly shoot to the top of the list. The last time that happened was 1987 (we're not going to talk about 1994, are we?). The Royals swept the Twins in a bittersweet season-ending series that didn't matter behind Bret Saberhagen, Charlie Leibrandt, and Mark Gubicza to finish two games behind the eventual World Series champions. The Royals had also been only two games back of the Twins and A's on August 29. They stayed in the race as late as September 17, when they split a four-game series with the California Angels (who were also part of a tough four-team division race) to stay within three games of first. However, a three-game sweep at the hands of Oakland and their new closer, Dennis Eckersley, quickly dashed the Royals' (and my) hopes. It's been a long 22 years...

October: World Series
Baseball on the grand stage for all the marbles. American League versus National League. Managers dueling. Outstanding pitching performances. Yep.

November: Hardball Times Annual arrives
Okay, maybe I'm a little biased. But the last two years as my childhood sabermetric interest has reawakened, this has come the closest to that moment when my brother or I would first find the new Bill James Baseball Abstract available in the sports section at Waldenbooks.

December: Winter meetings and Rule V draft
The Rule V draft is where gems like Joakim Soria and Johan Santana come from. The winter meetings themselves are lots of baseball-related sturm und drang at a time when everyone is talking about the BCS or some other non-baseball-related nonsense. Apparently they're also becoming quite a meet-and-greet. Who'da thunkit?

Honorable mention:
January: Next-season projections released for CHONE, Oliver, Marcel, PECOTA, etc.
Oh, yeah! You know you love it, too.

June: College World Series
Even better when my Oklahoma Sooners or the local Texas Longhorns are involved.

July: All-Star Game
This would be high on the list if it didn't involve a three-day cessation in real baseball games. That's a serious drag on an otherwise fun event.

July: Non-waiver trading deadline
See my previous comment on the winter meetings and substitute "twitter" for "meet-and-greet".

Posted by: Mike Fast


February 13, 2009

Fifth Outfielder: brief history of a fraud

Fifth Outfielder has an excellent post about the big picture behind the current steroids scandal. I recommend reading the entire article, but here's the capper:

Do you want to fix baseball? Stop reducing it to its stars; stop trying to copy the Hollywood model, which has now been copied in a variety of US industries and been exported globally. Start trying to build a model that protects and honors its players and its fans. Start by assuming everyone in the game is entitled to fair pay. Give the players incentives to co-operate with their teammates at all levels instead of incentives to compete with them. Give players incentive to pursue a career in baseball even if it might not work out. Develop the entire pool of talent instead of creating a self-sustaining system where whoever is at the top is by definition the best (and where, by definition, the players at the top carry the burden of legitimating baseball even as its legitimacy is most threatened.

Posted by: Dave Studeman


Click here for more THT Notes.