<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Steve Eichert - books</title>
    <link>http://iqueryable.com/</link>
    <description />
    <language>en-us</language>
    <copyright>Steve Eichert</copyright>
    <lastBuildDate>Thu, 27 Mar 2008 02:03:14 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>steve.eichert@gmail.com</managingEditor>
    <webMaster>steve.eichert@gmail.com</webMaster>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=89174ba8-ee05-4d9e-8ca6-0b713bbf72a4</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,89174ba8-ee05-4d9e-8ca6-0b713bbf72a4.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">A couple nights ago I was up reading blogs
and browsing the web.  I had made my way through all my unread items and was
contemplating hitting the sack when I decided to do one more "r" within google reader
to see if anything new was available.  Surprisingly one new item appeared. 
The one new item was from <a href="http://www.jpboodhoo.com/blog/">Jean-Paul Boodhoo</a>,
and was entitled "<a href="http://www.jpboodhoo.com/blog/TheDreamGiver.aspx">The Dream
Giver</a>".<br /><br />
After reading JP's post I figured I'd drop him a comment since I like reading, and
I like free stuff.  As I went to bed I figured I had a strong chance of being
one of the first three to contact him since I'm pretty sure I was reading his post
while his mouse button was still pressed on the "post" button.  As I thought
about it some more, I realized that I'd actually prefer NOT to win since I would have
picked up the book anyway, and I figured there might be some others who responded
who wouldn't purchase the book if they didn't win a copy from JP.  Not surprisingly
the next day I received a Amazon Gift Certificate from JP to cover the cost of the
book.<br /><br />
When I got home that night I mentioned the above to my wife, and told her that I felt
bad accepting the gift certificate from JP given the circumstances.  She said
I should accept his charity, so that's just what I did.<br /><br />
Over the last two days I made my way through <a href="http://www.amazon.com/gp/product/159052201X?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=159052201X">The
Dream Giver</a> by Bruce Wilkinson.  The book starts with a parable about an
Ordinary guy living in a Familiar place who realizes he has a Big Dream.  As
this Ordinary guy thinks about his Big Dream he realizes that he doesn't want to ignore
it any longer.  Thus begins his journey.  <br /><br />
As I read The Dream Giver I started to think a lot about my dreams.  As life
goes by we often lose sight of our dreams, and get caught up in the comforts of life. 
The Dream Giver has me thinking about my dreams again.  I found the story of
Ordinary following his dream, as well as the encouraging words and advice offered
by the author inspiring.  Life is full of obstacles, roadblocks, naysayers, and
will provide you with endless reasons not to follow your dreams.  The Dream Giver
offers hope, encouragement, and guidance.  Following a dream isn't easy. You
can't do it alone.  However, the journey can make you stronger, happier, and
more fulfilled.<br /><br />
Are you ready to begin your journey?<br /><br /><strike>Following in JP's footsteps....the first 3 people to email me with interest
in this book will receive an amazon gift certificate in the amount required to purchase
the book. 
<br /><br /><i>Note: you can email me by clicking on the little envelope in the right hand navigation
of my site.<br /></i></strike><i><br />
Sorry they are all gone!</i><strike><i><br /></i></strike><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=89174ba8-ee05-4d9e-8ca6-0b713bbf72a4" /></body>
      <title>The Dream Giver - are you following your dream?</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,89174ba8-ee05-4d9e-8ca6-0b713bbf72a4.aspx</guid>
      <link>http://iqueryable.com/2008/03/27/TheDreamGiverAreYouFollowingYourDream.aspx</link>
      <pubDate>Thu, 27 Mar 2008 02:03:14 GMT</pubDate>
      <description>A couple nights ago I was up reading blogs and browsing the web.&amp;nbsp; I had made my way through all my unread items and was contemplating hitting the sack when I decided to do one more "r" within google reader to see if anything new was available.&amp;nbsp; Surprisingly one new item appeared.&amp;nbsp; The one new item was from &lt;a href="http://www.jpboodhoo.com/blog/"&gt;Jean-Paul
Boodhoo&lt;/a&gt;, and was entitled "&lt;a href="http://www.jpboodhoo.com/blog/TheDreamGiver.aspx"&gt;The
Dream Giver&lt;/a&gt;".&lt;br&gt;
&lt;br&gt;
After reading JP's post I figured I'd drop him a comment since I like reading, and
I like free stuff.&amp;nbsp; As I went to bed I figured I had a strong chance of being
one of the first three to contact him since I'm pretty sure I was reading his post
while his mouse button was still pressed on the "post" button.&amp;nbsp; As I thought
about it some more, I realized that I'd actually prefer NOT to win since I would have
picked up the book anyway, and I figured there might be some others who responded
who wouldn't purchase the book if they didn't win a copy from JP.&amp;nbsp; Not surprisingly
the next day I received a Amazon Gift Certificate from JP to cover the cost of the
book.&lt;br&gt;
&lt;br&gt;
When I got home that night I mentioned the above to my wife, and told her that I felt
bad accepting the gift certificate from JP given the circumstances.&amp;nbsp; She said
I should accept his charity, so that's just what I did.&lt;br&gt;
&lt;br&gt;
Over the last two days I made my way through &lt;a href="http://www.amazon.com/gp/product/159052201X?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=159052201X"&gt;The
Dream Giver&lt;/a&gt; by Bruce Wilkinson.&amp;nbsp; The book starts with a parable about an
Ordinary guy living in a Familiar place who realizes he has a Big Dream.&amp;nbsp; As
this Ordinary guy thinks about his Big Dream he realizes that he doesn't want to ignore
it any longer.&amp;nbsp; Thus begins his journey. &amp;nbsp;&lt;br&gt;
&lt;br&gt;
As I read The Dream Giver I started to think a lot about my dreams.&amp;nbsp; As life
goes by we often lose sight of our dreams, and get caught up in the comforts of life.&amp;nbsp;
The Dream Giver has me thinking about my dreams again.&amp;nbsp; I found the story of
Ordinary following his dream, as well as the encouraging words and advice offered
by the author inspiring.&amp;nbsp; Life is full of obstacles, roadblocks, naysayers, and
will provide you with endless reasons not to follow your dreams.&amp;nbsp; The Dream Giver
offers hope, encouragement, and guidance.&amp;nbsp; Following a dream isn't easy. You
can't do it alone.&amp;nbsp; However, the journey can make you stronger, happier, and
more fulfilled.&lt;br&gt;
&lt;br&gt;
Are you ready to begin your journey?&lt;br&gt;
&lt;br&gt;
&lt;strike&gt;Following in JP's footsteps....the first 3 people to email me with interest
in this book will receive an amazon gift certificate in the amount required to purchase
the book. 
&lt;br&gt;
&lt;br&gt;
&lt;i&gt;Note: you can email me by clicking on the little envelope in the right hand navigation
of my site.&lt;br&gt;
&lt;/i&gt;&lt;/strike&gt;&lt;i&gt;
&lt;br&gt;
Sorry they are all gone!&lt;/i&gt;&lt;strike&gt;&lt;i&gt;
&lt;br&gt;
&lt;/i&gt;&lt;/strike&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=89174ba8-ee05-4d9e-8ca6-0b713bbf72a4" /&gt;</description>
      <category>books</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=9c76e2b7-cef8-400c-90db-01da44beaaec</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,9c76e2b7-cef8-400c-90db-01da44beaaec.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">Tonight I was...well....I actually don't
