<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.pluralsight.com/community/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>CraigBlog - All Comments</title><link>http://www.pluralsight.com/community/blogs/craig/default.aspx</link><description>Craig Andera&amp;#39;s Weblog</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>re: What Is All the Fuss About How You Can Write DSLs in Lisp?</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2009/01/05/what-is-all-the-fuss-about-how-you-can-write-dsls-in-lisp.aspx#56100</link><pubDate>Thu, 08 Jan 2009 14:36:29 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56100</guid><dc:creator>craig-andera</dc:creator><description>&lt;p&gt;@Darrel: then why the comment about functions? &lt;/p&gt;
&lt;p&gt;I think the idea that we&amp;#39;re somehow going to come up with a language that is easy for a person with no programming experience to write is laughable - businesses can&amp;#39;t even define their requirements in English, and whatever the DSL looks like, it&amp;#39;s not going to be English. It&amp;#39;s going to be a programming language, with variables, flow control, etc. etc. You can reduce the amount of repetition and provide convenient libraries to make it more tractable than, say, Perl, but at the end of the day you cannot abstract away the fact that you&amp;#39;re specifying a protocol. &lt;/p&gt;
&lt;p&gt;Real example: SQL is a DSL. Do we generally let business users write it directly? &lt;/p&gt;
&lt;p&gt;Also, I don&amp;#39;t see that external DSLs are inherently better at avoiding injection attacks. That depends entirely on the implementation. &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56100" width="1" height="1"&gt;</description></item><item><title>re: What Is All the Fuss About How You Can Write DSLs in Lisp?</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2009/01/05/what-is-all-the-fuss-about-how-you-can-write-dsls-in-lisp.aspx#56099</link><pubDate>Thu, 08 Jan 2009 13:51:22 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56099</guid><dc:creator>Darrel Miller</dc:creator><description>&lt;p&gt;I think all that Chris was trying to say is that using an external DSL, it is easier to make a language that is readable to a business person. &amp;nbsp;LISP just happened to be an easy dog to kick.&lt;/p&gt;
&lt;p&gt;The other advantage of external DSLs, if you are going to allow &amp;quot;users&amp;quot; to input logic, is you can easily avoid the (sql | html | script) injection attacks.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56099" width="1" height="1"&gt;</description></item><item><title>re: Using a Custom WSDL File in ASP.NET Web Services</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2005/12/15/17482.aspx#56078</link><pubDate>Tue, 06 Jan 2009 15:49:12 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56078</guid><dc:creator>Mike</dc:creator><description>&lt;p&gt;At beginning I noticed the generated wsdl has something &lt;/p&gt;
&lt;p&gt;&amp;lt;wsdl:port name=&amp;quot;MyBinding1&amp;quot; binding=&amp;quot;tns:GetContentBinding&amp;quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;instead of &lt;/p&gt;
&lt;p&gt;&amp;lt;wsdl:port name=&amp;quot;MyBinding12&amp;quot; binding=&amp;quot;tns:GetContentBinding12&amp;quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;any comments for that?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56078" width="1" height="1"&gt;</description></item><item><title>re: Announcing HoboCopy</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2006/09/20/38362.aspx#56075</link><pubDate>Tue, 06 Jan 2009 13:18:52 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56075</guid><dc:creator>craig-andera</dc:creator><description>&lt;p&gt;Sorry, no. Haven&amp;#39;t had time to work on Hobocopy in a long time. I will say that I run hobocopy on my W2K3 box all the time without trouble. &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56075" width="1" height="1"&gt;</description></item><item><title>re: Announcing HoboCopy</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2006/09/20/38362.aspx#56074</link><pubDate>Tue, 06 Jan 2009 06:06:40 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56074</guid><dc:creator>Rick</dc:creator><description>&lt;p&gt;I have the same problem Felix had back in Sept. &amp;nbsp;Namely, when I run hobocopy on Server 2003 (sp2) I get:&lt;/p&gt;
&lt;p&gt;C:\Documents and Settings\Administrator&amp;gt;\hobocopy /full /verbosity=4 d:\intuit\q&lt;/p&gt;
&lt;p&gt;uickbooks c:\backup.place\quickbooks *.qbw&lt;/p&gt;
&lt;p&gt;HoboCopy (c) 2006 Wangdera Corporation. hobocopy@wangdera.com&lt;/p&gt;
&lt;p&gt;Calling CoInitialize&lt;/p&gt;
&lt;p&gt;Starting a full copy from d:\intuit\quickbooks to c:\backup.place\quickbooks&lt;/p&gt;
&lt;p&gt;Calling CreateVssBackupComponents&lt;/p&gt;
&lt;p&gt;Calling InitializeForBackup&lt;/p&gt;
&lt;p&gt;Calling GatherWriterMetadata&lt;/p&gt;
&lt;p&gt;C:\Documents and Settings\Administrator&amp;gt;&lt;/p&gt;
&lt;p&gt;Did you ever find any clues as to why it just stops at this point?&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56074" width="1" height="1"&gt;</description></item><item><title>re: What Is All the Fuss About How You Can Write DSLs in Lisp?</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2009/01/05/what-is-all-the-fuss-about-how-you-can-write-dsls-in-lisp.aspx#56071</link><pubDate>Mon, 05 Jan 2009 21:31:18 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56071</guid><dc:creator>craig-andera</dc:creator><description>&lt;p&gt;@Shawn: re your post: &lt;/p&gt;
&lt;p&gt;So what&amp;#39;s the bright line between &amp;quot;internal&amp;quot; and &amp;quot;external&amp;quot; DSLs? Presumably it&amp;#39;s the syntax. What are the units of syntax? :) &lt;/p&gt;
&lt;p&gt;Not that *you&amp;#39;re* saying this, but this seems to be to be the &amp;quot;Lisp looks weird&amp;quot; argument. That&amp;#39;s an old one, and I&amp;#39;m not going to try to change anyone&amp;#39;s mind on it, despite my personal opinion that it is completely wrong. I will say that I haven&amp;#39;t heard this one from anyone who&amp;#39;s actually *tried* Lisp, and that it&amp;#39;s pretty funny to hear it from anyone who doesn&amp;#39;t also complain about XML. Again, that comment is not aimed at you. &lt;/p&gt;
&lt;p&gt;BTW, if you don&amp;#39;t like that particular &amp;quot;DSL&amp;quot;, there&amp;#39;s nothing stopping you from using Lisp to express it as this: &lt;/p&gt;
&lt;p&gt;(when (&amp;lt; time 20:00) and timing-is-right then &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;(trade (make-shares 100 x)))&lt;/p&gt;
&lt;p&gt;Or even &lt;/p&gt;
&lt;p&gt;(when time &amp;lt; 20:00 and timing-is-right then trade 100 shares)&lt;/p&gt;
&lt;p&gt;or whatever. (See the loop macro in Common Lisp for a really interesting demonstration of this sort of thing.) As you progress towards the latter, you move closer and closer towards writing a parser/lexer, and farther and farther from the beauty of using a homoiconic language. &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56071" width="1" height="1"&gt;</description></item><item><title>re: What Is All the Fuss About How You Can Write DSLs in Lisp?</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2009/01/05/what-is-all-the-fuss-about-how-you-can-write-dsls-in-lisp.aspx#56070</link><pubDate>Mon, 05 Jan 2009 21:23:45 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56070</guid><dc:creator>craig-andera</dc:creator><description>&lt;p&gt;@Wesner: I assume your comments are directed at Chris, not me. &lt;/p&gt;
&lt;p&gt;@Shawn: Looks like you forgot the link. I assume it&amp;#39;s this one: &lt;a rel="nofollow" target="_new" href="http://wildermuth.com/2009/01/05/What_is_all_the_fuss_about_how_you_can_write_DSLs_in_Lisp"&gt;wildermuth.com/.../What_is_all_the_fuss_about_how_you_can_write_DSLs_in_Lisp&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56070" width="1" height="1"&gt;</description></item><item><title>re: What Is All the Fuss About How You Can Write DSLs in Lisp?</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2009/01/05/what-is-all-the-fuss-about-how-you-can-write-dsls-in-lisp.aspx#56069</link><pubDate>Mon, 05 Jan 2009 21:14:49 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56069</guid><dc:creator>Shawn Wildermuth</dc:creator><description>&lt;p&gt;I responded on my blog (link attached).&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56069" width="1" height="1"&gt;</description></item><item><title>re: What Is All the Fuss About How You Can Write DSLs in Lisp?</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2009/01/05/what-is-all-the-fuss-about-how-you-can-write-dsls-in-lisp.aspx#56068</link><pubDate>Mon, 05 Jan 2009 20:43:37 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56068</guid><dc:creator>Wesner Moise</dc:creator><description>&lt;p&gt;A few things here.... You are blinded by your imperative mindset. &lt;/p&gt;
&lt;p&gt;The truth is Lisp makes it harder to tell if you are using code or data, because the two ideas are seamless.&lt;/p&gt;
&lt;p&gt;In this particular case, Lisp provides several ways of interpreting this DSL, only one of which is regular function calls:&lt;/p&gt;
&lt;p&gt;Second, This could also be quoted data.&lt;/p&gt;
&lt;p&gt;Third, The DSL can also be macro-expanded into code or other data.&lt;/p&gt;
&lt;p&gt;Not only are there multiple ways of interpreting this data, but you can combine ways, too. &lt;/p&gt;
&lt;p&gt;The quoted data, for instance, has the option of later being &amp;quot;EVAL&amp;quot;uated as code or it could be processed by code. If it is evaluated, you can also include other LISP operators in the DSL.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56068" width="1" height="1"&gt;</description></item><item><title>re: C# Mixins</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2008/07/09/c-mixins.aspx#56061</link><pubDate>Mon, 05 Jan 2009 14:37:34 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56061</guid><dc:creator>Vladimir Kelman</dc:creator><description>&lt;p&gt;Bill Wagner suggested the same thing here &lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/en-us/vcsharp/bb625996.aspx"&gt;msdn.microsoft.com/.../bb625996.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So did John Rusk here &lt;a rel="nofollow" target="_new" href="http://dotnet.agilekiwi.com/blog/2006/04/extension-methods-solution.html"&gt;dotnet.agilekiwi.com/.../extension-methods-solution.html&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Scala supports traits/mixins naturally &lt;a rel="nofollow" target="_new" href="http://www.codecommit.com/blog/scala/scala-for-java-refugees-part-5"&gt;www.codecommit.com/.../scala-for-java-refugees-part-5&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56061" width="1" height="1"&gt;</description></item><item><title>re: Making iTunes Work with MSN Messenger's &amp;quot;Now Playing&amp;quot; Feature</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2005/04/27/7783.aspx#56058</link><pubDate>Sun, 04 Jan 2009 20:08:06 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56058</guid><dc:creator>Rik</dc:creator><description>&lt;p&gt;It&amp;#39;s allready checked with me, but it doesn&amp;#39;t work. so this does not help me at all&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56058" width="1" height="1"&gt;</description></item><item><title>re: Making iTunes Work with MSN Messenger's &amp;quot;Now Playing&amp;quot; Feature</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2005/04/27/7783.aspx#56036</link><pubDate>Fri, 02 Jan 2009 10:17:03 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56036</guid><dc:creator>Katie</dc:creator><description>&lt;p&gt;I have the latest version of everything; wmp, itunes AND msn messenger and nothing works! I&amp;#39;ve tried all this...&lt;/p&gt;
&lt;p&gt;Very irritating...any more ideas anyone?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56036" width="1" height="1"&gt;</description></item><item><title>Interesting Finds: January 1, 2009</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2008/12/31/2008-the-year-in-review.aspx#56030</link><pubDate>Thu, 01 Jan 2009 17:59:17 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56030</guid><dc:creator>Jason Haley</dc:creator><description>&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56030" width="1" height="1"&gt;</description></item><item><title>2008 – The Year in Review</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2008/11/19/a-c-repl-in-clojure.aspx#56016</link><pubDate>Wed, 31 Dec 2008 20:35:12 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56016</guid><dc:creator>CraigBlog</dc:creator><description>&lt;p&gt;It’s the end of the year, and although I skipped 2007, it is my habit to take a look back here on matters&lt;/p&gt;
&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56016" width="1" height="1"&gt;</description></item><item><title>2008 – The Year in Review</title><link>http://www.pluralsight.com/community/blogs/craig/archive/2008/10/07/typing-speed-mode-emacs-minor-mode.aspx#56015</link><pubDate>Wed, 31 Dec 2008 20:35:12 GMT</pubDate><guid isPermaLink="false">d057c89c-07b5-4bfb-b52f-d79d1e3ece89:56015</guid><dc:creator>CraigBlog</dc:creator><description>&lt;p&gt;It’s the end of the year, and although I skipped 2007, it is my habit to take a look back here on matters&lt;/p&gt;
&lt;img src="http://www.pluralsight.com/community/aggbug.aspx?PostID=56015" width="1" height="1"&gt;</description></item></channel></rss>