<?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 - .net</title>
    <link>http://iqueryable.com/</link>
    <description />
    <language>en-us</language>
    <copyright>Steve Eichert</copyright>
    <lastBuildDate>Fri, 09 May 2008 01:09:46 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=f0fcf58d-434b-4057-8006-47be5bf72dd2</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,f0fcf58d-434b-4057-8006-47be5bf72dd2.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">In preparation for my upcoming <a href="http://www.phillydotnet.org/Default.aspx?tabid=709">Code
Camp session on IronRuby</a> I've been hacking around on the <a href="http://rubyforge.org/scm/?group_id=4359">IronRuby
source</a>, as well as on Ruby programs that can run on IronRuby.  One of the
core areas of interest for me concerning IronRuby is in writing specifications for
my .NET applications using Ruby.  While I've been learning Ruby (the real kind)
I've become very fond of the testing libraries they have available, most notably <a href="http://rspec.info/">RSpec</a> and <a href="http://mocha.rubyforge.org/">mocha</a>.  
<br /><br />
Over the last two nights I've been writing some ruby code to test .NET classes written
in C#.  With a few of the hacks I have locally, I've had some pretty good success. 
The following set of specifications verify the behavior of an Account class I've written.<br /><br />
require "../../trunk/tests/ironruby/Util/simple_test.rb"<br />
require "IronRubySamples"<br />
include IronRubySamples<br /><br />
describe "Account" do<br />
    describe "When depositing money into my account" do<br />
        it "should increase my balance by the amount
deposited" do 
<br />
            account = Account.new(10)<br />
            account.Deposit(10)<br />
            account.Balance.should ==
20<br />
        end<br />
    end<br />
                   
            
<br />
    describe "When withdrawing money from my account" do<br />
        it "should decrease my balance by the amount
withdrawn" do<br />
            account = Account.new(100)<br />
            account.Withdraw(50)<br />
            account.Balance.should ==
50<br />
        end<br />
    end<br />
                    
<br />
    describe "When withdrawing money from an account with insufficient
funds" do<br />
        it "should tell me I have insufficient funds"
do<br />
            account = Account.new(30)<br />
            should_raise(InsufficentFundsException)
{ account.Withdraw(50) }<br />
        end<br />
    end<br />
    
<br />
    describe "When making a withdraw that drops my balance below the
minimum" do<br />
        it "should reduce my account by the amount withdrawn
+ the low funds charge amount" do<br />
            account = Account.new(55)<br />
            account.Withdraw(50)<br />
            account.Balance.should ==
4<br />
        end<br />
    end<br />
end<br /><br />
The next step in my quest to test .NET code with IronRuby required me to figure out
how to mock out dependent objects.  I considered several different options. 
My first thought was to try and use "simple mock", however, I quickly realized <a href="http://twitter.com/sbellware/statuses/806031504">via
Scott Bellware</a> that while it worked well on IronRuby libraries it wouldn't fit
my needs.  My next thought was to give <a href="http://code.google.com/p/moq/">Moq</a> a
try.  After downloading Moq, I attempted to run a spec that referenced Moq and
created a Mock&lt;T&gt; instance as shown below:<br /><br />
require "../../trunk/tests/ironruby/Util/simple_test.rb"<br />
require "IronRubySamples"<br />
require "Moq"<br />
include Moq<br />
include IronRubySamples<br /><br />
describe "LoginController" do<br />
    describe "When a user logs in" do<br />
        it "should vallidate credentials with login
service" do 
<br />
            mock = Mock.of(ILoginService).new<br />
            #do expects<br />
            
<br />
            controller = LoginController.new(mock.Object)<br />
            controller.Login("steve",
"****")<br />
        end<br />
    end<br />
end 
<br /><br />
When running this via ir.exe I got an error that "Moq.Mock is not a generic type". 
After poking around a bit I discovered this was due to a <a href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=20033&amp;group_id=4359&amp;atid=16798">bug
in IronRuby</a>.  Currently IronRuby has problems when there is a generic and
non generic type of the same name within a referenced assembly.  In order to
work around this, I first tried to figure out what needed to be modified in IronRuby,
however, that wasn't very fruitful so I decided to modify the source for Moq to get
around my problem.  After renaming the static Mock class in Moq to MockRetriever,
and hacking around <a href="http://rubyforge.org/tracker/index.php?func=detail&amp;aid=20043&amp;group_id=4359&amp;atid=16798">another
bug</a> in IronRuby related to creating generic types where the type argument is an
interface, I was finally able to get IronRuby to create the Mock&lt;ILoginService&gt;
type:<br /><br />
mock = Mock.of(ILoginService).new<br /><br />
Unfortunately, this led to me to another roadblock.  When setting up expectations
in Moq you do so with lambda expressions such as:<br /><br />
// C#<br />
var mock = new Mock&lt;ILoginService&gt;();<br />
mock.Expect(s =&gt; s.Login("steve", "****"));<br /><br />
While IronRuby has blocks and lambda's it doesn't have a way to express the above
(at least that I know).  I'm going to dig around in the IronRuby source a bit
to see if any ideas pop into my head, but at this point I'm not very hopeful.  
<br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=f0fcf58d-434b-4057-8006-47be5bf72dd2" /></body>
      <title>Defeated by IronRuby in my attempts to write tests for my C# code in ruby</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,f0fcf58d-434b-4057-8006-47be5bf72dd2.aspx</guid>
      <link>http://iqueryable.com/2008/05/09/DefeatedByIronRubyInMyAttemptsToWriteTestsForMyCCodeInRuby.aspx</link>
      <pubDate>Fri, 09 May 2008 01:09:46 GMT</pubDate>
      <description>In preparation for my upcoming &lt;a href="http://www.phillydotnet.org/Default.aspx?tabid=709"&gt;Code
Camp session on IronRuby&lt;/a&gt; I've been hacking around on the &lt;a href="http://rubyforge.org/scm/?group_id=4359"&gt;IronRuby
source&lt;/a&gt;, as well as on Ruby programs that can run on IronRuby.&amp;nbsp; One of the
core areas of interest for me concerning IronRuby is in writing specifications for
my .NET applications using Ruby.&amp;nbsp; While I've been learning Ruby (the real kind)
I've become very fond of the testing libraries they have available, most notably &lt;a href="http://rspec.info/"&gt;RSpec&lt;/a&gt; and &lt;a href="http://mocha.rubyforge.org/"&gt;mocha&lt;/a&gt;.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
Over the last two nights I've been writing some ruby code to test .NET classes written
in C#.&amp;nbsp; With a few of the hacks I have locally, I've had some pretty good success.&amp;nbsp;
The following set of specifications verify the behavior of an Account class I've written.&lt;br&gt;
&lt;br&gt;
require "../../trunk/tests/ironruby/Util/simple_test.rb"&lt;br&gt;
require "IronRubySamples"&lt;br&gt;
include IronRubySamples&lt;br&gt;
&lt;br&gt;
describe "Account" do&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; describe "When depositing money into my account" do&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; it "should increase my balance by the amount
deposited" do 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; account = Account.new(10)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; account.Deposit(10)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; account.Balance.should ==
20&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; end&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; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; describe "When withdrawing money from my account" do&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; it "should decrease my balance by the amount
withdrawn" do&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; account = Account.new(100)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; account.Withdraw(50)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; account.Balance.should ==
50&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; end&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; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; describe "When withdrawing money from an account with insufficient
funds" do&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; it "should tell me I have insufficient funds"
do&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; account = Account.new(30)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; should_raise(InsufficentFundsException)
{ account.Withdraw(50) }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; describe "When making a withdraw that drops my balance below the
minimum" do&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; it "should reduce my account by the amount withdrawn
+ the low funds charge amount" do&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; account = Account.new(55)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; account.Withdraw(50)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; account.Balance.should ==
4&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;
end&lt;br&gt;
&lt;br&gt;
The next step in my quest to test .NET code with IronRuby required me to figure out
how to mock out dependent objects.&amp;nbsp; I considered several different options.&amp;nbsp;
My first thought was to try and use "simple mock", however, I quickly realized &lt;a href="http://twitter.com/sbellware/statuses/806031504"&gt;via
Scott Bellware&lt;/a&gt; that while it worked well on IronRuby libraries it wouldn't fit
my needs.&amp;nbsp; My next thought was to give &lt;a href="http://code.google.com/p/moq/"&gt;Moq&lt;/a&gt; a
try.&amp;nbsp; After downloading Moq, I attempted to run a spec that referenced Moq and
created a Mock&amp;lt;T&amp;gt; instance as shown below:&lt;br&gt;
&lt;br&gt;
require "../../trunk/tests/ironruby/Util/simple_test.rb"&lt;br&gt;
require "IronRubySamples"&lt;br&gt;
require "Moq"&lt;br&gt;
include Moq&lt;br&gt;
include IronRubySamples&lt;br&gt;
&lt;br&gt;
describe "LoginController" do&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; describe "When a user logs in" do&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; it "should vallidate credentials with login
service" do 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; mock = Mock.of(ILoginService).new&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; #do expects&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; controller = LoginController.new(mock.Object)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; controller.Login("steve",
"****")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; end&lt;br&gt;
end 
&lt;br&gt;
&lt;br&gt;
When running this via ir.exe I got an error that "Moq.Mock is not a generic type".&amp;nbsp;
After poking around a bit I discovered this was due to a &lt;a href="http://rubyforge.org/tracker/index.php?func=detail&amp;amp;aid=20033&amp;amp;group_id=4359&amp;amp;atid=16798"&gt;bug
in IronRuby&lt;/a&gt;.&amp;nbsp; Currently IronRuby has problems when there is a generic and
non generic type of the same name within a referenced assembly.&amp;nbsp; In order to
work around this, I first tried to figure out what needed to be modified in IronRuby,
however, that wasn't very fruitful so I decided to modify the source for Moq to get
around my problem.&amp;nbsp; After renaming the static Mock class in Moq to MockRetriever,
and hacking around &lt;a href="http://rubyforge.org/tracker/index.php?func=detail&amp;amp;aid=20043&amp;amp;group_id=4359&amp;amp;atid=16798"&gt;another
bug&lt;/a&gt; in IronRuby related to creating generic types where the type argument is an
interface, I was finally able to get IronRuby to create the Mock&amp;lt;ILoginService&amp;gt;
type:&lt;br&gt;
&lt;br&gt;
mock = Mock.of(ILoginService).new&lt;br&gt;
&lt;br&gt;
Unfortunately, this led to me to another roadblock.&amp;nbsp; When setting up expectations
in Moq you do so with lambda expressions such as:&lt;br&gt;
&lt;br&gt;
// C#&lt;br&gt;
var mock = new Mock&amp;lt;ILoginService&amp;gt;();&lt;br&gt;
mock.Expect(s =&amp;gt; s.Login("steve", "****"));&lt;br&gt;
&lt;br&gt;
While IronRuby has blocks and lambda's it doesn't have a way to express the above
(at least that I know).&amp;nbsp; I'm going to dig around in the IronRuby source a bit
to see if any ideas pop into my head, but at this point I'm not very hopeful.&amp;nbsp; 
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=f0fcf58d-434b-4057-8006-47be5bf72dd2" /&gt;</description>
      <category>.net;ironruby;ruby</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=eb2b7c7e-b74c-4d2b-8991-a6b120e2a1aa</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,eb2b7c7e-b74c-4d2b-8991-a6b120e2a1aa.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">We've been using <a href="http://www.ayende.com/projects/rhino-mocks/downloads.aspx">Rhino