remember what I was doing, but somehow I ended up on <a href="http://www.22books.com/">22books.com</a>. 
For those of you unfamiliar with <a href="http://www.22books.com/">22books.com</a> here's
a little snippet from the homepage:<br /><blockquote><i>22books is dedicated to the creating, sharing, and viewing of book
lists. Start out by browsing some of the featured lists to the left and then open
a free account and start creating lists of your own.<br /><br /></i></blockquote>I created a couple books lists on 22books that contain many of my
favorite books on software development.  The lists have a lot of overlap but
I broke them up as follows:<br /><br /><br /><a href="http://www.22books.com/lists/show/334"><img src="http://ecx.images-amazon.com/images/I/018JK26EM8L.jpg" /></a><a href="http://www.22books.com/lists/show/334"><span class="boldText">All
time Favorite Software books</span></a><br /><br /><a href="http://www.22books.com/lists/show/335"><img src="http://ecx.images-amazon.com/images/I/019C0WSP3FL.jpg" /></a><a href="http://www.22books.com/lists/show/335"><span class="boldText">Agile
Books</span></a><br /><br /><a href="http://www.22books.com/lists/show/336"><img src="http://ecx.images-amazon.com/images/I/115gwiMIHpL.jpg" /></a><a href="http://www.22books.com/lists/show/336"><span class="boldText">.NET
Books</span></a><br /><br /><a href="http://www.22books.com/lists/show/337"><img src="http://ecx.images-amazon.com/images/I/01SK85BS8EL.jpg" /></a><a href="http://www.22books.com/lists/show/337"><span class="boldText">Architecture
/ Design</span></a><br /><br /><a href="http://www.22books.com/lists/show/338"><img src="http://ecx.images-amazon.com/images/I/11y5KNArwsL.jpg" /></a><a href="http://www.22books.com/"></a><a href="http://www.22books.com/lists/show/338"><span class="boldText">Ruby
and Rails</span></a><br />
I think <a href="http://www.22books.com">22books.com</a> has the potential to become
a really great place to share books lists.  I really enjoy reading and have relied
on many of the books in the above lists to help me progress as a software developer. 
I'll probably spend a little more time refining the above lists and adding books that
I didn't think of during my first pass.  
<br /><div class="rightBookDescription"></div><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=9c76e2b7-cef8-400c-90db-01da44beaaec" /></body>
      <title>Some of my favorite books on 22books.com</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,9c76e2b7-cef8-400c-90db-01da44beaaec.aspx</guid>
      <link>http://iqueryable.com/2008/03/20/SomeOfMyFavoriteBooksOn22bookscom.aspx</link>
      <pubDate>Thu, 20 Mar 2008 02:34:46 GMT</pubDate>
      <description>Tonight I was...well....I actually don't remember what I was doing, but somehow I ended up on &lt;a href="http://www.22books.com/"&gt;22books.com&lt;/a&gt;.&amp;nbsp;
For those of you unfamiliar with &lt;a href="http://www.22books.com/"&gt;22books.com&lt;/a&gt; here's
a little snippet from the homepage:&lt;br&gt;
&lt;blockquote&gt;&lt;i&gt;22books is dedicated to the creating, sharing, and viewing of book
lists. Start out by browsing some of the featured lists to the left and then open
a free account and start creating lists of your own.&lt;br&gt;
&lt;br&gt;
&lt;/i&gt;&lt;/blockquote&gt;I created a couple books lists on 22books that contain many of my
favorite books on software development.&amp;nbsp; The lists have a lot of overlap but
I broke them up as follows:&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.22books.com/lists/show/334"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/018JK26EM8L.jpg"&gt;&lt;/a&gt; &lt;a href="http://www.22books.com/lists/show/334"&gt;&lt;span class="boldText"&gt;All
time Favorite Software books&lt;/span&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.22books.com/lists/show/335"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/019C0WSP3FL.jpg"&gt;&lt;/a&gt; &lt;a href="http://www.22books.com/lists/show/335"&gt;&lt;span class="boldText"&gt;Agile
Books&lt;/span&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.22books.com/lists/show/336"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/115gwiMIHpL.jpg"&gt;&lt;/a&gt; &lt;a href="http://www.22books.com/lists/show/336"&gt;&lt;span class="boldText"&gt;.NET
Books&lt;/span&gt;&lt;/a&gt; 
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.22books.com/lists/show/337"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/01SK85BS8EL.jpg"&gt;&lt;/a&gt; &lt;a href="http://www.22books.com/lists/show/337"&gt;&lt;span class="boldText"&gt;Architecture
/ Design&lt;/span&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.22books.com/lists/show/338"&gt;&lt;img src="http://ecx.images-amazon.com/images/I/11y5KNArwsL.jpg"&gt;&lt;/a&gt; &lt;a href="http://www.22books.com/"&gt; &lt;/a&gt;&lt;a href="http://www.22books.com/lists/show/338"&gt;&lt;span class="boldText"&gt;Ruby
and Rails&lt;/span&gt;&lt;/a&gt; 
&lt;br&gt;
I think &lt;a href="http://www.22books.com"&gt;22books.com&lt;/a&gt; has the potential to become
a really great place to share books lists.&amp;nbsp; I really enjoy reading and have relied
on many of the books in the above lists to help me progress as a software developer.&amp;nbsp;
I'll probably spend a little more time refining the above lists and adding books that
I didn't think of during my first pass.&amp;nbsp; 
&lt;br&gt;
&lt;div class="rightBookDescription"&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=9c76e2b7-cef8-400c-90db-01da44beaaec" /&gt;</description>
      <category>books</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=e37b5b23-a04e-4727-b938-6637a9e5c048</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,e37b5b23-a04e-4727-b938-6637a9e5c048.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <iframe src="http://rcm.amazon.com/e/cm?t=steveeichert-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=1933988169&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000FF&amp;bc1=000000&amp;bg1=FFFFFF&amp;f=ifr" style="padding: 5px; width: 120px; height: 240px;" marginwidth="3" marginheight="3" align="right" frameborder="0" scrolling="no">
        </iframe>
After many, many, many long months of work, LINQ in Action is finally done!  <a href="http://weblogs.asp.net/fmarguerie/">Fabrice</a>, <a href="http://www.devauthority.com/blogs/jwooley/">Jim</a>,
and I are very proud of the final product and really hope you enjoy it.  We've
already heard a lot of positive feedback from those who purchased the Early Access
Preview from Manning, and are hopefull that LINQ in Action will be a valuable resource
for everyone who is trying to add LINQ to their development toolbox.  My favorite
quote thus far is from Ben Hayat on the <a href="http://www.manning-sandbox.com/forum.jspa?forumID=302&amp;start=0">LINQ
in Action forums</a> where he said <a href="http://www.manning-sandbox.com/thread.jspa?threadID=22751&amp;tstart=0">"I
had gotten other books on Linq, and this book is simply the <b>BEST</b>!"</a>. 
Now for those of you who don't know Ben, it should be very clear that he's extremely
smart and intelligent and you should believe everything he says, especially when it
comes to what the best LINQ book is! :D  
<br /><br />
Since the book is on the printers as we speak, it isn't yet available on Amazon for
immediate shipping, however, I've been told it should make it's way over there in
the next couple of weeks.  Given that, now is a great time to head over and <a href="http://www.amazon.com/gp/product/1933988169?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1933988169">pre-order
it</a>!  If you want the book sooner rather than later the best way to get it
is <a href="http://www.manning.com/affiliate/idevaffiliate.php?id=253_74">directly
via Manning's website</a>.<br /><br />
To keep updated on the status of the book, including errata, code samples, or to ask
Fabrice, Jim, or I any questions about our <a href="http://www.linq-book.com/">LINQ
book</a> you should drop by the <a href="http://www.linq-book.com/">LINQ in Action
website</a> or the <a href="http://www.manning-sandbox.com/forum.jspa?forumID=302&amp;start=0">author
forums on the Manning website</a>.<br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=e37b5b23-a04e-4727-b938-6637a9e5c048" /></body>
      <title>Coming to a store near you...LINQ in Action!</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,e37b5b23-a04e-4727-b938-6637a9e5c048.aspx</guid>
      <link>http://iqueryable.com/2008/01/21/ComingToAStoreNearYouLINQInAction.aspx</link>
      <pubDate>Mon, 21 Jan 2008 14:32:52 GMT</pubDate>
      <description>&lt;iframe src="http://rcm.amazon.com/e/cm?t=steveeichert-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=1933988169&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="padding: 5px; width: 120px; height: 240px;" marginwidth="3" marginheight="3" align="right" frameborder="0" scrolling="no"&gt;
