<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>tobinharris.com - All Comments</title>
  <id>tag:www.tobinharris.com,2008:mephisto/comments</id>
  <generator version="0.7.3" uri="http://mephistoblog.com">Mephisto Noh-Varr</generator>
  <link href="http://www.tobinharris.com/feed/all_comments.xml" rel="self" type="application/atom+xml"/>
  <link href="http://www.tobinharris.com/" rel="alternate" type="text/html"/>
  <updated>2008-08-14T04:18:28Z</updated>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Ben Scheirman</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-08:1578:1596</id>
    <published>2008-08-14T04:18:28Z</published>
    <updated>2008-08-14T04:18:28Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/8/the-great-jet2-com-con" rel="alternate" type="text/html"/>
    <title>Comment on 'The great Jet2.con' by Ben Scheirman</title>
<content type="html">&lt;p&gt;I totally feel for you.  I get the same type of frustrated experience when I use ticketmaster to find tickets for local events.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Tobin Harris</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-09:1586:1593</id>
    <published>2008-08-11T03:47:45Z</published>
    <updated>2008-08-11T03:47:45Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/9/fluent-nhibernate-and-those-sweet-linq-repositories" rel="alternate" type="text/html"/>
    <title>Comment on 'Fluent NHibernate and those sweet LINQ repositories' by Tobin Harris</title>