Mocks</a> as our mocking framework for the last year and have had some good success
with it.  Previously, we were writing our mocks by hand, which was a major pain
in the ass.  While Rhino Mocks offers a lot of great features and has aided our
testing efforts in many ways, it has also caused us some pain.  I've recently
been hearing a lot of "buzz" about <a href="http://code.google.com/p/moq/">Moq</a>,
a new mocking framework developed by <a href="http://www.clariusconsulting.net/blogs/kzu/">kzu</a>. 
This morning I read Daniel's "<a href="http://www.clariusconsulting.net/blogs/kzu/archive/2008/03/17/WhydoweneedyetanotherNETmockingframework.aspx">Why
do we need another .NET mocking framework</a>" post and I'm convinced that I need
to give Moq a try.  A lot of the points in his article ring true to me, and make
me wonder if I would prefer Moq over Rhino Mocks.  The interesting thing with
trying a new mocking framework when you're involved in a large project that has already
made a considerable investment in another mocking framework (Rhino Mocks) is how you
go about trying it, and what you do if you prefer it to what we're currently using. 
Ah the joys of software development.<br /><br />
I found the following links on the Moq google code homepage interesting:<br /><ul><li><a href="http://www.clariusconsulting.net/blogs/kzu/archive/2008/03/17/WhydoweneedyetanotherNETmockingframework.aspx" rel="nofollow">Why
you will love Moq (with screenshots!)</a></li><li><a href="http://www.clariusconsulting.net/blogs/kzu/archive/2008/02/02/NewMoqfeaturesformockverificationandcreation.aspx" rel="nofollow">New
Moq features for mock verification and creation</a></li><li><a href="http://www.clariusconsulting.net/blogs/kzu/archive/2007/12/27/48594.aspx" rel="nofollow">Mocks:
by-the-book vs practical</a></li><li><a href="http://www.clariusconsulting.net/blogs/kzu/archive/2007/12/26/48177.aspx" rel="nofollow">What's
wrong with the Record/Reply/Verify model for mocking frameworks</a></li><li><a href="http://www.clariusconsulting.net/blogs/kzu/archive/2007/12/21/StateTestingvsInteractionTesting.aspx" rel="nofollow">State
Testing vs Interaction Testing</a></li><li><a href="http://www.clariusconsulting.net/blogs/kzu/archive/2007/12/21/47152.aspx" rel="nofollow">Mocks,
Stubs and Fakes: it's a continuum</a></li></ul><br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=eb2b7c7e-b74c-4d2b-8991-a6b120e2a1aa" /></body>
      <title>Mocking with Moq</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,eb2b7c7e-b74c-4d2b-8991-a6b120e2a1aa.aspx</guid>
      <link>http://iqueryable.com/2008/03/26/MockingWithMoq.aspx</link>
      <pubDate>Wed, 26 Mar 2008 12:58:54 GMT</pubDate>
      <description>We've been using &lt;a href="http://www.ayende.com/projects/rhino-mocks/downloads.aspx"&gt;Rhino
Mocks&lt;/a&gt; as our mocking framework for the last year and have had some good success
with it.&amp;nbsp; Previously, we were writing our mocks by hand, which was a major pain
in the ass.&amp;nbsp; While Rhino Mocks offers a lot of great features and has aided our
testing efforts in many ways, it has also caused us some pain.&amp;nbsp; I've recently
been hearing a lot of "buzz" about &lt;a href="http://code.google.com/p/moq/"&gt;Moq&lt;/a&gt;,
a new mocking framework developed by &lt;a href="http://www.clariusconsulting.net/blogs/kzu/"&gt;kzu&lt;/a&gt;.&amp;nbsp;
This morning I read Daniel's "&lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2008/03/17/WhydoweneedyetanotherNETmockingframework.aspx"&gt;Why
do we need another .NET mocking framework&lt;/a&gt;" post and I'm convinced that I need
to give Moq a try.&amp;nbsp; A lot of the points in his article ring true to me, and make
me wonder if I would prefer Moq over Rhino Mocks.&amp;nbsp; The interesting thing with
trying a new mocking framework when you're involved in a large project that has already
made a considerable investment in another mocking framework (Rhino Mocks) is how you
go about trying it, and what you do if you prefer it to what we're currently using.&amp;nbsp;
Ah the joys of software development.&lt;br&gt;
&lt;br&gt;
I found the following links on the Moq google code homepage interesting:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2008/03/17/WhydoweneedyetanotherNETmockingframework.aspx" rel="nofollow"&gt;Why
you will love Moq (with screenshots!)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2008/02/02/NewMoqfeaturesformockverificationandcreation.aspx" rel="nofollow"&gt;New
Moq features for mock verification and creation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2007/12/27/48594.aspx" rel="nofollow"&gt;Mocks:
by-the-book vs practical&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2007/12/26/48177.aspx" rel="nofollow"&gt;What's
wrong with the Record/Reply/Verify model for mocking frameworks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2007/12/21/StateTestingvsInteractionTesting.aspx" rel="nofollow"&gt;State
Testing vs Interaction Testing&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.clariusconsulting.net/blogs/kzu/archive/2007/12/21/47152.aspx" rel="nofollow"&gt;Mocks,
Stubs and Fakes: it's a continuum&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=eb2b7c7e-b74c-4d2b-8991-a6b120e2a1aa" /&gt;</description>
      <category>.net;tdd</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=726df0ea-9554-4b90-93dd-bbdafa0777f3</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,726df0ea-9554-4b90-93dd-bbdafa0777f3.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">Tonight I was chatting a bit with a co-worker
