<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
	<channel>
		<title>Hip Hip Array</title>
		<description>
			<p>Pixl8 Director Managing Director Alex Skinner and members of our R&amp;D team share general info</p>
		</description>
		<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm</link>
		<item>
			<title>Setting up the wonderful HAProxy</title>
			<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm/setting-up-the-wonderful-haproxy</link>
			<description>&lt;p&gt;&amp;nbsp;As mentioned in a previous post we love HAproxy at Pixl8 its the handy penknife we use for high availability solutions.&lt;/p&gt;
&lt;p&gt;1. TCP/IP balancing for SMTP relay,&lt;/p&gt;
&lt;p&gt;2. High availability for MySQL&lt;/p&gt;
&lt;p&gt;3. High availability for membership websites&lt;/p&gt;
&lt;p&gt;4. Balancing load across our many varnishcache caching servers.&lt;/p&gt;
&lt;p&gt;Below is a simple step by step how to assuming you have a Centos or Redhat Enterprise linux server, I haven't covered firewalling that should be handled seperatelty and I assume the readers comfort with Linux in this regard.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Once you're at the linux shell as root perform the following&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;type&lt;strong&gt; make&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If no make is installed &amp;nbsp;&lt;strong&gt;yum install make&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;cd /tmp&lt;/li&gt;
    &lt;li&gt;wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.19.tar.gz&lt;/li&gt;
    &lt;li&gt;tar -zxf haproxy-1.4.19.tar.gz&amp;nbsp;&lt;/li&gt;
    &lt;li&gt;cd haproxy-1.4.19&lt;/li&gt;
    &lt;li&gt;make &amp;quot;TARGET=linux26 USE_PCRE=1&amp;quot;&lt;/li&gt;
    &lt;li&gt;mv haproxy /usr/sbin/&lt;/li&gt;
    &lt;li&gt;wget http://www.pixl8.co.uk/downloads/haproxy.init.txt&lt;/li&gt;
    &lt;li&gt;mv haproxy.init.txt /etc/init.d/haproxy&lt;/li&gt;
    &lt;li&gt;chmod +x /etc/init.d/haproxy&lt;/li&gt;
    &lt;li&gt;chkconfig --add haproxy&lt;/li&gt;
    &lt;li&gt;chkconfig haproxy on&lt;/li&gt;
    &lt;li&gt;wget http://www.pixl8.co.uk/downloads/haproxy.cfg.txt&lt;/li&gt;
    &lt;li&gt;mv haproxy.cfg.txt /etc/haproxy.cfg&lt;/li&gt;
    &lt;li&gt;service start haproxy&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;You will have a standard config that is proxying www.cnn.com, you can test this by adding www.cnn.com to your hosts file and pointing it at your HAProxy server IP of course need to edit the haproxy config file to reflect your server environment but the config piece is straightforward, make sure you restart haproxy on config changes using&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;service haproxy restart&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There is a console set to listen on port 8080 the password details are in the sample config if you use it you should change them to your own values.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
			<pubDate>Fri, 02 Mar 2012</pubDate>
		</item>
		<item>
			<title>Open Bluedragon 2.0 is released!</title>
			<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm/open-bluedragon-2-0-is-released</link>
			<description>&lt;p&gt;&lt;strong&gt;Open Bluedragon ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pixl8 has been an avid user of ColdFusion since the late 90's when I used an early version for my University Dissertation. Since then we've gone through many versions and I used to train the formal Macromedia now Adobe certified curriculum. Back in 2005 we started using alternatives Bluedragon.net and now we're a massive fan of Open Bluedragon.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Whats special about version 2.0 ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Open Bluedragon 2.0 has finally been released and we've been using the latest bleeding edge nightly builds in some specific cool projects for some 6 months now. The &lt;a href="http://www.openbd.org/steeringcommittee/" onclick="window.open(this.href); return false;"&gt;Open BD&amp;nbsp;team&lt;/a&gt; has really pulled out all the stops and delivered some very elegant features.&lt;/p&gt;
