<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: A real world application of MGrammar (Oslo)</title>
	<atom:link href="http://blog.hexadecimal.se/2009/03/17/a-real-world-application-of-mgrammar-oslo/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hexadecimal.se/2009/03/17/a-real-world-application-of-mgrammar-oslo/</link>
	<description>Being creative in the digital age</description>
	<lastBuildDate>Mon, 04 May 2009 07:05:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Q</title>
		<link>http://blog.hexadecimal.se/2009/03/17/a-real-world-application-of-mgrammar-oslo/comment-page-1/#comment-10</link>
		<dc:creator>Q</dc:creator>
		<pubDate>Fri, 10 Apr 2009 13:13:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.hexadecimal.se/2009/03/17/ARealWorldApplicationOfMGrammarOslo.aspx#comment-10</guid>
		<description>For me, it&#039;s the value of fire-and-forget :-)  

Let us take an example from the credit card world. Every time you make a new release of a solution, no matter how minute the changes to the code, the entire solution has to go through rigorous testing, and the code has to be reviewed by a third party (to make sure you did not add any rules that make all purchases made with your credit card magically disappear). It would also require that the said third party have a very good understanding of the programming language you are using and can spot security vulnerabilities, SQL injection, buffer overflow issues and so on. This can take weeks, or even months and is very expensive.

Now imagine that the credit card rules change every week. How would you keep up?

By using the approach above, your code remains the same, but the *configuration* can change every week. And therein lies great value.

The new configuration is much easier and a lot less expensive to review and test. It&#039;s highly isolated and doesn&#039;t need to be reviewed by a programmer with security expertise. The process of updating the validation rules could then take as little as a day or two. That&#039;s a lot of time and money saved.