about <a href="http://codeplex.com/ironpython/">IronPython</a> and <a href="http://www.ironruby.net/">IronRuby</a> and
decided to have a look at IronRuby.  Getting started is supposed to be pretty
easy.<br /><br />
1. Checkout the IronRuby source from RubyForge<br /><br />
svn co svn://rubyforge.org/var/svn/ironruby<br /><br />
2. Install Ruby via the Ruby 1-click installer: <a href="http://rubyforge.org/projects/rubyinstaller/">http://rubyforge.org/projects/rubyinstaller/</a><br />
3. Open a Visual Studio Command Prompt<br />
4. Install the pathname2 gem by running the following from the command line:<br /><br />
gem install pathname2<br /><br />
5. Compile IronRuby by running:<br /><br />
rake compile<br /><br />
Unfortunately when running "rake compile" I get the following errors.<br /><br />
C:\Development\ironruby\trunk&gt;rake compile<br />
(in C:/Development/ironruby/trunk)<br />
Read in 17 resources from "C:\Development\ironruby\trunk\src\microsoft.scripting<br />
\Math\MathResources.resx"<br />
Writing resource file...  Done.<br />
Read in 49 resources from "C:\Development\ironruby\trunk\src\microsoft.scripting<br />
\Resources.resx"<br />
Writing resource file...  Done.<br />
rake aborted!<br />
Command failed with status (0): [csc /nologo /noconfig /nowarn:1591,1701,17...]<br />
C:/Development/ironruby/trunk/rakefile:197:in `exec'<br />
(See full trace by running task with --trace)<br /><br />
I did a little digging around to see if I could find out what was causing the above
problem but didn't uncover anything.  In hopes of making some progress and seeing
ruby running on top of the CLR, I decided to try and compile using the IronRuby VS.NET
solution file. Compiling IronRuby using the VS.NET solution file built everything
into the \bin\debug folder.  Once that was done I was able to run rbx.exe and
do a little experimentation.  rbx didn't behave like I expected and seemed to
be acting pretty flaky but I was able to put in some simple Ruby expressions and see
the results I expected.  Now that I have the source downloaded and compiled I'm
going to dig into things a bit more to see where things stand.  
<br /><br />
Some resources that I came across that might be useful to others include:<br /><ul><li><a href="http://ironruby.rubyforge.org/">http://ironruby.rubyforge.org/</a></li><li><a href="http://rubyforge.org/projects/ironruby">http://rubyforge.org/projects/ironruby</a></li><li><a href="http://www.ruby-forum.com/forum/34">http://www.ruby-forum.com/forum/34</a></li><li><a href="http://rubyforge.org/pipermail/ironruby-core/">http://rubyforge.org/pipermail/ironruby-core/</a></li></ul><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=726df0ea-9554-4b90-93dd-bbdafa0777f3" /></body>
      <title>Getting started with IronRuby</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,726df0ea-9554-4b90-93dd-bbdafa0777f3.aspx</guid>
      <link>http://iqueryable.com/2008/03/19/GettingStartedWithIronRuby.aspx</link>
      <pubDate>Wed, 19 Mar 2008 02:44:25 GMT</pubDate>
      <description>Tonight I was chatting a bit with a co-worker about &lt;a href="http://codeplex.com/ironpython/"&gt;IronPython&lt;/a&gt; and &lt;a href="http://www.ironruby.net/"&gt;IronRuby&lt;/a&gt; and
decided to have a look at IronRuby.&amp;nbsp; Getting started is supposed to be pretty
easy.&lt;br&gt;
&lt;br&gt;
1. Checkout the IronRuby source from RubyForge&lt;br&gt;
&lt;br&gt;
svn co svn://rubyforge.org/var/svn/ironruby&lt;br&gt;
&lt;br&gt;
2. Install Ruby via the Ruby 1-click installer: &lt;a href="http://rubyforge.org/projects/rubyinstaller/"&gt;http://rubyforge.org/projects/rubyinstaller/&lt;/a&gt;
&lt;br&gt;
3. Open a Visual Studio Command Prompt&lt;br&gt;
4. Install the pathname2 gem by running the following from the command line:&lt;br&gt;
&lt;br&gt;
gem install pathname2&lt;br&gt;
&lt;br&gt;
5. Compile IronRuby by running:&lt;br&gt;
&lt;br&gt;
rake compile&lt;br&gt;
&lt;br&gt;
Unfortunately when running "rake compile" I get the following errors.&lt;br&gt;
&lt;br&gt;
C:\Development\ironruby\trunk&amp;gt;rake compile&lt;br&gt;
(in C:/Development/ironruby/trunk)&lt;br&gt;
Read in 17 resources from "C:\Development\ironruby\trunk\src\microsoft.scripting&lt;br&gt;
\Math\MathResources.resx"&lt;br&gt;
Writing resource file...&amp;nbsp; Done.&lt;br&gt;
Read in 49 resources from "C:\Development\ironruby\trunk\src\microsoft.scripting&lt;br&gt;
\Resources.resx"&lt;br&gt;
Writing resource file...&amp;nbsp; Done.&lt;br&gt;
rake aborted!&lt;br&gt;
Command failed with status (0): [csc /nologo /noconfig /nowarn:1591,1701,17...]&lt;br&gt;
C:/Development/ironruby/trunk/rakefile:197:in `exec'&lt;br&gt;
(See full trace by running task with --trace)&lt;br&gt;
&lt;br&gt;
I did a little digging around to see if I could find out what was causing the above
problem but didn't uncover anything.&amp;nbsp; In hopes of making some progress and seeing
ruby running on top of the CLR, I decided to try and compile using the IronRuby VS.NET
solution file. Compiling IronRuby using the VS.NET solution file built everything
into the \bin\debug folder.&amp;nbsp; Once that was done I was able to run rbx.exe and
do a little experimentation.&amp;nbsp; rbx didn't behave like I expected and seemed to
be acting pretty flaky but I was able to put in some simple Ruby expressions and see
the results I expected.&amp;nbsp; Now that I have the source downloaded and compiled I'm
going to dig into things a bit more to see where things stand.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
Some resources that I came across that might be useful to others include:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://ironruby.rubyforge.org/"&gt;http://ironruby.rubyforge.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://rubyforge.org/projects/ironruby"&gt;http://rubyforge.org/projects/ironruby&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.ruby-forum.com/forum/34"&gt;http://www.ruby-forum.com/forum/34&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://rubyforge.org/pipermail/ironruby-core/"&gt;http://rubyforge.org/pipermail/ironruby-core/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=726df0ea-9554-4b90-93dd-bbdafa0777f3" /&gt;</description>
      <category>.net;dlr;ruby</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=ba130883-a8bc-4714-a50c-9f1d3ff2dbc1</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,ba130883-a8bc-4714-a50c-9f1d3ff2dbc1.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">Tonight I decided that it was time that
I checkout the <a href="http://silverlight.net/">Silverlight 2</a> beta release. 
There are a number of things that I want to try with Silverlight, unfortunately, a
bunch of other work has been keeping me.<br /><br />
I decided that the best way to get started would be with a real simple client. 
Creating a simple silverlight control for showing recent tweets from <a href="http://twitter.com/">Twitter</a> seemed
like it would be a fun experiment.  To get started I wanted to download some
tweets from Twitter and show them in a ListBox.  Since LINQ to XML can be used
with Silverlight 2, I figured the process would be pretty painless.  Of course
I forgot about the fact that everyone had to go and try and make everything on the
web secure.  From what I can tell, the fact that Twitter doesn't have, <a href="http://getsatisfaction.com/twitter/topics/twitter_rss_stopped_working_in_flash">or
has recently botched</a>, their <a href="http://moock.org/asdg/technotes/crossDomainPolicyFiles/">cross
domain policy file</a> is preventing me from being able to make any progress on my
little silverlight project.  
<br /><br />
Hopefully I'll figure out what the deal is with Twitters cross domain policy file. 
It might be that I have something botched since when I run <a href="http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-3-using-networking-to-retrieve-data-and-populate-a-datagrid.aspx">ScottGu's
Digg sample</a> I get the same "Download failure" that I get when attempting to download
XML from Twitter.<br /><br /><i>UPDATE</i>: Well it looks like the problem is that <a href="http://www.twitter.com/crossdomain.xml">Twitter's
cross domain policy file</a> only allows *.twitter.com and *.discoveringradiance.com. 
That sucks.  I guess accessing the XML directly from Twitter is out of the question.<br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=ba130883-a8bc-4714-a50c-9f1d3ff2dbc1" /></body>
      <title>Do we really need the web to be so secure?....we have silverlight mashups to create here!</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,ba130883-a8bc-4714-a50c-9f1d3ff2dbc1.aspx</guid>
      <link>http://iqueryable.com/2008/03/17/DoWeReallyNeedTheWebToBeSoSecureweHaveSilverlightMashupsToCreateHere.aspx</link>
      <pubDate>Mon, 17 Mar 2008 02:40:30 GMT</pubDate>
      <description>Tonight I decided that it was time that I checkout the &lt;a href="http://silverlight.net/"&gt;Silverlight
2&lt;/a&gt; beta release.&amp;nbsp; There are a number of things that I want to try with Silverlight,
unfortunately, a bunch of other work has been keeping me.&lt;br&gt;
&lt;br&gt;
I decided that the best way to get started would be with a real simple client.&amp;nbsp;
Creating a simple silverlight control for showing recent tweets from &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt; seemed
like it would be a fun experiment.&amp;nbsp; To get started I wanted to download some
tweets from Twitter and show them in a ListBox.&amp;nbsp; Since LINQ to XML can be used
with Silverlight 2, I figured the process would be pretty painless.&amp;nbsp; Of course
I forgot about the fact that everyone had to go and try and make everything on the
web secure.&amp;nbsp; From what I can tell, the fact that Twitter doesn't have, &lt;a href="http://getsatisfaction.com/twitter/topics/twitter_rss_stopped_working_in_flash"&gt;or
has recently botched&lt;/a&gt;, their &lt;a href="http://moock.org/asdg/technotes/crossDomainPolicyFiles/"&gt;cross
domain policy file&lt;/a&gt; is preventing me from being able to make any progress on my
little silverlight project.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
Hopefully I'll figure out what the deal is with Twitters cross domain policy file.&amp;nbsp;
It might be that I have something botched since when I run &lt;a href="http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-3-using-networking-to-retrieve-data-and-populate-a-datagrid.aspx"&gt;ScottGu's
Digg sample&lt;/a&gt; I get the same "Download failure" that I get when attempting to download
XML from Twitter.&lt;br&gt;
&lt;br&gt;
&lt;i&gt;UPDATE&lt;/i&gt;: Well it looks like the problem is that &lt;a href="http://www.twitter.com/crossdomain.xml"&gt;Twitter's
cross domain policy file&lt;/a&gt; only allows *.twitter.com and *.discoveringradiance.com.&amp;nbsp;
That sucks.&amp;nbsp; I guess accessing the XML directly from Twitter is out of the question.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=ba130883-a8bc-4714-a50c-9f1d3ff2dbc1" /&gt;</description>
      <category>.net;silverlight;twitter</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=684ad78a-4e0a-49f5-a3dd-e89b71d2e6f4</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,684ad78a-4e0a-49f5-a3dd-e89b71d2e6f4.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://samgentile.com/blogs/samgentile/archive/2007/09/26/wcf-soa-tips-from-neudesic-dave-pallmann.aspx">Sam
recently clued me in</a> to a series of <a href="http://davidpallmann.spaces.live.com/?_c11_BlogPart_BlogPart=summary&amp;_c=BlogPart&amp;partqs=cat%3dWCF">posts
by his co-worker David Pallmann's that include a ton of great tips for using WCF</a>. 
I went through all David's tips on my train ride home a few days ago and was inspired
to go through our code to confirm and/or change our services to use many of the recommendations
that David put together.  If you're working with WCF, I definitely recommend
that you check out David's tips and while your at it subscribe to his blog in case
he drops any more tips the blogosphere's way.<br /><ul><li><a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21257.entry" class="entryttl">WCF
Tips #1 - Service Interface Design</a></li><li><a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21258.entry" class="entryttl">WCF
Tips #2 - Service Class Design</a></li><li><a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21259.entry" class="entryttl">WCF
Tips #3 - Service Hosting</a></li><li><a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21260.entry" class="entryttl">WCF
Tips #4 - Configuration</a></li><li><a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21261.entry" class="entryttl">WCF
Tips #5 - Infrastructure</a></li><li><a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21262.entry" class="entryttl">WCF
Tips #6 - Instrumentation</a></li><li><a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21263.entry" class="entryttl">WCF
Tips #7 - Clients</a></li></ul><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=684ad78a-4e0a-49f5-a3dd-e89b71d2e6f4" /></body>
      <title>Cool WCF and SOA Tips</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,684ad78a-4e0a-49f5-a3dd-e89b71d2e6f4.aspx</guid>
      <link>http://iqueryable.com/2007/09/28/CoolWCFAndSOATips.aspx</link>
      <pubDate>Fri, 28 Sep 2007 14:20:02 GMT</pubDate>
      <description>&lt;a href="http://samgentile.com/blogs/samgentile/archive/2007/09/26/wcf-soa-tips-from-neudesic-dave-pallmann.aspx"&gt;Sam