&lt;/iframe&gt;
After many, many, many long months of work, LINQ in Action is finally done!&amp;nbsp; &lt;a href="http://weblogs.asp.net/fmarguerie/"&gt;Fabrice&lt;/a&gt;, &lt;a href="http://www.devauthority.com/blogs/jwooley/"&gt;Jim&lt;/a&gt;,
and I are very proud of the final product and really hope you enjoy it.&amp;nbsp; We've
already heard a lot of positive feedback from those who purchased the Early Access
Preview from Manning, and are hopefull that LINQ in Action will be a valuable resource
for everyone who is trying to add LINQ to their development toolbox.&amp;nbsp; My favorite
quote thus far is from Ben Hayat on the &lt;a href="http://www.manning-sandbox.com/forum.jspa?forumID=302&amp;amp;start=0"&gt;LINQ
in Action forums&lt;/a&gt; where he said &lt;a href="http://www.manning-sandbox.com/thread.jspa?threadID=22751&amp;amp;tstart=0"&gt;"I
had gotten other books on Linq, and this book is simply the &lt;b&gt;BEST&lt;/b&gt;!"&lt;/a&gt;.&amp;nbsp;
Now for those of you who don't know Ben, it should be very clear that he's extremely
smart and intelligent and you should believe everything he says, especially when it
comes to what the best LINQ book is! :D&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
Since the book is on the printers as we speak, it isn't yet available on Amazon for
immediate shipping, however, I've been told it should make it's way over there in
the next couple of weeks.&amp;nbsp; Given that, now is a great time to head over and &lt;a href="http://www.amazon.com/gp/product/1933988169?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1933988169"&gt;pre-order
it&lt;/a&gt;!&amp;nbsp; If you want the book sooner rather than later the best way to get it
is &lt;a href="http://www.manning.com/affiliate/idevaffiliate.php?id=253_74"&gt;directly
via Manning's website&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
To keep updated on the status of the book, including errata, code samples, or to ask
Fabrice, Jim, or I any questions about our &lt;a href="http://www.linq-book.com/"&gt;LINQ
book&lt;/a&gt; you should drop by the &lt;a href="http://www.linq-book.com/"&gt;LINQ in Action
website&lt;/a&gt; or the &lt;a href="http://www.manning-sandbox.com/forum.jspa?forumID=302&amp;amp;start=0"&gt;author
forums on the Manning website&lt;/a&gt;.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=e37b5b23-a04e-4727-b938-6637a9e5c048" /&gt;</description>
      <category>.net;books;linq;linq in action;linq to sql;linq to xml;writing</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=d2d87cba-d1c6-4d32-9869-32912b735eeb</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,d2d87cba-d1c6-4d32-9869-32912b735eeb.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">A while back I posted an example of how
to <a href="http://steve.emxsoftware.com/LINQ/ConvertingaCSVfiletoXMLusingLINQtoXMLandFunctionalConstruction">convert
a comma seperated file (CSV) to XML using LINQ to XML and functional construction</a>. 
We're in the final push to get LINQ in Action to production and as such I've been
spending a lot of time going back through the chapters cleaning things up, as well
as making sure both a C# and VB.NET example is provided for every code sample presented
in the book.  Tonight I was converting a code sample from Chapter 12 that shows
how to convert a CSV file to XML using LINQ to XML.  While the <a href="http://steve.emxsoftware.com/LINQ/ConvertingaCSVfiletoXMLusingLINQtoXMLandFunctionalConstruction">C#
code is very nice</a>, I like the VB version that is shown below even better.<br /><br />
Imports System.IO<br />
Imports System.Xml.Linq<br /><br />
Module FlatFileToXmlWithXmlLiterals<br />
  Sub Main()<br />
    Dim xml As XElement = &lt;books&gt;<br />
                         
&lt;%= From line In File.ReadAllLines("books.txt") _<br />
                         
Where Not line.StartsWith("#") _<br />
                         
Let items = line.Split(",") _<br />
                         
Select _<br />
                         
&lt;book&gt;<br />
                           
&lt;title&gt;&lt;%= items(1) %&gt;&lt;/title&gt;<br />
                           
&lt;authors&gt;<br />
                             
&lt;%= From authorFullName In items(2).Split(";") _<br />
                               
Let authorNameParts = authorFullName.Split(" ") _<br />
                               
Select &lt;author&gt;<br />
                                        
&lt;firstName&gt;&lt;%= authorNameParts(0) %&gt;&lt;/firstName&gt;<br />
                                        
&lt;lastName&gt;&lt;%= authorNameParts(1) %&gt;&lt;/lastName&gt;<br />
                                      
&lt;/author&gt; _<br />
                             
%&gt;<br />
                           
&lt;/authors&gt;<br />
                           
&lt;publisher&gt;&lt;%= items(3) %&gt;&lt;/publisher&gt;<br />
                           
&lt;publicationDate&gt;&lt;%= items(4) %&gt;&lt;/publicationDate&gt;<br />
                           
&lt;price&gt;&lt;%= items(5) %&gt;&lt;/price&gt;<br />
                           
&lt;isbn&gt;&lt;%= items(0) %&gt;&lt;/isbn&gt;<br />
                         
&lt;/book&gt; _<br />
                       
%&gt;<br />
                     
&lt;/books&gt;<br /><br />
    Console.WriteLine(xml)<br />
  End Sub<br />
End Module<br /><br />
As an aside, if you've been meaning to <a href="http://www.manning.com/affiliate/idevaffiliate.php?id=253_74">learn
about LINQ</a>, or if you've already begun your journey, now is a great time to checkout
the <a href="http://www.manning.com/affiliate/idevaffiliate.php?id=253_74">early access
edition of LINQ in Action</a>.  We have every chapter available for download,
and will very shortly be making the source code available.  We still have a little
ways to go, but we're getting close!<br /><br />
Download the sample project here: <a href="http://iqueryable.com/content/binary/Chapter12.FlatFileToXml.Vb.zip">Chapter12.FlatFileToXml.Vb.zip
(10.09 KB)</a><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=d2d87cba-d1c6-4d32-9869-32912b735eeb" /></body>
      <title>Converting a CSV file to XML using VB 9 XML Literals</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,d2d87cba-d1c6-4d32-9869-32912b735eeb.aspx</guid>
      <link>http://iqueryable.com/2007/08/31/ConvertingACSVFileToXMLUsingVB9XMLLiterals.aspx</link>
      <pubDate>Fri, 31 Aug 2007 01:26:49 GMT</pubDate>
      <description>A while back I posted an example of how to &lt;a href="http://steve.emxsoftware.com/LINQ/ConvertingaCSVfiletoXMLusingLINQtoXMLandFunctionalConstruction"&gt;convert