&lt;p&gt;Some of my particular favourites are&lt;/p&gt;
&lt;p&gt;1. CFSMTP (Write Mail based applications that process Mail and respond accordingly, we'll be sharing details of how we're leveraging this killer feature soon!)&lt;/p&gt;
&lt;p&gt;2. CFMAIL&amp;nbsp;call backs for better mail handling&lt;/p&gt;
&lt;p&gt;3. Awesome deep json support&lt;/p&gt;
&lt;p&gt;4. Server-side JQuery style selectors using the JSOUP&amp;nbsp;libraries and exposed as a simple HTML() function&lt;/p&gt;
&lt;p&gt;5. Server side inline Javascript &amp;lt;cfscript language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;6. Server side inline Java &amp;lt;cfscript language=&amp;quot;java&amp;quot;&amp;gt;&lt;/p&gt;
&lt;p&gt;These last two features means we will now be able to offer developers to write their CMS&amp;nbsp;templates in CFML, Serverside Javascript or Java. I'm currently experimenting with Quercus which would allow us to also provide PHP&amp;nbsp;support.&lt;/p&gt;
&lt;p&gt;For more information check out the blog post from&lt;a href="http://alan.blog-city.com/openbdv20.htm" onclick="window.open(this.href); return false;"&gt; Alan Williamson&lt;/a&gt; or head over to the &lt;a href="http://www.openbd.org" onclick="window.open(this.href); return false;"&gt;project site&lt;/a&gt;&lt;/p&gt;</description>
			<pubDate>Sat, 19 Nov 2011</pubDate>
		</item>
		<item>
			<title>HAProxy is awesome!</title>
			<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm/haproxy-is-awesome</link>
			<description>&lt;p&gt;I thought I'd share some information on one of the technologies we use for our larger sites HAProxy.&lt;/p&gt;
&lt;p&gt;I know many agencies naturally try and avoid getting involved in Infrastructure but I'm a believer in understanding all elements of the stack that you build your applications on, the i'll just shove it in the cloud works in theory only.&lt;/p&gt;
&lt;p&gt;So when we needed a solution to do load balancing recently rather than go and buy the latest piece of Cisco kit or use our standard KEEPALIVED setup I hunted around.&lt;/p&gt;
&lt;p&gt;The interesting challenge was that we wanted to do more than simple IP&amp;nbsp;based load balancing, we needed something which was essentially application aware. Having looked at Zeus which we used back in 2006 for a large University client and discounted it I looked at HAPROXY.&lt;/p&gt;
&lt;p&gt;HaProxy is essentially a reverse proxy than can do either TCP&amp;nbsp;or HTTP&amp;nbsp;based load balancing, its super fast and very&amp;nbsp;elegant. We run it up on Centos on some moderate VMs and it hums away using next to no resources.&lt;/p&gt;
&lt;p&gt;You can learn more about it here &lt;a onclick="window.open(this.href); return false;" href="http://haproxy.1wt.eu/"&gt;http://haproxy.1wt.eu/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There is a useful monitoring tool here &lt;a onclick="window.open(this.href); return false;" href="http://feurix.org/projects/hatop/"&gt;http://feurix.org/projects/hatop/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Needless to say we have it in production for a few clients including a new Social networking startup.&lt;/p&gt;
&lt;p&gt;My particular favourite feature is the ability to do rule based sticky sessions which for example only take affect after a user has done a post or based on the existance of certain cookies.&lt;/p&gt;
&lt;p&gt;HAProxy plays very nicely with VarnishCache and Ngnix which I'll blog about another time.&lt;/p&gt;</description>
			<pubDate>Sat, 10 Sep 2011</pubDate>
		</item>
		<item>
			<title>.NET request size gotchas</title>
			<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm/net-request-size-gotchas</link>
			<description>&lt;p&gt;Thought this was worth blogging  as it's a real gotcha in .NET. Like PHP there is a default file size specified which you need to tweak to allow big file uploads. Unlike PHP, .NET fails silently and also doesn't point out the other settings which need tweaking like request size.&lt;/p&gt;
