<?xml version="1.0" encoding="utf-8"?>

			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>Web-Relevant.com - Servers and Things</title>
			<link>http://www.web-relevant.com/index.cfm</link>
			<description>For all things relevant to the Adobe web!</description>
			<language>en-us</language>
			<pubDate>Sat, 25 May 2013 22:53:25 -0500</pubDate>
			<lastBuildDate>Mon, 11 Apr 2011 16:34:00 -0500</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>jared@web-relevant.com</managingEditor>
			<webMaster>jared@web-relevant.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>jared@web-relevant.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			
			<itunes:explicit>no</itunes:explicit>
			
			<item>
				<title>The strangest CF error ever: IP_ADD_MEMBERSHIP failed (out of hardware filters?)</title>
				<link>http://www.web-relevant.com/index.cfm/2011/4/11/The-strangest-CF-error-ever-IPADDMEMBERSHIP-failed-out-of-hardware-filters</link>
				<description>
				
				So today I tried to cfdump something to see what was available for methods and data, but when I&apos;d run the code with the cfdump in place, I would get:

&lt;code&gt;
IP_ADD_MEMBERSHIP failed (out of hardware filters?)
net.sf.ehcache.CacheException: IP_ADD_MEMBERSHIP failed (out of hardware filters?)
at
net.sf.ehcache.distribution.MulticastRMICacheManagerPeerProvider.init(MulticastRMICacheManagerPeerProvider.java:93)
at net.sf.ehcache.CacheManager.init(CacheManager.java:241)
at net.sf.ehcache.CacheManager.(CacheManager.java:221)
&lt;/code&gt;

Remove the cfdump, things worked fine. Add it back in, get the error. I restarted the server, no good. So I googled. And I found something!! Google knows all, Google sees all.

Strangest freaking error message and behavior &lt;strong&gt;evar&lt;/strong&gt;!

But, thanks to &lt;a href=&quot;http://support.microsoft.com/kb/239924&quot; target=&quot;_blank&quot;&gt;Microsoft&lt;/a&gt; via &lt;a href=&quot;http://www.briankotek.com/blog/index.cfm&quot; target=&quot;_blank&quot;&gt;Brian Kotek&lt;/a&gt; through &lt;a href=&quot;http://www.coldfusionjedi.com/index.cfm/2010/5/6/ColdFusion-9-Caching-IPADDMEMBERSHIP-Error&quot; target=&quot;_blank&quot;&gt;Ray Camden&lt;/a&gt;, I got the right idea... but the technote was for the wrong version of windows. Back to Google, Sauron&apos;s Eye of the Interwebs, and behold, an answer on &lt;a href=&quot;http://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/how-to-disable-media-sense-in-windows-7/18277955-3f2c-4328-bd87-d3567579b645&quot; target=&quot;_blank&quot;&gt;Microsoft Answers&lt;/a&gt;.

Once you&apos;ve issued the command-line bits you&apos;ll need to restart your J2EE server... but boom... it all worked!

And for those hearty souls that like the nitty-gritty, &lt;a href=&quot;http://stackoverflow.com/questions/2534551/error-on-multicastsocket-joingroup&quot; target=&quot;_blank&quot;&gt;here&apos;s the dope on this issue&lt;/a&gt;.

&lt;strong&gt;UPDATE:&lt;/strong&gt; OK, so it turns out I should have read the comments on Ray&apos;s blog entry, because the link status detect didn&apos;t fix the issue. Turns out it&apos;s a result of EHCache trying to use multicast (yes, that&apos;d be UDP) over VPN... apparently notoriously unsupported but breaks CF&apos;s default EHCache settings. So, the solution is fairly simple, really...

Edit {jrun_home}/servers/{server_name}/cfusion.ear/cfusion.war/WEB-INF/cfusion/lib/ehcache.xml and remark out the following two lines:

&lt;code&gt;
&lt;cacheManagerPeerProviderFactory
    class=&quot;net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory&quot;
    properties=&quot;peerDiscovery=automatic,
        multicastGroupAddress=230.0.0.1,
        multicastGroupPort=4446, timeToLive=1&quot;
    propertySeparator=&quot;,&quot;
/&gt;
&lt;cacheManagerPeerListenerFactory
    class=&quot;net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory&quot;/&gt;
&lt;/code&gt;

Make those changes (the lines come after descriptive comments, I just moved the comment closer down 2 lines), restart your J2EE instance and you&apos;re golden!

