<?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>House of Laudanum &#187; HowTos</title>
	<atom:link href="http://houseoflaudanum.com/category/navigate/howtos/feed/" rel="self" type="application/rss+xml" />
	<link>http://houseoflaudanum.com</link>
	<description>Bespoke solutions for creative people, Sydney Australia +61 2 8405 6807</description>
	<lastBuildDate>Thu, 19 Apr 2012 00:50:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Drupal Views based slide shows with optional videos.</title>
		<link>http://houseoflaudanum.com/navigate/howtos/views-based-slide-shows/</link>
		<comments>http://houseoflaudanum.com/navigate/howtos/views-based-slide-shows/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 10:46:43 +0000</pubDate>
		<dc:creator>mr.snow</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[HowTos]]></category>

		<guid isPermaLink="false">http://houseoflaudanum.com/?p=1315</guid>
		<description><![CDATA[This is for creating a slide show per node (not a slide show of nodes). IE a slideshow of all media attached to a particular node on that node.

Using the Media module in D7 we can include video from Youtube and Vimeo as well as local or remote images.
Modules required

Views (&#38; dependencies)
Media
Media: Youtube
Media: Vimeo
jCarousel
or Views [...]]]></description>
			<content:encoded><![CDATA[<p>This is for creating a slide show <strong>per node </strong>(not a slide show of nodes). IE a slideshow of all media attached to a particular node on that node.</p>
<ul></ul>
<p>Using the <em>Media module </em>in D7 we can include video from Youtube and Vimeo as well as local or remote images.</p>
<p><em>Modules required</em></p>
<ul>
<li><a href="http://drupal.org/project/views">Views</a> (&amp; dependencies)</li>
<li><a href="http://drupal.org/project/media">Media</a></li>
<li><a href="http://drupal.org/project/media_youtube">Media: Youtube</a></li>
<li><a href="http://drupal.org/project/media_vimeo">Media: Vimeo</a></li>
<li><a href="http://drupal.org/project/jcarousel">jCarousel</a></li>
<li>or <a href="http://drupal.org/project/views_slideshow">Views slideshow</a> (&amp; submodules and libraries)</li>
</ul>
<p>.</p>
<p>Two very similar methods are outlined below. Note: you can achieve similar effects with modules like <a href="http://drupal.org/project/field_slideshow">Field slideshow</a> and <a href="http://drupal.org/project/galleryformatter">Gallery formatter</a>.</p>
<p>.</p>
<h2 style="text-align: left; ">1 jCarousel</h2>
<ol>
<li>Create a content type (or use an existing one) that has a media or image field that permits more than one item (unlimited for example).</li>
<li>Create an Image Style to suit the block (remembering that you can display more than one `slide` at a time). Note down the pixel dimensions.</li>
<li>[Media module only] Edit a File Type <em>Admin &gt; Configuration &gt; Media &gt; File types</em>
<ol>
<li>Select Image<em>.</em>
<ol>
<li>Manage display and select a display type (eg: preview) that hasn&#8217;t been used (one day we will be able to create new types).<br />
Add the fields required (caption, title).</li>
<li>Manage file display<br />
Select the same type (eg: preview) and select the image style created previously.</li>
</ol>
</li>
<li>Save and return to types, selecting Video.
<ol>
<li>Manage display and select the same display type (eg: preview).<br />
Add the fields required (caption, title).</li>
<li>Manage file display<br />
Select the same type (eg: preview) and check Vimeo video and Youtube video.<br />
For each video enter the same sizes you created for the Image style.</li>
</ol>
</li>
</ol>
</li>
<li>Create a test node with more than one media item and note down the node&#8217;s NID.</li>
<li>Create a new view with a block at <em>Admin &gt; Structure &gt; Views.</em>
<ol>
<li>Show [content] of [your content type].</li>
<li>Create a <em>block </em>(not a page).</li>
<li>Display format [jCarousel] of [fields] (not content).</li>
<li>Items per page [0] (unlimited).</li>
<li>Save and continue.</li>
<li>Format <em>jCarousel</em> [settings]
<ol>
<li>Number of visible items [1 or more]</li>
<li>Auto-scroll after [1 or more] seconds.</li>
</ol>
</li>
<li>Show field [settings]</li>
<li>Field title [remove] the default field.</li>
<li>Field &gt; add [media / image]
<ol>
<li>Don&#8217;t display a label.</li>
<li><strong>MOST IMPORTANT:</strong> Multiple field settings DON&#8217;T display all values in the same row.</li>
<li>Formatter [media] for media (not files).</li>
<li>File view mode [preview or whatever you chose in #3.1.1 above] for media(not files).</li>
</ol>
</li>
<li>Advanced Contextual filter [add]
<ol>
<li>Content: NID</li>
<li>When the filter value is not available [provide a default] type [Content ID from URL</li>
</ol>
</li>
<li>Test the View by adding the NID of your test node to the <em>Preview with contextual filters</em> field.</li>
</ol>
</li>
<li>Add the newly minted block to the correct region in<em> Admin &gt; Structure &gt; Blocks</em>
<ol>
<li>Include it only on relevant pages using the URL filter.</li>
</ol>
</li>
</ol>
<h2>2 Views slideshow</h2>
<p>Identical but enable views_slideshow and views_slideshow_[your type here]. And at #6 choose the other <em>Slideshow</em> format.</p>
<p>Extra points.</p>
<h2>Extra points I said.</h2>
<ol>
<li>Save it out as a <a href="http://drupal.org/project/features">Feature</a>. Don&#8217;t forget the Formatter (eg: jCarousel) as well as the content type.</li>
<li>Add <a href="http://drupal.org/project/colorbox">Colorbox</a> but only to images.</li>
<li>Pause playing videos on scroll.</li>
<li>Pause scrolling while playing videos.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://houseoflaudanum.com/navigate/howtos/views-based-slide-shows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up Etisalat data plans in Egypt.</title>
		<link>http://houseoflaudanum.com/navigate/howtos/setting-up-etisalat-data-plans-in-egypt-and-dubai/</link>
		<comments>http://houseoflaudanum.com/navigate/howtos/setting-up-etisalat-data-plans-in-egypt-and-dubai/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 16:41:47 +0000</pubDate>
		<dc:creator>mr.snow</dc:creator>
				<category><![CDATA[HowTos]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[roaming]]></category>

		<guid isPermaLink="false">http://houseoflaudanum.com/?p=1290</guid>
		<description><![CDATA[NB: I preferred to use cash for setting all this up so that I didn&#8217;t have my credit card involved. You can always recharge online or on the phone with a card but it requires an Etisalat Egypt account which I couldn&#8217;t set up anyway.

Buy a data only Etisalat sim card. Mine was brought in [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-style: italic; ">NB: I preferred to use cash for setting all this up so that I didn&#8217;t have my credit card involved. You can always recharge online or on the phone with a card but it requires an Etisalat Egypt account which I couldn&#8217;t set up anyway.</span></p>
<ol>
<li>Buy a data only Etisalat sim card. Mine was brought in to a local supermarket as a special order and cost 100LE (regular ones seem to be about 25LE or so for Vodafone or Etisalat). If you need to do this then get a 50 or 100 LE recharge card at the same time. This will save you some typing</li>
<li>Insert and activate the sim card. I didn&#8217;t activate the card myself as I had a friendly supermarket owner who&#8217;d already done it for me. I imagine it&#8217;s straight forward. He selected the most inexpensive plan (although that may be the default). 3LE/day for a small amount of data.<em>NB: iPhone 4&#8217;s and iPads have microsim cards which I couldn&#8217;t buy. You can cut down a regular sim to the correct size. I didn&#8217;t need to do that as my phone takes a full size sim.</em></li>
<li>Buy a recharge scratch card and recharge the sim. If you are unsure use a low value one first (I used 10LE). You do this using the phone itself by dialling special codes. The card has instructions on it. Dial<code>*858*[secretnumber]#</code><code> </code>You&#8217;ll get an SMS in reply–helpfully in Arabic.</li>
<li>At this point and at any point in the future you can check your balance by Texting a blank message to <strong>555</strong>. It will return your balance in LE and your current data consumption. Unhelpfully it doesn&#8217;t return what your limit is.</li>
<li>Configure your phone to use the Etisalat Access Point (APN). On my Android these are the steps.
<ol>
<li><strong>Settings &gt; Wireless &amp; networks &gt; Mobile networks &gt; Access Point Names</strong></li>
<li>Press the hardware menu key and <strong>New APN.</strong></li>
<li>The defaults are mostly fine. Add the following.
<ul>
<li>Name: Etisalat Internet <em>(although this is just FYI)</em></li>
<li>APN: Etisalat <em>(note the capital E)</em></li>
<li>Authentication type: PAP<em> (although its strange you need this if user/pass are blank)</em></li>
<li>APN type: default,supl<em> (note the lack of space around the comma)</em>.</li>
</ul>
<p><em>(note: I don&#8217;t use MMS so I haven&#8217;t bothered configuring the MMS specific settings)</em></li>
<li>Menu again and <strong>Save</strong>.</li>
<li>Press the checkbox to the right of the APN you just created (Etisalat Internet) and then the hardware return key.</li>
</ol>
</li>
<li>I&#8217;ve got <strong>Enable always-on mobile data</strong> checked.</li>
<li>Hardware return key again to <strong>Wireless &amp; networks</strong>. Make sure <strong>Mobile network</strong> is checked.</li>
<li>Restart the phone.</li>
<li>After the reboot you should have HSPDA, 3G or Edge connectivity. On my phone <strong>Mobile network </strong>in<strong> Wireless &amp; Networks</strong> shows connected. Check by googling something. Note: Egypt is potentially blocking access to some sites.</li>
<li>Recharge your phone with recharge scratch cards to what you need for your plan. Same as above. Dial<code>*858*[secretnumber]#</code></li>
<li>Send a text to change your plan to something more useful. I selected the &#8220;Monthy Unlimited 99&#8243; (which isn&#8217;t unlimited at all–its 99LE 2GB/month then speed limited after that). Therefore I sent a blank text to <strong>5034</strong>. 49LE 500MB/mo is <strong>5035</strong>. See the table below and<a href="http://etisalat.com.eg/etisalat/Etisalat_Portal_En/smartnet/internet_rateplans.htm?_pageid=42,1&amp;_dad=portal&amp;_schema=PORTAL&amp;siteAlias=etisalat&amp;sitePath=Etisalat_Portal_En&amp;kpAlias=smartnet&amp;pageAlias=internet_rateplans"> refer to their website for their current plans</a>.</li>
</ol>
<p>At that point you should have a reasonable speed network at a reasonable cost. Turn on wireless hotspot on your iPhone OS4 or Android, or connect to your computer and create an Ad-Hoc network to share to your other devices.</p>
<p>Remember to check your usage by texting to <strong>555</strong>. To reset your plan after you&#8217;ve consumed your allocation text to <strong>545</strong>. On the 99/mo plan that costs 30LE per GB. After consuming the allocation you are supposedly speed limited apart from their `freezone` (Google, facebook, Yahoo). What I noticed is that the freezone sites worked well and nothing else worked at all. Possibly 64kbps is just too slow these days.</p>
<h3>Shortcuts</h3>
<p>You can find shortcuts on the Etisalat website in a hidden section at the <a href="http://etisalat.com.eg/etisalat/Etisalat_Portal_En/smartnet/internet_rateplans.htm?_pageid=42,1&amp;_dad=portal&amp;_schema=PORTAL&amp;siteAlias=etisalat&amp;sitePath=Etisalat_Portal_En&amp;kpAlias=smartnet&amp;pageAlias=internet_rateplans">bottom of this page</a>.</p>
<p>555 Account balance</p>
<p>545 Reset usage (requires credit)</p>
<p>553 Speed plus (for 19/99/mo plan) *</p>
<h3>Plans</h3>
<table border="1" cellspacing="0" cellpadding="5">
<tbody>
<tr>
<th class="border_top">Plan name</th>
<th class="border_top">Plan fee</th>
<th class="border_top">MB incl.</th>
<th class="border_top">Reset</th>
<th class="border_top">Speed</th>
<th class="border_top">Short code</th>
</tr>
<tr class="even">
<td class="shadow">Monthly Unlimited 19</td>
<td class="shadow">19 LE/month</td>
<td class="shadow">110 MB</td>
<td class="shadow">60 MB for 10 LE</td>
<td class="shadow">0.5Mbps*</td>
<td class="shadow">5032</td>
</tr>
<tr class="odd">
<td>Monthly Unlimited 49</td>
<td>49 LE/month</td>
<td>500 MB</td>
<td>250 MB for 20LE</td>
<td class="shadow">7Mbps</td>
<td class="shadow">5035</td>
</tr>
<tr class="even">
<td class="shadow">Monthly Unlimited 99</td>
<td class="shadow">99 LE/month</td>
<td class="shadow">2 GB</td>
<td class="shadow">1 GB for 30 LE</td>
<td class="shadow">7Mbps*</td>
<td class="shadow">5034</td>
</tr>
<tr class="odd">
<td>Monthly Unlimited 149</td>
<td>149 LE/month</td>
<td>6 GB</td>
<td>1 GB for 30 LE</td>
<td class="shadow">7Mbps</td>
<td class="shadow">5037</td>
</tr>
<tr class="even">
<td class="shadow border_bottom">Monthly Unlimited 249</td>
<td class="shadow border_bottom">249 LE/month</td>
<td class="shadow border_bottom">10 GB</td>
<td class="shadow border_bottom">1 GB for 30 LE</td>
<td class="shadow">21Mbps</td>
<td class="shadow">5036</td>
</tr>
</tbody>
</table>
<p><em>* While writing this post I noticed that the 99LE/mo plan is speed limited to 512Kbps (although I expect that it&#8217;s actually a typo and should be the 19/mo plan). To uncap that to 7.2Mbps you need to text to <strong>553 </strong>which costs 20LE/mo. This would make the 149LE/mo plan much more attractive if accurate.</em></p>
<h3>References</h3>
<p>Forum post with correct settings<br />
<a href="http://forum.xda-developers.com/archive/index.php/t-875199.html"> http://forum.xda-developers.com/archive/index.php/t-875199.html</a></p>
<p>Etisalat pages with plans and shortcodes<br />
<a href="http://etisalat.com.eg/etisalat/Etisalat_Portal_En/smartnet/internet_rateplans.htm?_pageid=42,1&amp;_dad=portal&amp;_schema=PORTAL&amp;siteAlias=etisalat&amp;sitePath=Etisalat_Portal_En&amp;kpAlias=smartnet&amp;pageAlias=internet_rateplans">http://etisalat.com.eg/etisalat/Etisalat_Portal_En/smartnet/internet_rateplans.htm?_pageid=42,1&amp;_dad=portal&amp;_schema=PORTAL&amp;siteAlias=etisalat&amp;sitePath=Etisalat_Portal_En&amp;kpAlias=smartnet&amp;pageAlias=internet_rateplans </a></p>
]]></content:encoded>
			<wfw:commentRss>http://houseoflaudanum.com/navigate/howtos/setting-up-etisalat-data-plans-in-egypt-and-dubai/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RewriteMaps, QueryStrings and MediaTemple</title>
		<link>http://houseoflaudanum.com/navigate/howtos/rewritemaps-querystrings-and-mediatemple/</link>
		<comments>http://houseoflaudanum.com/navigate/howtos/rewritemaps-querystrings-and-mediatemple/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 10:39:11 +0000</pubDate>
		<dc:creator>mr.snow</dc:creator>
				<category><![CDATA[HowTos]]></category>
		<category><![CDATA[(mt)]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[rewrites]]></category>

		<guid isPermaLink="false">http://houseoflaudanum.com/?p=1132</guid>
		<description><![CDATA[So we needed to migrate one of our last isEngine sites to an archived (not database driven) site with modern CSS and jQuery. The old site was stored in XML so we built a Python script to migrate the content into new templates and store a sitemap and an ID map.
When it came time to [...]]]></description>
			<content:encoded><![CDATA[<p>So we needed to migrate one of our last isEngine sites to an archived (not database driven) site with modern CSS and jQuery. The old site was stored in XML so we built a Python script to migrate the content into new templates and store a sitemap and an ID map.</p>
<p>When it came time to translate the URLs using Apache Rewrite I had several go&#8217;s at getting it working. The recipe is as follows.</p>
<p>A RewriteMap directive. This cannot be in an .htaccess file or in a &lt;Directory&gt; directive. It must be in a &lt;VirtualHost&gt; directive. In mediatemple that meant adding it to the root <em>and</em> sub domain conf/vhost.conf file (even though we were working in a subdomain).</p>
<p><code>$ cat conf/vhost.conf<br />
RewriteMap              dynamic2static "txt:/var/www/vhosts/1001.net.au/repository/source/rewrite-map.txt"<br />
$ /usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=1001.net.au<br />
$ /usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=staging.1001.net.au<br />
$ /sbin/service httpd graceful </code></p>
<p>Also in order to redirect URLs containing <em>cgi-bin</em> I needed to disable the overriding ScriptAlias in the main server config file. I changed it to <em>cgi</em> instead.</p>
<p><code>$ vi /etc/httpd/conf/httpd.conf<br />
# ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"<br />
ScriptAlias /cgi/ "/var/www/cgi-bin/"<br />
$/sbin/service httpd graceful</code></p>
<p>Next our rewrite map file. Here are the first 10 lines.</p>
<p><code>119	1<br />
127	2<br />
128	3<br />
129	4<br />
149	5<br />
130	6<br />
131	7<br />
132	8<br />
133	9<br />
134	10</code></p>
<p>And finally our .htaccess file.</p>
<p><code> Options +FollowSymlinks<br />
RewriteEngine   on<br />
RewriteBase     /<br />
RewriteCond     %{QUERY_STRING}  id=(\d+)$<br />
RewriteRule     ^cgi-bin/isengine$ /story/${dynamic2static:%1|NOTFOUND}? [L]<br />
RewriteRule     ^Prompt/(\d+)$ /story/${dynamic2static:$1|NOTFOUND}? [L]</code></p>
<p>The interesting lines are</p>
<p><code>RewriteCond %{QUERY_STRING} id=(\d+)$<br />
</code>Only apply the following rule if we can match a <em>query string</em> ending with <em>id=[some integer]</em></p>
<p><code>RewriteRule ^isengine$ /story/${dynamic2static:%1|NOTFOUND}? [L]<br />
</code>If the URL ended with <em>isengine</em> then rewrite it to<em> story/</em> followed by our matched <em>id</em> (%1) mapped using our <em>dynamic2static</em> map.</p>
<p>eg:<br />
<a href="http://1001.net.au/cgi-bin/isengine?o=1001&amp;action=display&amp;id=407  ">http://1001.net.au/cgi-bin/isengine?o=1001&amp;action=display&amp;id=407<br />
</a>becomes<br />
http://1001.net.au/story/87</p>
]]></content:encoded>
			<wfw:commentRss>http://houseoflaudanum.com/navigate/howtos/rewritemaps-querystrings-and-mediatemple/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nodequeue and features</title>
		<link>http://houseoflaudanum.com/navigate/howtos/nodequeue-and-features/</link>
		<comments>http://houseoflaudanum.com/navigate/howtos/nodequeue-and-features/#comments</comments>
		<pubDate>Wed, 07 Sep 2011 11:07:58 +0000</pubDate>
		<dc:creator>mr.snow</dc:creator>
				<category><![CDATA[HowTos]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[features]]></category>
		<category><![CDATA[nodequeue]]></category>

		<guid isPermaLink="false">http://houseoflaudanum.com/?p=1129</guid>
		<description><![CDATA[Recently I tried to push an exported Drupal Feature to another install and failed miserably. After enabling and disabling various modules and features I finally disabled the lot, deleted the nodequeue and smartqueue tables and remove the nodequeue rows in the system table. Enabling nodequeue first and checking that it was working I was then [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I tried to push an exported Drupal Feature to another install and failed miserably. After enabling and disabling various modules and features I finally disabled the lot, deleted the nodequeue and smartqueue tables and remove the nodequeue rows in the system table. Enabling nodequeue first and checking that it was working I was then able to go through and enable smartqueues, create the smartqueue we needed and enable the feature. Phew!</p>
]]></content:encoded>
			<wfw:commentRss>http://houseoflaudanum.com/navigate/howtos/nodequeue-and-features/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sorting taxonomy nodes</title>
		<link>http://houseoflaudanum.com/navigate/howtos/sorting-taxonomy-nodes/</link>
		<comments>http://houseoflaudanum.com/navigate/howtos/sorting-taxonomy-nodes/#comments</comments>
		<pubDate>Sun, 04 Sep 2011 19:52:01 +0000</pubDate>
		<dc:creator>mr.snow</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[HowTos]]></category>
		<category><![CDATA[D7]]></category>

		<guid isPermaLink="false">http://houseoflaudanum.com/?p=1119</guid>
		<description><![CDATA[Nodequeues is one of the more common ways to sort nodes in Drupal. You can create `arbitrary lists of nodes` and order them via drag and drop.
Smart queues are ways that modules can define methods for automatically creating queues. Nodequeues ships with a taxonomy smart queue that we can use to create queues for taxonomy [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://drupal.org/project/nodequeue">Nodequeues</a> is one of the more common ways to sort nodes in Drupal. You can create `arbitrary lists of nodes` and order them via drag and drop.</p>
<p>Smart queues are ways that modules can define methods for automatically creating queues. Nodequeues ships with a taxonomy smart queue that we can use to create queues for taxonomy terms or `categories`.</p>
<ol>
<li>Install and enable nodequeues and smart queues. We&#8217;ll also need <a href="http://drupal.org/project/views">Views</a> if that isn&#8217;t already installed.
<ol>
<li>drush dl nodequeue views; drush en views views_ui nodequeue smartqueue</li>
</ol>
</li>
<li>Allow smart queues to create a queue for our `categories` term.
<ol>
<li>Navigate to <strong>admin/structure/nodequeue</strong></li>
<li>Add a new taxonomy queue</li>
<li>Tick our category term in <em>Taxonomy fields</em>.</li>
<li>Optionally limit it to our content type under <em>Types</em>.</li>
</ol>
</li>
<li>Add nodes to the queue. (New nodes will be added automatically). There is a secondary tab for this. Find it on the edit page.</li>
<li>Replace the regular taxonomy/term page with a view.
<ol>
<li>Navigate to views <strong>admin/structure/views</strong>.</li>
<li>Clone the <em>Taxonomy term</em> view (provided by the Views module). Note: the template tpl file will be based on your choice of view name. Ours is views-view&#8211;taxonomy-term-nodequeue&#8211;page.tpl.php.</li>
<li>Edit the view. Under the <em>Advanced</em> section add a <em>Relationship to Nodequeue</em>. Don&#8217;t require this relationship but do `Limit to one or more queues` specifying our `category` queue.</li>
<li>Under the <em>Sort criteria</em> remove all existing criteria (post date, stickyness). Add a new criteria specifying `Nodequeue: Postion`.</li>
</ol>
</li>
</ol>
<p>To do.</p>
<ol>
<li>Add `add to queue` link from tabs into contextual links.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://houseoflaudanum.com/navigate/howtos/sorting-taxonomy-nodes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloning to a new larger drive</title>
		<link>http://houseoflaudanum.com/navigate/howtos/cloning-to-a-new-larger-drive/</link>
		<comments>http://houseoflaudanum.com/navigate/howtos/cloning-to-a-new-larger-drive/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 07:00:15 +0000</pubDate>
		<dc:creator>mr.snow</dc:creator>
				<category><![CDATA[HowTos]]></category>

		<guid isPermaLink="false">http://houseoflaudanum.com/?p=1089</guid>
		<description><![CDATA[
Install the new drive and format
$ 
Unmount the source and the target
$ 
Copy the source to the target
$ sudo dd if=/dev/sdc1 of=/dev/sdb1 bs=16M
Remove the journalling from the target
$ tune2fs -O^has_journal /dev/sdb1
Check the filesystem of the target
$ e2fsck -f /dev/sdb1
Resize the target
$ sudo resize2fs -p /dev/sdb1
Apply journalling to the target
$ sudo tune2fs -j /dev/sdb1
Mount the target
$ [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>Install the new drive and format<br />
<code>$ </code></li>
<li>Unmount the source and the target<br />
<code>$ </code></li>
<li>Copy the source to the target<br />
<code>$ sudo dd if=/dev/sdc1 of=/dev/sdb1 bs=16M</code></li>
<li>Remove the journalling from the target<br />
<code>$ tune2fs -O^has_journal /dev/sdb1</code></li>
<li>Check the filesystem of the target<br />
<code>$ e2fsck -f /dev/sdb1</code></li>
<li>Resize the target<br />
<code>$ sudo resize2fs -p /dev/sdb1</code></li>
<li>Apply journalling to the target<br />
<code>$ sudo tune2fs -j /dev/sdb1</code></li>
<li>Mount the target<br />
<code>$ </code></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://houseoflaudanum.com/navigate/howtos/cloning-to-a-new-larger-drive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Campaign codes and Google Analytics</title>
		<link>http://houseoflaudanum.com/navigate/howtos/campaign-codes-and-google-analytics/</link>
		<comments>http://houseoflaudanum.com/navigate/howtos/campaign-codes-and-google-analytics/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 02:23:15 +0000</pubDate>
		<dc:creator>mr.snow</dc:creator>
				<category><![CDATA[HowTos]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[#connectarts]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[ozco]]></category>

		<guid isPermaLink="false">http://houseoflaudanum.com/?p=1073</guid>
		<description><![CDATA[Google Analytics is a fantastic free tool for determining how well your website is performing. It takes a bit of getting used to but the default views are still very useful for determining how much traffic your site has, what they are doing and where they come from.
Most of your traffic will come from Google [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.google.com/analytics/">Google Analytics</a> is a fantastic free tool for determining how well your website is performing. It takes a bit of getting used to but the default views are still very useful for determining how much traffic your site has, what they are doing and where they come from.</p>
<p>Most of your traffic will come from Google or other search engines. If you are lucky you will see a lot coming in from your affiliates (referrers) and other sites where you are active such as <a href="http://www.facebook.com/">facebook</a>. And you will see a bunch of visitors labelled as Direct traffic.</p>
<p>Direct traffic are visitors that either type in your address directly (rather than in to Google) or have bookmarked your address. Obviously Direct traffic will include all of your print advertising including bus stops and posters. There are some more examples of offline promotions at the <a href="http://connectarts.australiacouncil.gov.au/facebook/promoting-your-online-assets-offline/">Connect Arts blog</a>.</p>
<h3>Bringing offline online</h3>
<p>There are several ways to deal with this. You can publish a new page on your site for just that traffic. The trouble is you might end up adding several pages (one for each publication) with identical content. Google cries when you do this. And puppies die.</p>
<p>Our preference is to use Google Analytics campaign tags. This allows you to identify traffic coming from a single campaign (say a Summer promotion) to an existing page. It also allows you to identify which particular media  (eg: <em>print</em> rather than <em>radio</em>) and source (eg: <em>bus stops</em> rather than <em>Drum Media</em>). This is the method that <a href="https://adwords.google.com/">Google Adwords</a> uses automagically–also some EDM managers and other products that interoperate with Analytics.</p>
<p>The following are required tags</p>
<ul>
<li>Source–where was the advertisement? (2SER, SBS, Google, Drum Media)</li>
<li>Medium–what was the platform of the advertisement? Radio, TV, CPC (cost per click online ads)</li>
<li>Name –what is the name of the campaign you are running?</li>
</ul>
<p>And these are optional</p>
<ul>
<li>Term–if you are paying to be advertised against a particular term. For example in the Yellow Pages</li>
<li>Content–perhaps you are running a pair of ads in the same journal and the same month but on different pages</li>
</ul>
<p>You can then build Analytics Goals and Reports around these data sets. By attributing dollar values to goals (or implementing Analytics E-Commerce integration) you can evaluate your offline marketing spend against its online performance.</p>
<p>The only trouble with these links is that they are long and ugly and difficult to type. The simple work around is to use an URL shortener to make it quicker to type. Or a QR code. See this post.</p>
<p><a href="http://houseoflaudanum.com/navigate/howtos/short-urls-and-qr-codes/">Short URLs and QR codes</a></p>
<p>If you&#8217;d like to talk to us about using campaign tagging for your next print campaign please contact Zina Kaye.</p>
]]></content:encoded>
			<wfw:commentRss>http://houseoflaudanum.com/navigate/howtos/campaign-codes-and-google-analytics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Short URLs and QR codes</title>
		<link>http://houseoflaudanum.com/navigate/howtos/short-urls-and-qr-codes/</link>
		<comments>http://houseoflaudanum.com/navigate/howtos/short-urls-and-qr-codes/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 21:45:12 +0000</pubDate>
		<dc:creator>mr.snow</dc:creator>
				<category><![CDATA[HowTos]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Social media]]></category>
		<category><![CDATA[#connectarts]]></category>
		<category><![CDATA[ozco]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://houseoflaudanum.com/?p=1065</guid>
		<description><![CDATA[This article is about using short URLs and QR codes to enable driving offline traffic to your online presence and tracking that behaviour.
Someone asked me the other night what a QR code was (pointing to it on the connectarts ticket). That&#8217;s the beginning of the problem right there.

(QR codes are black and white square or [...]]]></description>
			<content:encoded><![CDATA[<p>This article is about using short URLs and QR codes to enable driving offline traffic to your online presence and tracking that behaviour.</p>
<p>Someone asked me the other night what a QR code was (pointing to it on the <a href="http://connectarts.australiacouncil.gov.au/facebook/promoting-your-online-assets-offline/">connectarts</a> ticket). That&#8217;s the beginning of the problem right there.</p>
<p><img style="float: left; border: 0px initial initial;" title="Short code to this page" src="http://goo.gl/pTqjf.qr" alt="" width="150" height="150" /></p>
<p>(<a href="http://en.wikipedia.org/wiki/QR_code">QR codes</a> are black and white square or circular graphics designed to be readable by a machine similar a barcode. They often encode links to websites).</p>
<p>The next is the required hardware and software to interpret them. You need a smart phone with a camera and a free piece of software to decode it. I have tried decoding many QR codes with several different phones and 5 different software tools. The only one I have successfully decoded was the connectarts one. I used <a href="http://www.google.com/mobile/goggles/#text">Goggles</a> (which is Google&#8217;s pattern recognition service–designed to recognise faces and architecture–similar to <a href="http://www.shazam.com/">Shazam</a> is to music).</p>
<p>The final problem is if your phone is flat you can&#8217;t write it down (although you could try).</p>
<p>URL shorteners are a group of web services that take a long URL (like <a href="http://houseoflaudanum.com/navigate/howtos/short-urls-and-qr-codes/">http://houseoflaudanum.com/navigate/howtos/short-urls-and-qr-codes/</a>) and convert them to something more manageable (like <a href="http://goo.gl/pTqjf">http://goo.gl/pTqjf</a>). They came into their own with the Rise of Twitter and their 140 character tweet limit.</p>
<p>There are a couple of things to look at with URL shorteners. The style of redirect they use (301 or permanent redirect and 302 or temporary redirect) which determines whether Google likes them or not (SEO wisdom suggests that permanent redirects are favoured). Whether you can access their usage statistics. And their longevity–whether the company is here for the long term (ie: not <a href="http://technology.timesonline.co.uk/tol/news/tech_and_web/article6947344.ece">tr.im</a> unfortunately) and whether the links will be reaped (deleted) after a period of time.</p>
<li><a href="http://bit.ly/">http://bit.ly/</a> – the classic</li>
<li><a href="http://goo.gl/">http://goo.gl/</a> – creates a <a href="http://techcrunch.com/2010/09/30/googl-easter-egg/">QR code</a> at the same time</li>
<li><a href="http://cli.gs/">http://cli.gs/</a></li>
<li><a href="http://is.gd/">http://is.gd/</a> – no tracking or stats</li>
<li><a href="http://ow.ly/">http://ow.ly/</a> – for <a href="http://hootsuite.com/">hootsuite</a> users</li>
<p>You can also run your own URL shortening service. Organisations such as the <a href="http://www.powerhousemuseum.com/dmsblog/index.php/2010/03/26/roll-your-own-url-shorteners-for-your-museum/">Powerhouse Museum</a> make great use of their own shorteners.</p>
<p>Often you will find that links that you tweet are shortened automatically anyway. Twitter had a <a href="http://techcrunch.com/2009/05/06/url-shortening-wars-twitter-ditches-tinyurl-for-bitly/">relationship with bit.ly</a> but now uses <a href="http://en.wikipedia.org/wiki/T.co">the http://t.co wrapper</a> (not shortener) instead. These may or may not be associated with your activity, via your Twitter account details, which will determine whether you have access to the statistics or not.</p>
<p>You can intercept this process and make some adjustments (if you have time). The first is you can shorten your URL with your preferred service thereby giving you access to statistics. The second is that you can add an analytics campaign code so that you can attribute traffic using transiting that URL to a particular offline campaign (note: You should be doing this with QR codes too). This will allow you to determine the efficacy and cost-effectiveness of that particular campaign.</p>
<p>If you&#8217;d like to know more about using short URLs or QR codes in your offline (or online) promotions please contact Zina Kaye.</p>
]]></content:encoded>
			<wfw:commentRss>http://houseoflaudanum.com/navigate/howtos/short-urls-and-qr-codes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>git and merging with changes outside the repo</title>
		<link>http://houseoflaudanum.com/navigate/howtos/git-and-merging-with-changes-outside-the-repo/</link>
		<comments>http://houseoflaudanum.com/navigate/howtos/git-and-merging-with-changes-outside-the-repo/#comments</comments>
		<pubDate>Wed, 25 May 2011 03:21:46 +0000</pubDate>
		<dc:creator>mr.snow</dc:creator>
				<category><![CDATA[HowTos]]></category>
		<category><![CDATA[Snippets]]></category>

		<guid isPermaLink="false">http://houseoflaudanum.com/?p=1034</guid>
		<description><![CDATA[Working with other developers on projects has often resulted in large manual merges of parallel work. At the beginning this is straightforward as there are a small number of files and a short history. Things change as projects progress and I&#8217;ve sometimes spent hours on small updates.
Here is a git recipe for merging in those [...]]]></description>
			<content:encoded><![CDATA[<p>Working with other developers on projects has often resulted in large manual merges of parallel work. At the beginning this is straightforward as there are a small number of files and a short history. Things change as projects progress and I&#8217;ve sometimes spent hours on small updates.</p>
<p>Here is a git recipe for merging in those changes more easily.</p>
<p><strong>Scenario 1. No new changes in our repo<br />
</strong> <code><br />
computer:repo user$ git checkout -b import<br />
computer:repo user$ cp -R ../new-work/* ./<br />
computer:repo user$ git add .<br />
computer:repo user$ git commit -m "Merging in new work"<br />
computer:repo user$ git checkout master<br />
computer:repo user$ git merge import<br />
</code></p>
<p><strong>Scenario 2. Changes in our repo</strong></p>
<p>Figure out what the sha of the last common commit was and</p>
<p><code> computer:repo user$ git checkout [sha1 of the old commit] -b import<br />
computer:repo user$ cp -R ../new-work/* ./<br />
computer:repo user$ git add .<br />
computer:repo user$ git commit -m "Merging in new work"<br />
computer:repo user$ git checkout master<br />
computer:repo user$ git merge import</code></p>
<p>Via <a href="http://stackoverflow.com/questions/5810804/whats-the-best-way-to-merge-external-changes-into-my-git-repo">stackoverflow</a></p>
]]></content:encoded>
			<wfw:commentRss>http://houseoflaudanum.com/navigate/howtos/git-and-merging-with-changes-outside-the-repo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enabling VNC login to an Apple by remote ssh</title>
		<link>http://houseoflaudanum.com/navigate/howtos/enabling-vnc-login-to-an-apple-by-remote-ssh/</link>
		<comments>http://houseoflaudanum.com/navigate/howtos/enabling-vnc-login-to-an-apple-by-remote-ssh/#comments</comments>
		<pubDate>Wed, 18 May 2011 20:58:50 +0000</pubDate>
		<dc:creator>mr.snow</dc:creator>
				<category><![CDATA[HowTos]]></category>

		<guid isPermaLink="false">http://houseoflaudanum.com/?p=1013</guid>
		<description><![CDATA[
ssh into the destination mac
Run this command with your new password
$ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -activate -clientopts -setvnclegacy -vnclegacy yes -setvncpw -vncpw [newpassword]
Tunnel in from your source computer with this command (the command won&#8217;t terminate &#8211; CTRL+C when you&#8217;ve finished with VNC)
ssh -L 5999:[lan.ipaddress]:5900 -N  user@remote.computer.com
VNC to localhost on 5999 (or 99 depending on your VNC [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>ssh into the destination mac</li>
<li>Run this command with your new password<br />
<code>$ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -activate -clientopts -setvnclegacy -vnclegacy yes -setvncpw -vncpw [newpassword]</code></li>
<li>Tunnel in from your source computer with this command (the command won&#8217;t terminate &#8211; CTRL+C when you&#8217;ve finished with VNC)<br />
<code>ssh -L 5999:[lan.ipaddress]:5900 -N  user@remote.computer.com</code></li>
<li>VNC to localhost on 5999 (or 99 depending on your VNC client)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://houseoflaudanum.com/navigate/howtos/enabling-vnc-login-to-an-apple-by-remote-ssh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