<content type="html">&lt;p&gt;Hmmm, good question. I can&#8217;t honestly answer that, because I&#8217;ve not got into the nitty gritty of Fluent NHibernate.&lt;/p&gt;


	&lt;p&gt;The way for setting up NHIbernate mappings looks quite light &#8211; &lt;a href=&quot;http://blog.jagregory.com/2008/08/08/introducing-fluent-nhibernate/&quot;&gt;see here&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;I&#8217;m pretty sure that the library is fairly loosely coupled which helps it play nicely with other things without jumping through hoops (thus non-invasive).&lt;/p&gt;


	&lt;p&gt;For example, I think I can use it with the Rhino stuff without complication (just pass the UnitOfWork.CurrentSession into the Fluent-NH Repository and you&#8217;re off&#8230;)&lt;/p&gt;


	&lt;p&gt;But, not tried it yet, so I may have to answer this question after some more investigations&#8230;&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Sara</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-09:1586:1592</id>
    <published>2008-08-10T20:15:34Z</published>
    <updated>2008-08-10T20:15:34Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/9/fluent-nhibernate-and-those-sweet-linq-repositories" rel="alternate" type="text/html"/>
    <title>Comment on 'Fluent NHibernate and those sweet LINQ repositories' by Sara</title>
<content type="html">&lt;p&gt;Hey, how invasive of a tool is Fluent NHibernate? I don&#8217;t like anything bulky or in my way when I&#8217;m coding,&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Tobin Harris</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-09:1586:1591</id>
    <published>2008-08-10T15:26:50Z</published>
    <updated>2008-08-10T15:26:50Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/9/fluent-nhibernate-and-those-sweet-linq-repositories" rel="alternate" type="text/html"/>
    <title>Comment on 'Fluent NHibernate and those sweet LINQ repositories' by Tobin Harris</title>
<content type="html">&lt;p&gt;Yeah, it&#8217;s a nice touch! They&#8217;re written a bunch of extension methods that give &#8220;object&#8221; for a more fluent testing protocol. These call NUnit methods behind the scenes. Example:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;public static class SpecificationExtensions
{
    public static void ShouldBeFalse(this bool condition)
    {
        Assert.IsFalse(condition);
    }
}&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;public static void ShouldBeTrue(this bool condition)
{
    Assert.IsTrue(condition);
}&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;public static object ShouldEqual(this object actual, object expected)
{
    Assert.AreEqual(expected, actual);
    return expected;
}&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Clever stuff!&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Chris</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-09:1587:1589</id>
    <published>2008-08-10T02:36:12Z</published>
    <updated>2008-08-10T02:36:12Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/9/pretty-simple-software" rel="alternate" type="text/html"/>
    <title>Comment on 'Pretty Simple Software' by Chris</title>
<content type="html">&lt;p&gt;Have you checked out http://thoughtex.net/? it&#8217;s a &lt;span class=&quot;caps&quot;&gt;WPF&lt;/span&gt; client, kinda cool, it&#8217;ll search(google?) for whatever ideas you&#8217;re typing, and display pics on the left.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Chris</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-09:1586:1588</id>
    <published>2008-08-10T02:22:36Z</published>
    <updated>2008-08-10T02:22:36Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/9/fluent-nhibernate-and-those-sweet-linq-repositories" rel="alternate" type="text/html"/>
    <title>Comment on 'Fluent NHibernate and those sweet LINQ repositories' by Chris</title>
<content type="html">&lt;p&gt;Wicked Cool! Hey, I noticed the &#8220;ShouldEqual&#8221;, where&#8217;d that guy come from?&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Ian Nelson</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-08:1578:1585</id>
    <published>2008-08-09T04:04:28Z</published>
    <updated>2008-08-09T04:04:28Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/8/the-great-jet2-com-con" rel="alternate" type="text/html"/>
    <title>Comment on 'The great Jet2.con' by Ian Nelson</title>
<content type="html">&lt;p&gt;We experienced a pretty extreme example of this kind of markup last Autumn when booking a pair of RyanAir return flights from East Midlands to Bratislava.
The cost of each flight was a penny &#8211; so just 4p total &#8211; fantastic!&lt;/p&gt;


	&lt;p&gt;But after all the taxes, fees, levies, charges and surcharges were added, the total came to 110.64!
Still a reasonable price I suppose but we also felt rather swindled by the end of the process.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Tobin Harris</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-08:1579:1584</id>
    <published>2008-08-08T19:29:38Z</published>
    <updated>2008-08-08T19:29:38Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/8/zero-effort-mapping-for-nhibernate" rel="alternate" type="text/html"/>
    <title>Comment on 'Zero-effort mapping for NHibernate?' by Tobin Harris</title>
<content type="html">&lt;p&gt;@que0x&lt;/p&gt;


	&lt;p&gt;ActiveRecord is a brilliant piece of work, I&#8217;ve used it several times myself with great success. I&#8217;ll use it again for sure.&lt;/p&gt;


	&lt;p&gt;The &lt;a href=&quot;http://blog.jagregory.com/2008/08/08/introducing-fluent-nhibernate/&quot;&gt;fluent interface&lt;/a&gt; is chasing a good ideal too.&lt;/p&gt;


	&lt;p&gt;If you don&#8217;t like writing &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt; (I don&#8217;t) and you don&#8217;t like using attributes (I don&#8217;t) then you&#8217;ll probably like the fluent interface.&lt;/p&gt;


	&lt;p&gt;If they get the inferred mappings working (see this &lt;a href=&quot;http://code.google.com/p/fluent-nhibernate/issues/detail?id=6&quot;&gt;forum post&lt;/a&gt;, then you might be freed from &lt;strong&gt;any&lt;/strong&gt; mapping tasks. At least for the simpler models.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>James Gregory</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-08:1579:1583</id>
    <published>2008-08-08T19:28:13Z</published>
    <updated>2008-08-08T19:28:13Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/8/zero-effort-mapping-for-nhibernate" rel="alternate" type="text/html"/>
    <title>Comment on 'Zero-effort mapping for NHibernate?' by James Gregory</title>
<content type="html">&lt;p&gt;There are about three different ways we&#8217;re looking at letting you handle mappings.&lt;/p&gt;


	&lt;p&gt;Firstly is the full fluent interface, used to replace &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;, nothing more. So it&#8217;s as explicit as the mapping files are, but just sans the &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;.&lt;/p&gt;


	&lt;p&gt;Secondly is using the fluent interface, but with common conventions implied. So you just won&#8217;t have to map certain things. Take the below example, with a convention that declares that all Ids are called Id and have an unsaved value of -1, and all lists are bags by default,  we could remove the need for the Id setup, and the AsBag call on the HasMany. That&#8217;d reduce your mapping down to two lines in this case.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
public CustomerMap()
{
    Id(x =&amp;gt; x.Id)
        .WithUnsavedValue(-1);
    Map(x =&amp;gt; x.Name);
    HasMany&amp;lt;Product&amp;gt;(x =&amp;gt; x.Products)
        .AsBag();
}
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Then there&#8217;s the third option, which is a fully implied mapping. We haven&#8217;t implemented this yet, but we will soon. It&#8217;ll probably be close to your second example. We&#8217;ve also considered doing it on an assembly level, but haven&#8217;t fleshed that idea out yet.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Tobin Harris</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-08:1579:1582</id>
    <published>2008-08-08T19:11:47Z</published>
    <updated>2008-08-08T19:11:47Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/8/zero-effort-mapping-for-nhibernate" rel="alternate" type="text/html"/>
    <title>Comment on 'Zero-effort mapping for NHibernate?' by Tobin Harris</title>
<content type="html">&lt;p&gt;Hi James&lt;/p&gt;


	&lt;p&gt;Great to hear that you&#8217;ll be supporting this in Fluent NHibernate :)&lt;/p&gt;


	&lt;p&gt;I can see why, given the work you&#8217;ve done, you&#8217;d be in a good position to support automatic inferred mappings.&lt;/p&gt;


	&lt;p&gt;Any idea how it will look?&lt;/p&gt;


	&lt;p&gt;For example, will I be able to do:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;var cfg = new NHIbernate.Cfg.Configuration();
cfg.AddXml( ClassMap.Infer(&quot;MyApp.Domain.Model&quot;) );&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;or&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;cfg.AddXml( ClassMap&amp;lt;customer&gt;.Infer() );&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Or have you got something else (cleverer!) lined up?&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>que0x</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-08:1579:1581</id>
    <published>2008-08-08T17:18:55Z</published>
    <updated>2008-08-08T17:18:55Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/8/zero-effort-mapping-for-nhibernate" rel="alternate" type="text/html"/>
    <title>Comment on 'Zero-effort mapping for NHibernate?' by que0x</title>
<content type="html">&lt;p&gt;I prefer ActiveRecord, it&#8217;s really easy to start with ! Fluent is hyped at the moment, but i can&#8217;t really get the idea&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>James Gregory</name>
    </author>
    <id>tag:www.tobinharris.com,2008-08-08:1579:1580</id>
    <published>2008-08-08T15:59:50Z</published>
    <updated>2008-08-08T15:59:50Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/8/8/zero-effort-mapping-for-nhibernate" rel="alternate" type="text/html"/>
    <title>Comment on 'Zero-effort mapping for NHibernate?' by James Gregory</title>
<content type="html">&lt;p&gt;Hey Tobin, what you&#8217;ve outlined here, in terms of inferring defaults, is well within the scope of the Fluent NHibernate project. We&#8217;re very much pro convention-over-configuration, and are working on a convention system. We provide defaults that makes assumptions as to how your mappings will be created (ID will always be called ID, for example), and also configurable conventions which allow you to customise the rules for your specific application (for &lt;span class=&quot;caps&quot;&gt;YOUR&lt;/span&gt; application, all properties will be accessed through a field, for example).&lt;/p&gt;


	&lt;p&gt;The convention support is currently incomplete, as we&#8217;re focussing on getting the &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; solid first. Once we&#8217;ve done that, we&#8217;re going to focus on fleshing them out.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Justin</name>
    </author>
    <id>tag:www.tobinharris.com,2008-07-22:1549:1570</id>
    <published>2008-08-01T13:18:45Z</published>
    <updated>2008-08-01T13:18:45Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/7/22/putting-git-in-the-cloud-with-amazon-s3" rel="alternate" type="text/html"/>
    <title>Comment on 'Putting Git in the cloud with Amazon S3' by Justin</title>
<content type="html">&lt;p&gt;Wow I was just searching through and thinking about making the move from svn to git when I found your post.  I already have jungledisk and an S3 account so this would be perfect for me.  Thanks for the idea.  Also nice theme, I use the same one on my personal site :).&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Ryan Heneise</name>
    </author>
    <id>tag:www.tobinharris.com,2008-07-17:1544:1556</id>
    <published>2008-07-29T23:48:26Z</published>
    <updated>2008-07-29T23:48:26Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/7/17/a-friendly-passenger" rel="alternate" type="text/html"/>
    <title>Comment on 'Friendliest console installer EVER!' by Ryan Heneise</title>
<content type="html">&lt;p&gt;Yes, and I found the instructions accurate also. For Ubuntu it instructs you to use apt-get, for Gentoo it gives instructions with emerge&#8230; very nicely done.&lt;/p&gt;</content>  </entry>
  <entry xml:base="http://www.tobinharris.com/">
    <author>
      <name>Jason Holden</name>
    </author>
    <id>tag:www.tobinharris.com,2008-07-17:1544:1547</id>
    <published>2008-07-17T23:18:08Z</published>
    <updated>2008-07-17T23:18:08Z</updated>
    <category term="Blog"/>
    <link href="http://www.tobinharris.com/2008/7/17/a-friendly-passenger" rel="alternate" type="text/html"/>
    <title>Comment on 'Friendliest console installer EVER!' by Jason Holden</title>
<content type="html">&lt;p&gt;Is this an installer written specifically for the module or can it be used for other console apps/scripts?&lt;/p&gt;</content>  </entry>
</feed>