recently clued me in&lt;/a&gt; to a series of &lt;a href="http://davidpallmann.spaces.live.com/?_c11_BlogPart_BlogPart=summary&amp;amp;_c=BlogPart&amp;amp;partqs=cat%3dWCF"&gt;posts
by his co-worker David Pallmann's that include a ton of great tips for using WCF&lt;/a&gt;.&amp;nbsp;
I went through all David's tips on my train ride home a few days ago and was inspired
to go through our code to confirm and/or change our services to use many of the recommendations
that David put together.&amp;nbsp; If you're working with WCF, I definitely recommend
that you check out David's tips and while your at it subscribe to his blog in case
he drops any more tips the blogosphere's way.&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21257.entry" class="entryttl"&gt;WCF
Tips #1 - Service Interface Design&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21258.entry" class="entryttl"&gt;WCF
Tips #2 - Service Class Design&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21259.entry" class="entryttl"&gt;WCF
Tips #3 - Service Hosting&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21260.entry" class="entryttl"&gt;WCF
Tips #4 - Configuration&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21261.entry" class="entryttl"&gt;WCF
Tips #5 - Infrastructure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21262.entry" class="entryttl"&gt;WCF
Tips #6 - Instrumentation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://davidpallmann.spaces.live.com/blog/cns%21E95EF9DC3FDB978E%21263.entry" class="entryttl"&gt;WCF
Tips #7 - Clients&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=684ad78a-4e0a-49f5-a3dd-e89b71d2e6f4" /&gt;</description>
      <category>.net;services;wcf</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=64a6c37a-25e7-47eb-bd4e-4a3cfd8eb4aa</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,64a6c37a-25e7-47eb-bd4e-4a3cfd8eb4aa.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">James Avery poses an interesting question
in his "<a href="http://dotavery.com/blog/archive/2007/07/27/106320.aspx">How long
before ALT.NET becomes NOT.NET?</a>" post.  I'm not really sure what it takes
to get into the ALT.NET club, but from what I know I'm guessing I'd fit into the general
"demographic".  Like James, I've also been wondering if and when more of the
ALT.NET'ters will turn to Ruby on Rails (or alternates like Django).  I've thought
about this a bit more lately since I've been spending a lot more time in Ruby and
Rails.  In addition to wondering about other ALT.NET peeps, I've also thought
a bit about where I want to go with my development efforts and whether I want to continue
to focus on .NET as my primary means of making a living. At this point I don't see
myself doing anything drastic.  Considering I only have 2 Rails projects under
my belt and a heck of a lot more to learn about Ruby as well as Rails I think that's
a pretty wise course to take.  I am going to continue on my path to learning
Ruby as best I can, afterall it is my language for 2007.  I'm also going to continue
to do projects with Rails, try and write a lot more Ruby and Rails related code from
scratch (plugins make life way too easy), and evaluate if there is anything I've learned
from Ruby and Rails that I can bring over into my .NET related work.  I'm also
going to be keeping a close eye on IronRuby, and anxiously awaiting the day when they
announce they can run Rails on top of it!  
<br /><br />
At the end of the day, I believe learning Ruby, Rails, as well as many of the other
things I'm looking into, will make me a better developer.  Whether or not I end
up building the software I work on in .NET, Ruby, or Erlang doesn't matter much. 
I think we all owe it to ourselves, as well as our customers, to question whether
what we're using today is the best tool for the job.  We also owe it to ourselves
to question whether we'd find more enjoyment in working with other languages and tools. 
After all those questions are raised and answered we still need to make a decision
based on where we are in life, what we have control over, and where we want to go
in the future.<br /><br />
Perhaps before the migration to Rails starts, Microsoft will change its ways and learn
a thing or two about what it takes to make ALT.NET developers happy.  Perhaps
they'll realize that designers, wizards, and other magic isn't what where it's at. 
Perhaps they'll realize that baking best practices into the platform is a good thing. 
Perhaps they'll have a look at TextMate and realize it doesn't have any designers,
yet Rails developers love it?!?!?  Perhaps they'll learn a thing or two from
the success of Rails and stop the floodgates from opening.  What do you think?<br /><br /><br /><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=64a6c37a-25e7-47eb-bd4e-4a3cfd8eb4aa" /></body>
      <title>Is the ALT.NET crowd destined for Rails?</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,64a6c37a-25e7-47eb-bd4e-4a3cfd8eb4aa.aspx</guid>
      <link>http://iqueryable.com/2007/07/29/IsTheALTNETCrowdDestinedForRails.aspx</link>
      <pubDate>Sun, 29 Jul 2007 02:45:36 GMT</pubDate>
      <description>James Avery poses an interesting question in his "&lt;a href="http://dotavery.com/blog/archive/2007/07/27/106320.aspx"&gt;How
long before ALT.NET becomes NOT.NET?&lt;/a&gt;" post.&amp;nbsp; I'm not really sure what it
takes to get into the ALT.NET club, but from what I know I'm guessing I'd fit into
the general "demographic".&amp;nbsp; Like James, I've also been wondering if and when
more of the ALT.NET'ters will turn to Ruby on Rails (or alternates like Django).&amp;nbsp;
I've thought about this a bit more lately since I've been spending a lot more time
in Ruby and Rails.&amp;nbsp; In addition to wondering about other ALT.NET peeps, I've
also thought a bit about where I want to go with my development efforts and whether
I want to continue to focus on .NET as my primary means of making a living. At this
point I don't see myself doing anything drastic.&amp;nbsp; Considering I only have 2 Rails
projects under my belt and a heck of a lot more to learn about Ruby as well as Rails
I think that's a pretty wise course to take.&amp;nbsp; I am going to continue on my path
to learning Ruby as best I can, afterall it is my language for 2007.&amp;nbsp; I'm also
going to continue to do projects with Rails, try and write a lot more Ruby and Rails
related code from scratch (plugins make life way too easy), and evaluate if there
is anything I've learned from Ruby and Rails that I can bring over into my .NET related
work.&amp;nbsp; I'm also going to be keeping a close eye on IronRuby, and anxiously awaiting
the day when they announce they can run Rails on top of it!&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
At the end of the day, I believe learning Ruby, Rails, as well as many of the other
things I'm looking into, will make me a better developer.&amp;nbsp; Whether or not I end
up building the software I work on in .NET, Ruby, or Erlang doesn't matter much.&amp;nbsp;
I think we all owe it to ourselves, as well as our customers, to question whether
what we're using today is the best tool for the job.&amp;nbsp; We also owe it to ourselves
to question whether we'd find more enjoyment in working with other languages and tools.&amp;nbsp;
After all those questions are raised and answered we still need to make a decision
based on where we are in life, what we have control over, and where we want to go
in the future.&lt;br&gt;
&lt;br&gt;
Perhaps before the migration to Rails starts, Microsoft will change its ways and learn
a thing or two about what it takes to make ALT.NET developers happy.&amp;nbsp; Perhaps
they'll realize that designers, wizards, and other magic isn't what where it's at.&amp;nbsp;
Perhaps they'll realize that baking best practices into the platform is a good thing.&amp;nbsp;
Perhaps they'll have a look at TextMate and realize it doesn't have any designers,
yet Rails developers love it?!?!?&amp;nbsp; Perhaps they'll learn a thing or two from
the success of Rails and stop the floodgates from opening.&amp;nbsp; What do you think?&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=64a6c37a-25e7-47eb-bd4e-4a3cfd8eb4aa" /&gt;</description>
      <category>.net;alt.net;rails;ruby</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=cb0c4f43-7404-4638-be18-ee91aaba3f57</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,cb0c4f43-7404-4638-be18-ee91aaba3f57.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">Over the last couple days a number of people
on our team have been investigating why an operation marked as one way on one of our
WCF services ends up blocking when it's called.  We looked at a number of things
with our setup including:<br /><ul><li>
Making sure our operation did in fact have IsOneWay=true defined</li><li>
Ensuring none of the behaviors we have setup for exception sheilding and authorization
were cuasing the call to block</li><li>
Ensuring that it wasn't something within our client by creating a console app to replicate
the problem</li><li>
Validating the configuration on both the client and service side where both correct</li><li>
and more...</li></ul>
Yesterday afternoon <a href="http://codebetter.com/blogs/sam.gentile/">Sam</a> and
I began to dig into the problem a little deeper by turning on tracing and message
logging for our services.  After spending a bit of time tracing through the logs
with SvcTraceViewer we eventually spotted something in the client side log that didn't
look right.  The entry looked something like this:<br /><br />
Close Secure Session       10s<br /><br />
What was mysterious about this line was that in order to replicate and debug the problem
we had a service that looked like this:<br /><br />
[OperationContract(IsOneWay=true)]<br />
public void MyOneWayOperation(ItemRequest request) {<br />
    Thread.Sleep(10000);<br />
}<br /><br />
So it appeared that the Close on channel was actually blocking until our one way operation
completed.  We weren't totally convinced that this could really be the case,
so we changed our operation like so:<br /><br />
[OperationContract(IsOneWay=true)]<br />
public void MyOneWayOperation(ItemRequest request) {<br />
    Thread.Sleep(20000);<br />
}<br /><br />
which resulted in the following line in our log:<br /><br />
Close Secure Session       20s<br /><br />
This convinced both of us that it was defintely blocking when closing down the client
proxy.  At one point in the past we had run one way messages and not seen this
behavior though, so what had changed to all the sudden cause our operation with IsOneWay=true
set to block?  It turns out that the "problem" was due to a change in the way
we used the client proxies.  Previously we had code that looked like this:<br /><br />
MyServiceClient client = RetrieveClientProxy();<br />
client.MyOneWayOperation(new ItemRequest("KLDF992"));<br /><br />
But due to some problems that we've had with secure sessions timing out, and other
inconsisitencies we changed our code to:<br /><br />
using(MyServiceClient client = new MyServiceClient()) {<br />
  client.MyOneWayOperation(new ItemRequest("KLDF992"));<br />
} // FYI, Dispose on a ClientBase calls Close<br /><br />
Instead of re-using our client proxies we're now recreating our client proxy every
time an operation is called.  This results in our performance not being as great
as it could be since the client has to re-establish it's security context on every
call, but, it's also resulted in our services being a lot more reliable.  We'd
rather have things run slightly slower than have them not work.  
<br /><br />
I still don't understand why closing the client proxy would block when calling a one
way operation.  Since a one way operation immediately returns a 202 letting the
client know that it was received I'm unsure of why the proxy needs to wait around
for the operation to finish when you call Close on it.  It seems to defeat the
whole purpose/nature of a one way operation.  I've explicitly said that I don't
care about the return value so I don't see why it can't just close when I tell it
to.  
<br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=cb0c4f43-7404-4638-be18-ee91aaba3f57" /></body>
      <title>Why is my IsOneWay operation blocking?</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,cb0c4f43-7404-4638-be18-ee91aaba3f57.aspx</guid>
      <link>http://iqueryable.com/2007/06/14/WhyIsMyIsOneWayOperationBlocking.aspx</link>
      <pubDate>Thu, 14 Jun 2007 13:44:44 GMT</pubDate>
      <description>Over the last couple days a number of people on our team have been investigating why an operation marked as one way on one of our WCF services ends up blocking when it's called.&amp;nbsp; We looked at a number of things with our setup including:&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
