<?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>coldfury.us</title>
	<atom:link href="http://www.coldfury.us/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.coldfury.us</link>
	<description>Many machines on Ix. New machines.</description>
	<lastBuildDate>Wed, 02 Mar 2011 20:33:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>RSS, XHTML, XSL, web services and the REST</title>
		<link>http://www.coldfury.us/index.php/2011/03/rss-xhtml-xsl-web-services-and-the-rest/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rss-xhtml-xsl-web-services-and-the-rest</link>
		<comments>http://www.coldfury.us/index.php/2011/03/rss-xhtml-xsl-web-services-and-the-rest/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 20:30:39 +0000</pubDate>
		<dc:creator>Stefan le Roux</dc:creator>
				<category><![CDATA[Semantic Web]]></category>

		<guid isPermaLink="false">http://www.coldfury.us/?p=98</guid>
		<description><![CDATA[Freakin’ hell. &#8220;Beware the ides of March!&#8221; It&#8217;s March 2, 2011 and it&#8217;s almost impossible to find free, accessible API&#8217;s (Application Programming Interface) on the web. The best you can do is the weather or some useless stock ticker. Hell, it&#8217;s been done. Even before &#8220;web 2.0&#8243; we&#8217;ve been sharing information, but all the promises [...]]]></description>
			<content:encoded><![CDATA[<p>Freakin’ hell. &#8220;Beware the ides of March!&#8221; It&#8217;s March 2, 2011 and it&#8217;s almost impossible to find free, accessible API&#8217;s (Application Programming Interface) on the web. The best you can do is the weather or some useless stock ticker. Hell, it&#8217;s been done. Even before &#8220;web 2.0&#8243; we&#8217;ve been sharing information, but all the promises of RSS, XHTML, XSL, web services and the REST have come to noting. Sure if you&#8217;re Facebook, guard your information well, but if you want to sell stuff, put it out there. Make it open, make it available.</p>
<p>Publish your web services, expose an API. We&#8217;re all hanging on to information for dear life in the hope that we&#8217;ll make a buck, when the true value is in sharing. Everyone is clinging to the big boys like Amazon, Facebook, EBay, Apple (duh) and Google to drag us from the gutter. These guys didn&#8217;t wait for someone to give them a hand up &#8211; they become IT.</p>
<p>For all I know the world is trying to prove Tim Berners-Lee wrong. Bullocks, we can and will share information. The semantic web is upon us &#8211; let’s share – let’s talk.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coldfury.us/index.php/2011/03/rss-xhtml-xsl-web-services-and-the-rest/feed/</wfw:commentRss>
		<slash:comments>863</slash:comments>
		</item>
		<item>
		<title>Microsoft Silverlight / HTML5</title>
		<link>http://www.coldfury.us/index.php/2010/11/microsoft-silverlight-html5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=microsoft-silverlight-html5</link>
		<comments>http://www.coldfury.us/index.php/2010/11/microsoft-silverlight-html5/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 05:04:47 +0000</pubDate>
		<dc:creator>Stefan le Roux</dc:creator>
				<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.coldfury.us/?p=95</guid>
		<description><![CDATA[Having spent over a decade building web applications with HTML, CSS and Javascript, why would I ever choose a steep learning curve to another technology? HTML has pretty much remained the same during this time, where only CSS and Javascript (AJAX) has intervened to make things &#8220;appear&#8221; richer. Surely these faithfully old technologies have their [...]]]></description>
			<content:encoded><![CDATA[<p>Having spent over a decade building web applications with HTML, CSS and Javascript, why would I ever choose a steep learning curve to another technology? HTML has pretty much remained the same during this time, where only CSS and Javascript (AJAX) has intervened to make things &#8220;appear&#8221; richer. Surely these faithfully old technologies have their place &#8211; they have served us well and will continue to do so. HTML5 will enable even richer experiences than before, and I can&#8217;t wait. Seriously, I can&#8217;t wait. According to the W3C the final specification won&#8217;t be pinned down for years to come, YEARS!</p>
<p>That said, we do have other options for building rich internet applications (RIAs). Way back, I first had a look at Micromedia&#8217;s Flex in 2004. It was good then, but it&#8217;s way better today in Flex 4. The tools (IDEs) for building RIAs have improved tremendously &#8211; not to mention the approach and patterns that govern them. HTML has nothing on this. It&#8217;s the same old hodge podge of included Javascript libraries and frail links between critical components. Loose a semicolon anywhere, for whatever reason, and it&#8217;s all over. Firebug will turn your well tuned application upside down.</p>
<p>I have chosen MS Silverlight as a RIA technology for a number of reasons:</p>
<p>1. ONE development language &#8211; C# for server- and client side programming;<br />
2. Flexibility of XAML (it really does ANYTHING);<br />
3. Super IDE &#8211; Microsoft Visual Studio 2010;<br />
4. Separation of concerns (MVC, or MVVM for Silverlight);<br />
5. Component architecture.</p>
<p>Silverlight 4 was released only 6 months ago, and has since then gained huge momentum. Recently tough, Microsoft has said they the have &#8220;shifted their focus&#8221; to HTML5. That&#8217;s exactly what they said, and will do. We need HTML5, but Silverlight as a web platform technology is here to stay. Microsoft will support HTML5 all the way, and that is good news for any developer relying IE9+ to deliver their content via the web.</p>
<p>Silverlight has everything you need to build the best of breed line of business (LOB) applications. Silverlight has not, and will not be abandoned by Microsoft. That is my opinion, and I venture to say that we&#8217;ll see SL10, and beyond. The web needs rich clients &#8211; yes plugins. Flash has been around since forever, and so will Silverlight.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coldfury.us/index.php/2010/11/microsoft-silverlight-html5/feed/</wfw:commentRss>
		<slash:comments>217</slash:comments>
		</item>
		<item>
		<title>Adobe ColdFusion 8 Certified Expert ~ Advanced</title>
		<link>http://www.coldfury.us/index.php/2010/08/adobe-coldfusion-8-certified-expert-advanced/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=adobe-coldfusion-8-certified-expert-advanced</link>
		<comments>http://www.coldfury.us/index.php/2010/08/adobe-coldfusion-8-certified-expert-advanced/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 05:57:21 +0000</pubDate>
		<dc:creator>Stefan le Roux</dc:creator>
				<category><![CDATA[Coldfusion]]></category>

		<guid isPermaLink="false">http://www.coldfury.us/?p=76</guid>
		<description><![CDATA[Friday afternoon I finally took the Adobe ColdFusion 8 Certification Exam, and passed. Please see my previous post on how I prepared for it. My main goal was to not only pass the test, but achieve more than 85% to get the Advanced status. The exam was everything I expected it to be, clear and [...]]]></description>
			<content:encoded><![CDATA[<p>Friday afternoon I finally took the Adobe ColdFusion 8 Certification Exam, and passed. Please see my<a href="http://www.coldfury.us/index.php/2010/06/preparing-for-the-coldfusion-8-exam/" target="_self"> previous post</a> on how I prepared for it. My main goal was to not only pass the test, but achieve more than 85% to get the Advanced status. The exam was everything I expected it to be, clear and straight forward. The most important thing about taking an exam is to read the questions carefully. You might know the answer, but is that what is really being asked?</p>
<p>Anyhow, I&#8217;m glad I went through the trouble to get certified.</p>
<p><img src="http://www.coldfury.us/wp-content/uploads/2010/08/ACE_Adv_ColdFusion.jpg" alt="ACE_Adv_ColdFusion" title="ACE_Adv_ColdFusion" width="257" height="58" class="alignnone size-full wp-image-83" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.coldfury.us/index.php/2010/08/adobe-coldfusion-8-certified-expert-advanced/feed/</wfw:commentRss>
		<slash:comments>1242</slash:comments>
		</item>
		<item>
		<title>Goodbye www.webfirms.net</title>
		<link>http://www.coldfury.us/index.php/2010/07/leaving-httpwww-webfirms-net/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=leaving-httpwww-webfirms-net</link>
		<comments>http://www.coldfury.us/index.php/2010/07/leaving-httpwww-webfirms-net/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 05:28:11 +0000</pubDate>
		<dc:creator>Stefan le Roux</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.coldfury.us/?p=71</guid>
		<description><![CDATA[Today I have backed-up my wordpress site and content on www.webfirms.net. I have hosted my domain (www.coldfury.us) and email with www.webfirms.net for the past 6+ years and finally decided to move my hosting somewhere else. The reason for this is that this site has been down for almost a month, and I have been unable [...]]]></description>
			<content:encoded><![CDATA[<p>Today I have backed-up my wordpress site and content on www.webfirms.net. I have hosted my domain (www.coldfury.us) and email with www.webfirms.net for the past 6+ years and finally decided to move my hosting somewhere else. The reason for this is that this site has been down for almost a month, and I have been unable to receive any email via my account.</p>
<p>All incoming emails were lost, and I had to send email via my gmail account.</p>
<p>I wouldn&#8217;t say contacting www.webfirms.net is a nightmare, because it is almost impossible! There is one, and only one option, using the support@webfirms.net where you get a speedy reply that they are looking into the problem. Finally, 3 weeks later, I start receiving emails again. I check, and the domain is back up. Woohoooo. All that meant is that I have had enough. I thought I had to cut my losses and loose all content uploaded via wordpress, but luckily not.</p>
<p>A final word. If you are still hosting with www.webfirms.net, and your site is available. Back-up your stuff and get the hell out. One good day they are just going to disappear of the face of the net and leave you hanging. Their prices are really not that competitive and their service sucks.</p>
<p>Goodbye www.webfirms.net, it&#8217;s been real.</p>
<p>Stefan.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coldfury.us/index.php/2010/07/leaving-httpwww-webfirms-net/feed/</wfw:commentRss>
		<slash:comments>231</slash:comments>
		</item>
		<item>
		<title>ColdFusion 9 ORM Set-up</title>
		<link>http://www.coldfury.us/index.php/2010/06/coldfusion-9-orm-set-up/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=coldfusion-9-orm-set-up</link>
		<comments>http://www.coldfury.us/index.php/2010/06/coldfusion-9-orm-set-up/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 07:37:45 +0000</pubDate>
		<dc:creator>Stefan le Roux</dc:creator>
				<category><![CDATA[Coldfusion]]></category>

		<guid isPermaLink="false">http://www.coldfury.us/?p=64</guid>
		<description><![CDATA[ColdFusion 9 supports ORM natively via the Hibernate framework. From the horses mouth, this is what it means: Object relational mapping (ORM) is a programming framework that allows you to define a mapping between application object model and the relational database. In an object model, the application objects are not aware of the database structure. [...]]]></description>
			<content:encoded><![CDATA[<p>ColdFusion 9 supports ORM natively via the Hibernate framework. From the horses mouth, this is what it means:</p>
<p>Object relational mapping (ORM) is a programming framework that allows you to define a mapping between application object model and the relational database.</p>
<p>In an object model, the application objects are not aware of the database structure. Objects have properties and references to other objects. Databases consist of tables with columns that maybe related to other tables. ORM provides a bridge between the relational database and the object model. By using ORM, you can access and update data entirely using the object model of an application. ORM provides features such as:</p>
<ul>
<li>Database vendor independence;</li>
<li>Caching;</li>
<li>Concurrency;</li>
<li>Performance optimization</li>
</ul>
<p>- Developing Applications ADOBE® COLDFUSION9</p>
<p>Again for simplicity, I am going to use the Microsoft Adventureworks database. Assuming you have MS SQL Server installed and the Adventureworks database running, accessing data from via ColdFusion using Hibernate is pretty straight forward. Create a datasource &#8220;adventureworks&#8221; in the CF Admin pointing to your &#8220;Adventureworks&#8221; database.</p>
<p>Fire up Dreamweaver or ColdFusion builder and create a new site. The most important thing is to have your Application.cfc in place to enable ORM, like so:</p>
<p>1.) Enable ORM via Application.cfc</p>
<p>component<br />
{<br />
THIS.name = &#8220;awORM&#8221;;<br />
THIS.ormenabled = true;<br />
THIS.ormsettings = {datasource=&#8217;adventureworks&#8217;};<br />
}</p>
<p>Like everything &#8220;ColdFusion&#8221;, the code snippet is self explanitory. I use the &#8220;script style&#8221; component as a personal preference, but a &#8220;tag style&#8221; approach is exactly the same thing.</p>
<p>2.) Creating your first component mapping</p>
<p>Create a component file called Contact.cfc with the following attributes and properties:</p>
<p>component table=&#8221;Contact&#8221; schema=&#8221;Person&#8221; entityname=&#8221;Contact&#8221; persistent=&#8221;true&#8221; {<br />
property name=&#8221;ContactID&#8221; fieldtype=&#8221;id&#8221; column=&#8221;ContactID&#8221; ormtype=&#8221;integer&#8221; generator=&#8221;native&#8221;;<br />
property name=&#8221;NameStyle&#8221; column=&#8221;NameStyle&#8221; ormtype=&#8221;string&#8221;;<br />
property name=&#8221;Title&#8221; ormtype=&#8221;string&#8221;;<br />
property name=&#8221;FirstName&#8221; ormtype=&#8221;string&#8221;;<br />
property name=&#8221;MiddleName&#8221; ormtype=&#8221;string&#8221;;<br />
property name=&#8221;LastName&#8221; ormtype=&#8221;string&#8221;;<br />
property name=&#8221;EmailAddress&#8221; ormtype=&#8221;string&#8221;;<br />
}</p>
<p>I&#8217;m using only a subset of the data, not every column in the table.</p>
<p>3.) Create a new page called testcontacts.cfm</p>
<p>Add the following lines:</p>
<p>&lt;cfset myContact = entityLoad(&#8220;Contact&#8221;, 1)&gt;<br />
&lt;cfdump var=&#8221;#myContact#&#8221;&gt;</p>
<p>This loads the Contact from your database with the &#8220;ContactID&#8221; of 1.</p>
<p>*** Note: The first time you try to run the code, for whatever reason, you might get a ColdFusion error page saying the something is wrong with the &#8220;mapping&#8221;. Simply restart you ColdFusion service, and run the page again.</p>
<p>Looking at the &#8220;cfdump&#8221; output, expand the &#8220;METHODS&#8221; section. You will notice that ColdFusion has generated implicet &#8220;getters&#8221; and &#8220;setter&#8221; methods for you. To me this is the bargain of the month.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coldfury.us/index.php/2010/06/coldfusion-9-orm-set-up/feed/</wfw:commentRss>
		<slash:comments>743</slash:comments>
		</item>
		<item>
		<title>Preparing for the ColdFusion 8 exam</title>
		<link>http://www.coldfury.us/index.php/2010/06/preparing-for-the-coldfusion-8-exam/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=preparing-for-the-coldfusion-8-exam</link>
		<comments>http://www.coldfury.us/index.php/2010/06/preparing-for-the-coldfusion-8-exam/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 06:19:03 +0000</pubDate>
		<dc:creator>Stefan le Roux</dc:creator>
				<category><![CDATA[Coldfusion]]></category>

		<guid isPermaLink="false">http://www.coldfury.us/?p=59</guid>
		<description><![CDATA[I have been a ColdFusion developer for almost 7 years now. Four years ago, still on ColdFusion 7, I decided to take the CF exam. For preparation I bought Ben Forta&#8217;s Macromedia ColdFusion 7 Certified Developer Study Guide. There are massive amounts of information and inside knowledge in this little volume. I actually recommend this [...]]]></description>
			<content:encoded><![CDATA[<p>I have been a ColdFusion developer for almost 7 years now. Four years ago, still on ColdFusion 7, I decided to take the CF exam.</p>
<p>For preparation I bought <a href="http://www.forta.com/books/0321330110/">Ben Forta&#8217;s Macromedia ColdFusion 7 Certified Developer Study Guide</a>. There are massive amounts of information and inside knowledge in this little volume. I actually recommend this book for anyone just starting out with ColdFusion development. &#8220;Almost&#8221; everything you need to know about CF development is nicely contained in the 50 chapters of the book.</p>
<p>Now, taking the exam isn&#8217;t as simple as memorising all the questions and answers from both the study guide or even <a href="http://www.centrasoft.com/products.cfm">Centrasoft&#8217;s CF Exam Buster</a>. You really need to know your stuff. That means working with CF everyday, for at least a year &#8211; and pushing it (yourself and the code) to the max. Try EVERYTHING out. Handle your errors, build components (CFCs) the right way, build and access web services, query databases until there is nothing left to select or update.</p>
<p>Ok, I said this was four years ago. I&#8217;m 4 years older and CF/Development wiser. I never took the exam because I soon realised that becoming certified, for me, would be like becoming a Jedi Master. I didn&#8217;t just want to pass, I wanted to pass with Advanced Status, that means achieving at least 85% on the test. Ouch. Passing the test requires 66%.</p>
<p>I am now preparing for the exam again, this time with the help of CF Exam Buster. It&#8217;s a great help. I&#8217;m reading the Study Guide again, and paying special attention while I&#8217;m coding to keep these things in mind. At this point I will easily pass, but maybe not with Advanced Status. I am going to keep on hitting the Exam Buster tests &#8211; evaluating my answers carefully, and keep practicing.</p>
<p>One thing I learnt is that knowing ALL the theory behind your development language is a great help. It gives you confidence while you are working, easily making the best decision when needed without looking it up.</p>
<p>Here are four excellent books for your library:</p>
<ol>
<li><a href="http://www.amazon.com/Adobe-ColdFusion-Web-Application-Construction/dp/032166034X/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1277274045&amp;sr=1-1">Adobe ColdFusion 9 Web Application Construction Kit, Volume 1: Getting Started</a></li>
<li><a href="http://www.amazon.com/Adobe-ColdFusion-Web-Application-Construction/dp/0321679199/ref=sr_1_2?ie=UTF8&amp;s=books&amp;qid=1277274045&amp;sr=1-2">Adobe ColdFusion 9 Web Application Construction Kit, Volume 2: Application Development</a></li>
<li><a href="http://www.amazon.com/Adobe-ColdFusion-Web-Application-Construction/dp/0321679202/ref=sr_1_4?ie=UTF8&amp;s=books&amp;qid=1277274045&amp;sr=1-4">Adobe ColdFusion 9 Web Application Construction Kit, Volume 3: Advanced Application Development</a></li>
<li><a href="http://www.amazon.com/Adobe-Coldfusion-Anthology-Michael-Dinowitz/dp/1430272155/ref=sr_1_6?ie=UTF8&amp;s=books&amp;qid=1277274045&amp;sr=1-6">Adobe Coldfusion Anthology</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.coldfury.us/index.php/2010/06/preparing-for-the-coldfusion-8-exam/feed/</wfw:commentRss>
		<slash:comments>257</slash:comments>
		</item>
		<item>
		<title>Coldfusion (CFML) on Open BlueDragon v1.2 and Tomcat</title>
		<link>http://www.coldfury.us/index.php/2010/01/coldfusion-cfml-on-open-bluedragon-v1-2-and-tomcat/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=coldfusion-cfml-on-open-bluedragon-v1-2-and-tomcat</link>
		<comments>http://www.coldfury.us/index.php/2010/01/coldfusion-cfml-on-open-bluedragon-v1-2-and-tomcat/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 07:46:31 +0000</pubDate>
		<dc:creator>Stefan le Roux</dc:creator>
				<category><![CDATA[Coldfusion]]></category>

		<guid isPermaLink="false">http://www.coldfury.us/?p=41</guid>
		<description><![CDATA[Being on a open source crusade in 2010, I&#8217;d like to introduce Open BlueDragon to CFML developers. I have been programming, yes writing code, in CFML for the past 7 years. This is a bit of a rant since ColdFusion as a &#8220;programming language&#8221; was dropped from the Tiobe index more than two years ago [...]]]></description>
			<content:encoded><![CDATA[<p>Being on a open source crusade in 2010, I&#8217;d like to introduce Open BlueDragon to CFML developers. I have been programming, yes writing code, in CFML for the past 7 years. This is a bit of a rant since ColdFusion as a &#8220;programming language&#8221; was dropped from the <a title="TIOBE Programming Community Index" href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html" target="_blank">Tiobe index</a> more than two years ago for not being &#8220;turing complete&#8221;. Anywho, Coldfusion (CFML) can turn out some amazing web applications.</p>
<p>This being the first of my Coldfusion posts I would just like to mention that I will be using Coldfusion, CFML, Open BlueDragon and BlueDragon interchangeably. Essentially Coldfusion and BlueDragon are the application servers CFML runs on, where CFML is the actual syntax for marking up Coldfsion code.</p>
<p>(1) Deploying OpenBlueDragon on Tomcat<br />
Visit <a title="Download Open BlueDragon" href="http://www.openbluedragon.org/download.cfm" target="_blank">http://www.openbluedragon.org/download.cfm</a> to download the latest stable release. Look for &#8220;J2EE Standard WAR (21MB)&#8221;. Stop Tomcat and copy the &#8220;openbd.war&#8221; file to Tomcats&#8217; &#8220;webapps&#8221; directory. Start Tomcat again. Monitoring the &#8220;webapps&#8221; directory, you will see Tomcat deploying the .war file. A new folder will be created &#8220;openbd&#8221;. I&#8217;m running Tomcat on port 8083, so do remember to change your port to the default or whatever you specified during the Tomcat installation.</p>
<p>Go to <a title="OpenBlueDragon CFML Runtime" href="http://127.0.0.1:8083/openbd/" target="_blank">http://127.0.0.1:8083/openbd/</a> to see if Open BlueDragon is running:</p>
<p><img class="alignnone size-full wp-image-42" title="openbdhome" src="http://www.coldfury.us/wp-content/uploads/2010/01/openbdhome.gif" alt="openbdhome" width="587" height="379" /></p>
<p>(2) Accessing the Administrator<br />
Browse to <a title="Open BlueDragon Administrator" href="http://127.0.0.1:8083/openbd/bluedragon/administrator/login.cfm" target="_blank">http://127.0.0.1:8083/openbd/bluedragon/administrator/login.cfm</a></p>
<p><img class="alignnone size-full wp-image-45" title="openbdadmin" src="http://www.coldfury.us/wp-content/uploads/2010/01/openbdadmin.gif" alt="openbdadmin" width="587" height="379" /></p>
<p>Login as &#8220;admin&#8221;. ***This is the default administrator password, so change it immediately once you are logged in. On your local machine it shouldn&#8217;t make a difference, but do it anyway.</p>
<p><img class="alignnone size-full wp-image-46" title="openbdadminpassword" src="http://www.coldfury.us/wp-content/uploads/2010/01/openbdadminpassword.gif" alt="openbdadminpassword" width="640" height="369" /></p>
<p>(3) Adding a new Web Application<br />
Create a new folder in &#8220;\Tomcat 6.0\webapps\openbd&#8221;. Call it &#8220;MyApp&#8221; and create a new text file call &#8220;index.cfm&#8221; and open it in a text editor. Adobe Dreamweaver has excellent CFML &#8220;code hints&#8221;. I have been using Dreamweaver since version 2 so I am a bit bias when it comes to writing CFML, marking up HTML, CSS, javascript and XML.</p>
<p>On the blank &#8220;index.cfm&#8221; page type:</p>
<p>&lt;cfdump var=&#8221;#server#&#8221;&gt;</p>
<p>and save the file. Open <a title="MyApp" href="http://127.0.0.1:8083/openbd/MyApp/" target="_blank">http://127.0.0.1:8083/openbd/MyApp/</a></p>
<p><img class="alignnone size-full wp-image-47" title="openbdindexcfm" src="http://www.coldfury.us/wp-content/uploads/2010/01/openbdindexcfm.gif" alt="openbdindexcfm" width="640" height="369" /></p>
<p>&lt;cfdump /&gt; is THE most usefull debugging feature in CFML. Use it to &#8220;dump&#8221; any type of &#8220;object&#8221; you like: query results, arrays, strings, structs etc.</p>
<p>Have fun. Coldfusion is both fun and powerful with a great community behind it. It&#8217;s been around since 1995 and Coldfusion 9 is better and faster then ever before. Be sure to visit the Master of All Coldfusion developers: <a title="Coldfusion Jedi" href="http://www.coldfusionjedi.com/" target="_blank">Raymond Camden</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coldfury.us/index.php/2010/01/coldfusion-cfml-on-open-bluedragon-v1-2-and-tomcat/feed/</wfw:commentRss>
		<slash:comments>7017</slash:comments>
		</item>
		<item>
		<title>Indexing data with Solr 1.4 from Microsoft SQL Server</title>
		<link>http://www.coldfury.us/index.php/2010/01/indexing-data-with-solr-1-4-from-microsoft-sql-server/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=indexing-data-with-solr-1-4-from-microsoft-sql-server</link>
		<comments>http://www.coldfury.us/index.php/2010/01/indexing-data-with-solr-1-4-from-microsoft-sql-server/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 07:09:37 +0000</pubDate>
		<dc:creator>Stefan le Roux</dc:creator>
				<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.coldfury.us/?p=21</guid>
		<description><![CDATA[With Solr you can index text documents, as well as database records, where each row is treated as a document. To connect to Microsoft SQL Server, I downloaded the Java (type 4) JDBC 3.0 driver for Microsoft SQL Server (6.5, 7, 2000, 2005 and 2008) from: http://sourceforge.net/projects/jtds/files/jtds/1.2.5/jtds-1.2.5-dist.zip/download Unzip the contents of the download. Locate the [...]]]></description>
			<content:encoded><![CDATA[<p>With Solr you can index text documents, as well as database records, where each row is treated as a document. To connect to Microsoft SQL Server, I downloaded the Java (type 4) JDBC 3.0 driver for Microsoft SQL Server (6.5, 7, 2000, 2005 and 2008) from:</p>
<p><a title="JDBC 3.0 driver for Microsoft SQL Server" href="http://sourceforge.net/projects/jtds/files/jtds/1.2.5/jtds-1.2.5-dist.zip/download" target="_blank">http://sourceforge.net/projects/jtds/files/jtds/1.2.5/jtds-1.2.5-dist.zip/download</a></p>
<p>Unzip the contents of the download. Locate the &#8220;jtds-1.2.5.jar&#8221; file, and copy it to your Tomcat installation directory:</p>
<p>\Tomcat 6.0\lib\</p>
<p>A note on &#8220;.jar&#8221; files. A jar file is nothing more than a zip file containing a lot of hard work on some software developers&#8217; part. If you were to rename the .jar file to .zip, and unpack the contents, you will find a folder with a &#8220;package&#8221; structure. When you finally reference a &#8220;Class&#8221; withing the package you will specify the path to the class via this folder structure. In this case:  net\sourceforge\jtds\jdbc ~ net.sourceforge.jtds.jdbc.Driver</p>
<p>So, if you are unsure as to the correct class path to specify, unzip the jar file and locate the Class you are interested in. This will translate to the &#8220;Class Path&#8221; as mentioned above.</p>
<p>If you downloaded &#8220;apache-solr-1.4.0&#8243; as in the <a title="Installing and Running Solr 1.4 on Windows / Tomcat" href="http://www.coldfury.us/?p=10" target="_blank">previous post</a>, you can now copy a new template for your &#8220;Solr Home&#8221; from: apache-solr-1.4.0\example\example-DIH\</p>
<p>Copy the entire &#8220;solr&#8221; folder from the above directory to C:\</p>
<p>If you already have a &#8220;solr&#8221; directory in this location, rename it to something else not to loose any data. This is just a back-up of your previous work and can be renamed at anytime to reinstate it as your solr home.</p>
<p>Stop Tomcat for the moment, and open the C:\solr directory. Delete the mail- and rss folders including the solr.xml file. Open die db folder and copy both the conf- and lib folder into the solr directory. Delete the db folder.</p>
<p>Your &#8220;solr home&#8221; should now look something like: C:\solr containing both conf- and lib folders. Start Tomcat.</p>
<p>Visit <a title="Solr Home" href="http://127.0.0.1:8080/solr/" target="_blank">http://127.0.0.1:8080/solr/</a> to make sure everything is still running.</p>
<p>(1) Configuring your Driver and Datasource</p>
<p>In this example I am using the &#8220;AdventureWorks&#8221; database supplied for Microsoft SQL Server 2008. Visit <a title="SQL Server Sample Databases" href="http://www.codeplex.com/MSFTDBProdSamples" target="_blank">http://www.codeplex.com/MSFTDBProdSamples</a> to download it.</p>
<p>Open the &#8220;db-data-config.xml&#8221; file in solr\conf.</p>
<p>Edit the &#8220;dataSource&#8221; node to look like:</p>
<p>&lt;dataSource<br />
type=&#8221;JdbcDataSource&#8221;<br />
name=&#8221;ds-1&#8243;<br />
driver=&#8221;net.sourceforge.jtds.jdbc.Driver&#8221;<br />
url=&#8221;jdbc:sqlserver://127.0.0.1:1433;databaseName=AdventureWorks&#8221;<br />
user=&#8221;sa&#8221;<br />
password=&#8221;password&#8221; /&gt;</p>
<p>Substitute the database username and password with your database cridentials.</p>
<p>Edit the &#8220;entity&#8221; node, found inside the &#8220;document&#8221; node, to look like:</p>
<p>&lt;entity<br />
dataSource=&#8221;ds-1&#8243;<br />
name=&#8221;People&#8221;<br />
query=&#8221;SELECT    ContactID,<br />
NameStyle,<br />
Title,<br />
FirstName,<br />
MiddleName,<br />
LastName,<br />
EmailAddress,<br />
Phone,<br />
ModifiedDate<br />
FROM    Person.Contact&#8221;&gt;</p>
<p>&lt;field column=&#8221;ContactID&#8221; name=&#8221;ContactID&#8221; /&gt;<br />
&lt;field column=&#8221;NameStyle&#8221; name=&#8221;NameStyle&#8221; /&gt;<br />
&lt;field column=&#8221;Title&#8221; name=&#8221;Title&#8221; /&gt;<br />
&lt;field column=&#8221;FirstName&#8221; name=&#8221;FirstName&#8221; /&gt;<br />
&lt;field column=&#8221;MiddleName&#8221; name=&#8221;MiddleName&#8221; /&gt;<br />
&lt;field column=&#8221;LastName&#8221; name=&#8221;LastName&#8221; /&gt;<br />
&lt;field column=&#8221;EmailAddress&#8221; name=&#8221;EmailAddress&#8221; /&gt;<br />
&lt;field column=&#8221;Phone&#8221; name=&#8221;Phone&#8221; /&gt;<br />
&lt;field column=&#8221;ModifiedDate&#8221; name=&#8221;ModifiedDate&#8221; /&gt;</p>
<p>&lt;/entity&gt;</p>
<p>Save the &#8220;db-data-config.xml&#8221; file. You will notice that the &#8220;driver&#8221; attribute in the &#8220;dataSource&#8221; section looks exactly like the Class Path explained earlier.</p>
<p>(2) Update the Schema.xml for the Solr index<br />
Now open the &#8220;schema.xml&#8221; file in the same directory as the &#8220;db-data-config.xml&#8221; file.</p>
<p>Scroll down about 2/3 of the file and find the &#8220;&lt;fields&gt;&#8221; section and replace all the &#8220;&lt;field&gt;&#8221; nodes with:</p>
<p>&lt;field name=&#8221;ContactID&#8221; type=&#8221;integer&#8221; indexed=&#8221;true&#8221; stored=&#8221;true&#8221; required=&#8221;true&#8221; /&gt;<br />
&lt;field name=&#8221;NameStyle&#8221; type=&#8221;string&#8221; indexed=&#8221;true&#8221; stored=&#8221;true&#8221; /&gt;<br />
&lt;field name=&#8221;Title&#8221; type=&#8221;string&#8221; indexed=&#8221;true&#8221; stored=&#8221;true&#8221; /&gt;<br />
&lt;field name=&#8221;FirstName&#8221; type=&#8221;string&#8221; indexed=&#8221;true&#8221; stored=&#8221;true&#8221; /&gt;<br />
&lt;field name=&#8221;MiddleName&#8221; type=&#8221;string&#8221; indexed=&#8221;true&#8221; stored=&#8221;true&#8221; /&gt;<br />
&lt;field name=&#8221;LastName&#8221; type=&#8221;string&#8221; indexed=&#8221;true&#8221; stored=&#8221;true&#8221; /&gt;<br />
&lt;field name=&#8221;EmailAddress&#8221; type=&#8221;string&#8221; indexed=&#8221;true&#8221; stored=&#8221;true&#8221; /&gt;<br />
&lt;field name=&#8221;Phone&#8221; type=&#8221;string&#8221; indexed=&#8221;true&#8221; stored=&#8221;true&#8221; /&gt;<br />
&lt;field name=&#8221;ModifiedDate&#8221; type=&#8221;date&#8221; indexed=&#8221;true&#8221; stored=&#8221;true&#8221; /&gt;</p>
<p>(2.1) Find the &#8220;&lt;uniqueKey&gt;&#8221; node and change it to: &lt;uniqueKey&gt;ContactID&lt;/uniqueKey&gt;;</p>
<p>(2.2) Find the &#8220;&lt;defaultSearchField&gt;&#8221; node and change it to: &lt;defaultSearchField&gt;LastName&lt;/defaultSearchField&gt;;</p>
<p>(2.3) Delete all the &#8220;&lt;copyField&gt;&#8221; nodes.</p>
<p>Stop and Start Tomcat for Solr to parse the schema.xml and check it against your  db-data-config.xml. Any error will be logged to Tomcats&#8217; log file, or you will get an &#8220;exception error&#8221; when trying to access http://127.0.0.1:8080/solr/.</p>
<p>Now go to <a title="DataImportHandler Development Console" href="http://127.0.0.1:8080/solr/admin/dataimport.jsp" target="_blank">http://127.0.0.1:8080/solr/admin/dataimport.jsp</a> and click the /DATAIMPORT link. You are now in the &#8220;DataImportHandler Development Console&#8221;. At the bottom-left hand side of the window you will notice a button named:  &#8220;Full Import With Cleaning&#8221;. Click it to start indexing. Periodically click the &#8220;Status&#8221; button to check on the indexing progress.</p>
<p>While solr is still busy indexing, it will display &#8220;&lt;str name=&#8221;status&#8221;&gt;busy&lt;/str&gt;&#8221;. Once it has successfully completed indexing all the data, the staus will be &#8220;idle&#8221; with the following message:</p>
<p>- Indexing completed. Added/Updated: 19972 documents. Deleted 0 documents.</p>
<p>Now go to: <a title="Solr Admin (db)" href="http://127.0.0.1:8080/solr/admin/" target="_blank">http://127.0.0.1:8080/solr/admin/</a> to see if all your hard work paid off. In the &#8220;Make a Query&#8221; section type *:* and click Search, pressing enter just adds a return.</p>
<p>Also vist <a title="Solr Query Syntax" href="http://wiki.apache.org/solr/SolrQuerySyntax" target="_blank">http://wiki.apache.org/solr/SolrQuerySyntax</a> for help on Solr Query Syntax! now I&#8217;m really late for work. Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coldfury.us/index.php/2010/01/indexing-data-with-solr-1-4-from-microsoft-sql-server/feed/</wfw:commentRss>
		<slash:comments>1362</slash:comments>
		</item>
		<item>
		<title>Installing and Running Solr 1.4 on Windows / Tomcat</title>
		<link>http://www.coldfury.us/index.php/2010/01/installing-and-running-solr-1-4-on-windows-tomcat/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=installing-and-running-solr-1-4-on-windows-tomcat</link>
		<comments>http://www.coldfury.us/index.php/2010/01/installing-and-running-solr-1-4-on-windows-tomcat/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 05:27:12 +0000</pubDate>
		<dc:creator>Stefan le Roux</dc:creator>
				<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://www.coldfury.us/?p=10</guid>
		<description><![CDATA[Installing and Running Solr 1.4 on your local machine for testing is as easy as pie. Here I am going cover the steps needed to get Solr running on Tomcat 6.0 on a Windows machine. In our production environment we run Solr on Ubuntu 9.10 Server Edition in Tomcat as the servlet container, but that&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Installing and Running Solr 1.4 on your local machine for testing is as easy as pie.</p>
<p>Here I am going cover the steps needed to get Solr running on Tomcat 6.0 on a Windows machine. In our production environment we run Solr on Ubuntu 9.10 Server Edition in Tomcat as the servlet container, but that&#8217;s a story for another day.</p>
<p>(1) What is Solr<br />
Solr is an enterprise search server based in the open source community. Out of the box it offers features such as a convenient HTTP/XML interface, keyword search highlighting, faceted navigation (like categories), spell correction, auto-suggest queries and an admin interface to manage your index. Under the hood, Solr relies on Apaches&#8217; Lucene text search engine library. Lucene is &#8220;the bomb&#8221;, but Solr is definitely the delivery mechanism.</p>
<p>Let&#8217;s say for instance you had a database with millions of records properly normalized as a good database should be. Searching such a behemoth could be challenging, not to mention taxing on the server itself. Databases were &#8220;made to query&#8221;, but sometimes we have to weigh up the cost of performance implications in running ad hoc queries against a transactional database searching and joining multiple tables. Searching a pharmaceutical database for let&#8217;s say the word &#8220;headache&#8221; would yield thousands of records &#8211; everything from symptoms to side effects etc.</p>
<p>Indexing such data to a dedicated search repository would be ideal. The data is actually updated very infrequently as opposed to it being queried thousands of times a day by users. This would ease the load on your database and provide a better user experience to the end user. we are trying to create solutions, not create more headaches.</p>
<p>(2) Installing Tomcat<br />
Go to http://tomcat.apache.org/ and download Tomcat 6.x, choose the Windows Service Installer under &#8220;Binary Distributions&#8221;. If you already have Tomcat installed, good for you. Apache rules.</p>
<p>Double click the downloaded file and follow the installation instructions. Normally Tomcat would install by default on port 8080. Once the installation is complete, open a new browser window, and go to <a title="Tomcat Home" href="http://127.0.0.1:8080/" target="_blank">http://127.0.0.1:8080/</a></p>
<p>Tomcat should be running screaming fast as always. Ok, now stop it by finding the little &#8220;Play&#8221; button with a feather in the taskbar. Right click it and select &#8220;Stop Service&#8221;.</p>
<p>(3) Deploying Solr 1.4<br />
Go to: <a title="Download Solr 1.4" href="http://lucene.apache.org/solr/" target="_blank">http://lucene.apache.org/solr/</a> and find the download link for Solr 1.4. Download the apache-solr-1.4.0.zip file, and unzip it to any location on your system. In the &#8220;apache-solr-1.4.0/dist&#8221; folder, make a copy of the &#8220;apache-solr-1.4.0.war&#8221; file and rename it to &#8220;solr.zip&#8221;. Unzip it in the current location.</p>
<p>(3.1) Setting &#8220;solr/home&#8221;<br />
Open the web.xml file in Notepad located in the Solr/WEB-INF folder. At the top of the file, find the &lt;env-entry&gt; section. It should be commented out by default. Make a copy of it, and move it to the bottom of the file:</p>
<p>&lt;env-entry&gt;<br />
&lt;env-entry-name&gt;solr/home&lt;/env-entry-name&gt;<br />
&lt;env-entry-value&gt;C:\solr&lt;/env-entry-value&gt;<br />
&lt;env-entry-type&gt;java.lang.String&lt;/env-entry-type&gt;<br />
&lt;/env-entry&gt;</p>
<p>Set the &lt;env-entry-value&gt; to C:\solr and close the file. Your solr/home is now now set.</p>
<p>Move back to the root of the solr folder, and select all the files and folders e.g. admin, META-INF, WEB-INF, favicon.ico and index.jsp &#8211; and zip them back into a file calles solr.zip. Rename this file to solr.war.</p>
<p>Copy the solr.war file to Tomcats&#8217; &#8220;webapps&#8221; directory.</p>
<p>Again, from the &#8220;apache-solr-1.4.0/example&#8221; folder, copy the &#8220;solr&#8221; folder as a template for your solr home. Past it into you c:\ drive e.g. C:\solr.</p>
<p>At this point, Tomcat is still stopped, now Start it again. This will cause the servlet container (Tomcat) to deploy the .war file as a web application within Tomcat, pointing to C:\solr as the solr/home.</p>
<p>Open a new browser window and go to: <a title="Solr Home" href="http://127.0.0.1:8080/solr" target="_blank">http://127.0.0.1:8080/solr</a>. If everything went as planned, you&#8217;ll get the &#8220;Welcome to Solr!&#8221; page, with a hyperlink just below it &#8220;Solr Admin&#8221;.</p>
<p>If not, inspect Tomcats&#8217; log files under Tomcat 6.0/logs/catalina.2010-01-19.log. The datepart should be the current date.log. Scroll to the bottom of the file and read the SEVERE messages carefully. Usually the solr/home isn&#8217;t properly set or the JAVA_HOME is missing, but you should have picked this up if  Tomcat never started successfully.</p>
<p>Congratulations, solr is running. Click the &#8220;Solr Admin&#8221; link to go to the Admin interface. Probably the most important thing here is the [SCHEMA BROWSER] link. The FIELDS section is what you current index schema looks like.</p>
<p>Be sure to check out <a title="Solr wiki" href="http://wiki.apache.org/solr/FrontPage" target="_blank">http://wiki.apache.org/solr/FrontPage</a></p>
<p>The Solr wiki has excellent examples to help you along.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coldfury.us/index.php/2010/01/installing-and-running-solr-1-4-on-windows-tomcat/feed/</wfw:commentRss>
		<slash:comments>1282</slash:comments>
		</item>
		<item>
		<title>Discus fish a cichlid like/unlike any other</title>
		<link>http://www.coldfury.us/index.php/2010/01/discus-fish-a-cichlid-likeunlike-any-other/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=discus-fish-a-cichlid-likeunlike-any-other</link>
		<comments>http://www.coldfury.us/index.php/2010/01/discus-fish-a-cichlid-likeunlike-any-other/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 09:39:53 +0000</pubDate>
		<dc:creator>Stefan le Roux</dc:creator>
				<category><![CDATA[Discus]]></category>

		<guid isPermaLink="false">http://www.coldfury.us/?p=6</guid>
		<description><![CDATA[The Amazon river basin is home to the famous Discus of the Symphysodon species. They are found in the quite river branches in what is called black water. This water has a brown tea color like tint to it due to the tannin secreted from submerged tree branches and has a ph (acidity) of 5.0-6.0. [...]]]></description>
			<content:encoded><![CDATA[<p>The Amazon river basin is home to the famous Discus of the Symphysodon species. They are found in the quite river branches in what is called black water. This water has a brown tea color like tint to it due to the tannin secreted from submerged tree branches and has a ph (acidity) of 5.0-6.0. Normal tap water has a ph of around 9.0. These branches also make a perfect home and shelter for Discus.</p>
<p>They are naturally shy fish and scare easily, one of the reasons they are easily stressed out in an aquarium and thus develop diseases and &#8220;seem&#8221; fragile. I say that they seem fragile, but they&#8217;re not. Given the correct water conditions, some shelter and quality food, they are truly &#8220;at home&#8221; in the aquarium. They like large aquariums and some friends. A tank of around 300L could easily hold 6-8 adults with other tank mates such as Cory catfish or even Clown loaches. A good idea is to add some smaller species such as Cardinal Tetras. Be sure that they are of a reasonable size when adding them to the Discus aquarium or they will easily all become instant pray to opportunistic Discus always on the lookout for live foods.</p>
<p>Conditioning your tap water to the desired ph of 6.0 &#8211; 7.5 is essential for healthy Discus. Most pet stores sell good quality granular peat aka blackpeat. For a 300L aquarium, add 150-200g of peat to the filtration system, and thereafter monitor the ph every other day. The ph will slowly stabilize around a soft 6.0-7.0. The water will slowly take on a weak tea-like color. This is what you want, but some aquarists don&#8217;t like this natural coloring of the water. It is possible to filter out the tint without really loosing the benefits it provides. Adding some activated carbon to the filtration process will slowly rid the water of the black water tint, but may also remove some of the valuable trace elements it provides.</p>
<p>Adding some driftwood to the aquarium adds a nice natural touch, and also adds to the  softening of the water. Java ferns attached to the driftwood give some added shelter and oxygen to the aquarium. Good lighting and possibly some added CO2 will make them flourish. Discus don&#8217;t really fancy plants as a meal, but love them as hiding places when they feel the need.</p>
<p>Once your Discus are settled in the tank they will start eating normally. They actually have very healthy appetites. Be sure that they get used to dried flake or granular food. These usually contain lots of vitamins to keep them fighting fit. And they do fight. A large tank will keep this to a minimum, but if it gets too bad, consider removing a troublemaker. Usually this will be the dominant male. I if he, or she even, picks only on a single fish, let it be. If he causes trouble all around the tank, he has to go.</p>
<p>When setting-up a new Discus aquarium, buy around 6-8 juveniles and raise them together. If at all possible, source them from different vendors. This is to ensure that they are from different bloodlines. Ask the seller where he sources them from. When a breeding pair develops, this will ensure that they will have strong healthy offspring.</p>
<p>Discus fish are sometimes referred to as the King of the Aquarium. They are beautiful, friendly creatures, and come in all the colors of the rainbow. Treat them well and they are as tough as any other freshwater aquarium fish.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.coldfury.us/index.php/2010/01/discus-fish-a-cichlid-likeunlike-any-other/feed/</wfw:commentRss>
		<slash:comments>9829</slash:comments>
		</item>
	</channel>
</rss>