&lt;p&gt;Below is a sample web.config which gives a much bigger upload size. Useful for allowing those big uploads to the server even if these days we seem to pump it out to a CDN&amp;nbsp;like Akamai as fast as we receive it.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;web.config&lt;/strong&gt;&lt;/p&gt;
&lt;div class="code"&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;system.web&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;compilation debug=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;customErrors mode=&amp;quot;Off&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;httpRuntime maxRequestLength=&amp;quot;800000&amp;quot; executionTimeout=&amp;quot;9200&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/system.web&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;system.webServer&amp;gt;&lt;br /&gt;
&amp;lt;security&amp;gt; &lt;br /&gt;
&amp;lt;requestFiltering&amp;gt; &lt;br /&gt;
&amp;lt;requestLimits maxAllowedContentLength=&amp;quot;1073741824&amp;quot; /&amp;gt; &lt;br /&gt;
&amp;lt;/requestFiltering&amp;gt; &lt;br /&gt;
&amp;lt;/security&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Also a useful tip. Any changes or  saves to the web.config will automatically result in the application  being restarted which is nice, though may cause you to be logged out if you're not using out-of-process sessions.&lt;/p&gt;</description>
			<pubDate>Mon, 18 Jul 2011</pubDate>
		</item>
		<item>
			<title>SQL Server analysis</title>
			<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm/sql-server-analysis</link>
			<description>&lt;p&gt;I've been looking at analysing sql server query usage and have used  SQL profiler to ascertain long running queries and generally log  interaction with the DB.&lt;/p&gt;
&lt;p&gt;Here is an interesting URL on the subject&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.developer.com/db/article.php/10920_3482216_1"&gt;http://www.developer.com/db/article.php/10920_3482216_1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;in  addition I was looking for a way to do this using a query this only  works on SQL Server 2005, i found this query (i forget where) but i  modded it so that the actual debug query is excluded from the results.&lt;/p&gt;
&lt;div class="code"&gt;&lt;span style="color: #808080"&gt;&lt;em&gt;/*Debug query */&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;
SELECT TOP 100&lt;br /&gt;
qt.text as QUERY,&lt;br /&gt;
qs.execution_count, &lt;br /&gt;
qs.total_logical_reads, qs.last_logical_reads,&lt;br /&gt;
qs.min_logical_reads, qs.max_logical_reads,&lt;br /&gt;
qs.total_elapsed_time, qs.last_elapsed_time,&lt;br /&gt;
qs.min_elapsed_time, qs.max_elapsed_time,&lt;br /&gt;
qs.last_execution_time,&lt;br /&gt;
qp.query_plan&lt;br /&gt;
FROM sys.dm_exec_query_stats qs&lt;br /&gt;
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt&lt;br /&gt;
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp&lt;br /&gt;
WHERE qt.encrypted=0&lt;br /&gt;
&lt;span style="color: #808080"&gt;&lt;em&gt;/* Filter this query out */&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;
and qt.text not like '&lt;span style="color: #808080"&gt;&lt;em&gt;/*Debug query */&lt;/em&gt;&lt;/span&gt;%'&lt;br /&gt;
&lt;span style="color: #808080"&gt;&lt;em&gt;/* Filter out any system level calls made by the GUI */&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;
and qt.text not like '%FROM sys.%'&lt;br /&gt;
&lt;span style="color: #808080"&gt;&lt;em&gt;/* Reduce analysis window to today */&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;
and year(last_execution_time) = year(getdate()) and  month(last_execution_time) = month(getdate()) and  day(last_execution_time)=day(getdate())&lt;br /&gt;
ORDER BY qs.total_logical_reads DESC&lt;/div&gt;</description>
			<pubDate>Sun, 10 May 2009</pubDate>
		</item>
		<item>
			<title>Getting table information on MySQL</title>
			<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm/getting-table-information-on-mysql</link>
			<description>&lt;p&gt;Dissecting a database again the joys of trying to work out what talks to what.&lt;/p&gt;
