<?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>Athena's Pad &#187; Software</title>
	<atom:link href="http://athena.outer-reaches.com/wp/index.php/archives/category/software/feed" rel="self" type="application/rss+xml" />
	<link>http://athena.outer-reaches.com/wp</link>
	<description>Notes from the codex of wisdom and war according to AthenaOfDelphi</description>
	<lastBuildDate>Sun, 27 Jun 2010 15:58:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>AVG vs. ICQ</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/641</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/641#comments</comments>
		<pubDate>Sat, 11 Jul 2009 00:30:29 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Wind Ups]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=641</guid>
		<description><![CDATA[Well well, what a bloody farce!  Upgrade to AVG Internet Security (the business version) and ICQ stops working&#8230; if you&#8217;re having problems with ICQ being unable to connect (the incredibly informative &#8216;Oops, something went wrong&#8217; message), read on.
I don&#8217;t use ICQ very often, so imagine my frustation when I tried to use it and [...]]]></description>
			<content:encoded><![CDATA[<p>Well well, what a bloody farce!  Upgrade to AVG Internet Security (the business version) and ICQ stops working&#8230; if you&#8217;re having problems with ICQ being unable to connect (the incredibly informative &#8216;Oops, something went wrong&#8217; message), read on.<span id="more-641"></span></p>
<p>I don&#8217;t use ICQ very often, so imagine my frustation when I tried to use it and it wouldn&#8217;t connect.</p>
<p>Wracking my poor PHP addled brain the only change that I&#8217;d made to my laptop that I thought would have an impact was the introduction of AVG Internet Security suite.  I upgraded the laptop from AVG Free largely because I&#8217;d been starting to use it for commercial purposes and because I wanted the extra security provided by the paid up product.</p>
<p>Anyhow, I digress&#8230; the problem with ICQ&#8230; when I tried to connect, I would constantly receive the &#8216;Oops, something went wrong&#8217; message.  ICQ devs, listen up&#8230; MAKE YOUR BLOODY ERROR MESSAGES MEAN SOMETHING FFS.  That is just such an unhelpful message it&#8217;s untrue&#8230; what went wrong?  did the world stop spinning?  did the little ethernet elf get lost on his way to my router?  did a gremlin of the global net munch my packets as they winged their way to your servers?  Who knows&#8230; something went wrong.</p>
<p>So, not wanting to contemplate the possibility that technology could kick my ass, I&#8217;ve just spent the best part of 3 hours tinkering with firewall rules, turning it off (and watching ICQ connect), tweaking more and turning it back on only to have ICQ fail again.  Desperate times called for desperate measures so out came the install for WireShark.  And what did I see&#8230; well, when it connected, there it was, clear as day, the TCP/IP connection establishment phase.  With the firewall on however, nothing.  A quick email to AVG tech support brought only the suggestion that I completely clean my configuration and then run a series of diagnostic tests (after I spent several hours configuring the dam thing to handle profile switching for 2 LANs, 2 WAPs and my mobile phones internet sharing, I think not.  So thanks guys, helpful as ever).</p>
<p>And now I&#8217;m ranting, so I&#8217;ll move swiftly onto the solution&#8230;</p>
<p>The problem I believe was timing.  My laptop isn&#8217;t exactly brimming with clock cycles, so the time AVG spent traversing it&#8217;s firewall rules resulted in a socket timeout (at least I think thats what was happening&#8230; &#8216;Oops, something went wrong&#8217; is oh so informative).  To get around this, I trawled through AVGs configuration options and discovered the priority rules.  I added a rule to them to handle the ICQ connections to port 5190, apply the configuration and hey presto&#8230; one connecting ICQ client.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/641/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BOMScan Version 0.1 Released</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/606</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/606#comments</comments>
		<pubDate>Mon, 09 Mar 2009 14:47:48 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[BOMScan]]></category>
		<category><![CDATA[Tool]]></category>
		<category><![CDATA[Utility]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=606</guid>
		<description><![CDATA[Version 0.1 of BOMScan has just been released.  BOMScan is a little tool I wrote to scan files for Unicode Byte Order Markers (or BOMs).

To use BOMScan, simply copy BOMScan.EXE into your Windows folder, then open a command prompt, goto the directory you want to scan and then simply type BOMScan and press enter. [...]]]></description>
			<content:encoded><![CDATA[<p>Version 0.1 of BOMScan has just been released.  BOMScan is a little tool I wrote to scan files for Unicode Byte Order Markers (or BOMs).<br />
<span id="more-606"></span></p>
<p>To use BOMScan, simply copy <b>BOMScan.EXE</b> into your Windows folder, then open a command prompt, goto the directory you want to scan and then simply type BOMScan and press enter.  It will then proceed to scan every file and subdirectory for Unicode BOMs.</p>
<p>The output will look something like this:-</p>
<pre class="code">
Scanning :- \ReqMan\Project Groups
Scanning :- \ReqMan\Projects
  => Require.bdsgroup (UTF-8)
  => Require.bdsgroup.local (UTF-8)
Scanning :- \ReqMan\Scratch Pad
Scanning :- \ReqMan\Source
</pre>
<p>The following Unicode BOMs are supported.</p>
<table>
<tr>
<th>Bytes Matched</th>
<th>Description</th>
</tr>
<tr>
<td>0&#215;00 0&#215;00 0xfe 0xff</td>
<td>UTF-32, big endian</td>
</tr>
<tr>
<td>0xff 0xfe 0&#215;00 0&#215;00</td>
<td>UTF-32, little endian</td>
</tr>
<tr>
<td>0xfe 0xff</td>
<td>UTF-16, big endian</td>
</tr>
<tr>
<td>0xff 0xfe</td>
<td>UTF-16, little endian</td>
</tr>
<tr>
<td>0xef 0xbb 0xbf</td>
<td>UTF-8</td>
</tr>
</table>
<p>Thats it, plain and simple.</p>
<p>Download version 0.1 of BOMScan.exe <a href='/wp/wp-content/uploads/2009/03/bomscan.exe'>here</a> (approx. 95KB).</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/606/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACFW Version 0.5 Released</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/584</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/584#comments</comments>
		<pubDate>Mon, 02 Mar 2009 22:46:12 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=584</guid>
		<description><![CDATA[Following the report of an issue with the Advanced Custom Field Widget, I&#8217;ve released version 0.5.
The problem was that under certain circumstances, the widget failed to display the information linked to a particular page.  It was caused by other widgets using the $post variables.  Thanks to James Collins for highlighting this after he [...]]]></description>
			<content:encoded><![CDATA[<p>Following the report of an issue with the Advanced Custom Field Widget, I&#8217;ve released version 0.5.</p>
<p>The problem was that under certain circumstances, the widget failed to display the information linked to a particular page.  It was caused by other widgets using the $post variables.  Thanks to James Collins for highlighting this after he put the widget below the recent posts widget and found it didn&#8217;t display anything.</p>
<p>Get the latest version <a href="http://wordpress.org/extend/plugins/advanced-custom-field-widget/" target="_BLANK">here</a> or upgrade it automatically using the plugin manager.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/584/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACFW Version 0.4 Released</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/544</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/544#comments</comments>
		<pubDate>Tue, 10 Feb 2009 21:18:28 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=544</guid>
		<description><![CDATA[Well, what a fiasco that was&#8230; my first plugin and I release it unfinished!
Apologies to anyone who has downloaded it and is now using it, but version 0.3 had a couple of issues that I desperately wanted to fix.

First up, when the plugin is deactivated, it deletes it&#8217;s configuration&#8230; not great when you use the [...]]]></description>
			<content:encoded><![CDATA[<p>Well, what a fiasco that was&#8230; my first plugin and I release it unfinished!</p>
<p>Apologies to anyone who has downloaded it and is now using it, but version 0.3 had a couple of issues that I desperately wanted to fix.<br />
<span id="more-544"></span></p>
<p>First up, when the plugin is deactivated, it deletes it&#8217;s configuration&#8230; not great when you use the automatic updates&#8230; so, for upgrading to version 0.4 I highly recommend a manual upgrade.  I&#8217;ve tried deactivating the plugin on my development blog and the changes appear to work as the configuration is still there once it&#8217;s reactivated.  Feedback would be appreciated if you have problems with this as I want to get any issues like that nailed early on.</p>
<p>The other thing I wanted to fix was the lack of a .POT file.  I believe the one that&#8217;s now provide is up to scratch.  If not, again&#8230; feedback is appreciated.</p>
<p>I should also give a shout out to Jacob Santos for his information about the uninstall hooks in WordPress 2.7 (available on his blog at <a href="http://www.santosj.name/2008/general/wordpress-27-plugin-uninstall-methods/" target="_BLANK">http://www.santosj.name/2008/general/wordpress-27-plugin-uninstall-methods/</a>).  Unfortunately I found his example of the uninstall file didn&#8217;t work and I had a nightmare getting it to work, so here&#8217;s the one from ACFW.</p>
<pre class="code">
&lt;?php

if (defined("WP_UNINSTALL_PLUGIN")==TRUE)
{
	if (current_user_can(activate_plugins))
	{
		delete_option("widget_adv_custom_field");
	}
}

?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/544/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACFW available on WordPress.org</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/541</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/541#comments</comments>
		<pubDate>Tue, 10 Feb 2009 13:30:07 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=541</guid>
		<description><![CDATA[I have finally gotten around to getting my beefed up version of Scott Wallick&#8217;s Custom Field Widget published on WordPress.org.
http://wordpress.org/extend/plugins/advanced-custom-field-widget/.
But I just noticed that I haven&#8217;t sorted the translation code out! DOH!!!  So, if you download it and expect it to be capable of being localised, I&#8217;m afraid it&#8217;s not at the moment.  [...]]]></description>
			<content:encoded><![CDATA[<p>I have finally gotten around to getting my beefed up version of Scott Wallick&#8217;s Custom Field Widget published on WordPress.org.</p>
<p><a href="http://wordpress.org/extend/plugins/advanced-custom-field-widget/" target="_BLANK">http://wordpress.org/extend/plugins/advanced-custom-field-widget/</a>.</p>
<p>But I just noticed that I haven&#8217;t sorted the translation code out! DOH!!!  So, if you download it and expect it to be capable of being localised, I&#8217;m afraid it&#8217;s not at the moment.  I&#8217;ll see if I can get it sorted this week.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/541/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vBulletin Tweak (Hide smilies &#8211; Update for 3.8.1)</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/498</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/498#comments</comments>
		<pubDate>Thu, 05 Feb 2009 13:10:59 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=498</guid>
		<description><![CDATA[I posted a little tweak for vBulletin back in November.  Since then, vBulletin 3.8.1 has been released and the fix needs to be applied at around line 588 of the specified file, not 558 as specified in the original post.
If you want to hide a group of smilies (or an individual smilie), this fix [...]]]></description>
			<content:encoded><![CDATA[<p>I posted a little tweak for vBulletin back in November.  Since then, vBulletin 3.8.1 has been released and the fix needs to be applied at around line 588 of the specified file, not 558 as specified in the original post.</p>
<p>If you want to hide a group of smilies (or an individual smilie), this fix will allow you to do so by settings it&#8217;s display order to 0.  Old posts can still use it and theoretically, so can the users&#8230; they just won&#8217;t be able to see it from the main menu.</p>
<p>For full details, check out the original post (a link to it is in the menu).</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/498/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google SketchUp</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/466</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/466#comments</comments>
		<pubDate>Tue, 30 Dec 2008 05:46:32 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=466</guid>
		<description><![CDATA[What a revelation this is&#8230; Google SketchUp is amazing!  As I&#8217;ve been writing some articles about LittleBigPlanet and the mechanics it supports, I&#8217;ve been wanting a means to draw some of the designs.  Having checked out the most common open source CAD packages, I was sadly disappointed.  Then I recalled hearing about [...]]]></description>
			<content:encoded><![CDATA[<p>What a revelation this is&#8230; Google SketchUp is amazing!  As I&#8217;ve been writing some articles about LittleBigPlanet and the mechanics it supports, I&#8217;ve been wanting a means to draw some of the designs.  Having checked out the most common open source CAD packages, I was sadly disappointed.  Then I recalled hearing about SketchUp and decided to check it out.</p>
<p>I was up and running, and drawing some (for my first efforts) not bad diagrams to illustrate my articles.</p>
<p>Check out <a href="/wp/index.php/littlebigplanet-tutorials/reusable-elements/direction-decoder">this page</a> to see whats possible in around 20 minutes with SketchUp.  On all the other applications I tried I couldn&#8217;t even draw a line!  So, if you want a nice easy to use means of doing some CAD type work, give SketchUp a try.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/466/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vBulletin Tweak (Hide smilies)</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/258</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/258#comments</comments>
		<pubDate>Fri, 21 Nov 2008 03:07:13 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Outer Reaches]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tutorials and How To's]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/?p=258</guid>
		<description><![CDATA[If you&#8217;re a vBulletin administrator (like me) and you want to stop people from using older smilies, here&#8217;s a quick tweak that seems to stop them being used in the post editor.

A word of caution before we continue.  This tweak involves editing one of the vBulletion system files.  If you aren&#8217;t comfortable doing [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re a vBulletin administrator (like me) and you want to stop people from using older smilies, here&#8217;s a quick tweak that seems to stop them being used in the post editor.<br />
<span id="more-258"></span><br />
A word of caution before we continue.  <b>This tweak involves editing one of the vBulletion system files.  If you aren&#8217;t comfortable doing that, then don&#8217;t do it!</b></p>
<p>I should perhap also state that because this involves editing a system file, you will have to carry out a similar modifcation the next time you upgrade your vBulletin installation.  This mod was done on the codebase for version 3.7.4 with no patches applied.</p>
<p>So, on to the modification.</p>
<p>Locate the file includes\functions_editor.php, and go down to line 558.  It should read:-</p>
<p><code><br />
$smilies = $vbulletin->db->query_read_slave("<br />
  SELECT smilieid, smilietext, smiliepath, smilie.title,<br />
    imagecategory.title AS category<br />
  FROM " . TABLE_PREFIX . "smilie AS smilie<br />
  LEFT JOIN " . TABLE_PREFIX . "imagecategory AS imagecategory USING(imagecategoryid)<br />
  ORDER BY imagecategory.displayorder, imagecategory.title, smilie.displayorder<br />
");<br />
</code></p>
<p>All we&#8217;re going to do, is to add a condition to this SQL statement that will allow you to manage which smilies are visible to users in the editor.  To do this, add the following where clause to the SQL.</p>
<p><code><br />
  WHERE (smilie.displayorder<>0) and (imagecategory.displayorder<>0)<br />
</code></p>
<p>If you&#8217;re unfamiliar with SQL, then this is what your code should look like after you&#8217;ve made the change.</p>
<p><code><br />
$smilies = $vbulletin->db->query_read_slave("<br />
  SELECT smilieid, smilietext, smiliepath, smilie.title,<br />
    imagecategory.title AS category<br />
  FROM " . TABLE_PREFIX . "smilie AS smilie<br />
  LEFT JOIN " . TABLE_PREFIX . "imagecategory AS imagecategory USING(imagecategoryid)<br />
  WHERE (smilie.displayorder<>0) and (imagecategory.displayorder<>0)<br />
  ORDER BY imagecategory.displayorder, imagecategory.title, smilie.displayorder<br />
");<br />
</code></p>
<p>Simple enough, no?</p>
<p>Now, assuming everything is fine, to hide a smilie (or whole category of smilies), set the display order of the item you want to hide to 0, and hey presto, they won&#8217;t appear in the editor, but posts that use older smilies will still be able to use them.</p>
<p>And that as they say, is that <img src='http://athena.outer-reaches.com/wp/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<hr />
vBulletin is Copyright ©2000-2008 Jelsoft Enterprises Ltd. All Rights Reserved.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/258/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick word of advice about ZoneAlarm</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/184</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/184#comments</comments>
		<pubDate>Mon, 26 Nov 2007 20:52:26 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Wind Ups]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/index.php/archives/184</guid>
		<description><![CDATA[Just thought I&#8217;d make a quick mention about this issue to try and help someone else being bitten in the ass by it.

I have used a fully paid up version of AVG Anti-virus for a while, and I finally upgraded to their internet security suite.  Now, my machine was running ZoneAlarm (even though I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>Just thought I&#8217;d make a quick mention about this issue to try and help someone else being bitten in the ass by it.<br />
<span id="more-184"></span></p>
<p>I have used a fully paid up version of AVG Anti-virus for a while, and I finally upgraded to their internet security suite.  Now, my machine was running ZoneAlarm (even though I&#8217;ve been sat behind a NAT router and firewall for quite a while), so just in case my machine didn&#8217;t like the firewall in AVG, I decided I would be sensible and leave ZoneAlarm installed, just in case I needed to do a quick revert.</p>
<p>So, I removed ZA from the startup and promptly stopped the True Vector service and set its state to Disabled.</p>
<p>AVG was installed and appeared to be operating normally, with one exception&#8230; it said it wouldn&#8217;t do on-open scanning for spyware without the latest security patches, so off I go and bring my machine up to date&#8230; 68 patches (you can tell I&#8217;m not a huge fan of Microsoft&#8217;s update system).</p>
<p>Great I thought&#8230; updated security software&#8230; updated OS&#8230; everything is rosey <img src='http://athena.outer-reaches.com/wp/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>How wrong was I!!! <img src='http://athena.outer-reaches.com/wp/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </p>
<p>As soon as I&#8217;d rebooted, it became clear that something was very wrong&#8230; I could no longer synchronise my mobile phone&#8230; I could surf (for a while), I couldn&#8217;t resolve domain names&#8230; to put it mildly, my machine was right royally screwed.</p>
<p>I tried everything I could think of, and was getting so desperate that I actually uninstalled 58 of the 68 patches&#8230; I reinstalled ActiveSync&#8230; until I noticed something&#8230;  during bootup, I was able to ping the machine, then it stopped responding&#8230; during shutdown, it suddenly became responsive until the card was stopped by the OS.  Clearly I was dealing with something in the user domain, not the OS domain.  The new AVG&#8230; I uninstalled that&#8230; no difference&#8230; <B>ZoneAlarm</b></p>
<p>I uninstalled ZoneAlarm and suddenly everything sprang into life&#8230; domain resolution, ActiveSync&#8230; everything.</p>
<p>So, in conclusion, simply disabling ZoneAlarm isn&#8217;t enough to stop it completely cocking up your network stack somehow.  You have been warned&#8230; if you no longer want it, uninstall it, because if you don&#8217;t it will screw you up big time.</p>
<p>Thanks a bunch ZoneLabs <img src='http://athena.outer-reaches.com/wp/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/184/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My First Slice Of Cake</title>
		<link>http://athena.outer-reaches.com/wp/index.php/archives/166</link>
		<comments>http://athena.outer-reaches.com/wp/index.php/archives/166#comments</comments>
		<pubDate>Sat, 24 Mar 2007 17:43:25 +0000</pubDate>
		<dc:creator>AthenaOfDelphi</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://athena.outer-reaches.com/wp/index.php/archives/166</guid>
		<description><![CDATA[Yes, thats right&#8230; my first ever slice of cake&#8230; not the yummy kind&#8230; the framework kind, and I have to say I&#8217;m impressed.  I have this madly simple idea for a neat website, but I don&#8217;t want to commit weeks of work to it only to watch it crash and burn (potentially).  So [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, thats right&#8230; my first ever slice of cake&#8230; not the yummy kind&#8230; the framework kind, and I have to say I&#8217;m impressed.  I have this madly simple idea for a neat website, but I don&#8217;t want to commit weeks of work to it only to watch it crash and burn (potentially).  So I&#8217;ve been looking around for frameworks for developing web apps&#8230; looked at Ruby on Rails&#8230; nice, but needed what seemed like an inordinate amount of effort to set up&#8230; then I came across CakePHP.  What a revelation.<span id="more-166"></span></p>
<p>I feel like I&#8217;m so behind the times on developing web applications, its untrue, but I have a sneaky feeling thats about to change.</p>
<p>I mentioned Ruby on Rails&#8230; download Ruby, IIRC compile it, then download RubyGems (IIRC), then use that to grab Rails.  Then (having read a couple of tutorials), mess around with a bunch of scripts in a language/format which was completely alien.  Ok, I have no quarms about learning another language, but that takes time&#8230; something I&#8217;m short on.</p>
<p>Enter CakePHP&#8230; I have PHP 4.4.0 (thats one requirement checked), MySQL 4.11 (another) and a ready to run web server with mod_rewrite (thats all the requirements IIRC).  Download the file, unpack it, edit the database configuration file, edit Apache&#8217;s config and I have a site up and running (Ok, it doesn&#8217;t do much, but CakePHP was up and running).</p>
<p>I&#8217;m not going to write a tutorial, theres already a wealth of different ones, but to give you an indication of how easy it was to get a CRUD (great acronym&#8230; short for Create Read Update and Delete) interface up and running.</p>
<p>Heres the scripts etc. I had to run to get a single table operational.</p>
<p>Firstly, create my database and database user.</p>
<p><code><br />
create database mysample;<br />
grant all privileges on mysample.* to mysampleuser@'%' identified by 'mysamplepass';<br />
use mysample;<br />
create table manufacturers (<br />
  id bigint not null auto_increment primary key,<br />
  name varchar(64)<br />
);<br />
</code></p>
<p>Thats the SQL out of the way&#8230;  now edit database.php in the app/config directory to provide the database connection details.</p>
<p>CakePHP splits the project into Models, Controllers and Views.  Models are your link to the database, and typically each table in the DB will have a model associated with it.  So, you create a file in the app/models directory called manufacturer.php.  And you put this into it.</p>
<p><code><br />
class Manufacturer extends AppModel<br />
{<br />
  var $name = 'Manufacturer';<br />
}<br />
</code></p>
<p>Then you need to specify the controller part&#8230; this is the worker of CakePHP if my understanding is correct, the requests made by users are routed to a specific controller governed by URLs, so lets say I want to add a manufacturer, I might request the page mysite.com/manufacturers/add/.  This would be routed to the manufacturers_controller.php file for processing.</p>
<p>So, for this, we create a file called manufacturers_controller.php in the app/controllers directory.</p>
<p><code><br />
class ManufacturersController extends AppController<br />
{<br />
  var $name = 'Manufacturers';<br />
  var $scaffold;<br />
}<br />
</code></p>
<p>The $scaffold variable is important at this stage as it uses CakePHP to build the CRUD interface on the fly, making for really rapid prototyping.  It also means you can fiddle with your DB design on the fly&#8230; all you have to worry about changing then is the models.  You don&#8217;t have to use scaffolding, you can get straight in there and provide the views element yourself, but I wanted to just bang something together quickly.</p>
<p>And thats it.</p>
<p>You have an interface that will list your manufacturers, allow you to add new ones, edit existing ones and delete the ones you don&#8217;t want.  And all that from 16 short lines.  The great thing about the scaffold is that once you&#8217;re happy with it, you can run a script which converts the scaffold into code which you can then customise to meet your exact requirements.</p>
<p>My only complaint is the naming conventions.  They are covered in the documentation, but some of it isn&#8217;t totally clear.  However, this small issue aside, I&#8217;m impressed.  I put together a quick prototype of a portion of my idea in a few hours (mostly spent fighting with the naming conventions) that included associations (so I can add sub groups to groups, brands to manufacturers and such like) and all the forms (scaffold admittedly, but still) to manage the data.</p>
<p>Suffice to say, I&#8217;m going to give it a real thorough run through with my latest idea, so I&#8217;ll be sure to post how I get on with it.</p>
<p>Check out the CakePHP website at <a href="http://www.cakephp.org/" target="_BLANK">www.cakephp.org</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://athena.outer-reaches.com/wp/index.php/archives/166/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