After the initial release, the greasemonkeys and suits can take care of your solution all on their own, and you can move on to other solutions, as opposed to you having to go back to make changes to it every week and  spending the rest of your career overseeing test protocols :-)</description>
		<content:encoded><![CDATA[<p>For me, it&#8217;s the value of fire-and-forget <img src='http://blog.hexadecimal.se/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   </p>
<p>Let us take an example from the credit card world. Every time you make a new release of a solution, no matter how minute the changes to the code, the entire solution has to go through rigorous testing, and the code has to be reviewed by a third party (to make sure you did not add any rules that make all purchases made with your credit card magically disappear). It would also require that the said third party have a very good understanding of the programming language you are using and can spot security vulnerabilities, SQL injection, buffer overflow issues and so on. This can take weeks, or even months and is very expensive.</p>
<p>Now imagine that the credit card rules change every week. How would you keep up?</p>
<p>By using the approach above, your code remains the same, but the *configuration* can change every week. And therein lies great value.</p>
<p>The new configuration is much easier and a lot less expensive to review and test. It&#8217;s highly isolated and doesn&#8217;t need to be reviewed by a programmer with security expertise. The process of updating the validation rules could then take as little as a day or two. That&#8217;s a lot of time and money saved.</p>
<p>After the initial release, the greasemonkeys and suits can take care of your solution all on their own, and you can move on to other solutions, as opposed to you having to go back to make changes to it every week and  spending the rest of your career overseeing test protocols <img src='http://blog.hexadecimal.se/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Not Important</title>
		<link>http://blog.hexadecimal.se/2009/03/17/a-real-world-application-of-mgrammar-oslo/comment-page-1/#comment-9</link>
		<dc:creator>Not Important</dc:creator>
		<pubDate>Fri, 10 Apr 2009 01:18:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.hexadecimal.se/2009/03/17/ARealWorldApplicationOfMGrammarOslo.aspx#comment-9</guid>
		<description>Maybe I am dense (or maybe the example does not fit M very well).

But the value proposition of using M to validate credit card numbers is that we replace If-Else statements in C#/VB/C/C++/Java/[insert widely used programming language] with If-Else statements in your own defined language?

What am I missing?</description>
		<content:encoded><![CDATA[<p>Maybe I am dense (or maybe the example does not fit M very well).</p>
<p>But the value proposition of using M to validate credit card numbers is that we replace If-Else statements in C#/VB/C/C++/Java/[insert widely used programming language] with If-Else statements in your own defined language?</p>
<p>What am I missing?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Q</title>
		<link>http://blog.hexadecimal.se/2009/03/17/a-real-world-application-of-mgrammar-oslo/comment-page-1/#comment-8</link>
		<dc:creator>Q</dc:creator>
		<pubDate>Thu, 09 Apr 2009 13:33:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.hexadecimal.se/2009/03/17/ARealWorldApplicationOfMGrammarOslo.aspx#comment-8</guid>
		<description>There&#039;s a little trick to it. First, you have to start Intellipad with Samples enabled (there should be a shortcut on your start menu named &quot;Intellipad (Samples Enabled)&quot;. If there isn&#039;t, you can create a shortcut to intellipad and add the following parameter:
/configuration:ipad-vs-samples.xaml

Once you&#039;ve started Intellipad with samples enabled, you can hit Ctrl+Shift+T, at which point you&#039;ll be prompted for an existing mgrammar (.mg) file. You can create an empty text document somewhere on your computer and rename it to .mg.  Select the file and open and you&#039;re good to go.

I agree this isn&#039;t the most intuitive solution, but it does the trick.

Have a look at this blog post by the Intellipad team blog for more info:

http://blogs.msdn.com/intellipad/archive/2008/10/29/creating-and-editing-mgrammar-files-with-intellipad.aspx</description>
		<content:encoded><![CDATA[<p>There&#8217;s a little trick to it. First, you have to start Intellipad with Samples enabled (there should be a shortcut on your start menu named &quot;Intellipad (Samples Enabled)&quot;. If there isn&#8217;t, you can create a shortcut to intellipad and add the following parameter:<br />
/configuration:ipad-vs-samples.xaml</p>
<p>Once you&#8217;ve started Intellipad with samples enabled, you can hit Ctrl+Shift+T, at which point you&#8217;ll be prompted for an existing mgrammar (.mg) file. You can create an empty text document somewhere on your computer and rename it to .mg.  Select the file and open and you&#8217;re good to go.</p>
<p>I agree this isn&#8217;t the most intuitive solution, but it does the trick.</p>
<p>Have a look at this blog post by the Intellipad team blog for more info:</p>
<p><a href="http://blogs.msdn.com/intellipad/archive/2008/10/29/creating-and-editing-mgrammar-files-with-intellipad.aspx" rel="nofollow">http://blogs.msdn.com/intellipad/archive/2008/10/29/creating-and-editing-mgrammar-files-with-intellipad.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vaibhav</title>
		<link>http://blog.hexadecimal.se/2009/03/17/a-real-world-application-of-mgrammar-oslo/comment-page-1/#comment-7</link>
		<dc:creator>vaibhav</dc:creator>
		<pubDate>Thu, 09 Apr 2009 12:58:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.hexadecimal.se/2009/03/17/ARealWorldApplicationOfMGrammarOslo.aspx#comment-7</guid>
		<description>I downloaded intellipad today on my pc, but there is no MUrl mode in it.</description>
		<content:encoded><![CDATA[<p>I downloaded intellipad today on my pc, but there is no MUrl mode in it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mahesh Khatri</title>
		<link>http://blog.hexadecimal.se/2009/03/17/a-real-world-application-of-mgrammar-oslo/comment-page-1/#comment-6</link>
		<dc:creator>Mahesh Khatri</dc:creator>
		<pubDate>Thu, 02 Apr 2009 04:54:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.hexadecimal.se/2009/03/17/ARealWorldApplicationOfMGrammarOslo.aspx#comment-6</guid>
		<description>Useful article. Thanks.</description>
		<content:encoded><![CDATA[<p>Useful article. Thanks.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