&lt;p&gt;Some  time ago I blogged a post about finding table information from sql  server well the query below has proved useful today in working out what  tables are used as part of the application i'm analysing.&lt;/p&gt;
&lt;div class="code"&gt;SELECT TABLE_NAME,TABLE_ROWS,UPDATE_TIME AS LASTUPDATED FROM INFORMATION_SCHEMA.TABLES&lt;br /&gt;
WHERE table_schema = 'MYDATABASENAME'&lt;br /&gt;
ORDER BY UPDATE_TIME desc&lt;/div&gt;</description>
			<pubDate>Tue, 12 Feb 2008</pubDate>
		</item>
		<item>
			<title>Checking tables on SQL Server</title>
			<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm/checking-tables-on-sql-server</link>
			<description>&lt;p&gt;I was reviewing a SQL Server database application the other day which  had 100s of tables many of which I was pretty sure were not being used  with the absence of any documentation i needed a way of listing all the  tables and then finding out whether or not they contained data.&lt;/p&gt;
&lt;p&gt;The following query did the trick and works on SQL Server 2000 and 2005&lt;/p&gt;
&lt;div class="code"&gt;select  so.name as tablename,&lt;br /&gt;
Max(si.rows) as Rows&lt;br /&gt;
FROM sysobjects so,&lt;br /&gt;
sysindexes si&lt;br /&gt;
WHERE so.type='U'&lt;br /&gt;
AND&lt;br /&gt;
si.id=OBJECT_ID(so.name)&lt;br /&gt;
GROUP BY so.name&lt;br /&gt;
ORDER BY Rows DESC&lt;/div&gt;
&lt;p&gt;Update: Very useful, I've already lost track of how many times i've used this.&lt;/p&gt;</description>
			<pubDate>Thu, 15 Feb 2007</pubDate>
		</item>
		<item>
			<title>The difference between variables.instance and instance</title>
			<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm/the-difference-between-variables-instance-and-instance</link>
			<description>&lt;p&gt;Trouble shooting some bung code I came across a weird one today. This highlights the need to scope variables.&lt;/p&gt;