Either that or spend your workday in isolation, dropped off VPN! lol 
				</description>
				
				<category>Tech Aggregators</category>
				
				<category>Microsoft</category>
				
				<category>Servers and Things</category>
				
				<category>Adobe ColdFusion</category>
				
				<category>General Interest</category>
				
				<pubDate>Mon, 11 Apr 2011 16:34:00 -0500</pubDate>
				<guid>http://www.web-relevant.com/index.cfm/2011/4/11/The-strangest-CF-error-ever-IPADDMEMBERSHIP-failed-out-of-hardware-filters</guid>
				
				
			</item>
			
			<item>
				<title>Output buffer, anyone??</title>
				<link>http://www.web-relevant.com/index.cfm/2011/1/30/Output-buffer-anyone</link>
				<description>
				
				Alright, now for the last and final debunking of the &lt;a href=&quot;http://www.profilepicture.co.uk/tutorials/php-coldfusion/comment-page-1&quot; target=&quot;_blank&quot;&gt;PHP vs ColdFusion - a test against time&quot; post by our dear PHP apologist friend Mr. Phil Parsons&lt;/a&gt;. I&apos;m sure by now he&apos;s deliriously happy he bothered to post that article in the first place. One thing you have to say for ColdFusion: the fans are fierce, loyal and knowledgeable. Challenge us only if you have your ducks in a row and your thinking cap on tight. And I&apos;m sure if I try I can mix a few more metaphors before I finally sleep tonight.

Or we could just skip to the code...

So. I started out working with 200,000 characters. I mean, what fun is it if we can&apos;t outdo PHP at its own game, eh? I managed to roll 200,000 characters from local variable into a page buffer and into a different variable in &lt;strong&gt;.36ms&lt;/strong&gt;. I have NO freaking clue why this particular test is significant, but apparently it&apos;s one of the ways in which PHP is purportedly better than ColdFusion. However, I just realized something:

Mr. Parsons is running a comparable CPU to mine, however he&apos;s running it overclocked at more than 1GHz faster than my lowly (and 4-year-old) MacBook Pro. &lt;strong&gt;Intel Core2 Duo 2.8 GHz LAPTOP vs AMD Phenom II X2 550 3.10 GHz @ 3.83 GHz DESKTOP.&lt;/strong&gt; I wonder how my tests would run on a DESKTOP machine running a full GHz faster than my laptop? Especially considering that in general desktops GHz for GHz perform a bit better than laptops anyway?

So I dropped my character count to 140k, just like his and guess what? My poor, humble laptop burdened with running ColdFusion in a J2EE container, PHP5, Apache, Eclipse, FireFox, and about a half-dozen other things (I currently have 24MB of RAM free, yes, 24MB) managed to run his same test in &lt;strong&gt;.26ms&lt;/strong&gt;. That&apos;s &lt;strong&gt;.06ms&lt;/strong&gt; slower, on hardware running a full GHz slower. So you tell me which performs better.

Really... next time you decide to take on another platform with trickery and deceit, Mr. Parsons, think twice.

And now, finally, here&apos;s the code!

&lt;code&gt;
&lt;cfscript&gt;
	string = fileRead(expandPath(&apos;.&apos;) &amp; &quot;/resources/140kchars.txt&quot;);
	its = 10000;
	times = [];
	writeOutput(&quot;Char count in the string: &quot; &amp; len(string) &amp; &quot;&lt;br /&gt;&quot;);
&lt;/cfscript&gt;

&lt;cfloop from=&quot;1&quot; to=&quot;#its#&quot; index=&quot;i&quot;&gt;
	&lt;cfset start = getTickCount()&gt;
	&lt;cfsavecontent variable=&quot;string2&quot;&gt;&lt;cfoutput&gt;#string#&lt;/cfoutput&gt;&lt;/cfsavecontent&gt;
	&lt;cfset end = getTickCount()&gt;
	&lt;cfset arrayAppend(times,end-start)&gt;
&lt;/cfloop&gt;
&lt;cfscript&gt;
	writeOutput(&quot;Char count in the new string: &quot; &amp; len(string2) &amp; &quot;&lt;br /&gt;&quot;);
	writeOutput(&quot;It took an average of &quot; &amp; arrayAvg(times) &amp; &quot; miliseconds to do whatever it was we just did &quot; &amp; its &amp; &quot; times.&quot;);
&lt;/cfscript&gt;

&lt;/code&gt;