a comma seperated file (CSV) to XML using LINQ to XML and functional construction&lt;/a&gt;.&amp;nbsp;
We're in the final push to get LINQ in Action to production and as such I've been
spending a lot of time going back through the chapters cleaning things up, as well
as making sure both a C# and VB.NET example is provided for every code sample presented
in the book.&amp;nbsp; Tonight I was converting a code sample from Chapter 12 that shows
how to convert a CSV file to XML using LINQ to XML.&amp;nbsp; While the &lt;a href="http://steve.emxsoftware.com/LINQ/ConvertingaCSVfiletoXMLusingLINQtoXMLandFunctionalConstruction"&gt;C#
code is very nice&lt;/a&gt;, I like the VB version that is shown below even better.&lt;br&gt;
&lt;br&gt;
Imports System.IO&lt;br&gt;
Imports System.Xml.Linq&lt;br&gt;
&lt;br&gt;
Module FlatFileToXmlWithXmlLiterals&lt;br&gt;
&amp;nbsp; Sub Main()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim xml As XElement = &amp;lt;books&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;%= From line In File.ReadAllLines("books.txt") _&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Where Not line.StartsWith("#") _&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Let items = line.Split(",") _&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Select _&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;book&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;title&amp;gt;&amp;lt;%= items(1) %&amp;gt;&amp;lt;/title&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;authors&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;%= From authorFullName In items(2).Split(";") _&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Let authorNameParts = authorFullName.Split(" ") _&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Select &amp;lt;author&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;firstName&amp;gt;&amp;lt;%= authorNameParts(0) %&amp;gt;&amp;lt;/firstName&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;lastName&amp;gt;&amp;lt;%= authorNameParts(1) %&amp;gt;&amp;lt;/lastName&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/author&amp;gt; _&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
%&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/authors&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;publisher&amp;gt;&amp;lt;%= items(3) %&amp;gt;&amp;lt;/publisher&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;publicationDate&amp;gt;&amp;lt;%= items(4) %&amp;gt;&amp;lt;/publicationDate&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;price&amp;gt;&amp;lt;%= items(5) %&amp;gt;&amp;lt;/price&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;isbn&amp;gt;&amp;lt;%= items(0) %&amp;gt;&amp;lt;/isbn&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/book&amp;gt; _&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
%&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;lt;/books&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(xml)&lt;br&gt;
&amp;nbsp; End Sub&lt;br&gt;
End Module&lt;br&gt;
&lt;br&gt;
As an aside, if you've been meaning to &lt;a href="http://www.manning.com/affiliate/idevaffiliate.php?id=253_74"&gt;learn
about LINQ&lt;/a&gt;, or if you've already begun your journey, now is a great time to checkout
the &lt;a href="http://www.manning.com/affiliate/idevaffiliate.php?id=253_74"&gt;early access
edition of LINQ in Action&lt;/a&gt;.&amp;nbsp; We have every chapter available for download,
and will very shortly be making the source code available.&amp;nbsp; We still have a little
ways to go, but we're getting close!&lt;br&gt;
&lt;br&gt;
Download the sample project here: &lt;a href="http://iqueryable.com/content/binary/Chapter12.FlatFileToXml.Vb.zip"&gt;Chapter12.FlatFileToXml.Vb.zip
(10.09 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=d2d87cba-d1c6-4d32-9869-32912b735eeb" /&gt;</description>
      <category>books;linq;linq in action;linq to xml</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=91a9fd84-eac8-4088-9776-754506f4190b</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,91a9fd84-eac8-4088-9776-754506f4190b.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">As I've stated before, my programming language
for the year is Ruby.  I actually planned on learning Python or Ruby last year,
but things didn't pan out.  Over the last 6-8 months I've been doing a pretty
good job of getting myself on the way to learning Ruby.  As with any language
the best way to learn it is to write something using it.  As we all know Rails
has done a tremendous job of bringing people to Ruby.  I'm no different. 
Over the last 6 months I've worked on two Rails projects and in the last week put
one of them into production (well almost).  Since I'm half way through the year
I wanted to put some thoughts down here, mostly for myself, but also for others who
might be interested in a .NET dudes impressions of Ruby and Rails.<br /><br />
Before writing a book myself, I bought a good number of books on technical topics
that I found interesting.  After experiencing what goes into writing a book,
I find that I'm much quicker to pull the trigger on books that I think I might find
interesting.  The amount of work required to get a book out the door is mind
boggling to me.  As such I've purchased, and read, the following books to help
me learn Ruby.<br /><ul><li><a href="http://www.amazon.com/gp/product/0974514055?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0974514055">Programming
Ruby: The Pragmatic Programmers' Guide, Second Edition</a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=0974514055" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /></li><li><a href="http://www.amazon.com/gp/product/0976694069?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0976694069">Enterprise
Integration with Ruby</a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=0976694069" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /></li><li><a href="http://www.amazon.com/gp/product/0977616614?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0977616614">Everyday
Scripting with Ruby: For Teams, Testers, and You</a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=0977616614" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /><br /></li><li><a href="http://www.amazon.com/gp/product/0977616630?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0977616630">Agile
Web Development with Rails (Pragmatic Programmers)</a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=0977616630" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /></li><li><a href="http://www.amazon.com/gp/product/0977616606?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0977616606">Rails
Recipes (Pragmatic Programmers)</a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=0977616606" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /></li><li><a href="http://www.amazon.com/gp/product/0672328844?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0672328844">The
Ruby Way, Second Edition: Solutions and Techniques in Ruby Programming (2nd Edition)
(Addison-Wesley Professional Ruby Series)</a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=0672328844" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /> (only
skimmed so far)</li><li><a href="http://www.amazon.com/gp/product/0978739221?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0978739221">Advanced
Rails Recipes: 72 New Ways to Build Stunning Rails Apps</a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=0978739221" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /> (not
out yet)<br /></li><li><a href="http://www.amazon.com/gp/product/1590597877?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590597877">Beginning
Google Maps Applications with Rails and Ajax: From Novice to Professional</a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=1590597877" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /></li><li><a href="http://www.amazon.com/gp/product/097873923X?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=097873923X">TextMate:
Power Editing for the Mac (Pragmatic Programmers)</a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=097873923X" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /></li></ul>
As you can see not all the books are strictly Ruby related.  Several are focused
on Rails, one is focused on working with Google Maps with Rails, and one is to help
me learn to work in my new favorite editor, Textmate.<br /><br />
In addition to reading the above, I've been checking out the source code for a couple
of the more popular open source Rails applications as well as some of the more popular
plugins.  While all of that has been very valuable, nothing is ever as good as
actually writing code.  As such I've done several projects that I would have
traditionally done in .NET in Rails instead.<br /><br />
The first application that I got started with (and which I'm still working on) is
an application that helps geographically visualize key individuals within a social
network.  The data for the individuals in the social network, as well as the
data for the connections between individuals, is stored in flat files so I got my
first chance to play around with the CSV parsing capabilities of Ruby.  I found
the <a href="http://fastercsv.rubyforge.org/">FasterCSV</a> library very useful, and
got off to a pretty good start with my first attempt at parsing the CSV files and
getting them into my MySql database using my ActiveRecord model objects.  After
the file parsing was done, I got a chance to build several administrative pages for
the site using Rails, as well as the chance to experiment with some very useful plugins
such as:<br /><ul><li><a href="http://fastercsv.rubyforge.org/">FasterCSV</a><br /></li><li><a href="http://geokit.rubyforge.org/">Geokit</a></li><li><a href="http://nubyonrails.com/pages/gruff">Gruff</a></li><li><a href="http://thepochisuperstarmegashow.com/projects/#ym4r">Ym4r_gm</a></li></ul>
My second application involved setting up a site with paid membership.  The site
has several administrative functions for the owner of the site, as well as a handful
of features for those who sign up to be members such as exclusive downloads, advertising
opportunities, and a members only forum.  In addition to be able to gain a lot
more experience with the inner workings of Rails this project also led me to gain
experience with:<br /><ul><li><a href="http://mocha.rubyforge.org/">mocha</a></li><li><a href="http://beast.caboo.se/">Beast</a></li><li><a href="http://www.activemerchant.org/">active_merchant</a></li><li><a href="http://clarkware.com/cgi/blosxom/2007/02/24#FileUploadFu">attachement_fu</a></li><li><a href="http://agilewebdevelopment.com/plugins/ssl_requirement">ssl_requirement</a></li><li><a href="http://wiki.rubyonrails.org/rails/pages/Acts_as_authenticated">acts_as_authenticated</a></li></ul>
So given all of the above, if your still reading, I'm guessing your wondering what
I think.  In short, I'm becoming a pretty big fan of Ruby as well as Rails. 
While Rails isn't perfect it does a lot of things very well.  <a href="http://steve.emxsoftware.com/RubyOnRails/Ruby+on+Rails+Migrations+Explained">Rails
Migrations</a> are the best solution that I've come across for migrating the schema
of a database.  I can see why large teams run into some trouble with them, but
for the projects I've been working on migrations have worked wonderfully.  While
I'm a big fan of DDD, I also really like ActiveRecord in the right situations. 
Being able to create a migration, run rake db:migrate, and have the column automatically
available in my model without having to do anything makes developing with Rails and
ActiveRecord very enjoyable.  Rather than dealing with the mundane tasks of writing
scripts for adding columns, and then updating the associated data access and model
classes, I can focus on the stuff that matters.  In addition to migrations and
ActiveRecord I'm also fond of ActionMailer and the way that it allows you to create
and send email, its far better than what's available in .NET land.  Next up,
is the MVC structure that Rails uses for building the pages that make up the application/site. 
I'm a huge fan of MVC/MVP for building UI's so it should be no surprise that I'm also
a big fan of Rails implementation of MVC.  I really like having a single controller
per model object, and having a nice organization to the views used by the controller. 
I also really like the validation story for Rails. 
<br /><br />
As I learn new technologies I often times hack my way around until I get a good feel
for what I'm doing and how things are supposed to work and be put together. 
This led to me not writing as many unit tests for certain parts of the applications
I was working on.  I did test drive most (if not all) of the logic I put into
my model objects, but I slacked off a bit when it came to testing the controllers. 
This is partly due to the fact that I was using scaffolding, and partly due to the
fact that I was pushing almost everything into my model objects rather than allowing
my controllers to get "fat".  As part of the test driving of my model objects
I used the built in testing infrastructure, although I still want to checkout <a href="http://rspec.rubyforge.org/index.html">rspec</a>. 
On my latest project I also began experimenting with <a href="http://mocha.rubyforge.org/">mocha</a> which
really helps with the testing of objects that have dependencies.  
<br /><br />
So given all my recent exposure to Ruby and Rails one has to wonder how I rate it
against my native "tongue", .NET.  I have to say I've had a lot of fun working
with Ruby and Rails.  This is in part because its something unfamiliar and I
really enjoy learning, but its also because both Ruby and Rails have a way of making
developing with them very enjoyable.   I haven't enjoyed some of the deployments
and such that I've had to deal with, but since I was learning a bit about how to deploy
Rails applications on Linux it wasn't as bad as I expected.  I'm nowhere near
hanging up my .NET toolbelt, but I am going to continue to do a lot of the work that
I would have previously done in .NET in Ruby and/or Rails.<br /><br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=91a9fd84-eac8-4088-9776-754506f4190b" /></body>
      <title>My path to learning Ruby</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,91a9fd84-eac8-4088-9776-754506f4190b.aspx</guid>
      <link>http://iqueryable.com/2007/07/12/MyPathToLearningRuby.aspx</link>
      <pubDate>Thu, 12 Jul 2007 03:11:07 GMT</pubDate>
      <description>As I've stated before, my programming language for the year is Ruby.&amp;nbsp; I actually planned on learning Python or Ruby last year, but things didn't pan out.&amp;nbsp; Over the last 6-8 months I've been doing a pretty good job of getting myself on the way to learning Ruby.&amp;nbsp; As with any language the best way to learn it is to write something using it.&amp;nbsp; As we all know Rails has done a tremendous job of bringing people to Ruby.&amp;nbsp; I'm no different.&amp;nbsp; Over the last 6 months I've worked on two Rails projects and in the last week put one of them into production (well almost).&amp;nbsp; Since I'm half way through the year I wanted to put some thoughts down here, mostly for myself, but also for others who might be interested in a .NET dudes impressions of Ruby and Rails.&lt;br&gt;
&lt;br&gt;
Before writing a book myself, I bought a good number of books on technical topics
that I found interesting.&amp;nbsp; After experiencing what goes into writing a book,
I find that I'm much quicker to pull the trigger on books that I think I might find
interesting.&amp;nbsp; The amount of work required to get a book out the door is mind
boggling to me.&amp;nbsp; As such I've purchased, and read, the following books to help
me learn Ruby.&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.amazon.com/gp/product/0974514055?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0974514055"&gt;Programming
Ruby: The Pragmatic Programmers' Guide, Second Edition&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0974514055" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.amazon.com/gp/product/0976694069?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0976694069"&gt;Enterprise
Integration with Ruby&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0976694069" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.amazon.com/gp/product/0977616614?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0977616614"&gt;Everyday
Scripting with Ruby: For Teams, Testers, and You&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0977616614" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.amazon.com/gp/product/0977616630?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0977616630"&gt;Agile
Web Development with Rails (Pragmatic Programmers)&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0977616630" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.amazon.com/gp/product/0977616606?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0977616606"&gt;Rails
Recipes (Pragmatic Programmers)&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0977616606" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.amazon.com/gp/product/0672328844?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0672328844"&gt;The
Ruby Way, Second Edition: Solutions and Techniques in Ruby Programming (2nd Edition)
(Addison-Wesley Professional Ruby Series)&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0672328844" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt; (only
skimmed so far)&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.amazon.com/gp/product/0978739221?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0978739221"&gt;Advanced
Rails Recipes: 72 New Ways to Build Stunning Rails Apps&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0978739221" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt; (not
out yet)&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.amazon.com/gp/product/1590597877?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1590597877"&gt;Beginning
Google Maps Applications with Rails and Ajax: From Novice to Professional&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1590597877" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.amazon.com/gp/product/097873923X?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=097873923X"&gt;TextMate:
Power Editing for the Mac (Pragmatic Programmers)&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=097873923X" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt;
&lt;/li&gt;
&lt;/ul&gt;
As you can see not all the books are strictly Ruby related.&amp;nbsp; Several are focused
on Rails, one is focused on working with Google Maps with Rails, and one is to help
me learn to work in my new favorite editor, Textmate.&lt;br&gt;
&lt;br&gt;
In addition to reading the above, I've been checking out the source code for a couple
of the more popular open source Rails applications as well as some of the more popular
plugins.&amp;nbsp; While all of that has been very valuable, nothing is ever as good as
actually writing code.&amp;nbsp; As such I've done several projects that I would have
traditionally done in .NET in Rails instead.&lt;br&gt;
&lt;br&gt;
The first application that I got started with (and which I'm still working on) is
an application that helps geographically visualize key individuals within a social
network.&amp;nbsp; The data for the individuals in the social network, as well as the
data for the connections between individuals, is stored in flat files so I got my
first chance to play around with the CSV parsing capabilities of Ruby.&amp;nbsp; I found
the &lt;a href="http://fastercsv.rubyforge.org/"&gt;FasterCSV&lt;/a&gt; library very useful, and
got off to a pretty good start with my first attempt at parsing the CSV files and
getting them into my MySql database using my ActiveRecord model objects.&amp;nbsp; After
the file parsing was done, I got a chance to build several administrative pages for
the site using Rails, as well as the chance to experiment with some very useful plugins
such as:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://fastercsv.rubyforge.org/"&gt;FasterCSV&lt;/a&gt;
&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://geokit.rubyforge.org/"&gt;Geokit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://nubyonrails.com/pages/gruff"&gt;Gruff&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://thepochisuperstarmegashow.com/projects/#ym4r"&gt;Ym4r_gm&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
My second application involved setting up a site with paid membership.&amp;nbsp; The site
has several administrative functions for the owner of the site, as well as a handful
of features for those who sign up to be members such as exclusive downloads, advertising
opportunities, and a members only forum.&amp;nbsp; In addition to be able to gain a lot
more experience with the inner workings of Rails this project also led me to gain
experience with:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://mocha.rubyforge.org/"&gt;mocha&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://beast.caboo.se/"&gt;Beast&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.activemerchant.org/"&gt;active_merchant&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://clarkware.com/cgi/blosxom/2007/02/24#FileUploadFu"&gt;attachement_fu&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://agilewebdevelopment.com/plugins/ssl_requirement"&gt;ssl_requirement&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://wiki.rubyonrails.org/rails/pages/Acts_as_authenticated"&gt;acts_as_authenticated&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
So given all of the above, if your still reading, I'm guessing your wondering what
I think.&amp;nbsp; In short, I'm becoming a pretty big fan of Ruby as well as Rails.&amp;nbsp;
While Rails isn't perfect it does a lot of things very well.&amp;nbsp; &lt;a href="http://steve.emxsoftware.com/RubyOnRails/Ruby+on+Rails+Migrations+Explained"&gt;Rails
Migrations&lt;/a&gt; are the best solution that I've come across for migrating the schema
of a database.&amp;nbsp; I can see why large teams run into some trouble with them, but
for the projects I've been working on migrations have worked wonderfully.&amp;nbsp; While
I'm a big fan of DDD, I also really like ActiveRecord in the right situations.&amp;nbsp;
Being able to create a migration, run rake db:migrate, and have the column automatically
available in my model without having to do anything makes developing with Rails and
ActiveRecord very enjoyable.&amp;nbsp; Rather than dealing with the mundane tasks of writing
scripts for adding columns, and then updating the associated data access and model
classes, I can focus on the stuff that matters.&amp;nbsp; In addition to migrations and
ActiveRecord I'm also fond of ActionMailer and the way that it allows you to create
and send email, its far better than what's available in .NET land.&amp;nbsp; Next up,
is the MVC structure that Rails uses for building the pages that make up the application/site.&amp;nbsp;
I'm a huge fan of MVC/MVP for building UI's so it should be no surprise that I'm also
a big fan of Rails implementation of MVC.&amp;nbsp; I really like having a single controller
per model object, and having a nice organization to the views used by the controller.&amp;nbsp;
I also really like the validation story for Rails. 
&lt;br&gt;
&lt;br&gt;
As I learn new technologies I often times hack my way around until I get a good feel
for what I'm doing and how things are supposed to work and be put together.&amp;nbsp;
This led to me not writing as many unit tests for certain parts of the applications
I was working on.&amp;nbsp; I did test drive most (if not all) of the logic I put into
my model objects, but I slacked off a bit when it came to testing the controllers.&amp;nbsp;
This is partly due to the fact that I was using scaffolding, and partly due to the
fact that I was pushing almost everything into my model objects rather than allowing
my controllers to get "fat".&amp;nbsp; As part of the test driving of my model objects
I used the built in testing infrastructure, although I still want to checkout &lt;a href="http://rspec.rubyforge.org/index.html"&gt;rspec&lt;/a&gt;.&amp;nbsp;
On my latest project I also began experimenting with &lt;a href="http://mocha.rubyforge.org/"&gt;mocha&lt;/a&gt; which
really helps with the testing of objects that have dependencies.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
So given all my recent exposure to Ruby and Rails one has to wonder how I rate it
against my native "tongue", .NET.&amp;nbsp; I have to say I've had a lot of fun working
with Ruby and Rails.&amp;nbsp; This is in part because its something unfamiliar and I
really enjoy learning, but its also because both Ruby and Rails have a way of making
developing with them very enjoyable.&amp;nbsp;&amp;nbsp; I haven't enjoyed some of the deployments
and such that I've had to deal with, but since I was learning a bit about how to deploy
Rails applications on Linux it wasn't as bad as I expected.&amp;nbsp; I'm nowhere near
hanging up my .NET toolbelt, but I am going to continue to do a lot of the work that
I would have previously done in .NET in Ruby and/or Rails.&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=91a9fd84-eac8-4088-9776-754506f4190b" /&gt;</description>
      <category>books;rails;ruby</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=6ee84dfe-cae9-4685-9bce-355e58217a49</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,6ee84dfe-cae9-4685-9bce-355e58217a49.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.amazon.com/gp/product/0977616614?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0977616614">
          <img src="http://ec1.images-amazon.com/images/P/0977616614.01._AA_SCMZZZZZZZ_.jpg" align="right" border="0" hspace="20" vspace="10" />
        </a>As
you <a href="http://iqueryable.com/2007/02/26/AreYouNaked.aspx">may</a> have <a href="http://iqueryable.com/2007/02/22/LearnAboutRESTViaRails.aspx">noticed,</a> I
spend my mornings and evenings going to and from work on a train.  I usually
use this time to read, unless I have a pounding headache in which case I stare out
into space until I hear the call for my stop.  Anywho, I recently finished <a href="http://www.amazon.com/gp/product/0977616614?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0977616614">Everyday
Scripting with Ruby: For Teams, Testers, and You</a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=0977616614" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /> by <a href="http://www.testing.com/">Brian
Marick</a>.  
<br /><br />
A while back when I was learning about <a href="http://steve.emxsoftware.com/RubyOnRails/Ruby+on+Rails+Migrations+Explained">Ruby
on Rails Migrations</a> I got a chance to learn a bit of Ruby.  This was mostly
due to the fact that the SQL Server adapters for Rails Migrations wasn't exactly up
to snuff, and in order to get a proof of concept going <a href="http://www.aaronfeng.com/">Aaron</a> and
I needed to <a href="http://steve.emxsoftware.com/RubyOnRails/Is+this+the+beginning+of+the+end+for+Rails">write
some Ruby code</a>.  The experience gave me a pretty good understanding of Ruby
as a language.  
<br /><br />
Fast forward a year, and all the sudden there I am forgetting everything that I learned. 
That is...until Everyday Scripting with Ruby.  Brian has put together a really
nice introduction to the Ruby language that should be approachable for programmers,
testers, and anyone else who likes to dabble in scripting.  I don't think I fit
exactly within the target audience, but I still found the book a worthwhile read and
would recommend it to anyone who would like to learn Ruby.  Along with <a href="http://www.amazon.com/gp/product/0974514055?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0974514055">Programming
Ruby</a> you should have all you need to master the Ruby language.  Brian does
a good job introducing the Ruby language, as well as offering valuable insight into
his world and how he goes about writing scripts. 
<br /><br />
In summary, <a href="http://www.amazon.com/gp/product/0977616614?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0977616614">Everyday
Scripting with Ruby</a> is a great edition to your bookshelf if your interested in
learning Ruby.  Those with many years of experience in the industry will likely
find parts of it "skippable" or "skimmable", but no matter how much experience you
have your bound to find a couple nuggets of wisdom that make it worth the twenty (or
so) bucks you'll plop down for it.<br /><br />
I'm not sure what's up next but I just made a mass purchase of books from Amazon. 
One of the following will make it into my work "briefcase" shortly.<br /><p></p><a href="http://www.amazon.com/gp/product/0977616630?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0977616630"><img src="http://images.amazon.com/images/P/0977616630.01._AA_SCMZZZZZZZ_.jpg" border="0" /></a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=0977616630" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /><a href="http://www.amazon.com/gp/product/1590597877?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590597877"><img src="http://images.amazon.com/images/P/1590597877.01._AA_SCMZZZZZZZ_.jpg" border="0" /></a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=1590597877" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /><a href="http://www.amazon.com/gp/product/097873923X?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=097873923X"><img src="http://images.amazon.com/images/P/097873923X.01._AA_SCMZZZZZZZ_.jpg" border="0" /></a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=097873923X" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /><a href="http://www.amazon.com/gp/product/1590597141?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1590597141"><img src="http://images.amazon.com/images/P/1590597141.01._AA_SCMZZZZZZZ_V46847354_.jpg" border="0" /></a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=1590597141" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /><a href="http://www.amazon.com/gp/product/1591841380?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1591841380"><img src="http://images.amazon.com/images/P/1591841380.01._AA_SCMZZZZZZZ_.jpg" border="0" /></a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=1591841380" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /><br /><br />
Anyone care to guess what I've decided about <a href="http://iqueryable.com/2007/02/21/TheRightTimeForANewTechnology.aspx">the
right time for a new technology</a>? :)<br /><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=6ee84dfe-cae9-4685-9bce-355e58217a49" /></body>
      <title>Train Ride Review: Everyday Scripting with Ruby</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,6ee84dfe-cae9-4685-9bce-355e58217a49.aspx</guid>
      <link>http://iqueryable.com/2007/03/02/TrainRideReviewEverydayScriptingWithRuby.aspx</link>
      <pubDate>Fri, 02 Mar 2007 03:37:54 GMT</pubDate>
      <description>&lt;a href="http://www.amazon.com/gp/product/0977616614?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0977616614"&gt;&lt;img src="http://ec1.images-amazon.com/images/P/0977616614.01._AA_SCMZZZZZZZ_.jpg" align="right" border="0" hspace="20" vspace="10"&gt;&lt;/a&gt;As
