<?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>Digital Meanderings</title>
	<atom:link href="http://cwcrawley.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://cwcrawley.co.uk</link>
	<description>Random posts of a programmer, martial artist, gamer and general geek</description>
	<lastBuildDate>Tue, 02 Mar 2010 09:59:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Pastures new and a rather large animal!</title>
		<link>http://cwcrawley.co.uk/2010/03/pastures-new-and-a-rather-large-animal/</link>
		<comments>http://cwcrawley.co.uk/2010/03/pastures-new-and-a-rather-large-animal/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 09:46:37 +0000</pubDate>
		<dc:creator>Carl Crawley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cwcrawley.co.uk/?p=130</guid>
		<description><![CDATA[So finally it&#8217;s official. After over 3 years working at Mark Turner and Dame Ellen MacArthur&#8217;s OC Group as Group IT and Technology Manager, I have taken the decision to move away from &#8216;normal&#8217; employment to start up my own Agency.
It was a difficult decision to make, helped by the board at OC, who I [...]]]></description>
			<content:encoded><![CDATA[<p>So finally it&#8217;s official. After over 3 years working at Mark Turner and Dame Ellen MacArthur&#8217;s OC Group as Group IT and Technology Manager, I have taken the decision to move away from &#8216;normal&#8217; employment to start up my own Agency.</p>
<p>It was a difficult decision to make, helped by the board at OC, who I thank immensely for helping through the transition period and to whom I will continue to be working for as a consultant ongoing for their business technology and infrastructure support.</p>
<p>The business has had a lot of internal restructuring since when I originally started at the business and whilst I have supported the business through all of these transitions, I have become more of a &#8216;manager&#8217; and less of a &#8216;doer&#8217; &#8211; losing touch with technology and although I have led the business migration to ExpressionEngine for all our websites, I&#8217;ve not been able to dedicate as much time as I would have liked in the pursuit of custom addons and development.</p>
<p>So, I&#8217;ve decided to start up my agency again. Over the last 6 months I&#8217;ve been providing the occasional ExpressionEngine and Ruby on Rails support to designers and developers all around the world who need outsource assistance and as well as taking on some of my own clients, I hope to be able to extend my relationships with more designers and developers to take on some development projects on their behalf.</p>
<p>Ladies and Gentleman, I present to you:</p>
<p style="text-align: center;"><a href="http://www.madebyhippo.com"><img class="size-medium wp-image-135 aligncenter" title="hippo_name" src="http://cwcrawley.co.uk/wp-content/uploads/2010/03/hippo_name-300x186.png" alt="" width="300" height="186" /></a></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcwcrawley.co.uk%2F2010%2F03%2Fpastures-new-and-a-rather-large-animal%2F&amp;linkname=Pastures%20new%20and%20a%20rather%20large%20animal%21"><img src="http://cwcrawley.co.uk/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://cwcrawley.co.uk/2010/03/pastures-new-and-a-rather-large-animal/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>MultiLingual Websites in ExpressionEngine</title>
		<link>http://cwcrawley.co.uk/2010/01/multi-lingual-websites-in-expressionengine/</link>
		<comments>http://cwcrawley.co.uk/2010/01/multi-lingual-websites-in-expressionengine/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 20:37:58 +0000</pubDate>
		<dc:creator>Carl Crawley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cwcrawley.co.uk/?p=113</guid>
		<description><![CDATA[The following article will show you one of the many ways that you can create a multilingual or country-specific site in ExpressionEngine to deliver content specific to each language/country.

Firstly, we&#8217;re going to start with a blank ExpressionEngine Install:

Now what we need to do is to define our content languages/countries. We do this by creating root [...]]]></description>
			<content:encoded><![CDATA[<p>The following article will show you one of the many ways that you can create a multilingual or country-specific site in ExpressionEngine to deliver content specific to each language/country.</p>
<p><span id="more-113"></span></p>
<p>Firstly, we&#8217;re going to start with a blank ExpressionEngine Install:</p>
<p><img class="aligncenter size-medium wp-image-117" title="eem_1-309x189" src="http://cwcrawley.co.uk/wp-content/uploads/2010/01/eem_1-309x189-300x183.png" alt="Default File List" width="300" height="183" /></p>
<p>Now what we need to do is to define our content languages/countries. We do this by creating root folders for each country that we want. For the purpose of this article, I&#8217;m going to create an English (en), French (fr) and Spanish (es).</p>
<p><a href="http://cwcrawley.co.uk/wp-content/uploads/2010/01/eem_2-299x246.png"><img class="aligncenter size-full wp-image-118" title="eem_2-299x246" src="http://cwcrawley.co.uk/wp-content/uploads/2010/01/eem_2-299x246.png" alt="Default File List with Language Folders" width="299" height="246" /></a></p>
<p>I personally choose to use the two letter abbreviations of countries so that I keep my URL&#8217;s small enough (www.sitedomain.com/en/) rather than using the full name (www.sitedomain.com/english/) &#8211; but this is entirely up to you.</p>
<p>we now need to copy the &#8216;/index.php&#8217; and the &#8216;/path.php&#8217; files into each of the folders that we just created.</p>
<p><a href="http://cwcrawley.co.uk/wp-content/uploads/2010/01/eem_3-321x361.png"><img class="aligncenter size-full wp-image-119" title="eem_3-321x361" src="http://cwcrawley.co.uk/wp-content/uploads/2010/01/eem_3-321x361.png" alt="Folder List with Languages and Files" width="321" height="361" /></a></p>
<p>We don&#8217;t need to change anything in the index.php files since they are exactly the same, but we do need to make some changes on the path.php files.</p>
<p>Default File :</p>
<p><code>1. &lt;?php<br />
2.<br />
3. // ------------------------------------------------------<br />
4. // DO NOT ALTER THIS FILE UNLESS YOU HAVE A REASON TO<br />
5.<br />
6. // ------------------------------------------------------<br />
7. // Path to the directory containing your backend files<br />
8.<br />
9. $system_path = "./system/";<br />
10.<br />
11. // ------------------------------------------------------<br />
12. // MANUALLY CONFIGURABLE VARIABLES<br />
13. // See user guide for more information<br />
14. // ------------------------------------------------------<br />
15.<br />
16. $template_group = "";<br />
17. $template = "";<br />
18. $site_url = "";<br />
19. $site_index = "";<br />
20. $site_404 = "";<br />
21. $global_vars = array(); // This array must be associative<br />
22.<br />
23. ?&gt;</code></p>
<p>Change 1) Change line 9 to represent the new path to the system folder</p>
<p><code>9. $system_path = "../system/";</code></p>
<p>Change 2) Change line 18 to include the URL of the site (including the folder segment)</p>
<p><code>18. $site_url = "http://www.sitedomain.com/en/";</code></p>
<p>Change 3) Create an Array value in line 21 to include a country reference that you will use within your Custom Fields.</p>
<p><code>21. $global_vars = array(<br />
"countrycode"=&gt;"English"<br />
); // This array must be associative</code></p>
<p>Do that for each of the languages/folders that you have created passing the correct folder/language into the appropriate section.</p>
<p>Now you have a working folder structure with languages &#8211; try visiting http://www.sitedomain.com/en/ and you should see your EE Homepage!</p>
<p>Part 2 : Referencing Custom Fields</p>
<p>Now we need to create a custom field to associate our content/language. There are multiple ways you can do this, but I simply do it by creating a custom field called {cat}_lang &#8211; for example, my news section would be &#8216;news_lang&#8217; or my about section would be &#8216;about_lang&#8217;. You can do this how you want though.</p>
<p>Next you set the custom field to be a drop down and you pre-populate the fields with the same values as you entered in the associative array (change 3). As the following example shows.</p>
<p><a href="http://cwcrawley.co.uk/wp-content/uploads/2010/01/eem_4-600x562.png"><img class="aligncenter size-medium wp-image-120" title="eem_4-600x562" src="http://cwcrawley.co.uk/wp-content/uploads/2010/01/eem_4-600x562-300x281.png" alt="Creating a Custom Field" width="300" height="281" /></a></p>
<p>Now once you&#8217;ve done this, you will be able to publish an entry and choose it&#8217;s appropriate language &#8211; keeping all your news in the &#8216;news channel&#8217; and so on so forth.</p>
<p>All you now need to do is to amend your standard exp:weblog:entries code to allow for the filter of the language/location. This is where the &#8216;countrycode&#8217; global array comes into it&#8217;s own &#8211; simply add the following to your exp:weblog:entries code:</p>
<p><code>search:news_lang="{countrycode}"</code></p>
<p>Et Voila!</p>
<p>One last thing you should probably also consider is that if someone went to &#8216;www.sitedomain.com&#8217; &#8211; it wouldn&#8217;t show them anything because you have no language settings etc. I simply use a .htaccess file in the root and add the following line to redirect the user to a&#8217;default&#8217; location (i.e the English site):</p>
<p><code>Redirect 301 /index.php http://www.sitedomain.com/en/</code></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcwcrawley.co.uk%2F2010%2F01%2Fmulti-lingual-websites-in-expressionengine%2F&amp;linkname=MultiLingual%20Websites%20in%20ExpressionEngine"><img src="http://cwcrawley.co.uk/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://cwcrawley.co.uk/2010/01/multi-lingual-websites-in-expressionengine/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>11 EE-Tastic ways to speed up your development</title>
		<link>http://cwcrawley.co.uk/2009/11/11-ee-tastic-ways-to-speed-up-your-development/</link>
		<comments>http://cwcrawley.co.uk/2009/11/11-ee-tastic-ways-to-speed-up-your-development/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 14:22:09 +0000</pubDate>
		<dc:creator>Carl Crawley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cwcrawley.co.uk/?p=97</guid>
		<description><![CDATA[So, I&#8217;m going to assume that you all know what Expression Engine ExpressionEngine is and does &#8211; Originally built as a &#8216;blogging&#8217; tool, it has quickly become a market leader in Content Management Systems and I not only use Expression Engine ExpressionEngine for all my freelance projects, but I&#8217;m also spearheading the adoption of it [...]]]></description>
			<content:encoded><![CDATA[<p>So, I&#8217;m going to assume that you all know what <span style="text-decoration: line-through;"><a href="http://www.expressionengine.com" target="_blank">Expression Engine</a></span> <a href="http://www.expressionengine.com" target="_blank">ExpressionEngine</a> is and does &#8211; Originally built as a &#8216;blogging&#8217; tool, it has quickly become a market leader in Content Management Systems and I not only use <span style="text-decoration: line-through;">Expression Engine</span> ExpressionEngine for all my freelance projects, but I&#8217;m also spearheading the adoption of it amongst my day-job, building enterprise level high traffic sites in the Framework.</p>
<p>I&#8217;ve decided finally that I should really get down in writing some of the techniques that I employ for the building of my <span style="text-decoration: line-through;">Expression Engine</span> ExpresionEngine websites. My last post raved about the recent ExpressionEngine and CodeIgniter (<a href="http://www.eeci2009.com">EECI2009</a>) conference that I attended in Leiden, Holland &#8211; if you haven&#8217;t <a href="http://cwcrawley.co.uk/2009/10/eeci2009-round-up/">read it</a> yet, I recommend you do! However, in the meantime here are my tips on minimising your development time and maximising your output.<span id="more-97"></span></p>
<p><strong>Rename your &#8217;system&#8217; folder</strong></p>
<p>It&#8217;s somewhat irrelevant what you name it &#8211; it can be something such as &#8216;admin&#8217; or &#8216;cms&#8217; or something like that &#8211; but I recommend renaming it away from the standard. In fact, if you want. We chose &#8216;framework&#8217; since that&#8217;s what it is (as per the <a href="http://eescreencasts.com/" target="_blank">EE Screencasts</a> from Ryan Irelan!)</p>
<p><strong>Change your &#8216;weblog&#8217; reference</strong></p>
<p>Since, 9 times out of 10 &#8211; you&#8217;re not going to building a &#8216;blog&#8217; site &#8211; it&#8217;s a good idea to go into your Admin &gt; System Preferences &gt; General Configuration and change the entry in the &#8216;weblog designation word&#8217;. We used to use &#8217;section&#8217; &#8211; however, the word &#8216;channel&#8217; now seems to be gaining popularity and so we&#8217;ve started adopting that. You could quite easily call it &#8216;pages&#8217; or &#8216;articles&#8217; or what ever you want.</p>
<p><strong>Setting your site up for languages</strong></p>
<p>It may not necessarily be needed, but it&#8217;s always good to have it set up anyway &#8211; you never know when a client &#8216;may&#8217; decide that they want to have multi-lingual content at some point in the future. simply create physical folders for each language in the root of your site (such as /en) and then in there copy your index.php and path.php. Then simply open your /en/path.php file and update the $system_path to refer back to your system folder &#8216;../system/&#8217; and the $site_url should include your folder name (i.e. &#8216;http://www.sitename.com/en/&#8217;). Once set up you can then use a custom weblog field and the global arrays to refer and pull out the appropriate language content.</p>
<p>You then need to tell your site to load a &#8216;language&#8217; by default. The simplest way of doing this is to use a .htaccess file with ModReWrite. An Example of this is as follows :</p>
<p><code>RewriteEngine On<br />
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_URI} !^/framework<br />
RewriteCond %{HTTP_HOST} .<br />
RewriteRule ^(.*)$ http://www.nameofyoursite.com/en/ [R=301,L]</code></p>
<p><strong>Remove your index.php from the URL</strong></p>
<p>There are many ways to get this accomplished &#8211; but by far the easiest, is to simply use a &#8216;.htaccess&#8217; file in your root. Using the ModReWrite functionality of Apache, you simply create a file in your root (if you&#8217;re using language, put it into your /en/ folder) with the following :</p>
<p><code>RewriteEngine On<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule ^(.*)$ /en/index.php/$1 [L]</code></p>
<p>Simply repeat this for any other language folders you have (make sure you change the /en/ value to match the other folders</p>
<p>then, in your control panel, go to Admin &gt; System Preferences &gt; General Configuration and remove all references to index.php from the fields there.</p>
<p><strong>Create global arrays</strong></p>
<p>I find that people don&#8217;t use Global Arrays enough in their EE driven websites. The use of global arrays in your path.php file is a great way to have common values and settings available irrelevant of where you are in your EE site. It also is extremely handy when it comes to &#8216;multi-lingual&#8217; sites when you need text and navigation options to be loaded in different languages without any complex if statements.</p>
<p>In your path.php file, you create an associative array against the $global_vars variable. An example of this is as follows :</p>
<p><code>$global_vars = array(<br />
"lang_code" =&gt; "en",<br />
"requestbrochure" =&gt; "Request a Brochure",<br />
"othernews" =&gt; "Other News",<br />
"archive" =&gt; "View our Archives"<br />
); //</code></p>
<p>This means that anywhere in your EE instance, you can now refer to {lang_code} or {requestbrochure} to get the value.</p>
<p>If you now imagine that I have an /en/path.php and an /fr/path.php file (for my English and French Language Multi-Site) &#8211; I would simply have two path.php files:</p>
<p><code>/en/path.php</code></p>
<p><code>$global_vars = array(<br />
"lang_code" =&gt; "en",<br />
"requestbrochure" =&gt; "Request a Brochure",<br />
"othernews" =&gt; "Other News",<br />
"archive" =&gt; "View our Archives"<br />
); //</code></p>
<p><code>/fr/path.php</code></p>
<p><code>$global_vars = array(<br />
"lang_code" =&gt; "fr",<br />
"requestbrochure" =&gt; "Demandez une brochure",<br />
"othernews" =&gt; "D'autres nouvelles",<br />
"archive" =&gt; "Consultez nos archives"<br />
); //</code></p>
<p>You now understand the power and potential that your global variables allow you to have. Whilst EE does allow for Global Variables &#8211; it doesn&#8217;t give the flexibility to be able to store values in depending on language.</p>
<p><em>N.B: For the French speakers, I&#8217;m sure you&#8217;ll see the French is probably not correct &#8211; I&#8217;m not a French speaker, so have taken &#8216;babelfish&#8217; at its word for demonstration purposes.</em></p>
<p><strong>Use EE&#8217;s &#8216;global variables&#8217;</strong></p>
<p>Ok &#8211; this is a slight contradiction to the previous point, but it was a tip that I learned from the EECI2009 conference. Everytime you run an &#8216;embed&#8217; to a template as part of an include, the load on your Expression Engine increases exponentially. This is because every time a template is called, it starts all the database requests again. So it&#8217;s a good idea to use &#8216;Global Variables&#8217; in EE for content that doesn&#8217;t change on the site &#8211; things such as your Javascript script includes, maybe your footer or even your &#8217;signup form&#8217; could be put into the EE global variables and when called, wont put undue load on your servers (especially if building for high traffic sites).</p>
<p>To create EE Global Variables, simply Log in to your control panel and select Templates &gt; Global Variables. You can simply create as many global variables as you want here and the big win over using the path.php variables is that you can put HTML into these ones (ok, you could in theory do that with the path.php but not without a &#8216;lot&#8217; of escaping characters!)</p>
<p><strong>Create &#8216;File Templates&#8217;</strong></p>
<p>In terms of rapid development, using your favourite text editor to work on your EE/HTML coding is much much easier than using a web browser in the control panel. To enable File Templates, simply log in to your control panel and go to &#8216;Templates &gt; Global Template Preferences&#8217; and enable the &#8216;Allow templates to be saved as files&#8217;. Make sure you have a correct path set up for them &#8211; I recommend putting it in your /system/templates folder, but the choice is up to you.</p>
<p>Two things to bear in mind when editing files are that</p>
<p>a) You still have to &#8216;create&#8217; the template first in the control panel, then open the new template and select &#8216;Save Template as File&#8217; option at the bottom before saving</p>
<p>b) &#8216;Template Revisions&#8217; doesn&#8217;t work when editing the file outside of the control panel</p>
<p><strong>Setting database variables in your config.php</strong></p>
<p>I&#8217;m pretty sure there&#8217;s an easier way of doing this &#8211; however, one of our problems is that we have two levels of site structure when developing in the office. We have &#8217;staging&#8217; and &#8216;live&#8217;. Each of these have different databases. Aside from the issue of &#8217;synchronising&#8217; databases between two hosts, we use a simple if clause in our /system/config.php file to allow us to switch hosts easily. An example of this is as follows :</p>
<p><code>$sitedb = 'dev';</code></p>
<p><code>if ($sitedb =='live'){<br />
$conf['db_hostname'] = "liveserverhost.com";<br />
$conf['db_username'] = "dbuser";<br />
$conf['db_password'] = "dbpass";<br />
$conf['db_name'] = "dbname";<br />
}<br />
else<br />
{<br />
$conf['db_hostname'] = "devserverhost.com";<br />
$conf['db_username'] = "different_dbuser";<br />
$conf['db_password'] = "different_dbpass";<br />
$conf['db_name'] = "different_dbname";<br />
};</code></p>
<p>Now all we need to do is simply open the file up and change the $sitedb variable from &#8216;dev&#8217; to &#8216;live&#8217; when we want the site to use the live database details. Much easier than trying to remember the host details every time we deploy.</p>
<p><strong>Setting naming conventions</strong></p>
<p>This is a fairly new addition to our structure in EE. As sites get larger and larger, it&#8217;s sometimes difficult to follow data fields, so when you see an expression tag for {summary} or {image1} &#8211; it&#8217;s difficult, without a lot of backtracing to see where its come from &#8211; so I&#8217;ve adopted my old MS-SQL naming convention to structuring custom fields in weblogs:</p>
<p><code>{type_or_relationship}_{weblogname}_{parameter}</code></p>
<p>For example, a simple news collection would be as follows:</p>
<p><code>{news_summary}<br />
{news_body}<br />
{news_lang}<br />
{authors_news_author}</code></p>
<p>Working on this principle now allows us at a glance to understand what we&#8217;re looking at. The last custom field listed above is in fact a relationship to the &#8216;Authors&#8217; Weblog entries.</p>
<p>In addition to this, when using Brandon Kellys Awesome <a href="http://brandon-kelly.com/fieldframe" target="_blank">Field Frame Matrix</a> we employ the following structure:</p>
<p><code>{ffm_news_images}</code></p>
<p>this tells me that it&#8217;s a FF Matrix Collection of News Images &#8211; and then within each column of that &#8211; we then break it down further:</p>
<p><code>{ffm_news_images_file}<br />
{ffm_news_images_caption}<br />
{ffm_news_images_credit}</code></p>
<p>and so on so forth.</p>
<p>I&#8217;m sure there are some of you reading it thinking that it&#8217;s way over the top for what you do &#8211; however, in an environment where there is more than one developer &#8211; it&#8217;s *essential* to have a naming convention for your data.</p>
<p><strong>Use version control</strong></p>
<p>This has probably been done to death &#8211; however, it&#8217;s something that I can&#8217;t rave enough about. We implemented a Subversion system in the office through a web-based service called &#8216;<a href="http://www.beanstalkapp.com" target="_blank">Beanstalk App</a>&#8216;. A great system which allows you to create SVN repositories in an easy to use web-app. It also even supports deployment etc &#8211; although, we&#8217;ve had varying results from that so far.</p>
<p>The benefit of using Version control is that you can have a &#8216;clean EE&#8217; install set up and ready in a repository which you simply &#8216;export&#8217; it when you want to create a new site.</p>
<p>What we&#8217;ve done is basically set up an &#8216;empty&#8217; EE site with all the plugins and addons that we use on our sites, tweaked the control panel, created a &#8216;CMS users member group with appropriate permissions, created our &#8217;standard&#8217; channels/sections with custom fields and everything that we would normally do when starting a new site and then using SVN, Command Line and a Mac &#8211; we simply &#8216;import&#8217; the whole lot into Expression Engine. (I simply go into the root folder of the site in command line and type</p>
<p><code>svn import http://urltobeanstalksvn.com/repo_name -m "Initial Import"</code></p>
<p>This then imports everything for me.</p>
<p>Now whenever we need to create a new site in EE &#8211; we simply do an &#8216;export&#8217; (rather than checking out, because we don&#8217;t want to check-in to this repository) &#8211; in the same respect as previously, command line to the root site folder of a new site and run</p>
<p><code>svn export http://urltobeanstalksvn.com/repo_name</code></p>
<p>This will then export everything for you (without the SVN association) and you can then import this to a new repository for your new site and start developing with full version control.</p>
<p><em>N.B When doing your import to SVN, I would also recommend at this point doing a &#8216;backup&#8217; of your EE Database and including the resulting .sql file into the root of your site &#8211; this means that you can simply &#8216;restore&#8217; this backup to a different database when creating your new site.</em></p>
<p><strong>Creating a &#8216;deployment checklist&#8217;</strong></p>
<p>Ok &#8211; so you&#8217;ve created the site and now you need to launch the site. First Upload all your development files to your live server and then simply follow these basic instructions:</p>
<p><span style="text-decoration: underline;">Export/Import your Database</span></p>
<p>Using whatever your host provider gives you (normally  phpmyadmin), &#8216;backup&#8217; the development database to a .sql file and then open it into your favorite text editor:</p>
<ul>
<li>Ensure you remove the line &#8216;Create Database&#8230;..&#8217; &#8211; since this should have been created by your host</li>
<li>Rename the database on the line &#8216;use {dbname}&#8217; and change it to the name of your database on the live server</li>
<li>Now do a find/replace of `dbname` and replace it with `new_dbname` (include the &#8216;backticks&#8217; in your find/replace &#8211; not apostrophes)</li>
</ul>
<p>Save the file and run it against your live database server to create the database.</p>
<p><span style="text-decoration: underline;">Set Database Values</span></p>
<p>Assuming you&#8217;ve followed the advice above, open your /system/config.php and change the $sitedb value to &#8216;live&#8217;. Now upload this to your live server.</p>
<p><span style="text-decoration: underline;">Update Paths in Control Panel</span></p>
<p>Now, log into your Control Panel and you need to update a series of paths :</p>
<ul>
<li>Go to Admin &gt; Utilities &gt; PHP Info and search for &#8216;document_root&#8217;. Note this value.</li>
<li>Go to Admin &gt; System Preference &gt; General Configuration. Update all the appropriate values in here and Save.</li>
<li>Go to Admin &gt;Weblog Administration &gt; File Upload Preferences. Edit all your path locations and URL&#8217;s in here and Save.</li>
<li>Go to Templates &gt; Global Template Preferences &gt; Update the location to your &#8216;Template Files&#8217;</li>
</ul>
<p><span style="text-decoration: underline;">Empty the Cache</span></p>
<p>Although this is a new site, likelihood is that you&#8217;ve uploaded all the cache data from your development site &#8211; so make sure you delete it and start from fresh</p>
<p><span style="text-decoration: underline;">Finally, check the site!</span></p>
<p>It may seem like a silly thing to say, but make sure that you can post into forms that you should be posting and that you can see the articles that you are expecting. Check that Images are appearing as they should (make sure you view source of the site as well to make sure there&#8217;s nothing still referring to the dev site url)</p>
<p><strong>This is not exhaustive!</strong></p>
<p>I&#8217;m pretty confident that there are more ways out there to further speed up and maximise throughput on your EE sites &#8211; I&#8217;d be interested to hear other developers suggestions for what they recommend to speed like up! Feel free to comment below.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcwcrawley.co.uk%2F2009%2F11%2F11-ee-tastic-ways-to-speed-up-your-development%2F&amp;linkname=11%20EE-Tastic%20ways%20to%20speed%20up%20your%20development"><img src="http://cwcrawley.co.uk/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://cwcrawley.co.uk/2009/11/11-ee-tastic-ways-to-speed-up-your-development/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>EECI2009 Round Up</title>
		<link>http://cwcrawley.co.uk/2009/10/eeci2009-round-up/</link>
		<comments>http://cwcrawley.co.uk/2009/10/eeci2009-round-up/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 00:44:26 +0000</pubDate>
		<dc:creator>Carl Crawley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cwcrawley.co.uk/?p=92</guid>
		<description><![CDATA[Just got back from an amazing few days in Leiden, Holland at the (hopefully) annual EECI Conference &#8216;EECI2009&#8216;.
Thought I&#8217;d give my thoughts and feedback on the whole event in general with any comments.

Unfortunately, due to flight delays I didn&#8217;t make it to the pre-conference drinks, but have heard that it was a very good evening.
Day [...]]]></description>
			<content:encoded><![CDATA[<p>Just got back from an amazing few days in Leiden, Holland at the (hopefully) annual EECI Conference &#8216;<a href="http://www.eeci2009.com">EECI2009</a>&#8216;.</p>
<p>Thought I&#8217;d give my thoughts and feedback on the whole event in general with any comments.</p>
<p><span id="more-92"></span></p>
<p>Unfortunately, due to flight delays I didn&#8217;t make it to the pre-conference drinks, but have heard that it was a very good evening.</p>
<p>Day 1 started with a welcome and introduction from Robert Eerhart, from <a href="http://www.whoooz.nl/">whoooz! webmedia</a> &#8211; the company who arranged the conference. We then went into a keynote speech from Leslie Camacho, President of <a href="http://www.ellislabs.com/">Ellis Labs.</a></p>
<p>First up was <a href="http://www.twitter.com/colly">Simon Collison</a> with a speech entitled &#8216;five years of revolution&#8217;. His inspiring talk was about Expression Engine and how its shaped their development cycle at Erskine gave me some real pause for thought. Both funny and entertaining, Simon engaged the crowd and seemed to bounce off the audience with very good flair.</p>
<p>Next after the break, was <a href="http://twitter.com/dallard">Derek Allard</a>, Technology Architect at Ellis Labs. His very interesting talk entitled &#8217;standing on the shoulders of giants&#8217; was again both inspiring and captivating to listen. He gave a potted history of pMachine and ExpressionEngine and talked about how it was the community that has really given Expression Engine the momentum it has achieved. He went through a typical development cycle for the EE2.0 File Manager which was simply awesome. It was then that they announced that Expression Engine 2.0 will be released on 1st Dec 2009, to much applause.</p>
<p>Immediately after that was a great talk from Veerle Pieters from <a href="http://www.duoh.be/">Duoh</a>, the designer who came up with the UI design for Expression Engine 2.0. Hearing how she approached the design concept and usability of the Control Panel gave me a lot of feedback as to the thought process that goes into designing something like this. I have to say, I even liked the Hot Pink! <em>I do, at this point need to offer a public apology to Veerle for the rather awkward question about degradation of the Control Panel. Due to its excessive use of CSS3 and transparencies, it does not support IE6.</em></p>
<p>After lunch, we then went into two tracks. Expression Engine and Code Igniter. I tried to vary my tracks as much as possible to get as much as I could out of them.</p>
<p>Track 1 : Brandon Kelly, The whys and hows of selling Addons</p>
<p>A good talk and very useful on how he approaches addons and the fact that he isn&#8217;t worried anymore about asking for money for his work. Understanding a pricing model is very difficult, but the cost should be related to the amount of work involved in the addon. We also found out that his favourite number is 69!</p>
<p>Track 2 : Jamie Rumbelow, Reigniting the Kindling</p>
<p>At first it was very hard to sit and concentrate on a talk being given by a 14 year old. Soon after he started however, it was clear that he was both knowledgeable and passionate about what he does. Difficult to follow and very sporadic of &#8216;actual&#8217; information &#8211; Jamie did his best to keep the audience engaged, but at times came across as a bit of a Ruby fanboy. Credit where due however, he has done very well for himself and is quite clearly successful at what he does (even if it wasn&#8217;t clear in the talk).</p>
<p>Track 3 : Leevi Graham, How to start developing your own addons</p>
<p>Probably one of the best talks I&#8217;d been to at this point &#8211; a very good insight into how to create addons and again monetising them once created. A very different concept from Leevi on a pricing model, but good nonetheless.</p>
<p>Track 4 : Ryan Irelan, 10 Ways to Super Charge Your EE Development</p>
<p>As a self-confessed Ryan Fanboy (Ryans screencasts are the reason for our total EE adoption), it was great to hear some of his hints and tips to supercharge your EE development. It was great to hear that at least 6 of the suggestions I&#8217;m already doing, but equally important to understand some new ideas and his talk was great to listen to. Asking a question to Ryan regarding Expression Engines rather difficult deployment process, we both agreed at that Capistrano was a potential answer, but neither of us were able to successfully make it work &#8211; something I hope to work with him on in the near future.<em> Oh yes, and Ryan &#8211; Thanks for the T-Shirt!</em></p>
<p>And so ended day 1!</p>
<p>Back to the hotel for a quick freshen up and then straight back to the venue for the evening buffet meal and party! It was during the evening meal, sitting on a table with a South African, Dutch, Swedish, British and Greek &#8211; we talked EE, Technology, Clients and general geek-stuff&#8230; It was a complete geek-overload and simply amazing!<br style="font-size: 19.5px; line-height: 28.5px;" /></p>
<p>Day 2 began with a talk from <a href="http://www.twitter.com/5pieces">John Henry Donovan</a> titled &#8216;Building Better Galleries&#8217;. The talk itself on this was extremely motivational and demonstrated to me the true power of what Expression Engine can do. Unfortunately, Johns demonstrations and &#8216;live&#8217; coding was somewhat marred by a room with too much light and the inability to actually see anything on the projector. That said, I have seen that his slides are available for download, so I fully intend on grabbing them. Once John had completed his talk, the floor was opened to question/answer and it was great to collaborate ideas/problems with other members of the room. I asked a few questions and got various different replies &#8211; I even managed to help a fellow attendee with an image problem!</p>
<p>The next workshop was Jamie Pittock from <a href="http://erskinedesign.com/">Erskine Design</a> &#8211; &#8216;The Art of Proactive Parenting&#8217;. An interesting talk about as developers, being the parents of a website and as parents, it is our responsibility to direct our clients in the correct way of doing things, while not giving too much away so that they get an illusion of control without actually getting it. I have to be honest, I wasn&#8217;t bought in by this methodology. His examples left me thinking more on the &#8216;redevelopment cost&#8217; of having to change things when the client decides they want to add something versus giving them a system they can do it all in to begin. Maybe I missed the point of it, and he did make some valid points &#8211; but points that I&#8217;ve been trying to implement for years, without success (Clients *still* want to *see* their formatting changes in an article).</p>
<p>Last workshop of the day was <a href="http://www.twitter.com/mrsflinger">Leslie Flinger</a> ably assisted by <a href="http://twitter.com/reedmaniac">Paul Burdick</a> due to a bout of laryngitis &#8211; titled &#8216;10 powerful ways to optimize your EE site&#8217;. A very interesting talk and covered *a lot* of things that I didn&#8217;t know about Expression Engine, that I used to take for granted. It was during this talk that I had my &#8216;Eureka&#8217; moment about a number of problems that I&#8217;ve come across with Expression Engine. I also, during this time got a one to one chat with <a href="http://www.twitter.com/knight777">Leslie Camacho</a> and his wife discussing some of the more pressing problems that I face with the sites that I build. We also discussed &#8216;enterprise&#8217; Expression Engine &#8211; an idea to produce something of a higher level for very high traffic sites &#8211; something that interests me deeply. I look forward to chatting with Leslie about this in more detail over the coming weeks/months. I also got a promise of a BETA 2.0 invite ahead of the Dec 1st Lauch &#8211; so it&#8217;d be great to take Leslie and Ellis Labs up on that offer!</p>
<p>Then on to the next meal and party and so concluded the conference/workshops.</p>
<p>Saturday, after a brief visit to Amsterdam, I had a &#8216;hack day&#8217; with a couple of the attending members of the conference writing pseudo code and imaging all the possibilities and extensibility of the system.</p>
<p>The whole experience has left me even more confident that I made the right choice in adopting an Expression Engine development cycle and I have even more passion and enthusiasm for the product after last weeks conference. I have even started writing about 5 addons with another 4 in the pipeline! Watch out Brandon and Leevi <img src='http://cwcrawley.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Robert, Adriaan and the team at Whoooz! did an amazing job at the conference and I would like to commend them for a great event well executed. The Wireless Internet Problems aside (Robert &#8211; if you read this, take a look at my <a href="http://cwcrawley.co.uk/2009/10/building-successful-events-wifi/">other post here</a>), the word that I would use to best describe the experience would be &#8216;<strong>Inspiring</strong>&#8216;.</p>
<p>I have met designers and developers from all over the world &#8211; Sweden, France, Holland, South Africa, UK, America, Canada, Australia and even a fellow Welshman &#8211; all with one thing in common &#8211; Expression Engine.</p>
<p>One last thought was, unlike many other conferences and exhibitions I have attended, there was no elitism from the speakers. From the President of Ellis Labs to a web designer turning over €800 websites &#8211; we were all equal at the end of the day. Whether it was catching up with Leevi as he gave me some quite in depth advise on how to hook into Expression Engine for my latest addon idea, to Derek Allard and Leslie Camacho on bending their ear about the lack of &#8216;enterprise&#8217; level integration and user abstraction of the system &#8211; they were all very open, friendly and extremely forthcoming with as much information as they could which was very refreshing.</p>
<p>I look forward to EECI2010 where we build on what was an excellent inaugural annual event.</p>
<p><strong>Heck, I&#8217;d even consider doing a talk if they&#8217;d have me!</strong></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcwcrawley.co.uk%2F2009%2F10%2Feeci2009-round-up%2F&amp;linkname=EECI2009%20Round%20Up"><img src="http://cwcrawley.co.uk/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://cwcrawley.co.uk/2009/10/eeci2009-round-up/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Building successful Events WiFi</title>
		<link>http://cwcrawley.co.uk/2009/10/building-successful-events-wifi/</link>
		<comments>http://cwcrawley.co.uk/2009/10/building-successful-events-wifi/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 13:31:19 +0000</pubDate>
		<dc:creator>Carl Crawley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cwcrawley.co.uk/?p=74</guid>
		<description><![CDATA[Can you always guarantee that WiFi will work at events?
Sadly not. And the last 2 events I have attended have been testament to that.
Planning Wireless Internet access for a technology conference is probably one of the hardest things that anyone will have to do. Anywhere between 200 and 600 tech-savvy people all looking to use [...]]]></description>
			<content:encoded><![CDATA[<p>Can you always guarantee that WiFi will work at events?</p>
<p>Sadly not. And the last 2 events I have attended have been testament to that.</p>
<p>Planning Wireless Internet access for a technology conference is probably one of the hardest things that anyone will have to do. Anywhere between 200 and 600 tech-savvy people all looking to use the web and its your name/face they associate with it.</p>
<p><span id="more-74"></span></p>
<p>Advancements in social web 2.0 have made the Internet as essential to a conference as a chair. Facebook, Twitter, MySpace, Blogging as well as the urgency of email mean that you can pretty much guarantee, losing the Internet at a venue would be like losing an arm. Most attendees at a conference, will (like me) be a manager or business owner and the fact they are not in the office does not mean they are not working. Needless to say, Internet access is fundamental.</p>
<p>Having, in my previous lives, set up and managed two ISP&#8217;s in UK and Europe, I know that network capacity planning and infrastructure monitoring is key to the success of any provision. Sure, there are one or two provisos that can put a proverbial spanner in the works &#8211; however, if you plan for failure &#8211; you will implement a success.</p>
<p>So, this post is my attempt to try to impart some knowledge on successfully installing events wireless.</p>
<h3>Step 1 : Capacity Planning</h3>
<p>First thing to do is to figure out your attendance. If your conference has sold 300 tickets, assume that 75% of them (being hardcore techies) will also bring some kind of mobile device capable of wireless as well. In addition to this you should also provide access to your exhibitors if they are demonstrating. My recommendation would be to put your exhibitors on a separate network, even wire them up if you have the capability &#8211; after all, they did pay to be there!!</p>
<p>On the basis we&#8217;ve got an allowance of 100 for exhibitors, and 525 for your attendees, that&#8217;s a network of 625 devices in total.  we should therefore assume that a £40 router isn&#8217;t going to cut the mustard!</p>
<p>Next thing we need to do is work out our bandwidth requirements. From history, I have worked on a magic figure of 200 users per xDSL connection. The key with bandwidth is to &#8216;overplan&#8217;. So 200 per connection, with 625 attendees &#8211; minimum 4 connections plus one for backup. 5 DSL Connections in total. The &#8217;spare&#8217; connection is normally used as a backup, but also provides use for dedicated services (such as streaming cameras or maybe even exhibitors).</p>
<p>If you have the money of course, dedicated bandwidth (leased lines and/or satellite broadband) are the cream of the crop &#8211; but these generally cost *huge* amounts, unless you have a substantial budget &#8211; multiple DSL lines will suffice. The benefit of DSL lines is that there are plenty of &#8216;white-label&#8217; providers on the market that will provide you a circuit for a one-month service &#8211; no long-term contracts.</p>
<p>So we now have our broadband and we have our network capacity planned.</p>
<h3>Step 2 : Network Infrastructure</h3>
<p>So, now we need to plan out how our network is going to be set up. Obviously, the easiest solution would be to slap 4 access points on the end of 4 routers connected to independent  xDSL connections &#8211; however, that&#8217;s a little  &#8216;amateurish&#8217; in my opinion and when I see this, it doesn&#8217;t instill an awful lot of confidence that the network/IT company know what they are doing.</p>
<p>The most  solid of network set ups I have found is to create a wireless mesh system across your entire venue to blanket with coverage. Wireless Distribution System (or WDS) is a system that enables interconnection of wireless access points. As well as allowing a wireless network to be expanded using multiple access points without the need for cabling, it also allows for &#8216;roaming&#8217; of devices across access points since it preserves MAC addresses.</p>
<p>Unless you purchase routers which have dual bandwidth capabilities (5Ghz uplink with 2.4Ghz Downlink), one of the downsides of the WDS system however is that the connectivity throughput is halved for all wireless connected devices. For me it has always been an acceptable caveat.</p>
<p>The greatest benefit of working on a single WDS system is that you can use hardware to perform priority traffic routing (or traffic shaping) across the network to ensure a QoS (Quality of Service) for certain services &#8211; so you can give people better speeds to email/web and throttle speed to other services.</p>
<p>To finish our network planning, we need to look at routers. Since we have 200 connections per DSL in our imaginary conference, I would put in a Dual WAN connection per WDS Network. Looking at some of the high-end providers on the market that offer dual WAN routing such as <a href="http://www.zyxel.co.uk/landing_page/jump.php" target="_blank">Zyxel</a>, <a href="http://www.cisco.com/cisco/web/UK/index.html" target="_blank">Cisco</a> or <a href="http://www.draytek.com/user/index.php" target="_blank">Draytek</a> as examples.</p>
<div id="attachment_76" class="wp-caption aligncenter" style="width: 310px"><a href="http://cwcrawley.co.uk/wp-content/uploads/2009/10/Screen-shot-2009-10-10-at-21.53.04.png" target="_blank"><img class="size-medium wp-image-76" title="Sample Network Topology" src="http://cwcrawley.co.uk/wp-content/uploads/2009/10/Screen-shot-2009-10-10-at-21.53.04-300x215.png" alt="Sample Network Topology" width="300" height="215" /></a><p class="wp-caption-text">Sample Network Topology</p></div>
<h3>Step 3 : Managing your IP Addresses</h3>
<p>Setting your DHCP servers to cope with your user demand is fairly easy to manage. Based on our assumptions from above, we simply need to split our network in two. However, it&#8217;s not as straightforward as that. We need to take into account a few factors:</p>
<ul>
<li>DHCP Scope : Number of IP addresses that your network can handle needs careful consideration</li>
<li>DHCP Lease Time : You need to ensure that devices dont keep hold of IP addresses for too long and therefore take up space on the network.</li>
</ul>
<p>Ok &#8211; So, Scope first. 525 attendees across two networks would be 263 addresses per network &#8211; however, both networks need to cope with the strain of taking 100% of the connections in case of failure. Therefore, we need to plan for a network of 525 addresses per network. On this basis, I would set up a Class-B network range as follows:</p>
<p>IP Range : 172.16.0.1 &#8211; 172.16.7.255<br />
Default Gateway : 172.16.0.1<br />
DHCP Server : 172.16.0.2 (Scope: 172.16.0.101 &#8211; 172.16.7.254)<br />
Static Range : 172.16.0.1 &#8211; 172.16.0.100<br />
Subnet Mask : 255.255.248.0</p>
<p>This will give us more than enough IP addresses for our conference.</p>
<p>There is however, a small problem with this. Most DSL routers don&#8217;t handle networks of this size (I say &#8216;most&#8217; because there are some which do allow you to change the complete scope), but it&#8217;s fairly easy to resolve by implementing a dedicated piece of hardware in to do the job. We combine our need for DHCP server with a DNS Server to give us a whole array of additional capabilities.</p>
<p>My recommendations for DHCP and DNS Servers is to use something like <a href="http://www.ubuntu.com/" target="_blank">Ubuntu</a> or even <a href="http://www.knoppix.org/" target="_blank">Knoppix</a> for lightweight *Nix solutions. I also generally run them on solid state systems such as <a href="http://www.itx-warehouse.co.uk/" target="_blank">ITX Systems</a> since the management is minimal, with no moving components.</p>
<p>The benefit of this is that you can run DNS Caching services on your hardware locally to your provision. Also, if you are running any webservices for the event, you can route them internally thus saving your bandwidth! Obviously, Ubuntu comes with a very healthy Web Service as well and can run as a commercial server with PHP/Apache/MySQL/Ruby etc etc.</p>
<p>One last thing is to adjust your DHCP lease times. Standard Lease time is 1 day (24 hours) or 86,400 seconds. With a conference/event you are rarely at the event for a whole 24 hours &#8211; so I usually set the lease to expire after 4 hours or 14,400 seconds. It means that devices get cycled a lot quicker and will ensure that you don&#8217;t get any problems running out of lease allocations.</p>
<p>I would also recommend giving your exhibitors &#8217;static addresses&#8217; out of the pool &#8211; as part of the exhibitor application form, simply ask them how many devices they are bringing and ask for the network MAC addresses (i have a crib sheet to explain to users how to get this information from their computer),</p>
<h3>Step 4 : Managing the network during the event</h3>
<p>This is probably just as important as setting it up to begin with. When the event is on, you should always assume that something *will* go wrong rather than &#8216;if&#8217;. (Please See <a href="http://en.wikipedia.org/wiki/Murphy%27s_law" target="_blank">Murphys Law</a> and Futher <a href="http://en.wikipedia.org/wiki/Finagle%27s_Law" target="_blank">Finagle&#8217;s Law</a>) . It doesn&#8217;t matter how much you invest on your network, something will inevitably not work as planned and whoever manages the network on the day needs to be able to think on their feet and be able to react quickly. Whether a cable doesn&#8217;t work and you need to be able to rustle up a length of CAT5 or a DSL link is down and you need to be able to reroute traffic &#8211; you need to be able to respond quickly and decisively &#8211; or face the wrath of hundreds of conference attendees who can&#8217;t get Internet!</p>
<p>As well as the reactive management, take stock in <strong>proactively</strong> managing your network with tools such as <a href="http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol" target="_blank">SNMP</a> systems and <a href="http://oss.oetiker.ch/mrtg/" target="_blank">MRTG</a> statistics tools to monitor bandwidth usage. Too few businesses take advantage of software tools available on the market to proactively manage their network which, 99.9% of the time, will result in identifying and resolving a problem before it becomes an issue.</p>
<p>It will allow you to keep your network clean and clear for the event. For example, particularly pay attention to port usage or all of a sudden you&#8217;ll find your network swamped with Bit Torrent traffic or the like. Don&#8217;t be scared to block some ports to allow all your attendees the same level of access.</p>
<p>Acceptable Use / Port Allocation is :</p>
<p>80 (HTTP)<br />
20/21 (FTP/sFTP)<br />
22 (SSH)<br />
23 (Telnet)<br />
25/456/587 (SMTP)<br />
110 (POP)<br />
143/993 (IMAP)</p>
<p>Some Ports 30,000 and above are generally used for Bit Torrent Traffic, so watch out for this and simply shut them down &#8211; Alternatively if your router allows, simply throttle the network so that access on these ports is transmitted at 1kb/s.</p>
<p>Finally, I&#8217;m going to touch briefly on security. Having encryption (WEP/WPA) at an event is kind of a completely irrelevant point if you are simply going to broadcast the WEP / WPA Key throughout the event. Also the idea of a walled-garden is great, but don&#8217;t use then as &#8216;login&#8217; pages which present unnecessary information.</p>
<p><em><strong>Simply give your attendees solid, stable Internet and they will be immensely grateful.</strong></em></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcwcrawley.co.uk%2F2009%2F10%2Fbuilding-successful-events-wifi%2F&amp;linkname=Building%20successful%20Events%20WiFi"><img src="http://cwcrawley.co.uk/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://cwcrawley.co.uk/2009/10/building-successful-events-wifi/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>A twitter keyword density report for #FOWA</title>
		<link>http://cwcrawley.co.uk/2009/10/a-twitter-keyword-density-report-for-fowa/</link>
		<comments>http://cwcrawley.co.uk/2009/10/a-twitter-keyword-density-report-for-fowa/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 17:52:14 +0000</pubDate>
		<dc:creator>Carl Crawley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cwcrawley.co.uk/?p=63</guid>
		<description><![CDATA[So, now back on the Island after a very productive and enjoyable 2-day Future of Web Apps Conference in London.
Whilst I sit here in my front room sipping a glass of coke waiting for my Indian takeaway and thanking my stars that (as yet) I haven&#8217;t gone down with the FOWA Flu &#8211; I grabbed [...]]]></description>
			<content:encoded><![CDATA[<p>So, now back on the Island after a very productive and enjoyable 2-day Future of Web Apps Conference in London.</p>
<p>Whilst I sit here in my front room sipping a glass of coke waiting for my Indian takeaway and thanking my stars that (as yet) I haven&#8217;t gone down with the FOWA Flu &#8211; I grabbed a copy of the Public Timeline courtesy of Elliott Kember (<a href="http://www.twitter.com/elliottkember">@elliottkember</a>) and ran some keyword density applications against it to get a feel for the event and the emotions:</p>
<p><span id="more-63"></span></p>
<p>So, here are my results for everyone (Clicking should give you a larger version) :</p>
<div id="attachment_64" class="wp-caption aligncenter" style="width: 310px"><a href="http://cwcrawley.co.uk/wp-content/uploads/2009/10/Screen-shot-2009-10-03-at-17.46.07.png" target="_blank"><img class="size-medium wp-image-64" title="Screen shot 2009-10-03 at 17.46.07" src="http://cwcrawley.co.uk/wp-content/uploads/2009/10/Screen-shot-2009-10-03-at-17.46.07-300x182.png" alt="Mood from FOWA" width="300" height="182" /></a><p class="wp-caption-text">Mood from FOWA</p></div>
<p>Analysing the results, seems to show a trend that were as follows :</p>
<div id="attachment_65" class="wp-caption aligncenter" style="width: 310px"><a href="http://cwcrawley.co.uk/wp-content/uploads/2009/10/Screen-shot-2009-10-03-at-17.57.01.png" target="_self"><img class="size-medium wp-image-65" title="Screen shot 2009-10-03 at 17.57.01" src="http://cwcrawley.co.uk/wp-content/uploads/2009/10/Screen-shot-2009-10-03-at-17.57.01-300x183.png" alt="AM/PM Mood Swing" width="300" height="183" /></a><p class="wp-caption-text">AM/PM Mood Swing</p></div>
<p><em><strong>UPDATED</strong></em></p>
<p><em>I&#8217;ve now pulled out the name data and produced a pie chart of the density of names/twitter ID&#8217;s :</em></p>
<div id="attachment_72" class="wp-caption aligncenter" style="width: 310px"><a href="http://cwcrawley.co.uk/wp-content/uploads/2009/10/Screen-shot-2009-10-03-at-22.49.21.png" target="_blank"><img class="size-medium wp-image-72" title="Screen shot 2009-10-03 at 22.49.21" src="http://cwcrawley.co.uk/wp-content/uploads/2009/10/Screen-shot-2009-10-03-at-22.49.21-300x184.png" alt="Popularity at FOWA" width="300" height="184" /></a><p class="wp-caption-text">Popularity at FOWA</p></div>
<p>Even from my attendance, the feel of the conference show seems to match the graphical data that I obtained out of the twitter data. I&#8217;ve produced this graph based on the chosen keywords and their date/time to give an overall idea.</p>
<p><strong>Observed Points from FOWA</strong></p>
<p><strong>Wireless : </strong>Wireless was a big sore point from this conference. I certainly don&#8217;t blame Ryan and his team for this failure. They produced an excellent event over all and should be commended on what certainly is not an easy thing to pull together. Wireless for the event was provided by <a href="http://wifispark.com/" target="_blank">http://wifispark.com/</a> and they obviously had problems which they were unable to resolve during the event. The common complaint seems to be that there was a distinct lack of &#8216;honesty&#8217; in terms of identifying the actual cause of the problem. I performed a few diagnostics myself from the laptop and there seemed to be a variety of problems, one of the main ones was DHCP not issuing IP addresses to all devices.</p>
<p>Whether this was a failure in the network configuration (not enough IP&#8217;s in the scope) or issues with the Access Points, there was certainly a problem which should/could have been avoided with proper load testing of the network and for me, trying to keep in touch with the office and my team was extremely difficult, sometimes impossible.</p>
<p><strong>Speakers : </strong>Some of the speakers were excellent. Although my personal opinion is that there was definitely a feel of the recession affecting the conference this year.</p>
<p>Bruce Lawson (<a href="http://www.twitter.com/brucel" target="_blank">@brucel</a>) and his HTML5 talk was simply amazing and has given *alot* to think about.</p>
<p>Robin Christopherson&#8217;s (<a href="http://www.twitter.com/usa2day" target="_blank">@usa2day</a>) talk about Accessibility and the Internet was both humbling and extraordinary. To see what he has to go through on a daily basis to view/visit facebook has made me re-consider web accessibility efforts.</p>
<p>Unfortunately for me the SixApart talk felt a bit like a sales pitch and as someone that used to use Pownce, I&#8217;m a bit loathed to use a service given the way that they shut down Pownce with little notice to their users.</p>
<p>I also felt that the Facebook speaker although spent a lot of time &#8216;gushing&#8217; about how good the connect and translate service was, she didn&#8217;t give much in the way of hard &#8216;technical&#8217; information that could have helped.</p>
<p>I could go on, but Ryan and the guys from Carsonified did an amazing job of putting this all on and I have met some brilliant people over the two days and all I can say is</p>
<p><strong>Roll on  FOWA &#8216;10!!</strong></p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcwcrawley.co.uk%2F2009%2F10%2Fa-twitter-keyword-density-report-for-fowa%2F&amp;linkname=A%20twitter%20keyword%20density%20report%20for%20%23FOWA"><img src="http://cwcrawley.co.uk/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://cwcrawley.co.uk/2009/10/a-twitter-keyword-density-report-for-fowa/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Spam Filtering and Email Junk 101</title>
		<link>http://cwcrawley.co.uk/2009/08/spam-filtering-and-email-junk-101/</link>
		<comments>http://cwcrawley.co.uk/2009/08/spam-filtering-and-email-junk-101/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 10:48:01 +0000</pubDate>
		<dc:creator>Carl Crawley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cwcrawley.co.uk/?p=59</guid>
		<description><![CDATA[I&#8217;m always getting bombarded with people asking about Spam Filtering and what &#8217;settings&#8217; have been changed due to the fact that their many &#8216;homegrown&#8217; mailouts are going into peoples spam filters, so I&#8217;m trying this post to demystify and explain how the system all works and how you can do your bit to make sure [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m always getting bombarded with people asking about Spam Filtering and what &#8217;settings&#8217; have been changed due to the fact that their many &#8216;homegrown&#8217; mailouts are going into peoples spam filters, so I&#8217;m trying this post to demystify and explain how the system all works and how you can do your bit to make sure your emails go into peoples inboxes, not spam/junk folder.</p>
<p>First, you need to understand that most spam filters work using an extremely complex mathematical formula called Bayesian Filtering.</p>
<p><span id="more-59"></span></p>
<p>The formula calculates the &#8216;<strong>probability</strong>&#8216; that a message is spam based on the forumlaic equation :</p>
<div id="attachment_60" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-60" title="Bayesian Filtering Formula" src="http://cwcrawley.co.uk/wp-content/uploads/2009/08/mime-attachment-300x35.png" alt="Bayesian Filtering Formula" width="300" height="35" /><p class="wp-caption-text">Bayesian Filtering Formula</p></div>
<p>Emails are categorised as either spam (or unsolicited commercial email) or ham (normal acceptable emails) &#8211; note, I didn&#8217;t come up with the spam/ham names, this is how they are referrred. (for those who remember tins of spam of course, you&#8217;ll understand the relevance)</p>
<p>So, since an email can either be spam or ham &#8211; it&#8217;s possibility of being spam is <strong>50/50</strong> &#8211; therefore the filter bases on a start value of 50% chance of it being spam.</p>
<p>Based on keyword combinations and density, repetitions of phrases and such like &#8211; if the probability score goes over a set value, it is tagged as &#8216;probably&#8217; being spam and therefore moved to the users junk folder.</p>
<p>This is now where we get &#8216;one&#8217; of the problems with this system.</p>
<p><strong>EVERY email client has a different tolerance rating!</strong></p>
<p>Some email clients are set at 65%, some 70% some are even set at 80%. The lower the tolerance rating, the more email is likely to be tagged as spam. (<em>Or supposedly, the more &#8217;secure&#8217; your emails are</em>) Outlook for example (on the PC), you can set your &#8216;junk&#8217; mail settings as being Low, Medium or High &#8211; all this does is adjusts the tolerance of the probability score percentage.</p>
<p>This means of course, that just because it gets caught in <em>your</em> spam folder, it may not in others.</p>
<p>The next problem you have is differences in browser versions. Yes, thats right &#8211; Browser Versions!</p>
<p>A user running an older version of outlook and IE6, will be using the IE6 rendering capabilities, therefore if the spam filter detects that the mailout uses things (such as bullet points for example) and IE6&#8217;s rendering engine doesn&#8217;t support them the way they&#8217;ve been written, it will simply add to the spam probability score.</p>
<p>The same for Apple clients, Mail uses Safari as it&#8217;s rendering engine, therefore is limited to what it can do by Safari web browser.</p>
<p>Now &#8211; we have the biggest curve ball of all time. The later versions of Outlook don&#8217;t use IE at all &#8211; but they use <strong>MS Word</strong></p>
<p>This now means that if you want your emails to reach the maximum of recipients, you have to deal with the lowest common denominator &#8211; which for most us is Microsoft Word.</p>
<p>This means the following:</p>
<p><strong>No Text on top of Graphics</strong><br />
You can&#8217;t have text on top of big sweeping graphics &#8211; because the technique used for this (background imaging) is not supported.</p>
<p><strong>No Bullet Points</strong><br />
You can&#8217;t use Bullet points to list items, unless you are happy with the bullets showing. There is no way to hide them.</p>
<p><strong>Text can&#8217;t be &#8216;floated&#8217;</strong><br />
You can&#8217;t use text which is floated right aligned etc All text must be in tables in a linear format.</p>
<p>This is not exhaustive, but is common with what I&#8217;ve seen in the past and the problems that we seem to get caught with.</p>
<p><strong>Checking Keywords is not a problem</strong><br />
A valid question though, could you just change/replace the offending spam words with others to counteract the problem? The problem is that some of the top words and phrases in spam filters (apart from the usual viagra etc) are:</p>
<ul>
<li>Affordable</li>
<li>Brand</li>
<li>Offer</li>
<li>Opportunity</li>
<li>Performance</li>
<li>Investment</li>
<li>Money</li>
<li>Trial</li>
<li>Bargain</li>
</ul>
<p><strong>Recommendations</strong><br />
I have spent a significant amount of time discussing mailing lists and mailouts with many clients and I&#8217;ve always said mailing communications are crucial to increasing brand awareness of products, services, events and company &#8211; so we need to be extremely smart with them.<br />
<em><strong></strong></em></p>
<p><em><strong>1) Use the Website as much as possible</strong></em></p>
<p>Instead of always putting the entire content of a story into a mailing. Consider having an introductory paragraph or shorter article which then invites users to click a link and view the full release online. The advantage is that you are promoting your website (driving more traffic) and also increasing chances of the user seeing something else of interest. Also promote social interaction. Add options to your mailings for &#8217;send to friend&#8217; etc. This has less of a chance of being reported for spam.</p>
<p><strong>2) Keep Templates Simple</strong></p>
<p>There should be specific types of templates that you use to keep things as simple and clean as possible. I understand that in some cases it may be necessary to send a press release with everything in the body of the email, however this should essentially follow a simple format:</p>
<p><em>Header</em></p>
<p><em>Body Copy</em></p>
<p><em>Footer<br />
</em><br />
<em>Disclaimer / Unsubscribe Information<br />
</em><br />
Likewise, if you go along the route of having multiple news stories in a single email mailout, then the format should be as follows:</p>
<p><em>Header</em></p>
<p><em>Intro Copy<br />
Read More</em></p>
<p><em>Intro Copy<br />
Read More</em></p>
<p><em>Intro Copy<br />
Read More</em></p>
<p><em>Footer</em></p>
<p><em>Disclaimer / Unsubscribe Information</em></p>
<p><strong>Image Blocking is Standard<br />
</strong>This shouldn&#8217;t come as a surprise, because you all need to do it in your emails. If an email arrives with images embedded, they will not be shown until the user clicks on &#8217;show images&#8217; or &#8216;download images&#8217;. This means that they will not see anything until they do that.</p>
<p>Research has shown that as many as<strong> 30%</strong> of people DONT click on the &#8217;show images&#8217; button. Therefore, you have to make sure that your email is readable, understandable and has some way of the user getting the information they need without showing images.</p>
<p>In addition to that, there are some corporate environments, where HTML formatting of emails is forbidden and servers will automatically strip out all images and formatting and simply deliver the text as a plain alternative.</p>
<p><strong>Remove the Hard Word</strong></p>
<p>Take a look at sites such as <a title="Campaign Monitor" href="http://www.campaignmonitor.com">Campaign Monitor</a> or <a title="Mail Chimp" href="http://www.mailchimp.com">Mail Chimp</a> which are excellent applications for sending Mailouts and Newsletters. I have recently moved over our entire group of companies into Campaign Monitor and we maintain the best part of 120,000 emails across 7 projects and about 15 mailing lists using Campaign Monitor and it works great!</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcwcrawley.co.uk%2F2009%2F08%2Fspam-filtering-and-email-junk-101%2F&amp;linkname=Spam%20Filtering%20and%20Email%20Junk%20101"><img src="http://cwcrawley.co.uk/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://cwcrawley.co.uk/2009/08/spam-filtering-and-email-junk-101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working with Clients</title>
		<link>http://cwcrawley.co.uk/2009/06/working-with-clients/</link>
		<comments>http://cwcrawley.co.uk/2009/06/working-with-clients/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 13:35:06 +0000</pubDate>
		<dc:creator>Carl Crawley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cwcrawley.co.uk/?p=49</guid>
		<description><![CDATA[In this industry (or any industry) is it ever acceptable to tell a client &#8220;no&#8221;?
Surely as professionals in our field, we should be given the credibility to advise/steer the client toward the correct path, but when gentle persuasion and nudging doesn&#8217;t work &#8211; should you give them an almighty shove in the right direction or [...]]]></description>
			<content:encoded><![CDATA[<p>In this industry (or any industry) is it ever acceptable to tell a client &#8220;no&#8221;?</p>
<p>Surely as professionals in our field, we should be given the credibility to advise/steer the client toward the correct path, but when gentle persuasion and nudging doesn&#8217;t work &#8211; should you give them an almighty shove in the right direction or is it time to cut your losses?</p>
<p><span id="more-49"></span>I&#8217;ve been recently asked to have a look at a website that I built back last summer. The client wants to &#8216;refresh&#8217; some aspects of the site, so I opened the PNG that our designer built and it looked nothing like the &#8216;actual&#8217; site.</p>
<p>Then I remembered all of the emails, phone calls and &#8216;meetings&#8217; during the original project when the client basically changed about 95% of the design and functionality and made the site completely un-navigable, un-intuitive and quite frankly, horrid.</p>
<p>I&#8217;m sure I&#8217;m not alone &#8211; the client was eventually charged for all of the design/functionality changes that they made &#8211; however, should we simply accept that this is a way of life for us, or should we actually be saying No? and have some level of pride and quality in our work?</p>
<p>I always refer back to an analogy that was given to me by an employer many years ago and that was:</p>
<blockquote><p>&#8216;If you employ a builder to build you a conservatory &#8211; do you tell him what bricks to use, what colour cement to use, where to put the windows and then change your mind while he&#8217;s building?&#8217;</p></blockquote>
<p>Of course you wouldn&#8217;t. I&#8217;m pretty sure the builder wouldn&#8217;t stand for it either.</p>
<p><em>So why do we?</em></p>
<p>I have in the past, denied to being involved on some projects on the basis of the appauling result that has come out of this &#8216;design/develop by committee&#8217; process.</p>
<p>On one of my forums the other day, someone used the phrase Columbo factor for the &#8216;Just one more thing&#8230;&#8217; occasions &#8211; As a designer/programmer, do we just accept that this is the norm rather than the exception?</p>
<p>Anyway, just a moan from my point of view &#8211; I&#8217;m hoping to stimulate some reader comments, I know you&#8217;re all out there &#8211; Google Analytics doesn&#8217;t lie <img src='http://cwcrawley.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcwcrawley.co.uk%2F2009%2F06%2Fworking-with-clients%2F&amp;linkname=Working%20with%20Clients"><img src="http://cwcrawley.co.uk/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://cwcrawley.co.uk/2009/06/working-with-clients/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Calling All Designers!</title>
		<link>http://cwcrawley.co.uk/2009/05/calling-all-designers/</link>
		<comments>http://cwcrawley.co.uk/2009/05/calling-all-designers/#comments</comments>
		<pubDate>Fri, 29 May 2009 12:40:18 +0000</pubDate>
		<dc:creator>Carl Crawley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cwcrawley.co.uk/?p=51</guid>
		<description><![CDATA[I am currently in the process of writing a blog about how clients change their mind during a project development and as a result the end website looks nothing like the original design and I need YOUR help.
If you can send me (via email or Skype) a sample JPG of a website you designed along [...]]]></description>
			<content:encoded><![CDATA[<p>I am currently in the process of writing a blog about how clients change their mind during a project development and as a result the end website looks nothing like the original design and I need <strong>YOUR</strong> help.</p>
<p>If you can send me (via email or Skype) a sample JPG of a website you designed along with the URL of the finished website (or a screenshot if it&#8217;s no longer live) along with your comments/notes etc&#8230; I&#8217;ll include it into my blog post with suitable accreditation.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcwcrawley.co.uk%2F2009%2F05%2Fcalling-all-designers%2F&amp;linkname=Calling%20All%20Designers%21"><img src="http://cwcrawley.co.uk/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://cwcrawley.co.uk/2009/05/calling-all-designers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Spam Post of the Week</title>
		<link>http://cwcrawley.co.uk/2009/05/spam-post-of-the-week/</link>
		<comments>http://cwcrawley.co.uk/2009/05/spam-post-of-the-week/#comments</comments>
		<pubDate>Fri, 15 May 2009 13:01:38 +0000</pubDate>
		<dc:creator>Carl Crawley</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://cwcrawley.co.uk/?p=39</guid>
		<description><![CDATA[Received a new spam message in my mail this morning. Now, thanks to Google Enterprise and G-Apps, I very rarely actually see spam messages in my inbox, but this one got though and made me chuckle, so I thought I&#8217;d post it here (after finally getting my blog ressurected again!)
The Mail Goes as follows :
Mrs. [...]]]></description>
			<content:encoded><![CDATA[<p>Received a new spam message in my mail this morning. Now, thanks to Google Enterprise and G-Apps, I very rarely actually see spam messages in my inbox, but this one got though and made me chuckle, so I thought I&#8217;d post it here (after finally getting my blog ressurected again!)</p>
<p><span id="more-39"></span>The Mail Goes as follows :</p>
<blockquote><p>Mrs. Aisatou Mohammed<br />
Tel : 0022566343706</p>
<p>Dearest One,</p>
<p>I would be happy if you read my mail. [<em>Interesting, What else am I supposed to do with it?</em>] I am Mrs.Aisatou Mohammed; my late husband used to worked with Chevron/Texaco  Cote D&#8217;Ivoire for twenty years before he died in 2005. [<em>Very nice to meet you, sorry to hear of your loss</em>] We were married for twenty-seven years with only a Son. He was held hostage and slain to death  by protesting youths of the region in Abidjan the capital of Ivory Coast. Since his death I decided not to re-marry. [<em>Sorry - Back up a bit, is there another way you can be slain apart from to death?</em>]</p>
<p>My late husband packed into a BOX  US$7.5 Million and deposited  with a security company here as containing FAMILY VALUABLES. [<em>I'm sure he did. In today's economic market, things are safer in a BOX rather than a bank or savings fund</em>] This money is still in the BOX with the security company here as the management just wrote me as the beneficiary to come forward to retrieve the box or rather issue a letter of authorization to somebody to receive it on my behalf if I can not come over due to my health situation. [<em>Oh Dear, so you need me - a complete stranger, to go collect the money for you? Sure!</em>]</p>
<p>Presently, I&#8217;m  in a hospital  where I have been undergoing treatment for cancer of the breast. [<em>Cancer of the breast eh? Is that anything like Breast Cancer?</em>] I have since lost my ability to talk and hear well and my doctors have told me that I have only a few months to live. [<em>Ahh yes, not being able to talk or hear out of your breasts must be a real pain</em>] It is my last wish to see that this money is invested and at the end of every year distributed among charity organization and orphanage home. I want a God fearing that will use this money to fund  orphanages and widows propagating the word of God and to ensure that the house of God is maintained. [<em>Sorry - a God fearing what exactly? you don't mention. Also, I'm agnostic - does that count?</em>] I took this decision because I know that there are a lot of poor people suffering from different kind of disease and nobody to come to their aid. [<em>I'm sure that if you forwarded this email to the Red Cross or Unicef, that they would be able to find a home for the money</em>]</p>
<p>I also took this decision because I don&#8217;t have any child that will inherit this money and I don&#8217;t Want my husband&#8217;s Hard-earned money to be misused. [<em>Misused? Oh, you mean 'Spent'?</em>] I want somebody that will use this fund for the service of God and humanity.. [<em>Have you thought of contacting Pope Benedict?</em>] If you can honestly do this which I request, I will be glad to hand you over the money through our lawyer, which I have already given him an instruction regarding the fund releasing. [<em>So, what do I get for ensuring your $7.5 million is given to orphanages and charities around the world?</em>]</p>
<p>I hope to hear from you.<br />
Remain Blessed,<br />
Mrs.Aisatou Mohammed</p>
<p>[<em>I'm sorry - but you will not be hearing from me.... and I'm pretty sure I've never been 'blessed'</em>]</p></blockquote>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fcwcrawley.co.uk%2F2009%2F05%2Fspam-post-of-the-week%2F&amp;linkname=Spam%20Post%20of%20the%20Week"><img src="http://cwcrawley.co.uk/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://cwcrawley.co.uk/2009/05/spam-post-of-the-week/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
