<?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>Fred's Blog - Fr3d.org</title>
	
	<link>http://www.fr3d.org</link>
	<description />
	<lastBuildDate>Sun, 29 Aug 2010 00:54:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Fr3d_org" /><feedburner:info uri="fr3d_org" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Fr3d_org</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FFr3d_org" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FFr3d_org" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FFr3d_org" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/Fr3d_org" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FFr3d_org" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FFr3d_org" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FFr3d_org" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><item>
		<title>ActionFTP 1.1.0.1</title>
		<link>http://feedproxy.google.com/~r/Fr3d_org/~3/tn5-7NW05rY/</link>
		<comments>http://www.fr3d.org/2010/08/actionftp-1101/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 00:34:08 +0000</pubDate>
		<dc:creator>Fr3d</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[ActionFTP]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.fr3d.org/?p=531</guid>
		<description><![CDATA[I&#8217;ve uploaded a new version of of ActionFTP, my add-in for WindowClippings. This is mainly a bug-fix release, though I did include two new features: Added the imgftw.net image upload service The bit.ly URL shortening service can now be used, though it requires a (free) API key from their website See the ActionFTP page for [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve uploaded a new version of of <a title="ActionFTP" href="/actionftp/">ActionFTP</a>, my add-in for <a title="WindowClippings" href="http://www.windowclippings.com/" target="_blank">WindowClippings</a>.</p>
<p>This is mainly a bug-fix release, though I did include two new features:</p>
<ul>
<li>Added the <a title="imgftw.net" href="http://www.imgftw.net" target="_blank">imgftw.net</a> image upload service</li>
<li>The <a title="bit.ly" href="http://bit.ly/" target="_blank">bit.ly</a> URL shortening service can now be used, though it requires a (free) API key from their website</li>
</ul>
<p>See the <a title="ActionFTP" href="/actionftp/">ActionFTP</a> page for the download link and the full list of changes and fixes.</p>
<img src="http://feeds.feedburner.com/~r/Fr3d_org/~4/tn5-7NW05rY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fr3d.org/2010/08/actionftp-1101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fr3d.org/2010/08/actionftp-1101/</feedburner:origLink></item>
		<item>
		<title>Exchange 2010 Installation – Management Shell Error</title>
		<link>http://feedproxy.google.com/~r/Fr3d_org/~3/XnBoZE4Hh00/</link>
		<comments>http://www.fr3d.org/2010/08/exchange-2010-installation-management-shell-error/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 00:53:46 +0000</pubDate>
		<dc:creator>Fr3d</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.fr3d.org/?p=494</guid>
		<description><![CDATA[I was installing Exchange 2010 on a new Windows Server 2008 R2 virtual machine, but could not get past the installer&#8217;s system checks, receiving the follow error message: [server.mydomain.local] Connecting to remote server failed with the following error message : The client cannot connect to the destination specified in the request. Verify that the service [...]]]></description>
			<content:encoded><![CDATA[<p>I was installing Exchange 2010 on a new Windows Server 2008 R2 virtual machine, but could not get past the installer&#8217;s system checks, receiving the follow error message:</p>
<blockquote><p>[server.mydomain.local] Connecting to remote server failed with the following error message : The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: &#8220;winrm quickconfig&#8221;. For more information, see the about_Remote_Troubleshooting Help topic.<br />
+ CategoryInfo          : OpenError: (System.Manageme&#8230;.RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException<br />
+ FullyQualifiedErrorId : PSSessionOpenFailed</p></blockquote>
<p>The error message itself has almost nothing to do with the actual cause of the problem. After a lot of Googling I found a <a title="TechNet Forums" href="http://social.technet.microsoft.com/Forums/en-US/exchange2010/thread/5af966b5-de5d-4e03-bb20-bb6c8a49255b" target="_blank">post on the TechNet forums</a> from someone who had the same error message, albeit caused by a different problem.</p>
<p>Eventually I figured out that the Server Manager feature installer wizard hadn&#8217;t installed the full selection of <strong>.NET 3.5.1 Features</strong>. After installing the entire sub-tree, the Exchange 2010 installation proceeded without any further problems.</p>
<p>Microsoft have now been kind enough to add automatic feature installation to the installer for Exchange Server 2010 SP1, which should help alleviate this kind of problem in future <img src='http://www.fr3d.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">Server Manager -&gt; Features -&gt; &#8220;.NET 3.5.1 Features&#8221;</div>
<img src="http://feeds.feedburner.com/~r/Fr3d_org/~4/XnBoZE4Hh00" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fr3d.org/2010/08/exchange-2010-installation-management-shell-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fr3d.org/2010/08/exchange-2010-installation-management-shell-error/</feedburner:origLink></item>
		<item>
		<title>Results Day</title>
		<link>http://feedproxy.google.com/~r/Fr3d_org/~3/SANa_qSoJXA/</link>
		<comments>http://www.fr3d.org/2010/07/results-day/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 14:19:40 +0000</pubDate>
		<dc:creator>Fr3d</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Uni]]></category>

		<guid isPermaLink="false">http://www.fr3d.org/?p=395</guid>
		<description><![CDATA[I just got back from collecting my results from Uni Bachelor of Science with Honours in Computer Science (Network Communications) First Class And my dissertation was an &#8216;A&#8217; grade]]></description>
			<content:encoded><![CDATA[<p>I just got back from collecting my results from Uni <img src='http://www.fr3d.org/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<blockquote><p><em>Bachelor of Science with Honours in Computer Science (Network Communications) <strong>First Class</strong></em></p></blockquote>
<p>And my dissertation was an &#8216;A&#8217; grade <img src='http://www.fr3d.org/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/Fr3d_org/~4/SANa_qSoJXA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fr3d.org/2010/07/results-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.fr3d.org/2010/07/results-day/</feedburner:origLink></item>
		<item>
		<title>ActionFTP 1.1.0.0</title>
		<link>http://feedproxy.google.com/~r/Fr3d_org/~3/3gGVA5jYgUs/</link>
		<comments>http://www.fr3d.org/2010/06/actionftp-1100/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 18:25:03 +0000</pubDate>
		<dc:creator>Fr3d</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[ActionFTP]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.fr3d.org/?p=291</guid>
		<description><![CDATA[I have released a new version of ActionFTP – my free add-in for WindowClippings. Some big new features: HTTP uploads: you can now chose to upload images to imgdash, localhostr or upload3r URL shortening: you can chose to automatically shorten links using is.gd, twurl.nl or cli.gs Code copying: Can now chose to copy HTML &#60;img&#62;, [...]]]></description>
			<content:encoded><![CDATA[<p>I have released a new version of <a title="ActionFTP" href="/actionftp/">ActionFTP</a> – my free add-in for <a title="WindowClippings" href="http://www.windowclippings.com/" target="_blank">WindowClippings</a>.</p>
<p>Some big new features:</p>
<ul>
<li><strong>HTTP uploads</strong>: you can now chose to upload images to imgdash, localhostr or upload3r</li>
<li><strong>URL shortening</strong>: you can chose to automatically shorten links using is.gd, twurl.nl or cli.gs</li>
<li><strong>Code copying</strong>: Can now chose to copy HTML &lt;img&gt;, HTML hyperlink (&lt;a&gt;), BBcode [img] or BBcode [url] tags to the clipboard, instead of just the direct link</li>
</ul>
<p>Naturally there are lots of other smaller changes and bug fixes as well; see the <a title="ActionFTP" href="/actionftp/">ActionFTP</a> page for the download link and the entire list of changes.</p>
<p><strong>Upgrade Note</strong>: You need to copy two additional files (included in the download) to the WindowClippings directory (Newtonsoft.Json.dll and Newtonsoft.Json.xml).</p>
<img src="http://feeds.feedburner.com/~r/Fr3d_org/~4/3gGVA5jYgUs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fr3d.org/2010/06/actionftp-1100/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fr3d.org/2010/06/actionftp-1100/</feedburner:origLink></item>
		<item>
		<title>How-to: Free Upgrades from Adobe CS4 to CS5</title>
		<link>http://feedproxy.google.com/~r/Fr3d_org/~3/qPxs-8ym734/</link>
		<comments>http://www.fr3d.org/2010/06/howto-free-adobe-cs4-to-cs5-upgrades/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 17:26:54 +0000</pubDate>
		<dc:creator>Fr3d</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Discount]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Upgrade]]></category>

		<guid isPermaLink="false">http://www.fr3d.org/?p=261</guid>
		<description><![CDATA[Adobe offer free &#8220;Post Announce Upgrades&#8221; to anyone purchasing a CS4-edition product – including Student editions – after April 12th 2010 and before July 11th 2010. As many CS4 products are currently still available from most retailers, this could be your opportunity to save a bit of money on the full CS5 price – I [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe offer free &#8220;Post Announce Upgrades&#8221; to anyone purchasing a CS4-edition product – including Student editions – after April 12th 2010 and before July 11th 2010.</p>
<p>As many CS4 products are currently still available from most retailers, this could be your opportunity to save a bit of money on the full CS5 price – I saved about £80 on the full price of Web Premium CS5 (Student edition).</p>
<p><a title="Larger @ Flickr" href="http://www.flickr.com/photos/fr3d/4663257351/" target="_blank"><img class="alignnone" title="Adobe CS4 &amp; CS5 DVDs" src="http://farm5.static.flickr.com/4025/4663257351_dd6c7295d4.jpg" alt="" width="500" height="333" /></a></p>
<p><span id="more-261"></span>After registering your CS4 serial number, visit the <a title="Adobe Customer Support Portal" href="https://www.adobe.com/cfusion/support/index.cfm?event=portal" target="_blank">Adobe Customer Support Portal</a> (Adobe login required) and complete the &#8220;Post Announce Upgrade&#8221; form before July 26th:</p>
<p><img class="alignnone" title="Adobe Customer Service Portal" src="http://www.fr3d.org/ss/lando/Adobe_-_Customer_Support_Portal_-_Mozilla_Hypnoostrich_46315.png" alt="" width="743" height="304" /></p>
<p>Assuming you successfully complete the form, you should receive your CS5 upgrade in the mail after a few days.</p>
<p><strong>Notes:</strong></p>
<ul>
<li>You must purchase your CS4 product before <strong>July 11th</strong>, and complete the PAU request before <strong>July 26th</strong>.</li>
<li><a title="Adobe CS4 upgrade information" href="http://www.amazon.co.uk/gp/feature.html/ref=amb_link_156871827_1?ie=UTF8&amp;docId=1000390913" target="_blank">This handy page</a> on Amazon UK lays out further information and T&amp;Cs, though the offer is not limited to purchases from Amazon.</li>
</ul>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">https://www.adobe.com/cfusion/support/index.cfm?event=portal</div>
<img src="http://feeds.feedburner.com/~r/Fr3d_org/~4/qPxs-8ym734" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fr3d.org/2010/06/howto-free-adobe-cs4-to-cs5-upgrades/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fr3d.org/2010/06/howto-free-adobe-cs4-to-cs5-upgrades/</feedburner:origLink></item>
		<item>
		<title>Busy Busy Busy</title>
		<link>http://feedproxy.google.com/~r/Fr3d_org/~3/WKqasF22UbA/</link>
		<comments>http://www.fr3d.org/2010/04/busy-busy-busy/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 23:30:38 +0000</pubDate>
		<dc:creator>Fr3d</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uni]]></category>

		<guid isPermaLink="false">http://www.fr3d.org/?p=254</guid>
		<description><![CDATA[Just a quick post to say that I haven&#8217;t forgotten about my blog, I&#8217;m just really busy finishing up my Final Year Project/Dissertation]]></description>
			<content:encoded><![CDATA[<p>Just a quick post to say that I haven&#8217;t forgotten about my blog, I&#8217;m just really busy finishing up my Final Year Project/Dissertation <img src='http://www.fr3d.org/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/Fr3d_org/~4/WKqasF22UbA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fr3d.org/2010/04/busy-busy-busy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fr3d.org/2010/04/busy-busy-busy/</feedburner:origLink></item>
		<item>
		<title>MySQL Full-Text Searching</title>
		<link>http://feedproxy.google.com/~r/Fr3d_org/~3/V8NehKWy_7w/</link>
		<comments>http://www.fr3d.org/2010/03/mysql-full-text-searching/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 22:31:37 +0000</pubDate>
		<dc:creator>Fr3d</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Search]]></category>

		<guid isPermaLink="false">http://www.fr3d.org/?p=219</guid>
		<description><![CDATA[Most people* immediately think of the &#8216;LIKE&#8217; operator when they want to do a quick search in SQL. If you only want to search for a single keyword in a small table, then there is (arguably) nothing wrong with this. However, when you start wanting to search for multiple terms, search for certain terms while [...]]]></description>
			<content:encoded><![CDATA[<p>Most people* immediately think of the  &#8216;LIKE&#8217; operator when they want  to do a quick search in SQL. If you only want to search for a  single keyword in a small table, then there is (arguably) nothing wrong  with this.</p>
<p>However, when you start wanting to search for multiple terms,  search for certain terms while excluding others, or searching large  tables, &#8216;LIKE&#8217; will get slow and very inaccurate.</p>
<p>One major cause of this inaccuracy is that the  search terms are looked for in the order they are specified. For example, the  following query would match &#8220;We use PHP and MySQL to power this  website.&#8221;, but would not match &#8220;We use MySQL and PHP to power this  website.&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> articles <span style="color: #993333; font-weight: bold;">WHERE</span> body <span style="color: #993333; font-weight: bold;">LIKE</span> <span style="color: #ff0000;">'%php%mysql%'</span> <span style="color: #993333; font-weight: bold;">AND</span> body <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">LIKE</span> <span style="color: #ff0000;">'%wordpress%'</span>;</pre></div></div>

<p>After discovering the above limitation first-hand (while implementing a search box on my <a title="QuoteDB" href="/quotes/" target="_blank">QuoteDB</a> system), I came an alternative: Full-Text matching.</p>
<p><a title="Using MySQL Full-text Searching - Zend DevZone" href="http://http://devzone.zend.com/article/1304" target="_blank">This article</a> on MySQL Full-Text Searching on the Zend DevZone was particularly helpful on this topic, so I recommend you give it a read. For those too lazy to read the entire thing, Full-Text matching requires a single step before you can use it: you must first add a  &#8216;FULLTEXT&#8217; index to the field(s) you wish search:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">ALTER</span> <span style="color: #993333; font-weight: bold;">TABLE</span> articles <span style="color: #993333; font-weight: bold;">ADD</span> FULLTEXT<span style="color: #66cc66;">&#40;</span>body<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Once that&#8217;s done, you can perform very fast and accurate searches, including (since MySQL 4.0.1) boolean mode operators to dramatically increase the search power. (For an idea of the power of boolean mode, have a look at <a title="MySQL Full-Text Search Boolean Mode Operators" href="http://devzone.zend.com/article/1304#Heading14" target="_blank">the operators table</a>.)</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*,</span> MATCH<span style="color: #66cc66;">&#40;</span>body<span style="color: #66cc66;">&#41;</span> AGAINST <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'+php +mysql -wordpress'</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">BOOLEAN</span> MODE<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> score <span style="color: #993333; font-weight: bold;">FROM</span> articles
<span style="color: #993333; font-weight: bold;">WHERE</span> MATCH<span style="color: #66cc66;">&#40;</span>body<span style="color: #66cc66;">&#41;</span> AGAINST <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'+php +mysql -wordpress'</span> <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #993333; font-weight: bold;">BOOLEAN</span> MODE<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>Unlike the &#8216;LIKE&#8217; search, thanks to Full-Text matching, this query would match both of the &#8220;We use&#8230;&#8221; text strings.</p>
<p><small>* </small><small>This included myself, </small><small>until I discovered Full-Text matching.</small></p>
<img src="http://feeds.feedburner.com/~r/Fr3d_org/~4/V8NehKWy_7w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fr3d.org/2010/03/mysql-full-text-searching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fr3d.org/2010/03/mysql-full-text-searching/</feedburner:origLink></item>
		<item>
		<title>Using Group Policy Preferences to control multiple BGinfo scripts</title>
		<link>http://feedproxy.google.com/~r/Fr3d_org/~3/SdMQSrZdWYE/</link>
		<comments>http://www.fr3d.org/2010/03/using-group-policy-prefs-to-control-bginfo-scripts/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 02:00:59 +0000</pubDate>
		<dc:creator>Fr3d</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Batch Scripting]]></category>
		<category><![CDATA[BGinfo]]></category>
		<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.fr3d.org/?p=180</guid>
		<description><![CDATA[I wanted to apply a different BGinfo-scripted background image as the wallpaper depending on what system a user was logging into, all using a single Group Policy. This means that all servers are set to have a uniform background colour, but users on regular PCs are still be able to use any custom wallpaper on [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to apply a different <a title="Microsoft Sysinternals BGinfo page" href="http://technet.microsoft.com/en-us/sysinternals/bb897557.aspx" target="_blank">BGinfo</a>-scripted background image as the wallpaper depending on what system a user was logging into, all using a single Group Policy.</p>
<p>This means that all servers are set to have a uniform background colour, but users on regular PCs are still be able to use any custom wallpaper on other computers without having to re-set it after each login.</p>
<p>While it is probably possible to create long-winded batch scripts to do what I wanted, it&#8217;s a lot easier to use the <a title="More information on Wikipedia" href="http://en.wikipedia.org/wiki/Group_Policy#Group_Policy_Preferences" target="_blank">Group Policy Preferences</a> (GPP) file options to control which BGinfo script is given to which systems.</p>
<p>One thing worth noting about GPP file control: I found that you have to use the &#8220;Replace&#8221; action rather than &#8220;Update&#8221; in Group Policy Preferences, as the targeted systems only update file <strong>attributes</strong> when using the &#8220;Update&#8221; action.</p>
<h3>Step 1: BGinfo Scripts</h3>
<ul>
<li>Create the BGinfo scripts, and then put them in a network share that any authenticated user can access.</li>
<li>The BGinfo.exe file will also need to be in this share.</li>
</ul>
<p><a href="http://www.fr3d.org/dev/random/screenshots/clippings/lando/BGinfo_3058.png" rel="lightbox[180]"><img class="alignnone" title="BGinfo Setup" src="http://www.fr3d.org/dev/random/screenshots/clippings/lando/BGinfo_3058.png" alt="BGinfo Setup" width="496" height="391" /></a></p>
<p><span id="more-180"></span></p>
<h3>Step 2: Group Policy Preferences</h3>
<ul>
<li>Create Group Policy User Preference entries for your .bgi files and BGinfo.exe</li>
<li>Optionally: apply item-level targeting if you want to limit which systems this preference applies to
<ul>
<li>I organise my systems into OUs (Organisational Units), but it&#8217;s easy to target specific Operating Systems if you prefer</li>
</ul>
</li>
</ul>
<p><a href="http://www.fr3d.org/dev/random/screenshots/clippings/lando/Group_Policy_Management_Editor_16759.png" rel="lightbox[180]"><img title="Group Policy Management Editor -  Editing User File Preferences" src="http://www.fr3d.org/dev/random/screenshots/clippings/lando/Group_Policy_Management_Editor_16759.png" alt="Group Policy Management Editor - Editing User File Preferences" width="496" height="327" /></a></p>
<h3>Step 3: Logon Script</h3>
<p>Finally, create the logon script to create the BGinfo background image every time a user logs in:</p>
<p><a href="http://www.fr3d.org/dev/random/screenshots/clippings/lando/Group_Policy_Management_Editor_28792.png" rel="lightbox[180]"><img title="Group Policy Management Editor - User Logon Scripts" src="http://www.fr3d.org/dev/random/screenshots/clippings/lando/Group_Policy_Management_Editor_28792.png" alt="Group Policy Management Editor - User Logon Scripts" width="496" height="430" /></a></p>
<p>Click the &#8220;Show Files&#8230;&#8221; button and create a new batch file in the folder that opened in Explorer (e.g. bginfo.bat). Then open the batch file in your favourite text editor and paste the following line into it. (Modify the paths and filenames as required.)</p>

<div class="wp_syntax"><div class="code"><pre class="dos" style="font-family:monospace;"><span style="color: #00b100; font-weight: bold;">IF</span> <span style="color: #000000; font-weight: bold;">EXIST</span> C:\bginfo\yourfile.bgi c:\bginfo\bginfo.exe c:\bginfo\yourfile.bgi /timer:<span style="color: #cc66cc;">0</span> /silent /nolicprompt</pre></div></div>

<p>Then close the text editor and Explorer window, click the &#8220;Add&#8230;&#8221; button, and select the batch file you just created.</p>
<h3>The End Results:</h3>
<p><img class="alignnone" title="BGinfo Result for a Server" src="http://www.fr3d.org/dev/random/screenshots/clippings/lando/BGinfo_Result_18771.png" alt="BGinfo Result for a Server" width="496" height="345" /></p>
<p><img class="alignnone" title="BGinfo Result for a Desktop" src="http://www.fr3d.org/dev/random/screenshots/clippings/lando/BGinfo_Result_-_Desktop_40621.png" alt="BGinfo Result for a Desktop" width="410" height="428" /></p>
<img src="http://feeds.feedburner.com/~r/Fr3d_org/~4/SdMQSrZdWYE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fr3d.org/2010/03/using-group-policy-prefs-to-control-bginfo-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fr3d.org/2010/03/using-group-policy-prefs-to-control-bginfo-scripts/</feedburner:origLink></item>
		<item>
		<title>PHP extract() should not be used</title>
		<link>http://feedproxy.google.com/~r/Fr3d_org/~3/6jd2fZbqFao/</link>
		<comments>http://www.fr3d.org/2010/03/php-extract-should-not-be-used/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 14:54:20 +0000</pubDate>
		<dc:creator>Fr3d</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Uni]]></category>

		<guid isPermaLink="false">http://www.fr3d.org/?p=116</guid>
		<description><![CDATA[In one of my recent lectures, the lecturer* told the class to use the PHP extract() function. I hadn&#8217;t previously come accross extract(), so I looked it up&#8230; and was horrified (and slightly amused) that he was recommending it. It was pretty obvious that  using extract() is almost as bad as having register_globals turned on. [...]]]></description>
			<content:encoded><![CDATA[<p>In one of my recent lectures, the lecturer* <a title="Lecture Slide" href="/dev/random/screenshots/clippings/lando/Lecture_2_-_Server_Side_PHP.ppt_%5BRead-Only%5D_%5BCompatibility_Mode%5D_-_Microsoft_PowerPoint_24768.png" target="_blank" rel="lightbox[116]">told the class</a> to use the PHP extract() function.</p>
<p>I hadn&#8217;t previously come accross extract(), so I looked it up&#8230; and was horrified (and slightly amused) that he was recommending it.<br />
It was pretty obvious that  using extract() is almost as bad as having <a title="PHP register_globals info" href="http://www.php.net/manual/en/security.globals.php" target="_blank">register_globals</a> turned on. (See the <a title="PHP extract() manual notes" href="http://www.php.net/extract#function.extract.notes" target="_blank">notes section</a> on the PHP manual for extract())</p>
<p>Unless you&#8217;ve specifically taken measures against it, what&#8217;s to stop the user adding something like &#8220;&amp;isloggedin=true&#8221; onto the GET query string or POST data? Or even worse, &#8220;&amp;isadmin=true&#8221;!</p>
<p>Instead of using the extract() function, what&#8217;s wrong with using an array, a quick foreach and some <a title="PHP Manual on Variable Variables" href="http://www.php.net/manual/en/language.variables.variable.php" target="_blank">variable variables</a>?<br />
Here is a very quick example (not perfect by any means, but you should get the idea):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">/*
* Example of safe variable assignment from the POST data for some login form
*/</span>
<span style="color: #000088;">$myVars</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;username&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;password&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">&quot;rememberMe&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$myVars</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$someVar</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000088;">$formVar_</span><span style="color: #000088;">$someVar</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$someVar</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">//Will result in: $formVar_username, $formVar_password and  $formVar_rememberMe.</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//$$someVar = $_POST[$someVar];</span>
	<span style="color: #666666; font-style: italic;">//This could be used to give you $username, $password and $rememberMe</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The above example stops a malicious user&#8217;s extra GET or POST data from actually  doing anything, but the resulting variables come out pretty much the  same. Adding all your form or URL variables to the array is almost certainly a lot less work (and less of a headache) than it would be to add security measures to your code.</p>
<hr />* This is the same lecturer that still <a title="Tweet about NSN" href="https://twitter.com/Fr3d_org/status/8583017394" target="_blank">uses Netscape Navigator</a>, so it&#8217;s hardly surprising that he&#8217;s still trying to use code practices that went out of date in the 90&#8242;s. He also recently posted this on the Uni <acronym title="Learning Management System">LMS</acronym>:</p>
<blockquote><p>&#8220;I have just  discovered that Global Variables has been disabled on the server, which means it will be difficult for you to use session  variables to implement your [coursework]. I have requested it be  re-enabled [...]&#8220;</p></blockquote>
<img src="http://feeds.feedburner.com/~r/Fr3d_org/~4/6jd2fZbqFao" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fr3d.org/2010/03/php-extract-should-not-be-used/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.fr3d.org/2010/03/php-extract-should-not-be-used/</feedburner:origLink></item>
		<item>
		<title>How to Restore Cisco ASA/PIX Firewalls to Factory Defaults</title>
		<link>http://feedproxy.google.com/~r/Fr3d_org/~3/-aFfjqsqRG8/</link>
		<comments>http://www.fr3d.org/2010/02/restore-cisco-firewalls-to-factory-defaults/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 15:49:34 +0000</pubDate>
		<dc:creator>Fr3d</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Firewall]]></category>

		<guid isPermaLink="false">http://www.fr3d.org/?p=98</guid>
		<description><![CDATA[It took me a while to find out how to do this recently, so I&#8217;m posting it here (more for my reference than anything else). Cisco ASA series: enable config t config factory-default reload saveconfig noconfirm (Source) Cisco PIX series: enable config t write erase reload noconfirm]]></description>
			<content:encoded><![CDATA[<p>It took me a while to find out how to do this recently, so I&#8217;m posting it here (more for my reference than anything else).</p>
<h3>Cisco ASA series:</h3>
<pre>enable
config t
config factory-default
reload saveconfig noconfirm</pre>
<p>(<a title="Restore Cisco ASA to Factory Default" rel="nofollow" href="http://www.mailbeyond.com/restoring-factory-defaults-to-the-cisco-asa5505-firewall-via-the-console" target="_blank">Source</a>)</p>
<h3>Cisco PIX series:</h3>
<pre>enable
config t
write erase
reload noconfirm</pre>
<img src="http://feeds.feedburner.com/~r/Fr3d_org/~4/-aFfjqsqRG8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.fr3d.org/2010/02/restore-cisco-firewalls-to-factory-defaults/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.fr3d.org/2010/02/restore-cisco-firewalls-to-factory-defaults/</feedburner:origLink></item>
	</channel>
</rss>
