<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>sides of march &#187; Baseball</title>
	<atom:link href="http://www.sidesofmarch.com/index.php/archive/tag/baseball/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sidesofmarch.com</link>
	<description>Thoughts on life, liberty, and information technology</description>
	<lastBuildDate>Mon, 16 Jan 2012 02:43:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Heaven has one hell of a baseball team</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2009/01/13/heaven-has-one-hell-of-a-baseball-team/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2009/01/13/heaven-has-one-hell-of-a-baseball-team/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 03:41:51 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Baseball]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/?p=328</guid>
		<description><![CDATA[<p>It’s hard to believe that, not so long ago, blacks were forbidden from playing Major League Baseball. For a person like myself, born in 1970 and never experiencing the true meaning of segregation, it’s hard to comprehend. Alas, it’s true. One can be disappointed by this tarnished past, or be proud of how we, as a people, have overcome it.</p>
<p>Regardless, being excluded from “professional” baseball didn’t stop many from playing professional baseball, thanks to the <a href="http://www.negroleaguebaseball.com/">Negro Leagues</a>. Without such a league, we’d never have the opportunity to know some of the most talented athletes and colorful sports personalities to ever play the game.</p>
<p>The Negro Leagues brought to fame folks such as <a href="http://www.nlbpa.com/foster__andrew_-_rube.html">Andrew “Rube” Foster</a> (a great pitcher and the founder of the Negro League), <a href="http://www.satchelpaige.com/spcare2.html">Satchel Paige</a> (one of the best pitchers of all time), <a href="http://en.wikipedia.org/wiki/Josh_Gibson">Josh Gibson</a> (a power-hitting catcher)… and <a href="http://www.pitchblackbaseball.com/nlotm_prince_joe_henry.html">Prince Joe Henry</a>.</p>
<em>He wore shorts as part of his uniform, his hat bill turned around crooked <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2009/01/13/heaven-has-one-hell-of-a-baseball-team/">Heaven has one hell of a baseball team</a></span>]]></description>
			<content:encoded><![CDATA[<p>It’s hard to believe that, not so long ago, blacks were forbidden from playing Major League Baseball. For a person like myself, born in 1970 and never experiencing the true meaning of segregation, it’s hard to comprehend. Alas, it’s true. One can be disappointed by this tarnished past, or be proud of how we, as a people, have overcome it.</p>
<p>Regardless, being excluded from “professional” baseball didn’t stop many from playing professional baseball, thanks to the <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fwww.negroleaguebaseball.com%2F&sref=rss">Negro Leagues</a>. Without such a league, we’d never have the opportunity to know some of the most talented athletes and colorful sports personalities to ever play the game.</p>
<p>The Negro Leagues brought to fame folks such as <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fwww.nlbpa.com%2Ffoster__andrew_-_rube.html&sref=rss">Andrew “Rube” Foster</a> (a great pitcher and the founder of the Negro League), <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fwww.satchelpaige.com%2Fspcare2.html&sref=rss">Satchel Paige</a> (one of the best pitchers of all time), <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJosh_Gibson&sref=rss">Josh Gibson</a> (a power-hitting catcher)… and <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fwww.pitchblackbaseball.com%2Fnlotm_prince_joe_henry.html&sref=rss">Prince Joe Henry</a>.</p>
<div style="border-right: #777 1px solid; padding-right: 6px; border-top: #777 1px solid; padding-left: 6px; float: right; padding-bottom: 10px; margin: 4px 0px 8px 12px; border-left: #777 1px solid; width: 192px; padding-top: 6px; border-bottom: #777 1px solid; height: 73px; background-color: #eee"><em>He wore shorts as part of his uniform, his hat bill turned around crooked and was animated at the plate.<sup><a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fwww.freep.com%2Farticle%2F20090108%2FSPORTS12%2F90108066%2F1048%2FSPORTS%2FFormer%2BDetroit%2BNegro%2BLeagues%2Bplayer%2BJoe%2BHenry%2Bdies&sref=rss">ref</a></sup></em></div>
<p>Prince Joe has a special place for me and some friends, for a very special reason. A few years back, RedHawk (a player of my online baseball game, <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fwww.csfbl.com&sref=rss">CSFBL</a>) started a new league in our game: Negro League Tribute. After starting the league, RedHawk and TFM_Dale (another community member) got in touch with Negro League legend Prince Joe.<span id="more-328"></span></p>
<p>You’d think a guy in his 70’s wouldn’t care about two dozen baseball fans playing a simulated baseball game with a “tribute” to Negro League baseball… but that’s not Prince Joe Henry.</p>
<p>In the years since, both RedHawk and TFM_Dale spoke with Prince Joe often, and <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fforums.csfbl.com%2Fshowthread.php%3Ft%3D138815&sref=rss">got to know him and his family quite well</a>. Prince Joe was proud of his days as a Negro Leaguer (rightly so), and was proud that people not only admired what he did 50 years ago, but also admired the person he was today.</p>
<p>Having heard guys like RedHawk and TFM_Dale talk about Prince Joe, and having read <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fgatewayredbirds.com%2Fforum%2Fviewtopic.php%3Ft%3D6893&sref=rss">other interviews with him</a>, it’s pretty clear to me that he was a special person, both on and off the field.</p>
<p>Unfortunately for those of us who can read this, <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fwww.freep.com%2Farticle%2F20090108%2FSPORTS12%2F90108066%2F1048%2FSPORTS%2FFormer%2BDetroit%2BNegro%2BLeagues%2Bplayer%2BJoe%2BHenry%2Bdies&sref=rss">Prince Joe left us on January 2, 2009, at age 78</a>. Baseball fans and other kind-hearted fun-loving folks mourn his loss… and heaven gets one heck of an infielder.</p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=328&type=feed" alt="" /><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.sidesofmarch.com/index.php/archive/2009/01/13/heaven-has-one-hell-of-a-baseball-team/' addthis:title='Heaven has one hell of a baseball team ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2009/01/13/heaven-has-one-hell-of-a-baseball-team/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>All-Star Game 2008</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2008/07/22/all-star-game-2008/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2008/07/22/all-star-game-2008/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 20:53:00 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Baseball]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/?p=263</guid>
		<description><![CDATA[<p>OK, it was about a week ago, but it was an experience I&#8217;ll remember for the rest of my life.</p>
<p><a href="http://www.sidesofmarch.com/wp-content/uploads/all-star-game-2008.jpg"></a></p>
<a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2008/07/22/all-star-game-2008/">All-Star Game 2008</a></span>]]></description>
			<content:encoded><![CDATA[<p>OK, it was about a week ago, but it was an experience I&#8217;ll remember for the rest of my life.</p>
<p><a href="http://www.sidesofmarch.com/wp-content/uploads/all-star-game-2008.jpg"><img class="aligncenter size-full wp-image-264" title="MLB All-Star Game 2008" src="http://www.sidesofmarch.com/wp-content/uploads/all-star-game-2008.jpg" alt="" width="500" height="375" /></a></p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=263&type=feed" alt="" /><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.sidesofmarch.com/index.php/archive/2008/07/22/all-star-game-2008/' addthis:title='All-Star Game 2008 ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2008/07/22/all-star-game-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Operator overloading your domain model with interfaces and base classes</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2008/02/20/operator-overloading-your-domain-model-with-interfaces-and-base-classes/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2008/02/20/operator-overloading-your-domain-model-with-interfaces-and-base-classes/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 14:22:50 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Baseball]]></category>
		<category><![CDATA[C#/.Net]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/index.php/archive/2008/02/20/operator-overloading-your-domain-model-with-interfaces-and-base-classes/</guid>
		<description><![CDATA[<p>One of the challenges in rewriting <a href="http://www.csfbl.com">my online baseball game</a> is dealing with enormous amounts of data that needs to be stored as aggregates, and coming up with a domain model and data mapping pattern that works. In this blog post, I&#8217;ll outline how I addressed some of those issues.</p>

The Data Model
<p>Baseball is very much a statistics-oriented game. Consider fielding statistics: putouts (PO), assists (A), errors (E) and others. These stats need to be stored:</p>

Per game, for each player who played in the game, for each position he played (key fields: game, player, position) 
Per season, for each player, for each team he played for, for each position he played (key fields: season, player, team, position) 
Career, for each player, for each position he played (key fields: player, position) 

<p>On the database side, that results in three tables: GameFieldingStats, SeasonFieldingStats, and CareerFieldingStats. Each has the same set of fields to store the statistics (PO, A, and E); the differences are <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2008/02/20/operator-overloading-your-domain-model-with-interfaces-and-base-classes/">Operator overloading your domain model with interfaces and base classes</a></span>]]></description>
			<content:encoded><![CDATA[<p>One of the challenges in rewriting <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fwww.csfbl.com&sref=rss">my online baseball game</a> is dealing with enormous amounts of data that needs to be stored as aggregates, and coming up with a domain model and data mapping pattern that works. In this blog post, I&#8217;ll outline how I addressed some of those issues.</p>
<h3></h3>
<h3>The Data Model</h3>
<p>Baseball is very much a statistics-oriented game. Consider fielding statistics: putouts (PO), assists (A), errors (E) and others. These stats need to be stored:</p>
<ul>
<li>Per game, for each player who played in the game, for each position he played (key fields: game, player, position) </li>
<li>Per season, for each player, for each team he played for, for each position he played (key fields: season, player, team, position) </li>
<li>Career, for each player, for each position he played (key fields: player, position) </li>
</ul>
<p>On the database side, that results in three tables: <code>GameFieldingStats</code>, <code>SeasonFieldingStats</code>, and <code>CareerFieldingStats</code>. Each has the same set of fields to store the statistics (<code>PO</code>, <code>A</code>, and <code>E</code>); the differences are in the key fields for each, as outlined in the diagram below. (Note: For the remainder of this post, I&#8217;ll include only the first two of those tables to keep things short.)</p>
<p><span id="more-225"></span></p>
<p><a href="http://www.sidesofmarch.com/wp-content/uploads/image2.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="167" alt="image" src="http://www.sidesofmarch.com/wp-content/uploads/image_thumb2.png" width="296" border="0" /></a> </p>
<p>Writing the domain model for each of these tables is quite easy. The following snippets shows the class declaration for each, including <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fwww.castleproject.org%2FActiveRecord&sref=rss">Castle ActiveRecord</a> attributes. Note that these classes inherit from a base class, <code>EntityBase&lt;T&gt;</code>, which in this project is a requirement for all domain objects.</p>
<pre class="brush: c-sharp; ">

[ActiveRecord(&quot;bb_gamefieldingstats&quot;, Lazy = true)]
public class GameFieldingStats : EntityBase&lt;gamefieldingstats&gt;
{
    //...
}
[ActiveRecord(&quot;bb_seasonfieldingstats&quot;, Lazy = true)]
public class SeasonFieldingStats : EntityBase&lt;seasonfieldingstats&gt;
{
    //...
}
</pre>
<h3>Use cases, interfaces, base classes, and operator overloads (whew!)</h3>
<p>Now that I have these classes, I want to use them! After each baseball game is simulated, a number of <code>GameFieldingStats</code> records are created to reflect the statistics of that game. I want to add those stats to the player&#8217;s <code>SeasonFieldingStats</code>. I could access the similar properties in each class (PO, A, E) and add them together, but that&#8217;s not what I want. I want to do this:</p>
<pre class="brush: c-sharp; ">

GameBattingStats gbs = new GameBattingStats();
SeasonBattingStats sbs = new SeasonBattingStats();
// use cases follow
SeasonBattingStats combined = sbs + gbs;
SeasonBattingStats removed = sbs - gbs;
sbs += gbs; //!!
</pre>
<p>It&#8217;s easy enough to do that using operator overloads in C#. To make that work, I need all fielding stats classes to inherit from a base <code>FieldingStats</code> class that implements the operator overloading. I&#8217;m going to take it one step further and add an <code>IFieldingStats</code> interface. The class diagram below shows how this was done.</p>
<p><a href="http://www.sidesofmarch.com/wp-content/uploads/image3.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="175" alt="image" src="http://www.sidesofmarch.com/wp-content/uploads/image_thumb3.png" width="619" border="0" /></a> </p>
<p>Unfortunately, by doing this, I can no longer have <code>GameFieldingStats</code> and <code>SeasonFieldingStats</code> inherit from my domain object base class, <code>EntityBase&lt;T&gt;</code> (since C# doesn&#8217;t allow multiple inheritance of classes). To resolve that, I made <code>FieldingStats</code> into a generic class, and had it inherit from <code>EntityBase&lt;T&gt;</code>. The class diagram shows the adjusted model. </p>
<p><a href="http://www.sidesofmarch.com/wp-content/uploads/image4.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="175" alt="image" src="http://www.sidesofmarch.com/wp-content/uploads/image_thumb4.png" width="619" border="0" /></a> </p>
<p>The operator overloads are implemented on the generic <code>FieldingStats&lt;T&gt;</code> class, as follows:</p>
<pre class="brush: c-sharp; ">

public static T operator +(FieldingStats&lt;t&gt; fs1, IFieldingStats fs2)
{
    if (fs1 == null)
        throw new ArgumentNullException(&quot;fs1&quot;);
    if (fs2 == null)
        throw new ArgumentNullException(&quot;fs2&quot;);
    T fs3 = new T();
    fs3.A = fs1.A + fs2.A;
    fs3.E = fs1.E + fs2.E;
    fs3.PO = fs1.PO + fs2.PO;
    return fs3;
}
</pre>
<p>So far, so good. Everything compiles, and on paper it works. But how do we test it?</p>
<h3>Unit testing: does it work?</h3>
<p>To test this, I wrote the following unit tests.</p>
<pre class="brush: c-sharp; ">

[TestFixture]
public class FieldingStatsTests
{
	[Test]
	public void AddFieldingStatsTests()
	{
		GameFieldingStats fs1 = new GameFieldingStats();
		fs1.PO = 1;
		fs1.A = 2;
		fs1.E = 3;

		IFieldingStats fs2 = new GameFieldingStats();
		fs2.PO = 100;
		fs2.A = 200;
		fs2.E = 300;

		IFieldingStats fs3 = fs1 + fs2;
		Assert.AreEqual(fs3.PO, (fs1.PO + fs2.PO), &quot;Adding FieldingStats yields incorrect PO&quot;);
		Assert.AreEqual(fs3.A, (fs1.A + fs2.A), &quot;Adding FieldingStats yields incorrect A&quot;);
		Assert.AreEqual(fs3.E, (fs1.E + fs2.E), &quot;Adding FieldingStats yields incorrect E&quot;);
	}
}
</pre>
<p>All tests pass!</p>
<p>By combining the base classes, interfaces, generics, and operator overloads, I can now add and subtract domain objects from each other, and my code has become much more readable. It wasn&#8217;t obvious how to do it at first, but once the pieces fell together, it made perfect sense.</p>
<p></t></seasonfieldingstats></gamefieldingstats></p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=225&type=feed" alt="" /><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.sidesofmarch.com/index.php/archive/2008/02/20/operator-overloading-your-domain-model-with-interfaces-and-base-classes/' addthis:title='Operator overloading your domain model with interfaces and base classes ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2008/02/20/operator-overloading-your-domain-model-with-interfaces-and-base-classes/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Lost in (Google) translation</title>
		<link>http://www.sidesofmarch.com/index.php/archive/2007/05/14/lost-in-google-translation/</link>
		<comments>http://www.sidesofmarch.com/index.php/archive/2007/05/14/lost-in-google-translation/#comments</comments>
		<pubDate>Mon, 14 May 2007 19:50:26 +0000</pubDate>
		<dc:creator>brian</dc:creator>
				<category><![CDATA[Baseball]]></category>
		<category><![CDATA[Just for Fun]]></category>

		<guid isPermaLink="false">http://www.sidesofmarch.com/index.php/archive/2007/05/14/lost-in-google-translation/</guid>
		<description><![CDATA[<p>For the past few days, I&#8217;ve been working on importing raw play-by-play data for Japanese baseball. Once the import scripts and queries were written, I needed a way to audit the results. To do that, I needed a source for up-to-date statistics on Japanese baseball players.
Yahoo! provides a rather robust <a href="http://baseball.yahoo.co.jp/npb/">web site for the Nippon Professional Baseball</a> (NPB). Unfortunately, the web site is in Japanese, a language I don&#8217;t read or have support for on my computer, so the screen was, for the most part, filled with question marks, as seen below.</p>
<p style="text-align: center"><a href="http://baseball.yahoo.co.jp/npb/player?id=11739"></a>
<em> Yahoo! Sports NPB Baseball (before translation)</em></p>
<p>By using <a href="http://translate.google.com/">Google Translator</a>, I was able to transform this into the following:</p>
<p style="text-align: center"><a href="http://translate.google.com/translate?hl=en&#038;u=http%3A%2F%2Fbaseball.yahoo.co.jp%2Fnpb%2Fplayer%3Fid%3D11739"></a>
<em> Yahoo! Sports NPB Baseball (with Google translation)</em></p>
<p>I wasn&#8217;t expecting a perfect translation (it would be silly to do so), but the results were certainly entertaining.</p>

A &#8220;base on balls&#8221; is a &#8220;giving Annie Oakley&#8221;.
A &#8220;hit batter&#8221; is a &#8220;giving dead sphere&#8221; (the poor batter).
&#8220;On <span style="color:#777"> . . .<br /><br />&#8594; Read More: <a href="http://www.sidesofmarch.com/index.php/archive/2007/05/14/lost-in-google-translation/">Lost in (Google) translation</a></span>]]></description>
			<content:encoded><![CDATA[<p>For the past few days, I&#8217;ve been working on importing raw play-by-play data for Japanese baseball. Once the import scripts and queries were written, I needed a way to audit the results. To do that, I needed a source for up-to-date statistics on Japanese baseball players.<br />
Yahoo! provides a rather robust <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fbaseball.yahoo.co.jp%2Fnpb%2F&sref=rss">web site for the Nippon Professional Baseball</a> (NPB). Unfortunately, the web site is in Japanese, a language I don&#8217;t read or have support for on my computer, so the screen was, for the most part, filled with question marks, as seen below.</p>
<p style="text-align: center"><a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Fbaseball.yahoo.co.jp%2Fnpb%2Fplayer%3Fid%3D11739&sref=rss"><img width="578" height="148" border="0" title="Yahoo! Sports NPB Baseball (before translation)" alt="Yahoo! Sports NPB Baseball (before translation)" src="/wp-content/uploads/images/yahoo_npb.gif" /></a><br />
<em> Yahoo! Sports NPB Baseball (before translation)</em></p>
<p>By using <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Ftranslate.google.com%2F&sref=rss">Google Translator</a>, I was able to transform this into the following:</p>
<p style="text-align: center"><a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Ftranslate.google.com%2Ftranslate%3Fhl%3Den%26%23038%3Bu%3Dhttp%253A%252F%252Fbaseball.yahoo.co.jp%252Fnpb%252Fplayer%253Fid%253D11739&sref=rss"><img width="703" height="137" border="0" title="Yahoo! Sports NPB Baseball (with Google translation)" alt="Yahoo! Sports NPB Baseball (with Google translation)" src="/wp-content/uploads/images/yahoo_npb_translated.gif" /></a><br />
<em> Yahoo! Sports NPB Baseball (with Google translation)</em></p>
<p>I wasn&#8217;t expecting a perfect translation (it would be silly to do so), but the results were certainly entertaining.</p>
<ul>
<li>A &#8220;base on balls&#8221; is a &#8220;giving Annie Oakley&#8221;.</li>
<li>A &#8220;hit batter&#8221; is a &#8220;giving dead sphere&#8221; (the poor batter).</li>
<li>&#8220;On base percentage&#8221; is &#8220;coming out base ratio&#8221;.</li>
<li>&#8220;Slugging percentage&#8221; is &#8220;long batting average&#8221;.</li>
</ul>
<p>If you look at a <a href="http://redirectingat.com?id=17923X751173&xs=1&url=http%3A%2F%2Ftranslate.google.com%2Ftranslate%3Fhl%3Den%26%23038%3Bu%3Dhttp%253A%252F%252Fbaseball.yahoo.co.jp%252Fnpb%252Fplayer%253Fid%253D11289&sref=rss">translated hitter&#8217;s page</a>, you&#8217;ll see this unusual description of a player&#8217;s at-bat:</p>
<blockquote><p>Two racketeers, empty three swing, medium flying it is cheap, the left ? flying, two racketeers</p></blockquote>
<p>Who says there&#8217;s no racketeering in professional baseball today?</p>
<img src="http://www.sidesofmarch.com/?ak_action=api_record_view&id=66&type=feed" alt="" /><div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.sidesofmarch.com/index.php/archive/2007/05/14/lost-in-google-translation/' addthis:title='Lost in (Google) translation ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.sidesofmarch.com/index.php/archive/2007/05/14/lost-in-google-translation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

