<?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>Sketchpad - Dan Sketcher's personal blog &#187; hosting</title>
	<atom:link href="http://www.dansketcher.com/category/hosting/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dansketcher.com</link>
	<description>Dan Sketcher on Rails, computers, and other junk</description>
	<lastBuildDate>Wed, 17 Mar 2010 05:42:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Free year-long SSL Certificate</title>
		<link>http://www.dansketcher.com/2010/01/10/free-year-long-ssl-certificate/</link>
		<comments>http://www.dansketcher.com/2010/01/10/free-year-long-ssl-certificate/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 08:53:41 +0000</pubDate>
		<dc:creator>dansketcher</dc:creator>
				<category><![CDATA[hosting]]></category>

		<guid isPermaLink="false">http://www.dansketcher.com/?p=114</guid>
		<description><![CDATA[Just discovered StartSSL&#8217;s Free SSL Certificate &#8211; 1 year (chained) SSL certificate for free.
I&#8217;m not affiliated in any way &#8211; I just like free stuff.
]]></description>
			<content:encoded><![CDATA[<p>Just discovered StartSSL&#8217;s Free SSL Certificate &#8211; <a href="https://www.startssl.com/?app=40" onClick="javascript:urchinTracker ('/outbound/article/www.startssl.com');">1 year (chained) SSL certificate for free</a>.</p>
<p>I&#8217;m not affiliated in any way &#8211; I just like free stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dansketcher.com/2010/01/10/free-year-long-ssl-certificate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>touchlocal-openx gem released</title>
		<link>http://www.dansketcher.com/2009/11/04/touchlocal-openx-gem-released/</link>
		<comments>http://www.dansketcher.com/2009/11/04/touchlocal-openx-gem-released/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 23:11:02 +0000</pubDate>
		<dc:creator>dansketcher</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[gems]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.dansketcher.com/?p=77</guid>
		<description><![CDATA[After the last post, I spent a bit of time integrating my work (along with other upgrades) into a fork of the openx code on github and have released a gem version of it on GemCuttter.org
As you may or may not know, GemCutter.org will be the new default gem source by becoming rubygems.org. This is [...]]]></description>
			<content:encoded><![CDATA[<p>After the <a href="/2009/09/29/minimum-openx-xmlrpc-ruby-client/">last post</a>, I spent a bit of time integrating my work (<a href="http://github.com/touchlocal/openx/commit/22b5ebf5cbc27d68fd9c8c54b4c1fe461b9eaa3a" onClick="javascript:urchinTracker ('/outbound/article/github.com');">along with</a> <a href="http://github.com/touchlocal/openx/commit/b5cff44bfe3cdcac039201c7b65e5cdaba1a8904" onClick="javascript:urchinTracker ('/outbound/article/github.com');">other</a> <a href="http://github.com/touchlocal/openx/commit/496cb64ab66c1342f8eb8eed732205e22780f176" onClick="javascript:urchinTracker ('/outbound/article/github.com');">upgrades</a>) into a <a href="http://github.com/touchlocal/openx" onClick="javascript:urchinTracker ('/outbound/article/github.com');">fork of the openx code on github</a> and have released a gem version of it on <a href="http://gemcutter.org/" onClick="javascript:urchinTracker ('/outbound/article/gemcutter.org');">GemCuttter.org</a></p>
<p>As you may or may not know, <a href="http://update.gemcutter.org/2009/10/26/transition.html" onClick="javascript:urchinTracker ('/outbound/article/update.gemcutter.org');">GemCutter.org will be the new default gem source</a> by becoming rubygems.org. This is pretty exciting, because previously you had to have you project registered on rubygems.org in order to publish to it, or use the non-standard github gem host. Good stuff.</p>
<p>In any case, the new OpenX gem can be installed now by executing</p>
<pre>
sudo gem install touchlocal-openx --source "http://gemcutter.org"

# Load it using
require 'rubygems'
gem 'touchlocal-openx'
require 'openx'
</pre>
<p>In Rails, include it like this in your Rails::Initializer block:</p>
<pre>
  config.gem "touchlocal-openx", :lib => "openx", :source => "http://gemcutter.org"
</pre>
<p>I&#8217;m a proud parent!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dansketcher.com/2009/11/04/touchlocal-openx-gem-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Minimum OpenX XMLRPC Ruby Client</title>
		<link>http://www.dansketcher.com/2009/09/29/minimum-openx-xmlrpc-ruby-client/</link>
		<comments>http://www.dansketcher.com/2009/09/29/minimum-openx-xmlrpc-ruby-client/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 01:18:59 +0000</pubDate>
		<dc:creator>dansketcher</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.dansketcher.com/?p=72</guid>
		<description><![CDATA[2009-11-04 Update: Gem version released
For TouchLocal I am currently reworking some of the internal advertising systems to use OpenX. That way we get better reporting and better reliability, but we can use things like OpenX Direct Selection to make the best use of our existing infrastructure.
While there are 2 Ruby projects (1 a more recent [...]]]></description>
			<content:encoded><![CDATA[<p><strong>2009-11-04 Update: <a href="/2009/11/04/touchlocal-openx-gem-released/">Gem version released</a></strong></p>
<p>For TouchLocal I am currently reworking some of the internal advertising systems to use OpenX. That way we get better reporting and better reliability, but we can use things like OpenX <a href="http://www.openx.org/en/support/direct-selection" onClick="javascript:urchinTracker ('/outbound/article/www.openx.org');">Direct Selection</a> to make the best use of our existing infrastructure.</p>
<p>While there are 2 Ruby projects (1 a <a href="http://github.com/aasmith/openx" onClick="javascript:urchinTracker ('/outbound/article/github.com');">more recent fork</a> of the <a href="http://github.com/lovitt/openx" onClick="javascript:urchinTracker ('/outbound/article/github.com');">other</a>), both are oriented around the API for administering OpenX rather than serving ads via the API. So, here is the minimum you need to do from Ruby to get a banner served:</p>
<p>(Based on <a href="http://www.openx.org/en/docs/tutorials/Advanced+XML-RPC" onClick="javascript:urchinTracker ('/outbound/article/www.openx.org');">http://www.openx.org/en/docs/tutorials/Advanced+XML-RPC</a>)</p>
<pre>
require 'xmlrpc/client'
# The settings are the  HTTP Headers - the PHP client sets many, but this is the minimum requirement
settings = {:cookies => [], :remote_addr => 'localhost'}

# 'what' in our case is a Direct Selection
params = [
  what = 'Plumber',
  campaignId = 0,
  target = '',
  source = '',
  withText = false,
  xmlContext = [{'!=' => 'campaignid:2'}]
]

b = nil
begin
  server = XMLRPC::Client.new2("http://www.example.com/www/delivery/axmlrpc.php")
  b = server.call('openads.view', settings, *params)
  b['html']
rescue Exception => e
  puts e.message
end
</pre>
<p>In particular, note the content of the xmlContext parameter &#8211; that took me quite a few hours of digging through the PHP to work out. It&#8217;s an array of hashes, that use the keys &#8220;==&#8221; and &#8220;!=&#8221; to include or exclude banners based on the values. The values must be of the form &#8220;type:id&#8221;, with type being one of &#8220;campaignid&#8221;, &#8220;clientid&#8221;, &#8220;companionid&#8221;, and &#8220;bannerdid&#8221; (although technically, anything other than the first 3 is treated as a banner ID as of version 2.8.1 of OpenX)</p>
<p>I hope that saves someone the pain that I just went through to discover it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dansketcher.com/2009/09/29/minimum-openx-xmlrpc-ruby-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capistrano, Mongrel, and Mongrel_cluster Redux</title>
		<link>http://www.dansketcher.com/2007/06/06/capistrano-mongrel-and-mongrel_cluster-redux/</link>
		<comments>http://www.dansketcher.com/2007/06/06/capistrano-mongrel-and-mongrel_cluster-redux/#comments</comments>
		<pubDate>Tue, 05 Jun 2007 21:06:38 +0000</pubDate>
		<dc:creator>dansketcher</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[hosting]]></category>

		<guid isPermaLink="false">http://www.dansketcher.com/2007/06/06/capistrano-mongrel-and-mongrel_cluster-redux/</guid>
		<description><![CDATA[Over a year ago, I wrote a post about how to get the then-new Mongrel_cluster working with Capistrano. Since then, I have not had to touch my deployment config again.
2 days ago I needed to do a new deployment config and I thought I&#8217;d look at my config again. In reflection, it a bit dodgy, [...]]]></description>
			<content:encoded><![CDATA[<p>Over a year ago, I wrote a post about how to get the then-new Mongrel_cluster working with Capistrano. Since then, I have not had to touch my deployment config again.</p>
<p>2 days ago I needed to do a new deployment config and I thought I&#8217;d look at my config again. In reflection, it a bit dodgy, but at the time it was the best way! Honest! Also I note that in my original post, there&#8217;s broken links, and also that it is still far and away the most popular content on my site (direct links were almost 25% of the traffic!), so best to make it all new-like.</p>
<p>What do you do these days then?</p>
<ol>
<li>Get yourself mongrel and install the mongrel_cluster gem too:<br />
# sudo gem install mongrel mongrel_cluster &#8211;include-dependencies</li>
<li>Go to the root of your Rails app</li>
<li>Get a mongrel_cluster config:<br />
# mongrel_rails cluster::configure -e production \<br />
  -p 8000 \<br />
  -a 127.0.0.1 \<br />
  -N 3 \<br />
  -c /path/to/the/application&#8217;s/current</li>
<li>Open up the /config/deploy.rb file and add:<br />
require &#8216;mongrel_cluster/recipes&#8217;<br />
set :mongrel_conf, &#8220;#{current_path}/config/mongrel_cluster.yml&#8221;</li>
</ol>
<p>You&#8217;ll still need to add the @restart task something like this to ensure that the app comes up with the box:<br />
<code><br />
@restart cd /path/to/the/application's/current &#038;&#038; mongrel_rails cluster::start<br />
</code></p>
<p>Use <strong>cap cold_deploy</strong> to launch your app for the first time, and <strong>cap deploy</strong> to redeploy (<strong>cap deploy_with_migrations</strong> for your db updates too.)</p>
<p>Then all you need to do in configure your favourite proxy to serve the app from ports 80/443/whatever, and you&#8217;re good to go. I am using Apache 2.2, but perhaps soon I&#8217;ll have time to set up <a href="http://swiftiply.swiftcore.org/" onClick="javascript:urchinTracker ('/outbound/article/swiftiply.swiftcore.org');">Swiftiply</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dansketcher.com/2007/06/06/capistrano-mongrel-and-mongrel_cluster-redux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RimuHosting</title>
		<link>http://www.dansketcher.com/2006/03/30/rimuhosting/</link>
		<comments>http://www.dansketcher.com/2006/03/30/rimuhosting/#comments</comments>
		<pubDate>Thu, 30 Mar 2006 10:39:39 +0000</pubDate>
		<dc:creator>dansketcher</dc:creator>
				<category><![CDATA[hosting]]></category>

		<guid isPermaLink="false">http://www.dansketcher.com/2006/03/30/rimuhosting/</guid>
		<description><![CDATA[I&#8217;ve decided to change hosting providers. There&#8217;s no one thing that caused me to want to leave TextDrive, but lots of little things. Like getting accused of causing problems that you didn&#8217;t create. Or getting abuse in support tickets.. you know, that kind of thing that you should never do to your customers?
So after making [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided to change hosting providers. There&#8217;s no one thing that caused me to want to leave TextDrive, but lots of little things. Like getting accused of causing problems that you didn&#8217;t create. Or getting abuse in support tickets.. you know, that kind of thing that you should never do to your customers?</p>
<p>So after making the choice beween PlanetArgon.com and RimuHosting.com, I went with Rinuhosting mainly because they responded to my requests within HOURS of me making them, while PlanetArgon took 3 days. RimuHosting is a Xen based VPS provider, so I&#8217;ve got my own Debian instance (was Sarge, but &#8211; thanks Rob &#8211; now is running Etch)</p>
<p>And I couldn&#8217;t be happier! Now, the fun fun task of migrating my PeopleHub domains&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dansketcher.com/2006/03/30/rimuhosting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.200 seconds -->