Interestingly, the bigger the value in the its variable (the number of times we repeat the experiment) the FASTER OUR AVERAGE TIME IS. I just find that extremely interesting. God bless HotSpot. :)

Laterz! 
				</description>
				
				<category>Tech Aggregators</category>
				
				<category>Servers and Things</category>
				
				<category>Adobe ColdFusion</category>
				
				<category>General Interest</category>
				
				<pubDate>Sun, 30 Jan 2011 04:57:00 -0500</pubDate>
				<guid>http://www.web-relevant.com/index.cfm/2011/1/30/Output-buffer-anyone</guid>
				
				
				<enclosure url="http://www.web-relevant.com/enclosures/200kchars.txt" length="200000" type="text/plain"/>
				
			</item>
			
			<item>
				<title>OK, so let&apos;s talk object creation...</title>
				<link>http://www.web-relevant.com/index.cfm/2011/1/30/OK-so-lets-talk-object-creation</link>
				<description>
				
				I&apos;m making sort of a series out of poking holes in the anti-ColdFusion ramblings of an admittedly biased blogger. Pro-PHP blogger Phil Parsons &lt;a href=&quot;http://www.profilepicture.co.uk/tutorials/php-coldfusion/comment-page-1&quot; target=&quot;_blank&quot;&gt;blogged about&lt;/a&gt; how ColdFusion is tragically slower than PHP and is therefore something we should all stay away from if performance is any kind of concern. Unless we want to connect to MS Exchange... maybe.

So his second example was object instantiation performance. Arguably, one of ColdFusion&apos;s weak points... but not something entirely unworkable. People who complain about this generally only do so because they don&apos;t know how to best use CFC&apos;s and, most especially, how to &lt;strong&gt;write them properly&lt;/strong&gt;. Nowhere is this more apparent than in Mr. Parsons&apos; components. If this is how he writes CFCs it&apos;s no wonder his employer has &quot;to constantly make decisions NOT to use OO features of Coldfusion based on [sic] it&apos;s poor performance.&quot; (That quote is from his comments below the article).

You can download the source he uses in the article, so I&apos;m not going to post that here. I will say that the primary critiques I have against them are things like the ungodly amount of white space, the silly variable creation in the pseudo-constructor and the amazing number of unnecessary expressions.

 What I am going to show you is my version, and then I&apos;ll share my results.

&lt;strong&gt;Colony.cfc&lt;/strong&gt;
&lt;code&gt;
&lt;cfcomponent displayName=&quot;Colony&quot; output=&quot;false&quot;&gt;

	&lt;cffunction name=&quot;init&quot; output=&quot;false&quot; returntype=&quot;Colony&quot;&gt;
		&lt;cfargument name=&quot;cn&quot; type=&quot;String&quot; default=&quot;colony&quot;&gt;
		&lt;cfscript&gt;
			colonyName = arguments.cn;
			drones = arrayNew(1);
		&lt;/cfscript&gt;
		&lt;cfreturn this&gt;
	&lt;/cffunction&gt;
	
	&lt;cffunction name=&quot;addDrone&quot; output=&quot;false&quot; returntype=&quot;void&quot;&gt;
		&lt;cfargument name=&quot;drone&quot; type=&quot;Drone&quot; required=&quot;true&quot;&gt;
		&lt;cfset arrayAppend(drones, drone)&gt;
	&lt;/cffunction&gt;
	
	&lt;cffunction name=&quot;getDroneCount&quot; output=&quot;false&quot; returntype=&quot;numeric&quot;&gt;
		&lt;cfreturn arrayLen(drones)&gt;
	&lt;/cffunction&gt;

&lt;/cfcomponent&gt;
&lt;/code&gt;

&lt;strong&gt;Drone.cfc:&lt;/strong&gt;
&lt;code&gt;
&lt;cfcomponent displayname=&quot;Drone&quot; output=&quot;false&quot;&gt;
	
	&lt;cffunction name=&quot;init&quot;  output=&quot;false&quot; returntype=&quot;Drone&quot;&gt;
		&lt;cfargument name=&quot;m&quot; type=&quot;String&quot; required=&quot;true&quot; default=&quot;&quot;&gt;
		&lt;cfset message = m&gt;
        &lt;cfreturn this&gt;
    &lt;/cffunction&gt;
	
	&lt;cffunction name=&quot;getMessage&quot; output=&quot;false&quot; returntype=&quot;String&quot;&gt;
        &lt;cfreturn message&gt;
    &lt;/cffunction&gt;
	
	&lt;cffunction name=&quot;setMessage&quot; output=&quot;false&quot; returntype=&quot;void&quot;&gt;
		&lt;cfargument name=&quot;val&quot; type=&quot;String&quot; required=&quot;true&quot;&gt;
        &lt;cfset message = val&gt;
    &lt;/cffunction&gt;