Making sure our operation did in fact have IsOneWay=true defined&lt;/li&gt;
&lt;li&gt;
Ensuring none of the behaviors we have setup for exception sheilding and authorization
were cuasing the call to block&lt;/li&gt;
&lt;li&gt;
Ensuring that it wasn't something within our client by creating a console app to replicate
the problem&lt;/li&gt;
&lt;li&gt;
Validating the configuration on both the client and service side where both correct&lt;/li&gt;
&lt;li&gt;
and more...&lt;/li&gt;
&lt;/ul&gt;
Yesterday afternoon &lt;a href="http://codebetter.com/blogs/sam.gentile/"&gt;Sam&lt;/a&gt; and
I began to dig into the problem a little deeper by turning on tracing and message
logging for our services.&amp;nbsp; After spending a bit of time tracing through the logs
with SvcTraceViewer we eventually spotted something in the client side log that didn't
look right.&amp;nbsp; The entry looked something like this:&lt;br&gt;
&lt;br&gt;
Close Secure Session&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10s&lt;br&gt;
&lt;br&gt;
What was mysterious about this line was that in order to replicate and debug the problem
we had a service that looked like this:&lt;br&gt;
&lt;br&gt;
[OperationContract(IsOneWay=true)]&lt;br&gt;
public void MyOneWayOperation(ItemRequest request) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Thread.Sleep(10000);&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
So it appeared that the Close on channel was actually blocking until our one way operation
completed.&amp;nbsp; We weren't totally convinced that this could really be the case,
so we changed our operation like so:&lt;br&gt;
&lt;br&gt;
[OperationContract(IsOneWay=true)]&lt;br&gt;
public void MyOneWayOperation(ItemRequest request) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Thread.Sleep(20000);&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
which resulted in the following line in our log:&lt;br&gt;
&lt;br&gt;
Close Secure Session&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20s&lt;br&gt;
&lt;br&gt;
This convinced both of us that it was defintely blocking when closing down the client
proxy.&amp;nbsp; At one point in the past we had run one way messages and not seen this
behavior though, so what had changed to all the sudden cause our operation with IsOneWay=true
set to block?&amp;nbsp; It turns out that the "problem" was due to a change in the way
we used the client proxies.&amp;nbsp; Previously we had code that looked like this:&lt;br&gt;
&lt;br&gt;
MyServiceClient client = RetrieveClientProxy();&lt;br&gt;
client.MyOneWayOperation(new ItemRequest("KLDF992"));&lt;br&gt;
&lt;br&gt;
But due to some problems that we've had with secure sessions timing out, and other
inconsisitencies we changed our code to:&lt;br&gt;
&lt;br&gt;
using(MyServiceClient client = new MyServiceClient()) {&lt;br&gt;
&amp;nbsp; client.MyOneWayOperation(new ItemRequest("KLDF992"));&lt;br&gt;
} // FYI, Dispose on a ClientBase calls Close&lt;br&gt;
&lt;br&gt;
Instead of re-using our client proxies we're now recreating our client proxy every
time an operation is called.&amp;nbsp; This results in our performance not being as great
as it could be since the client has to re-establish it's security context on every
call, but, it's also resulted in our services being a lot more reliable.&amp;nbsp; We'd
rather have things run slightly slower than have them not work.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
I still don't understand why closing the client proxy would block when calling a one
way operation.&amp;nbsp; Since a one way operation immediately returns a 202 letting the
client know that it was received I'm unsure of why the proxy needs to wait around
for the operation to finish when you call Close on it.&amp;nbsp; It seems to defeat the
whole purpose/nature of a one way operation.&amp;nbsp; I've explicitly said that I don't
care about the return value so I don't see why it can't just close when I tell it
to.&amp;nbsp; 
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=cb0c4f43-7404-4638-be18-ee91aaba3f57" /&gt;</description>
      <category>.net;services;wcf</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=58d73f90-f1eb-4210-8799-a2265d0bf90e</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,58d73f90-f1eb-4210-8799-a2265d0bf90e.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">Although I'm not finished the application
that I'm building with <a href="http://www.rubyonrails.com/">Ruby on Rails</a>, I've
decided that next up on my plate for new'ish technology is <a href="http://www.castleproject.org/monorail/">MonoRail</a>. 
Afterall, all the cool kids who aren't quite cool enough to be doing Rails seem to
be going crazy for MonoRail.  As a former web guy I've done a lot of WebForms
development, so its time that I see what all the hype is surrounding MonoRail. 
I was originally going to build the business/data layer with LINQ to SQL, but I think
I'm instead going to go all Castle and use <a href="http://www.castleproject.org/activerecord/">ActiveRecord</a> along
with <a href="http://www.ayende.com/Blog/archive/2006/07/31/7388.aspx">Ayende's NHibernate
Query Generator</a>.  
<br /><br />
Unfortunately, I'm not smart enough to be able to figure out how the heck to get the
MonoRail project templates to show up in VS.NET.  I'm guessing they're not necessary,
but for a MonoRail newbie they seem like they'd be useful.  I'm planning on building
things from the trunk, as such I tried following these instructions on <a href="http://using.castleproject.org/display/CASTLE/Using+the+Trunk">Using
the Trunk</a>.  Can anyone offer any advice on how I might get the project templates
working?  Should I give up and just go with the very old MSI that's available?<br /><br /><b>UPDATE: </b>It helps if you actually read the documentation.  Running the
RC2 installer and then following the necessary steps in <a href="http://using.castleproject.org/display/CASTLE/Using+the+Trunk">Using
the Trunk</a> worked perfectly.<br /><a href="http://using.castleproject.org/display/CASTLE/Using+the+Trunk"></a><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=58d73f90-f1eb-4210-8799-a2265d0bf90e" /></body>
      <title>With Ruby on Rails out of the way, MonoRail is next up</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,58d73f90-f1eb-4210-8799-a2265d0bf90e.aspx</guid>
      <link>http://iqueryable.com/2007/06/05/WithRubyOnRailsOutOfTheWayMonoRailIsNextUp.aspx</link>
      <pubDate>Tue, 05 Jun 2007 02:59:02 GMT</pubDate>
      <description>Although I'm not finished the application that I'm building with &lt;a href="http://www.rubyonrails.com/"&gt;Ruby
on Rails&lt;/a&gt;, I've decided that next up on my plate for new'ish technology is &lt;a href="http://www.castleproject.org/monorail/"&gt;MonoRail&lt;/a&gt;.&amp;nbsp;
Afterall, all the cool kids who aren't quite cool enough to be doing Rails seem to
be going crazy for MonoRail.&amp;nbsp; As a former web guy I've done a lot of WebForms
development, so its time that I see what all the hype is surrounding MonoRail.&amp;nbsp;
I was originally going to build the business/data layer with LINQ to SQL, but I think
I'm instead going to go all Castle and use &lt;a href="http://www.castleproject.org/activerecord/"&gt;ActiveRecord&lt;/a&gt; along
with &lt;a href="http://www.ayende.com/Blog/archive/2006/07/31/7388.aspx"&gt;Ayende's NHibernate
Query Generator&lt;/a&gt;.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
Unfortunately, I'm not smart enough to be able to figure out how the heck to get the
MonoRail project templates to show up in VS.NET.&amp;nbsp; I'm guessing they're not necessary,
but for a MonoRail newbie they seem like they'd be useful.&amp;nbsp; I'm planning on building
things from the trunk, as such I tried following these instructions on &lt;a href="http://using.castleproject.org/display/CASTLE/Using+the+Trunk"&gt;Using
the Trunk&lt;/a&gt;.&amp;nbsp; Can anyone offer any advice on how I might get the project templates
working?&amp;nbsp; Should I give up and just go with the very old MSI that's available?&lt;br&gt;
&lt;br&gt;
&lt;b&gt;UPDATE: &lt;/b&gt;It helps if you actually read the documentation.&amp;nbsp; Running the
RC2 installer and then following the necessary steps in &lt;a href="http://using.castleproject.org/display/CASTLE/Using+the+Trunk"&gt;Using
the Trunk&lt;/a&gt; worked perfectly.&lt;br&gt;
&lt;a href="http://using.castleproject.org/display/CASTLE/Using+the+Trunk"&gt;&lt;/a&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=58d73f90-f1eb-4210-8799-a2265d0bf90e" /&gt;</description>
      <category>.net;castle;monorail</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=78c8a157-6f0a-4ae7-89c4-2d88a84ce43c</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,78c8a157-6f0a-4ae7-89c4-2d88a84ce43c.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">Back in February <a href="http://iqueryable.com/2007/02/21/TheRightTimeForANewTechnology.aspx">I
