<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Arricc</title>
	<atom:link href="http://www.arricc.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.arricc.net</link>
	<description>50% IT snippets that I couldn&#039;t readily find existing help on. 50% drivel.</description>
	<lastBuildDate>Wed, 02 Mar 2011 23:44:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Drupal HTTPS images</title>
		<link>http://www.arricc.net/drupal-https-images.php</link>
		<comments>http://www.arricc.net/drupal-https-images.php#comments</comments>
		<pubDate>Wed, 02 Mar 2011 23:44:34 +0000</pubDate>
		<dc:creator>Fizzgig</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[module]]></category>

		<guid isPermaLink="false">http://www.arricc.net/?p=96</guid>
		<description><![CDATA[I was involved with a project for a while which was using Drupal as the CMS. The entire site was being served over HTTPS, which was quite annoying as a large pile of the images that were being posted were being served over HTTP from their respective webservers. Naturally, this resulted in everyone getting very [...]]]></description>
			<content:encoded><![CDATA[<p>I was involved with a project for a while which was using <a href="http://drupal.org">Drupal</a> as the CMS. The entire site was being served over HTTPS, which was quite annoying as a large pile of the images that were being posted were being served over HTTP from their respective webservers. Naturally, this resulted in everyone getting very annoyed at their browser warning about loading unsecured content on a secure page.</p>
<p>So, I came up with this module. I&#8217;ve been meaning to release it for ages, but as I need to clear down the server it was running on it&#8217;s made me take the five minutes to write this post. Still needs a bit of work, but does what it says on the tin.</p>
<p>It identifies non-local images in content, downloads them and serves them from a local cache.</p>
<p>Download the module here: <a href='http://www.arricc.net/wp-content/uploads/img_proxy.tar.gz'>img_proxy.tar.gz</a></p>
<p>If you use Drupal, you should already know the drill &#8211; extract the file to your modules directory and enable it in the modules page. The module is implemented as an input filter, so you will then have to add it to the appropriate input formats at http://your.site.com/admin/settings/filters </p>
<p><strong>Notes</strong></p>
<ul>
<li>Licenced under the GPL version 2.</li>
<li><strong>*** There is nothing in the code that verifies the file being proxied is an image!! ***</strong> (that&#8217;ll be in the next version!)</li>
<li>May not work with sites that check the referer of the request for images.</li>
<li>I&#8217;ve been meaning to release this for ages, but there is sill a lot of debug code thats just commented out.</li>
</ul>
<p>Hopefully I&#8217;m not the only webmaster that ever had this issue and somebody will find this handy.</p>
<p>Maybe one day I&#8217;ll tidy up the code and submit it to the Drupal Module repository!</p>
<p>Enjoy.</p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="mark@arricc.net" /><input type="hidden" name="return" value="http://www.arricc.net/pp-thanks.php" /><input type="hidden" name="item_name" value="Buy Me a Beer for Drupal HTTPS images" /><input type="hidden" name="currency_code" value="GBP" /><input type="hidden" name="amount" value="5" /><input type="image" src="http://www.arricc.net/wp-content/plugins/buy-me-beer/icon_beer.gif" align="left" alt="" title="" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=mark@arricc.net&amp;currency_code=GBP&amp;amount=5&amp;return=http://www.arricc.net/pp-thanks.php&amp;item_name=Buy+Me+a+Beer+for+Drupal+HTTPS+images" target="paypal">If you find this article useful, buy me a beer!</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.arricc.net/drupal-https-images.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SCE2007 Failed to install agent</title>
		<link>http://www.arricc.net/sce2007-failed-to-install-agent.php</link>
		<comments>http://www.arricc.net/sce2007-failed-to-install-agent.php#comments</comments>
		<pubDate>Mon, 05 Jul 2010 23:22:08 +0000</pubDate>
		<dc:creator>Fizzgig</dc:creator>
				<category><![CDATA[SCE2007]]></category>
		<category><![CDATA[System Center]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[essentials]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[system center]]></category>

		<guid isPermaLink="false">http://www.arricc.net/?p=81</guid>
		<description><![CDATA[I&#8217;ve been doing more and more work with the System Center product suite of late, and suffice to say I have some big loves and some big hates about the whole thing. My recent hate is System Center Essentials 2007. Thankfully, I actually quite like Essentials 2010. Anyway, while installing the SCE2007 agent the other [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing more and more work with the System Center product suite of late, and suffice to say I have some big loves and some big hates about the whole thing.</p>
<p>My recent hate is System Center Essentials 2007. Thankfully, I actually quite like Essentials 2010. </p>
<p>Anyway, while installing the SCE2007 agent the other day, I encountered an odd error message while trying both a push install and a local install of the agent.</p>
<blockquote><p>Error 25211.Failed to install performance counters.. Error Code: -2147023886 (The configuration registry key is invalid.).</p></blockquote>
<p>Sadly, there&#8217;s not a lot on the web in relation to this error. The only pointer that might have helped was this technet article: <a href="http://support.microsoft.com/kb/300956/en-us">How to manually rebuild Performance Counter Library values</a>.</p>
<p>This starts out pretty nasty, involving copying files from your install media and hacking about in the registry, which Microsoft always massively caveats. The one item of help on the page was the command:</p>
<blockquote><p><code style="dos">lodctr /R</code></p></blockquote>
<p>According to the help, this will rebuild the perf registry strings and info from scratch based on the current registry settings and backup INI files. And accorting to the KB article:  &#8220;/R is uppercase. You must have administrative rights on the computer to successfully perform this command.&#8221;</p>
<p>That did the trick for me and completely avoided all the nasty work of actually finding the install media for this server <img src='http://www.arricc.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;ve included below a larger chunk of the installation error log below which will hopefully help people find this page via searches.<br />
<span id="more-81"></span></p>
<hr />
<div class="codeblock"><code>MSI (s) (94:A0) [10:10:48:873]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI1F.tmp, Entrypoint: SetSecurity<br />SetSecurity: Custom Action Data. C:\Program Files\System Center Operations Manager 2007\<br />SetACLsOnNamedObject: DACL String. D:(A;OICI;KA;;;SY)(A;OICI;KA;;;BA)(A;OICI;KR;;;BU)<br />SetACLsOnNamedObject: DACL String. D:P(A;OICI;KA;;;BA)(A;OICI;KA;;;SY)(A;OICI;0x4;;;AU)(A;OICI;KA;;;CO)<br />MSI (s) (94:4C) [10:10:49:014]: Executing op: ActionStart(Name=_InstallHealthServicePerfCounters.80B659D9_F758_4E7D_B4FA_E53FC737DCC9,Description=Installing performance counters,)<br />SetACLsOnNamedObject: DACL String. D:(A;OICI;GA;;;SY)(A;OICI;GA;;;BA)(A;OICI;GXGR;;;BU)<br />MSI (s) (94:4C) [10:10:49:014]: Executing op: CustomActionSchedule(Action=_InstallHealthServicePerfCounters.80B659D9_F758_4E7D_B4FA_E53FC737DCC9,ActionType=3073,Source=BinaryData,Target=InstallPerfCounters,CustomActionData=C:\Program Files\System Center Operations Manager 2007\	Agent)<br />MSI (s) (94:68) [10:10:49:014]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI20.tmp, Entrypoint: InstallPerfCounters<br />InstallPerfCounters: Custom Action Data. C:\Program Files\System Center Operations Manager 2007\	Agent<br />InstallPerfCounters: Installing agent perf counters.<br />InstallPerfCounters: Installing agent perf counters.<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\HealthServiceCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\MOMConnectorCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\HealthServiceCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\MOMConnectorCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\HealthServiceCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\MOMConnectorCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\HealthServiceCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\MOMConnectorCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\HealthServiceCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\MOMConnectorCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\HealthServiceCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />InstallCounters: LoadPerfCounterTextStrings() failed . Error Code: 0x800703F2. momv3 &quot;C:\Program Files\System Center Operations Manager 2007\MOMConnectorCounters.ini&quot;<br />InstallPerfCountersHelper: pcCounterInstaller-&gt;InstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallPerfCountersLib: InstallHealthServicePerfCounters() failed . Error Code: 0x800703F2.<br />InstallPerfCountersLib: Retry Count : .<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. HealthService<br />UninstallCounters: UnloadPerfCounterTextStrings() failed . Error Code: 0x800703F2.<br />UninstallPerfCountersHelper: pcCounterInstaller-&gt;UninstallCounters() for the default counters failed. Error Code: 0x800703F2. MOMConnector<br />InstallPerfCounters: Failed to install agent perf counters. Error Code: 0x800703F2.<br />MSI (s) (94!8C) [10:11:19:218]: Product: System Center Operations Manager 2007 Agent -- Error 25211.Failed to install performance counters.. Error Code: -2147023886 (The configuration registry key is invalid.).<br /></code></div></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="mark@arricc.net" /><input type="hidden" name="return" value="http://www.arricc.net/pp-thanks.php" /><input type="hidden" name="item_name" value="Buy Me a Beer for SCE2007 Failed to install agent" /><input type="hidden" name="currency_code" value="GBP" /><input type="hidden" name="amount" value="5" /><input type="image" src="http://www.arricc.net/wp-content/plugins/buy-me-beer/icon_beer.gif" align="left" alt="" title="" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=mark@arricc.net&amp;currency_code=GBP&amp;amount=5&amp;return=http://www.arricc.net/pp-thanks.php&amp;item_name=Buy+Me+a+Beer+for+SCE2007+Failed+to+install+agent" target="paypal">If you find this article useful, buy me a beer!</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.arricc.net/sce2007-failed-to-install-agent.php/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>EU Browser choice debacle</title>
		<link>http://www.arricc.net/eu-browser-choice-debacle.php</link>
		<comments>http://www.arricc.net/eu-browser-choice-debacle.php#comments</comments>
		<pubDate>Sat, 13 Mar 2010 12:00:06 +0000</pubDate>
		<dc:creator>Fizzgig</dc:creator>
				<category><![CDATA[group policy]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[obscure]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://www.arricc.net/?p=72</guid>
		<description><![CDATA[Theres been quite a bit of chit chat about this update that Microsoft has now released. My personal opinion is Microsoft shouldn&#8217;t have been forced to release this. If you FORCE a choice for a web browser, you should also force a choice for every single application that comes with Windows. Additionally, I fail to [...]]]></description>
			<content:encoded><![CDATA[<p>Theres been quite a bit of chit chat about this update that Microsoft has now released.</p>
<p>My personal opinion is Microsoft shouldn&#8217;t have been forced to release this. If you FORCE a choice for a web browser, you should also force a choice for every single application that comes with Windows.</p>
<p>Additionally, I fail to see why people should be forced to pick from a number of free products. Perhaps a better option would be for Microsoft to allow third parties to produce branded versions of Windows and then users can make their initial choices at the point of purchase.</p>
<p>This, of course, assumes a level of knowledge of the end users so questions like &#8220;where have all my favourites gone?&#8221; don&#8217;t happen&#8230;</p>
<p>Anyway, this was supposed to be a vaguely technical post and not a rant.</p>
<p>So, as a systems administrator, how do you block this update?</p>
<p>If you are using an internal update server such as <a href="http://technet.microsoft.com/en-us/wsus/default.aspx">WSUS </a>or <a href="http://www.microsoft.com/Systemcenter/configurationmanager/">SCCM</a> (which I <strong>love</strong>), then you have the simple option of not approving the update for release.</p>
<p>Otherwise, Microsoft have released a KB article showing a simple registry key that can be set to prevent the Browser Choice screen running &#8211; <a href="http://support.microsoft.com/kb/2019411">KB2019411</a>.</p>
<p>So, as a sysadmin, how do you implement this?</p>
<p>Well, you can custom roll a Group Policy to set this as a preference on your client machines. I&#8217;ve written some GPOs before, but in this case I&#8217;ll simply direct you to <a href="http://www.compit.se/?p=187">this blog post by Christoffer Steding</a> where you can download his version.</p>
<p>However, in my opinion, a much more graceful group policy to set is a software restriction policy. This has been documented by <a href="http://angrytechnician.wordpress.com/2010/03/02/irony/">The Angry Technician</a>.</p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="mark@arricc.net" /><input type="hidden" name="return" value="http://www.arricc.net/pp-thanks.php" /><input type="hidden" name="item_name" value="Buy Me a Beer for EU Browser choice debacle" /><input type="hidden" name="currency_code" value="GBP" /><input type="hidden" name="amount" value="5" /><input type="image" src="http://www.arricc.net/wp-content/plugins/buy-me-beer/icon_beer.gif" align="left" alt="" title="" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=mark@arricc.net&amp;currency_code=GBP&amp;amount=5&amp;return=http://www.arricc.net/pp-thanks.php&amp;item_name=Buy+Me+a+Beer+for+EU+Browser+choice+debacle" target="paypal">If you find this article useful, buy me a beer!</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.arricc.net/eu-browser-choice-debacle.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Troubleshooting 101</title>
		<link>http://www.arricc.net/troubleshooting-101.php</link>
		<comments>http://www.arricc.net/troubleshooting-101.php#comments</comments>
		<pubDate>Sun, 17 Jan 2010 23:18:01 +0000</pubDate>
		<dc:creator>Fizzgig</dc:creator>
				<category><![CDATA[group policy]]></category>
		<category><![CDATA[Office Communication Server]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Telephony]]></category>
		<category><![CDATA[OCS]]></category>
		<category><![CDATA[ocs mediation server]]></category>
		<category><![CDATA[pbx]]></category>
		<category><![CDATA[sql 2008]]></category>

		<guid isPermaLink="false">http://www.arricc.net/?p=64</guid>
		<description><![CDATA[I&#8217;ve recently started in a new role which, of course, has brought with it new challenges This weeks challenges related to SQL 2008 and Office Communications Server 2007 R2. My SQL 2008 issue related to a &#8220;feature&#8221; known as Parameter Sniffing. In simple terms, SQL Server generates a execution plan based on the parameters passed [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently started in a new role which, of course, has brought with it new challenges <img src='http://www.arricc.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>This weeks challenges related to SQL 2008 and Office Communications Server 2007 R2.</p>
<p>My SQL 2008 issue related to a &#8220;feature&#8221; known as Parameter Sniffing. In simple terms, SQL Server generates a execution plan based on the parameters passed to a stored procedure the first time it&#8217;s executed. Of course, given that the parameters passed may or may not be typically representative any given execution the &#8220;optimization&#8221; may be way off. A good indicator this is an issue is if you execute that SQL code in Query Analyzer and the time taken is significantly shorter than the same query run through an &#8220;optimized&#8221; stored procedure.</p>
<p>There is a really good overview of this on <a href="http://www.sqlpointers.com/2006/11/parameter-sniffing-stored-procedures.html">sqlpointers.com</a>. The workaround is fairly simple if a little annoying.</p>
<p>My other big issue I lost a fair amount of time to was with OCS 2007 R2.</p>
<p>Packet sniffing (using <a href="http://www.wireshark.org">Wireshark</a> or <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=983b941d-06cb-4658-b7f6-3088333d062f&#038;displaylang=en">Microsoft Network Monitor</a>) between my server running the Mediation Server role and my IP PBX (Cisco CallManager, but thats irrelevant) showed that the SIP FROM address being used to establish an outbound call was username@domain.com and not using an e.164 number eg +1234567890@domain.com. This meant that the PBX was unable to establish an appropriate Caller ID to use when establishing the outbound call via the carrier.</p>
<p>After many hours of trailing top to bottom through all the config options for OCS, and seriously considering a fresh build of the core server, I found the issue was related to a setting being force in Group Policy from a previous OCS project.</p>
<p>This setting was forcing the OCS client to operate in the remote call control mode, which was overriding the setting on the OCS server that meant users were operating in Enterprise Voice mode. The setting in question is TelephonyMode and it was set to 2.</p>
<p>One nice little (undocumented!!) feature that came to light while troubleshooting this issue is the ability to get a summary of the operating OCS client configuration! Simply hold down the CTRL key and right click on the OCS icon in the system tray. Select the &#8220;Configuration settings&#8221; option and a nice little window will appear with a list of the settings in operation!</p>
<p>This helped me diagnose the issue as it showed the address my client was using for its Line setting was the setting it should have been using when I was previously using Remote Call Control of my Cisco handset and not my full e.164 number as I would have expected.</p>
<p>Always nice to finish a Friday on a positive note <img src='http://www.arricc.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="mark@arricc.net" /><input type="hidden" name="return" value="http://www.arricc.net/pp-thanks.php" /><input type="hidden" name="item_name" value="Buy Me a Beer for Troubleshooting 101" /><input type="hidden" name="currency_code" value="GBP" /><input type="hidden" name="amount" value="5" /><input type="image" src="http://www.arricc.net/wp-content/plugins/buy-me-beer/icon_beer.gif" align="left" alt="" title="" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=mark@arricc.net&amp;currency_code=GBP&amp;amount=5&amp;return=http://www.arricc.net/pp-thanks.php&amp;item_name=Buy+Me+a+Beer+for+Troubleshooting+101" target="paypal">If you find this article useful, buy me a beer!</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.arricc.net/troubleshooting-101.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Front Page Single Post</title>
		<link>http://www.arricc.net/wordpress-front-page-single-post.php</link>
		<comments>http://www.arricc.net/wordpress-front-page-single-post.php#comments</comments>
		<pubDate>Fri, 11 Sep 2009 13:03:03 +0000</pubDate>
		<dc:creator>Fizzgig</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[front page]]></category>

		<guid isPermaLink="false">http://www.arricc.net/?p=55</guid>
		<description><![CDATA[Well, I&#8217;ve rejigged my site theme, and I decided to play a bit with the layout. The look of the site seemed to be better with just the excerpt from a single post on the front page. Now, that sounds really straight forward and something that WordPress should be able to do out of the [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I&#8217;ve rejigged my site theme, and I decided to play a bit with the layout.</p>
<p>The look of the site seemed to be better with just the excerpt from a single post on the front page.</p>
<p>Now, that sounds really straight forward and something that WordPress should be able to do out of the box. And it is. </p>
<p>However, if you want the &#8220;Older Entries&#8221; pages to then show, say, 10 posts you&#8217;re knackered as all subsequent pages will just show 1 entry. I tried the Custom Post Limits plugin, but it still didn&#8217;t work as page 2 started at post 6.</p>
<p>After reading a lot of entries on this topic (it seems I&#8217;m not the only person keen on this!) and getting nowhere fast. Lots of &#8220;read this link then work it out yourself&#8221; type replies I finally got something to work. Using both the offset AND paging attributes of the query_posts() function!</p>
<p>The only issue with this is that the last page wouldn&#8217;t show at all. This was due to the fact that the front page misses all but 1 of the entries, then the 2nd page starts at entry 2. In effect you&#8217;re missing a number of entries up to the usual number per page minus 1 &#8211; everything that would be on the last page. To get round this, I simply double the number of entries displayed on what WordPress believes is the final page.</p>
<p><span id="more-55"></span></p>
<p>To get this to work, add the following snippit to the top of the home.php file in your theme directory.<br />
If you don&#8217;t have a home.php file then copy your index.php in your theme directory to home.php which will then take precedence according to the <a href="http://codex.wordpress.org/Template_Hierarchy">WordPress Template Heirarcy</a>. I do not recommend adding this to your index.php file.</p>
<p><div class="codeblock"><code><span class="synSpecial">&lt;?php</span><br /><span class="synComment">//WATCH THAT LINE WRAP!</span><br /><span class="synStatement">if</span> <span class="synSpecial">(</span>is_home<span class="synSpecial">())</span> <span class="synSpecial">{</span><br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="synStatement">$</span><span class="synIdentifier">page</span> <span class="synStatement">=</span> <span class="synSpecial">(</span>get_query_var<span class="synSpecial">(</span>'<span class="synConstant">paged</span>'<span class="synSpecial">))</span> <span class="synStatement">?</span> get_query_var<span class="synSpecial">(</span>'<span class="synConstant">paged</span>'<span class="synSpecial">)</span> <span class="synStatement">:</span> <span class="synConstant">1</span>;<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="synStatement">if</span> <span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">page</span> <span class="synStatement">==</span> <span class="synConstant">1</span><span class="synSpecial">)</span> <span class="synSpecial">{</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; query_posts<span class="synSpecial">(</span>&quot;<span class="synConstant">showposts=1&amp;paged=</span><span class="synStatement">$</span><span class="synIdentifier">page</span>&quot;<span class="synSpecial">)</span>;<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="synSpecial">}</span> <span class="synStatement">else</span> <span class="synSpecial">{</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="synStatement">$</span><span class="synIdentifier">numposts</span> <span class="synStatement">=</span> get_option<span class="synSpecial">(</span>'<span class="synConstant">posts_per_page</span>'<span class="synSpecial">)</span>;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="synComment">//Work out what posts to show first on the page.</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="synStatement">$</span><span class="synIdentifier">offset</span> <span class="synStatement">=</span> <span class="synSpecial">((</span><span class="synStatement">$</span><span class="synIdentifier">page</span> <span class="synConstant">-1</span><span class="synSpecial">)</span> <span class="synStatement">*</span> <span class="synStatement">$</span><span class="synIdentifier">numposts</span><span class="synSpecial">)</span> <span class="synStatement">-</span> <span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">numposts</span> <span class="synConstant">-1</span><span class="synSpecial">)</span>;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="synComment">//Quick hack to display double the number of posts on the last page as the offset hides posts per page -1.</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="synStatement">if</span> <span class="synSpecial">(</span><span class="synStatement">$</span><span class="synIdentifier">page</span> <span class="synStatement">==</span> <span class="synStatement">$</span><span class="synIdentifier">wp_query</span><span class="synType">-&gt;</span>max_num_pages<span class="synSpecial">)</span> <span class="synSpecial">{</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="synStatement">$</span><span class="synIdentifier">numposts</span> <span class="synStatement">=</span> <span class="synConstant">2</span><span class="synStatement">*</span> get_option<span class="synSpecial">(</span>'<span class="synConstant">posts_per_page</span>'<span class="synSpecial">)</span>;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="synSpecial">}</span><br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; query_posts<span class="synSpecial">(</span>&quot;<span class="synConstant">offset=</span><span class="synStatement">$</span><span class="synIdentifier">offset</span><span class="synConstant">&amp;paged=</span><span class="synStatement">$</span><span class="synIdentifier">page</span><span class="synConstant">&amp;showposts=</span><span class="synStatement">$</span><span class="synIdentifier">numposts</span>&quot;<span class="synSpecial">)</span>;<br />&nbsp; &nbsp; &nbsp; &nbsp; <span class="synSpecial">}</span><br /><span class="synSpecial">}</span><br /><span class="synSpecial">?&gt;</span><br /></code></div></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="mark@arricc.net" /><input type="hidden" name="return" value="http://www.arricc.net/pp-thanks.php" /><input type="hidden" name="item_name" value="Buy Me a Beer for WordPress Front Page Single Post" /><input type="hidden" name="currency_code" value="GBP" /><input type="hidden" name="amount" value="5" /><input type="image" src="http://www.arricc.net/wp-content/plugins/buy-me-beer/icon_beer.gif" align="left" alt="" title="" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=mark@arricc.net&amp;currency_code=GBP&amp;amount=5&amp;return=http://www.arricc.net/pp-thanks.php&amp;item_name=Buy+Me+a+Beer+for+Wordpress+Front+Page+Single+Post" target="paypal">If you find this article useful, buy me a beer!</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.arricc.net/wordpress-front-page-single-post.php/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