&lt;/cfcomponent&gt;
&lt;/code&gt;

&lt;strong&gt;colony.cfm:&lt;/strong&gt;
&lt;code&gt;
&lt;cfscript&gt;
	Colony = new objects.Colony(&quot;colony1&quot;);
	
	start = getTickCount();
	while (Colony.getDroneCount() &lt; 10000) {
		Colony.addDrone(new objects.Drone());
	}
	end = getTickCount();
	writeOutput(&quot;Adding 10,000 Drones to the Colony took &quot; &amp; end-start &amp; &quot; miliseconds.&quot;);
&lt;/cfscript&gt;
&lt;/code&gt;

And now for the really bad news:

While I managed to blow his unquestionably inflated time of roughly &lt;strong&gt;600ms&lt;/strong&gt; or more right out of the water, ColdFusion continues to have a weak spot around object instantiation. The best I could do was slightly less than half of what Mr. Parsons got. I manged to get this test down to &lt;strong&gt;250-300ms&lt;/strong&gt;. Still substantially slower than the &lt;strong&gt;42ms&lt;/strong&gt; he reported for PHP. So while Mr. Parsons was grossly exaggerating the problem, the problem yet persists. Even with the drastic improvements the ColdFusion team managed to pack into ColdFusion 9.0.1 over previous versions.

The question you have to ask yourself, at that point, is whether it really makes any difference. CFCs (and OO in general, really) are about maintenance, and there are ways you should use them and ways you shouldn&apos;t. Not knowing those rules, or worse knowing them and deliberately refusing to use them, and then presenting yourself as someone with something worthwhile to say on the subject is just plain dishonest. It&apos;s been years since I&apos;ve worked on an application that was written without CFCs, and even the ones that were poorly done performed adequately. The ones that were written with CFC best practices in mind were actually extremely performant.

In other words, there&apos;s no reason for anyone&apos;s employer to refuse to use them due to performance or any other reasons but ignorance, poor design and (worst of all) hyperbole. It&apos;s no different than knowing you should be using arrays instead of lists, or that structures are passed by reference and arrays by value. Go ahead, it&apos;s OK. Use CFCs in your applications... just do it intelligently, keeping in mind what works and (most important) what doesn&apos;t. And use ColdFusion&apos;s built-in data structures to their maximum advantage: structures, queries, arrays, oh my! Use the scopes, too: server (far too often overlooked), application, session, request, variables, this, super, caller, etc. The list goes on and on.

Programming is a craft. Craft your applications wisely and you&apos;ll never go wrong (unless you&apos;re looking to trash-talk something using bad science and worse code).

Laterz! 
				</description>
				
				<category>Tech Aggregators</category>
				
				<category>Servers and Things</category>
				
				<category>Adobe ColdFusion</category>
				
				<category>General Interest</category>
				
				<pubDate>Sun, 30 Jan 2011 00:47:00 -0500</pubDate>
				<guid>http://www.web-relevant.com/index.cfm/2011/1/30/OK-so-lets-talk-object-creation</guid>
				
				
			</item>
			
			<item>
				<title>cf.Objective() 2011: Doing things a bit differently and need your help!</title>
				<link>http://www.web-relevant.com/index.cfm/2010/11/18/cfObjective-2011-Doing-things-a-bit-differently-and-need-your-help</link>
				<description>
				
				&lt;strong&gt;Oh yeah, we&apos;re still here, baby!&lt;/strong&gt;

cf.Objective() 2011 is on, but we &lt;a href=&quot;http://engage.cfobjective.com/index.cfm/main/&quot; target=&quot;_blank&quot;&gt;need your help&lt;/a&gt;. This year rather than broadcast the same old brute-force &quot;Call for Speakers&quot; concept, we&apos;ve decided to do things a bit differently. We&apos;ve got a &lt;a href=&quot;http://engage.cfobjective.com/index.cfm/main/&quot; target=&quot;_blank&quot;&gt;new application up&lt;/a&gt;, courtesy of Matt Woodward and Bob Silverberg, and we&apos;re requesting community input on the topics you&apos;d like to see at the conference this year.