posted about when the right time for a new technology is</a>.  As some likely
guessed after seeing <a href="http://iqueryable.com/2007/03/02/TrainRideReviewEverydayScriptingWithRuby.aspx">my
review of Everyday Scripting with Ruby and the list of books</a> that were on my next
up list I decided to go with Rails as my new technology for one of the projects. 
In a future post I'll detail how I've found the experience, and how it compares to
.NET land but that's for another day.  Today, I'd like to point out the fact
that nobody writes anything cool in .NET.  At least nobody writes any of the
cool stuff that I need in .NET.  Ok, perhaps I'm exagerating a bit....in actuality
the fact is that nobody writes social network visualization libraries in .NET. :) 
The project that I'm working on that's using Rails involves social networks. 
One of the things that I'll be getting to shortly is the actual visualization part
of the project.  What I'd really love is if someone would write <a href="http://prefuse.org/">something
as cool as this</a>, in Silverlight.   That way I could have my Rails application
call .NET code.  What could be better to piss off the Rails purists?  Afterall,
I'm supposed to have given up all things .NET by now and truelly converted to Rails,
right?  Ok, moving on....who wants to write <a href="http://prefuse.org/">prefuse</a> in
Silverlight?  It'd be a killer demo application to show off the capabilities
of Silverlight and would undoubtedly make it so the only RIA platform anyone chooses
is Silverlight.  Flash who?  Java FX what?  Flex...I think not. 
With prefuse.NET, Silverlight is guaranteed instant mass approval.  Or maybe
it'll just make me happy that I get to write .NET code that will access a RESTful
Rails service for data that lives inside a rhtml page.  Either way you win, right?<br /><br />
In all seriousness I think Silverlight would be a great technology for building web
based network visualization software.  While there's no way I'll have time to
write something as fully functional as I'll need, I think I'll apply the <i>learn
a new technology even if it will take longer</i> rule and give getting a basic network
visualization demo in Silverlight working.  Luckily, I think some of the <a href="http://silverlight.net/community/communitygallery.aspx">Silverlight
samples</a> (<a href="http://silverlight.net/community/gallerydetail.aspx?cat=2&amp;sort=2#vid87">such
as this one</a>) might get me moving in the right direction.  If anyone cares
to lend a hand, give me a shout!  Instance fame and fortune is within your grasp!<br /><br /><br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=78c8a157-6f0a-4ae7-89c4-2d88a84ce43c" /></body>
      <title>Visualizing Social Networks with Silverlight</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,78c8a157-6f0a-4ae7-89c4-2d88a84ce43c.aspx</guid>
      <link>http://iqueryable.com/2007/05/16/VisualizingSocialNetworksWithSilverlight.aspx</link>
      <pubDate>Wed, 16 May 2007 03:14:53 GMT</pubDate>
      <description>Back in February &lt;a href="http://iqueryable.com/2007/02/21/TheRightTimeForANewTechnology.aspx"&gt;I
posted about when the right time for a new technology is&lt;/a&gt;.&amp;nbsp; As some likely
guessed after seeing &lt;a href="http://iqueryable.com/2007/03/02/TrainRideReviewEverydayScriptingWithRuby.aspx"&gt;my
review of Everyday Scripting with Ruby and the list of books&lt;/a&gt; that were on my next
up list I decided to go with Rails as my new technology for one of the projects.&amp;nbsp;
In a future post I'll detail how I've found the experience, and how it compares to
.NET land but that's for another day.&amp;nbsp; Today, I'd like to point out the fact
that nobody writes anything cool in .NET.&amp;nbsp; At least nobody writes any of the
cool stuff that I need in .NET.&amp;nbsp; Ok, perhaps I'm exagerating a bit....in actuality
the fact is that nobody writes social network visualization libraries in .NET. :)&amp;nbsp;
The project that I'm working on that's using Rails involves social networks.&amp;nbsp;
One of the things that I'll be getting to shortly is the actual visualization part
of the project.&amp;nbsp; What I'd really love is if someone would write &lt;a href="http://prefuse.org/"&gt;something
as cool as this&lt;/a&gt;, in Silverlight.&amp;nbsp;&amp;nbsp; That way I could have my Rails application
call .NET code.&amp;nbsp; What could be better to piss off the Rails purists?&amp;nbsp; Afterall,
I'm supposed to have given up all things .NET by now and truelly converted to Rails,
right?&amp;nbsp; Ok, moving on....who wants to write &lt;a href="http://prefuse.org/"&gt;prefuse&lt;/a&gt; in
Silverlight?&amp;nbsp; It'd be a killer demo application to show off the capabilities
of Silverlight and would undoubtedly make it so the only RIA platform anyone chooses
is Silverlight.&amp;nbsp; Flash who?&amp;nbsp; Java FX what?&amp;nbsp; Flex...I think not.&amp;nbsp;
With prefuse.NET, Silverlight is guaranteed instant mass approval.&amp;nbsp; Or maybe
it'll just make me happy that I get to write .NET code that will access a RESTful
Rails service for data that lives inside a rhtml page.&amp;nbsp; Either way you win, right?&lt;br&gt;
&lt;br&gt;
In all seriousness I think Silverlight would be a great technology for building web
based network visualization software.&amp;nbsp; While there's no way I'll have time to
write something as fully functional as I'll need, I think I'll apply the &lt;i&gt;learn
a new technology even if it will take longer&lt;/i&gt; rule and give getting a basic network
visualization demo in Silverlight working.&amp;nbsp; Luckily, I think some of the &lt;a href="http://silverlight.net/community/communitygallery.aspx"&gt;Silverlight
samples&lt;/a&gt; (&lt;a href="http://silverlight.net/community/gallerydetail.aspx?cat=2&amp;amp;sort=2#vid87"&gt;such
as this one&lt;/a&gt;) might get me moving in the right direction.&amp;nbsp; If anyone cares
to lend a hand, give me a shout!&amp;nbsp; Instance fame and fortune is within your grasp!&lt;br&gt;
&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=78c8a157-6f0a-4ae7-89c4-2d88a84ce43c" /&gt;</description>
      <category>.net;network visualization;rails;social networks;silverlight</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=d26bd57e-329c-4d0d-a452-745266c2216c</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,d26bd57e-329c-4d0d-a452-745266c2216c.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">I'm going to document the things I run
into as I transition from the May 2006 CTP of LINQ to the full March 2007 CTP of Orcas.
Tonight after sorting out my data source issue I ran into a compile error with my
Visual Basic code samples that are using XML Axis properties. The error is "XML Axis
properties do not support late binding". Hopefully I'll be able to post back here
shortly with an answer to why I'm getting this....<br /><br /><b>UPDATE</b>:  Thanks to a comment from Avner I figured out that this is due
to a regression in the capability of VB9 to infer types.  Previously things worked
swimmingly with the following code:<br /><br />
    Dim rss = XElement.Load("rss.xml")<br />
    Dim items = rss...&lt;item&gt;<br /><br />
With the March CTP the type of "rss" needs to be explicitly defined like so:<br /><br />
    Dim rss <b>As XElement</b> = XElement.Load("rss.xml") 
<br />
    Dim items = rss...&lt;item&gt;<br /><br />
I like the old way better :)<br /><br /><br /><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=d26bd57e-329c-4d0d-a452-745266c2216c" /></body>
      <title>Orcas March CTP - XML Axis properties do not support late binding</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,d26bd57e-329c-4d0d-a452-745266c2216c.aspx</guid>
      <link>http://iqueryable.com/2007/03/08/OrcasMarchCTPXMLAxisPropertiesDoNotSupportLateBinding.aspx</link>
      <pubDate>Thu, 08 Mar 2007 03:00:27 GMT</pubDate>
      <description>I'm going to document the things I run into as I transition from the May 2006 CTP of LINQ to the full March 2007 CTP of Orcas.  Tonight after sorting out my data source issue I ran into a compile error with my Visual Basic code samples that are using XML Axis properties.  The error is "XML Axis properties do not support late binding".  Hopefully I'll be able to post back here shortly with an answer to why I'm getting this....&lt;br&gt;
&lt;br&gt;
&lt;b&gt;UPDATE&lt;/b&gt;:&amp;nbsp; Thanks to a comment from Avner I figured out that this is due
to a regression in the capability of VB9 to infer types.&amp;nbsp; Previously things worked
swimmingly with the following code:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim rss = XElement.Load("rss.xml")&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim items = rss...&amp;lt;item&amp;gt;&lt;br&gt;
&lt;br&gt;
With the March CTP the type of "rss" needs to be explicitly defined like so:&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim rss &lt;b&gt;As XElement&lt;/b&gt; = XElement.Load("rss.xml") 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim items = rss...&amp;lt;item&amp;gt;&lt;br&gt;
&lt;br&gt;
I like the old way better :)&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=d26bd57e-329c-4d0d-a452-745266c2216c" /&gt;</description>
      <category>.net;linq;linq to xml;orcas</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=cf21117b-2cd7-4148-8050-0e14573cb569</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,cf21117b-2cd7-4148-8050-0e14573cb569.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <a href="http://iqueryable.com/2007/03/06/OrcasMarchCTPUnableToFindTheRequestedNETFrameworkDataProvider.aspx">Yesterday