you &lt;a href="http://iqueryable.com/2007/02/26/AreYouNaked.aspx"&gt;may&lt;/a&gt; have &lt;a href="http://iqueryable.com/2007/02/22/LearnAboutRESTViaRails.aspx"&gt;noticed,&lt;/a&gt; I
spend my mornings and evenings going to and from work on a train.&amp;nbsp; I usually
use this time to read, unless I have a pounding headache in which case I stare out
into space until I hear the call for my stop.&amp;nbsp; Anywho, I recently finished &lt;a href="http://www.amazon.com/gp/product/0977616614?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0977616614"&gt;Everyday
Scripting with Ruby: For Teams, Testers, and You&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0977616614" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt; by &lt;a href="http://www.testing.com/"&gt;Brian
Marick&lt;/a&gt;.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
A while back when I was learning about &lt;a href="http://steve.emxsoftware.com/RubyOnRails/Ruby+on+Rails+Migrations+Explained"&gt;Ruby
on Rails Migrations&lt;/a&gt; I got a chance to learn a bit of Ruby.&amp;nbsp; This was mostly
due to the fact that the SQL Server adapters for Rails Migrations wasn't exactly up
to snuff, and in order to get a proof of concept going &lt;a href="http://www.aaronfeng.com/"&gt;Aaron&lt;/a&gt; and
I needed to &lt;a href="http://steve.emxsoftware.com/RubyOnRails/Is+this+the+beginning+of+the+end+for+Rails"&gt;write
some Ruby code&lt;/a&gt;.&amp;nbsp; The experience gave me a pretty good understanding of Ruby
as a language.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
Fast forward a year, and all the sudden there I am forgetting everything that I learned.&amp;nbsp;
That is...until Everyday Scripting with Ruby.&amp;nbsp; Brian has put together a really
nice introduction to the Ruby language that should be approachable for programmers,
testers, and anyone else who likes to dabble in scripting.&amp;nbsp; I don't think I fit
exactly within the target audience, but I still found the book a worthwhile read and
would recommend it to anyone who would like to learn Ruby.&amp;nbsp; Along with &lt;a href="http://www.amazon.com/gp/product/0974514055?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0974514055"&gt;Programming
Ruby&lt;/a&gt; you should have all you need to master the Ruby language.&amp;nbsp; Brian does
a good job introducing the Ruby language, as well as offering valuable insight into
his world and how he goes about writing scripts. 
&lt;br&gt;
&lt;br&gt;
In summary, &lt;a href="http://www.amazon.com/gp/product/0977616614?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0977616614"&gt;Everyday
Scripting with Ruby&lt;/a&gt; is a great edition to your bookshelf if your interested in
learning Ruby.&amp;nbsp; Those with many years of experience in the industry will likely
find parts of it "skippable" or "skimmable", but no matter how much experience you
have your bound to find a couple nuggets of wisdom that make it worth the twenty (or
so) bucks you'll plop down for it.&lt;br&gt;
&lt;br&gt;
I'm not sure what's up next but I just made a mass purchase of books from Amazon.&amp;nbsp;
One of the following will make it into my work "briefcase" shortly.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;a href="http://www.amazon.com/gp/product/0977616630?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0977616630"&gt;&lt;img src="http://images.amazon.com/images/P/0977616630.01._AA_SCMZZZZZZZ_.jpg" border="0"&gt;&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0977616630" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt; &lt;a href="http://www.amazon.com/gp/product/1590597877?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1590597877"&gt;&lt;img src="http://images.amazon.com/images/P/1590597877.01._AA_SCMZZZZZZZ_.jpg" border="0"&gt;&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1590597877" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt; &lt;a href="http://www.amazon.com/gp/product/097873923X?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=097873923X"&gt;&lt;img src="http://images.amazon.com/images/P/097873923X.01._AA_SCMZZZZZZZ_.jpg" border="0"&gt;&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=097873923X" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt; &lt;a href="http://www.amazon.com/gp/product/1590597141?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1590597141"&gt;&lt;img src="http://images.amazon.com/images/P/1590597141.01._AA_SCMZZZZZZZ_V46847354_.jpg" border="0"&gt;&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1590597141" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt; &lt;a href="http://www.amazon.com/gp/product/1591841380?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1591841380"&gt;&lt;img src="http://images.amazon.com/images/P/1591841380.01._AA_SCMZZZZZZZ_.jpg" border="0"&gt;&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=1591841380" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt;
&lt;br&gt;
&lt;br&gt;
Anyone care to guess what I've decided about &lt;a href="http://iqueryable.com/2007/02/21/TheRightTimeForANewTechnology.aspx"&gt;the
right time for a new technology&lt;/a&gt;? :)&lt;br&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=6ee84dfe-cae9-4685-9bce-355e58217a49" /&gt;</description>
      <category>books;rails;ruby</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=3fc064e7-acef-4440-8935-59c1d5d7812f</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,3fc064e7-acef-4440-8935-59c1d5d7812f.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://www.amazon.com/gp/product/047174719X?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=047174719X">
          <img src="http://images.amazon.com/images/P/047174719X.01._AA_SCMZZZZZZZ_.jpg" align="left" border="0" hspace="20" vspace="10" />
        </a>Over
