<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Timothy Fisher's Blog</title>
	
	<link>http://blog.timothyfisher.com</link>
	<description />
	<pubDate>Mon, 06 Jul 2009 12:39:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/TimothyFishersBlog" type="application/rss+xml" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><item>
		<title>Generating boxscores with Ruby from live MLB data</title>
		<link>http://blog.timothyfisher.com/?p=30</link>
		<comments>http://blog.timothyfisher.com/?p=30#comments</comments>
		<pubDate>Mon, 06 Jul 2009 12:39:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[baseball]]></category>

		<category><![CDATA[mlb]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.timothyfisher.com/?p=30</guid>
		<description><![CDATA[As an avid baseball fan, I&#8217;ve always been interested in the statistics that surround baseball. More so than in any other sport, baseball is a game ruled by statistics. In this post, I will describe a program that I wrote in the Ruby language to generate box scores for any Major Leage Baseball(MLB) game by [...]]]></description>
			<content:encoded><![CDATA[<p>As an avid baseball fan, I&#8217;ve always been interested in the statistics that surround baseball. More so than in any other sport, baseball is a game ruled by statistics. In this post, I will describe a program that I wrote in the Ruby language to generate box scores for any Major Leage Baseball(MLB) game by using the live XML data provided by MLB. Ruby makes it easy to do using plain Ruby along with just a few libraries.</p>
<p><strong>Live MLB Data</strong><br />
The amount of raw data that MLB makes available is extensive. It includes all of the traditional boxscore statistics plus deep detail on every pitch thrown including its velocity, movement, and location. If you have ever used the <a href="http://mlb.mlb.com/mlb/gameday/index.jsp">Gameday</a> baseball game watcher application than you&#8217;ve indirectly been a consumer of this data. All of the data that powers the Gameday application is made available on an <a href="http://gd2.mlb.com/components/game/mlb/">MLB server</a> as raw XML files. Also, this is not just historical data. The data is real-time and updated with every pitch thrown during live games. You also have historical data available to you. The data goes back to the 1926 season.</p>
<p><strong>Building a boxscore template with ERb</strong><br />
For those not familiar with ERb, it is a templating engine that allows you to embed Ruby code inside of a document. The Ruby code can then be evaluated at run time and merged with the rest of the document to form a new document. The Rails framework uses ERb to generate HTML content from templates. For the boxscore generator, I used an ERb template to format the layout of the boxscore. This allowed me to keep the presentation seperate from the logic layers of the application. Most Ruby developers are familiar with the ERb templating engine from its usage in Ruby on Rails applications. However, not all developers are aware that ERb can be used very easily outside of a Rails application. ERb is in no way tightly coupled to the Rails framework. ERb is normally included with the standard Ruby distribution. You can use ERb templates by simply requiring &#8216;erb&#8217; in your Ruby application.</p>
<p>Here is an example of ERb taken from my boxscore template. This section is used to display the linescore of a game:</p>
<pre class="brush: html; light: true;">
&lt;div id=&quot;linescore&quot;&gt;
  &lt;label&gt;&lt;%= cities[0] %&gt;&lt;/label&gt;
  &lt;% (0..8).each do |num| %&gt;
    &lt;%= innings[num][0] %&gt;
  &lt;% end %&gt;
  &amp;nbsp;&lt;b&gt;&lt;%= tots[0][0] + '  ' + tots[0][1] + '  ' + tots[0][2] %&gt;&lt;/b&gt;
  &lt;br/&gt;
  &lt;label&gt;&lt;%= cities[1] %&gt;&lt;/label&gt;
  &lt;% (0..8).each do |num| %&gt;
    &lt;%= innings[num][1] %&gt;
  &lt;% end %&gt;
  &amp;nbsp;&lt;b&gt;&lt;%= tots[1][0] + '  ' + tots[1][1] + '  ' + tots[1][2] %&gt;&lt;/b&gt;
&lt;/div&gt;
</pre>
<p>At the bottom of this post you can find links to download the complete source code for this project including the full boxscore ERb template.</p>
<p><strong>Steps to generate a boxscore</strong><br />
Now that you know about the MLB data source, and ERb, I&#8217;ll describe the steps that are used to generate a boxscore in a Ruby application.</p>
<ul>
<li>Find the correct Gameday ID for the game you are interested in.</li>
<li>Retreive the correct boxscore.xml file from gd2.mlb.com</li>
<li>Parse the boxscore XML to pull out relevant data.</li>
<li>Merge the data into the boxscore template and save the result.</li>
</ul>
<p>The sections below describe each of these steps in more detail.</p>
<p><strong>Find the correct Gameday ID for the game you are interested in</strong></p>
<p>Each MLB game can be identified on the gameday server with a gameday ID.  The gameday ID is a string that contains the date of the game concatenated with team information.  A gameday ID has the following format:</p>
<pre class="brush: text; light: true;">2009_06_09_chnmlb_houmlb_1</pre>
<p>Finding the gameday ID for a game you are interested in is done by looking at the subdirectories contained in a directory that corresponds to the game date you are looking for. That directory will contain a subdirectory for each game played on that date. The game ID can be parsed from the name of that game&#8217;s subdirectory. For example, if you were interested in the Detroit Tigers game played on June 6, 2009, you would scan through the subdirectories contained in this directotry:</p>
<pre class="brush: text; light: true;">http://gd2.mlb.com/components/game/mlb/year_2009/month_06/day_21/</pre>
<p>Within that directory, you would find a subdirectory named:</p>
<pre class="brush: text; light: true;">gid_2009_06_21_milmlb_detmlb_1/</pre>
<p>and from that you can find the game id by stripping off the leading &#8216;gid_&#8217; from the directory name.</p>
<p><strong>Retreive the correct boxscore.xml file from gd2.mlb.com</strong><br />
After you have identified the correct gameday ID, you have to make an HTTP call to retrieve the boxscore.xml file from the gd2.mlb.com server. This is a fairly simple task in Ruby done using the Net::HTTP library.</p>
<p>I have defined a constant to represent the root path for the gameday server.</p>
<pre class="brush: ruby; light: true;">
GD2_MLB_BASE = &quot;http://gd2.mlb.com/components/game&quot;
</pre>
<p>Below is the ruby code used to retrieve the boxscore.xml file.</p>
<pre class="brush: ruby;">
def get_boxscore(year, month, day, gid)
  url = &quot;#{GD2_MLB_BASE}/mlb/year_&quot; + year +
             &quot;/month_&quot; + month + &quot;/day_&quot; + day +
             &quot;/gid_&quot;+gid+&quot;/boxscore.xml&quot;
  xml_data = Net::HTTP.get_response(URI.parse(url)).body
  return xml_data
end
</pre>
<p><strong>Parse the boxscore XML to pull out relevant data</strong><br />
Now that you have the boxscore.xml file, the next thing that you&#8217;ll want to do is parse this file to pull out data that you&#8217;ll want to use in your formatted boxscore.  There are several XML parsing libraries available for ruby.  I chose to use the <a href="http://www.germane-software.com/software/rexml/">REXML library</a> to do this parsing.  REXML is easy to work with and made the task relatively simple to code.  In the sample shown below, I am parsing the boxscore XML file to find all of the batter statistics and pushing those into an array of batters.  I will then use that array of batters from my boxscore ERb template to display the batters section of the boxscore.</p>
<pre class="brush: ruby;">
# Returns an array of hashes where each hash holds data
# for a batter whom appeared in the game.  Specify either
# home or away team batters.
def get_batters(home_or_away)
  doc = REXML::Document.new(@xml_data)
  batters = []
  doc.elements.each(
    &quot;boxscore/batting[@team_flag='#{home_or_away}']/batter&quot;)
    { |element|
      batter = {}
      batter['name'] = element.attributes['name']
      batter['pos'] = element.attributes['pos']
      batter['ab'] = element.attributes['ab']
      batter['r'] = element.attributes['r']
      batter['bb'] = element.attributes['bb']
      batter['sf'] = element.attributes['sf']
      batter['h'] = element.attributes['h']
      batter['e'] = element.attributes['e']
      batter['d'] = element.attributes['d']
      batter['t'] = element.attributes['t']
      batter['hbp'] = element.attributes['hbp']
      batter['so'] = element.attributes['so']
      batter['hr'] = element.attributes['hr']
      batter['rbi'] = element.attributes['rbi']
      batter['sb'] = element.attributes['sb']
      batter['avg'] = element.attributes['avg']
      batters.push batter
  }
  return batters
end
</pre>
<p><strong>Merge the data into the boxscore template and save the result</strong><br />
After you have parsed all of the relevant data out of the boxscore XML, you are ready to use that data to build the final boxscore presentation.  The code below is a method in the BoxScore class that I created.  This method converts the boxscore into a formatted HTML representation.  The first few lines call methods which parse the boxscore XML and setup the corect data variables.  After that I create a new ERb instance and load the boxscore.html.erb template into it.  This is the template that I created to display the boxscore.  The next line binds the template to the variables previously defined in this method and returns the result of the template bound with the variables.  This produces the resultant boxscore HTML file.</p>
<pre class="brush: ruby;">
  # Converts the boxscore into a formatted HTML representation.
  def to_html
    cities = get_cities
    innings = get_innings
    tots =  get_linescore_totals
    home_pitchers = get_pitchers('home')
    away_pitchers = get_pitchers('away')
    home_batters = get_batters('home')
    away_batters = get_batters('away')
    home_batters_text = get_batting_text('home')
    away_batters_text = get_batting_text('away')
    game_info = get_game_info

    gameday_info = parse_gameday_id('gid_' + gid)
    template = ERB.new File.new(&quot;boxscore.html.erb&quot;).read, nil, &quot;%&quot;
    return template.result(binding)
  end
</pre>
<p><strong>View the results and download the code</strong><br />
Here are links to download the complete sourcecode for my gameday API in ruby.  I&#8217;ve also provided a link to a boxscore that has been generated using this code.<br />
<a href="http://code.google.com/p/gamedayapi/">Full sourcecode</a><br />
<a href="http://gamedayapi.googlecode.com/svn/trunk/boxscore.html">Generated boxscore</a></p>
<p><strong>MLB copyright notice</strong><br />
If you decide to do something with my api or the MLB data, be sure that you understand the <a href="http://gdx.mlb.com/components/copyright.txt">limitations of using the data</a>.  MLB provides the data for experimental usage only.  You are not permitted to use it for a commercial application.  Below is a line taken from their copyright notice covering all of the data available from their gameday server:<br />
&#8220;Only individual, non-commercial, non-bulk use of the Materials is permitted and any other use of the Materials is prohibited without prior written authorization from MLBAM.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.timothyfisher.com/?feed=rss2&amp;p=30</wfw:commentRss>
		</item>
		<item>
		<title>Ruby on Rails Bible Now on Twitter</title>
		<link>http://blog.timothyfisher.com/?p=13</link>
		<comments>http://blog.timothyfisher.com/?p=13#comments</comments>
		<pubDate>Tue, 03 Mar 2009 17:14:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[buby]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[reading]]></category>

		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.timothyfisher.com/?p=13</guid>
		<description><![CDATA[For those who Twitter, the Ruby on Rails Bible book now has a Twitter feed of its own.
You can follow Ruby on Rails Bible for content updates and corrections, new content, discussion about the book and its contents, and Rails knowledge sharing.
You can follow Ruby on Rails Bible here: http://www.twitter.com/rorbible
]]></description>
			<content:encoded><![CDATA[<p>For those who Twitter, the Ruby on Rails Bible book now has a Twitter feed of its own.<br />
You can follow Ruby on Rails Bible for content updates and corrections, new content, discussion about the book and its contents, and Rails knowledge sharing.</p>
<p>You can follow Ruby on Rails Bible here: <a href="http://www.twitter.com/rorbible">http://www.twitter.com/rorbible</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.timothyfisher.com/?feed=rss2&amp;p=13</wfw:commentRss>
		</item>
		<item>
		<title>Collaboration and Knowledge Sharing through Microblogging</title>
		<link>http://blog.timothyfisher.com/?p=9</link>
		<comments>http://blog.timothyfisher.com/?p=9#comments</comments>
		<pubDate>Tue, 03 Mar 2009 17:10:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Collaboration]]></category>

		<category><![CDATA[Enterprise 2.0]]></category>

		<category><![CDATA[enterprise2.0]]></category>

		<category><![CDATA[knowledge sharing]]></category>

		<category><![CDATA[microblogging]]></category>

		<guid isPermaLink="false">http://www.blog.timothyfisher.com/?p=9</guid>
		<description><![CDATA[You have most likely heard of the microblogging site, Twitter.com. Twitter allows you to create short (160 char limit) frequent posts. Any Twitter user who chooses to “follow” you will see the messages you post. Twitter now has over a million users. In October, 2008, Yammer launched a Twitter-like microblogging site targeted at internal corporate [...]]]></description>
			<content:encoded><![CDATA[<p>You have most likely heard of the microblogging site, <a href="http://www.twitter.com/">Twitter.com</a>. Twitter allows you to create short (160 char limit) frequent posts. Any Twitter user who chooses to “follow” you will see the messages you post. Twitter now has over a million users. In October, 2008, <a href="http://www.yammer.com/">Yammer</a> launched a Twitter-like microblogging site targeted at internal corporate use. Yammer allows you to create a microblogging site that only employees from your company can access. There are more build-your-own microblogging sites springing up now as well. A new service that allows you to easily create group specific microblogging sites is <a href="http://www.shoutem.com/">shout’em</a>.<br />
For those who want to host their own microblogging application, there is an excellent open source option <a href="http://laconi.ca/">Laconica</a>.</p>
<p><strong>What is microblogging?</strong><br />
I like to describe these microblogging sites as a cross between instant messaging, email, and blogging. Microblogging has features of each of these collaboration tools. Like email, you can send messages to users and groups of users and reply to messages. Unlike with email, your microblogging messages or posts are typically one to many, as opposed to one-to-one email messaging. Although you can send targeted messages to specific users, most of your posts will be more like broadcasts to anyone who is following you. As with a blog, there is a persistent searchable history created of everything that is posted. You can view all of the messages posted, or you can choose to follow a subset of users and filter the posts you see to those from that set of users. This concept is similar to an IM buddy list. Microblogging posts usualy have more of a real-time context than emails, again making it similar to instant messaging. Microblog posts are also short like instant messages. Most systems in fact limit them to around 160 characters.</p>
<p><strong>Using microblogging in your organization</strong><br />
Most of these microblogging services implement a common core set of features that includes content tagging, direct messages, replies and the ability to search through all of the posts. These tools can be used effectively to capture information knowledge and information across your organization. By giving your organization a platform for communicating with each other in a very open manner, you will uncover new ideas, encourage more innovation, and discover alot of ways towards improvement. It is usually easier to get your company to participate in microblogging as it does not require the same time commitment and writing skills that might be required to maintain a regular blog.</p>
<p>You might use microblogging to reach out to find expertise within your company, or to advertise new opportunities within the company. You might want to use it for organizational announcements within your company or group, or to get feedback on your ideas. You can also use a microblogging tool within a project team to facilitate project communication, such as letting the team know what your working on, and to provide status updates related to the project. Unlike with email, or instant messaging, all of this history is persisted and searchable which builds of a knowledge base of tacit knowledge for your organization.</p>
<p>If your company wants to improve the way you collaborate and share knowledge I strongly encourage you to give microblogging a try.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.timothyfisher.com/?feed=rss2&amp;p=9</wfw:commentRss>
		</item>
		<item>
		<title>Impressions of the Amazon Kindle 2 from a Kindle 1 owner</title>
		<link>http://blog.timothyfisher.com/?p=3</link>
		<comments>http://blog.timothyfisher.com/?p=3#comments</comments>
		<pubDate>Tue, 03 Mar 2009 17:04:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[amazon]]></category>

		<category><![CDATA[kindle]]></category>

		<category><![CDATA[reading]]></category>

		<guid isPermaLink="false">http://www.blog.timothyfisher.com/?p=3</guid>
		<description><![CDATA[Is the Kindle 2 truly a next generation Kindle device? Unfortunately, I&#8217;d say the Kindle 2 is far from being a next generation Kindle. After reviewing all of the new features and its redesign, I would find it very hard for any existing Kindle 1 owner to justify paying another $359 to purchase the new [...]]]></description>
			<content:encoded><![CDATA[<p>Is the Kindle 2 truly a next generation Kindle device? Unfortunately, I&#8217;d say the Kindle 2 is far from being a next generation Kindle. After reviewing all of the new features and its redesign, I would find it very hard for any existing Kindle 1 owner to justify paying another $359 to purchase the new Kindle 2. The cost of the Kindle 2 remains the same as the original Kindle at $359, with no discount announced for Kindle 1 owners. The features of the new Kindle are just not that exciting to a fan of the first Kindle. However, don&#8217;t get me wrong, I still love the Kindle, and for those who do not have any Kindle, I do highly recommend the Kindle 2. So in short my recommentation would be not to upgrade, but I would continue to recommend the Kindle as an excellent electronic gadget, especially for any avid reader or lover of books. I&#8217;ve had <a href="http://www.blog.timothyfisher.com/%22http://blog.timothyfisher.com/articles/2008/11/11/amazon-kindle-the-most-underrated-gadget-out/%22">my Kindle 1</a> for about 5 months now and I&#8217;d say without a doubt it was my best purchase of 2008.</p>
<p>Here is a summary of the new features of the Kindle 2 and how they compare with the Kindle 1:</p>
<ul>
<li>The Kindle 2 is <strong>thinner</strong>, coming in at just over 1/3 of an inch in thickness.</li>
<li>A bit <strong>lighter</strong>, Kindle 1 is 10.3 ounces, Kindle 2 is 10.2 ounces.</li>
<li><strong>Improved display</strong>, Kindle 2 features 16 shades of gray instead of the 4 supported by Kindle 1.</li>
<li><strong>Longer battery life</strong>, 25% longer battery life. It&#8217;s always nice to have a longer battery life, but battery life was something that was very good even with the Kindle 1. I would be surprised if there were any battery life complaints from the Kindle 1.</li>
<li>20% <strong>faster page turns</strong>. For me this isn&#8217;t too exciting. I never had a problem with the speed of Kindle 1 page turns. They&#8217;ve always been relatively quick.</li>
<li>New <strong>text-to-speech</strong> feature allows Kindle to read any book in a semi-robotic voice. Depending on the quality of the voice, this might be useful for listening to books while driving.</li>
<li><strong>Increased internal memory size</strong>. The internal memory size increases from 250M to 2GB. However this comes at the expense of the expandable SD memory that the Kindle 1 supported. You can no longer expand the memory or use SD cards with the Kindle 2.</li>
<li><strong>Bigger dictionary vocabulary</strong>. The Kindle 2 has a built-in 250,000 word dictionary. I&#8217;ve never really used the built-in dictionary, so this is another upgrade that I don&#8217;t find too exciting.</li>
<li><strong>Better navigation</strong> featuring a 5-way joystick and redesigned page turn buttons that are less prone to accidental hits. However, I have to say, although I&#8217;ve read the complaints about page turn button size and placement in quite a few places, I personally never had any problems with the buttons on the Kindle 1.</li>
<li><strong>WhisperSync</strong>, allows you to sync bookmarks from one Kindle to another Kindle.</li>
<li><strong>Built-in speakers</strong>. This is a good addition, allowing you to listen to the new text-to-speech feature, or MP3s that you upload without requiring headphones.</li>
</ul>
<p>One more thing that you do not get with the new Kindle 2 is the nice leather binder that was packaged with the Kindle 1. This was a nice case that you could leave the Kindle in while reading from it. It provided a nice, professional look to the Kindle and also protected it. I suppose now Amazon wants you to buy the binder as an accessory.</p>
<p>Overall, I was dissappointed with this new Kindle. I think that there are alot of things Amazon could have done to really make this a true next generation Kindle. Perhaps in a future post, I will expand on what I would have liked to see in a new Kindle.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.timothyfisher.com/?feed=rss2&amp;p=3</wfw:commentRss>
		</item>
		<item>
		<title>Ruby on Rails Bible Now Available</title>
		<link>http://blog.timothyfisher.com/?p=17</link>
		<comments>http://blog.timothyfisher.com/?p=17#comments</comments>
		<pubDate>Wed, 12 Nov 2008 20:45:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[reading]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.timothyfisher.com/?p=17</guid>
		<description><![CDATA[My 2nd book, Ruby on Rails Bible, was released on October 6th. It is now available through your local bookstores, and online at Amazon.com
and other online book sellers. Another Rails author, Noel Rappin , also contributed content to this book. Noel is the director of the rails practice at Pathfinder Associates.
There is a complete sample [...]]]></description>
			<content:encoded><![CDATA[<p>My 2nd book, <em>Ruby on Rails Bible</em>, was released on October 6th. It is now available through your local bookstores, and online at <a href="http://www.amazon.com/gp/product/0470258225?ie=UTF8&amp;tag=javaopensourc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0470258225">Amazon.com</a><img style="margin: 0px; border-style: none! important;" src="http://www.assoc-amazon.com/e/ir?t=javaopensourc-20&amp;l=as2&amp;o=1&amp;a=0470258225" border="0" alt="" width="1" height="1" /></p>
<p>and other online book sellers. Another Rails author, <a href="http://10printhello.blogspot.com/">Noel Rappin</a> , also contributed content to this book. Noel is the director of the rails practice at <a href="http://www.pathf.com/">Pathfinder Associates</a>.</p>
<p>There is a complete sample Rails applicaiton in the book that walks you through the construction of a web application for sharing a book catalog, similar to the Shelfari site that was recently acquired by Amazon. The Book Shelf application built in the book integrates with <a href="http://aws.amazon.com/">Amazon Web Services</a> to provide book details.</p>
<p>You can also visit the book’s website at <a href="http://www.rubyonrailsbible.com/">www.rubyonrailsbible.com</a>. On this site, there is a <a href="http://astore.amazon.com/javaopensourc-20">Ruby and Rails bookstore</a> where you can find this book as well as most other Ruby and Rails related books. It’s a convenient site to get a quick overview of the Ruby and Rails books that are available.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.timothyfisher.com/?feed=rss2&amp;p=17</wfw:commentRss>
		</item>
		<item>
		<title>Amazon Kindle, the Most Underrated Gadget Out!!!</title>
		<link>http://blog.timothyfisher.com/?p=19</link>
		<comments>http://blog.timothyfisher.com/?p=19#comments</comments>
		<pubDate>Tue, 11 Nov 2008 20:47:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Technology]]></category>

		<category><![CDATA[amazon]]></category>

		<category><![CDATA[kindle]]></category>

		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://blog.timothyfisher.com/?p=19</guid>
		<description><![CDATA[With all the hype that the iPhone and the new Google G1 phone are getting, I’d like to talk about a device that I think is probably the most underrated electronic gadget that is available today. This device is the Amazon Kindle .
I’ve had my Kindle for about 2 months now, and I have to [...]]]></description>
			<content:encoded><![CDATA[<p>With all the hype that the iPhone and the new Google G1 phone are getting, I’d like to talk about a device that I think is probably the most underrated electronic gadget that is available today. This device is the <a href="http://www.amazon.com/gp/product/B000FI73MA?ie=UTF8&amp;tag=javaopensourc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B000FI73MA">Amazon Kindle</a><img style="margin: 0px; border-style: none! important;" src="http://www.assoc-amazon.com/e/ir?t=javaopensourc-20&amp;l=as2&amp;o=1&amp;a=B000FI73MA" border="0" alt="" width="1" height="1" /> .<br />
I’ve had my Kindle for about 2 months now, and I have to say I absolutely love it. Like most people, I am someone who always preferred reading actual books and hardcopy over computer screens. However, reading on the Kindle is a completely different experience than reading a computer screen. What you see on a Kindle screen looks more like words on paper than words on a computer screen. There is no backlighting on the screen. The technology used is something called E-Ink. If you are someone who reads a lot of books, articles, papers, etc. you will love the Amazon Kindle.</p>
<p>The selection of books available through Amazon on the Kindle is at over 190,000 and growing weekly. You’ll save money on the books you read also. Most Kindle books are priced at $9.99. This includes new releases and best sellers. Compare that with the $25-$30 that you would typically spend for a new physical book. Unfortunately, most computer and technical books even in Kindle form do tend to cost more than the standard $9.99, but they are still discounted from the physical book price. However, the books available for the Kindle are only a small segment of what you can read on your Kindle. Other content that you can subscribe to through Amazon includes popular magazines, newspapers, and blogs.</p>
<p>I actually have more free content on my Kindle than content that I’ve paid for. You can find free books compatible with the Kindle at sites such as <a href="http://www.manybooks.net/">manybooks.net</a> and <a href="http://www.feedbooks.com/">feedbooks.com</a>. It is also very easy to transfer your own documents to the Kindle. Kindle accepts most common document type formats. The Kindle support for PDF is officially considered to be experimental; however, I’ve transferred many PDF documents to my Kindle and have never had any issues with their display. Documents can be transferred to the Kindle through a USB connection, or by emailing documents to an email address that every Kindle owner is given. Documents sent to that email address are sent to your Kindle.</p>
<p>So far I’ve talked about the e-reader features of the Kindle only. However, the Kindle has much more capability than only as an e-reader. What I think is a hugely overlooked feature of the Kindle and under-marketed by Amazon is the fact that with the Kindle you are given absolutely FREE high-speed wireless Internet access. Every Kindle has access to the WhisperNet network which is an EVDO cellular network that Amazon provides through the Sprint cellular network at no charge to Kindle owners. Compare this to the $50.00 monthly fee you normally pay for a wireless data plan on your cell phone. The Kindle has a browser built-in that allows you to read GMail, access Google, Wikipedia, and other websites. You also have access to the Kindle Store which allows you to search for, read reviews, and purchase Kindle books and have them sent to your Kindle in a few seconds. Here’s another great feature; You can get a free chapter sent to your Kindle of any Kindle book that is available. I find myself taking advantage of this feature quite often to sample books before I purchase them.</p>
<p>I’ve always been an avid reader, but since getting my Kindle I have probably doubled the amount of content that I read. If you’re an avid reader, I highly recommend that you check out the Amazon Kindle.</p>
<p>A good blog to check out that is dedicated to the Kindle is <a href="http://thebookofkindle.com/">The Book of Kindle</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.timothyfisher.com/?feed=rss2&amp;p=19</wfw:commentRss>
		</item>
		<item>
		<title>Gen Y, Social Media, and the Enterprise</title>
		<link>http://blog.timothyfisher.com/?p=21</link>
		<comments>http://blog.timothyfisher.com/?p=21#comments</comments>
		<pubDate>Tue, 03 Jun 2008 20:48:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Collaboration]]></category>

		<category><![CDATA[Enterprise 2.0]]></category>

		<category><![CDATA[Social Media]]></category>

		<category><![CDATA[knowledge sharing]]></category>

		<category><![CDATA[social]]></category>

		<guid isPermaLink="false">http://blog.timothyfisher.com/?p=21</guid>
		<description><![CDATA[Generation Y includes those in the age range 13 to 31. This is the largest generation ever, even surpassing the population of the Baby Boomers. In total their are about 80 million “GenYers”. This is a generation that has been brought up on technology. They have always had computers, cell phones, email, and instant messaging. [...]]]></description>
			<content:encoded><![CDATA[<p>Generation Y includes those in the age range 13 to 31. This is the largest generation ever, even surpassing the population of the Baby Boomers. In total their are about 80 million “GenYers”. This is a generation that has been brought up on technology. They have always had computers, cell phones, email, and instant messaging. They are now very familiar with Web 2.0 and social networking. This is also the next generation of employees that companies will be hiring over the next decade. This generation will come into your company with the expectation of Web 2.0 technologies, just as the previous generations expected email. Using social networks is as natural to GenYers as email is to GenXers.</p>
<p>GenYers have seen how Web 2.0 technology can be used extremely effectively in their social life and will expect nothing less in their professional life. They will wonder why a large company is not using a social network to enable and connect employees. They will wonder why their company is not using blogs to spread their message and respond to thier customers in a very transparent manner. Blogs and social networks allow GenYers to build networks of friends and associates. The good news is that these are all questions that should be asked because they have the power to transform your business, and if you are not asking those questions internally now, your company will soon be left behind in this new I.T. revolution. This new revolution is one that brings Web 2.0 technology and culture into the enterprise and it is often referred to as Enterprise 2.0.</p>
<p>Even as Enterprise 2.0 takes hold in many large corporations, there are still many other corporations that remain ignorant of this revolution. Some mistakenly think that Web 2.0 and Enterprise 2.0 is just about technology. They are the companies that are adverse to taking risks on new technology, so they quietly ignore the Web/Enterpise 2.0 revolution. The truth is that Web 2.0 and Enterprise 2.0 are not about technology. They are more about culture, social interaction, new ways of uniting your employee base, and new ways of effectively marketing your brand.<br />
Enterprise 2.0 brings with it a massive change in culture that many companies are not ready or able to deal with. Companies that rely on strict top-down hierarchical organizations have the most to fear from the GenYers and the Enterprise 2.0 revolution. Enterprise 2.0 expands the power of the masses in your company at the expense of the power of the senior management and executives. When individuals act together socially, whether it is for personal projects or business related projects, their power becomes much greater than what they could have achieved working as an individual. GenYers expect their thoughts and ideas to be listened to and acted upon if they are good ones. They are not willing to sit back passively and follow the direction of someone simply because they are higher up on the “corporate ladder.” Enterprise 2.0 technologies allow a company to harvest ideas and innovations throughout the company rather than from a select few that sit on the top floors of their headquarters. Authors Charlene Li and Josh Bernoff refer to this inversion of power and influence as the Groundswell in a new book titled <em>Groundswell: Winning in a World Transformed by Social Technologies</em>, published by Forrester Research.<br />
 </p>
<p>Enterprise 2.0 technologies allow a company to open up a bidirectional communication path between itself and its customers. Any single company is limited in terms of their internal resources and the amount of innovation and creativity that can be sourced from them. However, a company that can effectively use a much larger global community of social networkers can expand its abilty to innovate on a massive scale. If your company is not taking advantage of this ability to collaborate globally, your competitors are, and they will quickly surpass you with their ability to innovate.<br />
 </p>
<p>Social networking sites like Facebook, Myspace, and LinkedIn allow individuals to meet more people, expand their social networks, and get more and better information faster and easier. Used inside of a company, social networking communities can energize an employee base and build a massively linked platform for knowledge sharing and collaboration. This platform will be a vehicle to capture tacit knowledge in ways never before possible. IBM has an internal social network called Beehive that has over 30,000 employees on it. A social network like this used internally will not only help your company share knowledge but you will find developers collaborating on innovative uses of technology, sales people mining new leads and exploring new sales opportunities, and management with a tool to monitor the pulse of the company.</p>
<p>A social network can also be used very effectively to create buzz around your brand and to increase your brand visibility. The book <em>Groundwell</em> describes how a company can make use of Web 2.0 technologies to get great benefits in marketing, product development, and customer support. Enterprise 2.0 is also where you will need to turn to find the best and brightest employees amongst the GenYers. More people, especially the younger ones, are moving away from large job boards like Monster and Dice as sources of jobs and instead finding jobs through their online social networks. Are employees at your company blogging? Does your company have any presence in the Web 2.0 world? If the answer is no, your company very well may be left out of the employer pool considered by the best and the brightest employees.</p>
<p>Large I.T. companies including IBM, Dell, Salesforce.com and even retailer Best Buy are already using Web 2.0 technologies both internally and externally to communicate with their customers, enhance their brand message, enable broad collaboration, and leverage the power of the global community to speed up the process of innovation.</p>
<p>I recently finished reading two excellent books that I believe should be required reading for anyone in a leadership position in any company today. These books are <em>Wikinomics: How Mass Collaboration Changes Everything</em> and one the other one I’ve already mentioned, <em>Groundswell: Winning in a World Transformed by Social Technologies</em>. These books show how your company can thrive thorugh Enterprise 2.0 culture and technology.<br />
They are both filled with case studies of how existing companies are embracing Enterprise 2.0 as well.</p>
<p>Read more…<br />
<a href="http://www.businessweek.com/magazine/content/08_22/b4086044617865.htm">Beyond Blogs, Business Week, May 22, 2008</a><br />
<a href="http://www.cbsnews.com/stories/2007/11/08/60minutes/main3475200.shtml">The “Millennials” Are Coming, CBS News, May 23, 2008</a><br />
<a href="http://www.forrester.com/Groundswell">Groundswell</a><br />
<a href="http://www.wikinomics.com/">Wikinomics</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.timothyfisher.com/?feed=rss2&amp;p=21</wfw:commentRss>
		</item>
		<item>
		<title>Bringing Web 2.0 into the Enterprise</title>
		<link>http://blog.timothyfisher.com/?p=23</link>
		<comments>http://blog.timothyfisher.com/?p=23#comments</comments>
		<pubDate>Fri, 28 Mar 2008 20:50:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Collaboration]]></category>

		<category><![CDATA[Enterprise 2.0]]></category>

		<category><![CDATA[Social Media]]></category>

		<category><![CDATA[enterprise2.0]]></category>

		<category><![CDATA[knowledge sharing]]></category>

		<category><![CDATA[Web2.0]]></category>

		<guid isPermaLink="false">http://blog.timothyfisher.com/?p=23</guid>
		<description><![CDATA[Today, social networking, and user-generated content web sites are among the most popular sites on the Internet getting millions of hits every day. Sites like MySpace, Facebook, Flickr, and Google Apps allow users to share user-generated content and collaborate with each other like never before. Smart organizations, enterprises, and product vendors are now realizing the [...]]]></description>
			<content:encoded><![CDATA[<p>Today, social networking, and user-generated content web sites are among the most popular sites on the Internet getting millions of hits every day. Sites like <a href="http://www.myspace.com/">MySpace</a>, <a href="http://www.facebook.com/">Facebook</a>, <a href="http://www.flickr.com/">Flickr</a>, and <a href="http://www.google.com/a">Google Apps</a> allow users to share user-generated content and collaborate with each other like never before. Smart organizations, enterprises, and product vendors are now realizing the potential for Web 2.0 technologies inside the enterprise.</p>
<p>There are some fantastic web applications on the Internet that would provide tremendous value inside of an organization. I’ve spent the last several years working for large professional services organizations. These large service organizations have perhaps the most to gain from harnessing the concepts of Web 2.0 internally. Consider for example an internal Intranet version of an application like <a href="http://www.linkedin.com/">LinkedIn</a>, allowing employees to keep current resume and profile information online that can be easily updated by each employee. This would provide a huge value to professional service organizations whom are always looking to staff the next project or fill a clients staffing requirements.</p>
<p>For the developers of a large organization, think how useful an internal Code Snippets site would be. Public snippets sites such as <a href="http://snippets.dzone.com/">DZone Snippets</a>, allow contributors to share small snippets of code that solve commonly occurring problems. The value of such a repository is even greater inside of an organization where different teams often encounter similar problems. Essentially, a snippets site provides another outlet for code reuse.</p>
<p>In a development group, every project should be maintaining a wiki site. A wiki can be updated by every member of the team to include links to the latest documentation, schedules, and technical data related to the project.</p>
<p>Social bookmarking sites such as <a href="http://del.icio.us/">del.icio.us</a> also provide examples of a technology that could be very useful internally. If you are in a large development organization, every developer will usually have his or her favorites sites for researching and looking up technical information. A social bookmarking site would allow your organization to harness collectively those favorites and categorize them with a content tagging system. Content tagging has become the preferred way or organizing large amounts of information in the Web 2.0 world.</p>
<p>Even some of the fringe social sharing sites such as <a href="http://www.shelfari.com/">Shelfari</a> and <a href="http://www.librarything.com/">LibraryThing</a> implement concepts that would fit well inside an organization. These sites allow users to share information about their personal library of books. Users can contribute book reviews, book ratings, and comments about the books. Software developers are some of the largest purchasers and readers of technical books. Some organizations will even reimburse employees for technical book purchases. A social site allowing employees to share reviews and comments about technical books could be a very useful addition to an Intranet. These types of value-added applications that allow employees to actively contribute content to Intranets will encourage employees to view your Intranet and participate in sharing knowledge and information. This is much better than the centralized content controlled sites that most Intranets are today.</p>
<p>One of IBM’s newest products targeted at the enterprise is <a href="http://www-306.ibm.com/software/lotus/products/connections/">Lotus Connections</a>. This is a product that aims to bring Web 2.0 and social networking into the enterprise. The product includes blogging, social bookmarking, wikis, communities, user profiles, and social networking features. IBM is not alone in thinking about the value that these products have. Smaller vendors in this space include <a href="http://www.hivelive.com/">HiveLive</a>, <a href="http://www.socialtext.com/">SocialText</a>, and <a href="http://www.thoughtfarmer.com/">Thought Farmer</a>.</p>
<p>There are new and different types of Web 2.0 and social networking sites coming online nearly everyday. Every time I come across a new site, I always imagine how much that site could contribute to the collaboration and knowledge sharing environment and ultimately to the productivity of teams inside of a company. I believe that we are on the brink of seeing more and more Web 2.0 technologies entering the Enterprise. These applications can allow an enterprise to capture more of the ad-hoc and tacit knowledge that typically is not well managed in a large organization. If you are in a position of influence, you should start thinking now about how these technologies can make your own organization more productive. If you are interested in learning more about Web 2.0 in the enterprise, an excellent blog to follow is the <a href="http://blogs.zdnet.com/Hinchcliffe/">Enterprise 2.0 blog</a> from Dion Hinchliffe.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.timothyfisher.com/?feed=rss2&amp;p=23</wfw:commentRss>
		</item>
		<item>
		<title>Three Great Books for Learning and Mastering Ruby on Rails</title>
		<link>http://blog.timothyfisher.com/?p=25</link>
		<comments>http://blog.timothyfisher.com/?p=25#comments</comments>
		<pubDate>Sun, 09 Mar 2008 20:52:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Reviews]]></category>

		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[reading]]></category>

		<category><![CDATA[review]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.timothyfisher.com/?p=25</guid>
		<description><![CDATA[I tend to read a lot of technical books. My current passion is with the Ruby programming language and the Rails web application framework which is built on top of the Ruby language. I’m also a published technical author myself. The book that I am currently writing is the Ruby on Rails Bible which will [...]]]></description>
			<content:encoded><![CDATA[<p>I tend to read a lot of technical books. My current passion is with the <a href="http://www.ruby-lang.org/">Ruby programming language</a> and the <a href="http://www.rubyonrails.com/">Rails web application framework</a> which is built on top of the Ruby language. I’m also a published technical author myself. The book that I am currently writing is the <a href="http://www.amazon.com/Ruby-Rails-Bible-Timothy-Fisher/dp/0470258225/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1203308153&amp;sr=1-1">Ruby on Rails Bible</a> which will be published by <a href="http://www.wiley.com/">Wiley</a> this spring. However, since that is a few months away still, I thought I’d share some reviews of some current Rails books that I find to be excellent learning and reference resources. The three books that are reviewed here are:</p>
<p> </p>
<ul>
<li><a href="http://www.amazon.com/gp/product/0321480791?ie=UTF8&amp;tag=javaopensourc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0321480791">RailsSpace</a></li>
<li><a href="http://www.amazon.com/gp/product/0321445619?ie=UTF8&amp;tag=javaopensourc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0321445619">The Rails Way</a></li>
<li><a href="http://www.amazon.com/gp/product/1590597818?ie=UTF8&amp;tag=javaopensourc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590597818">Practical Rails Projects</a></li>
</ul>
<p> </p>
<p>Two of the books RailsSpaces, and The Rails Way, are in the <a href="http://www.informit.com/promotions/promotion.aspx?promo=135393">Professional Ruby series.</a> <a href="http://www.obiefernandez.com/">Obie Fernandez</a>, author of The Rails Way is the lead editor for that series.</p>
<p> </p>
<div style="clear: both; float: left; margin: 20px;">
<div style="font-weight: bold; margin-bottom: 10px; margin-left: 150px; color: #333399;">Rails Space</div>
<div style="float: left; width: 550px;">
<div style="float: left; width: 150px;"><a href="http://www.amazon.com/gp/product/0321480791?ie=UTF8&amp;tag=javaopensourc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0321480791"><img src="http://blog.timothyfisher.com/files/railsspace.jpg" border="0" alt="" /></a><img style="margin: 0px; border-style: none! important;" src="http://www.assoc-amazon.com/e/ir?t=javaopensourc-20&amp;l=as2&amp;o=1&amp;a=0321480791" border="0" alt="" width="1" height="1" /></div>
<div style="float: left; width: 400px;">
<p>This is a book that walks through the complete implementation of a social networking web application developed with the Rails framework. A hosted version of the application developed throughout this book is available online at <a href="http://www.railsspace.com/">www.railsspace.com</a>. The authors of this book are Michael Hartl and Aurelius Prochazka.</p>
<p>This book is essentially an extended tutorial that is developed throughout the book. Some of the topics touched on while developing the Rails Space application are user authentication, image uploading, geo data, email integration, Ajax, and Restful development. As the application is written, tests are also written as each component of the application is finished. This provides excellent practical material on writing tests for your own Rails applications. You’ll find many of the techniques that the authors show you for creating tests and testing various pieces of the code to be very useful in your own projects.</p>
<p>Overall, I found this to be probably the best book available of its type, that is a book which serves as a tutorial focusing on the development of a large sample application. I highly recommend this book to any developer getting started with Rails. Even experienced Rails developers will enjoy this book.</p></div>
</div>
<p> </p>
<p> </p></div>
<p> </p>
<p> </p>
<div style="clear: both; float: left; margin: 20px;">
<div style="font-weight: bold; margin-bottom: 10px; margin-left: 150px; width: 300px; color: #333399;">The Rails Way</div>
<div style="float: left; width: 550px;">
<div style="float: left; width: 150px;"><a href="http://www.amazon.com/gp/product/0321445619?ie=UTF8&amp;tag=javaopensourc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0321445619"><img src="http://blog.timothyfisher.com/files/railsway.jpg" border="0" alt="" /></a><img style="margin: 0px; border-style: none! important;" src="http://www.assoc-amazon.com/e/ir?t=javaopensourc-20&amp;l=as2&amp;o=1&amp;a=0321445619" border="0" alt="" width="1" height="1" /></div>
<div style="float: left; width: 400px;">
<p>This book provides probably the most complete coverage of the Rails framework of any book currently out. This book is also the first book that I am aware to provide coverage of Rails 2.0. The author of this book is <a href="http://www.obiefernandez.com/">Obie Fernandez</a> whom is one of the most respected Rails developers in the industry. Obie recently started his own Rails consulting firm, <a href="http://www.hashrocket.com/">Hash Rocket</a>.</p>
<p>The book provides excellent in-depth coverage of a wide range of technologies related to Rails development including Rails core technologies like Controllers, ActiveRecord, ActionView, the Rails routing system, Helpers, REST, Ajax, Session Management, Authentication, ActionMailer, ActiveResource, Rails Plugins and Testing. Technologies that are complementary to Rails are also covered in-depth including: testing with RSpec, Capistrano, background processing, plugins, and production configurations. The chapter on production configurations provides an excellent overview of what is necessary to get a Rails application running in a production environment. It includes example configurations for Mongrel and Nginx for serving your application and Monit for monitoring your application.</p>
<p>Unlike some other Rails books, this book assumes a knowledge of Ruby and does not waste pages with a long Ruby introduction. In my opinion, that is a good thing. If you are interested in learning Ruby, this book is not the best choice for you.</p>
<p>The book’s afterword is titled <em>What is the Rails Way (To You)?</em> Be sure not to skip that if you read the book. This chapter provides a collection of thoughts from a bunch of Ruby and Rails developers, quite a few of whom you will have probably heard of if you keep up with the Rails community. I found it to be a very interesting and insightful chapter.</p>
<p>The Rails Way is also a nominee as Best Technical Book in the <a href="http://www.joltawards.com/">Jolt Awards competition</a>. Overall, if I could buy only one book about Rails, this would be the book.</div>
</div>
</div>
<p> </p>
<div style="clear: both; float: left; margin: 20px;">
<div style="font-weight: bold; margin-bottom: 10px; margin-left: 150px; width: 200px; color: #333399;">Practical Rails Projects</div>
<div style="float: left; width: 550px;">
<div style="float: left; width: 150px;"><a href="http://www.amazon.com/gp/product/1590597818?ie=UTF8&amp;tag=javaopensourc-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590597818"><img src="http://blog.timothyfisher.com/files/practicalrails.jpg" border="0" alt="" /></a><img style="margin: 0px; border-style: none! important;" src="http://www.assoc-amazon.com/e/ir?t=javaopensourc-20&amp;l=as2&amp;o=1&amp;a=1590597818" border="0" alt="" width="1" height="1" /></div>
<div style="float: left; width: 400px;">
<p>This book takes the reader through several practical examples of web applications that showcase the features of Rails. The book provides a very practical way of extending your Rails development knowledge once you’ve mastered the basics of Rails development. The author of this book is Eldon Alameda. The applications that you will build over the course of the book are:</p>
<ul>
<li>To-Do list manager</li>
<li>Exercise/Fitness tracking application</li>
<li>Blog</li>
<li>Gaming community site</li>
</ul>
<p>Like the other books I’ve included in this review, no pages are wasted on a Ruby introduction chapter. Instead this book assumes a knowledge of Ruby and jumps right into building each of the sample projects. Throughout the course of implementing these applications, you’ll use several popular Rails plugins as well as some features from popular JavaScript frameworks, YUI, and ExtJS. These JavaScript frameworks are excellent compliments to the Rails framework. The book is best read from start to finish, as in some cases each of the projects builds on functionality or features developed for an earlier project.</p>
<p>This book does include unit testing as well, though it does not emphasize it as much as the Rails Space book does. Some of the technologies that you’ll see in this book are: developing web services, Restful development, graphing, caching, and file upload. Some of the plugins that you’ll use throughout the course of the book include: acts_as_authenticated, calendar_helper, restful_authentication, css_graphs, ziya graphs, will_paginate, and attachment_fu.</p>
<p>Overall, I found this to be another excellent book that can be read from cover to cover. Both new and experienced developers will learn something from this book.</p></div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.timothyfisher.com/?feed=rss2&amp;p=25</wfw:commentRss>
		</item>
	</channel>
</rss>