(As an aside, this explains our delays this year. New board, new technology, and a new way of doing things. It&apos;s taken some time to get all our ducks in a row and they&apos;re finally quacking their little brains out... let&apos;s not disappoint them? I hear bored ducks can actually make quite the ruckus!)

&lt;strong&gt;Please, please, please, please! (or: The WHAT)&lt;/strong&gt;

So please &lt;a href=&quot;http://engage.cfobjective.com/index.cfm/main/&quot; target=&quot;_blank&quot;&gt;go here and suggest topics&lt;/a&gt;. Any topics. Well, any CF/Adobe relevant topics, anyway. Any level of expertise, any technical level. I can&apos;t (read: won&apos;t) make any promises except for this: We&apos;ll put on the same top-notch, highly professional conference we have every year for the last 5 years. We just want to see what YOU want for content this time. But we really really need to gauge the need out there this year and without your input we can&apos;t do that.

And please tell your friends. Tweet it. Facebook it. Plurk it. DIGG it. Whatever. But we need to get the word out and get as MANY ColdFusion professionals &lt;a href=&quot;http://engage.cfobjective.com/index.cfm/main/&quot; target=&quot;_blank&quot;&gt;contributing to the data&lt;/a&gt;. I can&apos;t stress enough how important this is to the ongoing success of cf.Objective(). Why is this so important? Why? Why? Why?

&lt;strong&gt;The WHY&lt;/strong&gt;

Well, here it is, straight up: The primary motivation for doing things this way this time is, to be honest, the demise of CFUnited. CFUnited left a huge hole in the ColdFusion educational world, especially for government. However CFUnited also served a somewhat different audience than we have, traditionally, served. Now, before anyone spontaneously combusts at the thought of cf.Objective() becoming a beginner/intermediate conference, that ain&apos;t gonna happen... exactly.

&lt;strong&gt;The HOW&lt;/strong&gt;

We&apos;re looking at adding a track, a pre-conference, an unconference or any number of other solutions or combinations that would allow us to serve the disenfranchised client base that CFUnited left behind... but we can&apos;t do that till we know what the interest levels are for at least intermediate topics, but if we had enough call for it we&apos;d consider doing some entry-level content as well. We&apos;re already adding a track for those who aren&apos;t quite at a skill level typical of our traditional audience but want to be... something like &quot;So you got no wings but you want to fly?&quot;

What we need to determine is whether we need to make the conference longer (more days or more hours in the day), wider (more tracks, more simultaneous sessions), or some other approach entirely. But we can&apos;t do that at all until we know what kind of content people are wanting us to deliver. We have the resources and the connections to deliver whatever you want or need, and you&apos;re our customers. So we&apos;re asking you: What information can we collect for you that will make your workdays smoother and your off-time so much sweeter?

&lt;strong&gt;The END&lt;/strong&gt;

That&apos;s it, that&apos;s all, folks. We need you to contribute some input to the conference so that we can make it the best, the smartest, the hippest, rockin&apos;est ColdFusion conference in the whole day-gone world... well, except Australia because we don&apos;t want to compete with cf.Objective(ANZ) because that&apos;d be like shooting yourself in the foot. Right? So unless you&apos;re from there, or somewhere near there, like New Zealand or Antarctica or something, please go fill out our survey. Well, I mean unless you would RATHER travel for 13 weeks and spend the whole time standing upside down... ;)

OK, seriously, please, go to &lt;a href=&quot;http://engage.cfobjective.com/index.cfm/main/&quot; target=&quot;_blank&quot;&gt;Engage&lt;/a&gt; and do your thing!

Laterz! 
				</description>
				
				<category>Tech Aggregators</category>
				
				<category>Servers and Things</category>
				
				<category>cf.Objective()</category>
				
				<pubDate>Thu, 18 Nov 2010 12:21:00 -0500</pubDate>
				<guid>http://www.web-relevant.com/index.cfm/2010/11/18/cfObjective-2011-Doing-things-a-bit-differently-and-need-your-help</guid>
				
				
			</item>
			
			<item>
				<title>CF Builder tip: add vhosts to servers in bulk!</title>
				<link>http://www.web-relevant.com/index.cfm/2010/9/30/CF-Builder-tip-add-vhosts-to-servers-in-bulk</link>
				<description>
				
				Our main project at work is a work in progress... it&apos;s old, and it uses subdomains to trigger changes in the way the codebase is handled. What that means to builder is having one instance of CF powering a great many vhosts. Now, I dunno about you, but I REALLY hate adding vhosts to Builder using the panel in the Server properties. But, I&apos;m here to tell you, there&apos;s an easier way!