the last couple of weeks I've been reading <a href="http://www.amazon.com/gp/product/047174719X?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=047174719X">Naked
Conversations</a> on my train ride to and from work (when I didn't have other things,
such as <a href="http://iqueryable.com/2007/02/22/LearnAboutRESTViaRails.aspx">RESTful
Rails Development</a> :))  For those of you unfamiliar, Naked Conversations was
written by some guy who claims to be some big named blogger.  His pen name is
"<a href="http://scobleizer.com/">Robert Scoble</a>".  Scoble's co-author is
Shel Israel.  
<br /><br />
The two have put together a great book on the business of blogging.  They talk
about what does and doesn't work, as well as talk in depth about many of the concerns
people have with blogging within corporations.  Throughout the book Scoble and
Israel provide examples of those who have done it right, and those that have not. 
<br /><br /><a href="http://www.amazon.com/gp/product/047174719X?ie=UTF8&amp;tag=steveeichert-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=047174719X">Naked
Conversations</a><img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;l=as2&amp;o=1&amp;a=047174719X" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /> encourages
companies to use blogs to be more transparent, to engage customers in conversations,
and to listen.  While there are a handful of comapnies that seem to "get" blogging,
there are countless others who haven't a clue.  As blogs become more and more
mainstream we're bound to see the way they're used within corporations change dramatically. 
I'm sure we'll see people try and fail, as well as people try and succeed.  We'll
also see others who build their entire business with nothing more than a blog.<br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=3fc064e7-acef-4440-8935-59c1d5d7812f" /></body>
      <title>Are you Naked?</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,3fc064e7-acef-4440-8935-59c1d5d7812f.aspx</guid>
      <link>http://iqueryable.com/2007/02/26/AreYouNaked.aspx</link>
      <pubDate>Mon, 26 Feb 2007 02:02:00 GMT</pubDate>
      <description>&lt;a href="http://www.amazon.com/gp/product/047174719X?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=047174719X"&gt;&lt;img src="http://images.amazon.com/images/P/047174719X.01._AA_SCMZZZZZZZ_.jpg" align="left" border="0" hspace="20" vspace="10"&gt;&lt;/a&gt;Over
