<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Translating intentions and mechanisms</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx</link><description>Before I get into today's blogging, a quick note about my recent post on How To Not Get A Question Answered . That was certainly not intended to be fishing for compliments or chiding people for never acknowledging help ten years ago; that said, I appreciate</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Translating intentions and mechanisms</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8336288</link><pubDate>Tue, 25 Mar 2008 21:53:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8336288</guid><dc:creator>KAE</dc:creator><description>&lt;p&gt;&amp;gt;AttemptMultiple(()=&amp;gt;Execute());&lt;/p&gt;
&lt;p&gt;Why not &amp;quot;AttemptMultiple(Execute);&amp;quot; ?&lt;/p&gt;
</description></item><item><title>re: Translating intentions and mechanisms</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8336293</link><pubDate>Tue, 25 Mar 2008 21:55:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8336293</guid><dc:creator>Eric Lippert</dc:creator><description>&lt;p&gt;That would work in this case. But what if the code inside the macro took an argument? &lt;/p&gt;
</description></item><item><title>re: Translating intentions and mechanisms</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8336666</link><pubDate>Wed, 26 Mar 2008 01:21:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8336666</guid><dc:creator>Matthew Douglass-Riley</dc:creator><description>&lt;p&gt;Relevant to the &amp;quot;automatic retry&amp;quot; discussion:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/oldnewthing/archive/2005/11/07/489807.aspx"&gt;http://blogs.msdn.com/oldnewthing/archive/2005/11/07/489807.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Translating intentions and mechanisms</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8336936</link><pubDate>Wed, 26 Mar 2008 04:10:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8336936</guid><dc:creator>Bob Denny</dc:creator><description>&lt;p&gt;In my case, it's dealing with atronomical instruments that occasionally misbehave in an automated image acquisition system. The devices operate below a standardized driver layer. And the real problem is political - users want me to do automatic retries instead of them having to fix the problem (or have their instrument supplier fix it!). It's very difficult to explain why I refuse to put in &amp;quot;recovery&amp;quot; code for their flaky device. It needs to be in the driver if anywhere, and I say &amp;quot;nowhere&amp;quot;; talk to the people to whom you paid money for the instrument. Tell them &amp;nbsp;to make it work reliably.&lt;/p&gt;
&lt;p&gt;Anyway, the reasons for avoiding retries are (1) avoiding damage to equipment, and (2) avoiding bloating my software with device-dependent code, and simultaneously defeating the whole purpose of drivers. &amp;quot;No software victories over hardware!&amp;quot;&lt;/p&gt;
</description></item><item><title>re: Translating intentions and mechanisms</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8337167</link><pubDate>Wed, 26 Mar 2008 07:21:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8337167</guid><dc:creator>Christopher Bennage</dc:creator><description>&lt;p&gt;Great post, Eric. Keepem' coming.&lt;/p&gt;
</description></item><item><title>re: Translating intentions and mechanisms</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8337450</link><pubDate>Wed, 26 Mar 2008 11:38:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8337450</guid><dc:creator>Olmo</dc:creator><description>&lt;p&gt;The whole standard SQL synthax looks like an example of the third case (too much emphasis in intention). I think the Linq synthax is better, not only for allowing intellisense but for expressing the mechanism (order) the operations should be done. &lt;/p&gt;
&lt;p&gt;When will we have a Microsoft Linq Server that takes ExpressionTrees insead of plain SQL :P&lt;/p&gt;
</description></item><item><title>re: Translating intentions and mechanisms</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8339653</link><pubDate>Thu, 27 Mar 2008 16:39:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8339653</guid><dc:creator>RichB</dc:creator><description>&lt;p&gt;Deadlocks is about the only area I've come across where this technique is useful.&lt;/p&gt;
</description></item><item><title>re: Translating intentions and mechanisms</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8342416</link><pubDate>Sat, 29 Mar 2008 00:37:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8342416</guid><dc:creator>Merit</dc:creator><description>&lt;p&gt;I imagine everyone here already knows about it but www.TheDailyWTF.com is chock FULL of examples of mismatches between intentions and mechanisms.&lt;/p&gt;
</description></item><item><title>re: Translating intentions and mechanisms</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8342954</link><pubDate>Sat, 29 Mar 2008 08:03:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8342954</guid><dc:creator>WaterBreath</dc:creator><description>&lt;p&gt;&amp;gt;&amp;gt; Why not &amp;quot;AttemptMultiple(Execute);&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;gt; That would work in this case. But what if the code inside the macro took an argument?&lt;/p&gt;
&lt;p&gt;There is a subtle lesson to be learned here about crafting examples, and possibly also about the illuminating aspect of teaching the general solution as opposed to the specific solution... &amp;nbsp;Thank you Eric, for an unexpected epiphany. =)&lt;/p&gt;
</description></item><item><title>Community Convergence XLII</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8344824</link><pubDate>Mon, 31 Mar 2008 03:45:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8344824</guid><dc:creator>Charlie Calvert's Community Blog</dc:creator><description>&lt;p&gt;LINQ in Portuguese ( Direct ) &lt;a rel="nofollow" target="_new" href="http://www.linqpad.net"&gt;http://www.linqpad.net&lt;/a&gt; Eric Lippert Why Can't I Access A Protected Member&lt;/p&gt;
</description></item><item><title>Community Convergence XLII</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8345055</link><pubDate>Mon, 31 Mar 2008 07:56:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8345055</guid><dc:creator>Charlie Calvert's Community Blog</dc:creator><description>&lt;p&gt;Welcome to the forty-second issue of Community Convergence. The last few weeks have been a busy time&lt;/p&gt;
</description></item><item><title>re: Translating intentions and mechanisms</title><link>http://blogs.msdn.com/ericlippert/archive/2008/03/25/translating-intentions-and-mechanisms.aspx#8404436</link><pubDate>Thu, 17 Apr 2008 22:56:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8404436</guid><dc:creator>Luc De Wilde</dc:creator><description>&lt;p&gt;Hey Eric (and the others), I' m a Belgian banker who programs for fun (over ten years ago I did this for my job). &amp;nbsp;i surely agree with the translating manner, but I have some doubt with the statement: &amp;quot;Tell the user that something failed and let them decide when and if to retry it.&amp;quot; &amp;nbsp;I explain: on my home-network we have now and then some transmission problems. &amp;nbsp;I have written a small program to make a website with photos en I have to transfer this websites to my webspace. The transfer of a website takes in certain cases an hour or more, so I want my computer to upload the website unattended .... but I did NOT find a (free) FTP-program that I could tell to retry for about a minute or two when something goes wrong (they all have read your statement?). &amp;nbsp;So I have written a simple FTP-program myself with the AttemptMultiple-approach ... and it works fine! &amp;nbsp; &amp;nbsp; (Sorry for the errors in my writing English, my mother-language is Dutch.)&lt;/p&gt;
</description></item></channel></rss>