I mentioned I was having some trouble adding a Data Source in Orcas</a>. I'm happy
to report that following the instructions in the <a href="http://oakleafblog.blogspot.com/2007/03/orcas-march-ctp-on-vista-database.html">Orcas
March CTP on Vista Database Connections Problem Solved</a> post resolved my issue.
Once I commented out the SQL Server CE Data Provider in the machine.config everything
was back to normal.<img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=cf21117b-2cd7-4148-8050-0e14573cb569" /></body>
      <title>Orcas March CTP - Fixing the broken data provider</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,cf21117b-2cd7-4148-8050-0e14573cb569.aspx</guid>
      <link>http://iqueryable.com/2007/03/07/OrcasMarchCTPFixingTheBrokenDataProvider.aspx</link>
      <pubDate>Wed, 07 Mar 2007 02:08:35 GMT</pubDate>
      <description>&lt;a href="http://iqueryable.com/2007/03/06/OrcasMarchCTPUnableToFindTheRequestedNETFrameworkDataProvider.aspx"&gt;Yesterday
I mentioned I was having some trouble adding a Data Source in Orcas&lt;/a&gt;. I'm happy
to report that following the instructions in the &lt;a href="http://oakleafblog.blogspot.com/2007/03/orcas-march-ctp-on-vista-database.html"&gt;Orcas
March CTP on Vista Database Connections Problem Solved&lt;/a&gt; post resolved my issue.
Once I commented out the SQL Server CE Data Provider in the machine.config everything
was back to normal.&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=cf21117b-2cd7-4148-8050-0e14573cb569" /&gt;</description>
      <category>.net;linq;orcas</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=304def0e-1c56-42f0-91fc-b525def18c23</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,304def0e-1c56-42f0-91fc-b525def18c23.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">I had a jolly good fun time tonight updating
my code samples to the March CTP of Orcas.  Well, actually, I'm not quite finished
as of yet because of the wonderful error in the title of this post.  It appears
VS.NET Orcas doesn't want to let me recreate my data connection for my database that
I'm using for some LINQ to SQL examples. Woot!  Hopefully I'll figure out what
the dealy is shortly because I've got chapters I need to finish. :)<br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=304def0e-1c56-42f0-91fc-b525def18c23" /></body>
      <title>Orcas March CTP - Unable to find the requested .NET Framework Data provider</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,304def0e-1c56-42f0-91fc-b525def18c23.aspx</guid>
      <link>http://iqueryable.com/2007/03/06/OrcasMarchCTPUnableToFindTheRequestedNETFrameworkDataProvider.aspx</link>
      <pubDate>Tue, 06 Mar 2007 03:20:47 GMT</pubDate>
      <description>I had a jolly good fun time tonight updating my code samples to the March CTP of Orcas.&amp;nbsp; Well, actually, I'm not quite finished as of yet because of the wonderful error in the title of this post.&amp;nbsp; It appears VS.NET Orcas doesn't want to let me recreate my data connection for my database that I'm using for some LINQ to SQL examples. Woot!&amp;nbsp; Hopefully I'll figure out what the dealy is shortly because I've got chapters I need to finish. :)&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=304def0e-1c56-42f0-91fc-b525def18c23" /&gt;</description>
      <category>.net;linq;linq in action;orcas</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=ce80034e-2fd6-4ec7-abc0-9517ef2b70e0</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,ce80034e-2fd6-4ec7-abc0-9517ef2b70e0.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">I've been thinking recently that I need