Before you do this, please backup your workspace folder. /silly disclaimer

If you go into the folder {workspace}/.metadata/.plugins/com.adobe.ide.coldfusion.server you&apos;ll find a file called Server.xml. The first issue you&apos;ll have is that the XML is entirely unformatted. If you&apos;re not using an XML editor that supports automatic formatting, try using a text editor that supports regex find/replace and replacing &quot;&gt;&lt;&quot; with &quot;&gt;\r\n&lt;&quot; on Windows or &quot;&gt;\r&lt;&quot; on OS X. 

If you open that file up, you&apos;ll see your configured servers. Each server contains quite a number of properties, more than I can really deal with right now. But, if you have already configured one vhost, you should see a subtag of &lt;Server /&gt; called &lt;VirtualHosts /&gt;. That should have your vhost block sitting there smiling at you, waiting for you to duplicate it. The contents look something like this:

&lt;code&gt;
&lt;VirtualHosts&gt;
	&lt;VirtualHost&gt;
		&lt;Name&gt;My Nifty Virtual Hosts&lt;/Name&gt;
		&lt;Address&gt;wibble.mydevserver.dev&lt;/Address&gt;
		&lt;Port&gt;80&lt;/Port&gt;
		&lt;Location&gt;C:\inetpub\www\wibble&lt;/Location&gt;
		&lt;EnableSSL&gt;false&lt;/EnableSSL&gt;
	&lt;/VirtualHost&gt;
&lt;/VirtualHosts&gt;
&lt;/code&gt;

You can now duplicate this &lt;VirtualHost /&gt; section and fill your own values in for the properties.

&lt;strong&gt;There is one very crucial gotcha!&lt;/strong&gt;

CF  Builder does a couple interesting things that could really mess you up if you&apos;re not aware of them. First, all configs are read when the app starts up, so you need to have these changes in place and THEN open Builder. Also, when you exit the program, it flushes all the settings to disk, so if you edit the Server.xml file with Builder, save it, and then exit the program, you&apos;ve just lost all your changes. So you need to either shut Builder down and use a different editor to make the changes, or you need to edit the file, do a Save As... outside the workspace folder, then copy it over the one that&apos;s there by hand.

Once you&apos;ve got the changes saved to disk and the edited file in {workspace}/.metadata/.plugins/com.adobe.ide.coldfusion.server, you can start up Builder, double-click the server in the Servers tab and take a peek at the Virtual Hosts section of the second page. You should see that you&apos;ve just saved yourself a great deal of effort by editing the config file directly rather than using the futsy-putsy UI.

Either way, I just added 11 vhosts to my server config using copy/paste/change instead of 45 minutes of tabbing, clicking and complaining.

Laterz! 
				</description>
				
				<category>Tech Aggregators</category>
				
				<category>Servers and Things</category>
				
				<category>CF Builder</category>
				
				<pubDate>Thu, 30 Sep 2010 18:48:00 -0500</pubDate>
				<guid>http://www.web-relevant.com/index.cfm/2010/9/30/CF-Builder-tip-add-vhosts-to-servers-in-bulk</guid>
				
				
			</item>
			
			<item>
				<title>SQL Server 2008 Installation/Uninstallation Torture</title>
				<link>http://www.web-relevant.com/index.cfm/2010/9/24/SQL-Server-2008-InstallationUninstallation-Torture</link>
				<description>
				
				So yesterday I needed to install SQL Server 2008 on the Lenovo issued to me by my employer. No big deal, right? I have the developer version DVD, so I stuck it in the drive, decided to install everything, and away I went. Or not.

For some as-yet unexplained reason I kept getting an error, which, apparently, isn&apos;t at all uncommon for people trying to install SQL Server 2008. The error reads something like this:

&lt;strong&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;An arithmetic error resulted in an overflow.
&lt;/strong&gt;

Before we continue, let me set the stage a bit. There are several factors involved that should be called out clearly before proceeding:  [More]
				</description>
				
				<category>Tech Aggregators</category>
				
				<category>Servers and Things</category>
				
				<pubDate>Fri, 24 Sep 2010 13:19:00 -0500</pubDate>
				<guid>http://www.web-relevant.com/index.cfm/2010/9/24/SQL-Server-2008-InstallationUninstallation-Torture</guid>
				
				
			</item>
			</channel></rss>