the last couple of weeks I've been reading &lt;a href="http://www.amazon.com/gp/product/047174719X?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=047174719X"&gt;Naked
Conversations&lt;/a&gt; on my train ride to and from work (when I didn't have other things,
such as &lt;a href="http://iqueryable.com/2007/02/22/LearnAboutRESTViaRails.aspx"&gt;RESTful
Rails Development&lt;/a&gt; :))&amp;nbsp; For those of you unfamiliar, Naked Conversations was
written by some guy who claims to be some big named blogger.&amp;nbsp; His pen name is
"&lt;a href="http://scobleizer.com/"&gt;Robert Scoble&lt;/a&gt;".&amp;nbsp; Scoble's co-author is
Shel Israel.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
The two have put together a great book on the business of blogging.&amp;nbsp; They talk
about what does and doesn't work, as well as talk in depth about many of the concerns
people have with blogging within corporations.&amp;nbsp; Throughout the book Scoble and
Israel provide examples of those who have done it right, and those that have not. 
&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.amazon.com/gp/product/047174719X?ie=UTF8&amp;amp;tag=steveeichert-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=047174719X"&gt;Naked
Conversations&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=steveeichert-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=047174719X" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1"&gt; encourages
companies to use blogs to be more transparent, to engage customers in conversations,
and to listen.&amp;nbsp; While there are a handful of comapnies that seem to "get" blogging,
there are countless others who haven't a clue.&amp;nbsp; As blogs become more and more
mainstream we're bound to see the way they're used within corporations change dramatically.&amp;nbsp;
I'm sure we'll see people try and fail, as well as people try and succeed.&amp;nbsp; We'll
also see others who build their entire business with nothing more than a blog.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=3fc064e7-acef-4440-8935-59c1d5d7812f" /&gt;</description>
      <category>books;blogging</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=4cacd4e1-3750-4ee2-8cee-56513fec8ac2</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,4cacd4e1-3750-4ee2-8cee-56513fec8ac2.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">I'm a big fan of books.  I love reading