&lt;p&gt;Quite  often for cfc's when storing private instance data developers use a  structure called instance under the variables scope or private. You can  of course just use variables, but anyway it seems a trend in some code  i've been reviewing.&lt;/p&gt;
&lt;p&gt;Anyway I suppose it's better than using the this scope as it means the data is private to the cfc instance.&lt;/p&gt;
&lt;p&gt;There  is however a difference between variables.instance and instance, the  test case I created below shows how lazyness can byte you in the arse.&lt;/p&gt;
&lt;p&gt;this.cfc --------&lt;/p&gt;
&lt;div class="code"&gt;&lt;span style="color: #800000"&gt;&amp;lt;cfcomponent name=&lt;span style="color: #0000ff"&gt;&amp;quot;test&amp;quot;&lt;/span&gt; hint=&lt;span style="color: #0000ff"&gt;&amp;quot;my test lazy cfc&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #800000"&gt;&amp;lt;cffunction name=&lt;span style="color: #0000ff"&gt;&amp;quot;init&amp;quot;&lt;/span&gt; returntype=&lt;span style="color: #0000ff"&gt;&amp;quot;test&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800000"&gt;&amp;lt;cfargument name=&lt;span style="color: #0000ff"&gt;&amp;quot;datasource&amp;quot;&lt;/span&gt; type=&lt;span style="color: #0000ff"&gt;&amp;quot;string&amp;quot;&lt;/span&gt; required=&lt;span style="color: #0000ff"&gt;&amp;quot;yes&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;em&gt;&amp;lt;!--- using instance as a scope for private instance data ---&amp;gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800000"&gt;&amp;lt;cfset instance.datasource=arguments.datasource&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800000"&gt;&amp;lt;cfreturn this&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #800000"&gt;&amp;lt;/cffunction&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #800000"&gt;&amp;lt;/cfcomponent&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;test.cfm --------&lt;/p&gt;
&lt;div class="code"&gt;&lt;span style="color: #800000"&gt;&amp;lt;cfset testCFC=createobject(&lt;span style="color: #0000ff"&gt;&amp;quot;component&amp;quot;&lt;/span&gt;,&lt;span style="color: #0000ff"&gt;&amp;quot;test&amp;quot;&lt;/span&gt;).init(datasource=&lt;span style="color: #0000ff"&gt;&amp;quot;foo&amp;quot;&lt;/span&gt;)&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #000080"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Having a form field named instance breaks my cfc&lt;span style="color: #000080"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #000080"&gt;&lt;span style="color: #ff8000"&gt;&amp;lt;form name=&lt;span style="color: #0000ff"&gt;&amp;quot;thoughshallscope&amp;quot;&lt;/span&gt; action=&lt;span style="color: #0000ff"&gt;&amp;quot;&amp;quot;&lt;/span&gt; method=&lt;span style="color: #0000ff"&gt;&amp;quot;post&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #000080"&gt;&lt;span style="color: #ff8000"&gt;&amp;lt;input type=&lt;span style="color: #0000ff"&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt; name=&lt;span style="color: #0000ff"&gt;&amp;quot;instance&amp;quot;&lt;/span&gt; value=&lt;span style="color: #0000ff"&gt;&amp;quot;oh dear&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #000080"&gt;&lt;span style="color: #ff8000"&gt;&amp;lt;input type=&lt;span style="color: #0000ff"&gt;&amp;quot;submit&amp;quot;&lt;/span&gt; name=&lt;span style="color: #0000ff"&gt;&amp;quot;gostuff&amp;quot;&lt;/span&gt; value=&lt;span style="color: #0000ff"&gt;&amp;quot;break my cfc&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #000080"&gt;&lt;span style="color: #ff8000"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #000080"&gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #008000"&gt;&amp;lt;a href=&lt;span style="color: #0000ff"&gt;&amp;quot;?instance=KillthatCFCYeah!!&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;Having a link with the word instance in isn't good either&lt;span style="color: #008000"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This  can be fixed by modifying the init method firstly to use  variables.instance but secondly to make sure you use structNew() before  working on a structure.&lt;/p&gt;
&lt;div class="code"&gt;&lt;span style="color: #800000"&gt;&amp;lt;cffunction name=&lt;span style="color: #0000ff"&gt;&amp;quot;init&amp;quot;&lt;/span&gt; returntype=&lt;span style="color: #0000ff"&gt;&amp;quot;test&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #800000"&gt;&amp;lt;cfargument name=&lt;span style="color: #0000ff"&gt;&amp;quot;datasource&amp;quot;&lt;/span&gt; type=&lt;span style="color: #0000ff"&gt;&amp;quot;string&amp;quot;&lt;/span&gt; required=&lt;span style="color: #0000ff"&gt;&amp;quot;yes&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #808080"&gt;&lt;em&gt;&amp;lt;!--- using instance as a scope for private instance data ---&amp;gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #800000"&gt;&amp;lt;cfset variables.instance=structNew()&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #800000"&gt;&amp;lt;cfset variables.instance.datasource=arguments.datasource&amp;gt;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #800000"&gt;&amp;lt;cfreturn this&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: #800000"&gt;&amp;lt;/cffunction&amp;gt;&lt;/span&gt;&lt;/div&gt;</description>
			<pubDate>Mon, 29 Jan 2007</pubDate>
		</item>
		<item>
			<title>Slow MySQL Server connections</title>
			<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm/slow-mysql-server-connections</link>
			<description>&lt;p&gt;We had a problem recently with slow connections to a MySQL 5  database on linux. The symptoms were that for the first connection from  the client (cfmx /bluedragon/query tool) the response from the MySQL  server would be very slow up to 15secs. Then after that the reponse was  quick (This was actually a bit random under load with connection  pooling).&lt;/p&gt;
