<?xml version="1.0" ?>
<rss version="2.0">
	<channel>
		<title>Seb Duggan</title> 
		<link>http://sebduggan.com</link> 
		<description>The ramblings of a ColdFusion developer</description> 
		<webMaster>seb@sebduggan.com</webMaster>
		<generator>http://www.getmura.com</generator>
		<pubDate>Sun, 19 May 2013 20:34:41 GMT</pubDate> 
		<language>en-gb</language>

		<item>
			<title>RTFM carefully when applying CF hotfixes!</title>	
			<link>http://sebduggan.com/blog/rtfm-carefully-when-applying-cf-hotfixes/</link>
			<comments>http://sebduggan.com/blog/rtfm-carefully-when-applying-cf-hotfixes/#comments</comments>
			<guid isPermaLink="false">BD3CF357-C622-696B-3F2F547CBE442BF0</guid>
			<pubDate>Wed, 14 Mar 2012 21:30:00 GMT</pubDate>
			<description><![CDATA[<p>Here&rsquo;s a quick tip for anyone who may be seeing some odd behaviour after applying a ColdFusion hotfix (as well as a reminder to myself to be more careful next time...).</p>
<p>I've just applied the&nbsp;<a href="http://helpx.adobe.com/coldfusion/kb/coldfusion-security-hotfix.html">latest security hotfix</a>&nbsp;to my web server, and everything seemed to have worked fine - except that I suddenly started receiving a bunch of ColdFusion error notifications from a couple of my websites.</p> ]]></description>
			
		</item>
		<item>
			<title>How I Got Started In ColdFusion</title>	
			<link>http://sebduggan.com/blog/how-i-got-started-in-coldfusion/</link>
			<comments>http://sebduggan.com/blog/how-i-got-started-in-coldfusion/#comments</comments>
			<guid isPermaLink="false">A1C49E3E-D9F1-DC1E-3A04E3439A550457</guid>
			<pubDate>Mon, 01 Aug 2011 13:26:00 GMT</pubDate>
			<description><![CDATA[<p><em>As seems to be required now, here is my contribution to <a href="http://www.bryantwebconsulting.com/blog/">Steve Bryant</a>&rsquo;s <a href="http://www.bryantwebconsulting.com/blog/index.cfm/2011/7/20/August-1-2011-is-How-I-Started-ColdFusion-Day">How I Got Started In ColdFusion Day</a>:</em></p>
<p>Having graduated from university in 1996 with a degree in Classics and &ndash; slightly more usefully &ndash; a reasonably popular Clint Eastwood fan site (&rdquo;The Page With No Name&rdquo;; I had a lot of spare time at uni&hellip;), I found myself an entry-level web monkey job at Future Publishing.</p>
<p>I started purely building the HTML pages; all the heavy lifting was done by a few techie guys, using Active Server Pages in VBScript (long before ASP .NET, so in what would now be called ASP Classic). We used various Microsoft technologies &ndash; anyone out there remember IE channels? (I think we may have been a launch partner for them&hellip;) Over the next few years I picked up bit of ASP here and there, and before long I was a techie guy myself.</p> ]]></description>
			
		</item>
		<item>
			<title>Server crash, possibly due to hacking attempt</title>	
			<link>http://sebduggan.com/blog/server-crash-possibly-due-to-hacking-attempt/</link>
			<comments>http://sebduggan.com/blog/server-crash-possibly-due-to-hacking-attempt/#comments</comments>
			<guid isPermaLink="false">A1C499B9-C8D8-A4EE-9C6B6CBCF76AC85C</guid>
			<pubDate>Fri, 22 Apr 2011 10:04:00 GMT</pubDate>
			<description><![CDATA[<p>This morning, I couldn&rsquo;t reach my web server. Dead. Nothing.</p>
<p>I contacted my server company, who very quickly diagnosed that the server had blue-screened; they rebooted it and all is now well. Looking at my web logs, I think it was down for about an hour &ndash; not disastrous, but definitely inconvenient and not A Good Thing. <em>(Note to self: set up a monitoring service so I know when it&rsquo;s down!)</em></p>
<p>So I started looking at the system logs to see if I could find what caused it to crash. And there was a big clue, right in front of me.</p> ]]></description>
			
		</item>
		<item>
			<title>Deploy your website changes using Git</title>	
			<link>http://sebduggan.com/blog/deploy-your-website-changes-using-git/</link>
			<comments>http://sebduggan.com/blog/deploy-your-website-changes-using-git/#comments</comments>
			<guid isPermaLink="false">A1C49514-A3E9-47A2-8704FD80EDC2D05F</guid>
			<pubDate>Thu, 21 Apr 2011 11:15:00 GMT</pubDate>
			<description><![CDATA[<p>This is something I&rsquo;ve been meaning to look at ever since a conversation I had at Scotch on the Rocks 2011. Many of us &ndash; even if we use the latest and greatest in source control &ndash; still use FTP to deploy our site changes to production. This causes several headaches, among them remembering which files have changed, and getting all those files deployed simultaneously.</p>
<p>After looking around the web, I have found several resources that helped me set up Git to deploy my site.</p> ]]></description>
			
		</item>
		<item>
			<title>Using CFTHREAD to speed up your web service calls</title>	
			<link>http://sebduggan.com/blog/using-cfthread-to-speed-up-your-web-service-calls/</link>
			<comments>http://sebduggan.com/blog/using-cfthread-to-speed-up-your-web-service-calls/#comments</comments>
			<guid isPermaLink="false">A1C4907E-C7B6-2D79-BF92A3A98799E63B</guid>
			<pubDate>Fri, 25 Mar 2011 07:59:00 GMT</pubDate>
			<description><![CDATA[<p>I&rsquo;ve recently taken to using the excellent <a href="http://postmarkapp.com/">Postmark</a> to send out all the transactional emails from my web sites. For just 0.15 cents per email, you get the benefits of increased deliverability and a great API to track and manage any undelivered mail.</p>
<p>If you like, you can send your emails simply by using Postmark&rsquo;s SMTP servers &ndash; a really quick way to migrate to their system. But the real power comes when you start using their API. I&rsquo;m not going to go into detail about how to set this up here, but in short you just have to send your message as a JSON object via HTTP Post.</p>
<p>And this is where threads come in. There are some web services you will use &ndash; for instance, payment gateways &ndash; where the returned result is critical to the continuation of the page request. But others &ndash; as well as Postmark, I also send API requests to <a href="http://www.mailchimp.com/">MailChimp</a> for mailing list subscriptions &ndash; where you really don&rsquo;t need to know the outcome.</p> ]]></description>
			
		</item>
		<item>
			<title>Tip: Make sure your new IPs are clean</title>	
			<link>http://sebduggan.com/blog/tip-make-sure-your-new-ips-are-clean/</link>
			<comments>http://sebduggan.com/blog/tip-make-sure-your-new-ips-are-clean/#comments</comments>
			<guid isPermaLink="false">A1C48C11-E94D-0CE3-19D463C21FA11699</guid>
			<pubDate>Mon, 21 Mar 2011 16:22:00 GMT</pubDate>
			<description><![CDATA[<p>A cautionary tale for anyone running their own web server &ndash; something I&rsquo;d never considered previously.</p>
<p>We&rsquo;ve all been there &ndash; you&rsquo;re setting up your web server, and request a bunch of IP addresses from your hosting provider. You then assign these IPs to your various web sites, and off you go&hellip;</p>
<p><em>But how many of you actually check the history of these IP addresses?</em></p> ]]></description>
			
		</item>
		<item>
			<title>Integrating Portcullis into FW/1 applications</title>	
			<link>http://sebduggan.com/blog/integrating-portcullis-into-fw1-applications/</link>
			<comments>http://sebduggan.com/blog/integrating-portcullis-into-fw1-applications/#comments</comments>
			<guid isPermaLink="false">A1C48785-0833-7975-64CFE1FDFC2F1F0B</guid>
			<pubDate>Fri, 25 Feb 2011 09:40:00 GMT</pubDate>
			<description><![CDATA[<p>If you need to protect your FW/1-based site against SQL injection and cross-site scripting (XSS) attacks &ndash; and you do! &ndash; you can do a lot worse than use John Mason&rsquo;s <a href="http://portcullis.riaforge.org/">Portcullis</a>. It&rsquo;s a single CFC which scans and sanitises your <kbd>Form</kbd>, <kbd>URL</kbd> and <kbd>Cookie</kbd> scopes, and optionally sets up a blacklist of repeatedly-offending IP addresses.</p> ]]></description>
			
		</item>
		<item>
			<title>CSS tip for centered site designs</title>	
			<link>http://sebduggan.com/blog/css-tip-for-centered-site-designs/</link>
			<comments>http://sebduggan.com/blog/css-tip-for-centered-site-designs/#comments</comments>
			<guid isPermaLink="false">A1C477B9-B616-D38C-8F0F5A7958147DD6</guid>
			<pubDate>Thu, 18 Nov 2010 16:18:00 GMT</pubDate>
			<description><![CDATA[<p>A quick tip for when you&rsquo;re designing a site with centered content.</p>
<p>If the content doesn&rsquo;t reach to the bottom of the window, there&rsquo;s no vertical scroll bar; if you then navigate to a longer page, you&rsquo;ll see the content jump about 10px to the left as it&rsquo;s centered in a slightly narrower window. Sometimes, you&rsquo;ll even see this jump half-way through rendering a longer page.</p> ]]></description>
			
		</item>
		<item>
			<title>Customising CKEditor settings in Mura</title>	
			<link>http://sebduggan.com/blog/customising-ckeditor-settings-in-mura/</link>
			<comments>http://sebduggan.com/blog/customising-ckeditor-settings-in-mura/#comments</comments>
			<guid isPermaLink="false">A1C47348-BA7A-1FDF-D2B1F9B2C864D7BE</guid>
			<pubDate>Sun, 31 Oct 2010 12:01:00 GMT</pubDate>
			<description><![CDATA[<p><em><strong>UPDATE:</strong> I&rsquo;ve modified the code slightly, as the syntax was slightly off. It worked, but wouldn&rsquo;t override any settings already set by Mura&rsquo;s config file.</em></p>
<p>As of version 5.3, Mura CMS uses CKEditor 3 as its HTML WYSIWYG editor. Blue River have done a great job of integrating the editor, but there are a few extra customisations you might like to make.</p> ]]></description>
			
		</item>
		<item>
			<title>EM/1: email templating for FW/1</title>	
			<link>http://sebduggan.com/blog/em1-email-templating-for-fw1/</link>
			<comments>http://sebduggan.com/blog/em1-email-templating-for-fw1/#comments</comments>
			<guid isPermaLink="false">A1C46EE4-A878-07DE-907FCE9EE82A98B6</guid>
			<pubDate>Fri, 24 Sep 2010 10:58:00 GMT</pubDate>
			<description><![CDATA[<p>As you may have noticed from some of my recent posts, I&rsquo;ve recently started to use Sean Corfield&rsquo;s FW/1 as the framework for my sites, and it&rsquo;s revolutionised the way I write code.</p>
<p>One thing I feel is missing, though, is the ability to send emails from within the app. This seems to me to be a fundamental requirement of nearly every web app &ndash; although I also understand Sean&rsquo;s wish to keep FW/1 as lean and stripped-down as possible.</p>
<p>I first started by creating an email service to handle sending emails, but this meant having to make a reference to the service in every controller that required it; so I decided to try to &ldquo;extend&rdquo; the FW/1 framework with a native implementation.</p> ]]></description>
			
		</item>
		<item>
			<title>CF9 ORM and Apache’s mod_rewrite</title>	
			<link>http://sebduggan.com/blog/cf9-orm-and-apaches-modrewrite/</link>
			<comments>http://sebduggan.com/blog/cf9-orm-and-apaches-modrewrite/#comments</comments>
			<guid isPermaLink="false">A1C4695C-E73D-1741-36693DF155FE11F4</guid>
			<pubDate>Sun, 29 Aug 2010 16:48:00 GMT</pubDate>
			<description><![CDATA[<p>Here&rsquo;s another problem I&rsquo;ve run into with ColdFusion&rsquo;s ORM (there seem to be a few of these recently&hellip;).</p>
<p>I&rsquo;ve only just started running a CF dev environment under Apache on my Mac &ndash; I was previously running IIS under VMWare. The problem comes when using Apache&rsquo;s mod_rewrite for URL rewriting.</p> ]]></description>
			
		</item>
		<item>
			<title>Custom buildURL() method for FW/1</title>	
			<link>http://sebduggan.com/blog/custom-buildurl-method-for-fw1/</link>
			<comments>http://sebduggan.com/blog/custom-buildurl-method-for-fw1/#comments</comments>
			<guid isPermaLink="false">A1C464EF-BD6E-96E7-4E419D6CE91728E7</guid>
			<pubDate>Thu, 26 Aug 2010 10:28:00 GMT</pubDate>
			<description><![CDATA[<p><strong>UPDATED:</strong> The functionality has now been rolled into the framework as of version 1.2, so the hack is unnecessary. The methodology for overriding a framework method still applies, but let me reiterate: <strong>be very careful what you change, and look out for any code changes to the overridden method in future releases!</strong></p>
<p>My (first) FW/1 application consists of two subsystems: <em>public</em> and <em>admin</em>. The public subsystem is the default, so if I invoke a URL action without a subsystem specified explicitly, it will use &lsquo;public&rsquo;.</p>
<p>Of course, if you use the <kbd>buildURL()</kbd> method to create your links (which you <em>should</em> be doing!) it will always prepend your action with <kbd>public:</kbd> &ndash; which I find a little untidy, especially when using SES URLs.</p> ]]></description>
			
		</item>
		<item>
			<title>Using include within cfscript</title>	
			<link>http://sebduggan.com/blog/using-include-within-cfscript/</link>
			<comments>http://sebduggan.com/blog/using-include-within-cfscript/#comments</comments>
			<guid isPermaLink="false">A1C4605E-E1D0-92E4-FF81400CFE12EE82</guid>
			<pubDate>Sun, 22 Aug 2010 17:52:00 GMT</pubDate>
			<description><![CDATA[<p>I&rsquo;ve only recently started using cfscript to code my components, and today ran into this little problem&hellip;</p>
<p>I have an <em>Application.cfc</em>, written in cfscript, and I want it to include a settings file which contains the different settings between development and production servers (so I can update the <em>Application.cfc</em> file without having to worry about altering settings before copying it to the live server).</p>
<p>It looks something like this (simplified, of course!)...</p> ]]></description>
			
		</item>
		<item>
			<title>CF9 ORM relationships – hasProperty oddity</title>	
			<link>http://sebduggan.com/blog/cf9-orm-relationships-hasproperty-oddity/</link>
			<comments>http://sebduggan.com/blog/cf9-orm-relationships-hasproperty-oddity/#comments</comments>
			<guid isPermaLink="false">A1C45BFD-A486-5246-8ECE4A5E2F8F8D28</guid>
			<pubDate>Wed, 18 Aug 2010 09:59:00 GMT</pubDate>
			<description><![CDATA[<p>In my CF9 ORM application, I have a magazine object. Each magazine has a single genre (e.g. Craft, Sports, etc.) &ndash; so I have a many-to-one relationship set up on the <strong>magazine.cfc</strong>.&nbsp;It all works nicely, until I want to try removing the genre from the magazine.</p>
<p>If I create a new magazine entity, the genre property contains an empty string (confirmed by dumping the object). And the <kbd>hasGenre()</kbd> method returns false.</p> ]]></description>
			
		</item>
		<item>
			<title>FW/1’s populate() method uses named arguments</title>	
			<link>http://sebduggan.com/blog/fw1s-populate-method-uses-named-arguments/</link>
			<comments>http://sebduggan.com/blog/fw1s-populate-method-uses-named-arguments/#comments</comments>
			<guid isPermaLink="false">A1C45794-DE8B-4D55-36BEF96CEBF5C547</guid>
			<pubDate>Sun, 15 Aug 2010 08:51:00 GMT</pubDate>
			<description><![CDATA[<p>Just a quick tip for anyone using <a href="http://fw1.riaforge.org/">FW/1</a>&rsquo;s populate() method to populate their objects.</p>
<p>I ran into a problem where my auto-generated setters were being called correctly by the populate() method, but my explicit setters were not. And because FW/1 ignores any error generated here, I couldn&rsquo;t work out why this was&hellip;</p> ]]></description>
			
		</item>
		<item>
			<title>Validate new passwords with ORM and ValidateThis</title>	
			<link>http://sebduggan.com/blog/validate-new-passwords-with-orm-and-validatethis/</link>
			<comments>http://sebduggan.com/blog/validate-new-passwords-with-orm-and-validatethis/#comments</comments>
			<guid isPermaLink="false">A1C4532D-98BF-F95E-782F6CC8952C6939</guid>
			<pubDate>Sun, 15 Aug 2010 07:54:00 GMT</pubDate>
			<description><![CDATA[<p>My new project is using CF9&rsquo;s ORM, <a href="http://fw1.riaforge.org/">FW/1</a> and <a href="http://www.validatethis.org/">ValidateThis</a>, all for the first time &ndash; so naturally I&rsquo;m having to work a few things out. There will probably be a few posts like this one over the next few weeks&hellip;</p>
<p>I have a user edit page, on which you can edit your personal details and change your password. It&rsquo;s set up something like this...</p> ]]></description>
			
		</item>
		<item>
			<title>ORM gotcha: Hibernate reserved words</title>	
			<link>http://sebduggan.com/blog/orm-gotcha-hibernate-reserved-words/</link>
			<comments>http://sebduggan.com/blog/orm-gotcha-hibernate-reserved-words/#comments</comments>
			<guid isPermaLink="false">A1C44EC4-B7C2-9B64-DCAC0EE7677B439F</guid>
			<pubDate>Fri, 13 Aug 2010 07:46:00 GMT</pubDate>
			<description><![CDATA[<p>Typically, the very first time I tried to use CF9&rsquo;s ORM, I ran into a bizarre problem which had me scratching my head for hours&hellip;</p>
<p>The setup was this: a table in my SQL database called &ldquo;member&rdquo;. A member.cfc object with the following code...</p> ]]></description>
			
		</item>
		<item>
			<title>Mura plugin: Impersonate User</title>	
			<link>http://sebduggan.com/blog/mura-plugin-impersonate-user/</link>
			<comments>http://sebduggan.com/blog/mura-plugin-impersonate-user/#comments</comments>
			<guid isPermaLink="false">A1C44A5F-CFCC-5956-53E7F8DB69EDBFE0</guid>
			<pubDate>Thu, 15 Apr 2010 15:21:00 GMT</pubDate>
			<description><![CDATA[<p>One feature that is missing from Mura&rsquo;s site member tools is the ability for an administrator to log in to the site as a particular user.</p>
<p>So I hacked together a very quick tool which will allow you to do just that.</p> ]]></description>
			
		</item>
		<item>
			<title>Using GitHub Gists to render source code</title>	
			<link>http://sebduggan.com/blog/using-github-gists-to-render-source-code/</link>
			<comments>http://sebduggan.com/blog/using-github-gists-to-render-source-code/#comments</comments>
			<guid isPermaLink="false">A1C445F5-A3B2-7E84-99320D6D34116862</guid>
			<pubDate>Wed, 14 Apr 2010 14:05:00 GMT</pubDate>
			<description><![CDATA[<p>I&rsquo;m curently toying with the idea of using GitHub Gists for all my code snippet rendering here on my site (and perhaps elsewhere).</p>
<p>However, I&rsquo;m struggling to weigh up the pros and cons, so I&rsquo;m throwing it open to people for comments.</p> ]]></description>
			
		</item>
		<item>
			<title>Serving web fonts from IIS</title>	
			<link>http://sebduggan.com/blog/serving-web-fonts-from-iis/</link>
			<comments>http://sebduggan.com/blog/serving-web-fonts-from-iis/#comments</comments>
			<guid isPermaLink="false">A1C44196-0284-2DF9-DA1380FD89E97AA5</guid>
			<pubDate>Sat, 10 Apr 2010 11:55:00 GMT</pubDate>
			<description><![CDATA[<p>I&rsquo;ve just started playing with web fonts for a site redesign. I came across the following gotcha (thanks, Firebug, for alerting me to it!).</p>
<p><strong>If you are running IIS 6 or higher on your web server, some of the fonts will be disabled by default.</strong></p> ]]></description>
			
		</item>
	</channel>
</rss> 