about technology and business.  An amazing amout of knowledge can be gained from
a good book.  Whether it be how to program in a new language, or how to run a
company, books provide an amazing amount of information and experience.  
<br /><br />
A while back, after being asked by a colleague for a list of books I recommend, I
put together my list of <a href="http://steve.emxsoftware.com/Books/Recommended+Reading">Recommended
Reading</a>. A few months ago, I started migrating my recommendations over to an <a href="http://astore.amazon.com/steveeichert-20/104-5866537-5830364">aStore
on Amazon</a>.  While I still don't have everything added, I figured I'd share <a href="http://astore.amazon.com/steveeichert-20/104-5866537-5830364">my
store</a> in hopes that someone might find a book or two interesting, which in turn
might lead to me getting one of the many books on my wish list for a discounted price
(since my aStore earns me money, and oh how very much money it is!)  
<br /><br />
Anyway, <a href="http://astore.amazon.com/steveeichert-20/104-5866537-5830364">have
a look at my list of Recommended Books</a> and let me know if you think I'm missing
any!<br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=4cacd4e1-3750-4ee2-8cee-56513fec8ac2" /></body>
      <title>Recommended Reading</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,4cacd4e1-3750-4ee2-8cee-56513fec8ac2.aspx</guid>
      <link>http://iqueryable.com/2007/02/16/RecommendedReading.aspx</link>
      <pubDate>Fri, 16 Feb 2007 03:29:39 GMT</pubDate>
      <description>I'm a big fan of books.&amp;nbsp; I love reading about technology and business.&amp;nbsp; An amazing amout of knowledge can be gained from a good book.&amp;nbsp; Whether it be how to program in a new language, or how to run a company, books provide an amazing amount of information and experience.&amp;nbsp; &lt;br&gt;
&lt;br&gt;
A while back, after being asked by a colleague for a list of books I recommend, I
put together my list of &lt;a href="http://steve.emxsoftware.com/Books/Recommended+Reading"&gt;Recommended
Reading&lt;/a&gt;. A few months ago, I started migrating my recommendations over to an &lt;a href="http://astore.amazon.com/steveeichert-20/104-5866537-5830364"&gt;aStore
on Amazon&lt;/a&gt;.&amp;nbsp; While I still don't have everything added, I figured I'd share &lt;a href="http://astore.amazon.com/steveeichert-20/104-5866537-5830364"&gt;my
store&lt;/a&gt; in hopes that someone might find a book or two interesting, which in turn
might lead to me getting one of the many books on my wish list for a discounted price
(since my aStore earns me money, and oh how very much money it is!)&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
Anyway, &lt;a href="http://astore.amazon.com/steveeichert-20/104-5866537-5830364"&gt;have
a look at my list of Recommended Books&lt;/a&gt; and let me know if you think I'm missing
any!&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=4cacd4e1-3750-4ee2-8cee-56513fec8ac2" /&gt;</description>
      <category>books</category>
    </item>
  </channel>
</rss>