to learn something new. Whether it be a new technology on the .NET side of the house,
or a new language, or a new web framework. I'm not sure what, but, I definitely feel
like I need something new that will cause me to stretch my mind a bit. 
<br /><br />
I've had the itch to dive into WPF for a while, but don't have a whole lot of time
at the moment to do anything on that front.  While I do have several ideas for
little WPF apps I'd like to see built for myself I have concerns it'd be a wasted
effort since my design/UI skills have diminished over the years, and what sense is
building a WPF app if you can make it look slick as all get out?  
<br /><br />
I've also been thinking a bit about trying my hand with a new language.  The
top contenders would be Ruby, via <a href="http://www.rubyonrails.com/">Rails</a>,
or Python (with <a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython">IronPython</a>). 
I'm leaning more towards the Ruby/Rails track since it would involve me stepping almost
completely out of my comfort zone.  
<br /><br />
I have a few things on my plate that I could choose to do using non .NET technologies. 
Of course the problem is that I could undoubtedly do them much faster using my bread
and butter technologies.  The benefit of the .NET appraoch would be that I could
get more things done and perhaps have extra spending money due to being able to do
more of the little projects I've been asked by peeps to lend a hand on.  The
downside is that I'd still feel like I need to learn something new, and stretch my
brain a bit.  I've run into this same scenario many many times in the past, and
always went with the approach that would get things done the fastest since I never
seem to have enough time available for anything else.  The problem, of course,
is one of the main reasons for doing little side projects outside of work is to stretch
yourself in ways that you might not be able to otherwise.<br /><br />
When confronted with such dilema's how do you choose?  Do you go safe, and stick
with what you know, or do go with the more difficult, and potentially more rewarding
path of trying something completely new?<br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=ce80034e-2fd6-4ec7-abc0-9517ef2b70e0" /></body>
      <title>The right time for a new technology</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,ce80034e-2fd6-4ec7-abc0-9517ef2b70e0.aspx</guid>
      <link>http://iqueryable.com/2007/02/21/TheRightTimeForANewTechnology.aspx</link>
      <pubDate>Wed, 21 Feb 2007 03:52:49 GMT</pubDate>
      <description>I've been thinking recently that I need to learn something new. Whether it be a new technology on the .NET side of the house, or a new language, or a new web framework. I'm not sure what, but, I definitely feel like I need something new that will cause me to stretch my mind a bit. &lt;br&gt;
&lt;br&gt;
I've had the itch to dive into WPF for a while, but don't have a whole lot of time
at the moment to do anything on that front.&amp;nbsp; While I do have several ideas for
little WPF apps I'd like to see built for myself I have concerns it'd be a wasted
effort since my design/UI skills have diminished over the years, and what sense is
building a WPF app if you can make it look slick as all get out?&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
I've also been thinking a bit about trying my hand with a new language.&amp;nbsp; The
top contenders would be Ruby, via &lt;a href="http://www.rubyonrails.com/"&gt;Rails&lt;/a&gt;,
or Python (with &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython"&gt;IronPython&lt;/a&gt;).&amp;nbsp;
I'm leaning more towards the Ruby/Rails track since it would involve me stepping almost
completely out of my comfort zone.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
I have a few things on my plate that I could choose to do using non .NET technologies.&amp;nbsp;
Of course the problem is that I could undoubtedly do them much faster using my bread
and butter technologies.&amp;nbsp; The benefit of the .NET appraoch would be that I could
get more things done and perhaps have extra spending money due to being able to do
more of the little projects I've been asked by peeps to lend a hand on.&amp;nbsp; The
downside is that I'd still feel like I need to learn something new, and stretch my
brain a bit.&amp;nbsp; I've run into this same scenario many many times in the past, and
always went with the approach that would get things done the fastest since I never
seem to have enough time available for anything else.&amp;nbsp; The problem, of course,
is one of the main reasons for doing little side projects outside of work is to stretch
yourself in ways that you might not be able to otherwise.&lt;br&gt;
&lt;br&gt;
When confronted with such dilema's how do you choose?&amp;nbsp; Do you go safe, and stick
with what you know, or do go with the more difficult, and potentially more rewarding
path of trying something completely new?&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=ce80034e-2fd6-4ec7-abc0-9517ef2b70e0" /&gt;</description>
      <category>.net;rails</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=0f1a2386-5894-4a74-94ce-9ab398da2679</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,0f1a2386-5894-4a74-94ce-9ab398da2679.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">I'm sure <a href="http://www.novell.com/news/press/item.jsp?id=1289&amp;locale=en_US">Linux
users across the world are going crazy about the fact that they can now run Visual
Basic .NET</a>, courtesy of Mono!  Or not.<br /><br />
In all seriousness, it is pretty cool that the folks on the Mono project have added
support for Visual Basic.  I wonder how good the WinForms story is these days
on Linux.  I know the last time I checked it out for the Mac, it wasn't a pretty
picture.<br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=0f1a2386-5894-4a74-94ce-9ab398da2679" /></body>
      <title>Visual Basic on Linux!</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,0f1a2386-5894-4a74-94ce-9ab398da2679.aspx</guid>
      <link>http://iqueryable.com/2007/02/21/VisualBasicOnLinux.aspx</link>
      <pubDate>Wed, 21 Feb 2007 03:34:47 GMT</pubDate>
      <description>I'm sure &lt;a href="http://www.novell.com/news/press/item.jsp?id=1289&amp;amp;locale=en_US"&gt;Linux
users across the world are going crazy about the fact that they can now run Visual
Basic .NET&lt;/a&gt;, courtesy of Mono!&amp;nbsp; Or not.&lt;br&gt;
&lt;br&gt;
In all seriousness, it is pretty cool that the folks on the Mono project have added
support for Visual Basic.&amp;nbsp; I wonder how good the WinForms story is these days
on Linux.&amp;nbsp; I know the last time I checked it out for the Mac, it wasn't a pretty
picture.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=0f1a2386-5894-4a74-94ce-9ab398da2679" /&gt;</description>
      <category>.net</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=a6975a47-cbe5-45d7-bfea-bc2ae680a033</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,a6975a47-cbe5-45d7-bfea-bc2ae680a033.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">Let's face it, .NET is meant to rule the
world. :)  With that out of the way let's get onto business.  Will someone
from Apple please talk to the folks that run the engineering team and get them to
dedicate some peeps to work on Cocoa#, or perhaps something completely Apple'ish such
as iDotNet.  While Mono has made some great strides on the Linux and Windows
sides of the world, it's still severely lacking when it comes to the Mac.  More
specifically, Mac GUI's.  As <a href="http://www.regdeveloper.co.uk/2007/02/16/uncle_mac_mono_/">Uncle
Mac points out, running GUI applications on the Mac simply doesn't feel right</a>. 
Everything is very polished on a Mac, and X11 apps just aren't cutting it.  Since
I'm asking for <a href="http://iqueryable.com/2007/02/16/C30NeedsVB9XMLLiterals.aspx">things
I want that I have more or less no shot of getting</a>, I might as well add this onto
my list right?<br /><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=a6975a47-cbe5-45d7-bfea-bc2ae680a033" /></body>
      <title>Hey Apple, can you put a couple engineers on Cocoa#?</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,a6975a47-cbe5-45d7-bfea-bc2ae680a033.aspx</guid>
      <link>http://iqueryable.com/2007/02/16/HeyAppleCanYouPutACoupleEngineersOnCocoa.aspx</link>
      <pubDate>Fri, 16 Feb 2007 18:03:18 GMT</pubDate>
      <description>Let's face it, .NET is meant to rule the world. :)&amp;nbsp; With that out of the way let's get onto business.&amp;nbsp; Will someone from Apple please talk to the folks that run the engineering team and get them to dedicate some peeps to work on Cocoa#, or perhaps something completely Apple'ish such as iDotNet.&amp;nbsp; While Mono has made some great strides on the Linux and Windows sides of the world, it's still severely lacking when it comes to the Mac.&amp;nbsp; More specifically, Mac GUI's.&amp;nbsp; As &lt;a href="http://www.regdeveloper.co.uk/2007/02/16/uncle_mac_mono_/"&gt;Uncle
Mac points out, running GUI applications on the Mac simply doesn't feel right&lt;/a&gt;.&amp;nbsp;
Everything is very polished on a Mac, and X11 apps just aren't cutting it.&amp;nbsp; Since
I'm asking for &lt;a href="http://iqueryable.com/2007/02/16/C30NeedsVB9XMLLiterals.aspx"&gt;things
I want that I have more or less no shot of getting&lt;/a&gt;, I might as well add this onto
my list right?&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=a6975a47-cbe5-45d7-bfea-bc2ae680a033" /&gt;</description>
      <category>.net;apple</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=51733648-23f7-4053-8333-d9f28eba56f1</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,51733648-23f7-4053-8333-d9f28eba56f1.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1180478&amp;SiteID=1">Boooooooooooooo!</a> :) 
I'd really like to get a new release that includes everything LINQ related that we
saw in the May 2006 CTP so I can start updating all my code samples and use all
the new wizz bang features that I'm sure they've added.
</p>
        <p>
          <strong>Update:</strong> I think I misread the post above.  The next Orcas CTP
isn't being pushed to March, it's just a bunch of LINQ to SQL stuff that isn't making
it into February that will show it's face in March.
</p>
        <img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=51733648-23f7-4053-8333-d9f28eba56f1" />
      </body>
      <title>Next Orcas CTP delayed until March</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,51733648-23f7-4053-8333-d9f28eba56f1.aspx</guid>
      <link>http://iqueryable.com/2007/02/02/NextOrcasCTPDelayedUntilMarch.aspx</link>
      <pubDate>Fri, 02 Feb 2007 14:14:43 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1180478&amp;amp;SiteID=1"&gt;Boooooooooooooo!&lt;/a&gt; :)&amp;nbsp;
I'd really like to get a new release that includes everything LINQ related that we
saw&amp;nbsp;in the May 2006 CTP so I can start updating all my code samples and use all
the new wizz bang features that I'm sure they've added.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Update:&lt;/strong&gt; I think I misread the post above.&amp;nbsp; The next Orcas CTP
isn't being pushed to March, it's just a bunch of LINQ to SQL stuff that isn't making
it into February that will show it's face in March.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=51733648-23f7-4053-8333-d9f28eba56f1" /&gt;</description>
      <category>.net;linq</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=0aa2a09b-4013-4918-a831-1264840687fa</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,0aa2a09b-4013-4918-a831-1264840687fa.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <p>
          <a href="http://www.activesharp.com/">John Rusk</a> left a <a href="http://iqueryable.com/CommentView,guid,6441f966-6135-4327-b15c-4ed03120f093.aspx#commentstart">comment</a> on
my <a href="http://iqueryable.com/2007/02/02/DevelopersDitchingMicrosoftForRails.aspx">Developers
ditching Microsoft for Rails</a> post and brought to light the fact that developers
might not be leaving because of what Rails is doing right, but instead because of
what .NET is doing wrong.  I definitely agree that many of the reasons people
leave the .NET world for technologies like Rails is because working in .NET isn't
as smooth as it should be.  One of the things that makes Rails so successful
is its focus, and the embracing of constraints.  Rather then trying to be everything
to everybody, Rails is focused on a specific vision.  As I've said in the past, <a href="http://steve.emxsoftware.com/RubyOnRails/Rails+isOpinionated+Software">Rails
is opinionated software</a>. 
</p>
        <p>
For those looking for Rails-ish frameworks in the .NET world you might want to checkout <a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=actionpack">SubSonic</a> and <a href="http://www.castleproject.org/">Castle's
ActiveRecord and MonoRail</a> projects.  I just had <a href="http://steve.emxsoftware.com/NET/Ruby+on+Rails+NET">De-ja-vu</a>.
</p>
        <img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=0aa2a09b-4013-4918-a831-1264840687fa" />
      </body>
      <title>Rails like frameworks for the .NET developer</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,0aa2a09b-4013-4918-a831-1264840687fa.aspx</guid>
      <link>http://iqueryable.com/2007/02/02/RailsLikeFrameworksForTheNETDeveloper.aspx</link>
      <pubDate>Fri, 02 Feb 2007 14:05:07 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.activesharp.com/"&gt;John Rusk&lt;/a&gt; left a &lt;a href="http://iqueryable.com/CommentView,guid,6441f966-6135-4327-b15c-4ed03120f093.aspx#commentstart"&gt;comment&lt;/a&gt; on
my &lt;a href="http://iqueryable.com/2007/02/02/DevelopersDitchingMicrosoftForRails.aspx"&gt;Developers
ditching Microsoft for Rails&lt;/a&gt; post and brought to light the fact that developers
might not be leaving because of what Rails is doing right, but instead because of
what .NET is doing wrong.&amp;nbsp; I definitely agree that many of the reasons people
leave the .NET world for technologies like Rails is because working in .NET isn't
as smooth as it should be.&amp;nbsp; One of the things that makes Rails so successful
is its focus, and the embracing of constraints.&amp;nbsp; Rather then trying to be everything
to everybody, Rails is focused on a specific vision.&amp;nbsp; As I've said in the past, &lt;a href="http://steve.emxsoftware.com/RubyOnRails/Rails+isOpinionated+Software"&gt;Rails
is opinionated software&lt;/a&gt;. 
&lt;p&gt;
For those looking for Rails-ish frameworks in the .NET world you might want to checkout &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=actionpack"&gt;SubSonic&lt;/a&gt; and &lt;a href="http://www.castleproject.org/"&gt;Castle's
ActiveRecord and MonoRail&lt;/a&gt; projects.&amp;nbsp; I just had &lt;a href="http://steve.emxsoftware.com/NET/Ruby+on+Rails+NET"&gt;De-ja-vu&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=0aa2a09b-4013-4918-a831-1264840687fa" /&gt;</description>
      <category>.net;rails</category>
    </item>
    <item>
      <trackback:ping>http://iqueryable.com/Trackback.aspx?guid=6441f966-6135-4327-b15c-4ed03120f093</trackback:ping>
      <pingback:server>http://iqueryable.com/pingback.aspx</pingback:server>
      <pingback:target>http://iqueryable.com/PermaLink,guid,6441f966-6135-4327-b15c-4ed03120f093.aspx</pingback:target>
      <dc:creator>Steve Eichert</dc:creator>
      <body xmlns="http://www.w3.org/1999/xhtml">I've been reading a lot of stories lately
about developers leaving the friendly confines of .NET Land for Rails and other non-Microsoft
technologies.  Perhaps the most notable being Mike Gunderloy of  <a href="http://www.larkware.com/">The
Daily Grind</a> fame.  You can read more about Mike's journey over on his <a href="http://www.afreshcup.com/">A
Fresh Cup - Notes from a recovering Microsoft addict</a> blog.  Also of interest
is the <a href="http://forum.softiesonrails.com/">Forums on the softiesonrails.com</a> site.  
<br /><br />
I actually thought about switching my blog engine over to <a href="http://mephistoblog.com/">Mephisto</a> to
get a little taste of Rails, however, since I'm hosting this on a Windows box the
thought was short lived.<br /><a href="http://www.afreshcup.com/"></a><p></p><img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=6441f966-6135-4327-b15c-4ed03120f093" /></body>
      <title>Developers ditching Microsoft for Rails</title>
      <guid isPermaLink="false">http://iqueryable.com/PermaLink,guid,6441f966-6135-4327-b15c-4ed03120f093.aspx</guid>
      <link>http://iqueryable.com/2007/02/02/DevelopersDitchingMicrosoftForRails.aspx</link>
      <pubDate>Fri, 02 Feb 2007 04:26:46 GMT</pubDate>
      <description>I've been reading a lot of stories lately about developers leaving the friendly confines of .NET Land for Rails and other non-Microsoft technologies.&amp;nbsp; Perhaps the most notable being Mike Gunderloy of&amp;nbsp; &lt;a href="http://www.larkware.com/"&gt;The
Daily Grind&lt;/a&gt; fame.&amp;nbsp; You can read more about Mike's journey over on his &lt;a href="http://www.afreshcup.com/"&gt;A
Fresh Cup - Notes from a recovering Microsoft addict&lt;/a&gt; blog.&amp;nbsp; Also of interest
is the &lt;a href="http://forum.softiesonrails.com/"&gt;Forums on the softiesonrails.com&lt;/a&gt; site.&amp;nbsp; 
&lt;br&gt;
&lt;br&gt;
I actually thought about switching my blog engine over to &lt;a href="http://mephistoblog.com/"&gt;Mephisto&lt;/a&gt; to
get a little taste of Rails, however, since I'm hosting this on a Windows box the
thought was short lived.&lt;br&gt;
&lt;a href="http://www.afreshcup.com/"&gt;&lt;/a&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://iqueryable.com/aggbug.ashx?id=6441f966-6135-4327-b15c-4ed03120f093" /&gt;</description>
      <category>rails;.net</category>
    </item>
  </channel>
</rss>