<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" 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/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Chui's Counterpoint</title>
	
	<link>http://www.redmountainsw.com/wordpress</link>
	<description>Just another Red Mountain Software Sites site</description>
	<lastBuildDate>Thu, 24 May 2012 10:11:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/counterpoint" /><feedburner:info uri="counterpoint" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><item>
		<title>SQL Server Compact CE 4.0 Management Studio</title>
		<link>http://feedproxy.google.com/~r/counterpoint/~3/ajNWwAntdAU/</link>
		<comments>http://www.redmountainsw.com/wordpress/2012/05/24/sql-server-compact-ce-4-0-management-studio/#comments</comments>
		<pubDate>Thu, 24 May 2012 10:11:54 +0000</pubDate>
		<dc:creator>Chui</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[sqlserver]]></category>

		<guid isPermaLink="false">http://www.redmountainsw.com/wordpress/?p=1433</guid>
		<description><![CDATA[While there isn&#8217;t a SQL Server Management Studio that is compatible with SQL Server CE 4.0, the SQL CE ToolBox http://sqlcetoolbox.codeplex.com/ project at CodePlex worked well for me. (via Matt)]]></description>
			<content:encoded><![CDATA[<p>While there isn&#8217;t a SQL Server Management Studio that is compatible with SQL Server CE 4.0, the SQL CE ToolBox <a href="http://sqlcetoolbox.codeplex.com/">http://sqlcetoolbox.codeplex.com/</a> project at CodePlex worked well for me. (via <a href="http://cosier.wordpress.com/2011/08/15/sql-server-2008-ce-4-0-must-haves">Matt</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redmountainsw.com/wordpress/2012/05/24/sql-server-compact-ce-4-0-management-studio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.redmountainsw.com/wordpress/2012/05/24/sql-server-compact-ce-4-0-management-studio/</feedburner:origLink></item>
		<item>
		<title>Deploying SQL Server CE 4.0 privately</title>
		<link>http://feedproxy.google.com/~r/counterpoint/~3/3v2PaSgzbB8/</link>
		<comments>http://www.redmountainsw.com/wordpress/2012/05/20/deploying-sql-server-ce-4-0-privately/#comments</comments>
		<pubDate>Sun, 20 May 2012 10:47:09 +0000</pubDate>
		<dc:creator>Chui</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.redmountainsw.com/wordpress/?p=1434</guid>
		<description><![CDATA[Thanks to Agile Tech The System.Data.SqlServerCe and other binaries were already included and copied locally, but SqlServerCe.Entity wasn&#8217;t present. To get this deployment to work, the following needed to be done: Make sure System.Data.SqlServerCe is referenced and set to &#8220;Copy local&#8221; in properties Include the 7 needed SqlCe assembiles from Program Files\Microsoft SQL Server Compact [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to <a href="http://tech.aendeavors.com/2011/06/09/bin-deploy-sqlce-4-0-and-ef-4-1/">Agile Tech</a></p>
<p>The System.Data.SqlServerCe and other binaries were already included and copied locally, but SqlServerCe.Entity wasn&#8217;t present. To get this deployment to work, the following needed to be done:</p>
<ul>
<li>Make sure System.Data.SqlServerCe is referenced and set to &#8220;Copy local&#8221; in properties</li>
<li>Include the 7 needed SqlCe assembiles from Program Files\Microsoft SQL Server Compact Edition\v4.0, make sure to set as &#8220;Content&#8221; and &#8220;Copy if newer&#8221; in properties:
<ul>
<li>sqlceca40.dll</li>
<li>sqlcecompact40.dll</li>
<li>sqlceer40EN.dll</li>
<li>sqlceme40.dll</li>
<li>sqlceoledb40.dll</li>
<li>sqlceqp40.dll</li>
<li>sqlcese40.dll</li>
</ul>
</li>
<li>Install the following library package references using NuGet (right click References-&gt;Add Library Package Reference)
<ul>
<li>EntityFramework</li>
<li>EntityFramework.SqlServerCompact</li>
<li>This will create packages that will contain lib directories for System.Data.SqlServerCe.Entity, reference and &#8220;Copy local&#8221; for this library</li>
</ul>
</li>
<li>Add the following to app.config:</li>
</ul>
<p>&nbsp;</p>
<pre>&lt;system.data&gt;</pre>
<pre>    &lt;DbProviderFactories&gt;</pre>
<pre>      &lt;remove invariant="System.Data.SqlServerCe.4.0" /&gt;</pre>
<pre>      &lt;add name="Microsoft SQL Server Compact Data Provider 4.0"</pre>
<pre>           invariant="System.Data.SqlServerCe.4.0"</pre>
<pre>           description=".NET Framework Data Provider for Microsoft SQL Server Compact"</pre>
<pre>           type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/&gt;</pre>
<pre>    &lt;/DbProviderFactories&gt;</pre>
<pre>&lt;/system.data&gt;</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redmountainsw.com/wordpress/2012/05/20/deploying-sql-server-ce-4-0-privately/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.redmountainsw.com/wordpress/2012/05/20/deploying-sql-server-ce-4-0-privately/</feedburner:origLink></item>
		<item>
		<title>Google Group’s new design</title>
		<link>http://feedproxy.google.com/~r/counterpoint/~3/Yqf2cxCo38A/</link>
		<comments>http://www.redmountainsw.com/wordpress/2012/05/16/google-groups-new-design/#comments</comments>
		<pubDate>Wed, 16 May 2012 22:46:18 +0000</pubDate>
		<dc:creator>Chui</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.redmountainsw.com/wordpress/?p=1430</guid>
		<description><![CDATA[I don&#8217;t like the new layout at Google Groups. Here&#8217;s why:]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t like the new layout at Google Groups.</p>
<p>Here&#8217;s why:</p>
<p><a href="http://www.redmountainsw.com/wordpress/files/2012/05/google-groups.png"><img src="http://www.redmountainsw.com/wordpress/files/2012/05/google-groups.png" alt="" title="google-groups redesign" width="798" height="450" class="alignleft size-full wp-image-1431" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.redmountainsw.com/wordpress/2012/05/16/google-groups-new-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.redmountainsw.com/wordpress/2012/05/16/google-groups-new-design/</feedburner:origLink></item>
		<item>
		<title>Odd Silverlight Chart bug when printing</title>
		<link>http://feedproxy.google.com/~r/counterpoint/~3/ZUKQxsYHhmM/</link>
		<comments>http://www.redmountainsw.com/wordpress/2012/05/04/odd-silverlight-chart-bug-when-printing/#comments</comments>
		<pubDate>Fri, 04 May 2012 04:39:15 +0000</pubDate>
		<dc:creator>Chui</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.redmountainsw.com/wordpress/?p=1424</guid>
		<description><![CDATA[I came across the strangest bug in Silverlight to date. I had been using the Chart component from Silverlight Toolkit, and under particular conditions, specifically: Use Silverlight 4 Navigate to a page containing the chart Print the chart by pulling it out of the visual tree, and putting it back again Navigate back Navigate to [...]]]></description>
			<content:encoded><![CDATA[<p>I came across the strangest bug in Silverlight to date. I had been using the Chart component from Silverlight Toolkit, and under particular conditions, specifically:</p>
<ul>
<li>Use Silverlight 4</li>
<li>Navigate to a page containing the chart</li>
<li>Print the chart by pulling it out of the visual tree, and putting it back again</li>
<li>Navigate back</li>
<li>Navigate to the page containing the chart one more time</li>
<li>Print chart again</li>
</li>
<p>And boom, I get this error: &#8220;The name already exists in the tree: Breadcrumbs&#8221;. It turned out to be the Chart Title contains a named element.</p>
<pre class="brush: xml">
            &lt;toolkit:Chart.Title&gt;
                &lt;StackPanel&gt;
                    &lt;TextBlock&gt;Title 1&lt;/TextBlock&gt;
                    &lt;ItemsControl x:Name=&quot;Breadcrumbs&quot;&gt;
                        &lt;ItemsControl.ItemTemplate&gt;
                            &lt;DataTemplate&gt;
                                &lt;TextBlock FontSize=&quot;10&quot; Text=&quot;{Binding}&quot; /&gt;
                            &lt;/DataTemplate&gt;
                        &lt;/ItemsControl.ItemTemplate&gt;
                        &lt;ItemsControl.ItemsSource&gt;
                            &lt;toolkit:ObjectCollection&gt;
                                &lt;clr:String&gt;January&lt;/clr:String&gt;
                                &lt;clr:String&gt;February&lt;/clr:String&gt;
                                &lt;clr:String&gt;March&lt;/clr:String&gt;
                            &lt;/toolkit:ObjectCollection&gt;
                        &lt;/ItemsControl.ItemsSource&gt;
                    &lt;/ItemsControl&gt;
                &lt;/StackPanel&gt;
            &lt;/toolkit:Chart.Title&gt;
</pre>
<p>The solution was to omit the x:Name i.e.</p>
<pre class="brush: xml">
&lt;ItemsControl &gt;
  ...
&lt;/ItemsControl &gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.redmountainsw.com/wordpress/2012/05/04/odd-silverlight-chart-bug-when-printing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.redmountainsw.com/wordpress/2012/05/04/odd-silverlight-chart-bug-when-printing/</feedburner:origLink></item>
		<item>
		<title>Custom Windows 8 controls with HTML + JS</title>
		<link>http://feedproxy.google.com/~r/counterpoint/~3/eykfxl1JqEs/</link>
		<comments>http://www.redmountainsw.com/wordpress/2012/04/28/custom-windows-8-controls-with-html-js/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 10:12:27 +0000</pubDate>
		<dc:creator>Chui</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[WinRT]]></category>
		<category><![CDATA[winrt]]></category>

		<guid isPermaLink="false">http://www.redmountainsw.com/wordpress/?p=1420</guid>
		<description><![CDATA[One of my pet peeves about developing on the .NET platform prior to Silverlight 5 was the difficulty in binding to data where the schema is not known at compile time. Since then, we have ICustomTypeProvider which can direct the data binding machinery to bind to dictionaries or any custom data structure. Unfortunately, ICustomTypeProvider is [...]]]></description>
			<content:encoded><![CDATA[<p>One of my pet peeves about developing on the .NET platform prior to Silverlight 5 was the difficulty in binding to data where the schema is not known at compile time. Since then, we have <a href="http://www.jonathanantoine.com/2011/11/24/wpf-4-5-%e2%80%93-part-13-binding-to-types-that-implement-icustomtypeprovider-2/">ICustomTypeProvider</a> which can direct the data binding machinery to bind to dictionaries <em>or any custom data structure</em>.
</p>
<p>Unfortunately, ICustomTypeProvider is not available on WinRT. I asked Nick Hodges @nickhodgeMSFT at #WinDevAu today what were the options, and he suggested I have a look at HTML + js instead.</p>
<p>When asked whether MS was going to be restrictive about running downloaded code on a device, as Apple is, he suggested I try it.</p>
<p>For what it&#8217;s worth, the following code works in Consumer Preview.</p>
<pre class="brush: php">

eval(&amp;quot;var myfunc = function() { return &#039;ab&#039; + &#039;cd&#039;; };
var result = myfunc();
document.getElementById(&amp;quot;testLabel&amp;quot;).innerText = result;
</pre>
<p>This led me to have a look at the JS samples more closely. The first thing that caught my attention was the following</p>
<pre class="brush: html">

    &lt;div id=&quot;output&quot; data-win-control=&quot;SdkSample.ScenarioOutput&quot;&gt;
        &lt;div id=&quot;box1&quot; class=&quot;box&quot;&gt;&amp;amp;nbsp;&lt;/div&gt;
        &lt;div id=&quot;box2&quot; class=&quot;box&quot;&gt;&amp;amp;nbsp;&lt;/div&gt;
    &lt;/div&gt;
</pre>
<p>What is this <i>SdkSample.ScenarioOutput</i>?</p>
<p>I dug a little further and this is what I found:</p>
<pre class="brush: javascript">
    var ScenarioOutput = WinJS.Class.define(
        function (element, options) {
        element.winControl = this;
        this.element = element;
        new WinJS.Utilities.QueryCollection(element)
                    .setAttribute(&quot;role&quot;, &quot;region&quot;)
                    .setAttribute(&quot;aria-labelledby&quot;, &quot;outputLabel&quot;)
                    .setAttribute(&quot;aria-live&quot;, &quot;assertive&quot;);
        element.id = &quot;output&quot;;

        this._addOutputLabel(element);
        this._addStatusOutput(element);
    }, {
        _addOutputLabel: function (element) {
            var label = document.createElement(&quot;h2&quot;);
            label.id = &quot;outputLabel&quot;;
            label.textContent = &quot;Output&quot;;
            element.parentNode.insertBefore(label, element);
        },
        _addStatusOutput: function (element) {
            var statusDiv = document.createElement(&quot;div&quot;);
            statusDiv.id = &quot;statusMessage&quot;;
            element.insertBefore(statusDiv, element.childNodes[0]);
        }
    }
    );
</pre>
<p>You can construct a WinJS class in javascript! There are three parameters:</p>
<ol>
<li>constructor &#8211; a function</li>
<li>instanceMembers &#8211; object &#8211; set of instance fields and methods on the class</li>
<li>staticMembers &#8211; object -set of static fields and methods</li>
</ol>
<p>So in our example above, the function takes an element and the constructor creates new attributes<br />
and adds any custom behaviors. The instance methods are used as a prototype for the constructed<br />
instances.</p>
<p>Which leaves one last open question, how do static methods work in Javascript any way?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redmountainsw.com/wordpress/2012/04/28/custom-windows-8-controls-with-html-js/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.redmountainsw.com/wordpress/2012/04/28/custom-windows-8-controls-with-html-js/</feedburner:origLink></item>
		<item>
		<title>Task-related types not found. Are you missing a reference to AsyncCtpLibrary.dll?</title>
		<link>http://feedproxy.google.com/~r/counterpoint/~3/5IQiMF1_A9Y/</link>
		<comments>http://www.redmountainsw.com/wordpress/2012/04/19/asyncctp-cant-build/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 06:07:59 +0000</pubDate>
		<dc:creator>Chui</dc:creator>
				<category><![CDATA[Engineering notes]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[async ctp]]></category>
		<category><![CDATA[silverlight]]></category>

		<guid isPermaLink="false">http://www.redmountainsw.com/wordpress/?p=1415</guid>
		<description><![CDATA[I added AsyncCTP_Silverlight.dll to one of my solutions and I couldn&#8217;t build it, as the IDE kept erroring with the following message: "Task-related types not found. Are you missing a reference to AsyncCtpLibrary.dll?" The solution, as it turns out is in this post &#8230;try deleting the suo file for the solution&#8230;]]></description>
			<content:encoded><![CDATA[<p>I added AsyncCTP_Silverlight.dll to one of my solutions and I couldn&#8217;t build it, as the IDE kept erroring with the following message:</p>
<p><code>"Task-related types not found. Are you missing a reference to AsyncCtpLibrary.dll?"</code></p>
<p>The solution, as it turns out is in <a href="http://social.msdn.microsoft.com/Forums/en-US/async/thread/2fbb91bf-4016-43a8-b6e8-00a788f6e552/">this post</a></p>
<blockquote><p>&#8230;try deleting the suo file for the solution&#8230;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.redmountainsw.com/wordpress/2012/04/19/asyncctp-cant-build/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.redmountainsw.com/wordpress/2012/04/19/asyncctp-cant-build/</feedburner:origLink></item>
		<item>
		<title>Build a house with a CNC machine and Open Source House Plans</title>
		<link>http://feedproxy.google.com/~r/counterpoint/~3/1nE-9MoHMYQ/</link>
		<comments>http://www.redmountainsw.com/wordpress/2012/04/18/build-a-house-with-a-cnc-machine-and-open-source-house-plans/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 04:57:42 +0000</pubDate>
		<dc:creator>Chui</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.redmountainsw.com/wordpress/?p=1412</guid>
		<description><![CDATA[This is very interesting. Wiki House &#8211; using CNC, plywood and old housebuilding techniques without using bolts. Still early days but I hope it goes somewhere.]]></description>
			<content:encoded><![CDATA[<p>This is very interesting. <a href="http://wikihouse.cc/">Wiki House</a> &#8211; using CNC, plywood and old housebuilding techniques without using bolts. Still early days but I hope it goes somewhere.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.redmountainsw.com/wordpress/2012/04/18/build-a-house-with-a-cnc-machine-and-open-source-house-plans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.redmountainsw.com/wordpress/2012/04/18/build-a-house-with-a-cnc-machine-and-open-source-house-plans/</feedburner:origLink></item>
		<item>
		<title>Mobile Design Links</title>
		<link>http://feedproxy.google.com/~r/counterpoint/~3/wveqs5_CirQ/</link>
		<comments>http://www.redmountainsw.com/wordpress/2012/03/26/mobile-design-links/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 23:45:54 +0000</pubDate>
		<dc:creator>Chui</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.redmountainsw.com/wordpress/?p=1410</guid>
		<description><![CDATA[Responsive Wireframes Touch-based javascript libraries]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thismanslife.co.uk/projects/lab/responsivewireframes">Responsive Wireframes</a><br />
<a href="https://github.com/bebraw/jswiki/wiki/Touch">Touch-based javascript libraries</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.redmountainsw.com/wordpress/2012/03/26/mobile-design-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.redmountainsw.com/wordpress/2012/03/26/mobile-design-links/</feedburner:origLink></item>
		<item>
		<title>Fatal: git-http-push failed</title>
		<link>http://feedproxy.google.com/~r/counterpoint/~3/9x9tTb3jdRc/</link>
		<comments>http://www.redmountainsw.com/wordpress/2012/03/07/fatal-git-http-push-failed/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 13:28:56 +0000</pubDate>
		<dc:creator>Chui</dc:creator>
				<category><![CDATA[Engineering notes]]></category>
		<category><![CDATA[git]]></category>

		<guid isPermaLink="false">http://www.redmountainsw.com/wordpress/?p=1405</guid>
		<description><![CDATA[I had trouble pushing changes to one of my git repositories. The error message was: Fatal: git-http-push failed Looking at server logs 60.xxx.xxx.205 - xxx.xxx [06/Mar/2012:21:37:56 -0500] "MKCOL /git/Test.git/objects/77/ HTTP/1.1" 403 489 It appears that file permissions were the issue. In my case, the Git repository was created using virtualmin, and the owner was www-data. [...]]]></description>
			<content:encoded><![CDATA[<p>I had trouble pushing changes to one of my git repositories. The error message was:</p>
<pre>Fatal: git-http-push failed</pre>
<p>Looking at server logs</p>
<pre>
60.xxx.xxx.205 - xxx.xxx [06/Mar/2012:21:37:56 -0500] "MKCOL /git/Test.git/objects/77/ HTTP/1.1" 403 489
</pre>
<p>It appears that file permissions were the issue.</p>
<p>In my case, the Git repository was created using virtualmin, and the owner was www-data. CGI programs were run under suexec, where the program was executed using the file owner&#8217;s permissions. For suexec to work, the owner needs write permissions to the directories. The following was sufficient to do the trick.</p>
<pre>sudo chmod -R u+w Test.git</pre>
<p>References:<br />
<a href="http://thomaswabner.wordpress.com/2009/09/01/git-over-https-failed-to-push-some-refs/">Problem with HTTP Verbs</a><br />
<a href="http://wiki.dreamhost.com/Git">How to troubleshoot git server issues</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.redmountainsw.com/wordpress/2012/03/07/fatal-git-http-push-failed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.redmountainsw.com/wordpress/2012/03/07/fatal-git-http-push-failed/</feedburner:origLink></item>
		<item>
		<title>How to block bots from seeking exploits on your web server with Fail2Ban</title>
		<link>http://feedproxy.google.com/~r/counterpoint/~3/0KyP7SSMj78/</link>
		<comments>http://www.redmountainsw.com/wordpress/2012/03/06/how-to-block-bots-from-seeking-exploits-on-your-web-server-with-fail2ban/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 12:24:49 +0000</pubDate>
		<dc:creator>Chui</dc:creator>
				<category><![CDATA[Engineering notes]]></category>

		<guid isPermaLink="false">http://www.redmountainsw.com/wordpress/?p=1403</guid>
		<description><![CDATA[Source: Exploit scanner, secure your Apache Steps: sudo apt-get install fail2ban edit /etc/fail2ban/jail.conf [apache-nohome] enabled = true port = http,https filter = apache-nohome logpath = /var/log/apache*/*error.log maxretry = 5 fix a bug in the filter /etc/fail2ban/filter.d/apache-nohome.conf failregex = [[]client (?P&#60;host&#62;\S*)[]] File does not exist: Restart /etc/init.d/fail2ban restart Check that fail2ban has started. sudo fail2ban-client status [...]]]></description>
			<content:encoded><![CDATA[<p>Source: <a href="http://linux-und-so.blogspot.com.au/2011/11/spammer-exploit-scanner-secure-your.html">Exploit scanner, secure your Apache</a></p>
<p>Steps:</p>
<ul>
<li>sudo apt-get install fail2ban</li>
<li>edit <code>/etc/fail2ban/jail.conf</code>
<pre class="brush: php">
[apache-nohome]
enabled = true
port    = http,https
filter  = apache-nohome
logpath = /var/log/apache*/*error.log
maxretry = 5
</pre>
</li>
<li>fix a bug in the filter <code>/etc/fail2ban/filter.d/apache-nohome.conf</code>
<pre class="brush: php">
failregex = [[]client (?P&lt;host&gt;\S*)[]] File does not exist:
</pre>
<li>Restart /etc/init.d/fail2ban restart</li>
<li>Check that fail2ban has started.
<pre class="brush: php">
 sudo fail2ban-client status
Status
|- Number of jail:      2
`- Jail list:           apache-nohome, ssh
</pre>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.redmountainsw.com/wordpress/2012/03/06/how-to-block-bots-from-seeking-exploits-on-your-web-server-with-fail2ban/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.redmountainsw.com/wordpress/2012/03/06/how-to-block-bots-from-seeking-exploits-on-your-web-server-with-fail2ban/</feedburner:origLink></item>
	</channel>
</rss>