&lt;p&gt;It turns out that if you experience slow connections its  likely that your MySQL server is trying to do a reverse DNS lookup  against the client and does not have access to a DNS server.&lt;/p&gt;
&lt;p&gt;Now  there is an option that can be set for MySQL --skip-name-resolve which  will solve this if you cannot give it a DNS Server but for me adding a  local DNS fixed the issue (Make sure you restart MySQL for it to pick it  up though)&lt;/p&gt;
&lt;p&gt;The MySQL command&lt;/p&gt;
&lt;div class="code"&gt;show processlist&lt;/div&gt;
&lt;p&gt;Is invaluable in diagnosing these issues as it'll show current connections, it's similar to the SQL server equivalent&lt;/p&gt;
&lt;div class="code"&gt;sp_who&lt;/div&gt;</description>
			<pubDate>Fri, 05 Jan 2007</pubDate>
		</item>
		<item>
			<title>Connecting local drives on terminal services</title>
			<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm/connecting-local-drives-on-terminal-services</link>
			<description>&lt;p&gt;When using remote desktop to access Windows servers one of the  common complaints is the lack of built in file transfer client like SFTP  with SSH. I discovered recently that you can connect local drives and  they appear on the remote server (Windows 2003) (Thanks to Paul Overton  for this tip). To do this on the connection screen click&lt;/p&gt;
&lt;p&gt;Options  --&amp;gt; Local Resources --&amp;gt; And ensure disk drives is checked. You can also uncheck the printers  unless you want that which prevents the annoying event log messages on  the server.&lt;/p&gt;</description>
			<pubDate>Wed, 03 Jan 2007</pubDate>
		</item>
		<item>
			<title>Coldfusion and Java Tuning link</title>
			<link>http://www.pixl8.co.uk/blogs/hip-hip-array.htm/coldfusion-and-java-tuning-link</link>
			<description>&lt;p&gt;I moved this from the resources section of the Pixl8 Interactive web site as now we have an externally facing blog it makes more sense for these links to be here.&lt;/p&gt;
&lt;p&gt;&lt;span id="more" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_18206"&gt;JRun 4.0: Configuring individual JVM settings for each JRun Server&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.macromedia.com/devnet/java/articles/jrun_perf.html"&gt;The Moment of Truth: Tuning Performance in JRun Apps and Environment&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_18744"&gt;JRun 4: General troubleshooting techniques for an unresponsive JRun server&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_19438"&gt;ColdFusion MX: Explanation of Request Timeout and threadWaitTimeout settings&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://livedocs.macromedia.com/jrun/4/JRun_Administrators_Guide/jrundotxml2.htm"&gt;Server settings: the jrun.xml file&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_18540"&gt;ColdFusion MX: Tips for performance and scalability&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://java.sun.com/docs/hotspot/gc1.4.2/faq.html"&gt;Frequently Asked Questions about Garbage Collection in the HotspotTM JavaTM Virtual Machine&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://java.sun.com/docs/hotspot/gc1.4.2/"&gt;Tuning Garbage Collection with the 1.4.2 Java[tm] Virtual Machine&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.petefreitag.com/articles/gctuning/"&gt;(see also Peter Freitag's summary)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://java.sun.com/performance/reference/whitepapers/tuning.html"&gt;Java Tuning White Paper&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://java.sun.com/performance/jvmstat/"&gt;jvmstat 3.0&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&amp;amp;entry=1068"&gt;ColdFusion Peformance Tuning Presentation&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&amp;amp;entry=1062"&gt;Obtaining a Thread Dump with ColdFusion or JRun running as a Windows Service&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&amp;amp;entry=1007"&gt;JRun Connection Closed Errors&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&amp;amp;REFERRER=year2003stats&amp;amp;ENTRY=967"&gt;Performance Tuning and Monitoring Coldfusion or JRun&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="../../../../../../index.cfm/pcms/site.products.CF_Hypercache/"&gt;CF_Hypercache&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&amp;amp;entry=934"&gt;Java Thread and How does it work?&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.bpurcell.org/blog/index.cfm?mode=entry&amp;amp;entry=877"&gt;Advanced Debugging In JRun 4&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.talkingtree.com/blog/index.cfm/2005/3/11/ContextSwitchingBad"&gt;Steven Erat's blog: activeHandlerThreads or Simultaneous Requests: Less is More&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.talkingtree.com/blog/index.cfm/2005/2/7/CFMX7JRunSimReqs"&gt;Simultaneous Requests in CFMX 7&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.talkingtree.com/blog/index.cfm?mode=entry&amp;amp;entry=B13095A3-45A6-2844-799942B3CBA5269E"&gt;Keep Library Loaded - Check this box to retain the library in RAM&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.talkingtree.com/blog/index.cfm/2006/2/21/SeeStack-is-here"&gt;SeeStack - Parse ColdFusion Thread Dumps Like a Pro!&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.talkingtree.com/blog/index.cfm/2005/11/28/Request-timed-out-waiting-for-an-available-thread-to-run"&gt;Request timed out waiting for an available thread to run&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.talkingtree.com/blog/index.cfm?mode=alias&amp;amp;alias=CFStability1"&gt;Troubleshooting Tips For ColdFusion MX&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.talkingtree.com/blog/index.cfm?mode=entry&amp;amp;entry=25A96CB1-45A6-2844-771A3A5C7DFD4201"&gt;Help! My ColdFusion MX Server is Slow!!!!&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sargeway.com/blog/index.cfm?mode=entry&amp;amp;entry=27"&gt;Sarge's blog: CFMX Performance Settings (JRun 50% CPU thread)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.robisen.com/index.cfm?mode=entry&amp;amp;entry=FD4BE2FC-55DC-F2B1-FED0717CC1C7E0AF"&gt;Robi Sen's blog: Hung Servers, Java.lang.OutOFMemory errors and Tuning CF JVM&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.petefreitag.com/articles/gctuning/"&gt;Peter Freitag's blog: Tuning Garbage Collection Outline&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.petefreitag.com/item/139.cfm"&gt;ColdFusion Garbage&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.petefreitag.com/item/115.cfm"&gt;ColdFusion Memory Usage Stats&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.petefreitag.com/item/101.cfm"&gt;Getting ColdFusion Server Metrics&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.petefreitag.com/item/89.cfm"&gt;Have you tuned your JVM on ColdFusion MX yet?&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.sumoc.com/blog/index.cfm?mode=entry&amp;amp;entry=CDCDBF8B-5004-2066-B7460CDEAB79328F"&gt;CFMX JVM Tuning - The difference between MaxPermSize and Heap Size&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://blog.daemon.com.au/archives/000279.html"&gt;Daemonite blog: Maximum JVM heap size for CFMX&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.daemon.com.au/archives/000277.html"&gt;Enhancing CFMX logging&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.folgmann.de/en/j2ee/gc.html"&gt;Misc: Java Garbage Collection Tuning&lt;br /&gt;
&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.javaperformancetuning.com/resources.shtml"&gt;Java Performance Tuning&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://seefusion.com/"&gt;SeeFusion&amp;nbsp; ::&amp;nbsp; ColdFusion Server Monitoring&lt;br /&gt;
&lt;/a&gt;&lt;/p&gt;</description>
			<pubDate>Fri, 29 Dec 2006</pubDate>
		</item>
	</channel>
</rss>